@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_f9e569{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_f9e569{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--bg:#0b0b0e;--bg-elev:#141417;--bg-elev-2:#1d1d22;--bg-hover:#26262c;--border:#2a2a31;--border-active:#3a3a42;--text:#e8ecf1;--text-dim:#8a94a3;--text-faint:#5a6470;--accent:#f59e0b;--accent-dim:#b97608;--accent-soft:rgba(245,158,11,0.12);--violet:#a855f7;--good:#84cc16;--warn:#fbbf24;--bad:#ef4444;--info:#3b82f6;--cyan:#22d3ee;--radius:10px;--radius-sm:6px;--radius-pill:999px;--maxw:880px;--mono:var(--font-mono),"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--tracking-tag:0.14em}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;color-scheme:dark}body{background:var(--bg);background-image:radial-gradient(circle,rgba(255,255,255,.025) 1px,transparent 0);background-size:18px 18px;background-attachment:fixed;color:var(--text);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom);overflow-wrap:break-word}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--mono)}h1{font-size:1.4rem;font-weight:700;letter-spacing:-.01em}h2{font-size:1rem;letter-spacing:.01em}h2,h3{font-weight:600}h3{font-size:.9rem}small{color:var(--text-faint)}code{font-family:var(--mono);font-size:.85em;background:var(--bg-elev-2);padding:1px 5px;border-radius:var(--radius-sm)}::selection{background:rgba(245,158,11,.3);color:var(--text)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--border-active)}.wrap{max-width:var(--maxw);margin:0 auto;padding:16px}.appchrome{position:-webkit-sticky;position:sticky;top:0;z-index:20;transition:transform .26s cubic-bezier(.4,0,.2,1);will-change:transform}.appchrome.is-hidden{transform:translateY(calc(var(--topbar-h, 56px) * -1))}.topbar{background:rgba(11,11,14,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.topbar-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}.brand{font-family:var(--mono);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:var(--tracking-tag);white-space:nowrap}.brand .dot{color:var(--accent)}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-actions .btn{min-height:44px;padding:0 14px;font-size:.76rem}.add-btn{color:var(--accent);background:var(--accent-soft)}.add-btn,.add-btn:hover{border-color:var(--accent-dim)}.add-btn:hover{background:rgba(245,158,11,.18)}.add-btn.active{background:rgba(245,158,11,.22);border-color:var(--accent);color:var(--accent)}.ghost-btn{background:transparent}.navbar{background:rgba(11,11,14,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain}.navbar::-webkit-scrollbar{display:none}.navbar-track{max-width:var(--maxw);margin:0 auto;display:flex;gap:4px;width:max-content;min-width:100%;padding:6px max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left))}.navbar-track a{flex:0 0 auto;padding:0 14px;border-radius:var(--radius-sm);color:var(--text-dim);font-family:var(--mono);font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;transition:color .12s,background .12s}.navbar-track a:hover{color:var(--text);background:var(--bg-elev)}.navbar-track a.active{color:var(--text);background:var(--bg-elev-2);box-shadow:inset 0 -2px 0 var(--accent)}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card+.card{margin-top:12px}.card.accent{border-color:var(--accent-dim)}.grid{display:grid;grid-gap:12px;gap:12px}@media (min-width:720px){.grid.cols-2{grid-template-columns:1fr 1fr}}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.row,.spread{display:flex;align-items:center;gap:10px}.spread{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:4px}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt24{margin-top:24px}.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.68rem;font-weight:600;padding:3px 8px;border-radius:var(--radius-sm);background:var(--bg-elev-2);color:var(--text-dim);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.badge.recurring{color:#fb7185;border-color:rgba(251,113,133,.4);background:rgba(251,113,133,.1)}.badge.emphasized{color:var(--warn);border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.1)}.badge.mentioned{color:var(--text-dim)}.badge.improving{color:var(--good);border-color:rgba(132,204,22,.4);background:rgba(132,204,22,.1)}.badge.regressing{color:var(--bad);border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.1)}.badge.stagnant{color:var(--warn);border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.1)}.badge.new{color:var(--info);border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.1)}.badge.cat{letter-spacing:.04em;color:var(--violet);border-color:rgba(168,85,247,.4);background:rgba(168,85,247,.1);text-transform:none}.taglist{display:flex;flex-wrap:wrap;gap:6px}.taglist .badge{white-space:normal;overflow-wrap:anywhere;text-align:left}.list{list-style:none;display:flex;flex-direction:column;gap:8px}.item{display:block;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;transition:border-color .12s,background .12s}.item:hover{border-color:var(--border-active);background:var(--bg-elev-2)}.item .title{letter-spacing:-.005em}.btn,.item .title{font-family:var(--mono);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 18px;border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text);transition:background .12s,border-color .12s}.btn:hover{background:var(--bg-hover);border-color:var(--border-active)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#160d00}.btn.primary:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.btn:disabled{opacity:.45;cursor:default}input,select,textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font:inherit;min-height:44px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-dim);box-shadow:0 0 0 2px var(--accent-soft)}input[type=file]{padding:9px 12px;cursor:pointer}input[type=file]::-webkit-file-upload-button{font:inherit;font-family:var(--mono);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-right:12px;padding:8px 12px;min-height:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev-2);color:var(--text);cursor:pointer}input[type=file]::file-selector-button{font:inherit;font-family:var(--mono);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-right:12px;padding:8px 12px;min-height:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev-2);color:var(--text);cursor:pointer}input[type=file]::-webkit-file-upload-button:hover{background:var(--bg-hover)}input[type=file]::file-selector-button:hover{background:var(--bg-hover)}textarea{min-height:84px;resize:vertical}label{font-family:var(--mono);font-size:.72rem;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-tag)}.utt{display:grid;grid-template-columns:64px 1fr;grid-gap:12px;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.utt:last-child{border-bottom:none}.utt .who{font-family:var(--mono);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.utt .who.teacher{color:var(--accent)}.utt .who.student{color:var(--info)}.utt .t{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:.7rem}.center{min-height:70vh;display:grid;place-items:center}.login{width:100%;max-width:360px}.divider{height:1px;background:var(--border);margin:16px 0}.kpi{font-size:2rem;font-weight:700;letter-spacing:-.03em;color:var(--text)}.kpi,.kpi-label{font-family:var(--mono)}.kpi-label{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--tracking-tag)}.sample-banner{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.4);color:var(--warn);padding:9px 12px;font-size:.76rem}.sample-banner,.tstamp{border-radius:var(--radius-sm);font-family:var(--mono);font-weight:600}.tstamp{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap;padding:3px 9px;min-height:30px;cursor:pointer;color:var(--accent);border:1px solid var(--accent-dim);background:var(--accent-soft);transition:background .12s,border-color .12s}.tstamp:hover{background:rgba(245,158,11,.2);color:var(--accent)}.tstamp svg{opacity:.85}.pdays{list-style:none;display:flex;flex-direction:column;gap:10px}.pday{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .14s}.pday.today{border-color:var(--accent-dim)}.pday:hover{border-color:var(--border-active)}.pday.today:hover{border-color:var(--accent)}.pday-head{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:54px;background:none;border:none;cursor:pointer;text-align:left;font:inherit;color:var(--text)}.pday.rest .pday-head{cursor:default}.pdot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--text-faint);background:transparent;transition:background .14s,border-color .14s,box-shadow .14s}.pdot.done{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pday-title{font-family:var(--mono);font-weight:600;font-size:.84rem;letter-spacing:.01em;flex:1 1 auto;min-width:0}.pday-meta{display:flex;align-items:center;gap:8px;margin-left:auto}.pprog{font-family:var(--mono);font-size:.7rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-dim);letter-spacing:.04em}.pprog.done{color:var(--good)}.pchev{color:var(--text-faint);flex:0 0 auto;transition:transform .22s ease,color .22s}.pchev.open{transform:rotate(180deg);color:var(--accent)}.pslots{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--border)}.pslot{display:flex;gap:11px;padding:12px 14px;align-items:flex-start;border-bottom:1px solid var(--border)}.pslot:last-child{border-bottom:none}.pslot.done{opacity:.55}.pcheck{flex:0 0 auto;width:28px;height:28px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1.5px solid var(--border-active);border-radius:7px;background:var(--bg);color:#160d00;transition:background .12s,border-color .12s}.pcheck.on{background:var(--accent);border-color:var(--accent)}.pcheck:hover{border-color:var(--accent-dim)}.pslot-body{flex:1 1 auto;min-width:0}.pslot-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pslot-label{font-family:var(--mono);font-weight:600;font-size:.82rem}.pslot.done .pslot-label{text-decoration:line-through;-webkit-text-decoration-color:var(--text-faint);text-decoration-color:var(--text-faint)}.pslot-desc{color:var(--text-dim);font-size:.88rem;margin-top:5px}.badge.dur{min-width:34px;justify-content:center;color:var(--text-dim)}.audioplayer{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 13px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius)}.audiobar-spacer{height:84px}.audiobar{position:-webkit-sticky;position:sticky;bottom:0;z-index:15;display:flex;align-items:center;gap:10px;margin:0 -16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(11,11,14,.93);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.audiobar-btn{flex:0 0 auto;width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:var(--accent);border:none;color:#160d00;transition:background .12s}.audiobar-btn:hover{background:var(--accent-dim)}.audiobar-time{flex:0 0 auto;min-width:38px;font-family:var(--mono);font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.audiobar-time.dim{color:var(--text-faint);text-align:right}.audiobar-label{flex:0 0 auto;font-family:var(--mono);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);white-space:nowrap}.audiobar-label.dim{color:var(--text-faint)}.gplayer{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(11,11,14,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.gplayer-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:10px;padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.gplayer-label{flex:0 0 auto;font-family:var(--mono);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);white-space:nowrap}.gplayer-label.dim{flex:1 1 auto;color:var(--text-dim);font-weight:600}.gplayer-x{margin-left:auto;background:none;border:none;color:var(--text-dim);cursor:pointer;font-family:var(--mono);font-size:.8rem;min-height:36px;padding:0 8px}body.has-player main.wrap{padding-bottom:88px}.psession{border-color:var(--accent-dim)}.ps-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ps-sub{font-family:var(--mono);font-size:.74rem;color:var(--text-dim);margin-top:3px}.ps-durations{display:flex;gap:4px;flex:0 0 auto}.ps-chip{min-height:34px;padding:0 11px;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--mono);font-size:.74rem;font-weight:600;border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text-dim);transition:color .12s,background .12s,border-color .12s}.ps-chip.on{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-soft)}.ps-chip:disabled{opacity:.5;cursor:default}.ps-toggle{gap:8px;margin-top:12px;background:none;border:none;cursor:pointer;padding:4px 0;font-family:var(--mono);font-size:.78rem;color:var(--text-dim);min-height:32px}.ps-toggle,.ps-toggle .ps-check{display:inline-flex;align-items:center}.ps-toggle .ps-check{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border-active);justify-content:center;font-size:.7rem;color:#160d00;background:var(--bg)}.ps-toggle.on{color:var(--text)}.ps-toggle.on .ps-check{background:var(--accent);border-color:var(--accent)}.ps-toggle:disabled{opacity:.6;cursor:default}.ps-start{width:100%;margin-top:12px;min-height:48px;font-size:.9rem}.ps-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-top:14px}.ps-item{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;background:var(--bg);border:1px solid var(--border);color:var(--text);transition:border-color .12s,background .12s,opacity .12s}.ps-item:hover{border-color:var(--border-active)}.ps-item.active{border-color:var(--accent);background:var(--accent-soft)}.ps-item.done{opacity:.5}.ps-num{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.72rem;font-weight:700;color:var(--text-dim);background:var(--bg-elev-2)}.ps-item.active .ps-num{color:#160d00;background:var(--accent)}.ps-item-body{display:flex;flex-direction:column;gap:1px;min-width:0}.ps-name{font-family:var(--mono);font-weight:600;font-size:.82rem}.ps-meta{font-size:.68rem;color:var(--text-faint);letter-spacing:.04em}.lesson-no,.ps-meta{font-family:var(--mono);text-transform:uppercase}.lesson-no{font-size:.7rem;font-weight:700;letter-spacing:.06em;color:var(--accent);margin-right:7px}.play-lesson{min-height:40px;padding:0 14px;font-size:.78rem;color:var(--accent);border-color:var(--accent-dim);background:var(--accent-soft)}.play-lesson:hover{background:rgba(245,158,11,.18);border-color:var(--accent-dim)}.t-seek{background:none;border:none;padding:0;cursor:pointer;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.7rem;color:var(--text-faint);transition:color .12s;text-align:left}.t-seek:hover{color:var(--accent)}.audiobar-range{flex:1 1 auto;min-width:0;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;min-height:0;padding:0;border:none;border-radius:var(--radius-pill);background:var(--border-active);cursor:pointer}.audiobar-range:focus{outline:none;box-shadow:none}.audiobar-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:none;cursor:pointer}.audiobar-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:none;cursor:pointer}