:root{--ink:#17212b;--navy:#142f43;--navy-2:#0b2433;--navy-3:#214e69;--teal:#2d7d79;--teal-dark:#1f625f;--gold:#d7a84b;--gold-pale:#f5e8c8;--paper:#f6f3eb;--surface:#fffdf8;--white:#fff;--muted:#66717d;--line:rgba(20,47,67,.13);--radius:20px;--shadow:0 8px 40px rgba(19,47,65,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 'DM Sans',Inter,system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.18;letter-spacing:-.025em}h1{font-size:clamp(34px,3.9vw,55px)}h2{font-size:clamp(23px,2.1vw,30px)}h3{font-size:20px}p{color:var(--muted)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.skip-to{position:absolute;transform:translateY(-200%);padding:9px;background:white;z-index:50}.skip-to:focus{transform:translateY(0)}svg{vertical-align:middle;flex:none}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.center{justify-content:center}.eyebrow,.kicker{font-size:11px;line-height:1.3;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:var(--teal)}.eyebrow.gold{color:#edca85}.muted-xs{font-size:12px;color:var(--muted)}.footnote{font-size:12px;color:var(--muted);margin-top:16px}.note{border-left:3px solid var(--gold);padding:12px 15px;background:#fffaf0;border-radius:0 10px 10px 0;font-size:13px}.app-layout{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:20;left:0;top:0;bottom:0;width:246px;background:var(--navy);color:#e9f0f3;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin}.side-top{padding:25px 23px 23px}.brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:800;font-size:18px;letter-spacing:.07em;line-height:1.05}.brand small{display:block;margin-top:7px;font-size:9px;letter-spacing:.28em;color:#c6d5de;font-weight:700}.brandmark{width:38px;height:38px;border-radius:11px;flex:none;background:linear-gradient(145deg,#e7c674,#b98a31);display:grid;place-items:center;color:#142f43;font-size:29px;box-shadow:0 4px 18px #0002}.side-caption{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#95b2bb;margin:19px 23px 8px}.side-nav{padding-bottom:12px}.nav-link{display:flex;align-items:center;gap:13px;min-height:43px;margin:2px 12px;padding:0 13px;border-radius:10px;color:#c4d4db;font-size:13px;font-weight:650;transition:background .15s}.nav-link:hover,.nav-link.active{background:#294a5d;color:white}.nav-link.active:before{content:'';width:3px;height:20px;background:var(--gold);position:absolute;left:0}.nav-link svg{opacity:.85}.nav-link .flag{font-size:19px}.nav-current{margin-left:auto;color:var(--gold);font-size:10px}.nav-divider{height:1px;background:#ffffff1c;margin:18px 23px}.sidebar-bottom{margin-top:auto;padding:17px}.mini-finn{background:#244b5a;border-radius:14px;display:flex;align-items:center;padding:12px 8px;min-height:96px;gap:7px}.finn{object-fit:contain}.finn.mini{height:73px;width:58px}.mini-finn p{font-family:Georgia,serif;font-style:italic;color:#fff;font-size:16px;margin:0;line-height:1.2}.mini-finn span{font-family:'DM Sans',sans-serif;font-style:normal;font-size:11px;color:#bdd1d8;display:block;margin-top:8px}.small-status{font-size:10px;text-align:center;color:#afc5cc;margin:16px 0 0}.main-area{margin-left:246px;width:calc(100% - 246px);min-width:0;display:flex;flex-direction:column}.topbar{height:78px;position:sticky;top:0;z-index:15;background:rgba(255,253,248,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:0 clamp(22px,3.1vw,53px);display:flex;align-items:center;justify-content:space-between;gap:12px}.crumb{display:flex;align-items:center;gap:11px;color:#3d5360;font-size:13px;font-weight:700}.crumb svg{color:var(--teal)}.crumb b{font-weight:400;color:#aaa;margin:0 3px}.top-actions{display:flex;align-items:center;gap:12px}.select-language{border:1px solid var(--line);border-radius:11px;background:white;padding:9px 15px;color:var(--ink);font-weight:750;font-size:12px}.dropdown-arrow{margin-left:9px;color:var(--muted)}.pill-stat{display:flex;align-items:center;gap:7px;font-size:12px;color:#ad7d22;background:#fff8e7;border:1px solid #f2e2bd;border-radius:999px;padding:6px 10px}.pill-stat.xpstat{background:#eaf4f0;color:#2d7d79;border-color:#d3e9e5}.avatar{background:var(--navy);color:#fff;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-weight:800}.mobile-menu,.side-close{display:none;background:none;border:none;color:inherit}.content{width:min(1230px,100%);margin:0 auto;padding:36px clamp(22px,3.1vw,53px) 70px;flex:1}.site-footer{padding:18px clamp(22px,3.1vw,53px);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;color:#7a858d;font-size:11px}.site-footer a{color:var(--teal)}.loading{min-height:60vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px}.load-error{padding:60px 20px;max-width:640px;margin:auto}.load-error code{color:#ac3838}.btn{border:1px solid transparent;border-radius:10px;padding:11px 17px;font-weight:800;font-size:12px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:transform .12s,background .12s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{background:var(--teal);color:white}.btn-primary:hover:not(:disabled){background:#1e6562}.btn-teal{background:#dff0ec;color:#17635e}.btn-ghost{background:white;border-color:var(--line);color:var(--navy)}.btn-gold{background:var(--gold);color:#162e39}.btn-outline-light{border-color:#ffffff6b;color:white;background:#ffffff13}.btn-light{background:#fffdf8;color:var(--navy)}.btn-text,.btn-text-danger{background:none;border:none;padding:8px;color:var(--muted)}.btn-text-danger{color:#af3838}.btn-disabled{background:#e7e8e6;color:#808b91}.btn-wide{min-width:195px}.badge{font-size:10px;font-weight:800;letter-spacing:.04em;border-radius:99px;padding:4px 9px;display:inline-block;background:#e8f2f0;color:#226e68;white-space:nowrap}.badge.muted{background:#eff0ef;color:#64747c}.badge.success{background:#e4f4e9;color:#30834e}.badge.gold{background:#fbefd1;color:#8f6c29}.badge.error{background:#fee8e2;color:#bb4636}.progress{height:7px;border-radius:20px;background:#e7e9e6;overflow:hidden;flex:1}.progress i{height:100%;display:block;background:linear-gradient(90deg,var(--teal),#77c4ad);border-radius:20px;transition:width .25s}.section-head{margin-bottom:30px}.section-head .eyebrow{margin-bottom:12px}.section-head h1{font-family:'DM Serif Display',Georgia,serif;font-weight:400;margin:0 0 9px}.section-head p{max-width:650px;margin:0;color:#677783}.text-back{display:inline-block;color:var(--teal);font-weight:800;font-size:12px;margin-bottom:25px}.home-hero{background:linear-gradient(125deg,#102f43,#1d5062 75%,#245e65);min-height:331px;border-radius:22px;color:white;position:relative;overflow:hidden;display:flex;align-items:center;padding:45px 46px;box-shadow:0 14px 38px #112c3b24}.home-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(140deg,transparent 54%,#4c919336 80%,transparent 100%);pointer-events:none}.hero-sky{position:absolute;inset:0;pointer-events:none}.hero-sky:before{content:'✧     ✦       ·         ✧        ✦         ·      ✧     ✦';white-space:pre;position:absolute;right:10px;top:25px;letter-spacing:15px;font-size:11px;color:#e8d7ae8c}.hero-orbit{position:absolute;border:1px solid #adcebb25;border-radius:50%;width:280px;height:280px;right:80px;top:25px}.hero-orbit.two{width:410px;height:410px;right:14px;top:-50px}.hero-north{position:absolute;right:35%;top:48px;font-size:25px;color:#efcc8c}.hero-copy{max-width:560px;position:relative;z-index:3}.hero-copy h1{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.06;font-size:clamp(39px,4.2vw,58px);margin:16px 0}.hero-copy p{color:#c9d9db;font-size:14px;max-width:475px;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.hero-finn{position:absolute;z-index:2;right:50px;bottom:-19px;width:230px;height:300px;display:flex;align-items:flex-end;justify-content:center}.hero-finn img{height:270px;filter:drop-shadow(0 15px 11px #031b2a56)}.finn-bubble{position:absolute;top:13px;right:0;background:#fffdf8;color:var(--navy);border-radius:16px 16px 16px 3px;padding:10px 13px;font-weight:800;font-size:12px;transform:rotate(6deg);box-shadow:0 6px 15px #0002}.dashboard-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 45px}.dash-tile{border:1px solid var(--line);background:var(--surface);padding:17px 18px;border-radius:15px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow)}.dash-tile>svg{color:var(--teal)}.dash-tile strong{font-size:19px;color:var(--navy);display:block;line-height:1.1}.dash-tile span{font-size:10px;color:var(--muted)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:34px 0 17px}.section-title h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:29px;margin:7px 0 0}.language-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.language-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;overflow:hidden;transition:transform .16s,box-shadow .16s;box-shadow:0 6px 25px #0c26320b}.language-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #0c263320}.lang-art{height:125px;position:relative;overflow:hidden;background:#d8e8e8}.language-card.ja .lang-art{background:linear-gradient(110deg,#f4e6d8,#f1d6cf)}.language-card.ru .lang-art{background:linear-gradient(110deg,#dce8e8,#d1e6e1)}.language-card.nb .lang-art{background:linear-gradient(110deg,#d9e6ef,#dceceb)}.lang-flag{font-size:43px;position:absolute;left:24px;top:28px;filter:drop-shadow(0 5px 6px #0001)}.script-splash{font-size:130px;line-height:1;position:absolute;right:-1px;bottom:-45px;color:#163b4930;font-family:Georgia,serif}.lang-card-body{padding:21px}.lang-card-body h3{font-family:'DM Serif Display',Georgia,serif;font-size:26px;margin:7px 0 5px}.lang-card-body p{font-size:12px;min-height:40px}.mini-progress{display:flex;align-items:center;gap:11px;margin-top:20px}.mini-progress span{font-size:10px;white-space:nowrap;color:var(--muted)}.card-link{color:var(--teal);font-size:12px;font-weight:800;display:flex;align-items:center;gap:6px;margin-top:19px}.info-banner{display:flex;align-items:center;gap:15px;background:#e7efea;border-radius:16px;padding:19px 23px;margin:26px 0}.info-banner>svg,.info-symbol{color:var(--teal);font-size:30px;flex:none}.info-banner div{flex:1}.info-banner p{margin:3px 0;font-size:12px}.promo{margin:32px 0 0;display:flex;align-items:center;gap:21px;padding:23px 26px;border-radius:18px;background:linear-gradient(115deg,#f4e3bd,#f8efdb);border:1px solid #e6d1a6}.promo-star{font-size:52px;color:#c69539;flex:none}.promo>div:nth-child(2){flex:1}.promo h3{font-family:'DM Serif Display',Georgia,serif;font-size:22px;margin:6px 0}.promo p{margin:0 0 4px;font-size:13px;color:#5b4f3e}.promo small{color:#837561;font-size:10px}.promo .btn{border:1px solid #e3cd9a}.course-summary{background:linear-gradient(125deg,#142f43,#2b5b69);border-radius:19px;color:#fff;padding:22px;display:flex;gap:25px;align-items:center;flex-wrap:wrap}.course-crest{height:104px;width:108px;border-radius:15px;background:#ffffff1d;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}.course-crest span{font-size:40px}.course-crest b{font-size:10px;letter-spacing:.16em}.course-summary-text{flex:1;min-width:180px}.course-summary-text .eyebrow{color:#f5cb7d}.course-summary-text h2{margin:9px 0 5px}.course-summary-text p{font-size:12px;color:#c7dadc}.course-summary-text .progress{background:#ffffff30}.course-summary-cta{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.path-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:23px;min-height:210px;transition:transform .15s}.path-card:hover{transform:translateY(-3px)}.path-top{display:flex;justify-content:space-between}.path-symbol{width:51px;height:51px;background:#e1edf3;color:#21566f;display:grid;place-items:center;border-radius:14px;font-family:Georgia,serif;font-size:32px}.path-card.teal .path-symbol{background:#e3f2eb;color:var(--teal)}.path-card h3{font-family:'DM Serif Display',Georgia,serif;font-size:25px;margin:16px 0 4px}.path-card p{font-size:12px}.path-progress{margin-top:17px}.script-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}.script-panel{min-height:142px;padding:20px;border-radius:16px;border:1px solid var(--line);background:#e8eeea;display:grid;grid-template-columns:80px 1fr 20px;grid-template-rows:auto auto;column-gap:15px;align-content:center}.script-panel>span{grid-row:1/3;font-family:Georgia,serif;font-size:60px;line-height:1;text-align:center;color:#266977}.script-panel b{font-size:22px}.script-panel small{color:var(--muted);font-size:11px}.script-panel svg{grid-column:3;grid-row:1/3;align-self:center}.kana-panel{background:#f5e8e5}.kanji-panel{background:#e7ecdf}.ru-panel{background:#e2edf1}.level-chips{display:flex;gap:10px;flex-wrap:wrap}.level-chip{background:#fff;border:1px solid var(--line);border-radius:10px;min-width:76px;padding:12px;text-align:center;font-weight:800;font-size:13px}.level-chip.passed{background:#e2f3e6;color:#2b7f55}.track-summary{display:flex;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--line);padding:18px 23px;border-radius:14px;margin-bottom:20px}.track-summary b{color:var(--teal)}.track-switch{display:flex;gap:9px;margin-bottom:27px}.stage-block{margin:0 0 25px;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}.stage-bar{background:#f0f3ee;border-bottom:1px solid var(--line);padding:19px 25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.stage-bar h2{font-family:'DM Serif Display',Georgia,serif;margin:7px 0 0;font-size:23px;font-weight:400}.stage-meta{width:140px;flex:none;font-size:11px;color:var(--muted);text-align:right}.stage-meta .progress{margin-top:9px}.lesson-list{padding:5px 16px}.lesson-row{padding:14px 12px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #eaece8}.lesson-row:last-child{border-bottom:0}.lesson-row:hover{background:#f9faf6;border-radius:12px}.lesson-num{width:42px;height:42px;background:#eff2ed;color:var(--teal);font-weight:800;border-radius:11px;display:grid;place-items:center;flex:none}.lesson-row.is-complete .lesson-num{background:#e4f5e9;color:#2d8655}.lesson-row>div:nth-child(2){flex:1;min-width:0}.lesson-row strong{font-size:13px}.lesson-row p{font-size:11px;margin:3px 0 0;line-height:1.4}.lesson-row>svg{color:#8f9a9d}.lesson-shell{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:21px}.lesson-main,.aside-card,.aside-finn{background:var(--surface);border:1px solid var(--line);border-radius:17px}.lesson-main{padding:28px}.lesson-intro{display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px;flex-wrap:wrap}.lesson-deco{width:61px;height:61px;background:#e5efed;border-radius:16px;display:grid;place-items:center;color:var(--teal);font-size:34px;font-family:Georgia,serif}.lesson-intro h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;margin:6px 0 0}.lesson-intro .badge{margin-left:auto}.concept{display:flex;gap:16px;margin-bottom:19px}.concept-num{font-weight:800;color:var(--gold);font-size:12px;flex:none;min-width:23px}.concept p{font-size:14px;color:#3a4c57;margin:0}.subheader{margin:28px 0 13px;font-size:17px}.example-list{display:grid;gap:10px}.example-line{display:flex;justify-content:space-between;gap:14px;background:#f1f6f3;padding:14px 15px;border-radius:11px;align-items:center}.example-line strong{display:block;color:#1e3d49;font-size:18px;overflow-wrap:anywhere}.example-line span{display:block;color:var(--muted);font-size:12px}.icon-button{border:0;background:white;border-radius:8px;color:var(--teal);padding:10px}.word-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.word-pair{background:#fbf9f1;border:1px solid #f2ede1;padding:13px;border-radius:10px}.word-pair strong{display:block;font-size:17px}.word-pair span{font-size:11px;color:var(--muted)}.lesson-cta{margin-top:34px;padding-top:21px;border-top:1px solid var(--line)}.aside-card{padding:20px}.aside-card h3{margin:12px 0}.reward-list{display:flex;flex-direction:column;gap:10px;font-weight:800;color:var(--teal)}.aside-card p{font-size:11px;margin-top:15px}.aside-finn{margin-top:13px;padding:18px;text-align:center}.finn.small{width:90px;height:100px;margin:auto}.aside-finn div{color:var(--muted);font-size:12px}.quiz-wrap{max-width:800px;margin:28px auto;background:#f9f8f3;border:1px solid var(--line);border-radius:20px;padding:24px}.quiz-head{display:flex;justify-content:space-between;gap:20px}.quiz-head h2{margin:8px 0;font-family:Georgia,serif}.quiz-count{font-size:20px;color:var(--teal);font-weight:800}.quiz-wrap>.progress{margin-bottom:24px}.question-card{padding:23px;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:13px}.question-card.good{border-color:#a6d0b4}.question-card.bad{border-color:#e6b2ae}.question-card h3{font-size:17px;letter-spacing:0;font-weight:700;margin:13px 0 17px;white-space:pre-wrap;overflow-wrap:anywhere}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice{border:1px solid #dae4e2;background:#fff;border-radius:10px;padding:12px 13px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;min-height:48px}.choice:hover:not(:disabled),.choice.selected{border-color:var(--teal);background:#e7f4ef}.choice.invalid{border-color:#cd7d76;background:#f9ecea}.choice.valid{background:#e6f4ec;border-color:#75bd9e}.choice-dot{flex:none;color:var(--teal)}.answer-input,.settings-card input,.filters input,.filters select{border:1px solid #d8dfdd;border-radius:9px;background:#fff;padding:12px;width:100%;outline:none}.answer-input:focus,.settings-card input:focus{border-color:var(--teal)}.answer-feedback{background:#eaf2ed;padding:12px 13px;border-radius:10px;margin-top:15px;font-size:12px;color:#38524a}.answer-feedback p{margin:6px 0 0}.quiz-footer{display:flex;justify-content:space-between;align-items:center;margin-top:23px}.order-picked{background:#f5f5f0;min-height:52px;border:1px dashed #bac8c8;border-radius:10px;padding:8px;display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.order-options{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px 10px;font-size:13px}.chip.chosen{background:#e0f2ea;color:#1b5a55}.result-box{text-align:center;background:#eef7f0;padding:26px;border-radius:15px;margin-top:20px}.result-box.fail{background:#fff0e9}.result-box strong{display:block;color:var(--teal);font-size:18px;margin:12px}.result-box .row{margin-top:20px}.result-icon{font-size:48px;color:var(--teal)}.exam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.exam-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:23px}.exam-card:hover{border-color:#96bbb8}.exam-stage{font-family:Georgia,serif;font-size:37px;color:var(--teal)}.exam-card h3{font-size:18px;margin:7px 0}.exam-card p{font-size:12px}.exam-card .progress{margin:14px 0}.exam-card>span:last-child{font-weight:750;font-size:12px;color:var(--muted)}.exam-complete{background:#f0faf4}.locked-exam,.review-intro,.empty-state{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:65px 20px}.locked-icon,.review-icon{font-size:60px;color:var(--teal)}.exam-progress{max-width:360px;margin:25px auto;display:grid;gap:9px;font-size:12px}.script-top{display:flex;align-items:center;gap:21px;background:var(--surface);border:1px solid var(--line);padding:17px 23px;border-radius:15px;margin:20px 0}.script-progress{display:flex;gap:12px;align-items:center;flex:none}.script-progress svg{color:var(--teal)}.script-progress strong{font-size:20px;display:block}.script-progress span{font-size:11px;color:var(--muted)}.script-top>.progress{min-width:60px}.script-actions{display:flex;gap:8px}.tabstrip{display:flex;gap:8px;margin:20px 0}.tab{border:1px solid var(--line);background:#fff;color:var(--muted);padding:11px 18px;border-radius:9px;font-size:13px;font-weight:750}.tab.active{color:#fff;background:var(--navy)}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:19px 0}.filters label{font-size:11px;font-weight:700;color:var(--muted);display:grid;gap:6px;min-width:144px}.filters select,.filters input{padding:9px 12px;font-size:13px}.filter-search{flex:1}.writing-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);align-items:start;gap:16px}.glyph-browser,.flashcard,.drawing-panel,.glyph-quiz{border:1px solid var(--line);border-radius:17px;padding:16px;background:var(--surface)}.glyph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:7px;max-height:650px;overflow-y:auto;padding:3px}.glyph-button{border:1px solid #e3e8e5;border-radius:9px;background:#fbfcf9;padding:8px 3px;min-height:63px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px}.glyph-button.active{border-color:var(--teal);background:#e8f5ef}.glyph-button.seen:after{content:'✓';font-size:9px;color:#51a077;position:absolute;transform:translate(20px,-24px)}.glyph-button strong{font-family:Georgia,serif;font-size:25px;line-height:1.1}.glyph-button small{font-size:10px;color:var(--muted)}.study-column{display:grid;gap:16px}.flashcard{padding:23px;text-align:center}.flashcard-top{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-weight:800}.flash-symbol{font-size:clamp(78px,13vw,145px);line-height:1.4;font-family:Georgia,serif;color:var(--navy);margin:16px}.flash-detail{min-height:75px}.flash-detail b{font-size:22px;color:var(--teal)}.flash-detail p{margin:0}.flash-detail small{display:block;font-size:11px;color:var(--muted)}.flash-hint{font-size:13px;color:#999;min-height:75px;display:flex;align-items:center;justify-content:center}.flash-controls,.flash-bottom{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.flash-bottom{border-top:1px solid var(--line);padding-top:16px;margin-top:19px}.drawing-panel strong{font-size:14px}.drawing-panel canvas{width:100%;touch-action:none;background:#fffdf7;border:1px solid var(--line);border-radius:12px;margin-top:12px}.drawing-panel p{font-size:11px;margin:7px 0 0}.glyph-quiz{max-width:850px;margin:20px auto}.glyph-question{padding:15px;background:#fcfcf7;border:1px solid var(--line);border-radius:12px;margin:12px 0}.glyph-qchar{font-size:70px;text-align:center;font-family:Georgia,serif}.glyph-question>strong{font-size:11px;color:var(--muted);display:block;text-align:center;margin-bottom:12px}.glyph-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.glyph-options .choice{justify-content:center}.wallet-banner{background:#17394b;color:#fff;padding:24px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.wallet-banner b{display:flex;align-items:center;gap:9px;font-size:26px}.wallet-banner .eyebrow{color:#cdbd91}.wallet-banner>span{font-size:25px;color:var(--gold)}.filter-buttons{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 24px}.pet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.pet-card{background:var(--surface);padding:13px;border:1px solid var(--line);border-radius:16px}.pet-backdrop{background:radial-gradient(circle at 50% 50%,#eff5f3,#dfeae4);height:155px;display:grid;place-items:center;border-radius:12px;margin-bottom:15px}.pet-backdrop.ja{background:radial-gradient(circle,#fff5ed,#f0dcd2)}.pet-backdrop.ru{background:radial-gradient(circle,#eff2fc,#dfe3f5)}.pet-img{height:128px;max-width:165px;filter:drop-shadow(0 7px 6px #0002)}.pet-emoji{font-size:75px;filter:drop-shadow(0 8px 5px #0002)}.pet-card h3{font-family:Georgia,serif;margin:12px 0 3px}.pet-card p{font-size:12px;min-height:38px}.pet-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px;gap:10px}.pet-bottom .btn{padding:9px 11px;min-height:37px}.price{display:flex;align-items:center;color:#ac812b;font-weight:800}.premium-card{background:#fffdf5;border-color:#e5d6ae}.inventory-banner{border:1px solid var(--line);background:var(--surface);border-radius:16px;display:flex;align-items:center;gap:20px;padding:18px;margin-bottom:25px}.inventory-banner h2{margin:0}.inventory-banner p{margin:4px 0}.inventory-banner .btn{margin-left:auto}.books-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.book-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;gap:18px}.book-cover{height:184px;width:120px;flex:none;display:flex;flex-direction:column;justify-content:space-between;padding:13px 11px;background:linear-gradient(135deg,#163c51,#31716e);color:white;border-radius:3px 9px 9px 3px;box-shadow:4px 5px 8px #172f3b22;border-left:5px solid #091c29}.book-cover.ru{background:linear-gradient(135deg,#462d4c,#9c6375)}.book-cover span{font-size:8px;letter-spacing:.2em}.book-cover b{font-family:Georgia,serif;font-size:17px;line-height:1.1}.book-cover small{font-size:10px}.book-info{flex:1;min-width:0}.book-info h3{font-family:Georgia,serif;font-size:19px;margin:10px 0;overflow-wrap:anywhere}.book-info p{font-size:12px}.book-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.price-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:27px 23px}.price-card.highlight{border:2px solid var(--gold);box-shadow:0 12px 40px #c79c4b22}.price-card h2{font:400 38px Georgia,serif;margin:12px 0}.price-card h2 small{font:400 12px 'DM Sans',sans-serif;color:var(--muted)}.price-card p{font-size:12px;min-height:55px}.price-card ul{margin:20px 0;padding:0;list-style:none}.price-card li{display:flex;gap:9px;margin:10px 0;font-size:12px}.price-card li svg{color:var(--teal)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.settings-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:24px}.settings-card h2{margin:10px 0}.settings-card h3{margin-bottom:13px}.settings-card>p{font-size:13px}.settings-card label{display:grid;gap:7px;margin:22px 0 12px;font-size:12px;color:var(--muted);font-weight:800}.settings-card .progress{margin-top:20px}.lang-preferences,.data-actions{display:flex;gap:7px;flex-wrap:wrap}.divider{height:1px;background:var(--line);margin:21px 0}.modal-backdrop{position:fixed;z-index:110;inset:0;background:#08202cc9;display:grid;place-items:center;padding:20px}.tour-modal{position:relative;background:var(--surface);border:1px solid #eedfba;border-radius:22px;width:min(440px,100%);padding:26px 30px 30px;text-align:center;box-shadow:0 20px 60px #0005}.tour-modal .finn.tour{height:144px;width:140px;margin:-5px auto 15px}.tour-modal h2{font-family:Georgia,serif;font-size:29px;margin:10px 0}.tour-modal p{min-height:70px}.modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--muted)}.tour-dots{display:flex;justify-content:center;gap:7px;margin:17px}.tour-dots i{display:block;width:6px;height:6px;background:#bbc8c5;border-radius:50%}.tour-dots i.on{background:var(--teal);width:18px}.toasts{position:fixed;z-index:100;right:20px;bottom:19px;display:grid;gap:10px}.toast{padding:13px 19px;border-radius:12px;color:white;background:#1c6e69;box-shadow:0 12px 30px #0003}.toast.bad{background:#a84742}
@media(max-width:1180px){.hero-finn{right:20px;opacity:.9}.hero-copy{max-width:68%}.language-grid{gap:11px}.dashboard-strip{gap:8px}.dash-tile{padding:13px 12px}.pet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-card{gap:12px}.book-cover{width:105px}}
@media(max-width:980px){.sidebar{width:213px}.main-area{margin-left:213px;width:calc(100% - 213px)}.content{padding:25px 24px 65px}.topbar{padding:0 24px}.language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.writing-layout{grid-template-columns:1fr}.glyph-grid{max-height:300px}.lesson-shell{grid-template-columns:1fr}.lesson-aside{display:flex;gap:10px}.aside-card,.aside-finn{flex:1}.exam-grid{grid-template-columns:repeat(2,1fr)}.books-grid{grid-template-columns:1fr}.promo{flex-wrap:wrap}}
@media(max-width:740px){.sidebar{transform:translateX(-102%);transition:transform .2s;width:265px;box-shadow:5px 0 20px #0002}.sidebar.open{transform:translateX(0)}.main-area{margin:0;width:100%}.mobile-menu,.side-close{display:block;border:none;background:none}.side-top{display:flex;align-items:center;justify-content:space-between}.topbar{height:65px;padding:0 17px}.crumb{display:none}.top-actions{margin-left:auto;gap:7px}.select-language{padding:7px 10px}.pill-stat{padding:5px 8px}.xpstat{display:none}.content{padding:22px 15px 55px}.home-hero{padding:30px 26px;min-height:360px}.hero-copy{max-width:100%}.hero-copy h1{font-size:40px;max-width:390px}.hero-copy p{max-width:85%}.hero-finn{right:-24px;bottom:-82px;height:250px;width:160px;opacity:.6}.hero-finn img{height:215px}.finn-bubble{display:none}.dashboard-strip{grid-template-columns:repeat(2,1fr);margin-bottom:34px}.language-grid,.path-grid,.pricing-grid,.settings-grid{grid-template-columns:1fr}.course-summary{gap:16px}.course-crest{height:75px;width:85px}.course-crest span{font-size:32px}.course-summary-cta{width:100%}.script-top{flex-wrap:wrap}.script-top .progress{width:100%;flex-basis:100%}.script-actions{width:100%}.script-actions .btn{flex:1}.lesson-main{padding:18px}.word-grid{grid-template-columns:1fr 1fr}.choice-grid{grid-template-columns:1fr}.quiz-wrap{padding:13px}.quiz-head{gap:8px}.question-card{padding:16px}.pet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pet-bottom{flex-wrap:wrap}.pet-bottom .btn{width:100%}.promo{padding:18px}.promo-star{display:none}.promo .btn{width:100%}.site-footer{flex-wrap:wrap}.section-head h1{font-size:38px}.books-grid{grid-template-columns:1fr}.inventory-banner{flex-wrap:wrap}.inventory-banner .btn{margin-left:0}.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finn.small{height:80px}.finn.mini{height:73px}}
@media(max-width:430px){.home-hero{padding:25px 21px}.hero-copy h1{font-size:34px}.hero-copy p{font-size:12px}.hero-actions{gap:7px}.hero-actions .btn{padding:9px 11px}.language-grid,.pet-grid{grid-template-columns:1fr}.top-actions .avatar{display:none}.top-actions .select-language{font-size:11px}.dash-tile{padding:13px}.dash-tile strong{font-size:17px}.glyph-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.glyph-options{grid-template-columns:repeat(2,1fr)}.lesson-row .badge{display:none}.stage-meta{width:90px}.book-cover{width:95px;height:160px}.book-cover b{font-size:14px}.book-info h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.script-guidance{margin-top:26px}.guidance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.guidance-card{background:#fffdf8;border:1px solid var(--line);padding:19px 22px;border-radius:14px}.guidance-card h3{font-size:14px;letter-spacing:0}.guidance-card p{font-size:12px;margin-bottom:0}@media(max-width:600px){.guidance-grid{grid-template-columns:1fr}}

/* LinguStar 3.0 — public marketing page, enrollment catalogue & access feedback */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ui-picker{display:flex;align-items:center;gap:9px;color:inherit;border:1px solid rgba(255,255,255,.22);border-radius:11px;padding:8px 10px;max-width:100%}.ui-picker select{background:transparent;color:inherit;border:0;outline:0;min-width:0;cursor:pointer;font-size:12px;flex:1}.ui-picker select option{color:#17212b;background:#fff}.sidebarpicker{margin:9px 14px 17px;color:#fff}.side-empty{font-size:12px;color:#a5bbc3;margin:8px 24px 14px;line-height:1.5}.nav-add{color:#eed39b!important;border:1px dashed #d7a84b70;margin-top:7px}.sidebar-bottom{margin-top:auto}.marketing-layout{background:#f6f3eb;min-height:100vh;display:flex;flex-direction:column}.marketing-header{width:100%;z-index:8;position:sticky;top:0;min-height:82px;display:flex;align-items:center;gap:30px;padding:13px max(28px,calc((100vw - 1270px)/2));background:#102d40;color:#fff;border-bottom:1px solid #ffffff1a;box-shadow:0 6px 25px #112d4013}.marketing-header .brand{margin-right:auto}.marketing-nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:650;color:#d8e7e6}.marketing-nav a:hover{color:#ebc774}.marketing-actions{display:flex;align-items:center;gap:12px}.marketing-actions .ui-picker{min-width:140px}.marketing-actions .btn{white-space:nowrap}.marketing-layout main{flex:1}.marketing-hero{min-height:610px;background:radial-gradient(circle at 77% 22%,#356b6b88,transparent 28%),radial-gradient(circle at 40% 100%,#44767752,transparent 40%),linear-gradient(115deg,#0b2638,#173d50 68%,#124453);color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:86px max(30px,calc((100vw - 1180px)/2)) 88px}.marketing-stars{position:absolute;inset:6% 15% auto auto;opacity:.15;font-size:170px;letter-spacing:.3em;white-space:nowrap}.marketing-copy{position:relative;z-index:2;max-width:660px}.marketing-copy h1{font:700 clamp(49px,6.2vw,88px)/1.05 Georgia,serif;letter-spacing:-.045em;margin:17px 0 22px;max-width:700px}.marketing-copy p{max-width:560px;font-size:17px;color:#c8dbe0;line-height:1.85}.marketing-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.marketing-buttons .btn,.marketing-actions .btn{min-height:44px}.marketing-trust{font-size:12px;color:#d9dcce;margin-top:35px}.marketing-finn{position:relative;align-self:flex-end;z-index:1;min-width:280px;width:min(31vw,390px);margin-bottom:-20px}.marketing-finn img{width:100%;height:auto;max-height:435px;object-fit:contain;filter:drop-shadow(0 15px 33px #071a2a7c)}.marketing-finn .finn-bubble{position:absolute;top:10%;left:1%;transform:rotate(-5deg);background:#fffaf1;color:#203849;border:1px solid #d7a84b;border-radius:20px 20px 4px 20px;padding:12px 18px;font:700 17px Georgia,serif;box-shadow:0 7px 30px #0002}.marketing-section{padding:85px max(30px,calc((100vw - 1180px)/2)) 95px}.center-heading{text-align:center;max-width:660px;margin:0 auto 42px}.center-heading h2{font:700 clamp(30px,4vw,46px) Georgia,serif;margin:14px 0}.center-heading p{font-size:15px;line-height:1.8}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.feature-grid article{background:#fffdf8;border:1px solid var(--line);border-radius:20px;padding:30px 28px;box-shadow:0 10px 40px #152f3a0c}.feature-grid article>svg{width:31px;height:31px;color:#26726d;margin-bottom:20px}.feature-grid h3{font:700 22px Georgia,serif}.feature-grid p{font-size:13px;line-height:1.8;margin-bottom:0}.marketing-courses{background:#122f41;color:white;display:grid;grid-template-columns:1.1fr .8fr;gap:45px;align-items:center;padding:77px max(30px,calc((100vw - 1180px)/2));}.marketing-courses h2{font:700 clamp(32px,4vw,48px) Georgia,serif;margin:14px 0}.marketing-courses p{color:#c6d8df}.marketing-flags{font-size:48px;letter-spacing:.14em;margin:24px 0}.marketing-flags span{position:relative;top:10px}.marketing-card{border-radius:23px;border:1px solid #d7a84b7a;padding:25px 30px;display:flex;align-items:center;gap:15px;flex-wrap:wrap;background:#fffdf815}.marketing-card img{height:120px}.marketing-card strong{font:700 24px Georgia,serif}.marketing-card p{color:#e5e7db;margin:0;line-height:1.65;font-size:13px}.marketing-layout .promo{margin:52px auto;max-width:1180px;width:calc(100% - 60px)}.marketing-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#0b2433;color:#adbec7;font-size:11px;padding:24px max(30px,calc((100vw - 1180px)/2))}.marketing-footer a{text-decoration:underline}.marketing-pricing{padding:75px 30px 105px;max-width:1220px;width:100%;margin:auto}.public-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.public-prices article{background:white;border-radius:20px;border:1px solid var(--line);padding:26px}.public-prices article:last-child{border-color:#d7a84b;box-shadow:0 12px 30px #d7a84b25}.public-prices span{color:#28736f;letter-spacing:.12em;font-size:12px;font-weight:800}.public-prices h2{font:700 40px Georgia,serif;margin:14px 0}.public-prices small{font-size:13px;color:#66717d}.public-prices p{min-height:52px}.entry-layout{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:60px 22px;background:radial-gradient(circle at 80% 30%,#c5dfd56e,transparent 40%),#f6f3eb}.entry-card{width:min(490px,100%);background:#fffdf8;border-radius:24px;border:1px solid #d8d7cd;padding:39px 43px;box-shadow:0 15px 48px #182b3922}.entry-card h1{font:700 37px Georgia,serif;margin:12px 0}.entry-card>p{font-size:13px;line-height:1.75}.entry-finn{float:right;margin-top:-20px}.entry-finn img{height:120px;width:100px;object-fit:contain}.entry-card form{display:grid;gap:17px;margin:28px 0 10px}.entry-card form>label{display:grid;gap:8px;font-size:12px;font-weight:800;color:#324d5b}.entry-card input{width:100%;border:1px solid #b8c8c5;border-radius:11px;padding:12px;background:white}.entry-card .ui-picker{border-color:#b8c8c5;color:#142f43;max-width:100%;width:100%;padding:12px}.entry-card .ui-picker select{font-size:13px}.entry-card .btn{min-height:49px}.explore-toolbar{background:#fffdf8;border:1px solid var(--line);padding:16px 20px;border-radius:14px;display:flex;align-items:center;gap:20px;margin:25px 0 25px}.explore-toolbar label{display:flex;gap:9px;align-items:center;font-size:13px;font-weight:800;color:#214e69}.explore-toolbar input{margin-left:auto;min-width:0;flex:1;max-width:400px;background:white;border:1px solid #cad5d3;border-radius:10px;padding:11px 14px}.card-actions{margin-top:18px}.card-actions .btn{width:100%;display:flex;justify-content:center;gap:8px;align-items:center}.language-card{display:flex;flex-direction:column;overflow:hidden}.language-card .lang-card-body{flex:1;display:flex;flex-direction:column}.language-card .mini-progress{margin-top:auto;padding-top:15px}.language-card .card-actions{margin-top:15px}.explorer-coming{margin:35px 0 10px;border:1px dashed #c7b184;border-radius:17px;background:#fcf7e9;padding:28px 32px;text-align:center}.explorer-coming h2{font:700 28px Georgia,serif;margin:9px 0}.explorer-coming p{margin-bottom:0;font-size:13px}.empty-hub{display:flex;align-items:center;gap:30px;background:#fffdf8;border:1px dashed #b4c8c2;border-radius:18px;padding:35px;margin-bottom:25px}.empty-hub img{width:120px;max-height:128px;object-fit:contain;flex:none}.empty-hub h3{font:700 25px Georgia,serif}.empty-hub p{font-size:13px;max-width:510px}.gated-content{text-align:center;border:1px solid #dfd7c7;border-radius:20px;background:#fffdf8;padding:48px 23px;margin-top:20px}.gated-content>svg{width:45px;height:45px;color:#ae8a47}.gated-content h2{font:700 31px Georgia,serif;margin:17px 0}.gated-content p{max-width:520px;margin:0 auto 25px}.lesson-row.is-locked{background:#eeeae4;border-color:#e1dfd9;opacity:.83;cursor:not-allowed}.lesson-row.is-locked strong{color:#53626c}.lesson-row.is-locked .lesson-num{color:#87939a}.stage-locked .stage-bar{opacity:.7}.course-management{text-align:right;margin:24px 0}.course-management .btn{font-size:12px}.no-match{padding:25px;background:white;border-radius:12px}.course-summary+.course-management{margin-top:0}
@media(max-width:900px){.marketing-nav{display:none}.marketing-header{padding:12px 25px}.marketing-hero{padding:60px 28px 70px;min-height:530px}.marketing-finn{min-width:210px}.marketing-copy h1{font-size:57px}.marketing-section{padding:65px 28px}.marketing-courses{padding:60px 28px;gap:25px}.marketing-card{padding:20px}.marketing-card img{height:100px}}
@media(max-width:650px){.marketing-header{padding:12px 15px;gap:9px;min-height:66px}.marketing-header .brand{font-size:13px}.marketing-header .brand small{font-size:7px}.marketing-header .brandmark{width:31px;height:31px;font-size:23px}.marketing-actions{gap:7px}.marketing-actions .ui-picker{min-width:0;padding:6px;gap:3px}.marketing-actions .ui-picker select{max-width:87px;font-size:11px}.marketing-actions .btn{font-size:10px;padding:7px 9px}.marketing-hero{min-height:610px;align-items:flex-start;padding:46px 22px 160px}.marketing-copy h1{font-size:49px}.marketing-copy p{font-size:14px;max-width:340px}.marketing-finn{position:absolute;width:165px;min-width:0;bottom:0;right:0;opacity:.73;margin:0}.marketing-finn .finn-bubble{font-size:12px;padding:7px 10px;top:8%}.marketing-trust{max-width:260px;font-size:10px}.marketing-buttons .btn{font-size:12px}.feature-grid{grid-template-columns:1fr}.marketing-section{padding:52px 20px}.marketing-courses{grid-template-columns:1fr;padding:48px 24px}.marketing-card{max-width:470px}.marketing-footer{flex-wrap:wrap;padding:20px}.public-prices{grid-template-columns:1fr}.explore-toolbar{flex-wrap:wrap}.explore-toolbar input{width:100%;max-width:none;flex-basis:100%}.entry-card{padding:25px 22px}.entry-card h1{font-size:31px}.empty-hub{flex-direction:column;text-align:center;align-items:center}.empty-hub img{width:95px}.marketing-layout .promo{width:calc(100% - 30px);margin:27px auto}.ui-picker.sidebarpicker{padding:8px}}
/* V4 — English and German language worlds and the unlocked vocabulary atlas */
.language-card.en .lang-art{background:linear-gradient(125deg,#274a69,#4b7683 64%,#a9b2a7)}
.language-card.de .lang-art{background:linear-gradient(125deg,#283d46,#746c55 65%,#c49f52)}
.course-crest.en{background:linear-gradient(135deg,#234765,#547b90)}
.course-crest.de{background:linear-gradient(135deg,#294f54,#94805a)}
.language-card.en .script-splash,.language-card.de .script-splash{font:700 75px/1 Georgia,serif;opacity:.48}
.atlas-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid rgba(45,125,121,.3);background:linear-gradient(135deg,#f9f9f1,#e9f3ef);padding:24px 30px;border-radius:20px;margin:32px 0}
.atlas-intro h2{margin:8px 0 10px;font:700 27px Georgia,serif;color:#142f43}
.atlas-intro p{font-size:13px;max-width:580px;color:#64717d;margin:0;line-height:1.7}
.atlas-intro .btn{white-space:nowrap}
.atlas-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}
.atlas-stat-grid>div{border:1px solid #d5dcd4;border-radius:15px;padding:20px 18px;background:#fffdf8;display:grid;gap:7px}
.atlas-stat-grid b{font:700 31px Georgia,serif;color:#142f43}
.atlas-stat-grid small{color:#60717b;font-size:12px;line-height:1.4}
.dictionary-controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap;background:#fffdf8;border-radius:14px;border:1px solid #d6e0d9;padding:18px;margin:20px 0 12px}
.dictionary-controls label{display:grid;gap:8px;min-width:0;flex:1;color:#193b4d;font-size:12px;font-weight:700}
.dictionary-controls input,.dictionary-controls select{border:1px solid #c6d6d1;background:#fff;border-radius:10px;padding:12px 13px;color:#193b4d;width:100%;font:500 14px Inter,system-ui,sans-serif}
.dictionary-controls label:last-child{flex:0 0 170px}
.dictionary-note{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.6;color:#65757c;margin:14px 0 19px}
.dictionary-note svg{width:17px;flex:none}
.dictionary-table-wrap{max-width:100%;overflow:auto;border:1px solid #d6e0d9;border-radius:16px;box-shadow:0 8px 24px #1733450b;background:#fffdf8}
.dictionary-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}
.dictionary-table th{background:#16384a;color:#fff;padding:15px 18px;font-size:11px;letter-spacing:.04em}
.dictionary-table td{padding:13px 18px;border-bottom:1px solid #e9ebe4;vertical-align:middle}
.dictionary-table tr:last-child td{border-bottom:0}
.dictionary-table tbody tr:hover{background:#f7faf5}
.dictionary-table td:first-child b{display:block;color:#142f43;font-size:15px;margin-bottom:5px}
.dictionary-table td small{display:block;font-size:11px;color:#6b7e83}
.dictionary-table td>a{color:#176862;font-weight:650;text-decoration:underline}
.dictionary-table td .btn{padding:7px 10px;min-height:35px}
.marketing-flags{font-size:clamp(29px,3vw,44px);letter-spacing:.06em}
@media(max-width:650px){.atlas-intro{flex-direction:column;align-items:stretch;padding:22px}.atlas-intro .btn{white-space:normal}.atlas-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-stat-grid>div:last-child{grid-column:span 2}.dictionary-controls label{flex-basis:100%}.dictionary-controls label:last-child{flex-basis:100%}.dictionary-table th,.dictionary-table td{padding:12px 10px}.dictionary-table td:nth-child(3){min-width:100px}}
/* LinguStar v5 — achievements, packs, better dashboard, CI dark mode */
.theme-top{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;width:39px;height:39px;font-size:23px;display:grid;place-items:center;cursor:pointer}
.coin-token{display:inline-grid;place-items:center;width:23px;height:23px;vertical-align:middle;border-radius:50%;border:2px solid #ae7728;background:radial-gradient(circle at 25% 22%,#fff6bd,#e8b44f 58%,#b87a2d);color:#67421b;box-shadow:inset 0 0 0 2px #ffeaa1,0 2px 3px #0002;font-size:13px;font-weight:900;flex:none}
.coin-pill{font-size:13px;gap:8px;min-height:38px}
.dashboard-strip .dash-link{cursor:pointer;text-decoration:none}.dashboard-strip .dash-link:hover{outline:2px solid #d7a84b}
.hero-copy{max-width:590px}.hero-finn .finn-bubble{max-width:220px;text-align:center}
.demo-limit{padding:13px 16px;border:1px solid #dcc48e;background:#fff2d7;border-radius:14px;margin:0 0 17px;display:flex;align-items:center;gap:12px;color:#715622;font-size:13px;font-weight:700;flex-wrap:wrap}.demo-limit .btn{margin-left:auto}
.placement-finn{display:flex;align-items:center;gap:30px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:25px 28px;margin:20px 0}.placement-finn img{width:100px;height:130px}.placement-finn h2{font:700 25px Georgia,serif;margin:5px 0 10px}.placement-finn p{font-size:14px;margin:0 0 10px;max-width:690px}.level-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:22px 0}.level-option{background:var(--surface);border:1px solid var(--line);border-radius:16px;min-height:100px;font:700 24px Georgia,serif;color:var(--navy);cursor:pointer;box-shadow:var(--shadow)}.level-option:hover{border-color:var(--gold);box-shadow:0 12px 24px #c69e4520;transform:translateY(-2px)}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:17px 0 25px}.stat-detail{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:19px;display:grid;gap:5px}.stat-detail svg{color:var(--teal)}.stat-detail strong{font-size:27px;color:var(--navy)}.stat-detail span{font-size:12px;color:var(--muted)}.stats-lang-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.stat-language{padding:21px;background:var(--surface);border:1px solid var(--line);border-radius:15px}.stat-language h3{margin:0 0 12px}.stat-language small{display:block;font-size:12px;color:var(--muted);margin:12px 0 7px}.stat-language .progress{height:8px}.stat-language p{font-size:12px}
.achievement-progress{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:18px;padding:16px;font-weight:800}.achievement-progress .progress{margin-top:10px}.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.achievement-tile{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:19px;display:flex;gap:18px;align-items:flex-start}.achievement-tile.unearned{filter:grayscale(.9);opacity:.7}.achievement-tile h3{font:700 19px Georgia,serif;margin:5px 0}.achievement-tile p{font-size:12px;margin-bottom:9px}.achievement-tile .progress{height:6px}.achievement-medal{width:59px;height:59px;display:grid;place-items:center;border-radius:15px;background:#dcc4a3;color:#66472c;font-size:32px;flex:none;border:2px solid #bba47f}.tier-1{background:#d8e0e6;color:#56768d}.tier-2{background:#f8eac0;color:#a77925}.tier-3{background:#e1c5f7;color:#8a3cab}.tier-4{background:#b9e9f5;color:#23759e}.achievement-reward{font-weight:800;font-size:12px;margin-top:12px;color:var(--teal)}
.pack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:21px 0}.pack-card{border:1px solid var(--line);background:var(--surface);padding:17px;border-radius:18px;box-shadow:var(--shadow)}.pack-card h3{font:700 20px Georgia,serif;margin:15px 0 8px}.pack-card p{font-size:12px;min-height:45px}.pack-art{height:184px;position:relative;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:linear-gradient(140deg,#a56a43,#dfb380);color:#fffbe6;box-shadow:inset 0 0 0 2px #ffffff44}.pack-art:before{content:'';position:absolute;inset:17px 27%;border:3px solid currentColor;opacity:.5;border-radius:12px}.pack-silver .pack-art{background:linear-gradient(140deg,#587787,#a3c3d0)}.pack-gold .pack-art{background:linear-gradient(140deg,#866221,#d9b54b)}.pack-main{font-size:70px;line-height:1;font-family:Georgia,serif;text-shadow:0 5px 14px #0004}.pack-glow{position:absolute;top:11px;right:17px;font-size:23px}.pack-art>span:last-child{font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.pack-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.pack-footer>b{display:flex;align-items:center;gap:7px;font-size:19px;color:var(--navy)}
.wallet-banner{background:linear-gradient(110deg,#183849,#296671);color:white;display:flex;justify-content:space-between;align-items:center;border-radius:17px;padding:22px 28px;margin:18px 0;gap:15px;flex-wrap:wrap}.wallet-banner .eyebrow{color:#ecd193}.wallet-banner b{font:700 29px Georgia,serif;color:white;display:flex;align-items:center;gap:9px}.wallet-sub{font-size:13px;opacity:.8}
.collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.collection-slot{border:1px solid var(--line);border-radius:16px;padding:12px;background:var(--surface)}.collect-card{min-width:0;display:grid;gap:7px;padding:12px;border:3px solid #9eb1a6;border-radius:13px;align-items:center;justify-items:center;text-align:center;background:linear-gradient(150deg,#f8fff9,#e1ebe6);color:#193c40;aspect-ratio:3/4;box-shadow:inset 0 0 0 2px #ffffff99}.collect-card.rarity-uncommon{border-color:#57b4a3;background:linear-gradient(#e0f8f4,#f5fffd)}.collect-card.rarity-rare{border-color:#7094de;background:linear-gradient(#eaf0ff,#f9fbff)}.collect-card.rarity-epic{border-color:#ae7ed7;background:linear-gradient(#eee5ff,#fffaff)}.collect-card.rarity-legendary{border-color:#d7a84b;background:linear-gradient(#fff2c8,#fffaf0);box-shadow:0 0 17px #d7a84b6b}.creature-frame{width:100%;flex:1;display:grid;place-items:center;overflow:hidden}.creature-frame img{height:100%;max-height:195px;width:100%;object-fit:contain;image-rendering:pixelated}.collect-card strong{font:700 16px Georgia,serif;overflow-wrap:anywhere}.rarity-text{font-size:10px;letter-spacing:.08em;font-weight:900;text-transform:uppercase}.card-inventory-bottom{display:grid;gap:10px;text-align:center;margin:12px 0 2px}.card-inventory-bottom span{font-weight:800}.card-inventory-bottom .btn{font-size:11px;padding:8px;white-space:normal}.reveal-cards{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-height:55vh;overflow-y:auto}.reveal-cards .collect-card{width:130px}.pack-reveal{width:min(850px,94vw);max-width:none;max-height:90vh;overflow:auto;text-align:center}.pack-reveal>.btn{margin:18px auto 0}
.manage-course{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.manage-course>div{display:flex;flex-wrap:wrap;gap:8px}.check-row{display:flex;gap:10px;align-items:center;cursor:pointer;font-size:13px;font-weight:700}.check-row input{width:18px;height:18px}
/* The dark palette retains HaithaBuch navy, teal and gold rather than inverting images. */
html[data-theme="dark"]{color-scheme:dark;--ink:#e9f2f2;--navy:#c8e2e3;--navy-2:#0b1925;--navy-3:#1d4752;--teal:#75c2b9;--teal-dark:#5bab9e;--gold:#e6c279;--gold-pale:#3c3526;--paper:#091924;--surface:#162b38;--white:#162b38;--muted:#b0c0c7;--line:rgba(195,224,229,.18);--shadow:0 8px 30px #0004}
html[data-theme="dark"] .sidebar{background:#071622}html[data-theme="dark"] .topbar{background:rgba(14,32,43,.96)}html[data-theme="dark"] .brand,html[data-theme="dark"] .sidebar .nav-link{color:#e7f2f4}html[data-theme="dark"] .nav-link.active{background:#23505f}
html[data-theme="dark"] .btn-ghost,html[data-theme="dark"] .select-language,html[data-theme="dark"] .level-option,html[data-theme="dark"] .choice,html[data-theme="dark"] .btn-light,html[data-theme="dark"] .filter-buttons .btn{background:#213d4a;color:#e9f2f2;border-color:#42606a}
html[data-theme="dark"] .btn-primary{background:#2d817c;color:white}html[data-theme="dark"] p,html[data-theme="dark"] .section-head p,html[data-theme="dark"] .atlas-intro p{color:#b3c3ca}
html[data-theme="dark"] .dash-tile strong,html[data-theme="dark"] .stat-detail strong,html[data-theme="dark"] .pack-footer>b,html[data-theme="dark"] .section-head h1,html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3{color:#ecf3f2}
html[data-theme="dark"] .hero-copy h1,html[data-theme="dark"] .home-hero h1,html[data-theme="dark"] .home-hero h2,html[data-theme="dark"] .wallet-banner h2,html[data-theme="dark"] .marketing-hero h1,html[data-theme="dark"] .marketing-hero h2{color:white}
html[data-theme="dark"] .lesson-row,html[data-theme="dark"] .lesson-row.is-locked,html[data-theme="dark"] .settings-card,html[data-theme="dark"] .stage-block,html[data-theme="dark"] .exam-card,html[data-theme="dark"] .question-card,html[data-theme="dark"] .language-card,html[data-theme="dark"] .path-card,html[data-theme="dark"] .gated-content,html[data-theme="dark"] .empty-hub,html[data-theme="dark"] .price-card,html[data-theme="dark"] .public-prices article,html[data-theme="dark"] .dictionary-controls,html[data-theme="dark"] .dictionary-table-wrap,html[data-theme="dark"] .explore-toolbar,html[data-theme="dark"] .entry-card,html[data-theme="dark"] .stat-language{background:#162b38;color:#e9f2f2;border-color:#31505c}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0f2533;color:#e9f2f2;border-color:#41616b}html[data-theme="dark"] .progress{background:#38515c}html[data-theme="dark"] .demo-limit{background:#473c2b;color:#f6deaa;border-color:#907340}html[data-theme="dark"] .atlas-intro,html[data-theme="dark"] .explorer-coming,html[data-theme="dark"] .note{background:#1a3741;border-color:#31505c}html[data-theme="dark"] .dictionary-table tbody tr:hover{background:#214652}html[data-theme="dark"] .dictionary-table td{border-color:#2d4c59}html[data-theme="dark"] .dictionary-table td:first-child b,html[data-theme="dark"] .atlas-intro h2{color:#e9f2f2}
html[data-theme="dark"] .site-footer{color:#b5c7ce}html[data-theme="dark"] .pack-art{color:#fff}html[data-theme="dark"] .badge.muted{background:#294552;color:#c7d6db}html[data-theme="dark"] .lesson-main,html[data-theme="dark"] .lesson-aside .aside-card{background:#162b38;border-color:#31505c}
@media(max-width:1100px){.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.pack-grid,.stats-lang-grid,.achievement-grid{grid-template-columns:1fr}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.placement-finn{padding:18px;gap:10px}.placement-finn img{width:74px;height:96px}.pack-art{height:150px}.pack-reveal .collect-card{width:105px}.top-actions{gap:6px}}
@media(max-width:430px){.coin-pill{padding:5px 7px}.top-actions .xpstat{display:none}.placement-finn{flex-direction:column;text-align:center}.wallet-banner{padding:17px}.collection-grid{gap:8px}.collection-slot{padding:5px}.collect-card{padding:6px}.collect-card strong{font-size:12px}.card-inventory-bottom .btn{font-size:9px}.theme-top{width:34px;height:34px}.dash-tile{padding:12px}}
/* LinguStar 5.1 – novice-friendly lesson scaffolding */
.beginner-scaffold{border:1px solid rgba(45,125,121,.25);border-radius:1.15rem;background:rgba(45,125,121,.065);padding:1.15rem 1.25rem;margin:0 0 1.25rem;line-height:1.65}
.beginner-scaffold h3{font-family:inherit;font-size:1.04rem;margin:.4rem 0}
.beginner-scaffold p{margin:.3rem 0 .7rem;line-height:1.7}
.beginner-scaffold .prereq{font-size:.92rem;color:var(--muted,#66717d)}
.beginner-scaffold .prereq a{font-weight:750;color:var(--teal,#2d7d79)}
.microsteps{padding-left:1.35rem;margin:.8rem 0 .2rem;display:grid;gap:.45rem}
.microsteps li{padding-left:.2rem}
.phonetic-help{display:block;font-size:.79rem;color:var(--muted,#66717d);font-weight:500;margin:.1rem 0}
.input-assist{font-size:.8rem;color:var(--muted,#66717d);margin:.25rem 0 .7rem}
html[data-theme="dark"] .beginner-scaffold,body.dark .beginner-scaffold{background:rgba(45,125,121,.12);border-color:rgba(149,210,202,.24)}

.script-starter-notice{border-left:3px solid var(--teal,#2d7d79);padding:.75rem 1rem;margin-bottom:1rem;background:rgba(45,125,121,.07);border-radius:.3rem;font-size:.9rem}


/* --- LinguStar 5.2 · Northern Compass dashboard ------------------------- */
.home-v52{--hd-navy:#173a4b;--hd-ink:#1b3847;--hd-soft:#70858a;--hd-gold:#d7a84b;--hd-aqua:#58b0a9;--hd-panel:#fffdf9;--hd-shadow:0 16px 48px rgba(20,47,67,.09)}
.home-v52 .home-hero{min-height:318px;background:radial-gradient(ellipse at 79% 70%,rgba(53,151,141,.25),transparent 45%),linear-gradient(116deg,#102b3d,#1a4e5c 78%,#225963);border:1px solid rgba(236,216,166,.13);box-shadow:0 21px 48px rgba(20,47,67,.18);margin-bottom:25px}
.home-v52 .hero-copy{max-width:560px}.home-v52 .hero-copy h1{max-width:550px}.home-v52 .hero-north{animation:nordStar 8s ease-in-out infinite alternate}
@keyframes nordStar{from{opacity:.6;transform:rotate(-20deg)}to{opacity:1;transform:rotate(20deg)}}
.home-v52 .hub-stats{position:relative;margin:24px 0 36px;isolation:isolate}.home-v52 .hub-stats:before{content:'';position:absolute;z-index:-1;inset:45px -20px -18px;border-radius:28px;background:radial-gradient(ellipse at 2% 0%,rgba(215,168,75,.085),transparent 60%),radial-gradient(ellipse at 100% 65%,rgba(45,125,121,.07),transparent 56%);pointer-events:none}
.hub-stats-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 18px}
.hub-overline{font-size:10px;line-height:1.3;letter-spacing:.2em;text-transform:uppercase;font-weight:900;color:#37817b}
.hub-stats-heading h2{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(25px,2.7vw,34px);font-weight:400;color:var(--navy);margin:7px 0 4px}
.hub-stats-heading p{margin:0;color:var(--muted);font-size:12px}
.hub-stats-link{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:800;color:var(--teal);padding:9px 13px;white-space:nowrap;border:1px solid rgba(45,125,121,.23);border-radius:100px;background:var(--surface);box-shadow:0 6px 18px rgba(20,47,67,.035);transition:transform .2s,border-color .2s}
.hub-stats-link svg{width:15px;height:15px}.hub-stats-link:hover{transform:translateX(2px);border-color:var(--teal)}
.hub-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.hub-metric{min-width:0;min-height:172px;border-radius:19px;padding:20px;position:relative;overflow:hidden;background:var(--surface);color:var(--ink);border:1px solid rgba(20,47,67,.1);box-shadow:var(--hd-shadow);display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s}
.hub-metric:hover{transform:translateY(-3px);box-shadow:0 22px 40px rgba(20,47,67,.13)}
.hub-metric:before{content:'';height:3px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,#65a9a4,#e0b75b)}
.hub-metric-xp{display:flex;flex-direction:row;align-items:center;gap:5px;background:radial-gradient(circle at 95% 3%,#dcefe8 0%,transparent 53%),var(--surface)}
.hub-metric-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.hub-metric-icon{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#e6f2ef;color:#2c827b;flex:none}.hub-metric-icon svg{width:16px;height:16px}.hub-metric-label{font-size:11px;color:#647781;font-weight:750}.hub-metric-copy strong{font-size:clamp(21px,2.2vw,31px);line-height:1.23;color:#17394b;letter-spacing:-.055em}.hub-metric-hint{font-size:10px;color:#789093;line-height:1.4}.hub-metric-top{display:flex;align-items:center;gap:8px}.hub-ring{width:91px;height:91px;flex:none;transform:rotate(-90deg);overflow:visible}.hub-ring circle{fill:none;stroke-width:9}.hub-ring-bg{stroke:#dceae7}.hub-ring-fill{stroke:#32918a;stroke-linecap:round;transition:stroke-dasharray .35s}.hub-ring text{transform:rotate(90deg);transform-origin:53px 53px;text-anchor:middle;fill:#153e4d}.hub-ring-number{font-size:18px;font-family:system-ui;font-weight:850}.hub-ring-sub{font-size:9px;font-weight:800;fill:#5e8182!important}
.hub-level-number{font-family:'DM Serif Display',Georgia,serif;font-size:49px;color:#1c3e50;line-height:1;margin:6px 0 9px}.hub-level-number span{color:#d9b567;font:20px system-ui;vertical-align:top;margin-left:4px}
.hub-level-progress{height:7px;background:#dcebe6;border-radius:100px;overflow:hidden;margin-bottom:7px}.hub-level-progress i{display:block;height:100%;background:linear-gradient(90deg,#338b83,#e0b75f);border-radius:100px;transition:width .25s}
.hub-streak-number{font-family:'DM Serif Display',Georgia,serif;font-size:41px;color:#1c3e50;line-height:1.1;margin:3px 0 7px}.hub-streak-number span{font-size:23px;margin-left:6px;vertical-align:middle}
.hub-week-pips{display:flex;gap:5px;justify-content:space-between;margin:0 0 8px}.hub-day{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.hub-day>span{font-size:8px;color:#839294;font-weight:800}.hub-day>i{width:15px;height:15px;display:block;border-radius:5px;background:#e7e8e1;border:1px solid #dfdfd3}.hub-day.is-active>i{background:linear-gradient(140deg,#3e988d,#80c4aa);border-color:#64ad9f;box-shadow:0 0 0 2px rgba(59,148,136,.11)}.hub-day.is-today>i{outline:2px solid #d9b05b;outline-offset:2px}
.hub-metric-coins{background:radial-gradient(circle at 93% 18%,rgba(239,199,111,.27),transparent 46%),linear-gradient(155deg,#fffaf0,#fffdf8 65%);border-color:#eddfbb}.hub-metric-coins:before{background:linear-gradient(90deg,#d5a84b,#f6da93)}.hub-metric-coins .hub-metric-icon{background:#f4e6bd;color:#a67a28}.hub-coin-count{display:flex;align-items:center;gap:12px;margin:12px 0 5px}.hub-coin-count strong{font:700 40px 'DM Serif Display',Georgia,serif;color:#785822}.hub-coin-art{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;font-size:26px;color:#835816;background:radial-gradient(circle at 30% 20%,#fff0ad,#dca947 68%,#b9822c);border:3px solid #f1d48c;outline:1px solid #b48735;box-shadow:inset 0 -4px 0 #a8782a44,0 8px 15px #ab792528}.hub-coin-scatter{position:absolute;right:17px;bottom:41px;color:#d7a84b;display:flex;gap:10px;transform:rotate(-15deg);opacity:.75}.hub-coin-scatter i:nth-child(2){font-size:24px;margin-top:-30px}
.hub-insights-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;margin-top:14px}
.hub-panel{padding:22px 24px 16px;background:var(--surface);border:1px solid rgba(20,47,67,.11);border-radius:19px;box-shadow:var(--hd-shadow);min-width:0;position:relative;overflow:hidden}
.hub-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:13px}.hub-panel-head h3{font:400 23px 'DM Serif Display',Georgia,serif;color:#193a49;margin:5px 0 4px}.hub-panel-head p{font-size:11px;margin:0;color:#809096}.hub-week-counter{text-align:right;padding:6px 11px;border-radius:12px;background:#edf6f2;color:#276c68;display:flex;flex-direction:column}.hub-week-counter strong{font-size:17px;line-height:1.2}.hub-week-counter span{font-size:9px}
.hub-bars{height:112px;display:flex;gap:14px;align-items:stretch;margin-top:14px;padding:0 4px}.hub-bar-wrap{height:100%;display:flex;flex-direction:column;flex:1;align-items:center;gap:7px}.hub-bar-track{height:100%;width:min(33px,100%);border-radius:8px 8px 5px 5px;display:flex;align-items:end;overflow:hidden;background:linear-gradient(to top,rgba(45,125,121,.045),transparent);border-bottom:1px solid rgba(40,108,108,.1)}.hub-bar{display:block;width:100%;border-radius:8px 8px 4px 4px;transition:height .3s}.hub-bar.has-activity{background:linear-gradient(0deg,#377d79,#7fbeb0);box-shadow:0 4px 10px rgba(43,130,121,.18)}.hub-bar.no-activity{background:#e4e9e5}.hub-bar.is-today{background:linear-gradient(0deg,#c99d44,#f0d38c)}.hub-bar-wrap>span{font-size:10px;color:#748b8e;font-weight:800}
.hub-activity-legend{border-top:1px solid rgba(20,47,67,.08);display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#799096;margin-top:25px;padding-top:11px}.hub-activity-legend span:first-child{display:flex;align-items:center;gap:7px}.hub-activity-legend i{width:8px;height:8px;background:#34887e;border-radius:3px}
.hub-progress-panel{background:radial-gradient(circle at 105% 0%,rgba(215,168,75,.13),transparent 53%),var(--surface)}.hub-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:22px 0 0}.hub-mini-stats>div{padding:10px 6px;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;background:#f6f6f0;border:1px solid rgba(20,47,67,.05);border-radius:12px}.hub-mini-stats>div>span{color:#39867f}.hub-mini-stats svg{height:18px;width:18px}.hub-mini-stats strong{font-size:20px;color:#214757;line-height:1.2}.hub-mini-stats small{font-size:9px;color:#71878e;line-height:1.4}.hub-record-note{font-size:10px;color:#809499;margin:10px 0}.hub-quest-link{border-top:1px solid rgba(20,47,67,.08);padding:11px 0 0;display:flex;align-items:center;justify-content:space-between;color:#2d7d79;font-size:12px;font-weight:800}.hub-quest-link svg{height:17px;width:17px}
.home-v52 .hub-courses-heading{margin:42px 0 17px}.home-v52 .hub-courses-heading h2{font-size:32px}.home-v52 .home-language-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-v52 .hub-course{border-radius:20px;background:var(--surface);box-shadow:0 10px 30px #173c4a12}.home-v52 .hub-course .lang-art{height:124px}.home-v52 .hub-course-country{position:absolute;top:17px;left:19px;font:900 25px system-ui;color:#1e3c47;letter-spacing:-.07em}.home-v52 .hub-course-mark{position:absolute;right:8%;top:-25px;font:400 135px 'DM Serif Display',Georgia,serif;opacity:.24;color:#1c5261}.home-v52 .hub-course-glow{position:absolute;inset:auto -30px -75px 20%;height:150px;filter:blur(40px);background:rgba(255,255,255,.34);pointer-events:none}.home-v52 .hub-course .lang-card-body{padding:19px 20px 20px}.home-v52 .hub-course .lang-card-body h3{font-size:25px;margin:9px 0 5px}.home-v52 .hub-course .lang-card-body p{font-size:11px;min-height:35px;line-height:1.6}.hub-course-badge{border-radius:30px;background:#e5f2e9;color:#38816b;font-weight:800;font-size:9px;padding:4px 9px;max-width:52%;text-align:right}.hub-course-tracks{margin-top:20px}.hub-course-track-head{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#647b83;margin:11px 0 5px}.hub-course-track-head b{color:#3a7776}.hub-course .progress{height:7px;background:#e7e9e4;border-radius:50px}.hub-course .progress i{background:linear-gradient(90deg,#3d8e86,#81c3ad)}.hub-course-foot{display:flex;justify-content:space-between;gap:5px;margin:16px 0 11px;color:#71868b;font-size:9px}.hub-course-action{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#2d7d79;color:white;padding:11px 14px;font-weight:800;font-size:11px;border-radius:10px;transition:background .16s}.hub-course-action:hover{background:#1f625f}.hub-course-action svg{height:15px;width:15px}
@media(max-width:1250px){.hub-metric{padding:16px}.hub-ring{width:74px;height:74px}.hub-week-pips{gap:3px}.hub-day>i{width:12px;height:12px}.hub-metric-label{font-size:10px}.hub-metric-hint{font-size:9px}}
@media(max-width:1120px){.hub-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-insights-grid{grid-template-columns:1fr}.home-v52 .home-language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-ring{width:94px;height:94px}}
@media(max-width:700px){.home-v52 .home-hero{min-height:300px}.home-v52 .hub-stats{margin:22px 0}.hub-stats-heading{align-items:flex-start}.hub-stats-heading h2{font-size:27px}.hub-stats-heading p{font-size:11px}.hub-stats-link{font-size:10px;max-width:125px;white-space:normal}.hub-metric{min-height:160px}.hub-insights-grid{gap:10px}.hub-panel{padding:17px}.home-v52 .home-language-grid{grid-template-columns:1fr}.home-v52 .hub-courses-heading{margin-top:30px}.hub-mini-stats small{font-size:9px}}
@media(max-width:440px){.hub-metric-grid{gap:9px}.hub-metric{padding:13px;min-height:158px}.hub-ring{width:70px;height:70px}.hub-metric-copy strong{font-size:23px}.hub-coin-count strong{font-size:30px}.hub-coin-art{width:36px;height:36px;font-size:22px}.hub-week-pips{gap:2px}.hub-day>i{width:10px;height:10px;border-radius:3px}.hub-day>span{font-size:7px}.hub-stats-heading{flex-direction:column;gap:8px}.hub-stats-link{max-width:none}.hub-mini-stats{gap:4px}.hub-mini-stats>div{padding:9px 4px}.hub-mini-stats strong{font-size:18px}}
html[data-theme="dark"] .home-v52 .hub-metric,html[data-theme="dark"] .home-v52 .hub-panel{background:#172e3b;color:#e8f1f0;border-color:#32515b;box-shadow:0 12px 32px #06121d47}
html[data-theme="dark"] .home-v52 .hub-metric-xp{background:radial-gradient(circle at 95% 3%,#1e4b49,transparent 53%),#172e3b}
html[data-theme="dark"] .home-v52 .hub-metric-coins,html[data-theme="dark"] .home-v52 .hub-progress-panel{background:radial-gradient(circle at 100% 0%,#57462688,transparent 50%),#172e3b}
html[data-theme="dark"] .home-v52 .hub-stats-heading h2,html[data-theme="dark"] .home-v52 .hub-panel-head h3,html[data-theme="dark"] .home-v52 .hub-level-number,html[data-theme="dark"] .home-v52 .hub-streak-number,html[data-theme="dark"] .home-v52 .hub-metric-copy strong,html[data-theme="dark"] .home-v52 .hub-coin-count strong{color:#f1f4f0}
html[data-theme="dark"] .home-v52 .hub-ring-number{fill:#e8f4f1}html[data-theme="dark"] .home-v52 .hub-ring-bg{stroke:#39545a}html[data-theme="dark"] .home-v52 .hub-ring-sub{fill:#b6dad2!important}html[data-theme="dark"] .home-v52 .hub-level-progress{background:#38565a}html[data-theme="dark"] .home-v52 .hub-day>i,html[data-theme="dark"] .home-v52 .hub-bar.no-activity{background:#3a5057;border-color:#3e5b61}html[data-theme="dark"] .home-v52 .hub-week-counter{background:#1f4b4b;color:#bbf0df}html[data-theme="dark"] .home-v52 .hub-mini-stats>div{background:#203d48;border-color:#32515b}html[data-theme="dark"] .home-v52 .hub-mini-stats strong{color:#dff2ee}html[data-theme="dark"] .home-v52 .hub-course-country{color:#1e3c47}html[data-theme="dark"] .home-v52 .hub-course-mark{color:#164656}html[data-theme="dark"] .home-v52 .hub-course-foot,html[data-theme="dark"] .home-v52 .hub-course-track-head{color:#b3c6c7}html[data-theme="dark"] .home-v52 .hub-course-track-head b{color:#9ed7c7}html[data-theme="dark"] .home-v52 .hub-course-badge{background:#234e47;color:#b9edca}
@media(prefers-reduced-motion:reduce){.home-v52 .hero-north{animation:none}}

/* 5.2 polish: keep the tiny Viking within the mobile viewport */
@media(max-width:700px){.home-v52 .hero-finn{right:24px}.home-v52 .hub-course-glow{right:0}}
/* Restored contrast for HaithaBuch promotion in dark mode */
html[data-theme="dark"] .home-v52 .promo{background:linear-gradient(115deg,#243e45,#364942);border-color:#706944}
html[data-theme="dark"] .home-v52 .promo h3{color:#f9edca}
html[data-theme="dark"] .home-v52 .promo p{color:#dbe2d7}
html[data-theme="dark"] .home-v52 .promo small{color:#a9c1b8}
html[data-theme="dark"] .home-v52 .promo .eyebrow{color:#e4c577}
/* Prevent tiny intrinsic mobile overhangs without turning off vertical scrolling. */
@media(max-width:700px){html,body{overflow-x:clip}}

/* LinguStar 5.3 — Pixel-creature artwork and accessible card lore */
.collection-slot{position:relative;isolation:isolate;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.collection-slot:hover,.collection-slot.lore-open,.collection-slot:focus-within{z-index:30;border-color:rgba(45,125,121,.35);box-shadow:0 12px 30px rgba(7,30,43,.15)}
.collect-card{padding:5px;aspect-ratio:3/4;box-shadow:inset 0 0 0 1px #ffffff77}
.creature-frame{height:100%;min-height:0;overflow:visible}
.creature-frame img{width:100%;height:100%;max-height:none;object-fit:contain;image-rendering:pixelated}
.card-lore-toggle{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin:9px 0 0;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:800;cursor:pointer;transition:background .2s,border-color .2s}
.card-lore-toggle:hover,.card-lore-toggle:focus-visible{border-color:var(--teal);background:rgba(45,125,121,.1);outline-offset:2px}
.lore-toggle-caption{font-size:11px;font-weight:700}
.card-lore-popover{position:absolute;left:0;bottom:calc(100% + 8px);width:min(292px,calc(100vw - 30px));max-width:292px;z-index:35;padding:17px 18px;background:#132d3d;color:#f3f5ed;border:1px solid #62b5ae;border-radius:14px;box-shadow:0 18px 38px #07172166;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .15s ease,transform .15s ease,visibility .15s;pointer-events:none;text-align:left}
.card-lore-popover::after{content:'';position:absolute;bottom:-7px;left:28px;width:12px;height:12px;border-right:1px solid #62b5ae;border-bottom:1px solid #62b5ae;background:#132d3d;transform:rotate(45deg)}
.card-lore-eyebrow{color:#d8bb73;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:900}
.card-lore-popover h3{color:#fff!important;font:700 20px Georgia,serif;margin:6px 0 9px}
.card-lore-popover p,html[data-theme="dark"] .card-lore-popover p{color:#d7e7e8;font-size:13px;line-height:1.55;margin:0}
.collection-slot.lore-open .card-lore-popover,.card-lore-toggle:focus-visible + .card-lore-popover{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
@media(hover:hover){.collection-slot:hover .card-lore-popover{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}}
@media(min-width:1101px){.collection-slot:nth-child(4n) .card-lore-popover{left:auto;right:0}.collection-slot:nth-child(4n) .card-lore-popover::after{left:auto;right:28px}}
@media(min-width:781px) and (max-width:1100px){.collection-slot:nth-child(3n) .card-lore-popover{left:auto;right:0}.collection-slot:nth-child(3n) .card-lore-popover::after{left:auto;right:28px}}
@media(max-width:780px){.collection-slot:nth-child(2n) .card-lore-popover{left:auto;right:0}.collection-slot:nth-child(2n) .card-lore-popover::after{left:auto;right:28px}}
@media(max-width:430px){.card-lore-toggle{margin-top:6px;padding:7px 4px;font-size:14px}.lore-toggle-caption{font-size:10px}.card-lore-popover{width:min(272px,calc(100vw - 22px));padding:13px}}
@media(prefers-reduced-motion:reduce){.collection-slot,.card-lore-popover,.card-lore-toggle{transition:none}}
/* Lore panels sit next to the card on desktop, below it on narrow touch screens. */
@media(min-width:781px){
 .card-lore-popover{left:calc(100% + 10px);top:10px;bottom:auto}
 .card-lore-popover::after{left:-7px;top:24px;bottom:auto;transform:rotate(135deg)}
}
@media(min-width:1101px){
 .collection-slot:nth-child(4n) .card-lore-popover{left:auto;right:calc(100% + 10px)}
 .collection-slot:nth-child(4n) .card-lore-popover::after{left:auto;right:-7px;transform:rotate(-45deg)}
}
@media(min-width:781px) and (max-width:1100px){
 .collection-slot:nth-child(3n) .card-lore-popover{left:auto;right:calc(100% + 10px)}
 .collection-slot:nth-child(3n) .card-lore-popover::after{left:auto;right:-7px;transform:rotate(-45deg)}
}
@media(max-width:780px){
 .card-lore-popover{left:0;right:auto;top:calc(100% + 8px);bottom:auto}
 .card-lore-popover::after{left:24px;top:-7px;bottom:auto;transform:rotate(225deg)}
 .collection-slot:nth-child(2n) .card-lore-popover{left:auto;right:0}
 .collection-slot:nth-child(2n) .card-lore-popover::after{left:auto;right:24px}
}

/* LinguStar brand wordmark: preserve exact capitalization. */
.brand>span:last-child{font-variant-ligatures:normal;letter-spacing:.045em}.brand>span:last-child small{letter-spacing:.12em}

/* Preserve the product wordmark as LinguStar rather than CSS uppercasing it. */
.marketing-copy .eyebrow,.center-heading .eyebrow,.promo .eyebrow,.price-card .eyebrow,.section-head .eyebrow{ text-transform:none; }

/* LinguStar 6.1 — authentication (All-inkl static + Supabase Auth) */
.auth-shade{z-index:300;overflow-y:auto;align-items:center}.auth-panel{position:relative;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 90px #0007;padding:30px;width:min(470px,100%);max-height:calc(100vh - 36px);overflow:auto;text-align:left}.auth-logo{font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);display:flex;gap:9px;align-items:center}.auth-logo>span{color:var(--ink)}.auth-panel h2{font:700 clamp(26px,4vw,35px) Georgia,serif;margin:16px 0 8px}.auth-intro{font-size:13px;color:var(--muted);margin:0 0 20px}.auth-fields{display:grid;gap:14px}.auth-fields label{font-size:12px;font-weight:800;color:var(--ink);display:grid;gap:7px}.auth-fields input{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:12px;font:inherit;font-size:15px}.auth-fields input:focus-visible{outline:3px solid #2d7d7966;outline-offset:2px}.auth-fields small{font-size:11px;color:var(--muted)}.auth-submit{width:100%;justify-content:center;min-height:45px}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-switch{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0}.auth-switch .btn{white-space:normal;text-align:center}.auth-error{background:#fff0eb;color:#9c3d36;border:1px solid #dba59d;border-radius:10px;padding:12px;font-size:13px}.auth-ok{background:#e7f5ec;color:#246948;border:1px solid #9dceb2;border-radius:10px;padding:12px;font-size:13px}.auth-local-warning,.auth-warning{border-top:1px solid var(--line);padding-top:14px;margin-top:15px;font-size:12px;color:var(--muted);line-height:1.55}.auth-warning{color:#b36524}.auth-linked{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:12px 0}.auth-linked small{display:block;flex-basis:100%;overflow-wrap:anywhere;color:var(--muted)}.auth-success-icon{background:#d7f1e3;color:#1d784d;border-radius:50%;padding:3px 7px}html[data-theme="dark"] .auth-error{background:#472b2a;color:#ffd0c8}html[data-theme="dark"] .auth-ok{background:#193b31;color:#c1f1d5}@media(max-width:650px){.auth-panel{padding:25px 18px}.marketing-actions{flex-wrap:wrap;gap:6px}.marketing-buttons{flex-wrap:wrap}}

/* LinguStar 6.2 – Status und Cloud-Konfliktansicht */
.cloud-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.36rem .65rem;border:1px solid rgba(45,125,121,.35);border-radius:100px;font-size:.72rem;font-weight:700;color:#21746f;background:rgba(45,125,121,.08);white-space:nowrap}.cloud-badge.saving,.cloud-badge.loading{color:#a58130;border-color:rgba(215,168,75,.4)}.cloud-badge.offline,.cloud-badge.error,.cloud-badge.conflict,.cloud-badge.localOnly{color:#ad4b36;border-color:rgba(180,80,50,.4)}.cloud-gate{max-width:690px;margin:3rem auto;text-align:center;padding:clamp(1.5rem,5vw,3.5rem);background:var(--surface);border:1px solid var(--line);border-radius:1.3rem;box-shadow:var(--shadow-sm)}.cloud-gate-mark{font-size:3rem;color:var(--teal)}.cloud-gate h1{font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,2.4rem);margin:1rem 0}.cloud-gate p{line-height:1.7;color:var(--muted)}.cloud-gate-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.7rem;margin:1.5rem 0}.cloud-error-detail{overflow-wrap:anywhere;display:block;margin:1rem 0;font-family:monospace}[data-theme="dark"] .cloud-badge{color:#92e1d4}[data-theme="dark"] .cloud-badge.offline,[data-theme="dark"] .cloud-badge.error,[data-theme="dark"] .cloud-badge.conflict{color:#f1a68a}@media(max-width:800px){.top-actions .cloud-badge{font-size:.64rem;max-width:95px;white-space:normal}.cloud-gate{margin:1rem auto}.cloud-gate-actions>.btn{width:100%}}

/* LinguStar 6.5 billing test state */
.billing-banner{margin:18px 0;padding:20px;border:1px solid var(--border,#cbd9db);border-radius:14px;background:var(--card,#fff)}
.billing-banner p{margin:9px 0}
.billing-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.price-card .btn{margin-top:14px;min-width:100%}

/* LinguStar 6.7 – premium extras. Style changes are cosmetic; authorization lives on server. */
.profile-frame{position:relative;isolation:isolate;border:3px solid transparent;box-shadow:0 2px 9px #0002}
.frame-classic{border-color:#789a9e}
.frame-aurora{border-color:#60d4b1;background:linear-gradient(135deg,#21487e,#5d4ca2 60%,#1d9d85);box-shadow:0 0 0 2px #a4e8cd,0 0 19px #61d7b488}
.frame-constellation{border-color:#b9a6e6;background:radial-gradient(circle at 20% 20%,#ebd48e 0 2px,transparent 3px),radial-gradient(circle at 70% 70%,#c9dcff 0 2px,transparent 3px),#233e77;box-shadow:0 0 0 2px #cec4f6,0 0 18px #8f91e155}
.frame-gold{border-color:#e7bd54;background:linear-gradient(130deg,#70480e,#d29d39,#71480e);box-shadow:0 0 0 2px #ffe4a1,0 0 18px #d3a84f99}
.profile-frame-preview{display:flex;align-items:center;gap:16px;margin:15px 0;font-weight:800}
.profile-frame-preview .avatar{width:61px;height:61px;font-size:24px}
.profile-frame-options{display:flex;gap:8px;flex-wrap:wrap}
.profile-frame-options .btn{white-space:normal}
.premium-review-option{border:1px solid #cfb678;background:linear-gradient(145deg,#fff9e7,#fffcf4);padding:20px;margin:24px 0 0;border-radius:16px;text-align:left}
.premium-review-option h3{margin:7px 0}.premium-review-option p{margin:6px 0 16px}
.premium-review-option.premium-locked{border-color:var(--line);background:var(--surface)}
.btn-premium{background:#7a5421;color:white;border-color:#a67a31}.btn-premium:hover:not(:disabled){background:#634119}
[data-theme=dark] .premium-review-option{background:#263a41;color:#f8e9c8}
