:root{--info:#7444b4;--info-soft:#f6f3fd;--code-bg:#141b26;--sidebar-w:380px;--hdr:60px}@supports (color:lab(0% 0 0)){:root{--info:lab(39.2455% 38.5772 -52.4699);--info-soft:lab(96.3652% 2.44689 -4.56725);--code-bg:lab(9.3944% -.479274 -9.01252)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--info:#c7aff5;--info-soft:#9867e126;--code-bg:#0f141d}@supports (color:lab(0% 0 0)){:root:not([data-theme=light]){--info:lab(75.5395% 19.1967 -31.665);--info-soft:lab(53.1674% 39.3575 -55.7366/.15);--code-bg:lab(6.11394% -.365198 -6.93043)}}}:root[data-theme=dark]{--info:#c7aff5;--info-soft:#9867e126;--code-bg:#0f141d}@supports (color:lab(0% 0 0)){:root[data-theme=dark]{--info:lab(75.5395% 19.1967 -31.665);--info-soft:lab(53.1674% 39.3575 -55.7366/.15);--code-bg:lab(6.11394% -.365198 -6.93043)}}*{box-sizing:border-box}[hidden]{display:none!important}.app a{color:var(--primary)}.app button{font:inherit;color:inherit}.app .sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app :is(button,a,input,textarea,summary,[tabindex]):focus-visible{box-shadow:0 0 0 4px color-mix(in oklab, var(--primary) 28%, transparent);outline:none}.app .btn{border-radius:var(--r-control);height:40px;font:600 14px/1 var(--font);cursor:pointer;white-space:nowrap;color:var(--fg);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding-inline:16px;text-decoration:none;display:inline-flex}.app .btn svg{flex:none;width:16px;height:16px}.app .btn-sm{height:34px;padding-inline:12px;font-size:13px}.app .btn-primary{background:var(--primary);color:var(--primary-fg)}.app .btn-primary:hover{background:color-mix(in oklab, var(--primary) 85%, var(--bg))}.app .btn-outline{border-color:var(--border);background:var(--bg)}.app .btn-outline:hover,.app .btn-ghost:hover{background:var(--muted)}.app .btn:disabled{opacity:.5;cursor:not-allowed}.app .badge{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.45;display:inline-flex}.app .badge-brand{background:var(--brand-soft);color:var(--primary)}.app .badge-ok{background:var(--success-soft);color:var(--success)}.app .badge-neutral{background:var(--muted);color:var(--muted-fg)}.app .badge-info{background:var(--info-soft);color:var(--info)}.app .iconbtn{width:36px;height:36px;color:var(--muted-fg);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.app .iconbtn:hover{background:var(--muted);color:var(--fg)}.app .iconbtn svg{width:18px;height:18px}.app .hdr{z-index:30;height:calc(var(--hdr) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.app .hdr .in{height:var(--hdr);align-items:center;gap:14px;padding-inline:16px;display:flex}.app .logo{border-radius:8px;flex:none;align-items:center;display:inline-flex}.app .logo svg{width:30px;height:30px}.app .crumb{min-width:0;color:var(--muted-fg);flex:1;align-items:center;gap:8px;font-size:13px;display:flex}.app .crumb a{color:var(--muted-fg);white-space:nowrap;text-decoration:none}.app .crumb a:hover{color:var(--fg)}.app .crumb b{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:700;overflow:hidden}.app .crumb .sep{flex:none}@media (max-width:720px){.app .crumb a,.app .crumb .sep{display:none}}.app .ring{color:var(--muted-fg);white-space:nowrap;flex:none;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.app .ring svg{width:30px;height:30px;transform:rotate(-90deg)}.app .ring .bgc{stroke:var(--muted)}.app .ring .fgc{stroke:var(--primary);transition:stroke-dashoffset .4s}@media (max-width:520px){.app .ring .rt{display:none}}.app .av{background:var(--primary);width:32px;height:32px;color:var(--primary-fg);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.app .themebtn[data-mode=light] .i-sun,.app .themebtn[data-mode=dark] .i-moon{display:none}.app .outlinebtn .lbl{font-size:13px;font-weight:600}@media (max-width:520px){.app .outlinebtn .lbl{display:none}.app .outlinebtn{width:36px;padding:0}}.app .page{grid-template-columns:minmax(0, 1fr) var(--sidebar-w);align-items:start;display:grid}.app .page.collapsed{grid-template-columns:minmax(0,1fr) 0}.app .page.collapsed .rail{display:none}@media (max-width:1100px){.app .page{grid-template-columns:minmax(0,1fr)}}.app .main{flex-direction:column;gap:20px;width:100%;min-width:0;max-width:1180px;margin-inline:auto;padding:20px clamp(16px,2.6vw,32px) 64px;display:flex}.app .player{background:var(--video);color:#fff;-webkit-user-select:none;user-select:none;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0f,0 16px 40px #0f172a1f}.app .player:fullscreen{border-radius:0;flex-direction:column;justify-content:center;display:flex}.app .screen{aspect-ratio:16/9;cursor:pointer;max-width:100%;position:relative;overflow:hidden}.app .scene{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:6%;display:flex;position:absolute;inset:0}.app .scene .tag{font:600 clamp(10px, 1.2vw, 13px) var(--mono);color:#ffffffb3;color:lab(100% 0 0/.7)}.app .scene .big{letter-spacing:-.04em;text-wrap:balance;max-width:18ch;font-size:clamp(20px,3.6vw,44px);font-weight:800;line-height:1.08}.app .sc-prompt .box{text-align:left;width:min(80%,620px);font:500 clamp(11px, 1.6vw, 18px)/1.65 var(--mono);background:#00000038;background:lab(0% 0 0/.22);border:1px solid #ffffff2e;border:1px solid lab(100% 0 0/.18);border-radius:14px;min-height:5.5em;padding:3% 3.6%}.app .sc-prompt .box .cur{vertical-align:-.18em;background:#fff;width:.55em;height:1.1em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.app .sc-prompt .box mark{color:#fff;background:#ffffff38;background:lab(100% 0 0/.22);border-radius:4px;padding:0 3px}.app .sc-spring .stagebox{aspect-ratio:3/1.35;border-bottom:2px solid #ffffff4d;border-bottom:2px solid lab(100% 0 0/.3);width:min(70%,560px);position:relative}.app .sc-spring .lane{justify-content:space-around;display:flex;position:absolute;bottom:0;left:0;right:0}.app .sc-spring .col{flex-direction:column;align-items:center;gap:8px;display:flex}.app .sc-spring .ball{aspect-ratio:1;border-radius:999px;width:clamp(28px,5vw,56px)}.app .sc-spring .ball svg{width:100%;height:100%;display:block}.app .sc-spring .lbl{font:600 clamp(10px, 1.2vw, 13px) var(--mono);color:#ffffffbf;color:lab(100% 0 0/.75);white-space:nowrap;position:absolute;bottom:-2.2em}.app .sc-spring .col{justify-content:flex-start;height:calc(min(70vw,560px)/2.22222);position:relative}.app .anim-linear{animation:2.4s linear infinite dropLinear}.app .anim-spring{animation:2.4s cubic-bezier(.2,.8,.2,1) infinite dropSpring}@keyframes dropLinear{0%{transform:translateY(-10%)}45%,to{transform:translateY(var(--fall))}}@keyframes dropSpring{0%{transform:translateY(-10%)}35%{transform:translateY(calc(var(--fall) + 14%))}48%{transform:translateY(calc(var(--fall) - 18%))}60%{transform:translateY(calc(var(--fall) + 5%))}70%,to{transform:translateY(var(--fall))}}.app .player.paused .anim-linear,.app .player.paused .anim-spring,.app .player.paused .cur{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.app .anim-linear,.app .anim-spring{transform:translateY(var(--fall));animation:none}}.app .sc-export .panel{color:#171717;color:lab(7.78201% -.0000149012 0);text-align:left;background:#fff;border-radius:14px;flex-direction:column;gap:10px;width:min(70%,460px);padding:4% 4.5%;font-size:clamp(11px,1.4vw,14px);display:flex;box-shadow:0 18px 40px #00000059}.app .sc-export .chips{flex-wrap:wrap;gap:6px;display:flex}.app .sc-export .chips span{background:#f5f5f5;background:lab(96.52% -.0000298023 .0000119209);border-radius:999px;padding:3px 9px;font-size:.85em;font-weight:700}.app .sc-export .eb{background:#e8e8e8;background:lab(91.88% .0000298023 -.0000119209);border-radius:9px;height:8px;overflow:hidden}.app .sc-export .eb i{background:#156cdd;background:lab(46.0325% 10.0637 -65.8874);border-radius:9px;width:0;height:100%;display:block}.app .sc-export .er{color:#525252;color:lab(35.04% -.0000149012 0);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.9em;display:flex}.app .who{color:#fffc;color:lab(100% 0 0/.8);align-items:center;gap:8px;font-size:clamp(10px,1.2vw,13px);font-weight:600;display:flex;position:absolute;top:4%;left:3%}.app .who svg{width:1.8em;height:1.8em}.app .bigplay{aspect-ratio:1;width:clamp(56px,8vw,84px);color:var(--baton-icon);cursor:pointer;background:#ffffffeb;background:lab(100% 0 0/.92);border:0;border-radius:999px;justify-content:center;align-items:center;margin:calc(clamp(56px,8vw,84px)/-2) 0 0 calc(clamp(56px,8vw,84px)/-2);display:flex;position:absolute;top:50%;left:50%;box-shadow:0 10px 30px #00000059}.app .bigplay svg{width:38%;height:38%;margin-left:6%}.app .player:not(.paused) .bigplay{display:none}.app .cc{text-align:center;pointer-events:none;background:#000000ad;background:lab(0% 0 0/.68);border-radius:8px;max-width:84%;padding:6px 12px;font-size:clamp(12px,1.6vw,17px);font-weight:600;line-height:1.45;position:absolute;bottom:7%;left:50%;transform:translate(-50%)}.app .upnext{background:#020511d1;background:lab(1.47897% .39506 -5.22778/.82);justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.app .upnext .card{background:var(--bg);color:var(--fg);text-align:left;border-radius:16px;flex-direction:column;gap:10px;width:min(380px,100%);padding:20px;display:flex}.app .upnext small{color:var(--muted-fg);font-weight:600}.app .upnext strong{letter-spacing:-.02em;font-size:18px}.app .upnext .row{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.app .cd{flex:none;width:44px;height:44px}.app .cd circle{fill:none;stroke-width:4px}.app .cd .b{stroke:var(--muted)}.app .cd .f{stroke:var(--primary);transform-origin:50%;transform:rotate(-90deg)}.app .cd text{font:800 15px var(--font);fill:var(--fg)}.app .ctrls{background:#050d1e;background:lab(3.50571% .936449 -11.9506);flex-direction:column;gap:6px;padding:8px 14px 12px;display:flex}.app .seek{cursor:pointer;touch-action:none;align-items:center;height:22px;display:flex;position:relative}.app .seek .segs{gap:3px;height:5px;transition:height .15s;display:flex;position:absolute;left:0;right:0}.app .seek:hover .segs,.app .seek:focus-visible .segs{height:8px}.app .seek .sg{background:#ffffff38;background:lab(100% 0 0/.22);border-radius:3px;height:100%;position:relative;overflow:hidden}.app .seek .sg i{transform-origin:0;background:#51a2f8;background:lab(64.4796% -4.65989 -51.2488);position:absolute;inset:0;transform:scaleX(0)}.app .seek .sg b{transform-origin:0;background:#ffffff38;background:lab(100% 0 0/.22);position:absolute;inset:0;transform:scaleX(0)}.app .seek .knob{background:#fff;border-radius:999px;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%;left:0;box-shadow:0 1px 4px #0006}.app .seek .tip{color:#fff;white-space:nowrap;pointer-events:none;background:#03060d;background:lab(1.51734% .0684783 -3.14909);border-radius:8px;padding:6px 9px;font-size:12px;font-weight:600;position:absolute;bottom:26px;transform:translate(-50%);box-shadow:0 6px 18px #00000059}.app .seek .tip span{font:600 11px var(--mono);opacity:.75;display:block}.app .bar{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.app .cbtn{color:#fff;cursor:pointer;min-width:36px;height:36px;font:700 12px var(--font);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding-inline:8px;display:inline-flex}.app .cbtn:hover{background:#ffffff1a;background:lab(100% 0 0/.1)}.app .cbtn svg{width:18px;height:18px}.app .cbtn[aria-pressed=true]{background:#ffffff29;background:lab(100% 0 0/.16)}.app .time{font:600 12px var(--mono);font-variant-numeric:tabular-nums;color:#ffffffd9;color:lab(100% 0 0/.85);min-width:104px;padding-inline:6px}.app .chapnow{color:#fffc;color:lab(100% 0 0/.8);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.app .chapnow:before{content:"• ";color:#51a2f8;color:lab(64.4796% -4.65989 -51.2488)}.app .speedsel{position:relative}.app .speedmenu{z-index:5;background:#03060d;background:lab(1.51734% .0684783 -3.14909);border-radius:12px;flex-direction:column;min-width:110px;padding:6px;display:flex;position:absolute;bottom:44px;right:0;box-shadow:0 10px 28px #00000073}.app .speedmenu button{text-align:left;color:#fff;cursor:pointer;font:600 13px var(--font);background:0 0;border:0;border-radius:8px;justify-content:space-between;gap:8px;padding:8px 10px;display:flex}.app .speedmenu button:hover{background:#ffffff1a;background:lab(100% 0 0/.1)}.app .speedmenu button[aria-checked=true]:after{content:"✓";color:#51a2f8;color:lab(64.4796% -4.65989 -51.2488)}@media (max-width:560px){.app .chapnow{display:none}.app .time{min-width:0;margin-right:auto}.app .hide-sm{display:none}}.app .lhead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px 20px;display:flex}.app .lhead .t{flex-direction:column;flex:360px;gap:6px;min-width:0;display:flex}.app .lhead h1{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(22px,2.4vw,28px);font-weight:800;line-height:1.2}.app .lhead .meta{color:var(--muted-fg);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13px;display:flex}.app .lhead .acts{flex-wrap:wrap;gap:8px;display:flex}.app .donebanner{background:var(--success-soft);color:var(--success);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.app .donebanner svg{flex:none;width:18px;height:18px}.app .tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.app .tabs::-webkit-scrollbar{display:none}.app .tab{height:44px;color:var(--muted-fg);font:700 14px var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding-inline:14px;display:inline-flex;position:relative}.app .tab:hover{color:var(--fg)}.app .tab[aria-selected=true]{color:var(--primary)}.app .tab[aria-selected=true]:after{content:"";background:var(--primary);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:10px;right:10px}.app .tab .n{background:var(--muted);color:var(--muted-fg);border-radius:999px;padding:1px 7px;font-size:11px}.app .panel{padding-top:6px}.app .chaps{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.app .chap{width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.app .chap:hover{background:var(--muted)}.app .chap .ts{font:700 12px var(--mono);color:var(--primary);background:var(--brand-soft);font-variant-numeric:tabular-nums;border-radius:6px;padding:3px 7px}.app .chap .nm{font-size:14px;font-weight:600}.app .chap .nm small{color:var(--muted-fg);margin-top:2px;font-size:12px;font-weight:500;display:block}.app .chap .dur{color:var(--muted-fg);font-variant-numeric:tabular-nums;font-size:12px}.app .chap[aria-current=true]{background:var(--accent);border-color:color-mix(in oklab, var(--primary) 25%, transparent)}.app .chap[aria-current=true] .nm{color:var(--primary)}.app .chap .pbar{background:var(--muted);border-radius:9px;grid-column:2/4;height:4px;overflow:hidden}.app .chap .pbar i{background:var(--primary);width:0;height:100%;display:block}.app .tsc{flex-direction:column;gap:2px;max-height:420px;padding-right:4px;display:flex;overflow-y:auto}.app .tline{color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:10px 12px;font-size:14px;line-height:1.6;display:grid}.app .tline:hover{background:var(--muted)}.app .tline span{font:600 12px/1.9 var(--mono);color:var(--muted-fg);font-variant-numeric:tabular-nums}.app .tline[aria-current=true]{background:var(--accent)}.app .tline[aria-current=true] span{color:var(--primary)}.app .tsc-head{color:var(--muted-fg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.app .tsc-head label{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.app .noteform{border:1px solid var(--border);background:var(--bg);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.app .noteform textarea{resize:vertical;border:1px solid var(--field-border);border-radius:var(--r-control);width:100%;min-height:84px;font:500 14px/1.55 var(--font);color:var(--fg);background:var(--bg);outline:none;padding:10px 12px}.app .noteform textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in oklab, var(--primary) 15%, transparent)}.app .noteform .r{color:var(--muted-fg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.app .notes{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.app .note{border:1px solid var(--border);background:var(--bg);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 14px;display:grid}.app .note .ts{font:700 12px var(--mono);color:var(--primary);background:var(--brand-soft);cursor:pointer;border:0;border-radius:6px;padding:3px 7px}.app .note p{white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px;line-height:1.55}.app .empty{text-align:center;color:var(--muted-fg);border:1px dashed var(--border);border-radius:12px;padding:20px;font-size:13px}.app .ask{align-items:flex-start;gap:10px;display:flex}.app .ask input{border:1px solid var(--field-border);border-radius:var(--r-control);min-width:0;height:42px;font:500 14px var(--font);color:var(--fg);background:var(--bg);outline:none;flex:1;padding-inline:12px}.app .ask input:focus{border-color:var(--primary)}.app .thread{border:1px solid var(--border);background:var(--bg);border-radius:14px;flex-direction:column;gap:12px;margin-top:14px;padding:16px;display:flex}.app .msg{grid-template-columns:34px minmax(0,1fr);gap:10px;display:grid}.app .msg .a{color:#fff;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:flex}.app .msg .h{flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;display:flex}.app .msg .h b{font-size:14px}.app .msg .h small{color:var(--muted-fg)}.app .msg p{margin:4px 0 0;font-size:14px;line-height:1.6}.app .msg.reply{background:var(--canvas);border-radius:12px;margin-left:44px;padding:12px}.app .msg .tsl{font:700 11px var(--mono);color:var(--primary);background:var(--brand-soft);cursor:pointer;border:0;border-radius:6px;padding:2px 6px}.app .hint{color:var(--muted-fg);margin-top:10px;font-size:12px}.app .files{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.app .file{border:1px solid var(--border);background:var(--bg);border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.app .file .fi{width:40px;height:40px;font:800 11px var(--mono);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.app .file .ft{flex:1;min-width:0}.app .file .ft b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.app .file .ft small{color:var(--muted-fg);font-size:12px}.app .keys{color:var(--muted-fg);flex-wrap:wrap;gap:8px 16px;font-size:12px;display:flex}.app .keys kbd{font:700 11px var(--mono);border:1px solid var(--border);background:var(--bg);color:var(--fg);border-bottom-width:2px;border-radius:6px;padding:2px 6px}.app .rail{top:calc(var(--hdr) + env(safe-area-inset-top,0px));height:calc(100vh - var(--hdr) - env(safe-area-inset-top,0px));border-left:1px solid var(--border);background:var(--bg);flex-direction:column;min-width:0;display:flex;position:sticky}@media (max-width:1100px){.app .rail{z-index:50;width:min(400px,92vw);height:100%;padding-top:env(safe-area-inset-top,0px);border-left:0;transition:transform .28s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;bottom:0;right:0;transform:translate(105%);box-shadow:-20px 0 40px #0f172a2e}.app .rail.open{transform:none}.app .page.collapsed .rail{display:flex}}@media (prefers-reduced-motion:reduce){.app .rail{transition:none}}.app .scrim{z-index:45;background:#01030973;background:lab(.870035% .100859 -2.27852/.45);position:fixed;inset:0}.app .rhead{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:16px 16px 14px;display:flex}.app .rhead .top{justify-content:space-between;align-items:center;gap:8px;display:flex}.app .rhead h2{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:800}.app .rprog{color:var(--muted-fg);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.app .rprog .b{background:var(--muted);border-radius:9px;height:8px;overflow:hidden}.app .rprog .b i{background:var(--primary);border-radius:9px;height:100%;transition:width .4s;display:block}.app .rbody{overscroll-behavior:contain;flex:1;padding:8px 8px 24px;overflow-y:auto}.app .mod{border-radius:12px}.app .mod summary{cursor:pointer;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:12px 10px;list-style:none;display:grid}.app .mod summary::-webkit-details-marker{display:none}.app .mod summary:hover{background:var(--muted)}.app .mod summary .mn{font:700 11px var(--mono);color:var(--muted-fg);letter-spacing:.04em}.app .mod summary strong{grid-column:1;font-size:14px;font-weight:700;line-height:1.35}.app .mod summary .mc{color:var(--muted-fg);grid-column:1;font-size:12px}.app .mod summary svg{width:16px;height:16px;color:var(--muted-fg);grid-area:1/2/4;transition:transform .2s}.app .mod[open] summary svg{transform:rotate(180deg)}.app .lessons{flex-direction:column;gap:2px;margin:0 0 8px;padding:0;list-style:none;display:flex}.app .les{text-align:left;cursor:pointer;width:100%;color:var(--fg);background:0 0;border:0;border-radius:10px;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px;display:grid}.app .les:hover:not(:disabled){background:var(--muted)}.app .les:disabled{cursor:not-allowed;color:var(--muted-fg)}.app .les .st{width:20px;height:20px;color:var(--muted-fg);margin-top:1px}.app .les .st svg{width:20px;height:20px;display:block}.app .les[data-state=done] .st{color:var(--success)}.app .les[data-state=current],.app .les[aria-current=page]{background:var(--accent)}.app .les[data-state=current] .st{color:var(--primary)}.app .les .nm{font-size:13.5px;font-weight:600;line-height:1.4}.app .les[data-state=current] .nm{color:var(--primary);font-weight:700}.app .les .nm small{color:var(--muted-fg);align-items:center;gap:6px;margin-top:3px;font-size:12px;font-weight:500;display:flex}.app .les .nm small svg{width:13px;height:13px}.app .les .du{color:var(--muted-fg);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:1px;font-size:12px}.app .subchaps{border-left:2px solid var(--border);flex-direction:column;gap:1px;margin:2px 0 8px 32px;padding:0 0 0 12px;list-style:none;display:flex}.app .subchaps button{width:100%;color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:baseline;gap:10px;padding:7px 8px;font-size:13px;display:flex}.app .subchaps button:hover{background:var(--muted)}.app .subchaps button span{font:600 11px var(--mono);color:var(--muted-fg);font-variant-numeric:tabular-nums;flex:none}.app .subchaps button[aria-current=true]{color:var(--primary);font-weight:700}.app .subchaps button[aria-current=true] span{color:var(--primary)}.app .legend{border-top:1px solid var(--border);color:var(--muted-fg);padding:12px 16px;font-size:12px;line-height:1.55}.app .legend b{color:var(--fg)}.app .toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));opacity:0;pointer-events:none;z-index:70;background:var(--fg);color:var(--bg);text-align:center;border-radius:999px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,20px)}.app .toast.on{opacity:1;transform:translate(-50%)}.app .qmain{max-width:860px;padding-top:28px}.app .qcard{background:var(--bg);border:1px solid var(--border);border-radius:22px;flex-direction:column;gap:18px;padding:clamp(20px,3.6vw,36px);display:flex;box-shadow:0 1px 2px #0f172a0a,0 14px 36px #0f172a0f}.app .qtop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.app .muted{color:var(--muted-fg);font-size:13px}.app .qcard h1{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(26px,3.2vw,36px);font-weight:800;line-height:1.12}.app .qcard .lead{color:var(--muted-fg);max-width:620px;margin:0;font-size:16px;line-height:1.6}.app .facts{background:var(--border);border:1px solid var(--border);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}@media (max-width:620px){.app .facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.app .facts div{background:var(--bg);flex-direction:column;gap:3px;padding:14px 16px;display:flex}.app .facts b{letter-spacing:-.03em;font-size:20px;font-weight:800}.app .facts span{color:var(--muted-fg);font-size:12px}.app .topics h2{margin:0 0 8px;font-size:14px;font-weight:800}.app .topics ul{flex-direction:column;gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.app .topics li{align-items:center;gap:10px;display:flex}.app .ts{font:700 12px var(--mono);color:var(--primary);background:var(--brand-soft);font-variant-numeric:tabular-nums;border-radius:6px;padding:3px 7px}.app .attempts{background:var(--canvas);color:var(--muted-fg);border-radius:14px;flex-direction:column;gap:4px;padding:14px 16px;font-size:13px;display:flex}.app .attempts b{color:var(--fg);font-size:13px}.app .qacts{flex-wrap:wrap;gap:10px;display:flex}.app .btn-lg{height:48px;padding-inline:22px}.app .qcount{color:var(--muted-fg);font-size:13px;font-weight:700}.app .qnav{gap:6px;margin:0;padding:0;list-style:none;display:flex}.app .qnav button{border:1px solid var(--border);background:var(--bg);width:34px;height:34px;color:var(--muted-fg);font:800 13px var(--font);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex}.app .qnav button:disabled{cursor:not-allowed;opacity:.55}.app .qnav button[data-s=now]{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.app .qnav button[data-s=ok]{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.app .qnav button[data-s=bad]{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.app .qprog{background:var(--muted);border-radius:9px;height:6px;overflow:hidden}.app .qprog i{background:var(--primary);border-radius:9px;width:0;height:100%;transition:width .35s;display:block}.app .qtype{color:var(--primary);background:var(--brand-soft);border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:700}.app .qq{letter-spacing:-.025em;text-wrap:balance;outline:none;margin:0;font-size:clamp(20px,2.4vw,26px);font-weight:800;line-height:1.3}.app .qbody{flex-direction:column;gap:10px;display:flex}.app .opt{text-align:left;border:1.5px solid var(--field-border);background:var(--bg);width:100%;color:var(--fg);font:600 15px/1.45 var(--font);cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:border-color .15s,background-color .15s;display:flex}.app .opt:hover:not(:disabled){border-color:color-mix(in oklab, var(--primary) 50%, var(--field-border))}.app .opt:disabled{cursor:default}.app .opt .k{border:1.5px solid var(--field-border);width:28px;height:28px;font:800 12px var(--mono);color:var(--muted-fg);border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.app .opt.multi .k{border-radius:6px}.app .opt .k svg{width:16px;height:16px;display:none}.app .opt .tx{flex:1;min-width:0}.app .opt .tx small{color:var(--muted-fg);margin-top:2px;font-size:12px;font-weight:500;display:block}.app .opt .tx.mono{font:500 14px/1.6 var(--mono)}.app .opt[aria-pressed=true],.app .opt[aria-checked=true]{border-color:var(--primary);background:var(--accent)}.app .opt[aria-pressed=true] .k,.app .opt[aria-checked=true] .k{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.app .opt.multi[aria-checked=true] .k svg{display:block}.app .opt.multi[aria-checked=true] .k span{display:none}.app .opt[data-r=ok]{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.app .opt[data-r=ok] .k{background:var(--success);border-color:var(--success);color:var(--on-success)}.app .opt[data-r=bad]{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.app .opt[data-r=bad] .k{background:var(--danger);border-color:var(--danger);color:#fff}.app .opt[data-r=miss]{border-style:dashed;border-color:var(--success-border)}.app .opt[data-r] .tx small{color:inherit;opacity:.85}.app .rtag{flex:none;font-size:11px;font-weight:800}.app .order{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.app .oitem{border:1.5px solid var(--field-border);background:var(--bg);border-radius:14px;align-items:center;gap:12px;padding:10px 10px 10px 14px;font-size:15px;font-weight:600;transition:transform .2s;display:flex}.app .oitem .no{background:var(--muted);width:28px;height:28px;color:var(--muted-fg);font:800 12px var(--mono);border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.app .oitem .tx{flex:1;min-width:0}.app .oitem .mv{gap:4px;display:flex}.app .oitem .mv button{border:1px solid var(--border);background:var(--bg);width:34px;height:34px;color:var(--fg);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex}.app .oitem .mv button:hover:not(:disabled){background:var(--muted)}.app .oitem .mv button:disabled{opacity:.35;cursor:not-allowed}.app .oitem .mv svg{width:16px;height:16px}.app .oitem[data-r=ok]{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.app .oitem[data-r=ok] .no{background:var(--success);color:var(--on-success)}.app .oitem[data-r=bad]{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.app .oitem[data-r=bad] .no{background:var(--danger);color:#fff}.app .oitem .should{font-size:12px;font-weight:700}.app .numwrap{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.app .numwrap .field{border:1.5px solid var(--field-border);background:var(--bg);border-radius:14px;align-items:center;height:56px;padding-right:16px;display:flex}.app .numwrap .field:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in oklab, var(--primary) 15%, transparent)}.app .numwrap input{width:140px;height:52px;font:800 22px var(--font);color:var(--fg);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;padding-inline:16px}.app .numwrap .unit{color:var(--muted-fg);font-weight:700}.app .numwrap .field[data-r=ok]{border-color:var(--success-border);background:var(--success-soft)}.app .numwrap .field[data-r=bad]{border-color:var(--danger-border);background:var(--danger-soft)}.app .calc{font:600 13px var(--mono);color:var(--muted-fg)}.app .qfb{background:var(--muted);border-radius:16px;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.app .qfb[data-tone=ok]{background:var(--success-soft)}.app .qfb[data-tone=bad]{background:var(--danger-soft)}.app .fbh{align-items:center;gap:10px;font-size:16px;display:flex}.app .qfb[data-tone=ok] .fbh{color:var(--success)}.app .qfb[data-tone=bad] .fbh{color:var(--danger)}.app .fbi{color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.app .qfb[data-tone=ok] .fbi{background:var(--success);color:var(--on-success)}.app .qfb[data-tone=bad] .fbi{background:var(--danger)}.app .fbi svg{width:15px;height:15px}.app .qfb p{color:var(--fg);margin:0;font-size:14px;line-height:1.6}.app .refchip{border:1px solid var(--border);background:var(--bg);color:var(--fg);font:700 12px var(--font);cursor:pointer;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.app .refchip svg{width:12px;height:12px;color:var(--primary)}.app .refchip:hover{border-color:var(--primary)}.app .qfoot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:16px;display:flex}.app .kb{color:var(--muted-fg);font-size:12px}.app .kb kbd{font:700 11px var(--mono);border:1px solid var(--border);background:var(--bg);color:var(--fg);border-bottom-width:2px;border-radius:5px;padding:1px 5px}@media (max-width:640px){.app .kb{display:none}.app .qfoot .btn{flex:1}}.app .reshead{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.app .bigring{flex:none;width:120px;height:120px;transform:rotate(-90deg)}.app .bigring circle{fill:none;stroke-width:12px;stroke-linecap:round}.app .bigring .b{stroke:var(--muted)}.app .bigring .f{stroke:var(--success);transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1)}.app .bigring.fail .f{stroke:var(--danger)}@media (prefers-reduced-motion:reduce){.app .bigring .f{transition:none}}.app .restx{flex-direction:column;flex:280px;align-items:flex-start;gap:8px;min-width:0;display:flex}.app .restx p{color:var(--muted-fg);margin:0;font-size:15px;line-height:1.6}.app .resstats{background:var(--border);border:1px solid var(--border);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}@media (max-width:620px){.app .resstats{grid-template-columns:repeat(2,minmax(0,1fr))}}.app .resstats div{background:var(--bg);flex-direction:column;gap:3px;padding:14px 16px;display:flex}.app .resstats b{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.app .resstats span{color:var(--muted-fg);font-size:12px}.app .revh{margin:6px 0 0;font-size:16px;font-weight:800}.app .review{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.app .rv{border:1px solid var(--border);border-radius:14px;grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;display:grid}.app .rv .ri{border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.app .rv .ri svg{width:15px;height:15px}.app .rv[data-r=ok] .ri{background:var(--success-soft);color:var(--success)}.app .rv[data-r=bad] .ri{background:var(--danger-soft);color:var(--danger)}.app .rv b{font-size:14px;line-height:1.45;display:block}.app .rv small{color:var(--muted-fg);margin-top:4px;font-size:13px;line-height:1.5;display:block}.app .rv .refchip{margin-top:2px}@media (max-width:560px){.app .rv{grid-template-columns:30px minmax(0,1fr)}.app .rv .refchip{grid-column:2}}.app .badge-bad{background:var(--danger-soft);color:var(--danger)}.app .anim-pegas{animation:2.4s cubic-bezier(.2,.8,.2,1) infinite dropSpring}.app .anim-tahan{animation:2.4s linear infinite dropHold}@keyframes dropHold{0%,30%{transform:translateY(-10%)}31%,to{transform:translateY(var(--fall))}}.app .player.paused .anim-pegas,.app .player.paused .anim-tahan{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.app .anim-pegas,.app .anim-tahan{transform:translateY(var(--fall));animation:none}}.app a.les{text-decoration:none}.app .studio.reel-host{background:#0b1533;width:100%;min-width:0;height:auto;min-height:0;position:relative;overflow:hidden}.app .studio.reel-host>.stage{transform-origin:0 0;position:absolute;top:0;left:0}.app .lesson-stage.no-cc .cap{display:none}.app a.refchip{text-decoration:none}.app .reading{flex-direction:column;gap:16px;width:100%;max-width:760px;margin-inline:auto;font-size:16px;line-height:1.7;display:flex}.app .reading .meta{color:var(--muted-fg);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.app .reading h1{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(26px,3.4vw,36px);line-height:1.15}.app .reading h2{letter-spacing:-.02em;margin:18px 0 0;font-size:20px}.app .reading p{margin:0}.app .reading .lead{color:var(--muted-fg);font-size:18px}.app .reading ul,.app .reading ol{gap:6px;margin:0;padding-left:22px;display:grid}.app .reading code{font:600 .88em var(--mono);background:var(--muted);border-radius:6px;padding:1px 6px}.app .callout{border:1px solid var(--border);background:var(--brand-soft);border-radius:14px;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:14px 16px;display:grid}.app .callout svg{width:20px;height:20px;color:var(--primary);margin-top:4px}.app .callout.warn{background:var(--warning-soft,var(--muted))}.app .callout.warn svg{color:var(--warning,var(--danger))}.app .example{border:1px solid var(--border);background:var(--bg);border-radius:14px;margin:0;overflow:hidden}.app .example figcaption{font:600 12px var(--mono);color:var(--muted-fg);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;padding:8px 14px}.app .example blockquote{white-space:pre-line;margin:0;padding:14px 16px}.app .tablewrap{border:1px solid var(--border);border-radius:14px;overflow-x:auto}.app .reading table{border-collapse:collapse;width:100%;font-size:14.5px}.app .reading th,.app .reading td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 14px}.app .reading th{font:600 12px var(--mono);color:var(--muted-fg);text-transform:uppercase;letter-spacing:.04em;background:var(--muted)}.app .reading tr:last-child td{border-bottom:0}.app .deliver{border:1px solid var(--border);background:var(--bg);border-radius:14px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;display:grid}.app .deliver>svg{width:22px;height:22px;color:var(--primary);align-self:start;margin-top:3px}.app .deliver b{display:block}.app .deliver .btn svg{width:14px;height:14px}@media (max-width:560px){.app .deliver{grid-template-columns:24px minmax(0,1fr)}.app .deliver .btn{grid-column:2;justify-self:start}}.app .checks{list-style:none;padding:0!important}.app .checks label{border:1px solid var(--border);cursor:pointer;background:var(--bg);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.app .checks input{width:18px;height:18px;accent-color:var(--primary);flex:none;margin-top:4px}.app .lfoot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:18px;display:flex}.app .lfoot .lhint{margin-left:auto;font-size:13px}.app .lesson-stage .stage .el{cursor:inherit}.app .lesson-stage .stage .el:hover,.app .lesson-stage .stage .el.sel{outline:none}.app .legend.admin{color:var(--primary);border-top:0;font-weight:600}.app a.av{text-decoration:none;overflow:hidden}.app .av img{object-fit:cover;width:100%;height:100%;display:block}.app .crumb a:has(b){min-width:0;display:flex;overflow:hidden}
