:root{--serif:'Literata',Georgia,'Times New Roman',serif;--sans:'Public Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--bg:#f7f6f2;--panel:#fffefa;--ink:#262c2b;--muted:#5d6560;--line:#e2e4dc;--accent:#a44132;--accentsoft:#f4e8e1;--sage:#e7ede3;--green:#456451;--gold:#c49b58;--side:#eeefe8;--shadow:0 8px 28px #2c3b2910;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 var(--sans)}body.dark{--bg:#1f2826;--panel:#28322f;--ink:#eceee5;--muted:#bcc5be;--line:#435149;--accent:#e2a08c;--accentsoft:#493d36;--sage:#34473a;--green:#b4d0ad;--side:#24302a;--shadow:none}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:var(--serif);font-weight:400}h1{font-size:46px;line-height:1.14;letter-spacing:-1.7px;margin-bottom:17px}h2{font-size:28px;line-height:1.25;letter-spacing:-.6px;margin-bottom:16px}h3{font-size:16px;line-height:1.4}p{margin-bottom:16px}small,.small{font-size:12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.muted{color:var(--muted)}.eyebrow,.side-label{font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}.eyebrow{margin-bottom:16px;color:var(--accent)}#sidebar{width:233px;position:fixed;inset:0 auto 0 0;background:var(--side);border-right:1px solid var(--line);padding:33px 23px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;text-decoration:none;gap:12px;font:32px/1 var(--serif);letter-spacing:-1px;padding:0 7px 41px}.brand-mark{display:grid;place-items:center;border-radius:11px;background:var(--accent);color:var(--panel);width:43px;height:46px;font-style:italic}.brand-sub{display:block;font:10px/1.5 var(--sans);letter-spacing:4.2px;margin-top:7px}.side-label{font-size:11px;padding:0 10px;margin-bottom:15px}nav a{display:flex;align-items:center;gap:13px;border-radius:8px;padding:10px 12px;text-decoration:none;color:var(--muted);font-size:13px;margin-bottom:4px}nav a.active{background:var(--panel);color:var(--accent);box-shadow:0 2px 5px #28382e05}nav a:hover{background:var(--panel)}nav .nav-icon{width:19px;font-size:18px}.nav-section{font-size:11px;letter-spacing:1.7px;margin:24px 12px 10px;color:var(--muted)}.side-bottom{margin-top:auto;border-top:1px solid var(--line);padding:21px 8px 0}.side-bottom .small{font-size:11px;letter-spacing:1.3px}.side-bottom p{font:italic 14px var(--serif);margin:10px 0 20px}.shell{margin-left:233px}header{height:79px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;font-size:12px;color:var(--muted)}.header-right{display:flex;gap:21px;align-items:center}.avatar{height:32px;width:32px;border-radius:50%;background:var(--sage);border:1px solid var(--line);color:var(--green);font-size:12px}.icon-button{background:transparent;border:1px solid var(--line);border-radius:8px;min-width:34px;min-height:34px;font-size:18px}main{max-width:1450px;margin:auto;padding:38px 44px 64px;min-height:calc(100vh - 145px)}footer{padding:16px 44px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between}.page-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:25px}.page-heading h1{font-size:37px}.page-heading p{color:var(--muted);max-width:680px}.button,.secondary,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:11px 19px;border-radius:8px;text-decoration:none;border:1px solid transparent;font-size:12px;font-weight:600;background:var(--accent);color:var(--panel);line-height:1.5}.button:hover{filter:brightness(.92)}.secondary{background:var(--panel);border-color:var(--line);color:var(--ink)}.ghost{background:transparent;border-color:var(--line);color:var(--ink)}.text-button{padding:2px 0;border:0;background:none;color:var(--accent);font-size:13px;font-weight:600;display:inline-flex;gap:6px;align-items:center;min-height:28px}.hero{background:var(--sage);border-radius:18px;overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;min-height:282px;margin-bottom:27px;position:relative}.hero-content{padding:35px 38px;z-index:1}.hero p{max-width:420px;color:var(--green);font-size:13px}.hero h1{font-size:45px}.hero-art{position:relative;overflow:hidden;background:#d9e3d5}.hero-art svg{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-art .art-label{position:absolute;bottom:22px;left:26px;color:#3e5a4a;font:italic 13px var(--serif)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.stat{border:1px solid var(--line);padding:17px 20px;border-radius:12px;background:var(--panel);display:flex;gap:14px;align-items:center}.stat-icon{width:34px;height:34px;border-radius:9px;background:var(--accentsoft);display:grid;place-items:center;color:var(--accent)}.stat-number{font-family:var(--serif);font-size:24px;line-height:1.15}.stat-label{font-size:11px;color:var(--muted);margin-top:5px}.grid{display:grid;gap:22px}.two{grid-template-columns:1.65fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.equal{grid-template-columns:repeat(2,1fr)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:6px 0 16px}.section-title h2{font-size:23px;margin:0}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:25px}.card.featured{border-top:3px solid var(--accent)}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:5px;font-size:11px;letter-spacing:.6px;padding:3px 7px;color:var(--muted)}.pill.green{background:var(--sage);color:var(--green);border:0}.pill.red{background:var(--accentsoft);color:var(--accent);border:0}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack>*+*{margin-top:14px}.practice-card{display:block;text-align:left;width:100%;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.practice-card:hover{border-color:var(--accent);transform:translateY(-2px)}.practice-card .symbol{font-size:25px;color:var(--accent);margin-bottom:16px}.practice-card h3{font-size:13px;margin-bottom:7px}.practice-card p{font-size:11px;color:var(--muted);margin:0}.routine-row{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}.routine-row:last-child{border:0}.step-number{height:28px;width:28px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:var(--green);font-size:11px;flex-shrink:0}.routine-row h3{font-size:12px;margin:0}.routine-row p{font-size:11px;margin:2px 0 0;color:var(--muted)}.routine-row button{margin-left:auto}.progress-track{height:5px;border-radius:3px;background:var(--line);overflow:hidden;margin:14px 0}.progress-fill{height:100%;background:var(--accent);border-radius:3px}.word-card{background:var(--accentsoft);border:0}.word-card .turkish{font:35px var(--serif);margin:15px 0 4px}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}.tabs button{background:transparent;border:1px solid var(--line);border-radius:7px;padding:7px 14px;font-size:12px}.tabs button.selected{background:var(--ink);color:var(--panel);border-color:var(--ink)}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lesson-card{display:flex;flex-direction:column;min-height:220px}.lesson-card h2{font-size:24px;margin-top:14px}.lesson-card p{font-size:12px;color:var(--muted);flex:1}.lesson-card button{align-self:flex-start}.lesson-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);gap:24px}.prose{font:17px/1.85 var(--serif);max-width:780px}.prose p{white-space:pre-line}.rule{background:var(--sage);border-left:3px solid var(--green);padding:18px 21px;margin:23px 0;font-size:14px}.example{padding:16px 0;border-bottom:1px solid var(--line)}.tr{font:22px/1.5 var(--serif)}.example .en{font-size:12px;color:var(--muted);margin-top:5px}.example .note{font-size:11px;color:var(--muted);margin-top:8px}.example button{float:right}.sticky{position:sticky;top:22px;align-self:start}input,select,textarea{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:11px 12px;max-width:100%}input[type=text],input[type=search],textarea{width:100%}textarea{min-height:140px;resize:vertical}label{display:block;font-size:12px;margin-bottom:7px;color:var(--muted)}.field{margin-bottom:18px}.feedback{padding:15px 18px;border-radius:8px;margin-top:15px;font-size:13px;background:var(--sage);color:var(--green)}.feedback.error{background:var(--accentsoft);color:var(--accent)}.keyboard{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 16px}.keyboard button{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:4px 10px}.choices{display:grid;gap:9px;margin:20px 0}.choice{text-align:left;padding:13px 17px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.choice:hover{border-color:var(--accent)}.choice.selected{border-color:var(--accent);background:var(--accentsoft)}.choice.correct{border-color:var(--green);background:var(--sage)}.study-center{max-width:850px;margin:0 auto}.flashcard{min-height:310px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px;cursor:pointer}.flashcard h2{font-size:43px;margin-bottom:15px}.flashcard .translation{font-size:24px;margin:18px 0}.rating-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.rating-grid button{display:block;line-height:1.8}.rating-grid small{display:block;font-size:11px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line)}th{font-size:11px;color:var(--muted);letter-spacing:.6px}td .text-button{white-space:nowrap}.form-output{text-align:center;padding:36px 22px;background:var(--sage);border-radius:12px;margin-top:24px}.form-output h2{font-size:42px;overflow-wrap:anywhere}.morphemes{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.morphemes span{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:7px 13px;font:21px var(--serif)}.dialogue-line{padding:18px;border-radius:12px;background:var(--bg);margin-bottom:13px;max-width:90%}.dialogue-line:nth-child(even){margin-left:auto;background:var(--sage)}.dialogue-line .speaker{font-size:11px;letter-spacing:1px;color:var(--muted);margin-bottom:5px}.hidden{display:none!important}.reading-text{font:22px/1.9 var(--serif);white-space:pre-line}.reading-text button{background:none;border:0;padding:0 1px;font:inherit;border-bottom:1px dotted var(--line)}.reading-text button:hover{background:var(--accentsoft)}.heatmap{display:grid;grid-template-columns:repeat(14,1fr);gap:5px;margin:20px 0}.heatmap div{aspect-ratio:1;border-radius:4px;background:var(--line)}.heatmap .active{background:var(--green)}.bar{display:grid;grid-template-columns:100px 1fr 40px;gap:14px;align-items:center;margin:14px 0;font-size:12px}.empty{text-align:center;padding:45px 20px;color:var(--muted)}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:22px;flex-wrap:wrap}.toolbar input{flex:1;min-width:180px}.check-label{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:13px}.check-label input{width:auto}.alphabet{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.letter{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 6px}.letter .tr{font-size:29px}.letter .small{font-size:11px;color:var(--muted)}.timer{font:44px var(--serif);font-variant-numeric:tabular-nums}.answer-line{min-height:70px;border:1px dashed var(--muted);border-radius:9px;padding:12px;display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.token{padding:8px 14px;border:1px solid var(--line);border-radius:7px;background:var(--sage)}.release{display:flex;gap:20px;border-bottom:1px solid var(--line);padding:18px 0}.release span{color:var(--accent);font-size:11px;min-width:35px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;background:var(--ink);color:var(--panel);box-shadow:var(--shadow);border-radius:9px;max-width:90vw;padding:12px 21px;font-size:13px;display:none}dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:16px;max-width:650px;width:90%;padding:30px}dialog::backdrop{background:#15241c80}.close{float:right}.search-hit{display:block;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none}#search-results{max-height:50vh;overflow:auto}.skip{position:absolute;left:-10000px}.skip:focus{left:250px;top:10px;background:var(--panel);z-index:100}.mobile-only{display:none}audio{max-width:100%}.divider{border:0;border-top:1px solid var(--line);margin:23px 0}@media(min-width:1500px){main{padding-top:45px}}@media(max-width:1150px){#sidebar{width:205px;padding:28px 16px}.shell{margin-left:205px}main{padding:30px 27px}header{padding:0 27px}.hero-content{padding:30px}.hero h1{font-size:39px}.hero{grid-template-columns:1.4fr 1fr}.lesson-grid{grid-template-columns:repeat(2,1fr)}.stat{padding:14px 12px}.stat-icon{display:none}.two{grid-template-columns:1.4fr 1fr}.three{gap:12px}.practice-card{padding:17px}}@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-art{display:none}.two,.lesson-layout{grid-template-columns:1fr}.sticky{position:static}.three{grid-template-columns:repeat(3,1fr)}.stats{gap:9px}.stat-number{font-size:22px}h1{font-size:38px}.alphabet{grid-template-columns:repeat(5,1fr)}}@media(max-width:650px){#sidebar{transform:translateX(-100%);transition:transform .2s;width:240px;box-shadow:var(--shadow)}body.menu-open #sidebar{transform:translateX(0)}.shell{margin-left:0}.mobile-only{display:block}header{height:64px;padding:0 20px;gap:13px}#breadcrumb{flex:1}.header-right{gap:12px}#streak{display:none}main{padding:25px 20px 40px}.hero-content{padding:27px}.hero h1{font-size:38px}.hero{min-height:auto}.stats{grid-template-columns:repeat(2,1fr);margin-bottom:24px}.stat{padding:16px}.stat-icon{display:grid}.three{grid-template-columns:1fr}.practice-card{display:grid;grid-template-columns:32px 1fr;gap:0 14px}.practice-card .symbol{grid-row:span 2;margin:0}.lesson-grid,.equal{grid-template-columns:1fr}.page-heading h1{font-size:32px}.page-heading{display:block}.page-heading>.button{margin-top:4px}.card{padding:21px}.rating-grid{grid-template-columns:repeat(2,1fr)}.flashcard h2{font-size:36px}.form-output h2{font-size:32px}.alphabet{grid-template-columns:repeat(4,1fr)}footer{padding:17px 20px}footer span{display:none}.page-heading p{font-size:13px}.tr{font-size:20px}.bar{grid-template-columns:80px 1fr 35px}.reading-text{font-size:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;transform:none!important}}@media print{#sidebar,header,footer,button,.toolbar{display:none!important}.shell{margin:0}main{padding:0}.card{break-inside:avoid}.lesson-layout{display:block}body{background:white;color:black}}

#sidebar{overflow-y:auto}.side-bottom{padding-bottom:8px}nav{flex-shrink:0}

/* ===== v2 additions ===== */
[hidden]{display:none!important}
kbd{font:11px/1 var(--sans);border:1px solid var(--line);border-radius:4px;padding:2px 5px;color:var(--muted);margin-left:6px}
.rank-chip{border:1px solid var(--line);border-radius:20px;padding:4px 10px;margin-left:10px;color:var(--ink)}
.sync-dot{width:8px;height:8px;border-radius:50%;background:transparent;display:inline-block}.sync-dot.ok{background:var(--green)}.sync-dot.syncing{background:var(--gold)}.sync-dot.error{background:var(--accent)}
.nav-count{margin-left:auto;background:var(--accent);color:var(--panel);border-radius:10px;font-size:11px;padding:1px 7px}
nav a{position:relative}
.card.soft{background:var(--sage);border-color:transparent}
.lead{font-size:18px}.center{text-align:center}.grow{flex:1;min-width:200px}.grow input{width:100%}
.danger{color:var(--accent)!important;border-color:var(--accent)!important}
.pill.lvl-A1{background:#e6efe3;color:#3d5d46;border:0}.pill.lvl-A2{background:#e3edf0;color:#2f5a66;border:0}.pill.lvl-B1{background:#f2ead9;color:#7a5a1f;border:0}.pill.lvl-B2{background:#f4e3df;color:#8c3b2d;border:0}.pill.lvl-C1{background:#e9e3f1;color:#55407a;border:0}
body.dark .pill[class*=lvl-]{background:var(--sage);color:var(--green)}
.stats{grid-template-columns:repeat(5,1fr)}.stat-number small{font-size:13px;color:var(--muted)}
.level-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}
.level-tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-align:left}.level-tile b{font:22px var(--serif);display:block}.level-tile span{font-size:11px;color:var(--muted)}.level-tile.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.level-tile .progress-track{margin:8px 0 0}
.lesson-card.done{border-color:var(--green)}.lesson-num{font:40px/1 var(--serif);color:var(--line);margin-top:10px}.lesson-card h2{margin-top:6px}
.ex-actions{float:right;display:flex;gap:12px}.example button{float:none}
.gap{border-bottom:2px solid var(--accent);padding:0 10px;color:var(--accent)}
.choice.wrong{border-color:var(--accent);background:var(--accentsoft)}
.choices.two-col{grid-template-columns:1fr 1fr}
.segmented{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:6px 0 20px}.segmented button{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:6px 14px;font-size:12px}.segmented button.selected{background:var(--ink);color:var(--panel);border-color:var(--ink)}
.flashcard.static{cursor:default}.flashcard .typed{width:100%;max-width:420px}.flashcard .typed input{text-align:center;font:20px var(--serif)}
.rating-grid .suggest{outline:2px solid var(--gold);outline-offset:2px}
.note-line{background:var(--sage);border-radius:6px;padding:6px 10px;color:var(--green)}
.deck-settings{margin-top:16px}.deck-settings summary{cursor:pointer;font-size:13px}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 14px}
.forecast{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;align-items:end;height:130px;margin-top:10px}.forecast div{display:flex;flex-direction:column;justify-content:flex-end;height:100%;text-align:center}.forecast span{background:var(--accent);border-radius:3px 3px 0 0;min-height:2px;display:block}.forecast small{font-size:11px;color:var(--muted)}
.word-link{text-decoration:none}.word-link:hover{color:var(--accent)}
.idiom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.idiom-card h3{font-size:21px;margin:12px 0 4px}.idiom-card p{margin-bottom:6px}.trap{color:var(--accent)}
.situation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.phrase-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.phrase-row .tr{font-size:19px}.phrase-row.playing{background:var(--accentsoft);border-radius:8px;padding-left:10px}
.morphemes i{font-style:normal;color:var(--muted);align-self:center}.morphemes.left{justify-content:flex-start;margin:8px 0}.morphemes .root{background:var(--accentsoft);border-color:transparent}.morphemes .suffix{display:inline-flex;flex-direction:column;align-items:center}.morphemes .suffix small{font:11px var(--sans);color:var(--muted);margin-top:3px}.morphemes.small-m span{font-size:16px;padding:4px 8px}
.analysis{padding:14px 0;border-bottom:1px solid var(--line)}
table.compact td,table.compact th{padding:6px 8px;font-size:13px}
.drill{text-align:center;min-height:300px}.drill form{max-width:460px;margin:20px auto 0}.drill input{text-align:center;font:22px var(--serif)}.drill .row{justify-content:center}.drill-chip{display:inline-block;background:var(--sage);color:var(--green);border-radius:20px;padding:4px 14px;font-size:12px;margin-bottom:14px}.big-num{font-size:56px;margin:10px 0}
.clock{width:170px;height:170px;color:var(--ink);display:block;margin:6px auto}
.diff{margin:10px 0;line-height:2}.diff span{padding:2px 5px;border-radius:4px;font-family:var(--serif)}.d-ok{background:var(--sage);color:var(--green)}.d-near{background:#f6ecd4;color:#7a5a1f}.d-miss{background:var(--accentsoft);color:var(--accent);text-decoration:underline dotted}.d-extra{text-decoration:line-through;color:var(--muted)}
.reading-text p{margin-bottom:1.1em}.reading-text .w{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;border-radius:3px}.reading-text .w:hover{background:var(--accentsoft)}.reading-text .w.looked{border-bottom:2px solid var(--gold)}.reading-text.big{font-size:27px}
.reader-tools{gap:18px}
.word-pop{position:absolute;z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px #1d2a2240;padding:14px 16px;width:min(340px,92vw);font-size:14px}.word-pop b{font:20px var(--serif)}.word-pop p{margin:6px 0}
.gloss{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.gloss .tr{font-size:18px}
.dialogue-line:nth-child(even){margin-left:0;background:var(--bg)}.dialogue-line.right{margin-left:auto;background:var(--sage)}.dialogue-line.playing{box-shadow:0 0 0 2px var(--gold)}
.role-placeholder{display:block;margin:6px 0}
.sc-log{display:flex;flex-direction:column;margin-bottom:10px}.sc-me .sc-fb{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.q-good{background:var(--sage)!important}.q-ok{background:#f6ecd4!important}.q-poor{background:var(--accentsoft)!important}
body.dark .q-ok{background:#4a4330!important}
.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.topic{display:flex;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--ink);font-size:13px;margin:0}.topic small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.topic input[type=radio]{margin-top:3px}.topic:has(input:checked){border-color:var(--accent);background:var(--accentsoft)}.topic input[type=text],.topic input:not([type]){margin-top:6px;padding:6px 8px;font-size:12px}
.chat-wrap{display:flex;flex-direction:column;height:min(72vh,780px);padding:0;overflow:hidden}.chat{flex:1;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:12px}
.bubble{max-width:78%;padding:12px 16px;border-radius:16px;font-size:15px}.bubble [lang=tr]{font:18px/1.5 var(--serif)}.bubble.them{background:var(--bg);border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.me{margin-left:auto;background:var(--sage);border-bottom-right-radius:4px}
.correction{margin-top:10px;padding-top:8px;border-top:1px dashed var(--green)}.correction .diff{font-size:13px;margin:4px 0}.ok-mark{color:var(--green);margin-top:4px}
.typing{display:flex;gap:5px;width:70px}.typing span{width:8px;height:8px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.chips{gap:6px;margin-top:8px}.chip{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:4px 11px;font-size:12px}.chip small{color:var(--muted)}.chip:hover{border-color:var(--accent)}
#chat-suggestions{padding:0 22px 8px}
.chat-form{border-top:1px solid var(--line);padding:14px 18px;background:var(--panel)}.chat-form textarea{min-height:58px;font:17px var(--serif)}.chat-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.chat-actions .keyboard{margin:6px 0}
.ai-off{border-style:dashed}.ai-answer{white-space:pre-wrap;margin-top:12px;font-size:14px}
.journal-text{font:19px/1.8 var(--serif);white-space:pre-wrap}.journal-text.corrected{background:var(--sage);padding:14px 18px;border-radius:10px}
.fix{padding:10px 0;border-bottom:1px solid var(--line)}.fix s{color:var(--accent)}
.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.heatmap.long{grid-template-columns:repeat(26,1fr);grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px}.heatmap.long div{border-radius:2px}.heatmap .h1{background:#c3d6c0}.heatmap .h2{background:#8fb28e}.heatmap .h3{background:#5e8a64}.heatmap .h4{background:var(--green)}
body.dark .heatmap .h1{background:#3d5a45}body.dark .heatmap .h2{background:#5a7d60}body.dark .heatmap .h3{background:#86a982}
.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.badge{border:1px dashed var(--line);border-radius:10px;padding:10px;text-align:center;opacity:.45;filter:grayscale(1)}.badge.earned{opacity:1;filter:none;border-style:solid;background:var(--accentsoft)}.badge span{font-size:22px;display:block}.badge b{display:block;font:15px var(--serif)}.badge small{font-size:11px;color:var(--muted)}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;height:120px;margin:10px 0}.week-col{display:flex;flex-direction:column;align-items:center}.week-bar{flex:1;width:100%;background:var(--bg);border-radius:6px;display:flex;align-items:flex-end;overflow:hidden}.week-bar span{display:block;width:100%;background:var(--gold)}.week-bar span.met{background:var(--green)}.week-col small{font-size:11px;color:var(--muted)}
.progress-fill.warn{background:var(--gold)}
.err-card{margin-bottom:12px}
.toolbar label{display:flex;flex-direction:column;gap:4px;margin:0}.toolbar label.check-label{flex-direction:row}
@media(max-width:1150px){.stats{grid-template-columns:repeat(3,1fr)}.level-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.stats{grid-template-columns:repeat(2,1fr)}.level-strip{grid-template-columns:repeat(3,1fr)}.rank-chip{display:none}.bubble{max-width:92%}.chat-wrap{height:78vh}.choices.two-col{grid-template-columns:1fr}.heatmap.long{grid-template-columns:repeat(26,1fr)}.ex-actions{float:none;margin-bottom:6px}.big-num{font-size:42px}}
@media print{.word-pop,.chat-form{display:none!important}}
main:focus{outline:none}
.toolbar input[type=checkbox],.toolbar input[type=radio]{flex:0 0 auto;min-width:0;width:auto}
body.dark{color-scheme:dark}
dialog p{margin:0}
/* ===== v3 additions ===== */
.exam-steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.exam-steps span{font-size:11px;padding:4px 10px;border-radius:14px;border:1px solid var(--line);color:var(--muted)}.exam-steps .now{border-color:var(--accent);color:var(--accent)}.exam-steps .done{background:var(--sage);color:var(--green);border-color:transparent}
.passage{margin:10px 0 16px}.reading-text.small-read{font-size:18px;line-height:1.75;margin-top:8px}
.end-gap{display:inline-flex;align-items:baseline;white-space:nowrap}.end-gap input{font:inherit;font-size:.9em;padding:0 4px;border:0;border-bottom:2px dashed var(--accent);border-radius:0;background:var(--accentsoft);width:auto;min-width:2.2em;color:var(--ink)}.end-gap input.ok{border-bottom-color:var(--green);background:var(--sage)}.end-gap input.bad{border-bottom-style:solid}.end-gap input.shown{color:var(--muted);font-style:italic}
.series-shelf{background:var(--sage);border-radius:16px;padding:22px 24px;margin-bottom:26px}.series-shelf h2{margin:0}.episodes{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;margin-top:16px}.ep{display:flex;flex-direction:column;align-items:center;padding:6px 0;border-radius:8px;background:var(--panel);text-decoration:none;border:1px solid var(--line)}.ep b{font:17px var(--serif)}.ep small{font-size:11px;color:var(--muted)}.ep.read{background:var(--green);color:var(--panel);border-color:var(--green)}.ep.read small{color:var(--panel)}.ep.next{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.series-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 0;padding:8px 12px;background:var(--bg);border-radius:8px}.series-nav a{color:var(--accent);text-decoration:none;margin-left:12px}
.wordle{display:grid;gap:6px;justify-content:center;margin:16px 0}.w-row{display:grid;grid-template-columns:repeat(5,52px);gap:6px}.w-row span{height:52px;border:2px solid var(--line);border-radius:6px;display:grid;place-items:center;font:26px var(--serif);text-transform:uppercase}.w-row .hit{background:var(--green);border-color:var(--green);color:var(--panel)}.w-row .near{background:var(--gold);border-color:var(--gold);color:#fff}.w-row .absent{background:var(--line);color:var(--muted)}
.w-keys{display:grid;gap:6px;margin:12px 0}.w-keys div{display:flex;gap:4px;justify-content:center}.w-keys button{min-width:30px;height:42px;border:1px solid var(--line);border-radius:6px;background:var(--panel);font-size:14px;padding:0 4px}.w-keys button.wide{min-width:50px}.w-keys .hit{background:var(--green);color:var(--panel)}.w-keys .near{background:var(--gold);color:#fff}.w-keys .absent{opacity:.35}
.match-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.m-tile{min-height:72px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:8px;font-size:14px}.m-tile[lang=tr]{font:18px var(--serif)}.m-tile.sel{border-color:var(--accent);background:var(--accentsoft)}.m-tile.gone{visibility:hidden}
.timer-s{font:22px var(--serif);font-variant-numeric:tabular-nums}
.ref-list{display:grid;gap:12px}.ref-card.focus{border-color:var(--accent)}.ref-card h3{margin:0;font-size:17px}.ref-form{font:20px var(--serif);color:var(--accent);margin-right:6px}.chip.static{cursor:default}.ref-ex{padding:6px 0;border-bottom:1px dotted var(--line)}.ref-ex [lang=tr]{font-family:var(--serif)}.ref-ex .split{color:var(--muted);font-size:13px;margin-left:8px}
@media(max-width:650px){.episodes{grid-template-columns:repeat(6,1fr)}.w-row{grid-template-columns:repeat(5,44px)}.w-row span{height:44px}.w-keys button{min-width:24px;height:40px;font-size:12px}.w-keys button.wide{min-width:40px}.match-grid{grid-template-columns:repeat(3,1fr)}}
/* ===== v4 additions ===== */
.legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:18px;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:6px;vertical-align:-2px;background:color-mix(in srgb,var(--green) calc(var(--m)*1%),var(--line))}
.m-level{margin-bottom:26px}.m-level h2{margin:0}.m-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:12px}
.m-tile2{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;text-decoration:none;min-height:96px;background:color-mix(in srgb,var(--green) calc(var(--m)*0.9%),var(--panel));color:var(--ink);border:1px solid var(--line)}.m-tile2 b{font:20px var(--serif)}.m-tile2 span{font-size:12px;line-height:1.35}.m-tile2 small{font-size:11px;margin-top:auto;opacity:.8}
.m-tile2.hi{color:#fff}
.bar.wide{grid-template-columns:minmax(120px,1.4fr) 1fr 30px auto}
.gap-sentence{font:26px/1.6 var(--serif);margin:10px 0}.gap-sentence mark{background:var(--sage);color:var(--green);padding:0 4px;border-radius:4px}
.kin-tree{display:grid;gap:8px;margin-top:12px;overflow-x:auto}.kin-head,.kin-row{display:grid;grid-template-columns:90px repeat(3,minmax(150px,1fr));gap:8px;align-items:start}.kin-head{padding-left:98px;grid-template-columns:repeat(3,minmax(150px,1fr));font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.kin-gen{font-size:11px;color:var(--muted);padding-top:8px}
.kin-cell{display:flex;flex-direction:column;gap:6px;min-height:20px}.kin{text-align:left;border:1px solid var(--line);border-radius:9px;padding:7px 10px;background:var(--panel)}.kin b{display:block;font:16px var(--serif)}.kin small{font-size:11px;color:var(--muted)}.kin.wife{border-left:3px solid var(--gold)}.kin.mine{border-left:3px solid var(--accent)}.kin.ours{border-left:3px solid var(--green)}.kin.sel{background:var(--accentsoft)}
.rhyme{padding:12px 0;border-bottom:1px solid var(--line)}.rhyme h3{margin:0}.rhyme-text{white-space:pre-line;font-size:18px;margin:8px 0}
.pron-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.stress{font:15px var(--serif);color:var(--muted);letter-spacing:.5px}.stress b{color:var(--accent);font-weight:700;text-transform:uppercase}.stress i{font-style:normal;opacity:.5;margin:0 2px}
.player{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.player label{display:flex;gap:6px;align-items:center;margin:0}.ep-progress{height:6px;background:var(--line);border-radius:3px;margin:16px 0;overflow:hidden}.ep-progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .3s}
.ep-seg{padding:12px 14px;border-radius:10px;margin-bottom:8px;background:var(--bg)}.ep-seg.playing{box-shadow:0 0 0 2px var(--gold);background:var(--accentsoft)}.ep-seg .tr{font-size:19px}.small-h{font-size:14px}
@media(max-width:650px){.kin-head,.kin-row{grid-template-columns:70px repeat(3,minmax(120px,1fr))}.kin-head{padding-left:78px}.gap-sentence{font-size:21px}}
.grid>*,.lesson-layout>*{min-width:0}
/* ===== v5 additions ===== */
.conc{padding:10px 0;border-bottom:1px dotted var(--line)}.conc [lang=tr]{font:17px/1.6 var(--serif)}.conc mark,.dict mark{background:var(--sage);color:var(--green);border-radius:3px;padding:0 3px}.conc .row{gap:14px;margin-top:4px}.conc a{color:var(--accent);text-decoration:none}
.dict-row{display:grid;grid-template-columns:minmax(140px,1fr) 2fr auto;gap:14px;align-items:baseline;padding:11px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.dict-row:hover{background:var(--bg)}.dict-row .tr{font-size:19px}
.dict-morph{background:var(--sage);border-radius:12px;padding:12px 16px;margin:12px 0}.dict .eyebrow{margin-top:18px}
.unit{margin-bottom:30px}.unit-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.unit-head h2{margin:2px 0 0;font-size:22px}.unit-head .row{gap:14px}
.vod .turkish{margin:6px 0 2px}.vod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.vod-f{background:var(--bg);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column}.vod-f span{font:17px var(--serif)}.vod-f small{font-size:11px}
.wk{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0}.up{color:var(--green)}.down{color:var(--accent)}
.shadow-panel{background:var(--accentsoft);border-radius:12px;padding:14px 18px;margin:16px 0}.shadow-panel .tr{font:24px/1.5 var(--serif);margin:8px 0 12px}
@media(max-width:650px){.dict-row{grid-template-columns:1fr;gap:2px}.vod-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== refinement pass 1: system ===== */
#sidebar{padding:26px 16px 18px;overflow:hidden}
#nav{overflow-y:auto;flex:1;min-height:0;margin:0 -6px;padding:0 6px;scrollbar-width:thin}
nav a{padding:7px 12px;margin-bottom:2px;font-size:13.5px;color:var(--ink)}nav a .nav-icon{color:var(--muted)}nav a.active .nav-icon{color:var(--accent)}
.nav-section{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 12px);background:none;border:0;padding:0;margin:18px 6px 6px;font-size:11px;letter-spacing:1.6px;font-weight:600;color:var(--muted);cursor:pointer;text-align:left}
.nav-section:first-child{margin-top:4px}.nav-section .chev{transition:transform .2s;font-size:10px}.nav-section[aria-expanded="false"] .chev{transform:rotate(-90deg)}
.nav-group[hidden]{display:none}
.brand{padding:0 7px 22px}.side-label{margin-bottom:6px}.side-bottom{padding-top:14px}.side-bottom p{margin:6px 0 10px;font-size:13px}
.speak{gap:4px}.speak svg{width:16px;height:16px;flex:none}.speak .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.vod-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.vod-f span{overflow-wrap:anywhere}
.small,small{font-size:12.5px}
h1,h2,.turkish,.tr{font-family:var(--serif)}
h1{letter-spacing:-1.2px}h2{letter-spacing:-.4px}
.page-heading h1{font-size:clamp(28px,4vw,38px);text-wrap:balance}h2{text-wrap:balance}
.prose p,.reading-text p{max-width:68ch}
.stat-label{font-size:12px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.nav-count{background:var(--accent);color:#fff;font-weight:700;font-size:11px;min-width:20px;text-align:center}
body.dark .nav-count{color:#1f2826}
.lesson-num{color:var(--muted);opacity:.35}
.badge{opacity:.62;filter:grayscale(.8)}.badge small{color:var(--muted)}

.m-tile2,.m-tile2.hi{background:var(--panel);color:var(--ink);gap:6px;border-left:4px solid color-mix(in srgb,var(--green) calc(var(--m)*1%),var(--line))}
.m-top{display:flex;justify-content:space-between;align-items:baseline}.m-top b{font:20px var(--serif)}.m-pct{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.m-title{font-size:13px;line-height:1.35}.m-meter{height:4px;background:var(--line);border-radius:2px;overflow:hidden;margin-top:auto}.m-meter i{display:block;height:100%;width:calc(var(--m)*1%);background:var(--green)}
.m-tile2 small{color:var(--muted);margin-top:0}.m-tile2 .due{color:var(--accent);font-weight:600}
.legend i{background:color-mix(in srgb,var(--green) calc(var(--m)*1%),var(--line))}
.badge{opacity:1;filter:none;background:transparent}.badge:not(.earned) span{filter:grayscale(1);opacity:.45}.badge:not(.earned) b{color:var(--muted)}
.lesson-num{opacity:1;color:color-mix(in srgb,var(--muted) 60%,var(--panel))}
/* ===== refinement pass 1: shared quiz, course ===== */
.q-top{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.q-prompt{margin:16px 0 12px;font-size:18px;line-height:1.45}.q-prompt[lang=tr]{font-family:var(--serif);font-size:21px}
.choice{display:flex;gap:12px;align-items:baseline;text-align:left}.choice .key{flex:none;width:22px;height:22px;border-radius:6px;border:1px solid var(--line);font:600 11px/20px var(--sans);text-align:center;color:var(--muted)}
@media(hover:none){.choice .key{display:none}}
.q-form input{font:19px var(--serif)}.q-actions{margin-top:10px;gap:14px;align-items:center}
.hint{background:var(--bg);border-left:3px solid var(--gold);padding:10px 14px;border-radius:6px;font-size:14px;margin-top:10px}
.fb-label{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:12px 0 2px;font-weight:600}
.fb-target{font-size:20px;margin:0}.fb-explain{margin:10px 0 0}.q-next{margin-top:14px}
.result .eyebrow{margin-bottom:6px}.result-score{font:40px/1.1 var(--serif);margin:0 0 6px;font-variant-numeric:tabular-nums}.result .row{margin-top:14px}
.only-narrow{display:none}@media(max-width:1100px){.only-narrow{display:flex}}
.lesson-after{display:grid;gap:18px;margin-top:22px;max-width:calc(100% - 0px)}
.lesson-pager{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pager{display:flex;flex-direction:column;gap:2px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--panel)}.pager.next{text-align:right}.pager small{color:var(--muted)}.pager span{font:17px var(--serif)}.pager:hover{border-color:var(--accent)}
.rule .eyebrow{display:block;margin-bottom:6px}
.course-next{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:20px;border-left:4px solid var(--accent)}.course-next h2{margin:0 0 4px}.course-next .eyebrow{margin-bottom:6px}
.unit{margin-bottom:26px}.unit-head h2{font-size:22px;margin:2px 0}.unit-head p{margin:0}.unit-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.unit-lessons{display:grid;gap:6px}.unit-lessons summary{cursor:pointer;padding:6px 0}
.lesson-row{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-decoration:none;color:var(--ink);min-height:56px}
.lesson-row:hover{border-color:var(--accent)}.lr-num{font:20px var(--serif);color:var(--muted);font-variant-numeric:tabular-nums}.lr-title{font-weight:600;font-size:14.5px;display:flex;flex-direction:column}.lr-title small{font-weight:400;color:var(--muted);margin-top:2px}
.lr-meta{display:flex;gap:10px;align-items:center}.lesson-row.done{background:transparent}.lesson-row.done .lr-title{font-weight:500}.lesson-row.next{border:2px solid var(--accent)}
.ok-mark{color:var(--green);font-weight:700}
.cp-list{display:grid;gap:10px}.cp-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.cp-row.current{border:2px solid var(--accent)}.cp-main{display:flex;flex-direction:column}.cp-score{display:flex;gap:10px;align-items:center}
.exam-steps{display:flex;gap:4px 18px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 14px}.exam-steps li{font-size:12.5px;color:var(--muted);padding-bottom:4px;border-bottom:2px solid transparent}.exam-steps li.now{color:var(--ink);border-color:var(--accent);font-weight:600}.exam-steps li.done{color:var(--green)}
.progress-fill.good{background:var(--green)}.progress-fill.bad{background:var(--accent)}
.topic-list{display:grid;gap:4px}
@media(max-width:650px){.cp-row{grid-template-columns:auto 1fr}.cp-row>.row,.cp-score{grid-column:1/-1}.lesson-row{grid-template-columns:32px 1fr auto;padding:10px 12px}.lesson-pager{grid-template-columns:1fr}.pager.next{text-align:left}}
/* refinement pass 2: today */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero-title{font-family:var(--serif);font-size:clamp(28px,3.4vw,44px);line-height:1.1;margin:6px 0 10px;font-weight:500}
.home-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;margin-top:20px;align-items:start}
.home-side{display:grid;gap:16px}
.plan-list{display:grid;gap:8px;margin-top:12px}
.plan-row{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none;min-height:44px;background:var(--panel)}
.plan-row:hover{border-color:var(--accent)}
.plan-row .plan-check{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-variant-numeric:tabular-nums;border:1.5px solid var(--line);color:var(--muted)}
.plan-row.done .plan-check{background:var(--green);border-color:var(--green);color:#fff}
.plan-row.done b{color:var(--muted);font-weight:500}
.plan-row.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.plan-row.current .plan-check{border-color:var(--accent);color:var(--accent);font-weight:700}
.plan-text{display:grid;gap:2px;min-width:0}.plan-text small{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis}
.plan-go{color:var(--accent);font-weight:600;font-size:14px;white-space:nowrap}
.plan-extra-label{margin-top:18px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.week-col.today small{font-weight:700;color:var(--ink)}.wk-m{font-size:11px;font-variant-numeric:tabular-nums;min-height:14px}
@media (max-width:900px){.home-grid{grid-template-columns:1fr}.hero-art{display:none}}
body.dark .hero-art svg{filter:brightness(.78) saturate(.85)}
@media (hover:none){.kbd,kbd.hint,.key-hint{display:none}}
.menu-close{display:none}.scrim{display:none}
@media (max-width:650px){
 .menu-close{display:grid;place-items:center;position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:transparent;font-size:28px;line-height:1;color:var(--ink);border-radius:10px;cursor:pointer}
 .menu-open .scrim{display:block;position:fixed;inset:0;background:#0006;z-index:9}
 .menu-open #sidebar{z-index:11}
}
@media (max-width:650px){.vod-f span{font-size:15px;overflow-wrap:break-word}.home-grid .card{padding:18px 16px}.plan-row{padding:10px 12px;gap:10px;grid-template-columns:28px 1fr auto}.hero-title{font-size:28px}}
.toast-undo{background:none;border:0;color:var(--gold);font:600 13px var(--sans);margin-left:10px;cursor:pointer;padding:6px 4px;text-decoration:underline}
.strengthen{margin-bottom:18px}.strengthen-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:12px}
.strengthen-item{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:inherit;text-decoration:none;min-height:44px}.strengthen-item:hover{border-color:var(--accent)}.strengthen-item small{color:var(--muted)}
.m-collapsed summary{cursor:pointer;list-style:none;padding:10px 0;border-top:1px solid var(--line)}.m-collapsed summary::-webkit-details-marker{display:none}.m-collapsed summary h2{margin:0}.m-collapsed summary h2::after{content:' ▸';color:var(--muted);font-size:.7em}.m-collapsed[open] summary h2::after{content:' ▾'}
.search-hit{padding:12px 10px;border-radius:8px;color:inherit}.search-hit.selected{background:var(--accentsoft);outline:2px solid var(--accent);outline-offset:-2px}.search-tip{margin-top:8px}@media (hover:none){.search-tip{display:none}}
@media (max-width:650px){header .icon-button,header .avatar,#menu{min-width:44px;min-height:44px}}
.roadmap-old summary{cursor:pointer;list-style:none}.roadmap-old summary::-webkit-details-marker{display:none}.roadmap-old[open] summary{margin-bottom:12px}
.stats{grid-template-columns:repeat(4,1fr)}@media (max-width:650px){.stats{grid-template-columns:repeat(2,1fr)}}
.progress-grid{align-items:start}
.fc-n{font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted);min-height:13px}.forecast{height:150px}.forecast small{font-size:10px;white-space:nowrap}
.tabular{font-variant-numeric:tabular-nums}
.in-session .page-heading p,.in-session .page-heading>.row,.in-session .page-heading>button,.in-session .page-heading>div+*,.in-session .tabs{display:none}.in-session .page-heading h1{font-size:24px;margin:0}.in-session .page-heading{margin-bottom:8px;padding-bottom:0}
.listen-front{display:flex;gap:12px;align-items:center;justify-content:center;margin:18px 0}
.card-links{justify-content:center;gap:16px;align-items:center;margin:12px 0}
@media (hover:none){.rating-grid small .k,.hover-only{display:none}}
.back-link{margin-bottom:10px}
@media (max-width:650px){.word-detail>aside.card{order:-1}
 .browse-table,.browse-table tbody,.browse-table tr,.browse-table td{display:block}.browse-table thead{display:none}
 .browse-table tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
 .browse-table td{padding:0;border:0}.browse-table td:nth-child(1){grid-column:1}.browse-table td:nth-child(2){grid-column:1/-1;grid-row:2}.browse-table td:nth-child(3){display:none}.browse-table td:nth-child(4){grid-column:2;grid-row:1;align-self:center}}
.m-tile.wrong{border-color:var(--accent);background:var(--accentsoft);animation:shake .35s}
.w-row.shake{animation:shake .35s}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media (prefers-reduced-motion:reduce){.m-tile.wrong,.w-row.shake{animation:none}}
.w-keys div{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;margin-bottom:4px}.w-keys button{min-height:48px;min-width:0;padding:0}.w-keys .wide{grid-column:span 2}
.phrase-row .text-button{white-space:nowrap}@media (max-width:650px){.phrase-row{grid-template-columns:1fr!important;display:grid;gap:6px}}
.drill-opts{margin-top:16px}.drill-opts summary{cursor:pointer;display:flex;gap:10px;align-items:center;min-height:44px;flex-wrap:wrap}.drill-opts[open] summary{margin-bottom:12px}
.speak-nav{margin-top:16px;gap:10px}
.ep-player{align-self:start}
@media (max-width:650px){.keyboard button{min-width:40px;min-height:44px}.text-button{min-height:44px}.speak{min-width:44px;justify-content:center}.check-label{min-height:44px;display:inline-flex;align-items:center}
 .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}.tabs::-webkit-scrollbar{display:none}.tabs button,.tabs a{flex:none}}
.grid.equal .field input,.grid.equal .field select{width:100%}
.builder-head{gap:10px;margin-bottom:8px}.token-pool{margin-top:12px}
.reading-text .wg{white-space:nowrap}
.word-pop .text-button,.word-pop .icon-button{min-height:40px}
@media (max-width:650px){.word-pop.sheet{position:fixed!important;left:0!important;right:0;bottom:0;top:auto!important;width:auto!important;max-width:none!important;border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));z-index:60;box-shadow:0 -8px 30px #0003}.word-pop .text-button,.word-pop .icon-button{min-height:44px;min-width:44px}}
.level-chips{margin:8px 0 4px;gap:8px}.level-chips .chip{text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.reading-level>summary{cursor:pointer;list-style:none}.reading-level>summary::-webkit-details-marker{display:none}
.lesson-card>.pill{align-self:flex-start}
a.practice-card{text-decoration:none;color:inherit}
.series-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px}
.reader-tools{gap:8px 12px}.reader-opts{gap:8px 14px;flex-basis:100%}
.gloss .row{flex-wrap:nowrap}.gloss .text-button{white-space:nowrap}
.series-shelf p{margin-top:6px}
@media (max-width:650px){.series-shelf>.row{flex-direction:column;align-items:flex-start;gap:12px}.reader-tools .check-label{min-height:44px}}
.toolbar label{display:inline-flex;align-items:center;gap:8px}
a.button{text-decoration:none;display:inline-flex;align-items:center}
.reading-text.inline{font:inherit;line-height:inherit;margin:0;max-width:none;white-space:normal}.reading-text.inline .w{font:inherit}
.culture-card h3{font:20px/1.25 var(--serif);margin:8px 0 6px}.culture-card p{font-size:13px}.culture-card.done{border-color:var(--green)}
@media (max-width:650px){.kin-head{display:none}.kin-row{grid-template-columns:1fr;gap:6px;border-top:1px solid var(--line);padding-top:10px}.kin-gen{font-weight:700;color:var(--ink);padding:0}
 .kin-cell:empty{display:none}.kin-cell::before{content:attr(data-side-label);display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}}
.lesson-num{color:#868b86}body.dark .lesson-num{color:#7d867f}
.choice:disabled{opacity:1;color:var(--ink)}.choice:disabled:not(.correct):not(.wrong){opacity:.6}
.sc-npc .tr{font:20px/1.5 var(--serif)}
.reading-text button{border-bottom:0}.reading-text .w{border-bottom:1px dotted var(--line)}
.toolbar .secondary{white-space:nowrap}
body.pop-open #main{padding-bottom:240px}
.kin-inline{margin:6px 0 10px}@media (min-width:901px){.kin-inline{display:none}}@media (max-width:900px){#kin-detail{display:none}}
@media (max-width:650px){.tabs{mask-image:linear-gradient(90deg,#000 85%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent)}}
.level-chips{margin:28px 0 4px;align-items:center}.level-chips .chip{min-height:44px;min-width:44px;justify-content:center}
.reading-level>summary h2::before{content:'▸ ';color:var(--muted);font-size:.7em}.reading-level[open]>summary h2::before{content:'▾ '}
.self-check li{margin-bottom:6px}
.missed-list{display:grid;gap:8px;margin:12px 0}.missed{padding:10px 12px;border-left:3px solid var(--accent);background:var(--bg);border-radius:6px}
#sidebar{overflow-y:auto!important;scrollbar-width:thin}#nav{flex:none;overflow:visible;min-height:auto}
.ex-actions{flex-wrap:wrap;gap:4px 14px}.ex-actions .text-button{white-space:nowrap}
.feedback.error .fb-explain{color:var(--ink)}
.prose.pron-hidden{filter:blur(6px);pointer-events:none;user-select:none}
.button svg,.secondary svg{width:18px;height:18px;flex:none}.button,.secondary{gap:6px}
.token-diff{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}.tk{padding:4px 8px;border-radius:6px;font-family:var(--serif)}.tk.ok{background:var(--sage);color:var(--green)}.tk.off{background:var(--accentsoft);color:var(--accent);text-decoration:underline wavy}
.q-next{flex-wrap:wrap}.q-next .button,.q-next .secondary{white-space:nowrap}
@media (max-width:650px){.practice-card>:not(.symbol){grid-column:2}.practice-card .symbol{grid-row:1/span 3}.word-detail>aside.card{order:0}.word-detail table{font-size:14px}}
.toolbar>label{align-items:flex-start}
.dict-lemma{display:grid;grid-template-columns:20px 1fr;align-items:center}
.conc mark,.dict mark{padding:0 1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.conc .row{flex-wrap:wrap}.conc .row button{white-space:nowrap}
.m-tile2 small{opacity:1}
.plan-handoff{margin:14px 0}
.dict-row .pill{justify-self:start}.dict-row.two{grid-template-columns:1fr auto;align-items:center}.dict-row.two .pill{justify-self:end}
#drill-area .feedback,.drill .feedback{text-align:left}
.dict-row .pill{justify-self:start}.dict-row.two{grid-template-columns:1fr auto;align-items:center}.dict-row.two .pill{justify-self:end}
#drill-area .feedback,.drill .feedback{text-align:left}
@media (max-width:650px){.tabs{flex-wrap:wrap!important;overflow:visible!important;margin-inline:0!important;padding-inline:0!important;mask-image:none!important;-webkit-mask-image:none!important;gap:6px}}
