:root{
  --violet:#6558E8;
  --violet-700:#5144D2;
  --violet-soft:#EFEDFF;
  --aqua:#1AAE9F;
  --aqua-soft:#E8F8F6;
  --lime:#CFF45B;
  --lime-soft:#F3FFD0;
  --ink:#172033;
  --ink-2:#28334B;
  --muted:#667085;
  --muted-2:#8A94A7;
  --bg:#F3F5FA;
  --card:#FFFFFF;
  --line:#E4E8F0;
  --danger:#C93A5B;
  --danger-soft:#FFF0F4;
  --shadow:0 18px 55px rgba(23,32,51,.08);
  --shadow-soft:0 8px 24px rgba(23,32,51,.06);
  --radius:22px;
  --radius-sm:14px;
}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%}
code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;background:#F2F4F8;border-radius:6px;padding:.12rem .34rem}

/* Brand */
.brand-lockup{display:flex;align-items:center;gap:13px;min-width:0}
.brand-mark{width:47px;height:47px;flex:0 0 47px;border-radius:13px;box-shadow:0 8px 18px rgba(101,88,232,.18)}
.brand-copy{min-width:0;line-height:1}
.brand-name{display:block;font-weight:900;font-size:28px;letter-spacing:-.055em;color:var(--ink)}
.brand-tagline{display:block;margin-top:6px;color:var(--aqua);font-size:9px;font-weight:850;letter-spacing:.24em;white-space:nowrap}
.brand-lockup.compact .brand-mark{width:40px;height:40px;flex-basis:40px;border-radius:11px}
.brand-lockup.compact .brand-name{font-size:23px}
.brand-lockup.compact .brand-tagline{font-size:7.5px}

