:root{--bg:#151a2d;--panel:#1e2542;--panel-2:#262f52;--panel-3:#303a66;--edge:#3a4682;--text:#e6ebff;--muted:#97a3cf;--aqua:#4de1ff;--pink:#ff6fb5;--gold:#ffd34d;--mint:#5cf2a5;--violet:#a98bff;--coral:#ff9b5c;--ui-font:"Trebuchet MS", "Segoe UI", system-ui, sans-serif;--mono:Consolas, "Courier New", monospace}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--ui-font);margin:0;overflow:hidden}body{flex-direction:column;display:flex}button{font-family:var(--ui-font)}#ribbon{z-index:20;border-bottom:2px solid var(--edge);background:linear-gradient(#2a3462,#1e2542);flex-direction:column;display:flex;position:relative}.ribbon-top{background:#0a0e2073;align-items:center;gap:10px;padding:3px 10px 0;display:flex}.quick-access{border-right:1px solid var(--edge);gap:2px;padding:2px 8px 2px 4px;display:flex}.quick-button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:3px;display:flex}.quick-button:hover{color:var(--text);border-color:var(--edge);background:var(--panel-2)}.quick-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.ribbon-tabs{align-self:flex-end;gap:2px;display:flex}.ribbon-tab{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;padding:4px 16px 5px;font-size:12px}.ribbon-tab:hover{color:var(--text)}.ribbon-tab.active{color:var(--aqua);border-color:var(--edge);background:#ffffff0f}.ribbon-shrink{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:12px}.ribbon-panels{align-items:stretch;gap:6px;padding:5px 10px 4px;display:none}.ribbon-panels.active{display:flex}#ribbon.minimized .ribbon-panels{display:none}.ribbon-brand{letter-spacing:1px;color:var(--mint);text-shadow:0 0 10px #5cf2a580;flex-direction:column;justify-content:center;padding:0 4px;font-size:16px;font-weight:700;line-height:1;display:flex}.ribbon-brand small{letter-spacing:2px;color:var(--muted);text-shadow:none;font-size:11px}.ribbon-group{border:1px solid var(--edge);background:#ffffff0a;border-radius:10px;flex-direction:column;align-items:center;padding:4px 6px 0;display:flex;position:relative}.ribbon-buttons{flex:1;align-items:center;gap:4px;display:flex}.ribbon-title{border-top:1px solid var(--edge);color:var(--group-color);letter-spacing:1px;text-align:center;text-transform:uppercase;background:#0a0e2073;border-radius:0 0 10px 10px;align-self:stretch;margin:3px -6px 0;padding:1px 8px 2px;font-size:10px}.ribbon-group.has-more .ribbon-title{cursor:pointer}.ribbon-group.has-more .ribbon-title:hover{background:var(--panel-3)}.panel-arrow{margin-left:4px}.panel-more{box-sizing:border-box;background:var(--panel);border:1px solid var(--group-color);border-radius:0 0 10px 10px;flex-direction:column;gap:2px;min-width:100%;padding:6px;display:none;position:absolute;top:100%;left:-1px;box-shadow:0 8px 18px #00000080}.ribbon-group.open .panel-more{display:flex}.ribbon-group.open .ribbon-title{background:var(--panel-3)}.panel-more .ribbon-button{flex-direction:row;justify-content:flex-start;gap:6px;padding:2px 8px 2px 4px}.panel-more .ribbon-button svg{width:15px;height:15px}.panel-pin{cursor:pointer;filter:grayscale();opacity:.6;background:0 0;border:1px solid #0000;border-radius:6px;align-self:flex-end;padding:0 4px;font-size:11px}.ribbon-group.pinned .panel-pin{filter:none;opacity:1;border-color:var(--group-color)}.ribbon-button{background:var(--panel-2);min-width:46px;color:var(--group-color);cursor:pointer;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:4px;font-size:11px;transition:transform 80ms,border-color 80ms,box-shadow 80ms;display:flex}.ribbon-button span{color:var(--text)}.ribbon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.ribbon-group.compact .ribbon-buttons{grid-template-rows:repeat(3,auto);grid-auto-flow:column;gap:2px 4px;display:grid}.ribbon-group.compact .ribbon-button{flex-direction:row;justify-content:flex-start;gap:4px;min-width:0;padding:1px 6px 1px 4px;font-size:11px}.ribbon-group.compact .ribbon-button svg{width:15px;height:15px}.ribbon-button:hover{border-color:var(--group-color);box-shadow:0 0 10px var(--group-color);transform:translateY(-1px)}.ribbon-button:active{transform:translateY(1px)scale(.96)}#layer-bar{color:var(--muted);gap:6px;padding:0 4px;font-size:12px}#layer-bar select,#layer-bar button{background:var(--panel-2);color:var(--text);border:1px solid var(--edge);font:inherit;font-family:var(--ui-font);cursor:pointer;border-radius:8px;padding:4px 8px}.layer-swatch{vertical-align:middle;border:1px solid #0d1124;border-radius:3px;width:12px;height:12px;display:inline-block}#workspace{flex:1;min-height:0;display:flex}#properties{background:var(--panel);border-right:2px solid var(--edge);box-sizing:border-box;flex-shrink:0;width:200px;padding:10px 12px;font-size:12px;overflow-y:auto}.panel-heading{letter-spacing:2px;text-transform:uppercase;color:var(--aqua);margin-bottom:8px;font-size:11px}.prop-title{color:var(--gold);margin-bottom:6px;font-size:16px;font-weight:700}.prop-title.muted{color:var(--muted)}.prop-section{background:var(--panel-3);color:var(--muted);border-radius:6px;margin:8px 0 3px;padding:2px 6px;font-size:11px}.prop-row{justify-content:space-between;gap:6px;padding:2px 6px;display:flex}.prop-row span{color:var(--muted)}.prop-row b{font-family:var(--mono);color:var(--text);font-weight:400}.prop-hint{color:var(--muted);font-style:italic}#drawing-area{flex-direction:column;flex:1;min-width:0;display:flex}#canvas-wrap{flex:1;min-height:0;position:relative;overflow:hidden}#drawing{cursor:none;width:100%;height:100%;display:block}#cycle-list{z-index:5;background:var(--panel-2);border:2px solid var(--gold);border-radius:10px;min-width:170px;font-size:12px;display:none;position:absolute;overflow:hidden;box-shadow:0 0 14px #ffd34d66}.cycle-title{background:var(--panel-3);color:var(--gold);letter-spacing:1px;text-transform:uppercase;padding:4px 10px;font-size:11px}.cycle-item{cursor:pointer;padding:5px 10px}.cycle-item:hover{background:#ffd34d33}#punch-layer{pointer-events:none;font-family:var(--ui-font);font-weight:900;position:absolute;inset:0;overflow:hidden}.punch-strip{justify-content:center;gap:3px;transition:opacity .6s,transform .6s;display:flex;position:absolute;top:74px;left:0;right:0}.punch-strip.fading{opacity:0;transform:translateY(-14px)}.punch-key{background:linear-gradient(#fff4c2 0%,#ffb829 35%,#ff6a00 65%,#d81e05 100%);color:#0000;-webkit-text-stroke:1px #500a008c;filter:drop-shadow(0 0 6px #ff6e00e6)drop-shadow(0 0 16px #ff32008c);-webkit-background-clip:text;background-clip:text;font-size:46px;font-style:italic;line-height:1.1;animation:.2s cubic-bezier(.2,1.6,.4,1) both punch-in,.14s .2s infinite alternate flicker;display:inline-block}.punch-key.hot{font-size:52px}.punch-key.blazing{filter:drop-shadow(0 0 8px #fa0)drop-shadow(0 0 22px #ff3c00bf);font-size:58px}.punch-key.inferno{background:linear-gradient(#fff 0%,#ffe680 40%,#ff9d00 70%,#ff2a00 100%);filter:drop-shadow(0 0 10px #ffe696)drop-shadow(0 0 28px #ff5000e6);-webkit-background-clip:text;background-clip:text;font-size:64px}@keyframes punch-in{0%{transform:scale(3.2) rotate(var(--tilt));opacity:0}to{transform:scale(1) rotate(var(--tilt));opacity:1}}@keyframes flicker{0%{transform:rotate(var(--tilt)) translateY(0) scaleY(1)}to{transform:rotate(var(--tilt)) translateY(-1px) scaleY(1.05)}}.punch-meter{text-align:center;color:#ffd34d;text-shadow:0 0 10px #ff7800e6,2px 2px #3a0d00;font-style:italic;transition:opacity .6s;position:absolute;top:142px;left:0;right:0}.punch-meter.bump{animation:.18s ease-out meter-bump}.punch-tricks{letter-spacing:2px;color:#ffe6a8;margin-top:2px;font-size:13px}.punch-clock{background:#3c1400b3;border:1px solid #ff8c0099;width:160px;height:5px;margin:6px auto 0}.punch-clock-fill{background:linear-gradient(90deg,#ff3d00,#ffb300,#fff3b0);height:100%}.punch-times{font-size:30px}.punch-label{letter-spacing:3px;font-size:15px}.punch-meter.hot{color:#ffb02e}.punch-meter.blazing{color:#ff7a1a}.punch-meter.blazing .punch-times{font-size:36px}.punch-meter.inferno{color:#fff1b8;text-shadow:0 0 14px #ff5a00,0 0 30px #ff2800cc,2px 2px #3a0d00}.punch-meter.inferno .punch-times{font-size:42px}.punch-meter.landed{animation:.7s ease-out forwards meter-land}.punch-meter.fading{opacity:0}@keyframes meter-bump{0%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes meter-land{0%{opacity:1;transform:scale(1)}25%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:scale(1.7)translateY(-8px)}}.punch-slam{text-align:center;letter-spacing:4px;text-shadow:0 0 18px,3px 3px #0d1124;font-size:44px;font-style:italic;animation:.9s ease-out both slam;position:absolute;top:16px;left:0;right:0}.punch-combo{color:var(--gold);letter-spacing:1px;font-size:24px}@keyframes slam{0%{opacity:0;transform:scale(2.6)}15%{opacity:1;transform:scale(.92)}25%{transform:scale(1.04)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)translateY(-10px)}}#layout-bar{background:var(--panel);border-top:2px solid var(--edge);color:var(--muted);align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:flex}.layout-tab{background:var(--panel-2);color:var(--muted);border:2px solid var(--edge);cursor:pointer;border-radius:999px;padding:3px 14px;font-size:12px}.layout-tab:hover{color:var(--text)}.layout-tab.current{background:var(--aqua);border-color:var(--aqua);color:#0d1124;font-weight:700;box-shadow:0 0 10px #4de1ff80}.layout-spacer{flex:1}.status-toggles{gap:4px;margin-right:10px;display:flex}.toggle{background:var(--panel-2);color:var(--muted);border:2px solid var(--edge);letter-spacing:1px;cursor:pointer;border-radius:8px;padding:3px 10px;font-size:11px;font-weight:700}.toggle.on{color:#0d1124;background:var(--mint);border-color:var(--mint);box-shadow:0 0 8px #5cf2a580}.toggle.fx.on{background:var(--pink);border-color:var(--pink);box-shadow:0 0 8px #ff6fb580}.vp-scale select{background:var(--panel-2);color:var(--text);border:1px solid var(--edge);font:inherit;font-family:var(--ui-font);border-radius:8px;margin-left:4px;padding:2px 6px}#plot-button{background:var(--mint);color:#0d1124;cursor:pointer;border:none;border-radius:999px;margin-left:10px;padding:4px 16px;font-size:12px;font-weight:700}#plot-button:hover{box-shadow:0 0 10px #5cf2a599}#brief{background:var(--panel);border-left:2px solid var(--edge);box-sizing:border-box;flex-shrink:0;width:340px;padding:12px 14px;font-size:13px;overflow:hidden auto}#brief h2{color:var(--gold);margin:2px 0 10px;font-size:22px}.brief-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.firm{color:var(--mint);font-weight:700}.tabs .tab{background:var(--panel-2);color:var(--muted);border:2px solid var(--edge);cursor:pointer;border-radius:999px;width:26px;height:26px;margin-left:3px;font-size:12px}.tabs .tab.current{background:var(--gold);border-color:var(--gold);color:#0d1124;font-weight:700}.project-label{color:var(--muted);font-size:12px}#brief-picture{box-sizing:border-box;border:2px solid var(--edge);border-radius:12px;width:100%;height:260px;display:block}.pm-note{background:var(--panel-2);border-radius:10px;padding:8px 10px;line-height:1.45}.requirements{padding-left:18px;line-height:1.6}.stats{background:var(--panel-2);border-radius:10px;gap:20px;padding:8px 12px;display:flex}.stats b{color:var(--aqua);font-family:var(--mono)}.hint{color:var(--muted);line-height:1.45}.results{border-collapse:collapse;width:100%}.results td{border-bottom:1px solid var(--edge);padding:8px 4px}.results small{color:var(--muted)}.medal{text-align:center;color:#0d1124;border-radius:999px;min-width:56px;padding:3px 8px;font-size:12px;font-weight:700;animation:.4s cubic-bezier(.2,1.6,.4,1) both medal-pop;display:inline-block}@keyframes medal-pop{0%{transform:scale(0)}to{transform:scale(1)}}.medal-dev{background:var(--violet);box-shadow:0 0 10px #a98bff99}.medal-gold{background:var(--gold);box-shadow:0 0 10px #ffd34d99}.medal-silver{background:#d6defa}.medal-bronze{background:#e09a64}.medal-none{background:var(--panel-3);color:var(--muted);animation:none}.details{color:var(--muted);margin-top:8px;font-size:12px}.sheet-check-title{color:var(--aqua);margin-top:12px;font-weight:700}.sheet-check{border-collapse:collapse;width:100%;font-size:12px}.sheet-check td{border-bottom:1px solid var(--edge);padding:4px}.sheet-check .deduction{color:var(--coral);text-align:right;white-space:nowrap}.sheet-check .clean{color:var(--mint)}.fee{color:var(--mint);margin-top:12px;font-size:18px;font-weight:700}.fee small{color:var(--muted);font-weight:400}.fee.unpaid{color:var(--coral)}.buttons{gap:8px;display:flex}.buttons button{background:var(--panel-2);color:var(--text);border:2px solid var(--edge);cursor:pointer;border-radius:999px;flex:1;padding:9px;font-size:13px;font-weight:700}.buttons button.primary{background:var(--mint);border-color:var(--mint);color:#0d1124}#command-bar{border-top:2px solid var(--edge);font-family:var(--mono);background:#11152a;font-size:13px;position:relative}#command-history{height:3.6em;color:var(--muted);white-space:pre-wrap;padding:4px 10px 0;overflow-y:auto}#command-row{align-items:center;padding:4px 10px 6px;display:flex}#command-prompt{color:var(--text);margin-right:6px}#command-input{color:var(--aqua);font:inherit;text-shadow:0 0 6px #4de1ff99;caret-color:var(--gold);background:0 0;border:none;outline:none;flex:1}.opt{color:var(--violet)}.opt .key{color:var(--gold);font-weight:700}.opt .slash{color:var(--muted)}.def{color:var(--gold)}.cancel{color:var(--coral)}.typed{color:var(--aqua)}.opt-click{cursor:pointer;border-radius:3px}.opt-click:hover{color:var(--text);background:#a98bff38}#command-suggest{background:var(--panel);border:2px solid var(--edge);z-index:5;border-radius:10px;min-width:190px;padding:4px;display:none;position:absolute;bottom:100%;left:80px;box-shadow:0 6px 18px #00000073}.suggest-item{cursor:pointer;color:var(--text);border-radius:6px;justify-content:space-between;gap:16px;padding:3px 8px;display:flex}.suggest-item.on,.suggest-item:hover{background:#4de1ff2e}.suggest-item.on .suggest-name{color:var(--aqua)}.suggest-alias{color:var(--muted)}#coordinates{color:var(--muted);white-space:pre;margin-left:12px}.dialog-backdrop{z-index:10;background:#05081480;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--panel);border:2px solid var(--edge);border-radius:14px;min-width:380px;font-size:13px;animation:.2s ease-out both medal-pop;overflow:hidden;box-shadow:0 10px 40px #0009}.dialog-title{background:var(--panel-3);color:var(--gold);padding:9px 14px;font-weight:700}.dialog-body{padding:12px 14px}.dialog-hint{color:var(--muted);margin-top:10px;font-size:12px}.plot-settings td{padding:3px 10px 3px 0}.plot-settings td:first-child{color:var(--muted)}.dialog-buttons{justify-content:flex-end;gap:8px;padding:0 14px 14px;display:flex}.dialog-buttons button{background:var(--panel-2);min-width:84px;color:var(--text);border:2px solid var(--edge);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}.dialog-buttons .ok{background:var(--mint);border-color:var(--mint);color:#0d1124}.layer-table{border-collapse:collapse;width:100%}.layer-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--edge);padding:3px 8px;font-weight:400}.layer-table td{padding:5px 8px}.layer-row{cursor:pointer}.layer-row.chosen{background:#4de1ff2e}.current-mark{color:var(--mint)}.palette{z-index:15;background:var(--panel);border:2px solid var(--edge);border-radius:10px;font-size:12px;display:flex;position:fixed;overflow:hidden;box-shadow:0 10px 28px #0000008c}.palette.flash{animation:.5s ease-out palette-flash}@keyframes palette-flash{0%{box-shadow:0 0 0 3px var(--aqua), 0 10px 28px #0000008c}to{box-shadow:0 10px 28px #0000008c}}.palette-strip{background:var(--panel-3);cursor:move;-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;width:22px;padding:4px 0;display:flex}.palette-strip button{width:18px;height:18px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0;font-size:11px}.palette-strip button:hover{background:var(--panel-2);color:var(--text)}.palette-title{writing-mode:vertical-rl;letter-spacing:2px;color:var(--aqua);white-space:nowrap;margin-top:6px;font-size:10px;transform:rotate(180deg)}.palette-body{flex:1;min-width:0;padding:10px 12px;overflow:auto}.palette.tucked{box-shadow:none;background:0 0;border-color:#0000;width:auto!important}.palette.tucked .palette-body{display:none}.palette.tucked:hover{background:var(--panel);border-color:var(--edge);width:var(--open-width,230px)!important}.palette.tucked:hover .palette-body{display:block}.palette.dragging{opacity:.85}.palette-toolbar{align-items:center;gap:10px;margin-bottom:8px;display:flex}.palette-toolbar button{background:var(--panel-2);color:var(--mint);border:1px solid var(--edge);cursor:pointer;font:inherit;border-radius:8px;padding:3px 8px}.palette-toolbar button:hover{border-color:var(--mint)}.palette-note{color:var(--muted)}.palette-note b{color:var(--text)}.modes .mode{background:var(--panel-2);color:var(--muted);border:2px solid var(--edge);cursor:pointer;border-radius:999px;margin-left:4px;padding:4px 10px;font-size:12px;font-weight:700}.modes .mode.current{background:var(--mint);border-color:var(--mint);color:#0d1124}.project-tabs{margin-bottom:6px}.lesson-parts{gap:4px;margin-bottom:10px;display:flex}.lesson-part{text-align:center;background:var(--panel-2);color:var(--muted);border-radius:999px;flex:1;padding:4px 0;font-size:11px}.lesson-part.on{background:var(--aqua);color:#0d1124;font-weight:700}.dale{background:var(--panel-2);border-radius:10px;margin-bottom:12px;padding:10px 12px;line-height:1.5}.dale p{margin:6px 0}.dale-name{color:var(--gold);font-weight:700}.dale-name span{color:var(--muted);font-size:12px;font-weight:400}#brief kbd{font-family:var(--mono);background:var(--panel-3);border:1px solid var(--edge);color:var(--text);border-bottom-width:3px;border-radius:5px;padding:0 6px;font-size:12px;display:inline-block}.lesson-steps{margin:0 0 12px;padding-left:22px;line-height:1.5}.lesson-steps li{border-radius:8px;margin-bottom:8px;padding:6px 8px}.lesson-steps li.done{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--mint);text-decoration-color:var(--mint)}.lesson-steps li.done::marker{content:"✓  ";color:var(--mint)}.lesson-steps li.now{background:var(--panel-2);border:2px solid var(--aqua);box-shadow:0 0 10px #5fd3c659}.lesson-steps li.later{opacity:.45}.lesson-nudge,.lesson-hint{border-radius:10px;margin-bottom:10px;padding:8px 10px;line-height:1.45}.lesson-nudge{border:2px solid var(--coral);background:#ff78641a}.lesson-hint{border:2px dashed var(--gold);margin-top:10px}.lesson-result{border:2px solid var(--edge);border-radius:10px;margin:10px 0;padding:8px 10px;line-height:1.8}.lesson-result.pass{border-color:var(--mint)}.lesson-result.fail{border-color:var(--coral)}.lesson-result p{margin:4px 0 0;line-height:1.45}.lesson-row{margin-top:8px}#step-card{box-sizing:border-box;z-index:5;border:2px solid var(--aqua);width:min(460px,100% - 28px);color:var(--text);cursor:default;background:#171d38f0;border-radius:14px;font-size:15px;line-height:1.5;display:none;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000080,0 0 16px #4de1ff40}#step-card.moved{bottom:auto;transform:none}.step-card-grip{letter-spacing:.06em;text-transform:uppercase;color:var(--aqua);border-bottom:1px solid var(--edge);cursor:move;-webkit-user-select:none;user-select:none;justify-content:space-between;padding:4px 12px;font-size:11px;font-weight:700;display:flex}.step-card-dots{color:var(--muted)}.step-card-body{padding:10px 14px 12px}#step-card.enter .step-card-body{animation:.3s ease-out both step-card-in}@keyframes step-card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}#step-card.done{animation:.6s ease-out step-card-done}#step-card.done:after{content:"✓";color:var(--mint);pointer-events:none;font-size:24px;font-weight:700;animation:.7s ease-out both step-check;position:absolute;top:-4px;right:34px}@keyframes step-card-done{0%{border-color:var(--mint);box-shadow:0 0 26px #5cf2a5cc}}@keyframes step-check{0%{opacity:1;transform:scale(1.6)}to{opacity:0;transform:scale(1)}}#step-card kbd{font-family:var(--mono);background:var(--panel-3);border:1px solid var(--aqua);color:#fff;border-bottom-width:3px;border-radius:6px;margin:1px 0;padding:1px 9px;font-size:17px;font-weight:700;display:inline-block}.step-card-nudge{border:2px solid var(--coral);background:#ff9b5c1f;border-radius:8px;margin:0 12px 12px;padding:6px 10px;font-size:13px;display:none}.step-card-nudge kbd{font-size:13px!important}.step-card-button{background:var(--mint);color:#0d1124;cursor:pointer;border:none;border-radius:999px;margin-left:6px;padding:4px 12px;font-size:13px;font-weight:700}.lesson-back{color:var(--aqua);cursor:pointer;background:0 0;border:none;margin-bottom:4px;padding:0;font-size:12px;font-weight:700}.course-progress{background:var(--panel-2);border-radius:999px;height:10px;overflow:hidden}.course-progress div{background:var(--mint);border-radius:999px;height:100%}.course-count{color:var(--muted);margin:4px 0 10px;font-size:12px}.course-chapter{margin-top:14px}.course-chapter-title{color:var(--gold);justify-content:space-between;margin-bottom:4px;font-weight:700;display:flex}.course-chapter-title small{color:var(--muted);font-weight:400}.course-chapter.locked .course-chapter-title{color:var(--muted)}.course-lesson{box-sizing:border-box;text-align:left;width:100%;color:var(--text);background:var(--panel-2);cursor:pointer;border:2px solid #0000;border-radius:10px;align-items:center;gap:8px;margin-bottom:3px;padding:6px 8px;font-size:13px;display:flex}button.course-lesson:hover{border-color:var(--edge)}.course-lesson.next{border-color:var(--aqua);box-shadow:0 0 10px #4de1ff4d}.course-lesson.soon{opacity:.45;cursor:default}.course-mark{text-align:center;background:var(--panel-3);width:22px;height:22px;color:var(--muted);border-radius:999px;flex-shrink:0;font-size:11px;font-weight:700;line-height:22px}.course-lesson.done .course-mark{background:var(--mint);color:#0d1124}.course-title{flex:1}.course-lesson .medal{min-width:0;padding:1px 6px;font-size:10px}.course-soon{color:var(--muted);font-size:10px}#course-reset{color:var(--coral)}#device-notice{z-index:1000;background:#0a0d1ceb;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.device-notice-box{border:2px solid var(--aqua);background:var(--panel);max-width:360px;color:var(--text);text-align:center;border-radius:14px;padding:20px;font-size:15px;line-height:1.5}.device-notice-box h2{color:var(--gold);margin-top:0}.device-notice-box button{border:2px solid var(--edge);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:999px;margin-top:6px;padding:8px 18px;font-weight:700}
