@font-face{font-family:'Open Sans';src:url(fonts/os-latin-ext.woff2) format('woff2');font-weight:300 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Open Sans';src:url(fonts/os-latin.woff2) format('woff2');font-weight:300 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#F5F2EC;--card:#ECE7DF;--card2:#E7E1D7;--ink:#1F2433;--mut:#8C8679;--line:#DED7CC;--navy:#1E2235;
--love:#D49AA2;--wealth:#E0A54A;--success:#8EA68A;--custom:#9CA6D4;--tech:#C9715A;
--serif:"Open Sans",system-ui,sans-serif;--sans:"Open Sans",system-ui,sans-serif;--w:#fff;--w7:var(--w7);--fade:var(--fade)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
.warm{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 40% at 85% 0%,rgba(240,190,200,.28),transparent 70%),radial-gradient(50% 35% at 0% 100%,rgba(245,205,190,.22),transparent 70%)}
header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 10px) 18px 8px;background:linear-gradient(var(--bg) 70%,var(--fade))}
header h1{flex:1;margin:0;text-align:center;font:500 16px var(--serif);color:var(--mut)}
.rb{width:40px;height:40px;border-radius:50%;border:0;background:var(--w7);display:grid;place-items:center;cursor:pointer}
.rb svg,nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.rb{color:var(--ink)}
#back{visibility:hidden}body.home header h1{visibility:hidden}
main{max-width:520px;margin:0 auto;padding:4px 22px calc(120px + env(safe-area-inset-bottom))}
.date{font:400 15px var(--serif);color:var(--mut);margin:0 0 6px}
h2.disp{font:400 36px/1.15 var(--serif);letter-spacing:-.01em;margin:10px 0 18px}h2.disp em,.accent{font-style:normal;color:var(--love)}
.sq{display:inline-block;position:relative}.sq svg{position:absolute;left:-2px;right:0;bottom:-10px;width:105%;height:14px;fill:none;stroke:var(--wealth);stroke-width:2;stroke-linecap:round}
.label{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--w7);border-radius:99px;padding:7px 13px;font-size:13px}
.card{background:var(--card);border-radius:24px;padding:20px;margin-bottom:16px}
.orbwrap{display:flex;justify-content:center;margin:26px 0 30px}
.orb{width:220px;height:220px;border-radius:50%;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);
background:radial-gradient(circle at 30% 25%,#fff6f1 0%,transparent 45%),linear-gradient(135deg,#f6c6c9 0%,#f3d3bf 35%,#c9d6ec 75%,#b7c7e6 100%);box-shadow:0 30px 60px -20px rgba(200,150,170,.45),inset 0 -10px 30px rgba(255,255,255,.35);animation:breathe 7s ease-in-out infinite}
.orb b{font:400 26px var(--serif)}.orb small{margin-top:6px}.orb .sub{font-size:12px;color:#6d6a72;margin-top:10px}
@keyframes breathe{50%{transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.sw{display:flex;justify-content:space-between;margin:6px 0 26px}.sw button{background:none;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;color:var(--ink)}
.blob{width:54px;height:50px;border-radius:58% 42% 55% 45%/50% 58% 42% 50%}.blob.sm{width:12px;height:11px;display:inline-block;vertical-align:-1px}
.b-love{background:var(--love)}.b-wealth{background:var(--wealth)}.b-success{background:var(--success)}.b-custom{background:var(--custom)}.b-tech{background:var(--tech)}
.week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:4px;margin:10px 0 24px}.week span{font-size:11px;color:var(--mut)}.week span.t{color:var(--ink);font-weight:700}
.week i{display:block;width:10px;height:9px;margin:10px auto 0;border-radius:58% 42% 55% 45%/50% 58% 42% 50%}.week i.ring{border:1.5px solid var(--mut);background:none}.week i.none{background:transparent}
.ref .label{color:var(--wealth)}.ref p{font:400 19px/1.45 var(--serif);margin:10px 0 0}.ref p em{color:var(--success)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:99px;padding:13px 22px;font:600 15px var(--sans);background:var(--navy);color:#fff;cursor:pointer;margin-top:12px}
.btn.full{width:100%}.btn.ghost{background:var(--w7);color:var(--ink)}.row{display:flex;gap:10px}.row>*{flex:1}
.rec{background:var(--tech);color:#fff;border-radius:24px;padding:20px;display:flex;align-items:center;gap:14px;margin-bottom:22px;cursor:pointer}
.rec .label{color:var(--w7)}.rec h3{font:400 22px var(--serif);margin:6px 0 4px}.rec p{margin:0;font-size:13px;opacity:.85}.rec .play{width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.25);display:grid;place-items:center;flex:none;font-size:18px}
.entries .e{display:flex;gap:14px;cursor:pointer;padding-bottom:18px;position:relative}.entries .e::before{content:"";position:absolute;left:8px;top:22px;bottom:4px;border-left:1px solid var(--line)}.entries .e:last-child::before{display:none}
.entries .blob.sm{width:18px;height:15px;flex:none;margin-top:3px}.entries h4{margin:0;font:500 17px var(--serif)}.entries p{margin:4px 0 0;font-size:13.5px;color:#6b665c;line-height:1.45}.entries .when{font-size:10.5px;letter-spacing:.12em;color:var(--mut);text-transform:uppercase;white-space:nowrap}
.study{min-height:54vh;display:flex;flex-direction:column;justify-content:center;text-align:center;cursor:pointer;position:relative;padding:34px 24px}
.study .label{margin-bottom:18px}.front{font:400 25px/1.45 var(--serif)}.front .rest{font-style:normal;color:var(--love)}
.ans p,.ans li{font-size:16px;line-height:1.55;text-align:left}.ans ol,.ans ul{padding-left:20px;margin:6px 0}
.feel{margin-top:22px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.55);font:15px/1.5 var(--serif);color:#6b665c}
.hint{margin-top:26px}.fav{position:absolute;top:16px;right:16px;border:0;background:var(--w7);width:38px;height:38px;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.fav svg{width:18px;height:18px;fill:none;stroke:var(--love);stroke-width:1.8}.fav.on svg{fill:var(--love)}
.rate{position:fixed;left:0;right:0;bottom:0;z-index:6;padding:12px 16px calc(env(safe-area-inset-bottom) + 16px);background:linear-gradient(var(--fade),var(--bg) 30%)}
.rate .in{max-width:520px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.rate button{border:0;border-radius:20px;padding:11px 2px;font:600 14px var(--sans);color:var(--ink);cursor:pointer;background:var(--w)}
.rate i{display:block;font:11px var(--serif);color:var(--mut);margin-top:2px}.rate small{display:block;font-size:10.5px;color:var(--mut);margin-top:2px}
.rate .again{box-shadow:inset 0 -3px 0 var(--love)}.rate .hard{box-shadow:inset 0 -3px 0 var(--wealth)}.rate .good{box-shadow:inset 0 -3px 0 var(--success)}.rate .easy{box-shadow:inset 0 -3px 0 var(--custom)}
nav#tabs{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom) + 14px);z-index:5;display:flex;gap:2px;padding:7px 10px;border-radius:99px;background:var(--navy);box-shadow:0 12px 30px rgba(30,34,53,.25)}
nav#tabs button{border:0;background:none;color:rgba(255,255,255,.5);width:46px;height:40px;border-radius:99px;cursor:pointer;display:grid;place-items:center}nav#tabs button.on{color:#fff}
body.studying nav#tabs{display:none}
.dist .r{margin:14px 0}.dist .top{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}.dist .top b{color:var(--ink);letter-spacing:0;font-size:12px}
.tb{height:4px;background:var(--line);border-radius:9px;margin-top:7px;overflow:hidden}.tb i{display:block;height:100%;border-radius:9px}
.trend svg{width:100%;height:150px}.trend .ax{display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:.1em;color:var(--mut);text-transform:uppercase}
.nums{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.nums b{display:block;font:400 28px var(--serif)}.nums span{font-size:11px;color:var(--mut);letter-spacing:.1em;text-transform:uppercase}
.tech h2{font:400 30px/1.2 var(--serif);margin:8px 0 4px}.tech h4{margin:22px 0 8px}.tech p,.tech li{font-size:16px;line-height:1.6}.tech ol,.tech ul{padding-left:20px;margin:0}
.ex{background:rgba(255,255,255,.55);border-radius:18px;padding:14px;font:16px/1.55 var(--serif)}
.aff{padding:14px 0;border-bottom:1px solid var(--line);font:400 17px/1.45 var(--serif);display:flex;gap:10px}.aff:last-child{border:0}.aff .act{font:13px var(--sans);margin-top:6px}.aff .act button{background:none;border:0;color:var(--tech);font:inherit;cursor:pointer;padding:0 12px 0 0}
textarea,select,input{font:inherit;color:var(--ink);background:var(--w7);border:1px solid var(--line);border-radius:16px;padding:12px;width:100%}
textarea{min-height:110px;font-family:var(--serif);font-size:17px}label.f{display:block;margin:14px 0 8px}
.set{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.set:last-child{border:0}.set input{width:80px}
.done{text-align:center;padding:40px 18px}.done h2{font:400 28px var(--serif)}.mut{color:var(--mut);font-size:13px}
.head{display:flex;justify-content:space-between;align-items:flex-end;margin:4px 0 18px}.head h2.disp{margin:0}
.pill2{font-size:10.5px;letter-spacing:.14em;font-weight:600;text-transform:uppercase;background:var(--card);border-radius:99px;padding:8px 12px;color:var(--mut)}
/* language-app extras */
.sw.few{justify-content:space-around}.sw .blob{display:grid;place-items:center;transition:transform .2s}.sw .blob em{font:500 17px var(--serif);color:rgba(255,255,255,.95)}
.sw button.sel .blob{transform:scale(1.08);box-shadow:0 0 0 3px var(--bg),0 0 0 4.5px var(--ink)}.sw .label{font-size:9.5px;letter-spacing:.12em}
.seg{display:flex;background:var(--card);border-radius:99px;padding:4px;margin:0 0 12px}.seg button{flex:1;border:0;background:none;padding:9px 6px;border-radius:99px;font:500 13px var(--sans);color:var(--mut);cursor:pointer}
.seg button.on{background:var(--w);color:var(--ink);box-shadow:0 2px 8px rgba(60,50,30,.06)}
.chunk{border-radius:7px;padding:1px 5px;margin:0 1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.k1{background:#F3DCDF;color:#8A4B54}.k2{background:#F3E2BF;color:#7A5418}.k3{background:#DDE6D9;color:#46603F}.k4{background:#DFE2F3;color:#46518C}.k5{background:#F1D7CC;color:#86412C}.k6{background:#E8DEEE;color:#664A76}
.ref p.pt{font:400 17px var(--serif);color:var(--mut);margin:8px 0 10px}#potd{cursor:pointer}
.sent{padding:13px 0;border-bottom:1px solid var(--line)}.sent:last-child{border:0}.sent .tg{font:400 19px/1.6 var(--serif)}.sent .en{font-size:14px;line-height:1.7;margin-top:4px;color:#5d584f}
.rom{display:block;font:13px var(--serif);color:var(--mut);margin-top:4px}.exko{display:block;margin-top:4px;font-size:13px;font-style:normal;font-family:var(--sans)}
.study .front{font-size:23px;line-height:1.7}.back{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:16px;line-height:1.8}
.spk{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}.speak{display:inline-flex;align-items:center;gap:6px;border:0;background:var(--w7);border-radius:99px;padding:8px 14px;font:500 13px var(--sans);color:var(--ink);cursor:pointer}
.speak svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.speak.mini{padding:4px 7px;vertical-align:2px}
.lvchips{display:flex;gap:8px;overflow-x:auto;margin:0 0 18px;padding-bottom:2px}.lvchips button{border:0;background:var(--card);border-radius:99px;padding:8px 14px;font:600 13px var(--sans);color:var(--mut);cursor:pointer;white-space:nowrap}
.lvchips button.on{background:var(--w);color:var(--ink);box-shadow:0 2px 8px rgba(60,50,30,.06)}.rec h3{font-size:20px}
.entries .when{text-align:right;line-height:1.6}.done h2 em{color:var(--love)}
label.set select,label.set input[type=number]{width:90px}
.sw button{width:19%}.sw.few button{width:28%}.sw .label{font-size:8.5px;letter-spacing:.08em;text-align:center;line-height:1.3}

/* Korean text: Open Sans Bold + Noto Sans KR Bold */
.ko,.ko .chunk,.sent .tg,.lvchips button,.sw .blob em{font-family:var(--sans);font-weight:700;font-style:normal}
html[lang=ko] body,html[lang=ko] button,html[lang=ko] .label{font-family:var(--sans)}
html[lang=ko] .label,html[lang=ko] .mut,html[lang=ko] .seg button,html[lang=ko] .chip{font-weight:700}
.study .front .ko{font-size:22px;letter-spacing:-.01em}.back .ko{font-size:17px}.sent .tg{font-size:17px}
/* v4: EN-learner list UI */
.tv{color:#C2525E;background:#F8E3E5;border-radius:5px;padding:0 1px;font-style:normal}
.tn{color:#3E63B0;background:#E2E9F7;border-radius:5px;padding:0 1px;font-style:normal}
.legend{display:flex;gap:14px;font-size:12.5px;color:var(--mut);margin:16px 2px 10px}.legend i{font-style:normal;font-weight:700;font-size:12px}
.btn.big{min-height:56px;font-size:16.5px;border-radius:28px;margin-top:4px}
.list{background:var(--card);border-radius:24px;padding:4px 16px}
.li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer;min-height:60px}.li:last-child{border:0}
.li .blob{width:26px;height:23px;flex:none}.lt{flex:1;min-width:0}.lt h4{margin:0;font:600 16.5px var(--sans)}.lt p{margin:3px 0 0;font-size:13px;color:#6b665c;line-height:1.45}
.lt h4.enp,.disp.enp{font-family:var(--serif);font-weight:500}.chev{font-size:24px;color:var(--mut)}.due{color:var(--tech)}
.num{font:13px var(--serif);color:var(--mut);width:28px;flex:none;text-align:center}
.side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.side small{font-size:11px;color:var(--mut)}
.lvt{font-size:11px;font-weight:700;border-radius:99px;padding:3px 9px;color:#fff}.lv1{background:var(--success)}.lv2{background:var(--wealth)}.lv3{background:var(--tech)}
.kexp{font-size:15px;line-height:1.6;color:#5d584f;margin:-6px 0 18px}
.lvchips button{min-height:40px;padding:8px 16px}
.sent .ko{font-size:17px;line-height:1.7}.sent .en{font:400 17px/1.7 var(--serif)!important;color:var(--ink)!important;margin-top:6px}
.study .front.ko{font-size:22px;line-height:1.7}.back.en{font:400 22px/1.6 var(--serif)}
body.home #back{visibility:hidden}
/* v5 */
nav#tabs button{width:auto!important;padding:0 12px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:600 10.5px var(--sans)}nav#tabs button span{font-size:10.5px}
.rate.big{padding:10px 12px calc(env(safe-area-inset-bottom) + 12px);background:linear-gradient(var(--fade),var(--bg) 22%)}
.rate.big .in{gap:8px}.rate.big button{min-height:72px;border-radius:22px;font-size:17px;box-shadow:0 6px 18px rgba(60,50,30,.08)}
.rate.big button b{display:block;font:700 17px var(--sans)}.rate.big small{font-size:12px;margin-top:4px}
.rate.big .again{background:#FBE9EB;box-shadow:inset 0 -4px 0 #D9757F}.rate.big .hard{background:#FAEFD9;box-shadow:inset 0 -4px 0 #D9A14A}.rate.big .good{background:#E5F0E6;box-shadow:inset 0 -4px 0 #6FA27A}.rate.big .easy{background:#E4EAF7;box-shadow:inset 0 -4px 0 #6F8FD0}
body.revealed main{padding-bottom:calc(140px + env(safe-area-inset-bottom))}
.pos{font-size:11px;font-weight:700;border-radius:99px;padding:3px 9px;background:var(--card2);color:var(--ink)}.pos.pn{background:#E2E9F7;color:#3E63B0}.pos.pv{background:#F8E3E5;color:#C2525E}.pos.pa{background:#EFE5F5;color:#7D5A9A}.pos.pd{background:#E5F0E6;color:#4E7A57}
.wex{margin-top:14px;text-align:left}.wex p{margin:0}.wex p.en{font:400 16px/1.6 var(--serif);margin-top:10px}.wex p.ko{font-size:13px;color:var(--mut)}
.study .front .ko{line-height:1.5}
/* Satzmuster: prompt in sans bold, German answer in serif, keep colour-matched chunks */
.de{font:400 22px/1.6 var(--serif)}
.sent .de{font:500 18px/1.7 var(--serif);color:var(--ink)}
.sent .en2{font-size:14.5px;line-height:1.6;color:#5d584f;margin-top:4px}
.lvt.lvA1{background:#8EA68A}.lvt.lvA2{background:#E0A54A}.lvt.lvB1{background:#D49AA2}.lvt.lvB2{background:#9CA6D4}.lvt.lvC1{background:#C9715A}
.spk{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}

/* ---- v2: Open Sans everywhere, verb/noun colours, categories, articles, verbs, night mode ---- */
body,button,input,select{font-family:var(--sans)}
h2.disp{font-weight:700;letter-spacing:-.02em}h2.disp em{font-style:normal}
.tv{color:#C2414F;background:none;font-weight:700;padding:0}.tn{color:#2F5FC0;background:none;font-weight:700;padding:0}
.legend i.tv,.legend i.tn{font-style:normal}
.li.feat{margin:14px 0 0;background:var(--card);border-radius:22px;padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer}
.art3{display:flex;gap:3px}.art3 b{font-size:11px;padding:4px 6px;border-radius:8px;color:#fff}
.g-m{color:#2F5FC0}.g-f{color:#C2414F}.g-n{color:#3C8A55}
.art3 .g-m,.artb .g-m{background:#2F5FC0;color:#fff}.art3 .g-f,.artb .g-f{background:#C2414F;color:#fff}.art3 .g-n,.artb .g-n{background:#3C8A55;color:#fff}
.artn{font:700 36px var(--sans);margin-top:6px}.artb{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.artb button{border:0;border-radius:20px;min-height:64px;font:700 22px var(--sans);cursor:pointer;transition:transform .12s,opacity .2s}.artb button:active{transform:scale(.95)}
.artb button:disabled{opacity:.35}.artb button.right{opacity:1;outline:4px solid #6FA27A;outline-offset:2px}.artb button.wrong{opacity:1;outline:4px dashed #D9757F;outline-offset:2px}
.artres{font:700 18px var(--sans);margin-bottom:4px}.artres.ok{color:#3C8A55}.artres.no{color:#C2414F}
.rate button.sugg{transform:translateY(-4px);outline:3px solid var(--ink);outline-offset:-3px}
.conj{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 18px}.conj div{background:var(--card);border-radius:16px;padding:10px 12px}.conj .w2{grid-column:span 2}
.conj small{display:block;font-size:11px;color:var(--mut)}.conj b{font-size:16px;color:#C2414F}
.swipehint{font-size:13px!important;font-weight:600}.swipehint .q0{color:#C2414F}.swipehint .q2{color:#3C8A55}
.swtip{text-align:center;font-size:12px;color:var(--mut);margin:6px 0 0}
.navhint{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom) + 92px);z-index:6;display:flex;align-items:center;gap:6px;background:var(--navy);color:#fff;border-radius:99px;padding:4px;box-shadow:0 8px 22px rgba(0,0,0,.2);font-size:12.5px;white-space:nowrap}
.navhint button{width:40px;height:40px;min-height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font:700 22px var(--sans);cursor:pointer}.navhint button:disabled{opacity:.3}
#app.slidenext{animation:gslide2 .26s ease-out}@keyframes gslide2{from{opacity:.4;transform:translateX(24px)}to{opacity:1;transform:none}}
html.dark{--bg:#14161F;--card:#1F2230;--card2:#252939;--ink:#ECEAF2;--mut:#9A98A8;--line:#2E3244;--navy:#3A4166;--w:#262A3A;--w7:rgba(40,44,62,.85);--fade:rgba(20,22,31,0);color-scheme:dark}
html.dark .warm{background:radial-gradient(60% 40% at 85% 0%,rgba(120,90,140,.22),transparent 70%),radial-gradient(50% 35% at 0% 100%,rgba(80,110,150,.18),transparent 70%)}
html.dark .tv,html.dark .conj b{color:#FF7F8C}html.dark .tn{color:#7FA8FF}html.dark .g-m{color:#7FA8FF}html.dark .g-f{color:#FF7F8C}html.dark .g-n{color:#7FD39A}
html.dark .art3 .g-m,html.dark .artb .g-m{background:#3F6FD0;color:#fff}html.dark .art3 .g-f,html.dark .artb .g-f{background:#C8505E;color:#fff}html.dark .art3 .g-n,html.dark .artb .g-n{background:#3F9A60;color:#fff}
html.dark .rate.big .again{background:#3A2429}html.dark .rate.big .hard{background:#3A3122}html.dark .rate.big .good{background:#22352A}html.dark .rate.big .easy{background:#232D44}
html.dark .orb{filter:saturate(.8) brightness(.85)}html.dark input,html.dark select{background:var(--card2);color:var(--ink);border-color:var(--line)}
html.dark .lvt,html.dark .pos{filter:brightness(.85)}html.dark .navhint{background:#2A3050}
html.dark .kexp{color:#B9B7C6}html.dark p.mut{background:none}
/* podcast */
.podlv{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.podl{border:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;margin:0;color:var(--ink);font-family:var(--sans)}.podl b{font-size:26px}.podl small{color:var(--navy);font-weight:600}
.podc{text-align:center;position:sticky;top:calc(env(safe-area-inset-top) + 56px);z-index:2}.podc .orb.sm{width:64px;height:64px;margin:0 auto 8px;cursor:default}.podc .now{font-size:18px;margin:2px 0 12px;min-height:22px}.podc .nowc{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.podc input[type=range]{width:100%;accent-color:var(--navy);height:28px}.tm{display:flex;justify-content:space-between;font-size:12px;color:var(--mut)}
.ctl{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.ctl .rb{width:48px;height:48px;border:0;background:none;display:grid;place-items:center;cursor:pointer}.ctl .rb svg{width:26px;height:26px}
.ctl .pp{width:68px;height:68px;border-radius:50%;border:0;background:var(--navy);color:#fff;display:grid;place-items:center;cursor:pointer}.ctl .pp svg{width:30px;height:30px}
.chc{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin:18px 4px 6px}.chs{padding-bottom:20px}
.ch{display:flex;width:100%;justify-content:space-between;gap:10px;border:0;background:none;padding:12px 12px;border-radius:14px;text-align:left;font:500 15px var(--sans);color:var(--ink);cursor:pointer}.ch time{color:var(--mut);font-size:13px;font-variant-numeric:tabular-nums}.ch.on{background:var(--card);font-weight:700}.ch.on time{color:var(--ink)}
.hd.sm{font-size:17px;margin:20px 4px 0}.mut.sm{font-size:12px}.mut.sm a{color:inherit}
.hd{font:600 22px var(--sans);margin:4px 0 8px}
.podmode{display:flex;gap:8px;margin:10px 0 12px}.podmode button{flex:1;border:0;border-radius:18px;padding:10px 8px;background:var(--card);color:var(--ink);font:600 14px var(--sans);display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}.podmode button small{font-weight:500;font-size:11px;color:var(--mut)}.podmode button.on{background:var(--navy);color:#fff}.podmode button.on small{color:rgba(255,255,255,.7)}
/* ===== de14: classic cream/beige + navy design (restored), with styles for de12 features ===== */
.tgt{font-weight:700!important}.oth{font-weight:400!important}
.sent{position:relative;padding-right:40px}.sent .sp1{position:absolute;right:0;top:12px}
.wex .sm{font-size:.92em;opacity:.85}
.tv{color:#D93A4A!important;font-weight:inherit}.tn{color:#2F62C9!important;font-weight:inherit}
.tgt .tv,.tgt .tn{font-weight:800!important}
.speak.big{padding:12px 22px;font-size:15px;background:var(--navy);color:#fff}
.lvgrid{display:grid;gap:10px}
.li.lvcard{background:var(--card);border-radius:22px;padding:16px;gap:14px}
.li.lvcard h4{font-size:17px;margin:0}
.lvbig{font:700 22px var(--sans);width:54px;height:54px;border-radius:50% 46% 52% 44%;background:var(--g);color:#fff;display:grid;place-items:center;flex:none}
.atoast{position:fixed;left:50%;bottom:calc(150px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;background:var(--navy);color:#fff;border-radius:16px;padding:12px 16px;display:flex;gap:12px;align-items:center;font-size:14px;max-width:92vw;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.atoast button{border:0;border-radius:99px;padding:7px 12px;background:#D49AA2;color:#1E2235;font:600 13px var(--sans)}
.avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:none;color:#fff;font:700 20px var(--sans);background:#D49AA2}.avatar.xl{width:84px;height:84px;font-size:36px;margin:0 auto}
.seg{display:flex;background:var(--card2);border-radius:99px;padding:4px;margin-bottom:16px}.seg button{flex:1;border:0;background:none;border-radius:99px;padding:10px;font:600 14px var(--sans);color:var(--ink)}.seg button.on{background:var(--navy);color:#fff}
.fl{display:block;font-size:13px;color:var(--mut);margin-bottom:12px}.fl input{display:block;width:100%;margin-top:6px;padding:13px 14px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:400 16px var(--sans)}
.err{color:#C9505E;min-height:18px;font-size:13px;margin:4px 0 10px}
.bars{display:flex;gap:4px;align-items:flex-end;height:150px;margin-top:12px}.bc{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bw{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end}.bw i{display:block;width:100%;border-radius:4px;margin-top:1px}
.bc small{font-size:9px;color:var(--mut);height:12px}.bc span{font-size:10px;color:var(--mut)}
.again{--q:#D49AA2}.hard{--q:#E0A54A}.good{--q:#8EA68A}.easy{--q:#9CA6D4}.bw i,.qleg i{background:var(--q)}
.qleg{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px}.qleg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.hday summary{display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;list-style:none;flex-wrap:wrap}.hq em,.hrow em{font-style:normal;font-size:11px;font-weight:700;color:#fff;background:var(--q);border-radius:99px;padding:3px 8px;margin-left:4px}
.hrow{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.hrow time{font-size:12px;color:var(--mut);width:40px;flex:none}.hrow div{flex:1;min-width:0}.hrow small{font-size:11px;color:var(--mut)}.hrow p{margin:2px 0 0;font-size:14px}
/* dark: deep navy, warm muted surfaces, cream text */
html.dark{--bg:#161A2A;--card:#242838;--card2:#2C3042;--ink:#F1EBDF;--mut:#A39E92;--line:#363B50;--navy:#F1EBDF;--w:#262A3A;--w7:rgba(36,40,56,.88);--fade:rgba(22,26,42,0)}
html.dark .btn,html.dark .speak.big,html.dark .seg button.on,html.dark .atoast,html.dark .ctl .pp,html.dark .podmode button.on{background:#F1EBDF;color:#1E2235}
html.dark .podmode button.on small{color:#5A5F73}
html.dark nav#tabs{background:#F1EBDF;box-shadow:0 12px 30px rgba(0,0,0,.45)}
html.dark nav#tabs button{color:#7A7F92}html.dark nav#tabs button.on,html.dark nav#tabs button[aria-current]{color:#1E2235}
html.dark .navhint{background:#F1EBDF;color:#1E2235}
html.dark .lvbig,html.dark .avatar{filter:saturate(.8) brightness(.9)}
html.dark .tv,html.dark .conj b{color:#FF8A96!important}html.dark .tn{color:#8DB0FF!important}
html.dark .podc input[type=range]{accent-color:#D49AA2}
html.dark #back#back{background:#F1EBDF!important;color:#1E2235!important}html.dark #back svg{stroke:#1E2235!important}html.dark #updToast{background:#F1EBDF;color:#1E2235}
/* ---- v16: docked full-width tab bar ---- */
nav#tabs{left:0;right:0;transform:none;bottom:0;width:100%;border-radius:22px 22px 0 0;justify-content:space-around;gap:0;padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:rgba(250,247,241,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid rgba(30,34,53,.07);box-shadow:0 -6px 24px rgba(60,50,30,.07)}
nav#tabs button{flex:1;max-width:96px;height:auto!important;padding:2px 0!important;color:#8A8578!important;gap:3px!important;font:600 10.5px var(--sans)!important;letter-spacing:.01em}
nav#tabs button i{display:grid;place-items:center;width:46px;height:30px;border-radius:99px;transition:background .2s,color .2s}
nav#tabs svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
nav#tabs button.on{color:var(--navy,#1E2235)!important}nav#tabs button.on i{background:#F1DCD6;color:#B5564A}
nav#tabs button.on svg{fill:currentColor;fill-opacity:.16;stroke-width:1.9}
main{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
html.dark nav#tabs{background:rgba(24,27,42,.94);border-top:1px solid rgba(255,255,255,.07);box-shadow:0 -6px 24px rgba(0,0,0,.35)}
html.dark nav#tabs button{color:#8D90A3!important}html.dark nav#tabs button.on{color:#F1EBDF!important}html.dark nav#tabs button.on i{background:rgba(217,115,95,.22);color:#F0A595}
/* ---- v16: warm level cards ---- */
.li.lvcard{background:color-mix(in srgb,var(--g) 17%,var(--card));border:1px solid color-mix(in srgb,var(--g) 28%,transparent);box-shadow:none}
.li.lvcard h4{color:var(--ink)}.li.lvcard .lvbig{background:var(--g);border-radius:46% 54% 50% 50%/52% 46% 54% 48%;box-shadow:0 6px 14px color-mix(in srgb,var(--g) 35%,transparent)}
.li.lvcard .chev{color:color-mix(in srgb,var(--g) 80%,#333)}
html.dark .li.lvcard{background:color-mix(in srgb,var(--g) 20%,var(--card));border-color:color-mix(in srgb,var(--g) 30%,transparent)}
html.dark .li.lvcard .chev{color:var(--g)}
html.dark .li.lvcard p{color:#B9B4A8}

.back .vex{margin-top:10px;overflow-wrap:anywhere}.back .vex p{margin:0}
