:root{--paper: #f2ede1;--paper-raised: #fffcf4;--paper-sunken: #e7dfcc;--paper-warm: #ede3ce;--ink: #11151b;--ink-soft: #3a414b;--ink-faint: #5c6470;--ink-inverse: #fff9eb;--line: #d7cdba;--line-strong: #afa38a;--line-dark: #11151b;--cobalt: #2f46e0;--cobalt-bright: #4560ff;--cobalt-wash: #e8eaff;--cobalt-ink: #151f66;--teal: #0f766e;--teal-bright: #128c82;--teal-wash: #ddf0eb;--teal-ink: #083d38;--vermilion: #c8402a;--vermilion-bright: #e8553a;--vermilion-wash: #ffe3da;--amber: #a66b00;--amber-bright: #e0a526;--amber-wash: #fbebc2;--acid: #f2c94c;--acid-wash: #fbf0c2;--blue: #2f46e0;--blue-bright: #4560ff;--blue-wash: #e8eaff;--plum: #6c3e66;--plum-wash: #f0e3ed;--focus: #c8402a;--danger: #a62a1c;--success: #0f766e;--font-display: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, "SimSun", Georgia, "Times New Roman", serif;--font-body: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Segoe UI", system-ui, sans-serif;--font-mono: "Cascadia Code", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--radius-xs: 4px;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--radius-xl: 26px;--shadow-xs: 2px 2px 0 rgba(17, 21, 27, .1);--shadow-sm: 3px 3px 0 rgba(17, 21, 27, .12);--shadow-md: 5px 5px 0 rgba(17, 21, 27, .14), 0 18px 40px rgba(17, 21, 27, .08);--shadow-lg: 8px 8px 0 rgba(17, 21, 27, .16), 0 30px 60px rgba(17, 21, 27, .12);--shadow-hard: 6px 6px 0 var(--ink);--shadow-inset: none;--header-height: 70px;--page-max: 1600px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.375rem;--text-4xl: 3.25rem;--text-5xl: 4.5rem}:root[data-font-size=large]{font-size:18px}:root[data-font-size=xlarge]{font-size:20px}:root[data-reduce-motion=true] *,:root[data-reduce-motion=true] *:before,:root[data-reduce-motion=true] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.lab-shell{position:relative;display:flex;flex-direction:column;gap:16px;width:100%}.lab-loading{display:grid;place-items:center;min-height:260px;color:var(--ink-faint);font-size:.85rem}.stage-body.is-lab{padding:14px 18px 18px;justify-content:flex-start}.lab-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}.lab-head-copy{min-width:0}.lab-brief{margin-top:6px;max-width:78ch;color:var(--ink-soft);font-size:.92rem;line-height:1.65}.lab-head-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lab-gallery-link{display:inline-flex;align-items:center;gap:4px;min-height:32px;font-size:.74rem;font-weight:700;color:var(--cobalt);border-bottom:1px solid rgba(47,70,224,.35)}.lab-gallery-link:hover{border-bottom-color:var(--cobalt)}.lab-prediction{width:100%;max-width:920px;margin:4px auto;padding:clamp(20px,3vw,30px);border:1.5px solid var(--ink);border-radius:var(--radius-lg);background:linear-gradient(rgba(29,35,43,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(29,35,43,.03) 1px,transparent 1px),var(--paper-raised);background-size:26px 26px;box-shadow:var(--shadow-md)}.lab-prediction-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.lab-prediction h2{margin-top:12px;max-width:34ch;font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.35}.lab-prediction-note{margin-top:10px;color:var(--ink-faint);font-size:.84rem}.lab-prediction .checkpoint-options{margin-top:16px}.lab-prediction .checkpoint-actions{margin-top:16px;justify-content:flex-start;align-items:center;flex-wrap:wrap}.lab-prediction-skip{color:var(--ink-faint);font-size:.74rem}.lab-workspace{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:16px;align-items:stretch}.lab-stage-card{min-width:0;display:flex;flex-direction:column;border:1.5px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper-raised);box-shadow:var(--shadow-md);overflow:hidden}.lab-stage-body{flex:1;display:flex;align-items:center;justify-content:center;padding:9px;background-color:var(--paper-raised);background-image:linear-gradient(rgba(17,21,27,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(17,21,27,.04) 1px,transparent 1px);background-size:24px 24px}.lab-stage-body .sim-canvas{border:0;border-radius:0;background:transparent}.sim-canvas{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-raised);font-family:var(--font-body)}.sim-canvas text{font-family:var(--font-body)}.sim-readout-label{font-size:10px;font-weight:650;fill:var(--ink-faint)}.sim-readout-value{font-family:var(--font-mono);font-size:11.5px;font-weight:700}.sim-axis-label{font-family:var(--font-mono);font-size:9px;fill:var(--ink-faint)}.sim-axis-title{font-size:9px;fill:var(--ink-faint);letter-spacing:.04em}.sim-plot-title{font-size:10px;font-weight:700;fill:var(--ink-soft)}.sim-bar-value{font-family:var(--font-mono);font-size:9px;fill:var(--ink-soft)}.sim-arrow-label{font-family:var(--font-mono);font-size:10px;font-weight:700}.sim-handle-label{font-size:10px;font-weight:700}.sim-body-text{font-size:11px}.sim-handle{cursor:grab}.sim-handle:active{cursor:grabbing}.lab-stage-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:10px 13px;border-top:1px solid var(--line);background:var(--paper-raised)}.lab-stage-hint{max-width:56ch;color:var(--ink-faint);font-size:.72rem;line-height:1.5}.lab-transport{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.lab-play-btn{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 12px;border:1.5px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--ink-inverse);font-size:.76rem;font-weight:700}.lab-play-btn:hover{background:var(--cobalt);border-color:var(--cobalt)}.lab-icon-btn{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper-raised);color:var(--ink-soft)}.lab-icon-btn:hover{border-color:var(--ink);color:var(--ink)}.lab-icon-btn:disabled{opacity:.38;cursor:not-allowed}.lab-icon-btn:disabled:hover{border-color:var(--line-strong);color:var(--ink-soft)}.lab-speed-btn{min-height:30px;padding:0 9px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem}.lab-speed-btn.is-on{border-color:var(--amber);background:var(--amber-wash);color:var(--amber)}.lab-reduce-note{color:var(--ink-faint);font-size:.66rem}.lab-text-btn{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:2px 0;color:var(--cobalt);font-size:.72rem;font-weight:650}.lab-text-btn:hover{text-decoration:underline}.lab-controls{display:flex;flex-direction:column;gap:12px;min-width:0}.lab-panel-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);padding:14px;box-shadow:var(--shadow-xs)}.lab-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.lab-panel-title h3{font-size:.98rem}.param-grid.lab-param-grid{display:grid;grid-template-columns:1fr;gap:10px}.lab-param-grid .param-control{padding:10px 11px}.lab-param-grid .param-control input[type=range]{margin-top:8px;accent-color:var(--cobalt)}.lab-param-grid .param-control-head strong{color:var(--cobalt);font-size:.7rem}.lab-param-hint{display:block;margin-top:6px;color:var(--ink-faint);font-size:.64rem;line-height:1.45}.lab-toggles{display:flex;flex-direction:column;gap:8px;margin-top:12px;border-top:1px dashed var(--line);padding-top:11px}.lab-toggle{display:flex;align-items:center;gap:8px;min-height:28px;color:var(--ink-soft);font-size:.78rem;cursor:pointer}.lab-toggle input{width:16px;height:16px;accent-color:var(--cobalt)}.lab-task-list{display:flex;flex-direction:column;gap:9px;list-style:none}.lab-task{display:flex;align-items:flex-start;gap:9px;color:var(--ink-soft);font-size:.8rem;line-height:1.5}.lab-task-index{flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-faint);font-family:var(--font-mono);font-size:.6rem}.lab-task.is-done{color:var(--ink)}.lab-task.is-done .lab-task-index{border-color:var(--teal);background:var(--teal);color:#fff}.lab-task-progress{color:var(--ink-faint);font-size:.7rem}.lab-task-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px;border-top:1px dashed var(--line);padding-top:9px}.lab-task-left{color:var(--ink-faint);font-size:.7rem}.lab-actions{display:flex;flex-direction:column;gap:6px}.lab-continue{width:100%;justify-content:center}.lab-actions p{color:var(--ink-faint);font-size:.68rem;line-height:1.5;text-align:center}.lab-toast{position:fixed;right:22px;bottom:22px;z-index:30;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--teal);color:#fff;box-shadow:var(--shadow-sm);font-size:.72rem;font-weight:650;animation:lab-toast-in .24s var(--ease-out) both}@keyframes lab-toast-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.lab-missing{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised)}.lab-preview{width:100%;aspect-ratio:720 / 400;overflow:hidden;background:var(--paper-raised)}.lab-preview .sim-canvas{width:100%;height:100%;border:0;border-radius:0}.lab-preview.is-missing{background:repeating-linear-gradient(-45deg,var(--paper-raised),var(--paper-raised) 12px,var(--paper-warm) 12px,var(--paper-warm) 24px)}.labs-page{padding-bottom:80px}.labs-page-head{align-items:flex-start}.labs-page-head .page-title{max-width:16ch}.lab-guide{display:flex;flex-wrap:wrap;gap:10px 26px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--shadow-xs);color:var(--ink-soft);font-size:.8rem}.lab-guide span{display:inline-flex;align-items:center;gap:8px}.lab-guide b{color:var(--cobalt);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em}.lab-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:24px 0 18px}.lab-filter-btn{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 15px;border:1px solid var(--line-strong);border-radius:999px;background:var(--paper-raised);color:var(--ink-soft);font-size:.8rem;font-weight:650}.lab-filter-btn span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--paper-warm);color:var(--ink-faint);font-family:var(--font-mono);font-size:.62rem}.lab-filter-btn.is-active{border-color:var(--ink);background:var(--ink);color:var(--ink-inverse)}.lab-filter-btn.is-active span{background:#fff9eb2e;color:var(--ink-inverse)}.labs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lab-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line-strong);border-top:4px solid var(--cobalt);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--shadow-xs);overflow:hidden;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),border-color .18s}.lab-card[data-track=chemistry]{border-top-color:var(--teal)}.lab-card[data-track=algorithms]{border-top-color:var(--amber)}.lab-card[data-track=math]{border-top-color:var(--plum)}.lab-card[data-kind=sandbox] .lab-card-foot span:last-child{color:var(--amber)}.lab-card:hover{transform:translateY(-3px);border-color:var(--ink);box-shadow:var(--shadow-md)}.lab-card-preview{position:relative;border-bottom:1px solid var(--line);background:var(--paper-warm)}.lab-card-preview .lab-preview{transition:transform .3s var(--ease-out)}.lab-card:hover .lab-preview{transform:scale(1.02)}.lab-card-track{position:absolute;top:10px;left:10px;padding:3px 9px;border:1px solid var(--line-strong);border-radius:999px;background:#fffcf4e6;color:var(--ink-soft);font-size:.62rem;font-weight:700;letter-spacing:.05em;backdrop-filter:blur(4px)}.lab-card-body{display:flex;flex-direction:column;gap:7px;flex:1;padding:15px 16px 14px}.lab-card-meta{display:flex;justify-content:space-between;gap:10px;color:var(--ink-faint);font-size:.65rem;font-family:var(--font-mono);letter-spacing:.03em}.lab-card h2{font-size:1.1rem;line-height:1.35}.lab-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink-faint);font-size:.8rem;line-height:1.55}.lab-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--line);color:var(--ink-faint);font-size:.7rem}.lab-card-foot span:last-child{display:inline-flex;align-items:center;gap:4px;color:var(--cobalt);font-weight:700}.lab-spotlight-head{align-items:end}.lab-spotlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.lab-spotlight-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--shadow-xs);overflow:hidden;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out)}.lab-spotlight-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.lab-spotlight-copy{display:flex;flex-direction:column;gap:7px;padding:14px 15px 15px}.lab-spotlight-copy>span{color:var(--cobalt);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.lab-spotlight-copy h3{font-size:1.02rem}.lab-spotlight-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink-faint);font-size:.76rem;line-height:1.5}.lab-spotlight-copy small{margin-top:2px;color:var(--ink-faint);font-size:.64rem}.lab-spotlight-loading{min-height:280px}.lab-mini-badge.is-sandbox{border-color:#a66b004d;background:var(--amber-wash);color:var(--amber)}.lab-mini-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 7px;border:1px solid rgba(47,70,224,.28);border-radius:999px;background:var(--cobalt-wash);color:var(--cobalt);font-family:var(--font-body);font-size:.6rem;font-weight:700;vertical-align:2px;letter-spacing:.02em}@media(min-width:1320px){.labs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1120px){.labs-grid,.lab-spotlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1120px){.lab-workspace{grid-template-columns:1fr}.lab-controls{display:grid;grid-template-columns:1fr 1fr;align-items:start}.lab-actions{grid-column:1 / -1}}@media(max-width:760px){.stage-body.is-lab{padding:10px}.lab-head{flex-direction:column;align-items:flex-start}.lab-controls{grid-template-columns:1fr}.lab-prediction{padding:18px}.lab-stage-foot{align-items:flex-start;flex-direction:column}.lab-transport{width:100%}.lab-play-btn{min-height:44px}.lab-icon-btn{width:44px;height:44px}.lab-speed-btn{min-height:44px;padding:0 12px}.labs-grid,.lab-spotlight-grid{grid-template-columns:1fr}.lab-filter-btn{min-height:44px}}.lab-prediction{animation:lab-panel-in .38s var(--ease-out) both}.lab-stage-card{position:relative;animation:lab-stage-in .44s var(--ease-out) both}.lab-controls>*{animation:lab-panel-in .42s var(--ease-out) both}.lab-controls>*:nth-child(2){animation-delay:60ms}.lab-controls>*:nth-child(3){animation-delay:.11s}@keyframes lab-stage-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes lab-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.lab-param-grid{gap:9px}.lab-param{padding:10px 11px 9px;border:1px solid var(--line);border-radius:9px;background:#fff6;transition:border-color .16s var(--ease-out),background .16s var(--ease-out),box-shadow .16s var(--ease-out)}.lab-param:hover{border-color:var(--line-strong)}.lab-param:focus-within{border-color:var(--cobalt);background:var(--paper-raised);box-shadow:0 0 0 3px var(--cobalt-wash)}.lab-param-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.lab-param-label{display:inline-flex;flex:1 1 auto;align-items:baseline;gap:4px;min-width:0;color:var(--ink-soft);font-size:.74rem;font-weight:700;line-height:1.3;white-space:nowrap}.lab-param-unit{color:var(--ink-faint);font-family:var(--font-mono);font-size:.58rem;font-weight:500}.lab-param-value{display:inline-flex;align-items:center;flex:none;gap:1px;padding:1px 2px;border:1px solid var(--line);border-radius:6px;background:var(--paper-raised)}.lab-param-step{display:grid;place-items:center;width:19px;height:22px;border:0;border-radius:4px;background:transparent;color:var(--ink-faint);font-family:var(--font-mono);font-size:.78rem;line-height:1;transition:background .12s,color .12s}.lab-param-step:hover{background:var(--cobalt-wash);color:var(--cobalt)}.lab-param-number{width:44px;height:22px;border:0;background:transparent;color:var(--cobalt);font-family:var(--font-mono);font-size:.68rem;font-weight:700;text-align:right;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.lab-param-number::-webkit-outer-spin-button,.lab-param-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.lab-param-number:focus{outline:none}.lab-param-reset{display:grid;place-items:center;width:20px;height:22px;border:0;border-radius:4px;background:transparent;color:var(--ink-faint);opacity:.55;transition:opacity .12s,color .12s,background .12s}.lab-param-reset:hover{background:var(--vermilion-wash);color:var(--vermilion);opacity:1}.lab-param-track{position:relative;margin-top:8px}.lab-param-track input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:18px;margin:0;background:transparent;cursor:pointer}.lab-param-track input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--cobalt) 0%,var(--cobalt) var(--lab-param-fill, 50%),var(--line) var(--lab-param-fill, 50%),var(--line) 100%)}.lab-param-track input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--line)}.lab-param-track input[type=range]::-moz-range-progress{height:4px;border-radius:999px;background:var(--cobalt)}.lab-param-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border:2px solid var(--paper-raised);border-radius:50%;background:var(--cobalt);box-shadow:0 0 0 1px var(--cobalt),0 2px 4px #11151b33;transition:transform .12s var(--ease-spring),box-shadow .12s}.lab-param-track input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.18);box-shadow:0 0 0 1px var(--cobalt),0 0 0 5px var(--cobalt-wash)}.lab-param-track input[type=range]::-moz-range-thumb{width:12px;height:12px;border:2px solid var(--paper-raised);border-radius:50%;background:var(--cobalt);box-shadow:0 0 0 1px var(--cobalt)}.lab-param-track input[type=range]:focus-visible{outline:none}.lab-param-track input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--paper-raised),0 0 0 5px var(--focus)}.lab-param-marks{position:relative;height:16px;margin-top:1px}.lab-param-mark{position:absolute;top:0;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);pointer-events:none}.lab-param-mark i{width:1px;height:3px;background:var(--line-strong)}.lab-param-mark b{margin-top:1px;color:var(--ink-faint);font-family:var(--font-mono);font-size:.52rem;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.lab-param-mark.is-near i{background:var(--cobalt)}.lab-param-mark.is-near b{color:var(--cobalt)}.lab-param-presets{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.lab-param-preset{min-height:22px;padding:0 8px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink-faint);font-family:var(--font-mono);font-size:.58rem;font-weight:600;transition:border-color .12s,background .12s,color .12s}.lab-param-preset:hover{border-color:var(--cobalt);color:var(--cobalt)}.lab-param-preset.is-active{border-color:var(--ink);background:var(--ink);color:var(--ink-inverse)}.lab-advanced{margin-top:9px;border-top:1px dashed var(--line);padding-top:8px}.lab-advanced summary{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--ink-faint);font-size:.7rem;font-weight:650;list-style:none}.lab-advanced summary::-webkit-details-marker{display:none}.lab-advanced summary svg{margin-left:auto;transition:transform .16s var(--ease-out)}.lab-advanced[open] summary svg{transform:rotate(180deg)}.lab-advanced-count{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--paper-warm);color:var(--ink-faint);font-family:var(--font-mono);font-size:.55rem}.lab-advanced .lab-param-grid{margin-top:9px}.lab-toggles{gap:2px}.lab-toggle{position:relative;align-items:flex-start;gap:10px;min-height:34px;padding:7px 0}.lab-toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.lab-switch{position:relative;flex:none;width:34px;height:20px;margin-top:2px;border:1.5px solid var(--line-strong);border-radius:999px;background:var(--paper);transition:background .16s var(--ease-out),border-color .16s var(--ease-out)}.lab-switch-knob{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--ink-faint);transition:transform .18s var(--ease-spring),background .16s}.lab-toggle input:checked+.lab-switch{border-color:var(--cobalt);background:var(--cobalt)}.lab-toggle input:checked+.lab-switch .lab-switch-knob{transform:translate(14px);background:var(--ink-inverse)}.lab-toggle input:focus-visible+.lab-switch{outline:3px solid var(--focus);outline-offset:2px}.lab-toggle-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.lab-toggle-copy strong{color:var(--ink-soft);font-size:.76rem;font-weight:650;line-height:1.35}.lab-toggle-copy small{color:var(--ink-faint);font-size:.62rem;line-height:1.4}.lab-timeline{border-top:1px dashed var(--line);padding:8px 13px 0;background:var(--paper-raised)}.lab-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px;color:var(--ink-faint);font-size:.6rem;font-weight:650;letter-spacing:.05em}.lab-timeline-label{display:inline-flex;align-items:center;gap:6px}.lab-timeline-label b{padding:0 5px;border-radius:999px;background:var(--cobalt-wash);color:var(--cobalt);font-family:var(--font-mono);font-size:.56rem;font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums}.lab-timeline-head .mono{color:var(--ink-soft);font-size:.62rem;letter-spacing:0;font-variant-numeric:tabular-nums}.lab-scrub{position:relative;display:flex;align-items:center;height:22px}.lab-scrub:before{content:"";position:absolute;left:0;right:0;top:50%;height:5px;border-radius:999px;background:var(--line);transform:translateY(-50%);transition:height .14s var(--ease-out)}.lab-scrub:hover:before,.lab-scrub.is-scrubbing:before{height:7px}.lab-scrub-fill{position:absolute;left:0;top:50%;width:var(--lab-progress, 0%);height:5px;border-radius:999px;background:linear-gradient(90deg,var(--cobalt),var(--teal));transform:translateY(-50%);pointer-events:none;transition:height .14s var(--ease-out)}.lab-scrub:hover .lab-scrub-fill,.lab-scrub.is-scrubbing .lab-scrub-fill{height:7px}.lab-scrub-time{position:absolute;bottom:calc(100% + 2px);z-index:2;padding:2px 7px;border-radius:999px;background:var(--ink);color:var(--ink-inverse);font-family:var(--font-mono);font-size:.58rem;font-variant-numeric:tabular-nums;line-height:1.4;transform:translate(-50%);pointer-events:none;white-space:nowrap}.lab-scrub input[type=range]{-webkit-appearance:none;appearance:none;position:relative;z-index:1;width:100%;height:22px;margin:0;background:transparent;cursor:pointer}.lab-scrub input[type=range]::-webkit-slider-runnable-track{height:5px;background:transparent}.lab-scrub input[type=range]::-moz-range-track{height:5px;background:transparent}.lab-scrub input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-4.5px;border:2.5px solid var(--cobalt);border-radius:50%;background:var(--paper-raised);box-shadow:0 2px 5px #11151b33;transition:transform .12s var(--ease-spring),background .12s}.lab-scrub input[type=range]::-moz-range-thumb{width:11px;height:11px;border:2.5px solid var(--cobalt);border-radius:50%;background:var(--paper-raised)}.lab-scrub input[type=range]:hover::-webkit-slider-thumb,.lab-scrub.is-scrubbing input[type=range]::-webkit-slider-thumb{transform:scale(1.18);background:var(--cobalt-wash)}.lab-scrub input[type=range]:focus-visible{outline:none}.lab-scrub input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--paper-raised),0 0 0 5px var(--focus)}.lab-scrub input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--paper-raised),0 0 0 5px var(--focus)}.lab-scrub.is-scrubbing .lab-scrub-fill{transition:none}.lab-keys{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:0 13px 8px;color:var(--ink-faint);font-size:.6rem;background:var(--paper-raised)}.lab-keys span{display:inline-flex;align-items:center;gap:4px}.lab-keys kbd{display:inline-grid;place-items:center;min-width:18px;height:17px;padding:0 4px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;background:var(--paper);color:var(--ink-soft);font-family:var(--font-mono);font-size:.55rem}.lab-task-meter{height:3px;margin:-3px 0 11px;border-radius:999px;background:var(--line);overflow:hidden}.lab-task-meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--teal-bright));transition:width .42s var(--ease-out)}.lab-task.is-current{color:var(--ink)}.lab-task.is-current .lab-task-index{border-color:var(--cobalt);color:var(--cobalt);box-shadow:0 0 0 3px var(--cobalt-wash)}.lab-task-now{flex:none;margin-left:auto;padding:1px 6px;border-radius:999px;background:var(--cobalt-wash);color:var(--cobalt);font-size:.56rem;font-weight:700}.lab-task.is-just-done{animation:lab-task-done .9s var(--ease-out) both}.lab-task.is-just-done .lab-task-index{animation:lab-task-pop .52s var(--ease-spring) both}@keyframes lab-task-done{0%{background:var(--teal-wash)}to{background:transparent}}@keyframes lab-task-pop{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}.lab-celebration{position:absolute;inset:0;z-index:6;display:grid;place-items:center;pointer-events:none}.lab-celebration span{position:absolute;width:34px;height:34px;border:2px solid var(--teal);border-radius:50%;opacity:0;animation:lab-celebrate .9s var(--ease-out) both}.lab-celebration span:nth-child(2){border-color:var(--cobalt);animation-delay:90ms}.lab-celebration span:nth-child(3){border-color:var(--amber);animation-delay:.18s}@keyframes lab-celebrate{0%{opacity:.75;transform:scale(.4)}to{opacity:0;transform:scale(7)}}.sim-canvas .sim-anim{transition:cx .36s var(--ease-out),cy .36s var(--ease-out),x .36s var(--ease-out),y .36s var(--ease-out),width .36s var(--ease-out),height .36s var(--ease-out),r .36s var(--ease-out),opacity .24s linear}.sim-canvas[data-playing=true] .sim-anim{transition:none}.sim-canvas .sim-smooth{transition:transform .32s var(--ease-out),x .32s var(--ease-out),y .32s var(--ease-out),width .32s var(--ease-out),height .32s var(--ease-out),opacity .22s linear,fill .22s linear}.sim-canvas[data-playing=true] .sim-smooth{transition-duration:.12s}.sim-canvas[data-scrubbing=true] .sim-anim,.sim-canvas[data-scrubbing=true] .sim-smooth{transition:none}.sim-canvas .sim-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:sim-draw .9s var(--ease-out) forwards}@keyframes sim-draw{to{stroke-dashoffset:0}}.sim-handle-core,.sim-handle-ring{transform-box:fill-box;transform-origin:center;transition:transform .16s var(--ease-spring)}.sim-handle:hover .sim-handle-core{transform:scale(1.16)}.sim-handle:hover .sim-handle-ring{animation:sim-handle-spin 9s linear infinite}.sim-handle-bubble{opacity:0;transition:opacity .14s var(--ease-out)}.sim-handle:hover .sim-handle-bubble,.sim-handle:active .sim-handle-bubble{opacity:1}@keyframes sim-handle-spin{to{transform:rotate(360deg)}}.sim-handle-value{font-family:var(--font-mono);font-size:9.5px;font-weight:700}.sim-shape-label{font-family:var(--font-body);font-size:9.5px;font-weight:700;pointer-events:none}.sim-atom-label{font-family:var(--font-body);font-size:13px;font-weight:700;pointer-events:none}.sim-measure-label{font-family:var(--font-mono);font-size:8.5px;font-weight:650}.sim-plot-tooltip{font-family:var(--font-mono);font-size:9px;font-weight:650}.sim-plot-line{transition:opacity .2s linear}.sim-bubble{animation:sim-bubble-rise 3.4s linear infinite}@keyframes sim-bubble-rise{0%{opacity:0;transform:translateY(0)}15%{opacity:.55}to{opacity:0;transform:translateY(-16px)}}.sim-drop{animation:sim-drop-fall 1.2s ease-in infinite}@keyframes sim-drop-fall{0%{opacity:0;transform:translateY(0) scale(.7)}20%{opacity:.9}to{opacity:0;transform:translateY(18px) scale(1)}}.sim-burst-dot{animation:sim-burst .72s var(--ease-out) both}@keyframes sim-burst{0%{opacity:.9;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--burst-x, 0),var(--burst-y, 0)) scale(.2)}}.sim-hit-ring{animation:sim-hit .7s var(--ease-out) both;transform-box:fill-box;transform-origin:center}@keyframes sim-hit{0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(1.7)}}.sim-canvas[data-playing=true] .sim-bubble,.sim-canvas[data-playing=true] .sim-drop{animation-duration:1.6s}.lab-preview{position:relative}.lab-preview[data-live=true]:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 2px #2f46e038}.lab-preview-cue{position:absolute;right:9px;bottom:9px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:var(--ink);color:var(--ink-inverse);font-size:.58rem;font-weight:650;letter-spacing:.02em;opacity:0;transform:translateY(4px);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out);pointer-events:none}.lab-card:hover .lab-preview-cue,.lab-card:focus-visible .lab-preview-cue,.lab-spotlight-card:hover .lab-preview-cue,.lab-spotlight-card:focus-visible .lab-preview-cue{opacity:1;transform:none}.lab-preview[data-live=true] .lab-preview-cue{background:var(--teal)}@media(max-width:760px){.lab-param-step{width:28px;height:34px}.lab-param-number{width:50px;height:34px}.lab-param-reset{width:28px;height:34px}.lab-param-preset{min-height:30px;padding:0 10px}.lab-toggle{min-height:44px}.lab-scrub,.lab-scrub input[type=range]{height:30px}.lab-scrub input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-7.5px}.lab-keys{display:none}}.stage-lab{display:flex;flex-direction:column;gap:10px;width:100%;min-width:0}.stage-lab-stage{width:100%;min-width:0}.stage-lab-stage>*{max-width:none}.stage-lab-caption{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--paper-raised);color:var(--ink-soft);font-size:.76rem;line-height:1.4}.stage-lab-caption-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--cobalt)}.stage-lab-caption-step{flex:none;margin-left:auto;color:var(--ink-faint);font-family:var(--font-mono);font-size:.62rem;font-variant-numeric:tabular-nums}.stage-lab-empty{display:grid;place-items:center;min-height:220px;color:var(--ink-faint);font-size:.82rem}.lab-preview .stage-lab{height:100%;justify-content:center;gap:0}.lab-preview .stage-lab-stage{display:flex;align-items:center;justify-content:center;height:100%;padding:8px;overflow:hidden}.lab-preview .stage-lab-stage>*{width:100%;min-height:0}.lab-preview .stage-lab-caption{display:none}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(1100px 520px at 82% -10%,rgba(150,189,181,.18),transparent 68%),radial-gradient(900px 500px at -8% 22%,rgba(203,165,95,.13),transparent 64%),linear-gradient(180deg,rgba(255,255,255,.35),transparent 40%);font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;min-height:100vh}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.038;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}#root{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.18;letter-spacing:-.012em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}ul,ol{margin:0;padding:0}::selection{background:var(--amber-wash);color:var(--ink)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:10px;left:10px;z-index:100;transform:translateY(-160%);background:var(--ink);color:var(--ink-inverse);padding:10px 16px;border-radius:var(--radius-sm);transition:transform .14s var(--ease-out)}.skip-link:focus{transform:translateY(0)}.container{width:100%;padding-inline:clamp(20px,2.2vw,56px);margin-inline:0}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.eyebrow:before{content:"";width:22px;height:1px;background:var(--line-strong)}.muted{color:var(--ink-faint)}.serif{font-family:var(--font-display)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.page{flex:1;padding-block:clamp(34px,4vw,64px) clamp(80px,8vw,140px)}.page-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.page-title{font-size:clamp(2rem,4vw,var(--text-4xl));margin-top:12px}.page-subtitle{max-width:56ch;margin-top:14px;color:var(--ink-soft);font-size:var(--text-lg)}.stack{display:flex;flex-direction:column;gap:var(--stack-gap, 16px)}.row{display:flex;align-items:center;gap:12px}.spread{display:flex;align-items:center;justify-content:space-between;gap:16px}.site-header{position:sticky;top:0;z-index:40;height:var(--header-height);border-bottom:1px solid transparent;background:#f6f1e7d1;backdrop-filter:blur(14px) saturate(130%);transition:border-color .2s var(--ease-out),background .2s var(--ease-out)}.site-header.is-scrolled{border-bottom-color:var(--line);background:#f6f1e7f0}.header-inner{height:100%;display:flex;align-items:center;gap:34px}.brand{display:inline-flex;align-items:center;gap:12px;flex:none}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--ink);display:grid;grid-template-columns:repeat(4,3px);align-items:end;justify-content:center;gap:3px;padding:8px 0;box-shadow:var(--shadow-sm)}.brand-mark span{border-radius:2px;background:var(--paper-raised)}.brand-mark span:nth-child(1){height:9px;opacity:.72}.brand-mark span:nth-child(2){height:15px;background:var(--amber-bright)}.brand-mark span:nth-child(3){height:11px;background:var(--teal-bright)}.brand-mark span:nth-child(4){height:18px;background:var(--vermilion-bright)}.brand-name{display:flex;flex-direction:column;line-height:1.12}.brand-name strong{font-family:var(--font-display);font-size:1.06rem;letter-spacing:.01em}.brand-name small{color:var(--ink-faint);font-size:.66rem;letter-spacing:.08em}.site-nav{display:flex;align-items:center;gap:6px}.nav-link{position:relative;padding:8px 13px;border-radius:999px;color:var(--ink-soft);font-size:var(--text-sm);font-weight:600;transition:color .16s,background .16s}.nav-link:hover{color:var(--ink);background:#ffffff8f}.nav-link.is-active{color:var(--teal-ink);background:var(--teal-wash)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.btn{--btn-bg: transparent;--btn-fg: var(--ink);--btn-border: transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 17px;border:1px solid var(--btn-border);border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font-weight:650;font-size:var(--text-sm);line-height:1.2;white-space:nowrap;transition:transform .14s var(--ease-out),box-shadow .16s,background .16s,border-color .16s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn-primary{--btn-bg: var(--ink);--btn-fg: var(--ink-inverse);box-shadow:0 6px 16px #1d232b29}.btn-primary:hover:not(:disabled){--btn-bg: #2b333d}.btn-accent{--btn-bg: var(--vermilion);--btn-fg: #fff8f4;box-shadow:0 6px 18px #bc4b3338}.btn-accent:hover:not(:disabled){--btn-bg: var(--vermilion-bright)}.btn-soft{--btn-bg: rgba(255, 255, 255, .55);--btn-border: var(--line)}.btn-soft:hover:not(:disabled){--btn-bg: var(--paper-raised)}.btn-ghost:hover:not(:disabled){--btn-bg: rgba(255, 255, 255, .5);--btn-fg: var(--ink)}.btn-danger{--btn-fg: var(--danger);--btn-border: rgba(159, 45, 32, .28)}.btn-icon{width:40px;min-width:40px;height:40px;min-height:40px;padding:0;border-radius:50%}.btn-lg{min-height:50px;padding-inline:24px;font-size:var(--text-base)}.btn-sm{min-height:34px;padding:6px 12px;font-size:var(--text-xs)}.btn.is-on{--btn-bg: var(--teal-wash);--btn-fg: var(--teal-ink);--btn-border: rgba(33, 106, 99, .24)}.icon{width:18px;height:18px;flex:none}.card{background:#fcf9f1db;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:var(--paper-sunken);color:var(--ink-soft);font-size:var(--text-xs);font-weight:650;line-height:1.6;white-space:nowrap}.chip-accent{background:var(--vermilion-wash);color:#7d2c1c}.chip-teal{background:var(--teal-wash);color:var(--teal-ink)}.chip-amber{background:var(--amber-wash);color:#6b4709}.chip-blue{background:var(--blue-wash);color:#1e456a}.chip-outline{background:transparent;border:1px solid var(--line)}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.divider{height:1px;background:var(--line);border:0;margin:0}.home{padding-bottom:110px}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,140px);align-items:center;padding:clamp(42px,6vw,110px) 0 clamp(54px,6vw,110px)}.hero-copy{max-width:min(780px,100%);animation:rise-in .7s var(--ease-out) both}.hero-kicker{display:inline-flex;align-items:center;gap:10px;padding:6px 13px 6px 6px;border:1px solid var(--line);border-radius:999px;background:#ffffff73;font-size:var(--text-xs);font-weight:650;color:var(--ink-soft)}.hero-kicker .badge{display:inline-grid;place-items:center;padding:3px 8px;border-radius:999px;background:var(--teal);color:#f4fbf9;font-size:.68rem;letter-spacing:.04em}.hero-title{margin-top:26px;font-size:clamp(3rem,5.2vw,6rem);line-height:1.04;letter-spacing:-.035em}.hero-title .accent{position:relative;color:var(--teal);white-space:nowrap}.hero-title .accent:after{content:"";position:absolute;left:0;right:-2%;bottom:.08em;height:.2em;background:var(--amber-wash);z-index:-1;transform:rotate(-.8deg);border-radius:999px}.hero-lede{margin-top:24px;max-width:54ch;color:var(--ink-soft);font-size:clamp(1.06rem,1.6vw,1.22rem);line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px}.hero-note{display:flex;flex-wrap:wrap;gap:18px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line);color:var(--ink-faint);font-size:var(--text-xs)}.hero-note span{display:inline-flex;align-items:center;gap:7px}.hero-stage{position:relative;animation:rise-in .8s 80ms var(--ease-out) both}.hero-card{position:relative;padding:clamp(20px,3vw,30px);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(145deg,#ffffffd1,#f8f2e7e6),var(--paper-raised);box-shadow:var(--shadow-lg),var(--shadow-inset);overflow:hidden}.hero-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(29,35,43,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(29,35,43,.035) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.4),transparent 84%);pointer-events:none}.hero-card-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--ink-faint);font-size:var(--text-xs);letter-spacing:.06em}.hero-card-head strong{color:var(--ink);font-size:var(--text-sm);letter-spacing:0}.hero-array{position:relative;display:flex;align-items:end;justify-content:space-between;gap:clamp(5px,1vw,14px);height:clamp(200px,24vh,340px);margin:26px 0 16px;padding-bottom:6px;border-bottom:1px solid var(--line)}.hero-bar{position:relative;flex:1;border-radius:8px 8px 3px 3px;background:var(--paper-sunken);border:1px solid var(--line);box-shadow:inset 0 1px #fff9;transform-origin:bottom;animation:bar-breathe 5.5s ease-in-out infinite;animation-delay:var(--delay, 0ms)}.hero-bar:nth-child(1){background:var(--amber-wash);border-color:#a8721352}.hero-bar:nth-child(2){background:var(--teal-wash);border-color:#216a6352}.hero-bar:nth-child(3){background:var(--blue-wash);border-color:#2c5a864d}.hero-bar:nth-child(4){background:var(--vermilion-wash);border-color:#bc4b3352}.hero-bar:nth-child(5){background:var(--plum-wash);border-color:#6d3f5947}.hero-bar span{position:absolute;top:-25px;left:50%;transform:translate(-50%);font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--ink-soft)}.hero-bar i{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);font-style:normal;font-family:var(--font-mono);font-size:.65rem;color:var(--ink-faint)}.hero-caption{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:var(--radius-sm);background:#1d232beb;color:var(--ink-inverse);font-size:var(--text-sm)}.hero-caption .mono{font-size:.7rem;opacity:.62}.hero-float{position:absolute;right:-16px;bottom:-24px;display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--paper-raised);box-shadow:var(--shadow-md);font-size:var(--text-xs);color:var(--ink-soft);transform:rotate(1.5deg)}.hero-float strong{font-family:var(--font-display);font-size:1.1rem;color:var(--teal)}.section{padding-top:clamp(46px,6vw,84px)}.section-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-title{margin-top:10px;font-size:clamp(1.8rem,3.4vw,2.75rem)}.section-lede{max-width:44ch;color:var(--ink-soft)}.track-block{display:grid;grid-template-columns:clamp(220px,15vw,340px) minmax(0,1fr);gap:clamp(24px,3vw,72px);padding:34px 0;border-top:1px solid var(--line)}.track-block:last-of-type{border-bottom:1px solid var(--line)}.track-aside{position:sticky;top:calc(var(--header-height) + 24px);align-self:start}.track-index{display:flex;align-items:baseline;gap:10px;font-family:var(--font-display);font-size:2.9rem;line-height:1;color:var(--line-strong)}.track-index small{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.14em;color:var(--ink-faint)}.track-title{margin-top:16px;font-size:1.45rem}.track-aside p{margin-top:10px;font-size:var(--text-sm);color:var(--ink-soft)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(16px,1.4vw,24px)}.course-card{position:relative;display:flex;flex-direction:column;min-height:250px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#ffffff80,#fcf9f1d1);box-shadow:var(--shadow-xs);transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),border-color .22s;overflow:hidden}.course-card:after{content:"";position:absolute;top:0;left:24px;right:24px;height:3px;border-radius:0 0 3px 3px;background:var(--course-accent, var(--teal));opacity:.75}.course-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:var(--shadow-md)}.course-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.course-number{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint)}.course-card h3{margin-top:18px;font-size:1.35rem}.course-card p{margin-top:10px;color:var(--ink-soft);font-size:var(--text-sm);line-height:1.7}.course-lessons{margin-top:20px;display:flex;flex-direction:column;gap:8px;list-style:none}.course-lessons li{display:flex;align-items:center;gap:9px;color:var(--ink-soft);font-size:var(--text-sm)}.course-lessons li:before{content:"";width:5px;height:5px;border-radius:999px;background:var(--line-strong)}.course-card-foot{margin-top:auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;color:var(--ink-faint);font-size:var(--text-xs)}.course-enter{display:inline-flex;align-items:center;gap:6px;color:var(--teal);font-weight:700}.lesson-strip{display:flex;flex-direction:column;border-top:1px solid var(--line)}.lesson-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px 8px;border-bottom:1px solid var(--line);transition:background .16s,padding .16s}.lesson-row:hover{background:#ffffff5c;padding-left:14px;padding-right:14px}.lesson-row-index{font-family:var(--font-display);font-size:1.35rem;color:var(--line-strong)}.lesson-row h3{font-size:1.12rem}.lesson-row p{margin-top:3px;color:var(--ink-faint);font-size:var(--text-sm)}.lesson-row-meta{display:flex;align-items:center;gap:12px;color:var(--ink-faint);font-size:var(--text-xs)}.lesson-row.is-done .lesson-row-index:after{content:" ✓";font-family:var(--font-body);font-size:.8rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(16px,1.4vw,24px)}.feature{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:#fcf9f18c}.feature-number{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint)}.feature h3{margin-top:14px;font-size:1.2rem}.feature p{margin-top:9px;color:var(--ink-soft);font-size:var(--text-sm)}.quote-band{margin-top:clamp(56px,8vw,100px);padding:clamp(34px,4vw,84px);border-radius:var(--radius-lg);border:1px solid var(--line-strong);background:radial-gradient(700px 260px at 88% 10%,rgba(47,140,129,.18),transparent 70%),linear-gradient(135deg,#1e252d,#2a333d);color:var(--ink-inverse);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center;box-shadow:var(--shadow-lg)}.quote-band blockquote{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.35rem);line-height:1.45;letter-spacing:-.015em}.quote-band .eyebrow{color:#f9f5ec8c}.quote-band .eyebrow:before{background:#f9f5ec4d}.quote-band p{margin-top:18px;color:#f9f5eca3;font-size:var(--text-sm)}.quote-side{display:flex;flex-direction:column;gap:12px;padding-left:30px;border-left:1px solid rgba(249,245,236,.16)}.quote-stat{display:flex;align-items:baseline;gap:12px}.quote-stat strong{font-family:var(--font-display);font-size:2rem;color:var(--amber-bright)}.quote-stat span{color:#f9f5ec9e;font-size:var(--text-sm)}.lesson-page{--rail-width: clamp(190px, 13vw, 270px);--margin-width: clamp(300px, 22vw, 460px);padding-block:clamp(18px,1.8vw,32px) 40px}.lesson-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.breadcrumbs{display:flex;align-items:center;gap:8px;color:var(--ink-faint);font-size:var(--text-xs)}.breadcrumbs a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.lesson-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lesson-workspace{display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr) var(--margin-width);gap:clamp(14px,1.4vw,28px);align-items:start}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fcf9f1c2;box-shadow:var(--shadow-xs)}.rail{position:sticky;top:calc(var(--header-height) + 18px);padding:18px 14px}.rail-title{padding:0 8px;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.rail-list{margin-top:14px;display:flex;flex-direction:column;gap:2px;list-style:none}.rail-scene{position:relative;display:flex;align-items:flex-start;gap:10px;width:100%;padding:9px 8px;border:0;border-radius:10px;background:transparent;text-align:left;color:var(--ink-faint);font-size:var(--text-xs);line-height:1.45;transition:background .14s,color .14s}.rail-scene:hover{background:#ffffff80;color:var(--ink-soft)}.rail-scene.is-current{background:var(--paper-raised);color:var(--ink);box-shadow:var(--shadow-xs)}.rail-dot{flex:none;width:18px;height:18px;margin-top:1px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;font-size:.56rem;font-family:var(--font-mono);color:var(--ink-faint);background:var(--paper-raised)}.rail-scene.is-current .rail-dot{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:0 0 0 3px var(--teal-wash)}.rail-scene.is-done .rail-dot{border-color:var(--teal);color:var(--teal);background:var(--teal-wash)}.rail-scene.rail-checkpoint .rail-dot{border-radius:6px}.rail-scene small{display:block;margin-top:2px;color:var(--ink-faint);font-size:.64rem}.rail-progress{margin-top:16px;padding:12px 8px 4px;border-top:1px solid var(--line)}.progress-line{height:5px;border-radius:999px;background:var(--paper-sunken);overflow:hidden}.progress-line>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--teal-bright));transition:width .26s var(--ease-out)}.rail-progress p{margin-top:8px;font-size:.66rem;color:var(--ink-faint)}.stage-column{display:flex;flex-direction:column;gap:14px;min-width:0}.lesson-heading{padding:4px 4px 0}.lesson-heading h1{font-size:clamp(1.65rem,2.7vw,2.25rem)}.lesson-heading .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.stage-card{position:relative;min-height:clamp(420px,54vh,760px);display:flex;flex-direction:column;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(rgba(29,35,43,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(29,35,43,.028) 1px,transparent 1px),radial-gradient(600px 300px at 50% 0%,rgba(255,255,255,.7),transparent 70%),var(--paper-raised);background-size:32px 32px,32px 32px,auto,auto;box-shadow:var(--shadow-md),var(--shadow-inset);overflow:hidden}.stage-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}.scene-title{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.06rem;font-weight:700}.scene-index{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--ink);color:var(--ink-inverse);font-family:var(--font-mono);font-size:.65rem}.stage-body{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,4vw,46px);min-height:300px}.stage-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:12px 20px;border-top:1px solid var(--line);color:var(--ink-faint);font-size:var(--text-xs)}.stage-hint{display:inline-flex;align-items:center;gap:7px}.player-dock{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-left:auto;font-family:var(--font-body)}.player-dock-transport{display:flex;align-items:center;gap:4px}.dock-button{width:34px;height:34px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:5px;background:var(--paper-raised);color:var(--ink)}.dock-button:hover:not(:disabled){background:var(--acid-wash)}.dock-button:disabled{opacity:.35;cursor:not-allowed}.dock-play{width:40px;height:40px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:50%;background:var(--cobalt);color:#fff;box-shadow:2px 2px 0 var(--ink)}.dock-play:hover:not(:disabled){background:var(--cobalt-ink)}.dock-play:disabled{opacity:.35;cursor:not-allowed}.dock-replay{border-style:dashed;background:transparent}.dock-divider{width:1px;height:22px;margin-inline:3px;background:var(--line-strong)}.player-dock .mode-toggle{flex:none;min-height:34px;padding:5px 10px;font-size:.68rem}.player-dock .speed-group{flex:none;padding:2px;border-radius:5px}.player-dock .speed-option{padding:4px 7px;border-radius:3px;font-size:.64rem}.margin-column{position:sticky;top:calc(var(--header-height) + 18px);display:flex;flex-direction:column;gap:12px;min-width:0}.narration-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.55),transparent),#fcf9f1db;box-shadow:var(--shadow-sm)}.narration-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.narration-text{margin-top:14px;min-height:82px;font-family:var(--font-display);font-size:1.18rem;line-height:1.7;letter-spacing:.005em;color:var(--ink)}.narration-text:before{content:"“";color:var(--line-strong);font-size:1.7rem;line-height:0;vertical-align:-.28em;margin-right:2px}.narration-caption{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);font-size:var(--text-xs);color:var(--ink-faint);line-height:1.6}.narration-actions{display:flex;gap:8px;margin-top:14px}.control-row{display:flex;align-items:center;gap:10px}.control-cluster{display:flex;align-items:center;gap:6px}.control-spacer{flex:1}.speed-group{display:flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:#ffffff73}.speed-option{padding:4px 9px;border:0;border-radius:999px;background:transparent;color:var(--ink-faint);font-family:var(--font-mono);font-size:.68rem}.mode-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-faint);font-size:.7rem;font-weight:650}.mode-toggle.is-on{border-color:#216a6347;background:var(--teal-wash);color:var(--teal-ink)}.timeline{display:flex;align-items:center;gap:5px;margin-top:11px;padding-top:10px;border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.timeline::-webkit-scrollbar{display:none}.timeline-scene{flex:1;min-width:62px;padding:0;border:0;background:transparent;text-align:left}.timeline-track{height:4px;border-radius:999px;background:var(--paper-sunken);overflow:hidden}.timeline-track>span{display:block;height:100%;background:var(--teal-bright);border-radius:inherit}.timeline-scene.is-current .timeline-track{background:var(--amber-wash)}.timeline-scene.is-current .timeline-track>span{background:var(--amber-bright)}.timeline-label{display:block;margin-top:5px;color:var(--ink-faint);font-size:.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-scene.is-current .timeline-label{color:var(--ink);font-weight:650}.overlay-card{position:relative;width:100%;max-width:1180px;margin:14px auto 0;padding:clamp(20px,3vw,28px);border:1px solid var(--line-strong);border-radius:var(--radius);background:radial-gradient(480px 200px at 100% 0%,rgba(200,147,46,.14),transparent 70%),var(--paper-raised);box-shadow:var(--shadow-md);animation:rise-in .28s var(--ease-out) both}.overlay-card:before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--amber-bright),var(--vermilion-bright))}.checkpoint-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.checkpoint-question{font-family:var(--font-display);font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.45}.checkpoint-options{display:flex;flex-direction:column;gap:9px;margin-top:18px}.option{display:flex;align-items:flex-start;gap:12px;width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff80;text-align:left;font-size:var(--text-sm);line-height:1.55;transition:transform .14s var(--ease-out),border-color .14s,background .14s}.option:hover:not(:disabled){transform:translateY(-1px);border-color:var(--line-strong);background:var(--paper-raised)}.option.is-selected{border-color:var(--teal);background:var(--teal-wash)}.option.is-correct{border-color:var(--success);background:#e3f0e8}.option-key{flex:none;width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:7px;font-family:var(--font-mono);font-size:.68rem;color:var(--ink-soft);background:var(--paper-raised)}.option.is-selected .option-key,.option.is-correct .option-key{border-color:var(--teal);background:var(--teal);color:#fff}.option.is-wrong .option-key{border-color:var(--vermilion);background:var(--vermilion);color:#fff}.option-body strong{display:block;font-weight:650}.option-body small{display:block;margin-top:4px;color:var(--ink-soft);line-height:1.6}.feedback{margin-top:16px;padding:14px 16px;border-left:3px solid var(--teal);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--teal-wash);font-size:var(--text-sm);line-height:1.7;animation:fade-in .22s var(--ease-out) both}.feedback.is-wrong{border-color:var(--vermilion);background:var(--vermilion-wash)}.feedback strong{display:block;margin-bottom:3px}.checkpoint-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:18px}.checkpoint-actions .spread{flex:1}.hint-box{margin-top:12px;padding:12px 14px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--ink-soft);font-size:var(--text-xs);line-height:1.7}.quiz-shell{display:flex;flex-direction:column;gap:18px}.quiz-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-faint);font-size:var(--text-xs)}.quiz-dots{display:flex;gap:6px}.quiz-dot{width:22px;height:4px;border-radius:999px;background:var(--paper-sunken)}.quiz-dot.is-done{background:var(--teal)}.quiz-dot.is-current{background:var(--amber-bright)}.quiz-score{display:flex;align-items:baseline;gap:8px;font-family:var(--font-display)}.quiz-score strong{font-size:2.1rem;color:var(--teal)}.summary-shell{display:flex;flex-direction:column;gap:20px}.summary-points{display:flex;flex-direction:column;gap:10px;counter-reset:point;list-style:none}.summary-points li{position:relative;padding-left:34px;line-height:1.7;counter-increment:point}.summary-points li:before{content:counter(point,decimal-leading-zero);position:absolute;left:0;top:.1em;font-family:var(--font-mono);font-size:.68rem;color:var(--teal)}.concept-map{padding:16px 18px;border-radius:var(--radius-sm);background:var(--paper-sunken);font-size:var(--text-sm);line-height:1.9;color:var(--ink-soft)}.review-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;list-style:none}.review-cards li{padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff70;font-size:var(--text-sm)}.code-panel{border:1px solid var(--line);border-radius:var(--radius);background:#242a31;color:#e9e3d7;overflow:hidden}.code-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 16px;border:0;background:#ffffff09;color:#d7d0c3;text-align:left;font-size:var(--text-xs);letter-spacing:.04em}.code-toggle strong{font-weight:650;color:#f5f0e6}.code-lines{margin:0;padding:14px 0;list-style:none;font-family:var(--font-mono);font-size:.72rem;line-height:1.9;overflow-x:auto}.code-language-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:10px 14px 0}.code-language-tab{padding:3px 8px;border:1px solid rgba(255,249,235,.22);border-radius:4px;background:transparent;color:#fff9ebb8;font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.02em}.code-language-tab:hover{border-color:#fff9eb80;color:var(--ink-inverse)}.code-language-tab.is-active{border-color:var(--acid);background:var(--acid);color:var(--ink)}.code-line{display:flex;gap:14px;padding:1px 16px;white-space:pre}.code-line.is-active{background:#c8932e29;box-shadow:inset 3px 0 0 var(--amber-bright);color:#f8f1df}.code-line-no{width:14px;flex:none;text-align:right;color:#e9e3d757;user-select:none}.code-keyword{color:#e2b866}.code-string{color:#a7cfa3}.code-comment{color:#e9e3d775}.code-caption{padding:9px 16px;border-top:1px solid rgba(255,255,255,.08);color:#e9e3d780;font-size:.66rem}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#181d236b;backdrop-filter:blur(4px);animation:fade-in .18s var(--ease-out) both}.modal{width:min(480px,100%);padding:28px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--paper-raised);box-shadow:var(--shadow-lg);animation:rise-in .24s var(--ease-out) both}.modal h2{margin-top:10px;font-size:1.55rem}.modal p{margin-top:12px;color:var(--ink-soft);font-size:var(--text-sm);line-height:1.8}.modal-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,26vw);gap:clamp(20px,2vw,40px);align-items:start}.panel-pad{padding:clamp(22px,3vw,32px)}.list{display:flex;flex-direction:column;gap:0;list-style:none}.list-row{display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row-main{flex:1;min-width:0}.list-row h3{font-size:1.02rem}.list-row p{margin-top:3px;color:var(--ink-faint);font-size:var(--text-sm)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.metric{padding:18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff6}.metric strong{display:block;font-family:var(--font-display);font-size:1.85rem;line-height:1.2;color:var(--teal)}.metric span{display:block;margin-top:5px;color:var(--ink-faint);font-size:var(--text-xs)}.empty-state{padding:clamp(34px,6vw,64px) 24px;text-align:center}.empty-mark{width:64px;height:64px;margin:0 auto 20px;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:20px;background:var(--paper-raised);color:var(--ink-faint)}.empty-state h2{font-size:1.4rem}.empty-state p{max-width:46ch;margin:12px auto 0;color:var(--ink-soft);font-size:var(--text-sm)}.form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:var(--text-xs);font-weight:650;color:var(--ink-soft)}.input{width:100%;min-height:44px;padding:10px 13px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff9;transition:border-color .14s,box-shadow .14s}.input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-wash);outline:none}.form-note{font-size:var(--text-xs);color:var(--ink-faint);line-height:1.7}.error-text{color:var(--danger);font-size:var(--text-xs)}.auth-wrap{max-width:440px;margin:0 auto}.auth-card{padding:clamp(26px,4vw,38px)}.auth-switch{margin-top:18px;text-align:center;font-size:var(--text-sm);color:var(--ink-faint)}.auth-switch button{border:0;background:none;color:var(--teal);font-weight:650;text-decoration:underline;text-underline-offset:3px}.badge-row{display:flex;flex-wrap:wrap;gap:6px}.review-item{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.review-item:last-child{border-bottom:0}.review-item h3{font-size:1rem}.review-item p{margin-top:4px;color:var(--ink-faint);font-size:var(--text-sm)}.grade-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.sandbox-shell{display:flex;flex-direction:column;gap:18px}.sandbox-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}.challenge-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1.5px solid var(--ink);border-radius:6px;background:var(--acid-wash);font-size:.82rem}.challenge-share{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1.5px dashed var(--ink);border-radius:8px;background:var(--paper)}.challenge-share-label{font-size:.8rem;font-weight:650}.challenge-share-row{display:flex;flex-wrap:wrap;gap:8px}.challenge-share-row .input{flex:1 1 220px;min-width:0;font-family:var(--font-mono);font-size:.72rem}.sandbox-metrics{display:flex;overflow:hidden;border:1.5px solid var(--ink);border-radius:6px;background:var(--paper-raised);box-shadow:2px 2px #11151b1f}.sandbox-metric{display:flex;align-items:baseline;gap:7px;padding:7px 14px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;color:var(--ink-faint)}.sandbox-metric+.sandbox-metric{border-left:1px solid var(--line-strong)}.sandbox-metric strong{font-size:1rem;color:var(--cobalt)}.sandbox-workbench{display:flex;flex-direction:column;gap:14px}.sandbox-body{display:flex;flex-direction:column;gap:18px}.sandbox-stage{min-width:0}.sandbox-body.is-side{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:16px 22px;align-items:start}.sandbox-body.is-side .sandbox-workbench{gap:12px}.sandbox-body.is-side .sandbox-practice-grid{grid-template-columns:1fr;gap:12px}.sandbox-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:12px 14px;border:1.5px solid var(--ink);border-radius:8px;background:var(--paper-raised);box-shadow:3px 3px #11151b1f}.sandbox-field{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.sandbox-field-label,.sandbox-card-kicker{font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.14em;color:var(--ink-faint)}.sandbox-field-meta{font-size:.72rem;color:var(--ink-faint);white-space:nowrap}.sandbox-inputs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sandbox-input{width:52px;min-height:40px;padding:5px;border:1.5px solid var(--ink);border-radius:6px;background:var(--paper-raised);text-align:center;font-family:var(--font-mono);font-size:1rem;font-weight:700}.sandbox-input[aria-invalid=true]{border-color:var(--vermilion);background:var(--vermilion-wash)}.sandbox-target-input{width:64px}.sandbox-field-sep{width:1.5px;height:24px;margin-inline:2px;background:var(--line-strong)}.sandbox-node-choices{display:flex;overflow:hidden;border:1.5px solid var(--ink);border-radius:6px;background:var(--paper)}.sandbox-node-choice{min-width:34px;min-height:34px;padding:0 8px;border:0;border-right:1px solid var(--line-strong);background:transparent;color:var(--ink-soft);font-family:var(--font-mono);font-weight:700;cursor:pointer}.sandbox-node-choice:last-child{border-right:0}.sandbox-node-choice:hover:not(.is-on){background:var(--acid-wash);color:var(--ink)}.sandbox-node-choice.is-on{background:var(--ink);color:var(--ink-inverse)}.sandbox-stepper{display:flex;align-items:center;overflow:hidden;border:1.5px solid var(--ink);border-radius:6px;background:var(--paper-raised)}.sandbox-stepper-button{width:34px;min-height:36px;border:0;background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:1.05rem;font-weight:700;cursor:pointer}.sandbox-stepper-button:hover:not(:disabled){background:var(--acid-wash)}.sandbox-stepper-button:disabled{opacity:.35;cursor:not-allowed}.sandbox-stepper-value{min-width:38px;padding:0 6px;border-inline:1px solid var(--line-strong);font-family:var(--font-mono);font-size:1rem;font-weight:700;text-align:center}.sandbox-node-choice:focus-visible,.sandbox-stepper-button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.sandbox-playback{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sandbox-playback .speed-group{margin-left:2px}.sandbox-error{margin:-4px 0 0}.sandbox-coach{display:flex;align-items:center;gap:8px;min-height:20px;margin:-2px 0 0;font-size:.78rem;color:var(--ink-soft)}.sandbox-coach.is-idle{color:var(--ink-faint)}.sandbox-coach-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--vermilion)}.sandbox-coach.is-idle .sandbox-coach-dot{background:var(--line-strong)}.sandbox-practice-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:14px;align-items:start}.sandbox-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;border:1.5px solid var(--ink);border-radius:8px;background:var(--paper-raised);box-shadow:3px 3px #11151b1f}.sandbox-predict{border-top:5px solid var(--acid)}.sandbox-task-panel{border-top:5px solid var(--cobalt)}.sandbox-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sandbox-card-kicker{display:block;margin-bottom:4px}.sandbox-card h3{margin:0;font-size:1.02rem;line-height:1.3}.sandbox-card-note{margin:0;font-size:.84rem;line-height:1.6;color:var(--ink-soft)}.sandbox-predict-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.sandbox-predict-row .input{flex:1 1 210px;min-width:0}.sandbox-task-progress{flex:none;padding:3px 8px;border:1px solid var(--line-strong);border-radius:4px;font-family:var(--font-mono);font-size:.64rem;color:var(--ink-faint);white-space:nowrap}.sandbox-task-progress.is-done{border-color:var(--teal);background:var(--teal-wash);color:var(--teal-ink)}.sandbox-task-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.sandbox-task{display:flex;align-items:flex-start;gap:11px;padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--text-sm)}.sandbox-task:last-child{padding-bottom:0;border-bottom:0}.sandbox-task.is-done .sandbox-task-text{color:var(--ink-soft);text-decoration:line-through;text-decoration-color:#11151b4d}.task-check{flex:none;width:22px;height:22px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:50%;background:var(--paper-raised);font-family:var(--font-mono);font-size:.62rem;font-weight:700;color:var(--ink-soft)}.sandbox-task.is-done .task-check{border-color:var(--teal);background:var(--teal);color:#fff}.sandbox-task-main{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.sandbox-task-text{font-weight:650;line-height:1.5}.sandbox-task-meta{font-size:.72rem;line-height:1.5;color:var(--ink-faint)}.sandbox-task-meta.is-done{color:var(--teal)}.sandbox-task-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:2px}.sandbox-task-foot .btn{margin-left:auto}.sandbox-task-footer{display:flex;align-items:center;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}.sandbox-complete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1.5px solid var(--ink);border-left:6px solid var(--teal);border-radius:8px;background:var(--teal-wash);box-shadow:3px 3px #11151b1f}.sandbox-complete strong{display:block;font-size:1rem}.sandbox-complete p{margin:2px 0 0;font-size:.84rem;color:var(--ink-soft)}@media(max-width:1100px){.sandbox-body.is-side,.sandbox-practice-grid{grid-template-columns:1fr}}@media(max-width:720px){.sandbox-metrics{width:100%}.sandbox-metric{flex:1;justify-content:center;padding:6px 8px}.sandbox-field-meta{display:none}.sandbox-playback{width:100%}}.hint-ladder{display:flex;flex-direction:column;gap:8px}.hint-step{padding:10px 14px;border-left:2px solid var(--amber-bright);background:var(--amber-wash);border-radius:0 8px 8px 0;font-size:var(--text-sm);color:#5f420d}.interaction-shell{display:flex;flex-direction:column;gap:18px}.reorder-list{display:flex;flex-direction:column;gap:8px;list-style:none}.reorder-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-raised);box-shadow:var(--shadow-xs)}.reorder-handle{color:var(--line-strong);font-family:var(--font-mono);font-size:.8rem}.reorder-item.is-active{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-wash)}.reorder-controls{margin-left:auto;display:flex;gap:4px}.param-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.param-control{padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff73}.param-control-head{display:flex;justify-content:space-between;gap:10px;font-size:var(--text-xs);color:var(--ink-soft)}.param-control-head strong{font-family:var(--font-mono);color:var(--teal)}.param-control input[type=range]{width:100%;margin-top:10px;accent-color:var(--teal)}.task-list{display:grid;gap:8px;list-style:none}.task-pill{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;font-size:var(--text-xs);color:var(--ink-soft)}.task-pill.is-done{border-color:#216a6347;background:var(--teal-wash);color:var(--teal-ink)}.site-footer{border-top:1px solid var(--line);background:#eee7d857;padding:34px 0;font-size:var(--text-xs);color:var(--ink-faint)}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}.footer-links{display:flex;flex-wrap:wrap;gap:16px}.footer-links a:hover{color:var(--ink)}.loading{min-height:46vh;display:grid;place-items:center;gap:14px;color:var(--ink-faint);font-size:var(--text-sm)}.loading-bars{display:flex;gap:4px;align-items:end;height:30px}.loading-bars span{width:6px;border-radius:3px;background:var(--line-strong);animation:loading-bounce 1s ease-in-out infinite}.loading-bars span:nth-child(1){height:12px;animation-delay:0ms}.loading-bars span:nth-child(2){height:22px;animation-delay:.1s}.loading-bars span:nth-child(3){height:16px;animation-delay:.2s}.loading-bars span:nth-child(4){height:26px;animation-delay:.3s}.error-panel{max-width:560px;margin:60px auto;padding:28px;border:1px solid rgba(159,45,32,.28);border-radius:var(--radius);background:var(--vermilion-wash)}.error-panel h2{font-size:1.3rem;color:var(--danger)}.error-panel p{margin-top:10px;color:var(--ink-soft);font-size:var(--text-sm)}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes bar-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(.965)}}@keyframes loading-bounce{0%,to{transform:scaleY(.7);opacity:.6}50%{transform:scaleY(1);opacity:1}}@media(max-width:1180px){.lesson-page{--rail-width: 164px;--margin-width: 290px}.lesson-workspace{gap:14px}.site-nav{display:none}}@media(max-width:980px){.hero{grid-template-columns:1fr;gap:48px}.hero-copy{max-width:100%}.hero-stage{max-width:620px}.track-block{grid-template-columns:1fr;gap:22px}.track-aside{position:static;display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 20px;align-items:baseline}.track-title,.track-aside p{grid-column:2;margin-top:0}.track-title{margin-top:2px}.track-aside p{margin-top:6px}.feature-grid,.quote-band{grid-template-columns:1fr}.quote-side{padding-left:0;border-left:0;border-top:1px solid rgba(249,245,236,.16);padding-top:22px}.lesson-workspace{grid-template-columns:minmax(0,1fr)}.rail{position:static;order:2}.stage-column{order:1}.margin-column{position:static;order:3}.rail-list{flex-direction:row;overflow-x:auto;gap:5px;padding-bottom:4px}.rail-scene{flex:none;width:auto;min-width:130px;border:1px solid transparent}.rail-scene.is-current{border-color:var(--line)}.rail-progress{display:none}.narration-text{min-height:0}.two-col{grid-template-columns:1fr}}@media(max-width:720px){.container{width:calc(100% - 28px)}.site-header{height:62px}.header-inner{gap:12px}.brand-name small{display:none}.hero{padding-top:34px}.hero-title{font-size:clamp(2.5rem,12vw,3.6rem)}.hero-float{right:8px;bottom:-18px}.hero-array{height:150px}.lesson-page{padding-top:14px}.lesson-topbar{align-items:flex-start;flex-direction:column;gap:10px}.stage-card{min-height:360px;border-radius:var(--radius)}.stage-body{padding:20px 14px}.stage-head{padding:12px 14px}.scene-title{font-size:.94rem}.control-row{flex-wrap:wrap}.control-spacer{display:none}.mode-toggle span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.mode-toggle{position:relative}.speed-group{margin-left:auto}.overlay-card{padding:18px}.checkpoint-question{font-size:1.05rem}.option{padding:11px 12px}.lesson-heading h1{font-size:1.5rem}.quote-band{padding:24px}.page{padding-top:28px}.lesson-row{grid-template-columns:34px minmax(0,1fr);gap:12px}.lesson-row-meta{grid-column:2;justify-content:flex-start}.two-col{gap:16px}.modal{padding:22px}.code-panel{font-size:.66rem}}.menu-toggle,.mobile-nav{display:none}.lesson-start{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;padding:22px 18px 0;z-index:2}.lesson-start span{color:var(--ink-faint);font-size:var(--text-xs);background:#fcf9f1db;padding:4px 10px;border-radius:999px}.prediction-await{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.prediction-await h2{max-width:22ch;font-size:clamp(1.35rem,2.6vw,1.8rem)}.prediction-await p{max-width:42ch;color:var(--ink-soft);font-size:var(--text-sm)}.prediction-mask{width:min(420px,88%);margin-top:8px;padding:40px 20px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:repeating-linear-gradient(-45deg,rgba(29,35,43,.035) 0 8px,transparent 8px 16px),var(--paper-sunken);color:var(--ink-faint);font-size:var(--text-xs);letter-spacing:.06em}@media(max-width:1180px){.menu-toggle{display:inline-flex}.mobile-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 24px 18px;border-bottom:1px solid var(--line);background:#faf6eefa;box-shadow:var(--shadow-sm)}.mobile-nav nav{display:flex;flex-wrap:wrap;gap:6px;flex:1}.mobile-nav-link{padding:7px 12px;border-radius:999px;color:var(--ink-soft);font-size:var(--text-sm);font-weight:650}.mobile-nav-link.is-active{background:var(--teal-wash);color:var(--teal-ink)}}@media(max-width:720px){.lesson-start{padding-top:16px}.prediction-mask{padding:28px 16px}}.rail-scene:disabled,.timeline-scene:disabled{opacity:.55;cursor:not-allowed}.timeline-scene:disabled:hover{background:transparent}.quiz-shell,.sandbox-shell,.interaction-shell,.summary-shell{width:100%;max-width:1180px;margin-inline:auto}.doc-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,26vw);gap:clamp(20px,2vw,44px);align-items:start}.doc-sections{display:flex;flex-direction:column;gap:24px}.doc-aside{position:sticky;top:calc(var(--header-height) + 20px);display:flex;flex-direction:column;gap:16px}.doc-section-title{font-size:1.3rem}.auth-page{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:clamp(28px,4vw,96px);align-items:center;min-height:calc(100vh - var(--header-height) - 80px);padding-top:clamp(28px,4vw,64px);padding-bottom:clamp(40px,5vw,80px)}.auth-pitch{display:flex;flex-direction:column;gap:22px}.auth-title{font-size:clamp(2.4rem,4.4vw,4.2rem)}.auth-points{display:flex;flex-direction:column;gap:16px;list-style:none}.auth-point{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:#fcf9f199;box-shadow:var(--shadow-xs)}.auth-point strong{display:block;font-size:.95rem}.auth-point span{display:block;margin-top:3px;color:var(--ink-soft);font-size:.84rem;line-height:1.7}.auth-point-mark{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--teal-wash);color:var(--teal-ink)}.auth-form-panel{justify-self:end;width:100%;max-width:560px}@media(max-width:980px){.doc-layout{grid-template-columns:minmax(0,1fr)}.doc-aside{position:static}.auth-page{grid-template-columns:minmax(0,1fr);min-height:0;align-items:start}.auth-form-panel{justify-self:start;max-width:none}}@media(max-width:720px){.container{width:100%;padding-inline:16px}}@media(max-width:720px){.player-dock{justify-content:flex-start}.player-dock .dock-button,.player-dock .dock-play,.player-dock .mode-toggle,.player-dock .speed-option{min-width:44px;min-height:44px}}@media(max-width:720px){.breadcrumbs{width:100%}.breadcrumbs>*{flex:none;white-space:nowrap}.breadcrumbs .breadcrumb-current{flex:1 1 auto;min-width:0}}.compare-panel{overflow:hidden;border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--paper-raised);box-shadow:4px 4px #11151b1a}.compare-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px clamp(16px,2.5vw,24px);border-bottom:1px solid var(--line);background:var(--paper)}.compare-head h2{margin:6px 0 4px;font-family:var(--font-display);font-size:1.35rem}.compare-head p{color:var(--ink-soft);font-size:.82rem}.compare-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px clamp(16px,2.5vw,24px);border-bottom:1px solid var(--line)}.compare-scrub{display:flex;flex:1 1 220px;align-items:center;gap:8px;color:var(--ink-soft);font-family:var(--font-mono);font-size:.7rem}.compare-scrub input{flex:1;min-width:100px}.compare-grid{display:grid;grid-template-columns:1fr 1fr}.compare-column{min-width:0;padding:16px clamp(14px,2.2vw,22px) 20px}.compare-column+.compare-column{border-left:1px solid var(--line)}.compare-column-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px;color:var(--ink-soft);font-family:var(--font-mono);font-size:.7rem}.compare-column-head strong{color:var(--ink);font-size:.82rem}.compare-stage{overflow:auto;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.compare-metrics{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.compare-metric{display:inline-flex;align-items:baseline;gap:6px;padding:4px 8px;border:1px solid var(--line);border-radius:4px;color:var(--ink-soft);font-family:var(--font-mono);font-size:.66rem}.compare-metric strong{color:var(--cobalt)}@media(max-width:720px){.compare-grid{grid-template-columns:1fr}.compare-column+.compare-column{border-top:1px solid var(--line);border-left:0}}body{background-image:linear-gradient(rgba(17,21,27,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,21,27,.035) 1px,transparent 1px);background-size:44px 44px;color:var(--ink)}h1,h2,h3,h4{font-weight:800;letter-spacing:-.028em}::selection{background:var(--acid);color:var(--ink)}.topline{background:var(--ink);color:var(--ink-inverse);border-bottom:1.5px solid var(--ink);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.topline-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:32px}.topline-note{flex:1;text-align:center;color:#fff9eb99}.topline-beta{color:var(--acid);white-space:nowrap}.topline-brand{white-space:nowrap;color:var(--ink-inverse)}.site-header,.site-header.is-scrolled{background:var(--paper);border-bottom:1.5px solid var(--ink);backdrop-filter:none}.header-inner{gap:clamp(20px,3vw,64px)}.brand-mark{width:36px;height:36px;border:1.5px solid var(--ink);border-radius:7px;box-shadow:none;background:var(--ink)}.brand-mark span:nth-child(2){background:var(--acid)}.brand-mark span:nth-child(3){background:var(--teal-bright)}.brand-mark span:nth-child(4){background:var(--cobalt-bright)}.brand-name strong{font-size:1.1rem;letter-spacing:-.02em}.brand-name small{color:var(--cobalt);letter-spacing:.2em}.site-nav{margin-left:clamp(0px,2vw,44px);gap:2px}.nav-link{border-radius:6px;padding:8px 12px;font-weight:700;color:var(--ink-soft)}.nav-link:hover{background:var(--acid-wash);color:var(--ink)}.nav-link.is-active{background:var(--ink);color:var(--ink-inverse)}.mobile-nav{background:var(--paper-raised);border-bottom:1.5px solid var(--ink);box-shadow:none}.mobile-nav-link.is-active{background:var(--ink);color:var(--ink-inverse)}.eyebrow{color:var(--ink-soft);letter-spacing:.18em}.eyebrow:before{width:8px;height:8px;border-radius:1px;background:var(--cobalt)}.chip{border:1px solid rgba(17,21,27,.22);border-radius:5px;background:var(--paper);color:var(--ink-soft);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.02em}.chip-accent{border-color:var(--vermilion);background:var(--vermilion-wash);color:var(--vermilion)}.chip-teal{border-color:var(--teal);background:var(--teal-wash);color:var(--teal-ink)}.chip-amber{border-color:var(--amber);background:var(--amber-wash);color:var(--amber)}.chip-blue{border-color:var(--cobalt);background:var(--cobalt-wash);color:var(--cobalt-ink)}.chip-outline{background:transparent}.card,.panel{background:var(--paper-raised);border:1.5px solid var(--ink);border-radius:var(--radius);box-shadow:none}.card{box-shadow:3px 3px #11151b1f}.panel{box-shadow:none}.divider{background:#11151b29}.btn{border-radius:7px;font-weight:750;letter-spacing:.005em}.btn-primary{--btn-bg: var(--cobalt);--btn-fg: #fff;--btn-border: var(--ink);border-width:1.5px;box-shadow:3px 3px 0 var(--ink)}.btn-primary:hover:not(:disabled){--btn-bg: var(--cobalt-bright);transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}.btn-accent{--btn-bg: var(--vermilion);--btn-fg: #fff;--btn-border: var(--ink);border-width:1.5px;box-shadow:3px 3px 0 var(--ink)}.btn-accent:hover:not(:disabled){--btn-bg: var(--vermilion-bright);transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}.btn-soft{--btn-bg: var(--paper-raised);--btn-border: var(--ink);border-width:1.5px;box-shadow:2px 2px #11151b29}.btn-soft:hover:not(:disabled){--btn-bg: var(--acid-wash);transform:translate(-1px,-1px);box-shadow:4px 4px #11151b3d}.btn-ghost{--btn-fg: var(--ink-soft)}.btn-ghost:hover:not(:disabled){--btn-bg: rgba(17, 21, 27, .06);--btn-fg: var(--ink)}.btn-danger{--btn-fg: var(--danger);--btn-border: var(--danger);border-width:1.5px}.btn-icon{border-radius:7px}.btn-lg{border-radius:8px}.mode-toggle{border:1.5px solid var(--ink);border-radius:5px;background:var(--paper-raised);color:var(--ink-soft)}.mode-toggle.is-on{border-color:var(--ink);background:var(--acid-wash);color:var(--ink)}.mode-toggle:hover{color:var(--ink)}.home{padding-bottom:clamp(90px,8vw,150px)}.hero{padding-top:clamp(38px,4.5vw,82px);padding-bottom:clamp(40px,5vw,86px)}.hero-kicker{border:1.5px solid var(--ink);border-radius:6px;background:var(--paper-raised);box-shadow:2px 2px #11151b1f}.hero-kicker .badge{background:var(--cobalt);border-radius:3px;letter-spacing:.08em}.hero-title{font-weight:800;letter-spacing:-.045em;line-height:.98}.hero-title .accent{color:var(--ink);white-space:nowrap}.hero-title .accent:after{bottom:.06em;height:.32em;background:var(--acid);border-radius:0;transform:rotate(-1.2deg)}.hero-lede{color:var(--ink-soft);line-height:1.8}.hero-note{border-top:1.5px solid var(--ink);color:var(--ink-soft);gap:22px}.hero-note .icon{color:var(--cobalt)}.hero-card{border:2px solid var(--ink);border-top:7px solid var(--acid);border-radius:12px;background:var(--ink);color:var(--ink-inverse);box-shadow:10px 10px 0 var(--acid);padding:clamp(20px,2.4vw,34px)}.hero-card:before{background-image:linear-gradient(rgba(255,249,235,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,249,235,.06) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 85%)}.hero-card-head{color:#fff9eb8c;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em}.hero-card-head strong{color:var(--ink-inverse);font-size:.92rem;letter-spacing:0}.hero-array{border-bottom:1px solid rgba(255,249,235,.25)}.hero-bar{border:1.5px solid var(--ink);border-radius:4px;box-shadow:none;background:var(--paper-raised)}.hero-bar:nth-child(1){background:var(--acid);border-color:var(--auto, var(--ink))}.hero-bar:nth-child(2){background:var(--cobalt-bright)}.hero-bar:nth-child(3){background:var(--teal-bright)}.hero-bar:nth-child(4){background:var(--vermilion-bright)}.hero-bar:nth-child(5){background:#8f7cf5}.hero-bar:nth-child(n){border-color:var(--ink)}.hero-bar span{color:var(--ink-inverse);font-weight:800}.hero-bar:nth-child(1) span{color:var(--ink)}.hero-bar i{color:#fff9eb80}.hero-caption{background:var(--paper-raised);color:var(--ink);border:1.5px solid var(--ink);border-radius:5px;font-weight:650}.hero-caption .mono{color:var(--ink-soft);opacity:1}.hero-float{background:var(--acid);color:var(--ink);border:1.5px solid var(--ink);border-radius:7px;box-shadow:4px 4px 0 var(--ink);transform:rotate(-2deg)}.hero-float strong{color:var(--ink)}.ticker{margin-top:clamp(22px,3vw,44px);border-block:1.5px solid var(--ink);background:var(--ink);color:var(--ink-inverse);overflow:hidden}.ticker-track{display:flex;width:max-content;animation:ticker-scroll 42s linear infinite}.ticker-item{display:inline-flex;align-items:center;gap:10px;padding:10px 26px;border-right:1px solid rgba(255,249,235,.16);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.ticker-item:before{content:"";width:6px;height:6px;background:var(--acid)}.ticker-item:nth-child(4n+2):before{background:var(--cobalt-bright)}.ticker-item:nth-child(4n+3):before{background:var(--teal-bright)}.ticker-item:nth-child(4n+4):before{background:var(--vermilion-bright)}[data-reduce-motion=true] .ticker-track{animation:none}@keyframes ticker-scroll{to{transform:translate(-50%)}}.section{padding-top:clamp(48px,5vw,94px)}.section-head{border-bottom:1.5px solid var(--ink);padding-bottom:18px;margin-bottom:28px}.section-title{font-weight:800;letter-spacing:-.032em}.section-lede{color:var(--ink-soft)}.track-block{border-top:1.5px solid var(--ink);padding-block:clamp(30px,3vw,46px)}.track-block:last-of-type{border-bottom:1.5px solid var(--ink)}.track-index{color:var(--cobalt);font-weight:800;font-size:3.3rem}.track-index small{color:var(--ink-soft)}.course-grid{gap:clamp(16px,1.4vw,24px)}.course-grid.is-four,.course-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid.is-seven{grid-template-columns:repeat(3,minmax(0,1fr))}.course-grid.is-seven>:last-child{grid-column:2}@media(max-width:1250px){.course-grid.is-seven{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid.is-seven>:last-child{grid-column:auto}}@media(max-width:900px){.course-grid.is-four,.course-grid.is-two,.course-grid.is-seven{grid-template-columns:1fr}.course-grid.is-seven>:last-child{grid-column:auto}}.course-card{border:1.5px solid var(--ink);border-radius:10px;background:var(--paper-raised);box-shadow:none;min-height:272px;overflow:visible}.course-card:after{top:0;left:0;right:0;height:6px;border-radius:9px 9px 0 0;opacity:1}.course-card:before{content:attr(data-number);position:absolute;right:14px;bottom:-22px;z-index:0;font-family:var(--font-display);font-size:8.5rem;font-weight:800;line-height:.78;color:transparent;-webkit-text-stroke:1.5px rgba(17,21,27,.12);pointer-events:none}.course-card>*{position:relative;z-index:1}.course-card:hover{transform:translate(-3px,-3px);border-color:var(--ink);box-shadow:7px 7px 0 var(--ink)}.course-number{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.08em}.course-card h3{font-weight:800}.course-lessons li:before{width:6px;height:6px;border-radius:1px;background:var(--ink)}.course-lessons-more{color:var(--ink-faint);font-family:var(--font-mono);font-size:.72rem}.course-lessons-more:before{background:transparent;border:1px solid var(--line-strong)}.course-lessons a:hover{color:var(--cobalt);text-decoration:underline;text-underline-offset:3px}.course-enter{color:var(--cobalt);border-bottom:1.5px solid var(--cobalt);padding-bottom:1px}.lesson-strip{border-top:1.5px solid var(--ink)}.lesson-row{border-bottom:1px solid var(--line);padding-inline:10px}.lesson-row:hover{background:var(--acid-wash);padding-left:18px;padding-right:18px}.lesson-row-index{color:var(--cobalt);font-weight:800;font-size:1.6rem}.lesson-row.is-done .lesson-row-index{color:var(--teal)}.lesson-row h3{font-weight:800}.feature{border:1.5px solid var(--ink);border-radius:10px;background:var(--paper-raised);box-shadow:none;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out)}.feature:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}.feature-number{color:var(--cobalt);font-family:var(--font-mono);font-weight:700}.feature h3{font-weight:800}.quote-band{border:2px solid var(--ink);border-radius:12px;background:var(--ink);box-shadow:10px 10px 0 var(--acid);color:var(--ink-inverse)}.quote-band blockquote{font-weight:700}.quote-stat strong{color:var(--acid)}.quote-side{border-color:#fff9eb2e}.page-head{border-bottom:1.5px solid var(--ink);padding-bottom:24px}.page-title{font-weight:800;letter-spacing:-.038em}.page-subtitle{color:var(--ink-soft)}.metric-grid{gap:clamp(10px,1vw,16px)}.metric{border:1.5px solid var(--ink);border-radius:8px;background:var(--paper-raised);box-shadow:none}.metric strong{color:var(--cobalt);font-weight:800;font-size:2.2rem}.list-row{border-bottom:1px solid var(--line)}.list-row:hover{background:var(--acid-wash)}.review-item{border-bottom:1px solid var(--line)}.micro-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px clamp(14px,2.4vw,22px);border-bottom:1.5px solid var(--ink);background:var(--acid-wash)}.micro-banner-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1 1 420px}.micro-banner-main strong{font-family:var(--font-display);font-size:1rem}.micro-banner-hint{color:var(--ink-soft);font-size:.78rem}.micro-banner-answer{flex-basis:100%;margin:0;font-size:.82rem}.micro-banner-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.micro-banner-score{color:var(--ink-soft);font-family:var(--font-mono);font-size:.68rem}.micro-notice{margin-top:8px}.review-start{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.review-start h2{margin:8px 0 6px;font-family:var(--font-display);font-size:clamp(1.4rem,2.4vw,2rem)}.review-start p{max-width:62ch;color:var(--ink-soft)}.review-start-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.review-session-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 0}.review-session-bar .muted{margin-left:auto;font-size:.74rem}.review-session .overlay-card{margin-top:12px}.review-empty{margin-top:8px}.review-summary{max-width:820px}.review-summary h2{margin:8px 0 4px;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem)}.review-summary-score{display:flex;align-items:baseline;gap:8px;margin:14px 0 10px;color:var(--cobalt);font-family:var(--font-display)}.review-summary-score strong{font-size:clamp(3rem,8vw,5rem);line-height:.9}.review-summary-score span{color:var(--ink-soft);font-family:var(--font-mono)}.review-nudge{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:8px 12px;border:1.5px solid var(--ink);border-radius:999px;background:var(--acid-wash);color:var(--ink);font-size:.82rem}.review-nudge:hover{background:var(--acid)}.review-nudge strong{color:var(--cobalt)}.review-nudge .review-nudge-meta{color:var(--ink-soft);font-family:var(--font-mono);font-size:.68rem}@media(max-width:720px){.review-start{flex-direction:column;align-items:flex-start}.review-session-bar .muted{margin-left:0;flex-basis:100%}}.empty-state .empty-mark{border:1.5px solid var(--ink);border-radius:10px;background:var(--paper-raised);box-shadow:3px 3px #11151b1f;font-family:var(--font-mono)}.input,.select{border:1.5px solid var(--ink);border-radius:6px;background:var(--paper-raised)}.input:focus{border-color:var(--cobalt);box-shadow:3px 3px 0 var(--cobalt)}.form .field label{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft)}.auth-switch button{color:var(--cobalt)}.doc-sections{counter-reset:doc}.doc-sections section{counter-increment:doc;position:relative;border-top:1px solid var(--line);padding-top:22px;padding-left:46px}.doc-sections section:first-child{border-top:0;padding-top:0}.doc-sections section:before{content:counter(doc,decimal-leading-zero);position:absolute;left:0;top:25px;font-family:var(--font-mono);font-size:.7rem;font-weight:700;color:var(--cobalt)}.doc-sections section:first-child:before{top:2px}.doc-section-title{font-weight:800}.doc-aside .panel{box-shadow:4px 4px #11151b1f}.auth-page{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:0;align-items:stretch;width:100%;min-height:calc(100vh - 102px);padding:0}.auth-pitch{position:relative;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:clamp(32px,5vw,88px);background:var(--cobalt);color:var(--ink-inverse);overflow:hidden}.auth-pitch:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,249,235,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,249,235,.09) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.auth-pitch>*{position:relative;z-index:1}.auth-pitch .eyebrow{color:#fff9ebb3}.auth-pitch .eyebrow:before{background:var(--acid)}.auth-title{color:var(--ink-inverse);font-weight:800;font-size:clamp(2.5rem,4.3vw,4.6rem)}.auth-pitch .page-subtitle{color:#fff9ebc7;max-width:54ch}.auth-points{gap:12px}.auth-point{border:1px solid rgba(255,249,235,.28);border-radius:8px;background:#fff9eb14;color:var(--ink-inverse);box-shadow:none}.auth-point strong{color:var(--ink-inverse)}.auth-point span{color:#fff9ebb8}.auth-point-mark{border-radius:6px;background:var(--acid);color:var(--ink)}.auth-form-panel{justify-self:stretch;max-width:none;width:100%;display:flex;flex-direction:column;justify-content:center;border:0;border-radius:0;box-shadow:none;background:var(--paper);padding:clamp(30px,5.5vw,100px) clamp(24px,7vw,140px)}.auth-form-panel>*{width:100%;max-width:540px}.auth-form-panel .auth-title{color:var(--ink)}.auth-form-panel .form{max-width:540px}.lesson-topbar{border-bottom:1px solid var(--line);padding-bottom:14px}.breadcrumbs{font-family:var(--font-mono);letter-spacing:.04em}.lesson-heading{display:grid;grid-template-columns:clamp(64px,6.4vw,106px) minmax(0,1fr);gap:clamp(14px,1.6vw,28px);align-items:start;padding:2px 2px 8px}.lesson-heading-number{font-family:var(--font-display);font-size:clamp(3.2rem,5.2vw,5.6rem);font-weight:800;line-height:.8;letter-spacing:-.08em;color:var(--cobalt);-webkit-text-stroke:1.5px var(--ink)}.lesson-heading h1{margin-top:8px;font-weight:800;letter-spacing:-.035em}.lesson-heading .meta{margin-top:12px}.rail{border:0;border-right:1.5px solid var(--ink);border-radius:0;background:transparent;box-shadow:none;padding:2px 16px 10px 0}.rail-title{padding:0 6px 12px;border-bottom:1.5px solid var(--ink);color:var(--ink);font-family:var(--font-mono);letter-spacing:.16em}.rail-list{margin-top:12px;gap:2px}.rail-scene{border-radius:6px;padding:9px 8px;color:var(--ink-soft)}.rail-scene:hover{background:var(--acid-wash);color:var(--ink)}.rail-scene.is-current{background:var(--ink);color:var(--ink-inverse);box-shadow:none}.rail-scene.is-current small{color:#fff9eb9e}.rail-scene.is-current .rail-dot{border-color:var(--acid);background:var(--acid);color:var(--ink);box-shadow:none}.rail-scene.is-done{color:var(--ink-soft)}.rail-scene.is-done .rail-dot{border-color:var(--teal);background:var(--teal-wash);color:var(--teal-ink)}.rail-progress{border-top:1px solid var(--line)}.progress-line{height:6px;border:1px solid var(--ink);background:var(--paper-sunken)}.progress-line>span{background:var(--cobalt)}.stage-card{border:2px solid var(--ink);border-top:7px solid var(--cobalt);border-radius:11px;background-color:var(--paper-raised);background-image:linear-gradient(rgba(47,70,224,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(47,70,224,.045) 1px,transparent 1px);background-size:34px 34px;box-shadow:8px 8px #11151b24}.stage-head{border-bottom:1.5px solid var(--ink)}.stage-foot{border-top:1px solid var(--line);font-family:var(--font-mono);font-size:.63rem;letter-spacing:.02em;color:var(--ink-soft)}.scene-title{font-weight:800}.scene-index{border-radius:4px;background:var(--cobalt);color:#fff;font-family:var(--font-mono)}.lesson-start span{background:var(--paper-raised);border:1px solid var(--line);border-radius:4px}.narration-card{border:0;border-left:3px solid var(--vermilion);border-radius:0;background:transparent;box-shadow:none;padding:2px 0 6px 18px}.narration-label{color:var(--ink-faint);font-family:var(--font-mono);letter-spacing:.14em}.narration-text{min-height:96px;color:var(--ink);font-size:1.3rem;line-height:1.68}.narration-text:before{content:"“";color:var(--cobalt);font-size:2.6rem;vertical-align:-.34em;margin-right:1px}.narration-caption{border-top:1px dashed var(--line-strong)}.code-panel{border:1.5px solid var(--ink);border-radius:8px;background:var(--ink);box-shadow:4px 4px #11151b29}.code-toggle{background:#fff9eb0f}.code-toggle strong{color:var(--acid)}.speed-group{border:1.5px solid var(--ink);border-radius:5px;background:var(--paper)}.speed-option{border-radius:3px;font-family:var(--font-mono)}.speed-option.is-on{background:var(--ink);color:var(--ink-inverse)}.timeline{border-top:1px solid var(--line)}.timeline-track{height:5px;border:1px solid rgba(17,21,27,.18);background:var(--paper-sunken)}.timeline-track>span{background:var(--cobalt)}.timeline-scene.is-current .timeline-track{background:var(--acid-wash)}.timeline-scene.is-current .timeline-track>span{background:var(--vermilion)}.timeline-label{font-family:var(--font-mono);font-size:.58rem}.overlay-card{border:2px solid var(--ink);border-radius:10px;background:var(--paper-raised);box-shadow:8px 8px 0 var(--ink)}.overlay-card:before{top:0;left:0;right:0;height:6px;border-radius:0;background:var(--vermilion)}.checkpoint-question{font-weight:800}.option{border:1.5px solid var(--ink);border-radius:7px;background:var(--paper)}.option:hover:not(:disabled){transform:translate(-1px,-1px);border-color:var(--ink);background:var(--paper-raised);box-shadow:3px 3px #11151b29}.option.is-selected{border-color:var(--cobalt);background:var(--cobalt-wash)}.option.is-correct{border-color:var(--teal);background:var(--teal-wash)}.option.is-wrong{border-color:var(--vermilion);background:var(--vermilion-wash)}.option-key{border:1.5px solid var(--ink);border-radius:4px;background:var(--paper-raised);font-weight:700}.option.is-selected .option-key{border-color:var(--cobalt);background:var(--cobalt);color:#fff}.option.is-correct .option-key{border-color:var(--teal);background:var(--teal)}.option.is-wrong .option-key{border-color:var(--vermilion);background:var(--vermilion)}.feedback{border-left-width:4px;border-radius:0 7px 7px 0}.hint-box{border:1.5px dashed var(--ink);border-radius:6px;background:var(--acid-wash);color:var(--ink)}.quiz-dot{height:5px;border-radius:2px;background:var(--paper-sunken)}.quiz-dot.is-done{background:var(--cobalt)}.quiz-dot.is-current{background:var(--vermilion)}.quiz-score strong{color:var(--cobalt)}.summary-points li:before{color:var(--cobalt);font-weight:700}.concept-map{border:1.5px solid var(--ink);border-radius:7px;background:var(--ink);color:var(--ink-inverse)}.review-cards li{border:1.5px solid var(--ink);border-radius:7px;background:var(--paper)}.sandbox-input{border:1.5px solid var(--ink);border-radius:6px}.hint-step{border-left:3px solid var(--vermilion);background:var(--vermilion-wash);color:var(--ink)}.reorder-item{border:1.5px solid var(--ink);border-radius:7px;background:var(--paper-raised);box-shadow:2px 2px #11151b1f}.reorder-item.is-active{border-color:var(--cobalt);box-shadow:3px 3px 0 var(--cobalt)}.param-control{border:1.5px solid var(--ink);border-radius:7px;background:var(--paper)}.param-control input[type=range]{accent-color:var(--cobalt)}.task-pill{border:1px solid var(--line-strong);border-radius:5px}.task-pill.is-done{border-color:var(--teal);background:var(--teal-wash);color:var(--teal-ink)}.site-footer{background:var(--ink);color:#fff9ebad;border-top:1.5px solid var(--ink);padding:42px 0 34px}.footer-brand{display:flex;flex-direction:column;gap:5px}.footer-brand strong{color:var(--ink-inverse);font-family:var(--font-display);font-size:1.45rem;font-weight:800;letter-spacing:-.02em}.footer-brand span{color:#fff9eb9e;font-size:.76rem}.footer-links a{color:#fff9ebb3}.footer-links a:hover{color:var(--acid)}.footer-meta{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;color:var(--acid)}@media(max-width:1180px){.site-nav{margin-left:0}}@media(max-width:980px){.rail{border-right:0;border-bottom:1.5px solid var(--ink);padding:0 0 14px}.rail-scene.is-current{background:var(--ink)}.auth-page{grid-template-columns:minmax(0,1fr);min-height:0}.auth-pitch,.auth-form-panel{padding:clamp(28px,6vw,52px) 24px}.auth-form-panel>*{max-width:none}.lesson-heading{grid-template-columns:64px minmax(0,1fr)}}@media(max-width:720px){.topline-note{display:none}.topline-inner{justify-content:space-between;font-size:.58rem}.hero-title{line-height:1.02}.hero-card{box-shadow:6px 6px 0 var(--acid)}.lesson-heading{grid-template-columns:52px minmax(0,1fr);gap:10px}.lesson-heading-number{font-size:3.1rem}.narration-text{font-size:1.1rem;min-height:0}.overlay-card{box-shadow:5px 5px 0 var(--ink)}.doc-sections section{padding-left:34px}.site-footer{padding:30px 0 26px}}.lesson-heading-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.checkpoint-question:focus,#quiz-question:focus{outline:none}.auth-point span{color:#fff9ebe0}.auth-pitch .page-subtitle{color:#fff9ebeb}.auth-pitch .eyebrow{color:#fff9ebd6}.topline-note{color:#fff9ebbd}.hero-card-head{color:#fff9ebb8}.hero-bar i{color:#fff9eba6}.rail-scene.is-current small{color:#fff9ebc7}.home-skeleton{min-height:272px;border-color:var(--line-strong);background:repeating-linear-gradient(-45deg,rgba(17,21,27,.04) 0 10px,transparent 10px 20px),var(--paper);box-shadow:none}.home-skeleton:before,.home-skeleton:after{display:none}.lesson-topbar{margin-bottom:0;padding-bottom:10px}@media(max-width:980px){.margin-column{order:2}.rail{order:3}}@media(min-width:981px){.lesson-page{display:flex;flex-direction:column;flex:1}.lesson-workspace{flex:1;align-items:stretch}.lesson-workspace.without-margin{grid-template-columns:var(--rail-width) minmax(0,1fr)}.stage-column{height:100%}.stage-card{flex:1}}.breadcrumbs{flex:1;min-width:0}.breadcrumb-current{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(52vw,760px)}@media(max-width:720px){.breadcrumb-current{max-width:100%}}.stage-caption{display:flex;align-items:center;padding:12px clamp(16px,2vw,28px);border-top:1.5px solid var(--ink);background:var(--ink);color:var(--ink-inverse);box-shadow:inset 3px 0 0 var(--vermilion)}.stage-caption-inner{display:flex;align-items:center;justify-content:center;width:100%;max-width:1180px;margin-inline:auto}.stage-caption-text{flex:1;color:var(--ink-inverse);font-size:1.02rem;font-weight:600;line-height:1.65;letter-spacing:.01em;text-align:center}@media(max-width:720px){.stage-caption{padding:10px 14px}.stage-caption-text{font-size:.92rem;line-height:1.6}}.stage-body{padding:clamp(18px,2.2vw,34px)}.stage-body.is-sandbox{justify-content:flex-start}.code-panel .muted{color:#fff9ebbd}.code-caption{color:#fff9ebb3}.code-line-no{color:#fff9eb80}.code-comment{color:#fff9eba3}.mode-toggle:disabled{opacity:.45;cursor:not-allowed}.inspect-panel{width:100%;max-width:1180px;margin:14px auto 0;overflow:hidden;border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--paper-raised);box-shadow:4px 4px #11151b1a}.inspect-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px clamp(16px,2.5vw,24px);border-bottom:1px solid var(--line);background:var(--paper)}.inspect-head h2{margin:6px 0 0;font-family:var(--font-display);font-size:1.35rem}.inspect-grid{display:grid;grid-template-columns:1fr 1.15fr}.inspect-block{padding:16px clamp(16px,2.5vw,24px) 20px}.inspect-block+.inspect-block{border-left:1px solid var(--line)}.inspect-block h3{margin-bottom:10px;color:var(--ink-faint);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.diff-list{display:flex;flex-wrap:wrap;gap:8px}.diff-list li{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--line-strong);border-radius:6px;background:var(--paper);font-family:var(--font-mono);font-size:.72rem}.diff-label{color:var(--ink-soft);font-weight:700}.diff-from{color:var(--ink-faint);text-decoration:line-through}.diff-arrow{color:var(--ink-faint)}.diff-to{color:var(--cobalt);font-weight:700}.track-list{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto;padding-right:4px}.track-event{display:grid;grid-template-columns:42px 52px 1fr;align-items:baseline;gap:8px;width:100%;padding:7px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.track-event:hover{background:var(--acid-wash)}.track-event.is-current{border-color:var(--ink);background:var(--acid-wash)}.track-frame{color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem}.track-action{color:var(--cobalt);font-family:var(--font-mono);font-size:.66rem;font-weight:700}.track-narration{overflow:hidden;color:var(--ink-soft);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.inspect-grid{grid-template-columns:1fr}.inspect-block+.inspect-block{border-top:1px solid var(--line);border-left:0}.track-narration{white-space:normal}}
