:root{--bg-0:#0d1412;--bg-1:#111b17;--bg-2:#16241e;--bg-3:#1d2e26;--bg-hi:#274035;--line:#c4d6c72e;--line-soft:#c4d6c717;--fg-0:#f0f1e9;--fg-1:#bbc6bb;--fg-2:#839187;--fg-3:#58665d;--accent:#70c487;--accent-dim:#3a7f51;--accent-soft:#70c48724;--cream:#e8e0c9;--cream-ink:#1d2821;--brick:#c87866;--brick-soft:#c8786624;--ok:#70c487;--warn:#d0aa62;--font-ui:"Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html{background:var(--bg-0)}body{min-width:320px;min-height:100vh;color:var(--fg-0);background-color:var(--bg-0);font-family:var(--font-ui);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;background-image:radial-gradient(#e8e0c909 .65px,#0000 .85px),radial-gradient(#70c48706 .6px,#0000 .8px);background-position:0 0,7px 11px;background-size:13px 13px,17px 17px;margin:0;font-size:13px}button,input,select{font:inherit}button{color:inherit}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}p{line-height:1.52}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:8px;font-size:clamp(26px,3vw,40px);line-height:1.04}h2{letter-spacing:-.025em;font-size:17px}h3{font-size:14px}.mono,.kbd,.exercise-type,.exercise-skill,.source-note,.path-number,.eyebrow,.panel-kicker,.content-chip,.status-chip,.nav-kbd,.digital-clock,.number-display,.clock-number{font-family:var(--font-mono)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--fg-2)}.brick-text{color:var(--brick)!important}.app-shell{grid-template-rows:44px 1fr;min-height:100vh;display:grid}.titlebar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#111b17f0;align-items:center;gap:18px;height:44px;padding:0 16px;display:flex;position:sticky;top:0}.brand{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:inline-flex}.brand-mark{width:22px;height:22px;color:var(--cream-ink);background:var(--accent);letter-spacing:-.08em;border-radius:4px;place-items:center;font-size:14px;font-weight:700;display:grid;box-shadow:0 0 0 1px #70c48752,0 0 15px #70c48729}.brand-copy{gap:1px;line-height:1;display:grid}.brand-copy strong{letter-spacing:-.02em;font-size:14px;font-weight:650}.brand-copy small{color:var(--fg-3);font:9px var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.titlebar-center{flex:1;justify-content:center;display:flex}.content-chip,.status-chip{border:1px solid var(--line);min-height:24px;color:var(--fg-2);background:var(--bg-2);letter-spacing:.07em;border-radius:5px;align-items:center;gap:7px;padding:3px 9px;font-size:9px;display:inline-flex}.content-chip{color:var(--cream);background:#e8e0c912;border-color:#e8e0c938}.chip-dot{background:var(--warn);width:5px;height:5px;box-shadow:0 0 7px var(--warn);border-radius:50%}.titlebar-actions{align-items:center;gap:7px;display:flex}.status-chip{letter-spacing:-.01em;text-transform:none;white-space:nowrap;font-size:10px}.status-dot{background:var(--fg-3);border-radius:50%;flex:none;width:6px;height:6px}.status-chip.online{color:var(--accent);border-color:#70c48740}.status-chip.online .status-dot,.status-dot.green{background:var(--accent);box-shadow:0 0 8px #70c487cc}.status-chip.offline .status-dot{background:var(--fg-3)}.top-button,.button,.text-button,.icon-button,.audio-toggle,.cram-button,.choice-button,.speak-button{-webkit-appearance:none;appearance:none;cursor:pointer}.top-button{border:1px solid var(--line);background:var(--bg-2);min-height:26px;color:var(--fg-1);border-radius:5px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;display:inline-flex}.top-button:hover,.button:hover,.audio-toggle:hover,.choice-button:hover,.text-button:hover{color:var(--fg-0);background:var(--bg-3);border-color:#70c4877a}.top-button.primary{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-soft)}.workspace{grid-template-columns:214px minmax(0,1fr);min-height:calc(100vh - 44px);display:grid}.sidebar{border-right:1px solid var(--line);background:#0d1412b8;flex-direction:column;min-height:calc(100vh - 44px);padding:20px 10px 14px;display:flex}.sidebar-label,.panel-kicker,.eyebrow{color:var(--fg-3);letter-spacing:.105em;text-transform:uppercase;font-size:9px;font-weight:600}.sidebar-label{padding:0 10px 9px}.sidebar-nav{gap:2px;display:grid}.nav-item{width:100%;min-height:34px;color:var(--fg-2);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:9px;padding:6px 9px;display:flex}.nav-item:hover{color:var(--fg-0);background:#ffffff09}.nav-item.active{color:var(--accent);background:var(--accent-soft);border-color:#70c48738}.nav-kbd{border:1px solid var(--line);min-width:16px;color:var(--fg-3);text-align:center;border-radius:3px;padding:1px 4px;font-size:9px}.sidebar-bottom{gap:15px;margin-top:auto;padding:12px 8px 0;display:grid}.mini-tip{border:1px solid var(--line-soft);color:var(--fg-2);background:#70c48709;border-radius:6px;gap:8px;padding:9px;display:flex}.mini-tip div{gap:3px;display:grid}.mini-tip strong{color:var(--fg-1);font-size:10px;font-weight:600}.mini-tip span{font:9px var(--font-mono);color:var(--fg-3)}.sidebar-meta{color:var(--fg-3);font:9px var(--font-mono);justify-content:space-between;gap:6px;display:flex}.main-content{min-width:0}.view{width:min(1180px,100%);margin:0 auto;padding:35px clamp(18px,4vw,55px) 56px}.mobile-nav{display:none}.page-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px;display:flex}.page-header h1{margin:5px 0 0}.page-header p{max-width:570px;color:var(--fg-2);margin:10px 0 0;font-size:14px}.page-header-action{flex:none}.button{border:1px solid var(--line);min-height:34px;color:var(--fg-1);background:var(--bg-2);border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:550;text-decoration:none;display:inline-flex}.button.primary{color:var(--cream-ink);border-color:var(--accent);background:var(--accent);box-shadow:0 7px 20px #70c4871f}.button.primary:hover{color:var(--cream-ink);background:#8bdd9e;border-color:#8bdd9e}.button.danger{color:var(--brick);background:var(--brick-soft);border-color:#c878666b}.button:disabled,.choice-button:disabled,.speak-button:disabled{cursor:not-allowed;opacity:.48}.button.wide{width:100%}.kbd{min-height:17px;color:var(--fg-3);opacity:.8;border:1px solid;border-radius:3px;align-items:center;padding:1px 4px;font-size:9px;line-height:1;display:inline-flex}.button.primary .kbd{color:#1d2821b3}.text-button{color:var(--fg-2);background:0 0;border:0;align-items:center;gap:5px;padding:3px 0;font-size:11px;display:inline-flex}.text-button.active,.text-button:hover{color:var(--accent);background:0 0}.icon-button{width:28px;height:28px;color:var(--fg-2);background:0 0;border:1px solid #0000;border-radius:5px;place-items:center;display:inline-grid}.icon-button:hover{color:var(--fg-0);border-color:var(--line);background:var(--bg-3)}.panel{border:1px solid var(--line);background:linear-gradient(145deg,#16241ef0,#0d1412eb);border-radius:7px;box-shadow:0 14px 34px #0000001f}.starter-banner{min-height:35px;color:var(--cream);background:#d0aa6212;border:1px solid #d0aa6247;border-radius:5px;align-items:center;gap:9px;margin-bottom:18px;padding:7px 10px;font-size:11px;display:flex}.starter-banner>span{flex:1}.starter-banner .text-button{color:var(--cream)}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr);gap:12px;display:grid}.focus-panel{padding:18px}.focus-heading{justify-content:space-between;gap:22px;margin:15px 0 22px;display:flex}.focus-heading h2{letter-spacing:-.045em;margin:0 0 6px;font-size:25px}.focus-heading p{max-width:440px;color:var(--fg-2);margin:0}.focus-ring{background:radial-gradient(circle,#70c4871f,#0000 68%);border:1px solid #70c4875c;border-radius:50%;flex:none;align-content:center;place-items:center;width:70px;height:70px;display:grid}.focus-ring strong{color:var(--accent);font:700 20px var(--font-mono)}.focus-ring span{color:var(--fg-3);font:9px var(--font-mono);text-transform:uppercase}.focus-actions{flex-wrap:wrap;gap:7px;display:flex}.cram-row{border-top:1px solid var(--line-soft);align-items:center;gap:6px;margin-top:23px;padding-top:13px;display:flex}.cram-row>.muted{margin-right:auto;font-size:11px}.cram-button{border:1px solid var(--line);color:var(--fg-2);background:var(--bg-1);border-radius:4px;align-items:baseline;gap:4px;padding:5px 7px;display:inline-flex}.cram-button:hover{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-soft)}.cram-button strong{font:600 12px var(--font-mono)}.cram-button span{font:9px var(--font-mono)}.stats-panel{padding:18px}.stat-list{margin-top:14px;display:grid}.stat-row{border-bottom:1px solid var(--line-soft);color:var(--fg-2);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;display:flex}.stat-row strong{color:var(--fg-0);font:600 16px var(--font-mono)}.latest-mock{grid-template-columns:1fr auto;align-items:baseline;gap:5px 12px;padding-top:17px;display:grid}.latest-mock span{color:var(--fg-3);font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.latest-mock strong{color:var(--cream);font:600 20px var(--font-mono)}.latest-mock small{color:var(--fg-3);grid-column:1/-1}.section-heading{justify-content:space-between;align-items:end;gap:12px;margin:31px 0 12px;display:flex}.section-heading h2{margin:5px 0 0}.path-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.path-card{border:1px solid var(--line);min-height:205px;color:var(--fg-0);background:var(--bg-1);text-align:left;cursor:pointer;border-radius:6px;flex-direction:column;padding:13px;transition:transform .14s,border-color .14s,background .14s;display:flex}.path-card:hover{background:var(--bg-2);border-color:#70c4878c;transform:translateY(-2px)}.path-card.accent-cream:hover{border-color:#e8e0c980}.path-card.accent-brick:hover{border-color:#c8786699}.path-number{color:var(--fg-3);font-size:11px}.path-eyebrow{color:var(--accent);font:9px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-top:26px}.accent-cream .path-eyebrow{color:var(--cream)}.accent-brick .path-eyebrow{color:var(--brick)}.accent-gold .path-eyebrow{color:var(--warn)}.path-card strong{letter-spacing:-.025em;margin-top:7px;font-size:14px;line-height:1.15}.path-card p{color:var(--fg-2);margin:7px 0 12px;font-size:11px;line-height:1.42}.path-footer{color:var(--fg-3);font:10px var(--font-mono);align-items:center;gap:5px;margin-top:auto;display:flex}.path-footer svg{margin-left:auto}.mastery-heading{margin-top:31px}.mastery-grid{grid-template-columns:repeat(3,1fr);gap:19px 28px;display:grid}.progress-wrap{grid-template-columns:minmax(90px,1fr) 33px;align-items:center;gap:8px;display:grid}.progress-label{min-width:0;color:var(--fg-2);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.progress-track{background:var(--bg-0);border-radius:999px;grid-column:1/-1;height:5px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--accent);height:100%;transition:width .3s;display:block;box-shadow:0 0 10px #70c48759}.progress-value{color:var(--fg-3);font:10px var(--font-mono);text-align:right}.path-list,.mistake-list{gap:9px;display:grid}.path-detail{border:1px solid var(--line);background:var(--bg-1);border-radius:7px;grid-template-columns:58px minmax(0,1fr) auto;align-items:start;gap:15px;padding:18px;display:grid}.path-detail:hover{border-color:#70c48759}.path-detail-index{color:var(--fg-3);font:12px var(--font-mono)}.path-detail-copy .path-eyebrow{margin:0 0 7px}.path-detail-copy h2{margin:0 0 5px;font-size:19px}.path-detail-copy p{max-width:650px;color:var(--fg-2);margin:0 0 13px}.skill-tags{flex-wrap:wrap;gap:5px;display:flex}.skill-tags span{border:1px solid var(--line-soft);color:var(--fg-2);background:var(--bg-0);font:9px var(--font-mono);border-radius:3px;padding:3px 6px}.path-detail-action{justify-items:end;gap:13px;display:grid}.path-detail-action .mono{color:var(--fg-3);font-size:10px}.lesson-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px;display:grid}.lesson-list{gap:7px;display:grid}.lesson-list button{border:1px solid var(--line-soft);width:100%;color:var(--fg-2);text-align:left;cursor:pointer;background:#ffffff8c;border-radius:16px;grid-template-columns:28px 1fr;gap:9px;padding:12px;display:grid}.lesson-list button:hover,.lesson-list button.active{color:var(--fg-0);background:#fff;border-color:#237f522e;box-shadow:0 9px 24px #1c30240f}.lesson-list button>span{color:var(--fg-3);font:10px var(--font-mono)}.lesson-list button.active>span{color:var(--accent)}.lesson-list button div{gap:3px;display:grid}.lesson-list button strong{font-size:12px}.lesson-list button small{color:var(--fg-3);font:9px var(--font-mono)}.lesson-panel{padding:clamp(22px,4vw,38px)}.lesson-panel-top{justify-content:space-between;align-items:start;gap:24px;display:flex}.lesson-panel-top h2{margin:8px 0 7px;font-size:clamp(24px,3vw,34px)}.lesson-panel-top p{max-width:590px;color:var(--fg-2);margin:0}.lesson-panel-top .skill-tags{justify-content:end}.lesson-progress{grid-template-columns:repeat(3,1fr);gap:5px;margin:28px 0;display:grid}.lesson-progress span{background:var(--bg-3);border-radius:999px;height:5px}.lesson-progress span.filled{background:var(--accent)}.lesson-copy{grid-template-columns:46px minmax(0,1fr);gap:18px;display:grid}.lesson-part-number{color:var(--accent);font:600 12px var(--font-mono)}.lesson-copy h3{margin-bottom:9px;font-size:23px}.lesson-copy p{max-width:720px;color:var(--fg-1);margin:0;font-size:15px}.lesson-examples{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:28px 0 18px 64px;display:grid}.lesson-examples div{border:1px solid var(--line-soft);background:var(--bg-2);border-radius:15px;gap:6px;padding:16px;display:grid}.lesson-examples strong{color:var(--accent);font:600 14px var(--font-mono)}.lesson-examples span{color:var(--fg-2);font-size:12px}.lesson-tip{color:var(--accent);background:var(--accent-soft);border-radius:15px;gap:10px;margin-left:64px;padding:14px 16px;display:flex}.lesson-tip div{gap:3px;display:grid}.lesson-tip strong{font-size:11px}.lesson-tip span{color:var(--fg-1);font-size:12px}.lesson-actions{border-top:1px solid var(--line-soft);justify-content:space-between;gap:8px;margin-top:30px;padding-top:20px;display:flex}.review-summary{color:var(--fg-1);flex-wrap:wrap;align-items:baseline;gap:17px;margin:-8px 0 18px;display:flex}.review-summary strong{color:var(--cream);font:600 16px var(--font-mono)}.review-summary .muted{font-size:11px}.mistake-card{grid-template-columns:28px minmax(0,1fr) 28px;gap:10px;padding:14px;display:grid}.mistake-marker{color:var(--brick);place-items:start center;display:grid}.mistake-copy h3{margin:10px 0 5px;font-size:15px}.mistake-copy p{color:var(--fg-2);margin:0}.mistake-meta{color:var(--fg-3);font:10px var(--font-mono);gap:14px;margin-top:12px;display:flex}.empty-state{min-height:390px;color:var(--fg-2);text-align:center;align-content:center;justify-items:center;padding:35px;display:grid}.empty-state>svg,.complete-mark{color:var(--accent)}.empty-state h2{color:var(--fg-0);margin:12px 0 5px}.empty-state p{max-width:360px;margin-bottom:20px}.practice-head,.mock-running-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:19px;display:flex}.practice-head h1,.mock-running-head h1{margin-bottom:0;font-size:clamp(24px,3vw,34px)}.practice-actions{align-items:center;gap:12px;display:flex}.audio-toggle{border:1px solid var(--line);color:var(--fg-2);background:var(--bg-2);border-radius:5px;align-items:center;gap:6px;padding:6px 8px;font-size:10px;display:inline-flex}.audio-toggle.active{color:var(--cream);background:#e8e0c914;border-color:#e8e0c959}.session-progress{margin-bottom:15px}.session-progress-copy{color:var(--fg-3);font:10px var(--font-mono);justify-content:space-between;gap:10px;margin-bottom:6px;display:flex}.progress-track.large{height:7px}.exercise-card{min-height:390px;padding:clamp(17px,3vw,28px);position:relative}.exercise-topline{align-items:center;gap:8px;display:flex}.exercise-type{color:var(--cream);letter-spacing:.07em;text-transform:uppercase;font-size:9px}.exercise-skill{border-left:1px solid var(--line);color:var(--fg-3);text-transform:uppercase;padding-left:8px;font-size:9px}.exercise-prompt-row{align-items:start;gap:12px;margin-top:25px;display:flex}.exercise-prompt{max-width:780px;color:var(--fg-0);letter-spacing:-.035em;font-size:clamp(19px,3vw,28px);font-weight:550;line-height:1.16}.speak-button{min-height:28px;color:var(--accent);background:var(--accent-soft);font:10px var(--font-mono);text-transform:uppercase;border:1px solid #70c48742;border-radius:4px;flex:none;align-items:center;gap:5px;padding:5px 7px;display:inline-flex}.speak-button.compact{justify-content:center;width:28px;padding:5px}.speak-button:hover{border-color:var(--accent);background:#70c48738}.speak-button.playing{color:var(--cream);background:#e8e0c91a;border-color:#e8e0c96b}.italian-prompt{border-left:2px solid var(--accent);width:-moz-fit-content;width:fit-content;color:var(--cream);font:15px var(--font-mono);background:#70c48712;align-items:center;gap:8px;margin-top:15px;padding:7px 10px;display:flex}.italian-inline{align-items:center;gap:8px;display:inline-flex}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:780px;margin-top:29px;display:grid}.choice-button{border:1px solid var(--line);min-height:49px;color:var(--fg-1);background:var(--bg-1);text-align:left;border-radius:5px;align-items:center;gap:11px;padding:9px 12px;display:flex}.choice-button.selected{color:var(--cream);border-color:var(--accent-dim);background:var(--accent-soft)}.choice-button.correct-answer{border-color:#70c48785}.choice-key{border:1px solid var(--line);width:22px;height:22px;color:var(--fg-3);font:10px var(--font-mono);border-radius:3px;flex:none;place-items:center;display:grid}.choice-button:hover .choice-key,.choice-button.selected .choice-key{color:var(--accent);border-color:var(--accent-dim)}.answer-form{gap:18px;max-width:790px;margin-top:28px;display:grid}.input-row{gap:7px;display:flex}.input-row input,.field-label input,.field-label select{border:1px solid var(--line);width:100%;min-height:38px;color:var(--fg-0);background:var(--bg-0);border-radius:5px;outline:none;padding:8px 10px}.input-row input{min-width:0;font:14px var(--font-mono);flex:1}.input-row input:focus,.field-label input:focus,.field-label select:focus{border-color:var(--accent-dim);box-shadow:0 0 0 2px var(--accent-soft)}.submit-button{flex:none}.number-display{width:-moz-fit-content;width:fit-content;min-width:100px;min-height:80px;color:var(--cream);letter-spacing:-.08em;background:#e8e0c913;border:1px solid #e8e0c942;border-radius:6px;place-items:center;padding:10px 18px;font-size:38px;font-weight:600;display:grid}.listen-callout{border:1px dashed var(--line);width:-moz-fit-content;width:fit-content;color:var(--fg-2);border-radius:5px;align-items:center;gap:8px;padding:8px 10px;font-size:11px;display:inline-flex}.clock-face{background:radial-gradient(circle,#e8e0c914,#0000 68%);border:2px solid #e8e0c980;border-radius:50%;width:142px;height:142px;position:relative;box-shadow:inset 0 0 0 5px #e8e0c909}.clock-face:before{content:"";border:1px solid var(--line);border-radius:50%;position:absolute;top:8px;bottom:8px;left:8px;right:8px}.clock-number{color:var(--cream);font-size:10px;position:absolute;transform:translate(-50%,-50%)}.clock-12{top:9%;left:50%}.clock-3{top:50%;left:91%}.clock-6{top:91%;left:50%}.clock-9{top:50%;left:9%}.clock-hand{transform-origin:50% 100%;background:var(--cream);border-radius:2px;width:2px;display:block;position:absolute;bottom:50%;left:50%}.hour-hand{height:36px}.minute-hand{background:var(--accent);width:1px;height:50px}.clock-pin{border:2px solid var(--bg-1);background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.digital-clock{width:-moz-fit-content;width:fit-content;color:var(--cream);letter-spacing:-.06em;background:#e8e0c912;border:1px solid #e8e0c945;border-radius:5px;align-items:center;gap:9px;padding:12px 14px;font-size:27px;display:flex}.reorder-area{gap:13px;max-width:820px;margin-top:27px;display:grid}.reorder-slots{border:1px dashed var(--line);background:#0d141280;border-radius:5px;flex-wrap:wrap;align-items:center;gap:7px;min-height:66px;padding:11px;display:flex}.reorder-label{width:100%;color:var(--fg-3);font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.reorder-empty{color:var(--fg-3);font-size:12px}.word-bank{flex-wrap:wrap;gap:7px;display:flex}.word-block{border:1px solid var(--line);color:var(--fg-1);background:var(--bg-2);font:12px var(--font-mono);cursor:grab;border-radius:4px;padding:8px 11px}.word-block:hover,.word-block.placed{color:var(--cream);background:#e8e0c91a;border-color:#e8e0c954}.passage-box{border-left:2px solid var(--cream);background:#e8e0c90e;max-width:820px;margin-top:25px;padding:14px}.passage-heading{color:var(--cream);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:10px;display:flex}.passage-box p{color:var(--fg-1);font:15px/1.7 var(--font-mono);margin:13px 0 18px}.passage-question{color:var(--fg-0);margin-top:10px;font-size:17px;font-weight:600}.passage-box+.choice-grid{margin-top:15px}.speaking-area{gap:13px;max-width:660px;margin-top:28px;display:grid}.speaking-actions{flex-wrap:wrap;gap:7px;display:flex}.speaking-target{background:#70c4870f;border:1px solid #70c48742;border-radius:5px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;display:flex}.speaking-target .eyebrow{width:100%}.speaking-target>.italian-inline{color:var(--cream);font:17px var(--font-mono);flex:1}.speaking-button{width:-moz-fit-content;width:fit-content}.speaking-button.recording{color:var(--brick);background:var(--brick-soft);border-color:#c878668c}.recording-dot{background:var(--brick);width:7px;height:7px;box-shadow:0 0 7px var(--brick);border-radius:50%;animation:.9s infinite alternate pulse}@keyframes pulse{0%{opacity:.4}to{opacity:1}}.field-note{color:var(--fg-3);font-size:11px}.exercise-tools{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px;padding-top:12px;display:flex}.source-note{max-width:42%;color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:9px;overflow:hidden}.hint-box{max-width:790px;color:var(--cream);background:#d0aa6214;border:1px solid #d0aa6240;border-radius:5px;align-items:start;gap:7px;margin-top:12px;padding:9px 10px;font-size:11px;display:flex}.feedback-box{background:#70c48714;border:1px solid #70c48757;border-radius:5px;max-width:820px;margin-top:19px;padding:14px}.feedback-box.wrong{background:var(--brick-soft);border-color:#c878667a}.feedback-heading{color:var(--accent);align-items:center;gap:7px;font-weight:650;display:flex}.feedback-box.wrong .feedback-heading{color:var(--brick)}.feedback-answer{color:var(--fg-2);font:10px var(--font-mono);margin-left:auto;font-weight:400}.feedback-answer strong{color:var(--fg-1)}.feedback-box p{color:var(--fg-1);margin:9px 0}.correction-note{border-left:2px solid var(--cream);color:var(--cream);padding:7px 8px;font-size:11px}.feedback-translation{color:var(--fg-0);border-top:1px solid #c4d6c71f;gap:3px;margin-top:11px;padding-top:10px;font-size:14px;line-height:1.4;display:grid}.feedback-translation span{color:var(--fg-3);font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.speech-note{color:var(--fg-2);align-items:start;gap:6px;margin-top:9px;font-size:11px;display:flex}.feedback-why{color:var(--fg-2);border-top:1px solid #c4d6c71f;gap:3px;margin-top:11px;padding-top:10px;font-size:11px;display:grid}.feedback-why span{color:var(--fg-3);font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.flashcard-area{gap:14px;max-width:500px;margin-top:28px;display:grid}.flashcard-flip{perspective:1000px;cursor:pointer;outline:none;min-height:190px}.flashcard-flip:focus-visible{border-radius:8px;box-shadow:0 0 0 3px #237f5233}.flashcard-flip-inner{min-height:190px;transform-style:preserve-3d;transition:transform .42s;position:relative}.flashcard-flip.is-flipped .flashcard-flip-inner{transform:rotateY(180deg)}.flashcard-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;border:1px solid #e8e0c93d;border-radius:8px;align-items:center;gap:12px;padding:24px 18px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.flashcard-front{color:var(--cream);background:#e8e0c913}.flashcard-word{font:24px var(--font-mono);flex:1}.flashcard-back{color:var(--fg-0);background:var(--bg-2);align-content:center;gap:6px;display:grid;transform:rotateY(180deg)}.flashcard-back span{color:var(--cream);font-size:17px}.flashcard-back small{color:var(--fg-2)}.flashcard-instruction{color:var(--fg-3);font:10px var(--font-mono);text-align:center}.flashcard-actions{gap:7px;display:flex}.practice-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:13px;display:flex}.shortcut-strip{color:var(--fg-3);font:10px var(--font-mono);flex-wrap:wrap;gap:11px;display:flex}.shortcut-strip .kbd{margin-right:4px}.next-button{min-width:145px}.session-complete{text-align:center;align-content:center;justify-items:center;min-height:calc(100vh - 160px);display:grid}.complete-mark{background:var(--accent-soft);border:1px solid #70c48766;border-radius:50%;place-items:center;width:60px;height:60px;margin-bottom:18px;display:grid}.session-complete h1{margin-bottom:8px}.complete-lede{max-width:500px;color:var(--fg-2);font-size:15px}.complete-stats{gap:27px;margin:26px 0;display:flex}.complete-stats div{gap:4px;display:grid}.complete-stats strong{color:var(--cream);font:600 20px var(--font-mono)}.complete-stats span{color:var(--fg-3);font:9px var(--font-mono);text-transform:uppercase}.complete-actions{gap:8px;display:flex}.mock-layout{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:12px;display:grid}.mock-brief,.mock-notes{padding:20px}.mock-clock{color:var(--cream);align-items:center;gap:8px;display:flex}.mock-clock strong{font:600 30px var(--font-mono);letter-spacing:-.07em}.mock-clock span{color:var(--fg-3);font:9px var(--font-mono);text-transform:uppercase}.mock-brief h2{margin:23px 0 7px;font-size:22px}.mock-brief>p{max-width:540px;color:var(--fg-2)}.mock-sections{flex-wrap:wrap;gap:5px;margin:18px 0 22px;display:flex}.mock-sections span{border:1px solid var(--line-soft);color:var(--fg-2);background:var(--bg-0);font:9px var(--font-mono);text-transform:uppercase;border-radius:3px;padding:4px 7px}.field-label{color:var(--fg-2);gap:6px;font-size:11px;display:grid}.field-label select{color:var(--fg-1)}.mock-brief>.button{margin-top:17px}.previous-score{border-top:1px solid var(--line-soft);grid-template-columns:1fr auto;gap:3px 10px;margin-top:25px;padding-top:14px;display:grid}.previous-score span,.previous-score small{color:var(--fg-3);font:9px var(--font-mono);text-transform:uppercase}.previous-score strong{color:var(--cream);font:600 17px var(--font-mono)}.previous-score small{text-transform:none;grid-column:1/-1}.mock-notes .panel-kicker{margin-bottom:17px}.rule{border-bottom:1px solid var(--line-soft);grid-template-columns:27px 1fr;gap:10px;padding:13px 0;display:grid}.rule:last-child{border-bottom:0}.rule>span{color:var(--accent);font:10px var(--font-mono)}.rule p{color:var(--fg-1);margin:0}.mock-running-head{align-items:center}.countdown{border:1px solid var(--line);color:var(--cream);background:#e8e0c90f;border-radius:5px;grid-template-columns:auto auto;align-items:center;gap:0 7px;padding:8px 11px;display:grid}.countdown strong{font:600 19px var(--font-mono)}.countdown span{color:var(--fg-3);font:8px var(--font-mono);text-transform:uppercase;grid-column:2}.countdown.urgent{color:var(--brick);background:var(--brick-soft);border-color:#c8786673}.mock-running-foot{color:var(--fg-3);font:10px var(--font-mono);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.mock-running-foot>span{align-items:center;gap:5px;display:inline-flex}.mock-results .page-header{align-items:center}.result-banner{background:var(--accent-soft);border:1px solid #70c4874f;border-radius:6px;align-items:center;gap:18px;margin-bottom:13px;padding:17px;display:flex}.result-score{color:var(--cream);font:600 41px var(--font-mono);letter-spacing:-.09em}.result-score span{color:var(--accent);font-size:17px}.result-banner strong{font-size:15px}.result-banner p{color:var(--fg-2);margin:4px 0 0}.skill-results{gap:14px;padding:17px;display:grid}.skill-result-row{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:14px;display:grid}.skill-result-row>span{color:var(--fg-1)}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;display:grid}.settings-grid>.panel{overflow:hidden}.settings-section{border-bottom:1px solid var(--line-soft);padding:18px}.settings-section:last-child{border-bottom:0}.settings-section h2{margin:8px 0 7px;font-size:17px}.settings-section p{color:var(--fg-2);margin-bottom:14px}.segmented{border:1px solid var(--line);background:var(--bg-0);border-radius:5px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.segmented button,.speed-buttons button{min-height:29px;color:var(--fg-2);cursor:pointer;background:0 0;border:0;border-radius:3px}.speed-row{gap:7px;margin-top:15px;display:grid}.speed-buttons{border:1px solid var(--line);background:var(--bg-0);border-radius:5px;grid-template-columns:repeat(4,1fr);gap:3px;padding:3px;display:grid}.speed-buttons button{font:10px var(--font-mono)}.api-setting{border-top:1px solid var(--line-soft);align-items:center;gap:9px;margin-top:17px;padding-top:13px;display:flex}.api-setting>div{gap:2px;min-width:0;display:grid}.api-setting strong{font-size:11px}.api-setting small{color:var(--fg-3);font:9px var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inline-status{border-radius:4px;align-items:center;gap:6px;margin-top:11px;padding:7px 8px;font-size:11px;display:flex}.inline-status.ok{color:var(--accent);background:var(--accent-soft)}.inline-status.error{color:var(--brick);background:var(--brick-soft)}.settings-actions{flex-wrap:wrap;gap:7px;display:flex}.danger-section .panel-kicker,.danger-section h2{color:var(--brick)}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050907bd;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.login-modal{border:1px solid var(--line);background:var(--bg-1);border-radius:7px;width:min(420px,100%);padding:19px;box-shadow:0 24px 80px #00000075}.modal-top{justify-content:space-between;gap:12px;display:flex}.modal-top h2{margin:7px 0 0;font-size:21px}.login-modal>p{color:var(--fg-2)}.login-modal .field-label{margin-top:18px}.modal-actions{justify-content:end;gap:7px;margin-top:17px;display:flex}.loading-shell{min-height:100vh;color:var(--fg-2);place-content:center;justify-items:center;gap:12px;display:grid}@media (max-width:1020px){.path-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid>.panel:last-child{grid-column:1/-1}}@media (max-width:720px){body{font-size:12px}.app-shell{display:block}.titlebar{gap:8px;padding:0 11px;position:sticky;top:0}.titlebar-center{justify-content:start;overflow:hidden}.content-chip{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.status-chip{text-overflow:ellipsis;max-width:115px;overflow:hidden}.top-button{padding-inline-start:7px;padding-inline-end:7px}.workspace{min-height:calc(100vh - 94px);display:block}.sidebar{display:none}.main-content{padding-bottom:57px}.mobile-nav{z-index:25;padding:6px 3px max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d1412f5;grid-template-columns:repeat(7,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{min-width:0;color:var(--fg-3);cursor:pointer;background:0 0;border:0;justify-items:center;gap:3px;font-size:9px;display:grid}.mobile-nav button.active{color:var(--accent)}.view{padding:24px 13px 38px}.page-header{flex-direction:column;align-items:start;gap:14px;margin-bottom:19px}.page-header-action,.page-header-action .button{width:100%}.dashboard-grid,.mock-layout,.settings-grid{grid-template-columns:1fr}.settings-grid>.panel:last-child{grid-column:auto}.focus-panel,.stats-panel,.mock-brief,.mock-notes{padding:14px}.focus-heading h2{font-size:22px}.focus-ring{width:59px;height:59px}.focus-ring strong{font-size:16px}.path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.path-card{min-height:185px;padding:11px}.path-eyebrow{margin-top:18px}.path-card p{font-size:10px}.mastery-grid{grid-template-columns:1fr 1fr;gap:15px 12px}.path-detail{grid-template-columns:29px minmax(0,1fr);gap:9px;padding:14px}.path-detail-action{grid-column:2;grid-template-columns:1fr auto;place-items:center start;width:100%}.path-detail-action .button{grid-area:1/2}.path-detail-action .mono{grid-area:1/1}.lesson-layout{grid-template-columns:1fr}.lesson-list{scroll-snap-type:x proximity;gap:7px;padding-bottom:3px;display:flex;overflow-x:auto}.lesson-list button{scroll-snap-align:start;min-width:150px}.lesson-panel-top{gap:13px;display:grid}.lesson-panel-top .skill-tags{justify-content:start}.lesson-copy{grid-template-columns:30px minmax(0,1fr);gap:10px}.lesson-copy h3{font-size:21px}.lesson-examples{grid-template-columns:1fr;margin-left:40px}.lesson-tip{margin-left:40px}.practice-head,.mock-running-head{flex-direction:column;align-items:start;gap:12px}.practice-actions{justify-content:space-between;width:100%}.exercise-card{min-height:430px;padding:16px}.exercise-prompt-row{margin-top:19px}.exercise-prompt{font-size:21px}.choice-grid{grid-template-columns:1fr;margin-top:22px}.choice-button{min-height:44px}.input-row{flex-direction:column}.submit-button{width:100%}.source-note{width:100%;max-width:100%;margin-left:0}.exercise-tools{gap:10px}.practice-footer{flex-direction:column;align-items:start}.next-button{width:100%}.shortcut-strip{order:2}.complete-stats{gap:15px}.complete-stats strong{font-size:17px}.complete-stats span{font-size:8px}.mock-running-head{flex-direction:row;align-items:center}.mock-running-head h1{font-size:24px}.countdown{padding:6px 8px}.mock-running-foot{flex-direction:column;align-items:start}.mock-running-foot .button{width:100%}.mock-results .page-header,.result-banner{align-items:start}.result-score{font-size:32px}.skill-result-row{grid-template-columns:105px minmax(0,1fr);gap:8px}.starter-banner{flex-wrap:wrap;align-items:start}.starter-banner .text-button{margin-left:24px}}@media (max-width:390px){.brand-copy small,.content-chip{display:none}.titlebar-center{margin-left:auto}.path-grid,.mastery-grid{grid-template-columns:1fr}.focus-heading{gap:8px}.focus-ring{width:53px;height:53px}}.practice-view .exercise-card{border-radius:10px;width:min(760px,100%);margin:0 auto;animation:.42s cubic-bezier(.22,.85,.2,1) both qcard-in;box-shadow:0 14px 36px #1c30241a,inset 0 1px #237f521a}.practice-view .exercise-topline{color:var(--fg-3);font:11px var(--font-mono);margin-bottom:14px}.practice-view .exercise-type{color:var(--accent)}.practice-view .exercise-skill{color:var(--fg-3)}.practice-view .choice-grid{perspective:1400px;gap:10px;max-width:760px}.practice-view .choice-button{background:var(--bg-2);transform-origin:50% 0;border-radius:8px;grid-template-columns:34px 1fr;align-items:center;gap:14px;min-height:56px;padding:14px 16px;animation:.48s cubic-bezier(.34,1.18,.5,1) both opt-flip-in;display:grid}.practice-view .choice-button:hover{background:var(--bg-3);transform:translateY(-1px)}.practice-view .choice-key{width:28px;height:28px;font:12px var(--font-mono);border-radius:6px}.practice-view .choice-button.selected .choice-key{color:var(--cream-ink);background:var(--accent);border-color:var(--accent)}.practice-view .feedback-box{border-radius:8px}@keyframes qcard-in{0%{opacity:0;filter:blur(8px);transform:translateY(28px)scale(.97)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes opt-flip-in{0%{opacity:0;transform:rotateX(82deg)}55%{opacity:1}to{opacity:1;transform:rotateX(0)}}.bank-fill-area{gap:16px;max-width:820px;margin-top:27px;display:grid}.inline-blank-sentence{flex-wrap:wrap;align-items:baseline;gap:.28em;font-size:clamp(26px,4vw,44px);line-height:1.35;display:flex}.inline-blank-sentence .bank-drop-slot{min-width:150px;min-height:1.45em;color:var(--accent);font:inherit;background:0 0;border-width:0 0 2px;border-radius:0;justify-content:center;align-items:center;padding:0 .35em;display:inline-flex}.bank-fill-area .word-bank{gap:10px}.bank-fill-area .word-block{min-width:100px;padding:13px 18px;font-size:17px}.vocab-bank{gap:8px;display:grid}.vocab-bank .eyebrow{color:var(--accent)}.bank-fill-area .word-block{-webkit-appearance:none;appearance:none;cursor:grab}.bank-fill-area .word-block:active{cursor:grabbing}.bank-fill-area .word-block.chosen{color:var(--cream-ink);border-color:var(--accent);background:var(--accent)}.bank-drop-slot{border:1px dashed var(--accent-dim);background:var(--accent-soft);border-radius:8px;gap:5px;min-height:68px;padding:11px 13px;display:grid}.bank-drop-slot strong{color:var(--fg-0);font:16px var(--font-mono)}.bank-drop-slot:not(.filled) strong{color:var(--fg-3);font-size:12px;font-weight:400}.practice-view .italian-prompt{padding:10px 14px;font-size:clamp(20px,2.6vw,28px);line-height:1.3}.translation-hover{width:-moz-fit-content;width:fit-content;color:var(--fg-3);font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;cursor:help;border:1px solid #0000;border-radius:5px;gap:3px;margin-top:12px;padding:4px 7px;display:inline-grid}.translation-hover strong{color:var(--fg-1);font:13px var(--font-ui);letter-spacing:0;text-transform:none;display:none}.translation-hover:hover,.translation-hover:focus{border-color:var(--line);background:var(--bg-2)}.translation-hover:focus-visible{border-color:var(--line);background:var(--bg-2)}.translation-hover:hover strong,.translation-hover:focus strong{display:block}.translation-hover:focus-visible strong{display:block}.memory-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.memory-modes{border:1px solid var(--line);background:var(--bg-1);border-radius:7px;gap:4px;padding:3px;display:inline-flex}.memory-modes .button{border:0;border-radius:4px;min-height:30px;padding:5px 12px}.memory-panel{padding:18px;overflow:hidden}.memory-status{justify-content:space-between;align-items:end;gap:14px;margin-bottom:16px;display:flex}.memory-status h2{margin:7px 0 0;font-size:22px}.memory-status>.mono{color:var(--fg-3);font-size:10px}.memory-board{perspective:1200px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.memory-card{border:1px solid var(--line);background:var(--bg-1);text-align:left;cursor:pointer;min-height:118px;transform-style:preserve-3d;border-radius:8px;padding:0;transition:transform .18s,border-color .12s,background .12s,box-shadow .12s}.memory-card:hover{border-color:var(--accent-dim);transform:translateY(-2px)}.memory-card-inner{text-align:center;align-content:center;place-items:center;gap:8px;min-height:118px;padding:14px;display:grid}.memory-card:not(.face-up) .memory-card-inner{background:linear-gradient(145deg, var(--bg-2), var(--bg-1))}.memory-card.face-up{border-color:var(--accent-dim);background:var(--accent-soft)}.memory-card.matched{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, var(--bg-1));box-shadow:0 0 0 1px color-mix(in srgb, var(--ok) 35%, transparent)}.memory-card.wrong{border-color:var(--brick);background:var(--brick-soft);animation:.26s memory-shake}.memory-card small{color:var(--fg-3);font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.memory-card strong,.memory-card .italian-inline{font-size:17px;font-weight:600}.memory-mark{color:var(--accent);font:600 28px var(--font-mono)}.memory-card.accent-1.face-up{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 11%, var(--bg-1))}.memory-card.accent-2.face-up{border-color:var(--brick);background:var(--brick-soft)}.memory-card.accent-3.face-up{background:#6d8fd01a;border-color:#6d8fd0}.memory-card.accent-4.face-up{background:#a67bc11a;border-color:#a67bc1}.memory-card.accent-5.face-up{background:#5ca9a21a;border-color:#5ca9a2}.no-accents .memory-card.face-up,.no-accents .memory-card.accent-1.face-up,.no-accents .memory-card.accent-2.face-up,.no-accents .memory-card.accent-3.face-up,.no-accents .memory-card.accent-4.face-up,.no-accents .memory-card.accent-5.face-up{border-color:var(--accent-dim);background:var(--accent-soft)}.memory-complete{border-top:1px solid var(--line-soft);color:var(--accent);align-items:center;gap:9px;margin-top:16px;padding-top:14px;display:flex}.memory-complete span{color:var(--fg-2);margin-right:auto}@keyframes memory-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (max-width:720px){.memory-toolbar,.memory-status{flex-direction:column;align-items:start}.memory-modes,.memory-toolbar>.audio-toggle{width:100%}.memory-modes .button{flex:1}.memory-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.memory-card,.memory-card-inner{min-height:100px}.memory-complete{flex-wrap:wrap}.memory-complete span{margin-right:0}.memory-complete .button{width:100%}}:root{--bg-0:#f3f5f1;--bg-1:#fff;--bg-2:#f8f9f6;--bg-3:#eef2ec;--bg-hi:#e4ece4;--line:#1c30241f;--line-soft:#1c302412;--fg-0:#17231c;--fg-1:#3f4d44;--fg-2:#6f7b73;--fg-3:#98a199;--accent:#237f52;--accent-dim:#1b6842;--accent-soft:#237f521a;--cream:#665f50;--cream-ink:#fff;--brick:#bd594b;--brick-soft:#bd594b1a;--ok:#237f52;--warn:#a47731}html,body{background:var(--bg-0)}body{color:var(--fg-0);background-image:none;font-size:14px}h1{letter-spacing:-.055em;font-size:clamp(36px,5vw,58px);font-weight:650}h2{font-size:20px}.app-shell{grid-template-rows:1fr}.titlebar{height:64px;color:var(--fg-0);border-color:var(--line-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;gap:20px;padding:0 28px}.brand{gap:11px}.brand-mark{color:#fff;background:var(--accent);border-radius:11px;width:34px;height:34px;box-shadow:0 7px 18px #237f522e}.brand-copy strong{font-size:16px}.brand-copy small{color:var(--fg-3);font-size:9px}.content-chip,.status-chip,.top-button{background:var(--bg-2);border-radius:999px}.content-chip{color:var(--fg-2);border-color:var(--line)}.status-chip.online{color:var(--accent);background:var(--accent-soft);border-color:#237f522e}.top-button{min-height:36px;padding:7px 13px;transition:transform .18s,background .18s}.top-button:hover{color:var(--fg-0);background:var(--bg-3);transform:translateY(-1px)}.workspace{min-height:100vh;display:block}.sidebar{z-index:15;border:0;border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;min-height:auto;padding:12px 24px;display:block;position:sticky;top:0}.sidebar-nav{justify-content:center;gap:5px;display:flex}.nav-item{border-radius:999px;width:auto;min-height:40px;padding:8px 14px;transition:color .18s,background .18s,transform .18s}.nav-item:hover{color:var(--fg-0);background:#ffffffb3;transform:translateY(-1px)}.nav-item.active{color:var(--accent);background:#fff;border-color:#0000;box-shadow:0 7px 22px #1c302412}.nav-item span:not(.nav-kbd){flex:initial}.nav-kbd,.sidebar-bottom{display:none}.view{width:min(1120px,100%);padding:42px 28px 72px;animation:.44s cubic-bezier(.2,.8,.2,1) both view-in}.page-header{margin-bottom:30px}.page-header p{margin-top:8px;font-size:15px}.panel-kicker,.eyebrow{color:var(--accent)}.panel,.path-detail,.exercise-card,.login-modal{border-color:var(--line-soft);background:#fff;border-radius:26px;box-shadow:0 18px 48px #1c302411}.button{background:#fff;border-radius:999px;min-height:43px;padding:9px 17px;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,background .18s}.button:hover{color:var(--fg-0);border-color:var(--line);background:#fff;transform:translateY(-2px);box-shadow:0 9px 24px #1c30241a}.button.primary,.button.primary:hover{color:#fff;border-color:var(--accent);background:var(--accent)}.button.primary:hover{background:var(--accent-dim)}.kbd{border-radius:5px}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(250px,.72fr);gap:16px}.focus-panel,.stats-panel{padding:28px}.focus-heading{margin:20px 0 26px}.focus-heading h2{font-size:32px}.focus-ring{background:var(--accent-soft);box-shadow:none;border:0}.focus-ring strong{color:var(--accent)}.cram-row{margin-top:28px;padding-top:18px}.cram-button{background:var(--bg-2);border-radius:999px;padding:8px 11px;transition:transform .18s,background .18s}.cram-button:hover{background:var(--accent-soft);transform:translateY(-1px)}.latest-mock strong,.complete-stats strong,.result-score{color:var(--accent)}.section-heading{margin-top:38px}.path-grid{gap:12px}.path-card{border-color:var(--line-soft);background:#fff;border-radius:22px;min-height:148px;padding:18px;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .22s;box-shadow:0 12px 34px #1c30240b}.path-card:hover{background:#fff;border-color:#237f522e;transform:translateY(-5px);box-shadow:0 20px 44px #1c302417}.path-card strong{margin-top:24px;font-size:16px}.path-footer{margin-top:18px}.mastery-panel{padding:24px}.progress-track{background:var(--bg-3)}.progress-track span{box-shadow:none}.dashboard-view{width:min(1040px,100%)}.dashboard-view .page-header{margin-bottom:24px}.dashboard-view .page-header h1{font-size:clamp(40px,5vw,54px)}.memory-launch{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:10px;padding:16px 20px;display:grid}.memory-launch-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.memory-launch>div{gap:3px;display:grid}.memory-launch>div span{color:var(--fg-2);font-size:13px}.welcome-grid{grid-template-columns:minmax(0,1.6fr) minmax(250px,.75fr);gap:14px;display:grid}.continue-panel{background:#edf6ef;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:26px;display:grid;box-shadow:0 16px 42px #237f5212}.continue-copy h2{margin:6px 0 4px;font-size:25px}.continue-copy p{color:var(--fg-2);margin:0}.continue-arrow{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:50%;place-items:center;width:58px;height:58px;transition:transform .16s,background .16s;display:grid}.continue-arrow:hover{background:var(--accent-dim);transform:translate(3px)}.feature-icon{color:#fff;background:var(--accent);border-radius:18px;flex:none;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 9px 24px #237f522e}.feature-icon.small{width:40px;height:40px;box-shadow:none;border-radius:13px}.quick-panel{align-content:space-between;gap:22px;padding:22px;display:grid}.quick-heading{align-items:center;gap:12px;display:flex}.quick-heading>div{gap:3px;display:grid}.quick-heading strong{font-size:14px}.quick-heading span{color:var(--fg-2);font-size:12px}.quick-options{gap:7px;display:flex}.quick-options .cram-button{flex:1;justify-content:center}.progress-chips{align-items:center;gap:9px;margin:18px 0 8px;display:flex}.progress-chips>div,.progress-chips>button{border:1px solid var(--line-soft);min-height:40px;color:var(--fg-2);background:#ffffff9e;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;display:inline-flex}.progress-chips>button{cursor:pointer}.progress-chips>button:hover{color:var(--accent);background:#fff}.progress-chips svg{color:var(--accent)}.progress-chips span{font-size:11px}.progress-chips strong{color:var(--fg-0);font:600 12px var(--font-mono);margin-right:2px}.dashboard-view .section-heading{margin:34px 0 12px}.dashboard-view .section-heading h2{margin:5px 0 0;font-size:25px}.section-icon-button{border-color:var(--line-soft);background:#fff}.simple-path-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.path-categories{gap:24px;margin-top:32px;display:grid}.path-category{gap:10px;display:grid}.path-category h2{color:var(--fg-2);margin:0;font-size:15px}.path-category .simple-path-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.simple-path-card{align-items:start;gap:19px;min-height:132px}.simple-path-card strong{margin:0;font-size:15px}.path-icon{width:42px;height:42px;color:var(--accent);background:var(--accent-soft);border-radius:14px;place-items:center;display:grid}.accent-cream .path-icon{color:#8b6b35;background:#f5efe2}.accent-brick .path-icon{color:var(--brick);background:var(--brick-soft)}.accent-gold .path-icon{color:var(--warn);background:#f7f0e3}.mastery-summary{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin-top:28px;padding:18px 20px;display:grid}.mastery-summary-copy{flex:1;gap:10px;min-width:0;display:grid}.mastery-summary-copy>div:first-child{justify-content:space-between;gap:12px;display:flex}.mastery-summary-copy strong{font-size:14px}.mastery-summary-copy span{color:var(--fg-2);font-size:12px}.mastery-summary .progress-track{height:6px}.mastery-details{margin-top:10px;animation:.24s both view-in}.rotate-up{transform:rotate(-90deg)}.rotate-down{transform:rotate(90deg)}.nav-item-compact{justify-content:center;width:40px;padding-inline-start:11px;padding-inline-end:11px}.path-list,.mistake-list{gap:12px}.path-detail{padding:24px;transition:transform .2s,box-shadow .2s}.path-detail:hover{border-color:var(--line-soft);transform:translateY(-2px);box-shadow:0 22px 54px #1c302416}.skill-tags span,.mock-sections span{background:var(--bg-2);border-radius:999px;padding:5px 9px}.exercise-card{min-height:420px;padding:clamp(24px,4vw,42px)}.exercise-type{color:var(--accent)}.exercise-prompt{font-size:clamp(24px,4vw,38px)}.audio-toggle,.speak-button{background:var(--accent-soft);border-radius:999px}.audio-toggle.active,.speak-button.playing{color:var(--accent);background:var(--accent-soft);border-color:#237f5233}.choice-button,input,select,textarea{color:var(--fg-0);border-color:var(--line);background:var(--bg-2);border-radius:15px}.choice-button{transition:transform .18s,background .18s,border-color .18s}.choice-button:hover{color:var(--fg-0);background:#fff;transform:translateY(-2px)}.italian-prompt,.flashcard-front{color:var(--accent);background:var(--accent-soft);border-color:#237f522e}.feedback-box.correct{background:var(--accent-soft);border-color:#237f5240}.feedback-box.incorrect{background:var(--brick-soft);border-color:#bd594b42}.settings-grid{gap:16px}.settings-section{padding:24px}.mock-type-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 22px;display:grid}.mock-type-grid button{border:1px solid var(--line);color:var(--fg-1);background:var(--bg-2);text-align:left;cursor:pointer;border-radius:12px;gap:4px;padding:14px;display:grid}.mock-type-grid button.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.mock-type-grid span{color:var(--fg-2);font-size:11px}.segmented,.speed-buttons{background:var(--bg-2);border-radius:999px;padding:4px}.segmented button,.speed-buttons button{border-radius:999px}.segmented button.active,.speed-buttons button.active{color:#fff;background:var(--accent)}.modal-backdrop{background:#17231c47}@keyframes view-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (max-width:720px){.app-shell{display:block}.titlebar{height:60px;padding:0 14px}.workspace,.main-content{z-index:0;position:relative}.sidebar{display:none}.view{padding:28px 15px 90px;animation:none}.mobile-nav{z-index:1000;isolation:isolate;border-color:var(--line-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;transform:translateZ(0)}.panel,.path-detail,.exercise-card{border-radius:22px}.focus-panel,.stats-panel,.mock-brief,.mock-notes{padding:22px}.path-card{border-radius:20px;min-height:138px;padding:16px}.path-card strong{margin-top:18px}.shortcut-strip{display:none}.welcome-grid{grid-template-columns:1fr}.continue-panel{grid-template-columns:auto minmax(0,1fr);padding:21px}.continue-panel .button{grid-column:1/-1;width:100%}.progress-chips{padding-bottom:3px;overflow-x:auto}.progress-chips>div,.progress-chips>button{flex:none}.simple-path-grid{scroll-snap-type:x proximity;padding-bottom:8px;display:flex;overflow-x:auto}.memory-launch-grid{grid-template-columns:1fr 1fr}.memory-launch{grid-template-columns:auto 1fr;padding:14px}.memory-launch .button{grid-column:1/-1;width:100%}.path-category .simple-path-grid{display:flex}.mock-type-grid{grid-template-columns:1fr}.simple-path-card{scroll-snap-align:start;min-width:155px}.mastery-summary-copy>div:first-child{gap:3px;display:grid}.mastery-summary .feature-icon{display:none}}.practice-view .exercise-card{width:min(760px,100%);box-shadow:none;background:0 0;border:0;border-radius:0;margin-inline-start:auto;margin-inline-end:auto;animation:.55s cubic-bezier(.22,.85,.2,1) both qcard-in}.practice-view .exercise-topline{color:var(--fg-3);font:11px var(--font-mono);flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.practice-view .session-progress-copy{display:none}.practice-view .exercise-type,.practice-view .exercise-skill{color:var(--fg-3)}.practice-view .exercise-prompt-row{margin-top:0}.practice-view .exercise-prompt{letter-spacing:-.01em;max-width:760px;margin:0 0 26px;font-size:22px;font-weight:500;line-height:1.35}.practice-view .choice-grid{perspective:1400px;grid-template-columns:1fr;gap:10px;max-width:760px;margin-top:18px;display:grid}.practice-view .choice-button{border:1px solid var(--line);background:var(--bg-1);min-height:0;color:var(--fg-1);text-align:left;transform-origin:50% 0;border-radius:8px;grid-template-columns:34px 1fr auto;align-items:center;gap:14px;padding:14px 16px;transition:border-color .1s,background .1s,transform .1s;animation:.58s cubic-bezier(.34,1.18,.5,1) both opt-flip-in;display:grid}.practice-view .choice-button:first-child{animation-delay:50ms}.practice-view .choice-button:nth-child(2){animation-delay:.18s}.practice-view .choice-button:nth-child(3){animation-delay:.31s}.practice-view .choice-button:nth-child(4){animation-delay:.44s}.practice-view .choice-button:hover{border-color:var(--accent-dim);background:color-mix(in oklab, var(--bg-1) 60%, var(--bg-2));color:var(--fg-1);transform:translateY(-1px)}.practice-view .choice-key{border:1px solid var(--line);background:var(--bg-2);width:28px;height:28px;color:var(--fg-3);font:12px var(--font-mono);border-radius:6px;place-items:center;display:grid}.practice-view .choice-copy{gap:3px;display:grid}.practice-view .choice-copy small{color:var(--fg-3);letter-spacing:.01em;font-size:10px;font-weight:450;line-height:1.2}.practice-view .choice-button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--fg-1)}.practice-view .choice-button.selected .choice-key{border-color:var(--accent);background:var(--accent);color:var(--bg-0)}.practice-view .choice-button.correct-answer{border-color:color-mix(in oklab, var(--ok) 70%, var(--line));background:color-mix(in oklab, var(--ok) 14%, var(--bg-1));box-shadow:0 0 0 1px color-mix(in oklab, var(--ok) 60%, transparent), 0 0 24px color-mix(in oklab, var(--ok) 35%, transparent)}.practice-view .choice-button.correct-answer .choice-key{border-color:var(--ok);background:var(--ok);color:var(--bg-0)}.practice-view .exercise-card.answered-wrong .choice-button.selected:not(.correct-answer){border-color:color-mix(in oklab, var(--brick) 70%, var(--line));background:var(--brick-soft)}.practice-view .exercise-card.answered-wrong .choice-button.selected:not(.correct-answer) .choice-key{border-color:var(--brick);background:var(--brick);color:var(--bg-0)}.practice-view .feedback-box{border-radius:8px;margin-top:14px;padding:14px 16px}.practice-view .feedback-box.correct{border-color:color-mix(in oklab, var(--ok) 40%, var(--line));background:color-mix(in oklab, var(--ok) 14%, var(--bg-1))}.practice-view .feedback-box.wrong{border-color:color-mix(in oklab, var(--brick) 40%, var(--line));background:var(--brick-soft)}.practice-view input:focus{border-color:var(--fg-1);box-shadow:0 0 0 3px #3f4d441a}.input-result{border:1px solid;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;padding:14px 16px;font-size:15px;display:flex}.input-result strong{font-size:18px}.input-result.correct{color:var(--ok);background:var(--accent-soft);border-color:#237f5247}.input-result.wrong{color:var(--brick);background:var(--brick-soft);border-color:#bd594b59}@media (max-width:720px){.practice-view .exercise-card{padding-inline-start:14px;padding-inline-end:14px}.practice-view .choice-button{grid-template-columns:30px 1fr}}