/* Generic */
.eyebrow{display:inline-block;color:var(--muted-2);font-weight:850;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.eyebrow.violet{color:var(--violet)}
.eyebrow.aqua{color:var(--aqua)}
.muted{color:var(--muted)}
.subtle{color:var(--muted-2)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:12px 17px;font-weight:800;transition:.18s ease;line-height:1}
.button:hover{transform:translateY(-1px)}
.button-primary{background:var(--violet);color:white;box-shadow:0 10px 24px rgba(101,88,232,.24)}
.button-primary:hover{background:var(--violet-700)}
.button-aqua{background:var(--aqua);color:white}
.button-lime{background:var(--lime);color:var(--ink)}
.button-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.button-danger{background:var(--danger-soft);color:var(--danger);border:1px solid #FFD6E0}
.button-sm{padding:9px 12px;border-radius:10px;font-size:12px}
.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--muted);display:grid;place-items:center}
.icon-button:hover{color:var(--violet);border-color:#CBC6FA}
.pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:750;border:1px solid var(--line);background:#fff;color:var(--muted)}
.pill.violet{background:var(--violet-soft);border-color:#DDD8FF;color:var(--violet)}
.pill.aqua{background:var(--aqua-soft);border-color:#CBEFEA;color:#087F74}
.pill.lime{background:var(--lime-soft);border-color:#E1F99C;color:#4F6300}
.dot{width:8px;height:8px;border-radius:50%;background:var(--aqua);display:inline-block}

/* App shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:258px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:24px 18px 18px;display:flex;flex-direction:column;z-index:20}
.sidebar .brand-lockup{padding:0 8px 24px}
.new-chat{margin:0 4px 18px;width:calc(100% - 8px)}
.nav{display:flex;flex-direction:column;gap:4px}
.nav-label{padding:18px 12px 7px;color:#A0A8B7;font-size:9px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;color:#59647A;font-weight:700;font-size:13px}
.nav a .nav-icon{width:27px;height:27px;border-radius:8px;background:#F4F5F8;display:grid;place-items:center;color:#7A8497;font-size:13px}
.nav a:hover{background:#F7F7FC;color:var(--ink)}
.nav a.active{background:var(--violet-soft);color:var(--violet)}
.nav a.active .nav-icon{background:#DDD8FF;color:var(--violet)}
.nav a.content-entry{margin-top:5px}
.sidebar-spacer{flex:1}
.sidebar-footer{border-top:1px solid var(--line);padding:16px 5px 0;display:grid;grid-template-columns:38px 1fr 36px;align-items:center;gap:10px}
.avatar{width:38px;height:38px;border-radius:12px;background:var(--aqua-soft);color:#087F74;display:grid;place-items:center;font-weight:900}
.sidebar-footer strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-footer small{display:block;color:var(--muted-2);font-size:10px;margin-top:3px}
.sidebar-footer form{margin:0}
.main-content{min-width:0;background:var(--bg)}
.page{padding:38px clamp(26px,4vw,58px) 56px;max-width:1500px;margin:0 auto}
.page-header{display:flex;justify-content:space-between;gap:26px;align-items:flex-start;margin-bottom:26px}
.page-header h1{font-size:clamp(34px,4vw,54px);line-height:1.03;letter-spacing:-.045em;margin:8px 0 10px;max-width:920px}
.page-header p{margin:0;color:var(--muted);font-size:15px;line-height:1.65;max-width:720px}
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.accent-word{color:var(--violet)}
.section-block{margin-top:30px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:13px}
.section-heading h2{font-size:22px;letter-spacing:-.025em;margin:4px 0 0}
.section-heading small{color:var(--muted-2)}

/* Dashboard */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:18px}
.hero-card{position:relative;overflow:hidden;min-height:225px;padding:30px;background:linear-gradient(135deg,var(--violet) 0%,#7569F0 72%,#7E73F4 100%);border:0;color:white;box-shadow:0 18px 44px rgba(101,88,232,.22)}
.hero-card:after{content:"";position:absolute;right:-80px;top:-110px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08)}
.hero-card:before{content:"";position:absolute;right:70px;bottom:-95px;width:210px;height:210px;border-radius:50%;background:rgba(207,244,91,.12)}
.hero-card .eyebrow{color:#DCD8FF}
.hero-card h2{font-size:34px;letter-spacing:-.045em;line-height:1.05;margin:8px 0 10px;max-width:570px}
.hero-card p{color:#ECEAFF;line-height:1.6;max-width:620px;margin:0 0 22px}
.hero-card .button{position:relative;z-index:2}
.hero-badge{position:absolute;right:28px;bottom:25px;display:flex;align-items:center;gap:8px;color:#fff;font-size:12px;font-weight:800;z-index:2}
.hero-badge i{width:11px;height:11px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 7px rgba(207,244,91,.14)}
.memory-card{padding:26px;display:flex;flex-direction:column;justify-content:space-between;min-height:225px}
.memory-orb{width:52px;height:52px;border-radius:16px;background:var(--aqua-soft);display:grid;place-items:center;color:var(--aqua);font-size:23px;font-weight:900}
.memory-card h3{font-size:22px;letter-spacing:-.03em;margin:12px 0 7px}
.memory-card p{margin:0;color:var(--muted);line-height:1.55;font-size:13px}
.memory-stat{display:flex;align-items:center;gap:8px;margin-top:19px;color:var(--ink-2);font-size:12px;font-weight:800}
.subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.subject-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;box-shadow:var(--shadow-soft);transition:.18s ease}
.subject-card:hover{transform:translateY(-2px);border-color:#CBC6FA;box-shadow:var(--shadow)}
.subject-icon{width:44px;height:44px;border-radius:13px;background:var(--violet-soft);color:var(--violet);display:grid;place-items:center;font-weight:900;font-size:18px}
.subject-card:nth-child(3n+2) .subject-icon{background:var(--aqua-soft);color:var(--aqua)}
.subject-card:nth-child(3n+3) .subject-icon{background:var(--lime-soft);color:#657A00}
.subject-card strong{display:block;font-size:14px}
.subject-card small{display:block;color:var(--muted-2);font-size:11px;margin-top:4px}
.subject-card .arrow{color:#A0A8B7;font-size:18px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.panel-card{padding:24px}
.panel-card h3{font-size:19px;margin:8px 0 8px;letter-spacing:-.02em}
.panel-card p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}
.text-link{display:inline-block;margin-top:16px;color:var(--violet);font-weight:800;font-size:12px}
.empty-card,.empty-inline{border:1px dashed #CCD2DD;padding:18px;border-radius:16px;color:var(--muted);background:#FAFBFC}

/* Chat */
.chat-layout{height:100vh;display:grid;grid-template-columns:minmax(0,1fr) 318px;background:#fff}
.chat-main{min-width:0;display:grid;grid-template-rows:auto 1fr auto auto auto;background:#FBFCFE}
.chat-header{padding:17px 25px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;background:#fff}
.luna-avatar{width:44px;height:44px;border-radius:14px;background:var(--violet);display:grid;place-items:center;box-shadow:0 8px 18px rgba(101,88,232,.18)}
.luna-avatar img{width:31px;height:31px}
.luna-avatar.small{width:39px;height:39px;border-radius:12px}
.chat-header h2{font-size:17px;margin:1px 0 2px}
.chat-header p{color:var(--muted);margin:0;font-size:11px}
.status-pill{display:flex;align-items:center;gap:7px;color:#087F74;background:var(--aqua-soft);border:1px solid #CFEFEB;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:850}
.chat-thread{overflow-y:auto;padding:34px max(28px,calc((100% - 790px)/2));scroll-behavior:smooth;background:linear-gradient(180deg,#FAFBFD 0%,#F6F8FC 100%)}
.welcome-bubble{display:grid;grid-template-columns:44px 1fr;gap:15px;padding:7px 0 26px}
.welcome-bubble h2{font-size:29px;letter-spacing:-.04em;margin:3px 0 8px}
.welcome-bubble p{color:var(--muted);line-height:1.6;max-width:690px;margin:0}
.suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}
.suggestions button{border:1px solid var(--line);background:#fff;color:#4E596E;padding:9px 12px;border-radius:999px;cursor:pointer;font-size:11px;font-weight:700}
.suggestions button:hover{border-color:#C9C4FA;color:var(--violet);background:var(--violet-soft)}
.message{max-width:760px;margin:0 0 22px}
.message.user{margin-left:auto;max-width:630px}
.message-label{font-size:9px;color:#99A1B0;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px}
.message.user .message-label{text-align:right}
.message-body{display:inline-block;line-height:1.6;background:#fff;border:1px solid var(--line);border-radius:18px 18px 18px 5px;padding:13px 15px;color:var(--ink-2);box-shadow:0 5px 14px rgba(23,32,51,.04)}
.message.user .message-body{float:right;background:var(--violet);border-color:var(--violet);color:#fff;border-radius:18px 18px 5px 18px}
.message:after{content:"";display:block;clear:both}
.typing{margin:0 max(28px,calc((100% - 790px)/2)) 8px;color:#8A94A7;font-size:11px}
.typing span{display:inline-block;width:5px;height:5px;background:var(--aqua);border-radius:50%;margin-right:3px;animation:pulse 1s infinite alternate}
.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes pulse{to{opacity:.25;transform:translateY(-2px)}}
.composer{margin:0 max(28px,calc((100% - 830px)/2));border:1px solid #DDE2EB;background:#fff;border-radius:19px;padding:8px;display:grid;grid-template-columns:38px 1fr 38px 42px;align-items:end;gap:6px;box-shadow:0 14px 42px rgba(23,32,51,.09)}
.composer textarea{resize:none;max-height:160px;border:0;outline:0;background:transparent;color:var(--ink);padding:11px 5px;line-height:1.45}
.composer textarea::placeholder{color:#9CA4B3}
.composer-icon,.send-button{width:38px;height:38px;border-radius:11px;border:0;display:grid;place-items:center;cursor:pointer}
.composer-icon{background:#F2F4F8;color:#788296}
.composer-icon.mic{background:var(--lime-soft);color:#5B7100}
.send-button{background:var(--violet);color:#fff;font-weight:900;font-size:19px}
.composer-note{text-align:center;color:#9AA2B1;font-size:9px;padding:9px 10px 13px}
.learner-panel{border-left:1px solid var(--line);padding:25px 21px;background:#fff;overflow-y:auto}
.learner-panel h3{font-size:25px;margin:7px 0 10px;letter-spacing:-.03em}
.context-card{margin-top:14px;border:1px solid var(--line);background:#FAFBFD;border-radius:15px;padding:15px}
.context-card small{display:block;color:#99A1B0;text-transform:uppercase;letter-spacing:.12em;font-size:8px;font-weight:900;margin-bottom:7px}
.context-card strong{display:block;font-size:13px}
.context-card p{color:var(--muted);font-size:11px;line-height:1.5;margin:6px 0 0}
.weakness-item{display:grid;grid-template-columns:8px 1fr;gap:9px;color:#4F5A70;font-size:11px;line-height:1.4;margin:10px 0}
.weakness-item span{width:7px;height:7px;border-radius:50%;background:var(--lime);margin-top:4px;box-shadow:0 0 0 3px var(--lime-soft)}

/* Progress */
.progress-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
.progress-panel{padding:24px}
.skill-row{display:grid;grid-template-columns:minmax(180px,1fr) 160px 42px;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.skill-row:first-of-type{border-top:0}
.skill-row strong,.skill-row small{display:block}
.skill-row small{color:var(--muted-2);font-size:10px;margin-top:4px}
.skill-row b{font-size:11px;color:#798397}
.bar{height:7px;background:#EEF0F5;border-radius:999px;overflow:hidden}
.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--aqua));border-radius:999px}
.misconception-row{display:grid;grid-template-columns:12px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.misconception-row:first-of-type{border-top:0}
.misconception-row small{display:block;color:var(--muted-2);font-size:10px;margin-top:4px}
.misconception-row p{color:var(--muted);font-size:11px;line-height:1.5;margin:6px 0 0}
.signal-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:#B5BDCA}
.signal-dot.active{background:var(--lime);box-shadow:0 0 0 4px var(--lime-soft)}
.signal-dot.improving{background:var(--aqua);box-shadow:0 0 0 4px var(--aqua-soft)}
.method-card{margin-top:18px;padding:24px;max-width:780px}
.method-card h3{margin:7px 0}
.method-card p{color:var(--muted);line-height:1.6;font-size:13px}

/* Forms */
.field label,.form-stack label{display:block;color:#5E687D;font-size:11px;font-weight:800;margin:0 0 7px}
.field input,.field select,.field textarea,.form-stack input,.studio-form input,.studio-form select,.studio-form textarea{width:100%;border:1px solid #D9DEE8;background:#fff;border-radius:12px;color:var(--ink);padding:11px 12px;outline:0;transition:.18s ease}
.field textarea,.studio-form textarea{min-height:105px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus,.form-stack input:focus,.studio-form input:focus,.studio-form select:focus,.studio-form textarea:focus{border-color:#AFA7F4;box-shadow:0 0 0 4px rgba(101,88,232,.08)}
.field-wide{grid-column:1/-1}
.form-error{background:var(--danger-soft);border:1px solid #FFD4DE;color:var(--danger);border-radius:12px;padding:11px;font-size:11px}
ul.errorlist{list-style:none;margin:5px 0 0;padding:0;color:var(--danger);font-size:10px}
.helptext{display:block;color:var(--muted-2);font-size:9px;margin-top:5px;line-height:1.45}

/* Login */
.login-body{background:#F2F4F8}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(430px,1.05fr) minmax(420px,.95fr);padding:24px;gap:24px}
.login-visual{position:relative;overflow:hidden;border-radius:30px;background:var(--violet);padding:48px clamp(34px,5vw,70px);display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.login-visual:before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;background:rgba(255,255,255,.07);right:-150px;top:-120px}
.login-visual:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;background:rgba(207,244,91,.13);left:-100px;bottom:-110px}
.login-visual .brand-name{color:#fff}
.login-visual .brand-tagline{color:var(--lime)}
.login-copy{position:relative;z-index:2;max-width:680px}
.login-copy .eyebrow{color:#DFDCFF}
.login-copy h1{font-size:clamp(44px,5.8vw,78px);line-height:.98;letter-spacing:-.06em;margin:13px 0 20px}
.login-copy p{color:#ECEAFF;max-width:570px;line-height:1.7;font-size:16px}
.login-quote{position:relative;z-index:2;display:flex;align-items:center;gap:12px;font-size:12px;color:#EDEBFF;font-weight:750}
.login-quote i{width:11px;height:11px;border-radius:50%;background:var(--lime)}
.login-panel{display:grid;place-items:center;padding:30px}
.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);padding:34px;border-radius:25px;box-shadow:var(--shadow)}
.login-card h2{font-size:29px;letter-spacing:-.035em;margin:8px 0 6px}
.login-card p{font-size:13px}
.form-stack{display:flex;flex-direction:column;gap:16px;margin-top:23px}
.login-card .button{width:100%;margin-top:4px;padding:14px}
.mobile-brand{display:none}

/* Onboarding */
.onboarding-body{background:linear-gradient(180deg,#F7F8FC,#F1F4F9)}
.onboarding-shell{min-height:100vh;max-width:1180px;margin:auto;padding:28px 42px;display:grid;grid-template-rows:auto 1fr auto}
.onboarding-head{display:flex;align-items:center;justify-content:space-between}
.step-pill{font-size:10px;letter-spacing:.13em;color:var(--violet);border:1px solid #D8D3FF;background:var(--violet-soft);border-radius:999px;padding:8px 11px;font-weight:850}
.onboarding-card{align-self:center;display:grid;grid-template-columns:.87fr 1.13fr;gap:52px;align-items:center;padding:38px 0}
.onboarding-copy h1{font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-.055em;margin:12px 0 18px}
.onboarding-copy p{color:var(--muted);line-height:1.7;max-width:500px}
.onboarding-signal{margin-top:23px;display:flex;align-items:center;gap:10px;color:#4C586E;font-size:12px;font-weight:750}
.onboarding-signal i{width:11px;height:11px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px var(--lime-soft)}
.onboarding-form{border:1px solid var(--line);background:#fff;border-radius:25px;padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:15px;box-shadow:var(--shadow)}
.onboarding-submit{grid-column:1/-1;margin-top:5px;padding:14px}
.onboarding-foot{text-align:center;color:#8B94A5;font-size:10px;padding:15px}

/* Content Studio */
.studio-shell{min-height:100vh;display:grid;grid-template-columns:276px minmax(0,1fr);background:#F4F6FA}
.studio-sidebar{position:sticky;top:0;height:100vh;background:var(--ink);color:#fff;padding:22px 18px;display:flex;flex-direction:column}
.studio-sidebar .brand-lockup{padding:0 7px 21px}
.studio-sidebar .brand-name{color:#fff}
.studio-sidebar .brand-tagline{color:var(--lime)}
.studio-badge{margin:0 7px 18px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.07);color:#C9D0DD;font-size:10px;font-weight:750}
.studio-nav{display:flex;flex-direction:column;gap:4px}
.studio-nav-label{padding:16px 11px 7px;color:#7F8AA0;font-size:8px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.studio-nav a{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:11px;color:#BFC7D5;font-size:12px;font-weight:750}
.studio-nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.studio-nav a.active{background:rgba(101,88,232,.32);color:#fff}
.studio-nav .mini-icon{width:25px;height:25px;border-radius:7px;background:rgba(255,255,255,.06);display:grid;place-items:center;font-size:11px}
.studio-sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:15px 7px 0;display:flex;gap:9px;align-items:center}
.studio-sidebar-footer .avatar{background:rgba(26,174,159,.17);color:#64D7CB}
.studio-sidebar-footer strong{display:block;font-size:11px}
.studio-sidebar-footer small{display:block;color:#7F8AA0;font-size:9px;margin-top:2px}
.studio-main{min-width:0}
.studio-topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 34px;position:sticky;top:0;z-index:15}
.studio-topbar h1{font-size:19px;margin:0;letter-spacing:-.02em}
.studio-topbar p{font-size:10px;color:var(--muted-2);margin:3px 0 0}
.studio-actions{display:flex;gap:8px;align-items:center}
.studio-content{padding:28px 34px 50px;max-width:1500px;margin:0 auto}
.studio-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:18px;margin-bottom:20px}
.studio-intro{padding:25px;background:#fff}
.studio-intro h2{font-size:28px;letter-spacing:-.04em;margin:8px 0 9px}
.studio-intro p{color:var(--muted);font-size:12px;line-height:1.6;max-width:760px;margin:0}
.pipeline-card{padding:24px;background:linear-gradient(135deg,var(--ink),#26324C);color:#fff;border:0}
.pipeline-card .eyebrow{color:#91A0B9}
.pipeline-card h3{margin:8px 0 14px;font-size:18px}
.pipeline-steps{display:flex;gap:7px;flex-wrap:wrap}
.pipeline-steps span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);padding:7px 9px;border-radius:999px;font-size:9px;color:#DCE2EC}
.pipeline-steps b{color:var(--lime)}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.stat-card{padding:18px;background:#fff;border:1px solid var(--line);border-radius:17px}
.stat-card small{display:block;color:var(--muted-2);font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.stat-card strong{display:block;font-size:28px;letter-spacing:-.04em;margin-top:8px}
.stat-card span{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.studio-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px}
.studio-panel{background:#fff;border:1px solid var(--line);border-radius:19px;padding:20px;box-shadow:var(--shadow-soft)}
.studio-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.studio-panel-head h3{font-size:16px;margin:0}
.studio-panel-head p{font-size:10px;color:var(--muted-2);margin:3px 0 0}
.content-tree{display:flex;flex-direction:column;gap:10px}
.tree-domain{border:1px solid var(--line);border-radius:15px;overflow:hidden}
.tree-domain-head{padding:13px 14px;background:#FAFBFD;display:flex;align-items:center;justify-content:space-between;gap:12px}
.tree-domain-head strong{font-size:12px}
.tree-domain-head span{font-size:9px;color:var(--muted-2)}
.tree-body{padding:8px 13px 13px}
.tree-row{display:grid;grid-template-columns:13px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 0;border-top:1px solid #F0F2F6;font-size:11px}
.tree-row:first-child{border-top:0}
.tree-row i{width:7px;height:7px;border-radius:50%;background:var(--violet)}
.tree-row.level i{background:var(--aqua)}
.tree-row.subject i{background:var(--lime)}
.tree-row small{color:var(--muted-2)}
.quick-list{display:flex;flex-direction:column}
.quick-item{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}
.quick-item:first-child{border-top:0}
.quick-item-icon{width:36px;height:36px;border-radius:11px;background:var(--violet-soft);color:var(--violet);display:grid;place-items:center;font-weight:900}
.quick-item strong{display:block;font-size:11px}
.quick-item small{display:block;color:var(--muted-2);font-size:9px;margin-top:3px}
.quick-item a{color:var(--violet);font-size:10px;font-weight:850}
.studio-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:17px;background:#fff}
.studio-table{width:100%;border-collapse:collapse;min-width:760px}
.studio-table th{background:#F8F9FB;color:#8C95A6;font-size:8px;letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:11px 13px;border-bottom:1px solid var(--line)}
.studio-table td{padding:12px 13px;border-bottom:1px solid #F0F2F5;font-size:11px;color:#4A566B;vertical-align:middle}
.studio-table tr:last-child td{border-bottom:0}
.studio-table strong{color:var(--ink);font-size:11px}
.studio-table .actions{display:flex;gap:6px;justify-content:flex-end}
.searchbar{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 10px;min-width:260px}
.searchbar input{border:0;outline:0;padding:10px 0;width:100%;font-size:11px;background:transparent;color:var(--ink)}
.studio-form-card{max-width:900px;background:#fff;border:1px solid var(--line);border-radius:19px;padding:24px;box-shadow:var(--shadow-soft)}
.studio-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.studio-form p{margin:0}
.studio-form p:has(textarea),.studio-form p:has(select[multiple]){grid-column:1/-1}
.studio-form label{display:block;color:#5D687D;font-size:10px;font-weight:850;margin-bottom:6px}
.studio-form select[multiple]{min-height:115px}
.studio-form-actions{grid-column:1/-1;display:flex;gap:9px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:17px;margin-top:4px}
.studio-empty{padding:28px;text-align:center;color:var(--muted);font-size:11px}
.object-type-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.object-type-card .type-icon{width:38px;height:38px;border-radius:11px;background:var(--aqua-soft);color:var(--aqua);display:grid;place-items:center;font-weight:900}
.object-type-card strong{display:block;font-size:11px}
.object-type-card small{display:block;color:var(--muted-2);font-size:9px;margin-top:3px}
.type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}

/* responsive */
@media(max-width:1100px){
  .app-shell{grid-template-columns:220px minmax(0,1fr)}
  .sidebar{padding-left:12px;padding-right:12px}
  .brand-tagline{display:none}
  .hero-grid,.progress-grid,.studio-hero,.studio-grid{grid-template-columns:1fr}
  .subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .learner-panel{display:none}.chat-layout{grid-template-columns:1fr}
  .studio-shell{grid-template-columns:230px minmax(0,1fr)}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .app-shell{display:block}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:13px 17px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.sidebar .brand-lockup{padding:0}.new-chat,.nav,.sidebar-spacer,.sidebar-footer{display:none}
  .page{padding:27px 18px 42px}.page-header{display:block}.page-actions{margin-top:16px}.page-header h1{font-size:38px}
  .hero-grid,.two-col,.subject-grid{grid-template-columns:1fr}.hero-card{padding:24px;min-height:240px}.hero-card h2{font-size:30px}.hero-badge{position:static;margin-top:22px}
  .chat-header{padding:14px 17px}.chat-thread{padding:25px 17px}.composer{margin:0 12px;grid-template-columns:36px 1fr 40px}.composer .mic{display:none}.typing{margin-left:18px}.status-pill{display:none}
  .login-shell{display:block;padding:0}.login-visual{display:none}.login-panel{min-height:100vh;padding:22px}.mobile-brand{display:flex;margin-bottom:28px}.login-card{box-shadow:none}
  .onboarding-shell{padding:20px 17px}.onboarding-card{grid-template-columns:1fr;gap:24px;padding:35px 0}.onboarding-form{grid-template-columns:1fr}.field-wide,.onboarding-submit{grid-column:auto}
  .studio-shell{display:block}.studio-sidebar{position:relative;height:auto;padding:13px 17px;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.studio-sidebar .brand-lockup{padding:0}.studio-badge,.studio-nav,.studio-sidebar-footer{display:none}.studio-topbar{position:relative;padding:0 18px;height:68px}.studio-content{padding:22px 18px 40px}.stat-grid{grid-template-columns:1fr 1fr}.studio-form{grid-template-columns:1fr}.studio-form p:has(textarea),.studio-form p:has(select[multiple]),.studio-form-actions{grid-column:auto}.type-grid{grid-template-columns:1fr}.searchbar{min-width:0;width:100%}.studio-actions .button-ghost{display:none}
}
.studio-form input[type="checkbox"]{width:18px;height:18px;padding:0;accent-color:var(--violet);vertical-align:middle}

/* 0.3.0 – neues dikitu CI, mehr Kontrast und Light/Dark Theme */
:root,
html[data-theme="light"]{
  --violet:#6558E8;
  --violet-700:#493DBF;
  --violet-soft:#EFEDFF;
  --aqua:#1AAE9F;
  --aqua-soft:#E5F8F5;
  --lime:#CFF45B;
  --lime-soft:#F3FFD0;
  --ink:#172033;
  --ink-2:#28334B;
  --muted:#5F6C82;
  --muted-2:#8893A7;
  --bg:#EEF1F8;
  --card:#FFFFFF;
  --surface:#FFFFFF;
  --surface-2:#F7F8FC;
  --surface-3:#E9EDF6;
  --line:#DCE2ED;
  --danger:#C93A5B;
  --danger-soft:#FFF0F4;
  --shadow:0 18px 55px rgba(23,32,51,.10);
  --shadow-soft:0 8px 24px rgba(23,32,51,.07);
  color-scheme:light;
}
html[data-theme="dark"]{
  --violet:#8177F2;
  --violet-700:#958CF6;
  --violet-soft:#29264C;
  --aqua:#39C4B5;
  --aqua-soft:#153D3D;
  --lime:#CFF45B;
  --lime-soft:#33411B;
  --ink:#F4F6FB;
  --ink-2:#DDE4F0;
  --muted:#AAB4C7;
  --muted-2:#7F8BA3;
  --bg:#0F1423;
  --card:#171E31;
  --surface:#171E31;
  --surface-2:#1D263B;
  --surface-3:#263149;
  --line:#2B3650;
  --danger:#FF8CA6;
  --danger-soft:#3D1D2A;
  --shadow:0 18px 55px rgba(0,0,0,.28);
  --shadow-soft:0 8px 24px rgba(0,0,0,.18);
  color-scheme:dark;
}
html,body{background:var(--bg);color:var(--ink)}

/* Brand assets */
.brand-logo-link{display:block;min-width:0}
.brand-logo{display:block;width:168px;height:auto;max-width:100%}
.brand-logo-dark{display:none}
html[data-theme="dark"] .brand-logo-light{display:none}
html[data-theme="dark"] .brand-logo-dark{display:block}
.sidebar .brand-logo-link{padding:0 7px 22px}
.sidebar .brand-logo{width:170px}
.studio-logo-link{padding:0 6px 18px}
.studio-logo-link .brand-logo{width:174px}
.login-logo-link{position:relative;z-index:2;display:block;width:235px}
.login-logo-link .brand-logo{width:235px}
.login-logo-link .brand-logo-light{display:none}
.login-logo-link .brand-logo-dark{display:block}
.mobile-brand .brand-logo{width:190px}
.onboarding-logo-link .brand-logo{width:190px}
.nav-brand-icon{padding:0!important;overflow:hidden;background:transparent!important}
.nav-brand-icon img{width:25px;height:25px;border-radius:7px;display:block}
.luna-avatar{background:transparent;box-shadow:none;overflow:hidden;border-radius:14px}
.luna-avatar img{width:100%;height:100%;display:block;border-radius:14px}
.luna-avatar.small img{border-radius:12px}

/* Theme switch */
.theme-toggle{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:12px;padding:9px 10px;font-size:11px;font-weight:800;text-align:left;transition:.18s ease}
.theme-toggle:hover{border-color:rgba(101,88,232,.45);color:var(--ink);background:var(--surface)}
.theme-toggle-icon{width:27px;height:27px;border-radius:8px;background:var(--violet-soft);color:var(--violet);display:grid;place-items:center;font-size:13px}
.theme-toggle-state{font-size:9px;color:var(--muted-2);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.sidebar>.theme-toggle{margin:0 4px 12px;width:calc(100% - 8px)}
.studio-sidebar>.theme-toggle{margin:10px 7px 12px;width:calc(100% - 14px)}
.studio-sidebar-spacer{flex:1}
.floating-theme-toggle{position:fixed;right:22px;top:20px;z-index:30;width:auto;grid-template-columns:28px auto auto;box-shadow:var(--shadow-soft)}
.compact-theme-toggle{width:auto;grid-template-columns:26px auto;padding:7px 9px}
.onboarding-head-actions{display:flex;align-items:center;gap:9px}

/* Generic surfaces */
.card,.subject-card,.studio-panel,.studio-form-card,.studio-table-wrap,.object-type-card,.login-card,.onboarding-form{background:var(--card);border-color:var(--line)}
.button-ghost,.icon-button,.pill,.suggestions button{background:var(--surface);color:var(--ink);border-color:var(--line)}
.empty-card,.empty-inline{background:var(--surface-2);border-color:var(--line)}
code{background:var(--surface-3);color:var(--ink)}

/* Learner portal: clear color hierarchy without flooding the whole page */
.sidebar{background:var(--surface);border-color:var(--line)}
.main-content{background:var(--bg)}
.nav a{color:var(--muted)}
.nav a .nav-icon{background:var(--surface-2);color:var(--muted)}
.nav a:hover{background:var(--surface-2);color:var(--ink)}
.nav a.active{background:var(--violet-soft);color:var(--violet)}
.nav a.active .nav-icon{background:rgba(101,88,232,.16);color:var(--violet)}
.sidebar-footer{border-color:var(--line)}

.hero-card{background:linear-gradient(135deg,#6558E8 0%,#5649D1 70%,#493DBF 100%);color:#fff;border:0;box-shadow:0 20px 48px rgba(73,61,191,.24)}
.hero-card:after{background:rgba(255,255,255,.08)}
.hero-card:before{background:rgba(207,244,91,.14)}
.hero-card .eyebrow{color:#E5E1FF}
.hero-card h2{color:#fff}
.hero-card p{color:#ECEAFF}
.hero-badge{color:#F0EEFF}
.hero-card .button-lime{background:var(--lime);color:#172033;box-shadow:0 9px 23px rgba(19,29,46,.20)}
.memory-card{background:linear-gradient(155deg,var(--aqua-soft),var(--card));border-color:rgba(26,174,159,.25)}
.memory-orb{background:var(--aqua);color:#fff}
.panel-card:first-child{background:linear-gradient(145deg,var(--violet-soft),var(--card));border-color:rgba(101,88,232,.18)}
.panel-card:last-child{background:linear-gradient(145deg,var(--aqua-soft),var(--card));border-color:rgba(26,174,159,.18)}
.subject-card{background:var(--card)}

/* Chat */
.chat-layout{background:var(--surface)}
.chat-main{background:var(--bg)}
.chat-header{background:var(--surface);border-color:var(--line)}
.chat-thread{background:linear-gradient(180deg,var(--bg) 0%,var(--surface-2) 100%)}
.suggestions button{color:var(--muted)}
.message-body{background:var(--surface);border-color:var(--line);color:var(--ink-2);box-shadow:var(--shadow-soft)}
.message.user .message-body{background:var(--violet);border-color:var(--violet);color:#fff}
.composer{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.composer-icon{background:var(--surface-3);color:var(--muted)}
.learner-panel{background:var(--surface);border-color:var(--line)}
.context-card{background:var(--surface-2);border-color:var(--line)}
.weakness-item{color:var(--muted)}

/* Forms */
.field input,.field select,.field textarea,.form-stack input,.studio-form input,.studio-form select,.studio-form textarea,.studio-filterbar select{background:var(--surface);border-color:var(--line);color:var(--ink)}
.field label,.form-stack label,.studio-form label{color:var(--muted)}

/* Login and onboarding */
.login-body,.login-panel{background:var(--bg)}
.login-card{background:var(--surface)}
.onboarding-body{background:linear-gradient(180deg,var(--surface-2),var(--bg))}
.onboarding-form{background:var(--surface)}
.onboarding-signal{color:var(--muted)}

/* Content Studio */
.studio-shell{background:var(--bg)}
.studio-sidebar{background:var(--surface);color:var(--ink);border-right:1px solid var(--line)}
.studio-badge{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.studio-nav-label{color:var(--muted-2)}
.studio-nav a{color:var(--muted)}
.studio-nav a:hover{background:var(--surface-2);color:var(--ink)}
.studio-nav a.active{background:var(--violet-soft);color:var(--violet)}
.studio-nav .mini-icon{background:var(--surface-2);color:var(--muted)}
.studio-nav a.active .mini-icon{background:rgba(101,88,232,.16);color:var(--violet)}
.studio-sidebar-footer{border-color:var(--line)}
.studio-sidebar-footer small{color:var(--muted-2)}
.studio-topbar{background:var(--surface);border-color:var(--line)}
.studio-intro{background:var(--surface)}
.studio-intro-accent{background:linear-gradient(135deg,var(--violet-soft),var(--surface) 72%);border-color:rgba(101,88,232,.20)}
.pipeline-card{background:linear-gradient(135deg,#172033,#28334B);color:#fff;border:0;box-shadow:0 16px 38px rgba(23,32,51,.16)}
.pipeline-card .eyebrow{color:#79E2D5}
.pipeline-card h3{color:#fff}
.pipeline-progress{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#DDE4F0;font-size:10px;margin-bottom:8px}
.pipeline-progress span{font-weight:900;color:var(--lime)}
.progress-line{height:6px;background:rgba(255,255,255,.11);border-radius:999px;overflow:hidden;margin-bottom:14px}
.progress-line i{height:100%;display:block;background:linear-gradient(90deg,var(--aqua),var(--lime));border-radius:999px}
.pipeline-steps span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#DCE2EC}
.pipeline-steps b{color:var(--lime)}
.stat-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.stat-card{background:var(--surface);border-color:var(--line)}
.stat-card.stat-violet{background:linear-gradient(145deg,var(--violet-soft),var(--surface));border-color:rgba(101,88,232,.18)}
.stat-card.stat-aqua{background:linear-gradient(145deg,var(--aqua-soft),var(--surface));border-color:rgba(26,174,159,.18)}
.stat-card.stat-lime{background:linear-gradient(145deg,var(--lime-soft),var(--surface));border-color:rgba(207,244,91,.38)}
.stat-card.stat-ink{background:#172033;border-color:#172033;color:#fff}
.stat-card.stat-ink small,.stat-card.stat-ink span{color:#AEB8CA}
.studio-panel{background:var(--surface);border-color:var(--line)}
.studio-panel-tinted{background:linear-gradient(160deg,var(--aqua-soft),var(--surface) 60%)}
.studio-grid-lower{margin-top:18px;grid-template-columns:1fr 1fr}
.tree-domain{border-color:var(--line)}
.tree-domain-head{background:var(--surface-2)}
.tree-row{border-color:var(--line)}
.object-type-card{background:var(--surface);border-color:var(--line);transition:.16s ease}
.object-type-card:hover{transform:translateY(-1px);border-color:rgba(101,88,232,.42);box-shadow:var(--shadow-soft)}
.studio-table-wrap{background:var(--surface);border-color:var(--line)}
.studio-table th{background:var(--surface-2);color:var(--muted-2);border-color:var(--line)}
.studio-table td{color:var(--muted);border-color:var(--line)}
.studio-table strong{color:var(--ink)}
.searchbar{background:var(--surface);border-color:var(--line)}
.studio-form-card{background:var(--surface);border-color:var(--line)}
.studio-filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.studio-filterbar select{height:38px;border-radius:11px;padding:0 30px 0 10px;font-size:10px;outline:0}
.studio-result-pill{margin-left:auto}
.source-guidance{max-width:900px;display:grid;grid-template-columns:46px 1fr;gap:13px;align-items:start;padding:16px 18px;margin-bottom:14px;border:1px solid rgba(26,174,159,.26);border-radius:16px;background:linear-gradient(135deg,var(--aqua-soft),var(--surface));color:var(--ink)}
.source-guidance-icon{width:46px;height:46px;border-radius:13px;background:var(--aqua);color:#fff;display:grid;place-items:center;font-weight:900}
.source-guidance strong{display:block;font-size:12px;margin:2px 0 4px}
.source-guidance p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}
.source-icon{background:var(--aqua-soft);color:var(--aqua)}
.status-ok{color:var(--aqua);font-weight:850}
.status-open{color:#B27B00;font-weight:850}
.notice{border-radius:12px;padding:10px 12px;font-size:11px;font-weight:750}
.notice-success{background:var(--aqua-soft);border:1px solid rgba(26,174,159,.25);color:var(--aqua)}

/* Dark mode component corrections for hard-coded light surfaces */
html[data-theme="dark"] .button-ghost,
html[data-theme="dark"] .icon-button,
html[data-theme="dark"] .pill,
html[data-theme="dark"] .subject-card,
html[data-theme="dark"] .studio-panel,
html[data-theme="dark"] .studio-form-card,
html[data-theme="dark"] .studio-table-wrap,
html[data-theme="dark"] .object-type-card,
html[data-theme="dark"] .login-card,
html[data-theme="dark"] .onboarding-form{background:var(--surface);color:var(--ink)}
html[data-theme="dark"] .hero-card{background:linear-gradient(135deg,#6558E8,#493DBF);color:#fff}
html[data-theme="dark"] .memory-card{background:linear-gradient(155deg,#153D3D,var(--surface))}
html[data-theme="dark"] .panel-card:first-child{background:linear-gradient(145deg,#29264C,var(--surface))}
html[data-theme="dark"] .panel-card:last-child{background:linear-gradient(145deg,#153D3D,var(--surface))}
html[data-theme="dark"] .stat-card.stat-ink{background:#080C16;border-color:#263149}
html[data-theme="dark"] .status-open{color:#F0BC55}
html[data-theme="dark"] .login-visual{background:linear-gradient(150deg,#493DBF,#2F287A)}
html[data-theme="dark"] .login-copy p,html[data-theme="dark"] .login-quote{color:#E9E7FF}
html[data-theme="dark"] .bar{background:#283149}
html[data-theme="dark"] .message-label{color:#8591A7}

@media(max-width:1250px){.stat-grid-five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){.brand-logo{width:145px}.studio-logo-link .brand-logo{width:150px}.studio-grid-lower{grid-template-columns:1fr}.stat-grid-five{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  .sidebar .brand-logo-link,.studio-logo-link{padding:0}.sidebar .brand-logo,.studio-logo-link .brand-logo{width:145px}
  .sidebar>.theme-toggle{display:grid;width:auto;margin:0 0 0 auto;grid-template-columns:26px auto}.sidebar>.theme-toggle [data-theme-label],.sidebar>.theme-toggle .theme-toggle-state{display:none}
  .studio-sidebar>.theme-toggle{display:grid;width:auto;margin:0;grid-template-columns:26px auto}.studio-sidebar>.theme-toggle [data-theme-label]{display:none}
  .studio-sidebar-spacer{display:none}
  .stat-grid-five{grid-template-columns:1fr 1fr}
  .studio-filterbar{align-items:stretch}.studio-filterbar .searchbar,.studio-filterbar select{width:100%}.studio-result-pill{margin-left:0}
  .floating-theme-toggle{right:14px;top:14px}.floating-theme-toggle [data-theme-label]{display:none}
  .onboarding-head{gap:12px}.onboarding-head-actions{gap:6px}.onboarding-logo-link .brand-logo{width:155px}
}
