html,body.player-body{height:100%}body.player-body{background:var(--bg);--ppad:5px;flex-direction:column;min-height:0;display:flex;overflow:hidden}body.player-body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(50% 100% at 50% -20%,var(--glow) 0%,transparent 72%);height:320px;position:fixed;top:0;left:0;right:0}.pbar{z-index:30;flex:none;align-items:center;gap:10px;height:68px;padding:0 18px;display:flex;position:relative}.pbar .brand-mark{transition:transform .7s var(--spring);text-decoration:none}.pbar .brand-mark:hover{transform:scale(1.06)}.pbar-title{min-width:0;color:var(--ink);font:640 16px/1.2 var(--f-display);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;transition:background-color .5s var(--ease);border-radius:999px;padding:9px 16px;text-decoration:none;overflow:hidden}.pbar-title:hover{background:var(--shell)}.pbar .spacer{flex:1}.pbar-progress{background:var(--shell);box-shadow:inset 0 0 0 1px var(--ring);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:4px 14px 4px 4px;font-size:13.5px;display:flex}.ring{--p:0;background:conic-gradient(var(--accent) calc(var(--p) * 1%),var(--ring-2) 0);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid;position:relative}.ring:before{content:"";background:var(--core);border-radius:50%;position:absolute;inset:3px}.ring svg{width:14px;height:14px;color:var(--accent-ink);position:relative}.seg{background:var(--shell);box-shadow:inset 0 0 0 1px var(--ring);border-radius:999px;flex:none;padding:3px;display:inline-flex}.seg a{font:500 12px/1 var(--f-mono);font-variant-ligatures:none;letter-spacing:.06em;color:var(--ink-3);transition:color .5s var(--ease),background-color .5s var(--ease);border-radius:999px;padding:8px 10px;text-decoration:none}.seg a:hover{color:var(--ink)}.seg a[aria-current=true]{background:var(--core);color:var(--ink);box-shadow:0 0 0 1px var(--ring),0 2px 6px -2px var(--drop)}.pbar .btn{flex:none}.player{min-height:0;padding:var(--ppad) 18px 18px;flex:1;grid-template-columns:minmax(0,1fr) 340px;gap:24px;display:grid}body.cc-collapsed .player{grid-template-columns:minmax(0,1fr) 56px}.stage,.cc,.cc-rail{background:var(--core);box-shadow:inset 0 1px 0 var(--hi),0 0 0 1px var(--ring),0 0 0 var(--ppad) var(--shell),var(--shadow);outline:1px solid var(--ring);outline-offset:var(--ppad);border-radius:22px}.stage{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.lesson-locked{text-align:center;background:var(--bg);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:0;padding:40px 24px;display:flex;overflow:auto}.lesson-locked .orb{width:64px;height:64px;margin-bottom:6px}.lesson-locked .orb .ic{width:24px;height:24px;color:var(--accent-ink)}.lesson-locked h2{font:640 clamp(22px,1.2vw + 16px,28px)/1.2 var(--f-display);letter-spacing:-.025em;margin:0}.lesson-locked p{max-width:44ch;color:var(--ink-2);margin:0;font-size:15.5px;line-height:1.55}.lesson-locked .actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;display:flex}.lesson-frame{background:var(--bg);border:0;flex:1;width:100%;min-height:0;display:block}.stage-bar{background:var(--core);box-shadow:inset 0 1px 0 var(--ring);flex:none;align-items:center;gap:12px;padding:10px 12px;display:flex}.stage-bar .now{text-align:center;flex-direction:column;flex:1;align-items:center;gap:3px;min-width:0;display:flex}.stage-bar .now .num{font:500 10.5px/1.2 var(--f-mono);font-variant-ligatures:none;letter-spacing:.14em;color:var(--accent-ink)}.stage-bar .now b{font:500 14.5px/1.3 var(--f-body);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.stage-bar .nav-gap{flex:none;width:104px}.stage-bar>.btn-primary{margin-left:auto}.complete{margin:0}.complete .btn.is-done{background:var(--ok-wash);color:var(--ok);box-shadow:0 0 0 1px color-mix(in srgb,var(--ok) 26%,transparent)}.cc{flex-direction:column;min-height:0;display:flex;overflow:hidden}body.cc-collapsed .cc{visibility:hidden}.cc-rail{display:none}@media (min-width:961px){body.cc-collapsed .cc{display:none}body.cc-collapsed .cc-rail{display:flex}}.cc-rail{min-height:0;color:var(--ink-2);font:500 14px/1 var(--f-body);cursor:pointer;transition:color .4s var(--ease),background-color .4s var(--ease);border:0;flex-direction:column;align-items:center;gap:16px;padding:14px 0}.cc-rail:hover{color:var(--ink);background:var(--core-2)}.cc-rail-ic{background:var(--shell);width:36px;height:36px;box-shadow:inset 0 0 0 1px var(--ring);border-radius:50%;place-items:center;display:grid}.cc-rail-ic .ic{width:17px;height:17px}.cc-rail-label{writing-mode:vertical-rl;white-space:nowrap;letter-spacing:.01em}.cc-head{box-shadow:inset 0 -1px 0 var(--ring);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 12px 14px 22px;display:flex}.cc-head h2{font:640 18px/1.2 var(--f-display);letter-spacing:-.02em;margin:0}.cc-body{overscroll-behavior:contain;scrollbar-width:thin;flex:1;padding:6px 0 10px;overflow-y:auto}.cc details+details{box-shadow:inset 0 1px 0 var(--ring)}.cc summary{cursor:pointer;transition:background-color .5s var(--ease);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:14px 16px 14px 22px;list-style:none;display:grid}.cc summary::-webkit-details-marker{display:none}.cc summary:hover{background:color-mix(in srgb,var(--core-2) 70%,transparent)}.cc summary:focus-visible{outline-offset:-3px;border-radius:14px}.cc summary .st{font:640 15.5px/1.3 var(--f-display);letter-spacing:-.015em}.cc summary .sc{font:400 12px/1.3 var(--f-mono);font-variant-ligatures:none;color:var(--ink-3);grid-column:1}.cc summary>.ic{box-sizing:content-box;background:var(--shell);width:14px;height:14px;box-shadow:inset 0 0 0 1px var(--ring);color:var(--ink-2);transition:transform .7s var(--spring);border-radius:50%;grid-area:1/2/3;align-self:center;padding:7px}.cc details[open] summary>.ic{transform:rotate(180deg)}.cc ol{margin:0;padding:0 10px 10px;list-style:none}.cc li a,.cc li .row-static{color:var(--ink);transition:background-color .4s var(--ease);border-radius:14px;gap:12px;padding:10px 12px;font-size:14px;line-height:1.35;text-decoration:none;display:flex}.cc li a:hover{background:var(--core-2)}.cc li.current a,.cc li.current .row-static{background:color-mix(in srgb,var(--accent) 9%,var(--core));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 26%,transparent)}.cc li.current .mark{color:var(--accent-ink)}.cc li.soon .row-static,.cc li.locked .row-static{color:var(--ink-3)}.cc .mark{color:var(--ink-3);flex:none;margin-top:1px}.cc .mark .ic{width:17px;height:17px}.cc .mark.done,.cc li.current .mark.done{color:var(--ok)}.cc .lt{flex-direction:column;gap:4px;min-width:0;display:flex}.cc .lt small{color:var(--ink-3);align-items:center;gap:6px;font-size:12px;display:flex}.cc .lt small .ic{width:13px;height:13px}.cc li.quiz-row a,.cc li.quiz-row .row-static{background:color-mix(in srgb,var(--core-2) 60%,transparent);box-shadow:inset 0 0 0 1px var(--ring);margin-top:4px}.cc .parts{box-shadow:inset 1.5px 0 0 color-mix(in srgb,var(--accent) 32%,transparent);margin:2px 0 8px 20px;padding:2px 0 2px 12px;list-style:none}.cc li.current .parts a{color:var(--ink-3);box-shadow:none;background:0 0;border-radius:10px;align-items:baseline;gap:10px;padding:7px 10px;font-size:13.5px;line-height:1.35;display:flex}.cc li.current .parts a:hover{background:var(--core-2);color:var(--ink)}.cc li.current .parts a.past{color:var(--ink-2)}.cc li.current .parts a.on{color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 7%,transparent);font-weight:600}.cc .parts .pn{font:500 11px/1.2 var(--f-mono);font-variant-ligatures:none;letter-spacing:.04em;color:var(--ink-3);flex:none}.cc .parts a.on .pn{color:var(--accent-ink)}.cc-scrim{z-index:35;background:color-mix(in srgb,var(--bg) 45%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:fixed;inset:0}@media (max-width:960px){.player,body.cc-collapsed .player{grid-template-columns:minmax(0,1fr);gap:0}.cc-rail{display:none!important}.cc{z-index:40;width:min(400px,100vw - 24px);transition:transform .7s var(--ease),visibility 0s .7s;box-shadow:inset 0 1px 0 var(--hi),0 0 0 1px var(--ring),0 0 0 var(--ppad) var(--shell),var(--shadow-lift);position:fixed;top:12px;bottom:12px;right:12px;transform:translate(calc(100% + 32px))}body.cc-open .cc{visibility:visible;transition:transform .7s var(--ease);transform:none}body.cc-collapsed .cc{visibility:hidden}.pbar-progress .txt,.pbar .hide-sm{display:none}.pbar-progress{box-shadow:none;background:0 0;padding:3px}.pbar-title{font-size:15px}}@media (max-width:640px){body.player-body{--ppad:0px}.pbar{gap:6px;height:60px;padding:0 10px}.pbar-title{padding:8px 6px;font-size:14.5px}.pbar .btn-sm{--h:36px;padding:0 11px}.pbar-cta{width:36px;padding:0}.pbar-cta .lbl{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.player{padding:0 8px 8px}.stage{box-shadow:0 0 0 1px var(--ring),var(--shadow);border-radius:18px;outline:0}.stage-bar{gap:8px;padding:8px}.stage-bar .hide-sm{display:none}.stage-bar .nav-gap{width:38px}.stage-bar .now{display:none}.stage-bar .btn-sm{padding:0 11px}.complete{flex:1;justify-content:center;display:flex}.complete .btn{width:100%}.cc{--ppad:4px;border-radius:20px;width:calc(100vw - 16px);top:8px;bottom:8px;right:8px}}@media (max-width:400px){.pbar .seg a{padding:7px 8px}}@media (prefers-reduced-motion:reduce){.cc{transition:none}}
