:root{color-scheme:dark;--bg:#080f20;--panel:#111c32;--line:#25334d;--text:#edf3ff;--muted:#a2b2ce;--blue:#548aff;--mint:#73dec7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Tahoma,Arial,sans-serif;font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:12px;background:#182641;color:var(--text);padding:10px 18px;min-height:46px}button:hover,a.card:hover{border-color:var(--blue);background:#1a2b4a}button:disabled{opacity:.55;cursor:default}button.primary,.primary{background:var(--blue);color:#07112a;border:0;font-weight:bold;padding:12px 24px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px}button.primary:hover,.primary:hover{background:#80a7ff}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--mint);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4vw,46px);line-height:1.6;margin-bottom:12px}h2{font-size:24px}h3{font-size:18px}.muted,.eyebrow,small{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:.5px}.sidebar{position:fixed;right:0;top:0;bottom:0;width:240px;padding:34px 24px;background:#0c1528;border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:bold;margin-bottom:24px}.brand small{display:block;font-size:12px;letter-spacing:3px}.logo{display:grid;place-items:center;width:52px;height:56px;border-radius:17px;background:var(--blue);color:#fff;font-size:32px}nav{display:grid;gap:8px;margin-top:20px}nav a{display:flex;align-items:center;gap:16px;padding:11px 16px;border-radius:12px;color:var(--muted);font-size:21px}nav a span{font-size:15px}nav a.active{background:#1b3159;color:#95b6ff}.side-note{margin-top:auto;padding:20px 4px;color:var(--muted);font-size:12px}.side-note p{margin-top:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);margin-left:5px}.shell{margin-right:240px;padding:0 42px;max-width:1600px}header{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.toggle{display:flex;gap:8px;align-items:center;cursor:pointer}.toggle input{accent-color:var(--blue);width:19px;height:19px}main{padding:32px 0;min-height:80vh}.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#152c57,#142442 60%,#111d35);border:1px solid #2c4264;border-radius:24px;padding:36px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.hero p{max-width:480px;color:#bccbe3}.pill{display:inline-block;padding:3px 12px;border:1px solid #3c537a;border-radius:30px;font-size:11px;color:#a9c6ff;margin-bottom:15px}.art{display:grid;place-content:center;text-align:center;position:relative}.art:before{content:'';position:absolute;inset:0;border:1px solid #35517a;border-radius:50%;transform:rotate(-18deg) scale(.95);pointer-events:none}.art .fa{font-size:62px;color:#c0d4ff;line-height:1.5}.art .pron{color:var(--mint)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.stat{background:var(--panel);border:1px solid var(--line);padding:20px 24px;border-radius:16px}.stat strong{font-size:29px;display:block;line-height:1.5}.stat span{color:var(--muted);font-size:12px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:30px 0 16px;gap:12px}.section-head h2{margin:0}.section-head a{font-size:13px;color:#a6c2ff}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px}.card h3{margin:15px 0 5px}.card p{color:var(--muted);font-size:13px;margin-bottom:20px}.card-top{display:flex;align-items:center;justify-content:space-between}.glyph{width:44px;height:44px;border-radius:12px;background:#1b3155;display:grid;place-items:center;font-size:23px;color:#96b7ff}.number{color:var(--muted);font-size:12px}.track{height:5px;background:#253149;border-radius:10px;overflow:hidden;margin-top:16px}.track span{display:block;height:100%;background:var(--blue)}.badge{font-size:11px;color:var(--mint)}.two-col{display:grid;grid-template-columns:1.8fr 1fr;gap:22px}.note{border:1px solid #30456b;background:#13223d;border-radius:16px;padding:20px;color:#b9c9e5;margin:20px 0;font-size:14px}.phrase{background:#111e35;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:12px;display:flex;gap:16px;justify-content:space-between;align-items:center}.fa{font-family:Tahoma,Arial,sans-serif;font-size:24px;color:#fff;line-height:1.8}.pron{color:#83b4ff;font-size:15px}.meaning{color:#bdcbe1;font-size:14px}.hide-hints .pron{display:none}.phrase button{padding:7px 12px;flex-shrink:0}.phrase .badge{color:#a6b9d7}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.conversation .phrase:nth-child(even){margin-right:24px;background:#182d4c}.conversation .phrase:nth-child(odd){margin-left:24px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}input[type=search],select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}input[type=search]{flex:1;min-width:180px}.exercise{max-width:800px;margin:auto;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:28px}.answers{display:grid;gap:12px;margin:22px 0}.answers button{text-align:right}.answers button.correct{border-color:var(--mint);background:#163b38}.answers button.wrong{border-color:#f4a3af;background:#492738}.feedback{padding:16px;border-radius:12px;background:#1c2d49;margin:18px 0}.tokens{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.tokens button{flex:1;min-width:105px}.tokens .fa{font-size:20px}.tokens .meaning,.tokens .pron{font-size:12px}.slot{min-height:110px;border:1px dashed #56739c;border-radius:14px;padding:12px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.back{color:#adc7ff;display:inline-block;margin-bottom:18px}.empty{text-align:center;padding:30px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:20px 0 30px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:24px;left:24px;right:auto;max-width:90%;background:#244368;padding:12px 22px;border-radius:12px;z-index:8}#toast:empty{display:none}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:20;background:#000;padding:15px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(min-width:1500px){.shell{margin-left:auto}}@media(max-width:1100px){.sidebar{width:200px;padding:28px 18px}.shell{margin-right:200px;padding:0 24px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1.5fr 1fr;padding:24px}.two-col{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{top:auto;bottom:0;left:0;right:0;width:auto;height:auto;padding:0 6px calc(5px + env(safe-area-inset-bottom));border-left:0;border-top:1px solid var(--line);background:#0d182beb}.sidebar .brand,.sidebar .eyebrow,.side-note{display:none}nav{display:flex;justify-content:space-around;margin:0;gap:0}nav a{flex:1;flex-direction:column;gap:0;padding:5px 2px;border-radius:8px}nav a span{font-size:10px}.shell{margin:0;padding:0 18px}header{min-height:74px;font-size:11px}main{padding-top:22px}.hero{grid-template-columns:1fr;padding:24px}.art{display:none}.hero h1{font-size:31px}.stats{gap:8px}.stat{padding:12px;text-align:center}.stat strong{font-size:24px}.stat span{font-size:10px}.grid{gap:12px}.card{padding:16px}.card h3{font-size:16px}.card p{font-size:12px}.section-head h2{font-size:21px}.exercise{padding:20px}.fa{font-size:22px}.phrase{padding:14px;gap:8px}footer{padding-bottom:110px}.toolbar select{width:100%}#toast{bottom:100px;left:18px}.tokens button{min-width:85px;padding:8px}.hero .primary{width:100%}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,border-color .15s}}

/* Learning path safeguards and colloquial phrase cards */
.card.locked{opacity:.55;cursor:not-allowed;border-style:dashed;}
.card.locked:hover{transform:none;box-shadow:none;}
.shortcut{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.shortcut .fa{font-size:1.36rem;line-height:1.65;}
.shortcut .pron{color:#6ec9eb;font-size:.98rem;}
.shortcut .meaning{margin-bottom:3px;}
@media (prefers-reduced-motion:reduce){.card{transition:none!important}}
