.class-player-overlay{position:fixed;inset:0;z-index:9999;background:var(--surface-0);color:var(--text-primary);display:flex;flex-direction:column;overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.class-player-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;flex-shrink:0}.class-player-topbar-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;max-width:60%}.class-player-topbar-counter,.class-player-topbar-title{font-size:14px;color:var(--text-muted);white-space:nowrap}.class-player-close-btn{background:none;border:none;color:var(--text-primary);font-size:24px;cursor:pointer;padding:4px 8px;line-height:1}.class-player-progress{display:flex;gap:4px;padding:0 16px 8px;flex-shrink:0}.class-player-progress-dot{flex:1 1;height:4px;border-radius:2px;background:var(--border-subtle);transition:background .2s}.class-player-progress-dot--done{background:#4caf50}.class-player-progress-dot--skipped{background:var(--text-muted)}.class-player-progress-dot--active{background:var(--warrior-red)}.class-player-card-area{flex:1 1;overflow-y:auto;padding:0 16px 16px;transition:transform .15s ease-out}.class-player-card{background:var(--surface-card);border:1px solid var(--surface-card-border);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px}.class-player-card--done{opacity:.7}.class-player-card-title{font-size:20px;font-weight:700;margin:0}.class-player-card-category{display:inline-block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px;background:var(--surface-2);color:var(--text-muted)}.class-player-video-zone{border-radius:var(--radius-md);overflow:hidden;background:var(--taiko-black)}.class-player-video-placeholder{height:120px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.class-player-session-note{background:var(--surface-2);border-left:3px solid var(--warrior-red);padding:8px 12px;border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:14px;color:var(--text-primary)}.class-player-session-note-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px}.class-player-note-block{background:var(--surface-2);padding:8px 12px;border-radius:var(--radius-md);font-size:14px;color:var(--text-primary)}.class-player-note-block-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px}.class-player-note-block-content{white-space:pre-wrap}.class-player-controls{justify-content:space-between;padding:12px 16px;gap:12px;border-top:1px solid var(--border-subtle)}.class-player-controls,.class-player-nav-btn{display:flex;align-items:center;flex-shrink:0}.class-player-nav-btn{background:var(--surface-2);border:1px solid var(--border-subtle);color:var(--text-primary);width:48px;height:48px;border-radius:50%;justify-content:center;cursor:pointer;font-size:18px}.class-player-nav-btn:disabled{opacity:.3;cursor:default}.class-player-done-btn{flex:1 1;max-width:200px;height:48px;border:none;border-radius:24px;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s}.class-player-done-btn--mark{background:#4caf50;color:#fff}.class-player-done-btn--undo{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-subtle)}.class-player-done-btn:disabled{opacity:.5;cursor:default}.class-player-action-pair{display:flex;flex:1 1;max-width:280px;gap:8px;justify-content:center}.class-player-skip-btn{flex:0 0 auto;height:48px;padding:0 20px;border:1px solid var(--border-subtle);border-radius:24px;background:var(--surface-2);color:var(--text-primary);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.class-player-skip-btn:disabled{opacity:.5;cursor:default}@keyframes class-player-done-flash{0%{background:transparent}30%{background:rgba(76,175,80,.25)}to{background:transparent}}.class-player-done-flash{animation:class-player-done-flash .6s ease-out}.class-player-complete{flex:1 1;flex-direction:column;gap:24px;padding:32px;text-align:center}.class-player-complete,.class-player-complete-icon{display:flex;align-items:center;justify-content:center}.class-player-complete-icon{width:80px;height:80px;border-radius:50%;background:#4caf50;color:#fff;font-size:40px}.class-player-complete-title{font-size:24px;font-weight:700;margin:0}.class-player-complete-actions{display:flex;gap:12px}.class-player-fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));right:24px;width:56px;height:56px;border-radius:50%;background:var(--warrior-red);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px rgba(0,0,0,.4);z-index:101}@media (max-width:760px){.class-player-fab{bottom:calc(60px + 24px + env(safe-area-inset-bottom))}}.class-player-fab-badge{position:absolute;top:-4px;right:-4px;background:var(--surface-0);color:var(--text-primary);font-size:11px;font-weight:700;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--warrior-red)}@media (orientation:landscape) and (max-height:500px){.class-player-card-area{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}}.ds-timeline--bands .ds-timeline__segment-label{font-family:var(--font-display);font-weight:700;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.ds-timeline--bands .ds-timeline__segment+.ds-timeline__segment{box-shadow:inset 1px 0 0 rgba(17,17,17,.55)}.ds-timeline--bands .ds-timeline__segment,.ds-timeline--bands .ds-timeline__track{border-radius:0}.ds-timeline--bands .ds-timeline__segment{background:color-mix(in srgb,var(--segment-color) 55%,transparent);transition:background .16s ease-out}.ds-timeline--bands .ds-timeline__segment[data-active=true]{background:linear-gradient(180deg,var(--segment-color),color-mix(in srgb,var(--segment-color) 80%,black))}.ds-timeline--bands .ds-timeline__segment[data-active=true] .ds-timeline__segment-label{color:#fff5ef;text-shadow:0 1px 2px rgba(0,0,0,.35)}.ds-timeline--bands .ds-timeline__segment:not([data-active=true]) .ds-timeline__segment-label{color:rgba(232,220,200,.6)}.ds-timeline--bands .ds-timeline__dots{position:relative;margin-top:-32px;height:0;pointer-events:none;z-index:5}.ds-timeline--bands .ds-timeline__dot{pointer-events:auto;width:10px;height:10px;background:var(--dojo-cream);border:2px solid #111;box-shadow:0 0 0 1px rgba(232,220,200,.3)}.ds-timeline--bands .ds-timeline__dot[data-step-kind=user]{background:transparent;border:2px solid var(--warrior-red);box-shadow:none}.ds-timeline--bands[data-empty=true] .ds-timeline__track:after{content:"No segments yet — drag IN/OUT on the player to add one";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(232,220,200,.45);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 12px}@container (max-width: 280px){.ds-timeline--bands .ds-timeline__tick:not(:first-child):not(:last-child){visibility:hidden}}.ds-timeline{container-type:inline-size;overflow-x:hidden}.ds-timeline--bands .ds-timeline__playhead{z-index:6;pointer-events:auto}.ds-timeline--bands .ds-timeline__playhead:before{width:12px;height:12px;top:-6px;border:2px solid #111;background:var(--dojo-cream);box-shadow:0 0 12px rgba(232,220,200,.65);cursor:inherit}.ds-timeline--bands .ds-timeline__track[data-scrubbing=true],.ds-timeline--bands .ds-timeline__track[data-scrubbing=true] *{cursor:-webkit-grabbing!important;cursor:grabbing!important}.ds-timeline--bands .ds-timeline__track[data-scrubbing=true]~.ds-timeline__playhead:before{background:var(--warrior-red-light,#c4564a)}@media (pointer:coarse){.ds-timeline--bands .ds-timeline__track{overflow:visible;-webkit-clip-path:inset(-14px 0);clip-path:inset(-14px 0)}.ds-timeline--bands .ds-timeline__track:before{content:"";position:absolute;left:0;right:0;top:-14px;bottom:-14px;z-index:0}.ds-timeline--bands .ds-timeline__playhead:after{content:"";position:absolute;top:-16px;left:-20px;right:-20px;bottom:-16px}}