:root{--bg:#0a0d12;--bg-viewer:#0c0f15;--panel:#0f141b;--panel-2:#141a23;--panel-3:#1b222d;--border:#1e2530;--border-2:#2a323f;--text:#e9eef4;--text-2:#9aa6b4;--muted:#616d7c;--accent:#c6f24a;--accent-2:#a9e02f;--accent-ink:#0a0d12;--accent-glow:#c6f24a73;--accent-veil:#c6f24a29;--accent-faint:#c6f24a12;--warn:#fc6;--error:#ff6f6f;--track:#232b37;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--radius:10px;--radius-sm:8px;--shadow-1:0 1px 2px #0006;--shadow-2:0 10px 30px -12px #000000b3;--ease:cubic-bezier(.22, 1, .36, 1);--edge:inset 0 1px 0 #ffffff0d;--edge-strong:inset 0 1px 0 #ffffff14;--hairline:#ffffff0f;--sheen:linear-gradient(180deg, #ffffff06, #fff0);--shadow-float:0 2px 4px #0000004d, 0 12px 34px -14px #000c;--accent-line:#c6f24a59;--accent-wash:#c6f24a1a}*{box-sizing:border-box}a{color:inherit;text-decoration:none}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;font-size:14px;display:flex;overflow:hidden}.bg-fx{z-index:-2;background:radial-gradient(120vw 80vh at 78% -10%, #c6f24a0f, transparent 60%), radial-gradient(80vw 60vh at 8% 110%, #466ea014, transparent 55%), var(--bg);position:fixed;inset:0}.bg-fx:after{content:"";opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.btn{font-family:var(--sans);letter-spacing:.1px;color:var(--text);background:var(--panel-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:transform .12s var(--ease), border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease), color .16s var(--ease);align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--border-2);background:var(--panel-3);color:#fff;box-shadow:var(--edge-strong), var(--shadow-1)}.btn:active{transform:translateY(1px)}.btn:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash);outline:none}.btn.sm{padding:5px 10px;font-size:12px}.btn .ico-link,.btn .ico-help,.btn .ico-plus,.btn .ico-spec,.btn .ico-github{opacity:.85;width:14px;height:14px;-webkit-mask:center / contain no-repeat var(--btn-icon);-webkit-mask:center / contain no-repeat var(--btn-icon);mask:center / contain no-repeat var(--btn-icon);background:currentColor}.btn:hover .ico-link,.btn:hover .ico-help,.btn:hover .ico-plus,.btn:hover .ico-spec,.btn:hover .ico-github{opacity:1}.btn .ico-plus{--btn-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E")}.btn .ico-link{--btn-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.07 0l3-3a5 5 0 0 0-7.07-7.07l-1.5 1.5'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.07 0l-3 3a5 5 0 0 0 7.07 7.07l1.5-1.5'/%3E%3C/svg%3E")}.btn .ico-help{--btn-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E")}.btn .ico-spec{--btn-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M8 13h8M8 17h6'/%3E%3C/svg%3E")}.btn .ico-github{--btn-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.57.1.78-.25.78-.55v-2.13c-3.2.7-3.88-1.36-3.88-1.36-.52-1.34-1.28-1.7-1.28-1.7-1.05-.72.08-.71.08-.71 1.16.08 1.77 1.19 1.77 1.19 1.03 1.77 2.7 1.26 3.36.96.1-.75.4-1.26.73-1.55-2.55-.29-5.23-1.28-5.23-5.69 0-1.26.45-2.29 1.19-3.09-.12-.29-.52-1.46.11-3.05 0 0 .97-.31 3.18 1.18a11.1 11.1 0 0 1 5.8 0c2.2-1.49 3.17-1.18 3.17-1.18.63 1.59.23 2.76.11 3.05.74.8 1.19 1.83 1.19 3.09 0 4.42-2.69 5.39-5.25 5.68.42.36.78 1.06.78 2.15v3.18c0 .3.21.65.79.54A11.51 11.51 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5Z'/%3E%3C/svg%3E")}.btn.primary{color:var(--accent-ink);background:linear-gradient(180deg, var(--accent), var(--accent-2));box-shadow:0 1px 0 #ffffff40 inset, 0 6px 18px -8px var(--accent-glow);border-color:#0000}.btn.primary:hover{color:var(--accent-ink);filter:brightness(1.06);box-shadow:0 1px 0 #ffffff4d inset, 0 10px 26px -8px var(--accent-glow)}.select-wrap{display:inline-flex;position:relative}.select-wrap:after{content:"";border-right:1.5px solid var(--text-2);border-bottom:1.5px solid var(--text-2);pointer-events:none;width:7px;height:7px;transition:border-color .16s var(--ease);position:absolute;top:50%;right:11px;transform:translateY(-65%)rotate(45deg)}.select-wrap:hover:after{border-color:var(--accent)}select{appearance:none;font-family:var(--sans);color:var(--text);background:var(--panel-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .16s var(--ease), box-shadow .16s var(--ease);padding:8px 32px 8px 12px;font-size:13px;font-weight:600}select:hover{border-color:var(--accent)}.select-wrap.sm select{padding:5px 26px 5px 10px;font-size:12px}.select-wrap.sm:after{width:6px;height:6px;right:9px}.topbar{border-bottom:1px solid var(--border);background:var(--sheen), linear-gradient(180deg, #131820f0, #0b0f15d1);box-shadow:var(--edge);-webkit-backdrop-filter:blur(12px);z-index:10;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.brand{color:var(--text);align-items:baseline;gap:9px;text-decoration:none;display:flex}.brand .logo{color:var(--accent);filter:drop-shadow(0 0 8px var(--accent-glow));align-self:center;font-size:15px;animation:3.4s ease-in-out infinite pulse}.brand .wordmark{letter-spacing:-.4px;font-size:18px;font-weight:800}.brand .tag{color:var(--muted);font-family:var(--mono);letter-spacing:.5px;text-transform:uppercase;border:1px solid var(--border-2);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:500}.topbar-actions{align-items:center;gap:12px;display:flex}.tb-downloads{display:contents}.lib-btn{font-family:var(--sans);color:var(--text);background:var(--panel-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .16s var(--ease), background .16s var(--ease);align-items:center;gap:10px;padding:8px 14px;display:inline-flex}.lib-btn:hover{border-color:var(--accent-line);background:var(--panel-3)}.lib-btn:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash);outline:none}.lib-btn-kicker{letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.lib-btn-name{text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:13px;font-weight:700;overflow:hidden}.lib-current-status{font-family:var(--mono);letter-spacing:.45px;text-transform:uppercase;color:#f0bd68;background:#f0bd681a;border:1px solid #f0bd684d;border-radius:999px;flex:none;padding:4px 6px 3px;font-size:8px;font-weight:700}.lib-caret{border-right:1.5px solid var(--text-2);border-bottom:1.5px solid var(--text-2);width:7px;height:7px;transition:border-color .16s var(--ease);margin-top:-3px;transform:rotate(45deg)}.lib-btn:hover .lib-caret{border-color:var(--accent)}.count{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.tb-divider{background:linear-gradient(180deg, transparent, var(--border-2) 25%, var(--border-2) 75%, transparent);align-self:stretch;width:1px;margin:4px}.intro{color:var(--text-2);border-bottom:1px solid var(--border);background:#00000029;align-items:center;gap:12px;padding:9px 20px;font-size:13px;display:flex}.intro:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;flex:none}.intro b{color:var(--text);font-weight:700}.intro .link{color:var(--accent);font-family:var(--sans);cursor:pointer;white-space:nowrap;transition:filter .15s var(--ease);background:0 0;border:none;margin-left:auto;padding:0;font-size:13px;font-weight:700}.intro .link:hover{filter:brightness(1.2)}.x{color:var(--muted);cursor:pointer;transition:color .15s var(--ease), transform .15s var(--ease);background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.x:hover{color:var(--text);transform:scale(1.15)}.layout{flex:1;grid-template-columns:minmax(340px,.85fr) 1.15fr;min-height:0;display:grid}.editor-pane{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;min-height:0;display:flex}.pane-head{border-bottom:1px solid var(--border);background:var(--sheen), var(--panel);box-shadow:var(--edge);align-items:center;gap:10px;padding:9px 16px;display:flex}.traffic{background:var(--border-2);width:10px;height:10px;box-shadow:16px 0 0 var(--border-2), 32px 0 0 var(--border-2);border-radius:50%;margin-right:28px}.file-name{font-family:var(--mono);color:var(--text-2);font-size:12px;font-weight:500}.live{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;margin-left:auto;font-size:10px;display:inline-flex}.live i{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;animation:1.8s ease-in-out infinite pulse}.editor-wrap{flex:1;min-height:0;display:flex;position:relative}#editor{flex:1;min-width:0;min-height:0;overflow:hidden}#editor .cm-editor{height:100%}#editor .cm-editor.cm-focused{outline:none}#editor .cm-phase-active{background:var(--accent-faint);box-shadow:inset 2px 0 0 0 var(--accent);transition:background .2s var(--ease)}.warnings{border-top:1px solid var(--border);max-height:36%;font-family:var(--mono);background:var(--panel);padding:12px 16px;font-size:12px;line-height:1.5;overflow:auto}.warnings:empty:before{content:"✓  source valid; no active constraint warnings";color:var(--accent);opacity:.85}.warnings .row{gap:6px;padding:3px 0;display:flex}.warnings .err{color:var(--error)}.warnings .warn{color:var(--warn)}.warnings .hint{color:var(--muted)}.viewer-pane{background:var(--bg-viewer);grid-template-rows:minmax(0,1fr) auto auto;min-height:0;display:grid;position:relative;overflow:hidden}#canvas{width:100%;min-width:0;height:100%;min-height:0;display:block}.viewer-veil{pointer-events:none;background:linear-gradient(#080a0e99,#0000);height:130px;position:absolute;top:0;left:0;right:0}.hud{pointer-events:none;max-width:60ch;position:absolute;top:18px;left:20px}.phase{letter-spacing:-.2px;text-shadow:0 1px 12px #0009;font-size:17px;font-weight:800}.phase:not(:empty):before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 10px var(--accent-glow);vertical-align:middle;border-radius:50%;margin-right:9px;display:inline-block}.cue{color:var(--text-2);text-shadow:0 1px 10px #0009;margin-top:4px;font-size:13px;line-height:1.45}.reps{font-family:var(--mono);letter-spacing:.5px;color:var(--text-2);border:1px solid var(--border-2);-webkit-backdrop-filter:blur(8px);pointer-events:none;background:#0a0d128c;border-radius:999px;padding:5px 12px;font-size:11px;position:absolute;top:18px;right:20px}.reps:empty{display:none}.floor-guide-key{z-index:2;color:var(--text-2);border:1px solid var(--border-2);font-family:var(--mono);letter-spacing:.35px;text-transform:uppercase;pointer-events:none;background:#0a0d1294;border-radius:3px;align-items:center;gap:10px;padding:6px 9px;font-size:9px;line-height:1;display:flex;position:absolute;top:54px;right:20px}.floor-guide-key[hidden],.floor-guide-key [hidden]{display:none}.floor-guide-key>span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.floor-guide-key i{color:var(--accent);flex:none;font-style:normal;display:inline-block}.floor-key-origin{border:1px solid var(--text);border-radius:50%;width:7px;height:7px}.floor-key-facing{width:8px;font-size:12px;line-height:8px;transform:translateY(-1px)}.floor-key-scale,.floor-key-travel,.floor-key-reset{width:13px}.floor-key-scale{border-right:1px solid var(--text-2);border-bottom:1px solid var(--text-2);border-left:1px solid var(--text-2);height:5px}.floor-key-travel{border-top:2px solid var(--accent);border-bottom:0;height:0}.floor-key-reset{border-top:1px dashed var(--text-2);height:0}.ribbon{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;flex:none;gap:7px;min-width:0;padding:12px 16px 4px;display:flex;position:relative;overflow:auto hidden}.ribbon::-webkit-scrollbar{display:none}.ribbon .chip{font-family:var(--sans);color:var(--text-2);background:var(--panel-2);border:1px solid var(--border-2);cursor:pointer;white-space:nowrap;transition:color .15s var(--ease), border-color .15s var(--ease), background .15s var(--ease), box-shadow .15s var(--ease);border-radius:999px;flex:none;align-items:center;gap:7px;padding:5px 13px 5px 12px;font-size:12px;font-weight:600;display:inline-flex}.ribbon .chip:before{content:"";background:var(--border-2);width:6px;height:6px;transition:background .2s var(--ease), box-shadow .2s var(--ease);border-radius:50%}.ribbon .chip:hover{color:var(--text);border-color:var(--border-2);background:var(--panel-3)}.ribbon .chip.active{color:var(--text);background:var(--accent-wash);border-color:var(--accent-line);box-shadow:var(--edge)}.transport{border-top:1px solid var(--border);background:var(--sheen), linear-gradient(180deg, #11161ee6, #090c11f5);box-shadow:var(--edge);-webkit-backdrop-filter:blur(12px);align-items:center;gap:16px;padding:13px 20px;display:flex}.btn-play{width:40px;height:40px;color:var(--accent-ink);background:radial-gradient(120% 120% at 50% 22%, var(--accent), var(--accent-2));cursor:pointer;box-shadow:inset 0 1px 0 #fff6, inset 0 -1px 2px #00000026, 0 4px 14px -4px var(--accent-glow);transition:transform .14s var(--ease), filter .16s var(--ease), box-shadow .2s var(--ease);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.btn-play:hover{filter:brightness(1.05);box-shadow:inset 0 1px 0 #ffffff80, inset 0 -1px 2px #00000026, 0 0 0 5px var(--accent-wash), 0 8px 22px -6px var(--accent-glow)}.btn-play:active{transform:scale(.94)}.btn-play:focus-visible{box-shadow:inset 0 1px 0 #ffffff80, 0 0 0 3px var(--bg), 0 0 0 5px var(--accent);outline:none}.btn-play .lbl{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn-play .ico{width:15px;height:15px;-webkit-mask:center / contain no-repeat var(--icon);-webkit-mask:center / contain no-repeat var(--icon);mask:center / contain no-repeat var(--icon);background:currentColor}.btn-play[data-playing=false] .ico{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5v14l12-7z'/%3E%3C/svg%3E");transform:translate(1px)}.btn-play[data-playing=true] .ico{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6' y='5' width='4' height='14' rx='1'/%3E%3Crect x='14' y='5' width='4' height='14' rx='1'/%3E%3C/svg%3E")}.scrub-wrap{flex:1;align-items:center;display:flex;position:relative}#scrub{appearance:none;cursor:pointer;z-index:2;background:0 0;width:100%;height:18px;position:relative}#scrub::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-2) var(--pct,0%), var(--track) var(--pct,0%), var(--track) 100%);border-radius:999px;height:5px;box-shadow:inset 0 1px 2px #00000080}#scrub::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;box-shadow:0 0 0 3px var(--accent), 0 1px 3px #00000080, 0 0 12px var(--accent-glow);transition:box-shadow .15s var(--ease), transform .15s var(--ease);background:#fff;border-radius:50%;margin-top:-4px}#scrub:hover::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent), 0 0 0 7px var(--accent-wash), 0 1px 3px #00000080, 0 0 16px var(--accent-glow);transform:scale(1.12)}#scrub::-moz-range-track{background:var(--track);border-radius:999px;height:4px}#scrub::-moz-range-progress{background:var(--accent);border-radius:999px;height:4px}#scrub::-moz-range-thumb{background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 4px var(--accent-veil), 0 0 12px var(--accent-glow);border:none;border-radius:50%}.markers{pointer-events:none;z-index:1;height:12px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.markers .tick{background:var(--muted);opacity:.6;border-radius:1px;width:2px;height:12px;position:absolute;top:0}.clock{font-family:var(--mono);color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.2px;border-left:1px solid var(--hairline);min-width:46px;padding-left:16px;font-size:12px}.loop,.speed{letter-spacing:.6px;text-transform:uppercase;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:10.5px;font-weight:700;display:flex}.loop input{appearance:none;background:var(--track);border:1px solid var(--border-2);cursor:pointer;width:32px;height:18px;transition:background .18s var(--ease), border-color .18s var(--ease);border-radius:999px;position:relative}.loop input:after{content:"";background:var(--text-2);width:12px;height:12px;transition:transform .18s var(--ease), background .18s var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.loop input:checked{background:var(--accent-veil);border-color:var(--accent)}.loop input:checked:after{background:var(--accent);transform:translate(14px)}.scrim{-webkit-backdrop-filter:blur(2px);z-index:40;animation:fade .2s var(--ease);background:#04060999;position:fixed;inset:0}.slideover{background:linear-gradient(180deg, var(--panel), var(--bg));border-left:1px solid var(--border-2);z-index:50;width:min(480px,92vw);height:100%;animation:slidein .32s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;right:0;box-shadow:-30px 0 60px -20px #000000b3}.slideover-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.slideover-head h2{letter-spacing:-.3px;margin:0;font-size:17px;font-weight:800}.slideover-body{padding:22px;overflow:auto}.steps{flex-direction:column;gap:18px;margin:0 0 24px;padding:0;list-style:none;display:flex}.steps li{color:var(--text-2);gap:14px;font-size:13.5px;line-height:1.55;display:flex}.steps .step-n{background:var(--accent-veil);border:1px solid var(--accent);width:26px;height:26px;color:var(--accent);border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.steps b{color:var(--text);font-weight:700}.steps em{color:var(--accent);font-style:normal;font-weight:600}.steps code,.prompt-head+pre{font-family:var(--mono)}.steps code{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:5px;padding:1px 6px;font-size:12px}.authoring-reference{border:1px solid var(--border-2);border-radius:var(--radius);background:var(--panel-2);margin:0 0 24px;padding:16px}.authoring-reference h3{color:var(--text);margin:0 0 8px;font-size:14px}.authoring-reference p{color:var(--text-2);margin:0 0 9px;font-size:13px;line-height:1.55}.authoring-reference p:last-child{margin-bottom:0}.authoring-reference a{color:var(--accent);font-weight:700}.authoring-reference code{font-family:var(--mono);color:var(--text)}.prompt-block{border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow-2);overflow:hidden}.prompt-head{background:var(--panel-2);color:var(--text-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}#prompt-text{font-family:var(--mono);color:var(--text-2);background:var(--bg);white-space:pre-wrap;max-height:46vh;margin:0;padding:14px 16px;font-size:11.5px;line-height:1.55;overflow:auto}.lib-tools{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:14px 22px;display:flex}#lib-search{width:100%;font-family:var(--sans);color:var(--text);background:var(--panel-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);transition:border-color .16s var(--ease), box-shadow .16s var(--ease);padding:9px 12px;font-size:13.5px}#lib-search::placeholder{color:var(--muted)}#lib-search:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash);outline:none}.chip-row{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.fchip{font-family:var(--sans);color:var(--text-2);background:var(--panel-2);border:1px solid var(--border-2);cursor:pointer;white-space:nowrap;transition:color .15s var(--ease), border-color .15s var(--ease), background .15s var(--ease);border-radius:999px;flex:none;padding:5px 12px;font-size:12px;font-weight:600}.fchip:hover{color:var(--text);background:var(--panel-3)}.fchip[aria-pressed=true]{color:var(--text);background:var(--accent-wash);border-color:var(--accent-line)}.lib-list{flex:1;min-height:0;padding:6px 14px 22px;overflow-y:auto}.lib-group{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:16px 10px 6px;font-size:10px;font-weight:700}.lib-item{text-align:left;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:background .14s var(--ease);background:0 0;border:none;flex-direction:column;gap:2px;padding:9px 10px;display:flex}.lib-item:hover{background:var(--panel-2)}.lib-item[aria-current=true]{background:var(--accent-wash);box-shadow:inset 2px 0 0 0 var(--accent)}.lib-item .li-name{font-family:var(--sans);color:var(--text);flex-wrap:wrap;align-items:center;gap:7px;font-size:13.5px;font-weight:600;display:flex}.lib-item .li-status{font-family:var(--mono);letter-spacing:.45px;text-transform:uppercase;color:#f0bd68;background:#f0bd681a;border:1px solid #f0bd684d;border-radius:999px;flex:none;padding:4px 6px 3px;font-size:9px;font-weight:700;line-height:1}.lib-item .li-meta{color:var(--muted);font-size:11.5px}.lib-empty{color:var(--text-2);padding:26px 12px;font-size:13px}.lib-empty .link{font-family:var(--sans);color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:700}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-2);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#38424f padding-box padding-box}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}[hidden]{display:none!important}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slidein{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes sheetup{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes wipein{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:no-preference){.topbar{animation:rise .5s var(--ease) both}.intro{animation:rise .5s var(--ease) 60ms both}.editor-pane{animation:rise .55s var(--ease) .12s both}.viewer-pane{animation:wipein .7s var(--ease) .18s both}.transport{animation:rise .5s var(--ease) .3s both}}.mobile-tabs{border-bottom:1px solid var(--border);background:var(--panel);gap:5px;padding:8px 16px;display:none}.mtab{font-family:var(--sans);letter-spacing:.2px;color:var(--text-2);background:var(--panel-2);border:1px solid var(--border-2);cursor:pointer;transition:color .15s var(--ease), background .15s var(--ease), border-color .15s var(--ease);border-radius:8px;flex:1;padding:10px;font-size:13px;font-weight:700}.mtab[aria-selected=true]{color:var(--accent-ink);background:linear-gradient(180deg, var(--accent), var(--accent-2));box-shadow:0 4px 14px -6px var(--accent-glow);border-color:#0000}@media (width<=860px){body{height:100dvh}.topbar{flex-wrap:wrap;gap:10px;padding:11px 16px}.topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;width:100%}.lib-btn{flex:auto;justify-content:flex-start;min-width:0}.lib-btn-kicker{display:none}.lib-btn-name{flex:1;max-width:none}.tb-divider{display:none}#how-to,#spec-link,#feedback,#share{flex:none;padding:9px 13px}#how-to .lbl,#spec-link .lbl,#feedback .lbl,#share .lbl{display:none}#how-to .ico-help,#spec-link .ico-spec,#feedback .ico-github,#share .ico-link{width:17px;height:17px}#copy-prompt{flex:100%;justify-content:center}.slideover.library{border-left:none;border-top:1px solid var(--border-2);width:100%;height:min(78vh,620px);animation:sheetup .32s var(--ease);padding-bottom:env(safe-area-inset-bottom,0px);border-radius:16px 16px 0 0;inset:auto 0 0}.lib-tools{padding:12px 16px}.intro-text{display:none}.intro .link{margin-left:0}.mobile-tabs{display:flex}.layout{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr}body:not([data-mview=editor]) .editor-pane,body[data-mview=editor] .viewer-pane{display:none}.editor-pane{border-right:none}.hud{max-width:80vw}.transport{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:10px}}:root{--bg:#0b0c0d;--bg-viewer:#101214;--panel:#111315;--panel-2:#171a1d;--panel-3:#1c2023;--border:#292d30;--border-2:#3a3f43;--text:#f2f1eb;--text-2:#aaa9a2;--muted:#74746f;--accent:#d4ff3f;--accent-2:#d4ff3f;--radius:3px;--radius-sm:3px;--sheen:none;--edge:none;--edge-strong:none}.bg-fx{background:var(--bg)}.bg-fx:after{opacity:.018}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:none;background:#0b0c0df5;padding:14px 20px}.brand .logo{filter:none;animation:none}.brand .tag{border:0;border-left:1px solid var(--border-2);border-radius:0;padding-left:10px}.btn,.lib-btn,select{box-shadow:none;border-radius:3px}.btn.primary,.btn.primary:hover{background:var(--accent);box-shadow:none;filter:none}.intro{background:#0e1011;padding-top:10px;padding-bottom:10px}.intro:before{width:18px;height:1px;box-shadow:none;border-radius:0}.layout{grid-template-columns:minmax(400px,.82fr) 1.18fr}.pane-head{box-shadow:none;background:#0e1011;padding-top:11px;padding-bottom:11px}.traffic{display:none}.live i,.phase:not(:empty):before{box-shadow:none;border-radius:0}#editor .cm-phase-active{box-shadow:none;background:#d4ff3f0e}.editor-wrap:focus-within{box-shadow:inset 0 0 0 1px var(--border-2)}.warnings{background:#0e1011}.viewer-veil{background:linear-gradient(#080a0c80,#0000)}.reps{-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:3px}.ribbon{border-top:1px solid var(--border);gap:0;padding:0 16px}.ribbon .chip{border:0;border-right:1px solid var(--border);background:0 0;border-radius:0;padding:10px 14px}.ribbon .chip:first-child{border-left:1px solid var(--border)}.ribbon .chip:focus-visible{outline-offset:-3px}.ribbon .chip:before{border-radius:0}.ribbon .chip:hover{background:var(--panel-2)}.ribbon .chip.active{background:var(--text);color:var(--bg);border-color:var(--border);box-shadow:none}.ribbon .chip.active:before{background:var(--bg);box-shadow:none}.transport{box-shadow:none;background:#0e1011;padding-top:15px;padding-bottom:15px}.btn-play{background:var(--accent);box-shadow:none;border-radius:3px}.btn-play:hover{box-shadow:none;filter:none;transform:translateY(-1px)}#scrub::-webkit-slider-runnable-track{box-shadow:none;background:linear-gradient(90deg,var(--accent) 0%,var(--accent) var(--pct,0%),var(--track) var(--pct,0%),var(--track) 100%);border-radius:0}#scrub::-webkit-slider-thumb{background:var(--text);box-shadow:0 0 0 2px var(--bg);border-radius:1px}.loop input{border-radius:2px}.loop input:after{border-radius:1px}.mobile-tabs{background:#0e1011;gap:0;padding:0}.mtab{border:0;border-right:1px solid var(--border);background:0 0;border-radius:0;padding:12px}.mtab[aria-selected=true]{color:var(--bg);background:var(--text);box-shadow:none}.slideover{background:var(--bg)}.fchip,.lib-item{border-radius:3px}.lib-item[aria-current=true]{box-shadow:none}@media (width<=860px){.topbar{padding:12px}.topbar-actions{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:stretch;gap:6px;display:grid}.lib-btn,#new-doc,#how-to,#spec-link,#feedback,#share{min-height:42px}#spec-link,#feedback,#share{justify-content:center}#share{display:none}#feedback{grid-area:2/4}#share .lbl{display:inline}#share:not([data-status]) .lbl{font-size:0}#share:not([data-status]) .lbl:after{content:"Copy link";font-size:13px}#copy-prompt{grid-area:2/1/auto/4;min-height:42px}.tb-downloads{display:none}.intro{padding-left:12px;padding-right:12px}.layout{grid-template-columns:1fr}.floor-guide-key{background:#0a0d12b8;gap:7px;max-width:calc(100% - 24px);padding:6px 7px;top:96px;right:12px}.transport{gap:8px;padding-left:12px;padding-right:12px}.speed>span,.loop>span{display:none}.clock{min-width:40px;padding-left:8px}}#share[data-status=success]{color:var(--bg);background:var(--accent);border-color:var(--accent)}#share[data-status=pending]{color:var(--accent);border-color:var(--accent)}#share[data-status=error]{color:#ffb4a9;border-color:#a94b41}
