:root{--ink:#f4f1ea;--muted:#b9b3a6;--panel:#14161ae0;--line:#ffffff1f;--accent:#f6aa45;color:var(--ink);background:#111;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}.app{height:100%;position:relative}.viewport{position:absolute;inset:0}.viewport canvas{display:block}.hud{pointer-events:none;text-shadow:0 1px 3px #000000b3;position:absolute;inset:0}.hud-top-left{position:absolute;top:16px;left:16px}.hud-title{font-size:18px;font-weight:700}.hud-phase{color:var(--ink);opacity:.85;margin-top:4px;font-size:14px}.hud-phase:empty{display:none}.hud-standby{text-align:center;text-transform:uppercase;text-shadow:0 2px 10px #000000bf;position:absolute;bottom:calc(50% + 28px);left:16px;right:16px}.hud-standby-small{letter-spacing:.32em;padding-left:.32em;font-size:clamp(12px,min(1.8vw,2.6vh),18px);font-weight:700}.hud-standby-big{letter-spacing:.04em;margin-top:6px;font-size:clamp(30px,min(8vw,11vh),84px);font-style:italic;font-weight:900;line-height:1}.hud-standby-bar{background:var(--accent);border-radius:2px;width:64px;height:4px;margin:12px auto 0}.hud-false-start .hud-standby-big{color:#ff5a45}.hud-false-start .hud-standby-bar{background:#ff5a45}.hud-ok{background:#36804ae6;border-radius:6px;margin-top:8px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-block}.hud-warning{--message-glyph:#b8432f;background:#b8432fe6;border-radius:6px;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.hud-label{letter-spacing:.32em;text-transform:uppercase;opacity:.85;font-size:12px;font-weight:700}.hud-timer,.hud-ammo{text-align:right;text-shadow:0 1px 2px #0000008c,0 2px 12px #00000080;position:absolute;right:24px}.hud-timer{font-variant-numeric:tabular-nums;font-size:44px;font-style:italic;font-weight:900;line-height:1;top:16px}.hud-ammo{bottom:20px}.hud-ammo-num{font-variant-numeric:tabular-nums;font-size:56px;font-style:italic;font-weight:900;line-height:1}.hud-capacity{opacity:.6;margin-left:6px;font-size:22px;font-style:italic;font-weight:700}.hud-empty .hud-ammo-num{color:#ff5a45}.hud-reloading .hud-ammo-num{opacity:.35}.hud-pips{justify-content:flex-end;gap:3px;margin-top:8px;display:flex}.hud-pips i{background:#ffffff40;border-radius:2px;width:6px;height:14px;box-shadow:inset 0 0 0 1px #00000040,0 1px 4px #00000059}.hud-pips i.on{background:var(--accent)}.hud-empty .hud-pips i{background:#ff5a4559}.hud-reloading .hud-pips i{animation:pip-load 50ms calc(var(--i) * var(--reload)) forwards}@keyframes pip-load{to{background:var(--accent)}}.crosshair{filter:drop-shadow(0 0 1px #000);background:radial-gradient(circle,#fff 0 .75px,#0000 1.25px);width:30px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@property --ready-fill{syntax:"<percentage>";inherits:false;initial-value:0%}.ready-hold{background:conic-gradient(var(--accent) var(--ready-fill), #ffffff40 0);width:56px;height:56px;animation:ready-fill var(--hold) linear forwards;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask:radial-gradient(circle,#0000 23px,#000 24px);mask:radial-gradient(circle,#0000 23px,#000 24px)}@keyframes ready-fill{to{--ready-fill:100%}}.crosshair:before,.crosshair:after{content:"";background:#fff;width:9px;height:3px;position:absolute;top:5.5px}.crosshair:before{clip-path:polygon(0 0,100% 50%,0 100%);left:1px}.crosshair:after{clip-path:polygon(100% 0,0 50%,100% 100%);right:1px}.screen{background:#00000059;place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow-y:auto}.card{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;width:min(520px,100%);padding:24px;position:relative}.card.wide{width:min(640px,100%)}.card h1{margin:4px 0 6px;font-size:28px}.sound-btn{border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex;position:absolute;top:14px;right:14px}.sound-btn .speaker-icon{width:17px;height:17px}.sound-btn[aria-pressed=false]{color:var(--accent)}.sound-btn~.brand,.sound-btn~h1{padding-right:40px}.speaker-icon{flex:none}.hud-muted{vertical-align:2px;text-shadow:none;background:#00000059;border-radius:999px;align-items:center;gap:4px;margin-left:10px;padding:2px 8px 2px 6px;font-size:12px;font-weight:600;display:inline-flex}.hud-muted .speaker-icon{width:14px;height:14px}.hud-toast{background:var(--panel);white-space:nowrap;text-shadow:none;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:15px;font-weight:600;animation:1.5s forwards hud-toast;display:flex;position:absolute;top:96px;left:50%;transform:translate(-50%)}.hud-toast .speaker-icon{width:16px;height:16px}.hud-toast-hint{opacity:.6;font-weight:400}@keyframes hud-toast{0%,80%{opacity:1}to{opacity:0}}.hud.touch .hud-toast{padding:7px 12px;font-size:13px;top:70px}.hud-start-flash{box-shadow:inset 0 0 0 6px var(--accent), inset 0 0 60px 10px #f6aa458c;animation:.5s ease-out forwards hud-start-flash;position:absolute;inset:0}@keyframes hud-start-flash{0%,40%{opacity:1}to{opacity:0}}.card p{margin:8px 0;line-height:1.5}.brand{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.muted{color:var(--muted);font-size:14px}.row{justify-content:space-between;align-items:center;margin:16px 0;display:flex}.segmented{border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.segmented button{background:0 0;border:0;border-radius:0}.segmented button.active{background:#ffffff24}.actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin:18px 0 8px;display:flex}button{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#ffffff14;border-radius:8px;padding:9px 16px;font-weight:600}button:hover{background:#ffffff29}button.primary{background:var(--accent);border-color:var(--accent);color:#1a0d05}button.primary:hover{filter:brightness(1.08)}table{border-collapse:collapse;width:100%;margin-top:12px;font-size:14px}td,th{border-top:1px solid var(--line);text-align:left;padding:6px 4px}th{color:var(--muted);font-weight:600}.controls td:first-child{color:var(--muted);width:45%}.targets td:nth-child(3),.targets td:nth-child(4),.targets th:nth-child(3),.targets th:nth-child(4){text-align:right}.stats{flex-wrap:wrap;align-items:flex-end;gap:28px;margin:12px 0 4px;display:flex}.stat-value{font:700 24px ui-monospace,SF Mono,Menlo,monospace}.stat.big .stat-value{color:var(--accent);font-size:44px}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.play{background:#111;position:absolute;inset:0}.actions .left{margin-right:auto}button:disabled{opacity:.4;cursor:default}button:disabled:hover{background:#ffffff14}button.primary.filling,button.primary.filling:hover{opacity:1;background:#f6aa4559;position:relative;overflow:hidden}button.filling:before{content:"";background:var(--accent);transform-origin:0;animation:button-fill var(--fill) linear forwards;position:absolute;inset:0}button.filling>span{position:relative}@keyframes button-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}button.active{background:#ffffff2e;border-color:#ffffff4d}button.danger{color:#ff8f7a}button.link{color:inherit;text-align:left;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:500;-webkit-text-decoration:underline #ffffff4d;text-decoration:underline #ffffff4d}button.link:hover{background:0 0;text-decoration-color:currentColor}.small{font-size:12px}.editor{background:#16181c;flex-direction:column;display:flex;position:absolute;inset:0}.editor[hidden]{display:none}.editor button:where(:not(.site-header button)){padding:6px 12px;font-size:13px}.editor-bar{border-bottom:1px solid var(--line);background:#1c1f24;flex-wrap:wrap;align-items:center;gap:14px;padding:8px 12px;display:flex}.bar-group{align-items:center;gap:6px;display:flex}.bar-group.snap{color:var(--muted);font-size:13px}.bar-spacer{flex:1}.check-summary{font-size:13px;font-weight:600}.check-summary.ok{color:#8fd18f}.check-summary.warning{color:#f2c14e}.check-summary.error{color:#ff8f7a}.editor select,.editor input,.editor textarea{font:inherit;color:var(--ink);border:1px solid var(--line);background:#0f1114;border-radius:6px;padding:6px 8px;font-size:13px}.editor textarea{resize:vertical;line-height:1.4}.menu{position:relative}.menu>button{text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-weight:700;overflow:hidden}.menu-backdrop{z-index:9;position:fixed;inset:0}.menu-panel{z-index:10;border:1px solid var(--line);background:#22262c;border-radius:10px;width:300px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 30px #00000080}.menu-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:4px 6px 6px;font-size:11px}.menu-panel ul{max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.menu-panel li button{text-align:left;background:0 0;border:0;justify-content:space-between;gap:8px;width:100%;font-weight:500;display:flex}.menu-panel li button.current{background:#f6aa4526}.menu-heading.bay-heading{border-top:1px solid var(--line);margin-top:6px;padding-top:10px}.menu-panel li.bay-row{align-items:center;gap:4px;display:flex}.menu-panel li.bay-row>button:first-child{flex:1;min-width:0}.menu-panel li.bay-row .small{white-space:nowrap}.menu-panel li.bay-row button.bay-delete{width:auto;color:var(--muted);flex:none}.menu-actions{border-top:1px solid var(--line);flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;display:flex}.menu-actions button{text-align:left;background:0 0;border:0;font-weight:500}.menu-actions button.icon-item{align-items:center;gap:10px;display:flex}.menu-actions button.icon-item svg{color:var(--muted);flex:none}.editor-body{flex:1;min-height:0;display:flex}.toolbox{border-right:1px solid var(--line);background:#1c1f24;flex-direction:column;gap:4px;width:76px;padding:8px 6px;display:flex;overflow-y:auto}.toolbox button{background:0 0;border-color:#0000;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding:5px 2px;font-size:11px;font-weight:600;display:flex}.toolbox button.active{border-color:var(--accent);background:#f6aa452e}.toolbox svg{filter:drop-shadow(0 1px 1px #00000073);width:30px;height:30px}.canvas-wrap{flex:1;min-width:0;position:relative;overflow:hidden}.stage-canvas{touch-action:none;-webkit-user-select:none;user-select:none;background:#2a2d31;position:absolute;inset:0}.stage-canvas svg{cursor:grab;display:block}.stage-canvas.tool-select svg:active{cursor:grabbing}.stage-canvas:not(.tool-select) svg{cursor:crosshair}.stage-canvas [data-hit]{cursor:move}.stage-canvas:not(.tool-select) [data-hit]{cursor:crosshair}.stage-canvas [data-hit=rotate],.stage-canvas [data-hit=facing]{cursor:alias}.stage-canvas [data-hit=edge]{cursor:copy}.stage-canvas.tool-select [data-hit=bay-edge]{cursor:pointer}.ground{fill:#cdb98f}.grid{stroke:#46321426}.grid.major{stroke:#46321459}.axis-label{fill:#c9c2b2;font-family:system-ui,sans-serif}.area{fill:#b8432f1a;stroke:#b8432f}.area.selected{fill:#f6aa452e;stroke:var(--accent)}.edge-hit{stroke:#0000}.sponsor-banner polygon{fill:#1d1f22;stroke:#f5a349}.sponsor-banner text{fill:#f5a349;font-weight:700}.bay-outline{stroke:var(--accent);stroke-linejoin:miter;pointer-events:none}.hit-pad{fill:#0000}.wall{fill:#6e5535;stroke:#3d2e1b}.wall.low{fill:#b39563;stroke-dasharray:.2 .1}.wall.preview{fill:#6e55358c;stroke:var(--accent);stroke-dasharray:.15 .08}.chain-point{fill:#fff;stroke:var(--accent)}.chain-point.first{fill:var(--accent);stroke:#fff}.chain-label{fill:#fff;stroke:#000000b3;paint-order:stroke;font-family:system-ui,sans-serif;font-weight:700}.wall.selected,.paper.selected,.noshoot.selected,.steel.selected,.barrel.selected,.door.selected{stroke:var(--accent)}.paper.mover{fill:#d9b27a}.mover-travel{stroke:#d9b27a;opacity:.8}.clam-open{fill:none}.mover-held{fill:#d9b27a;pointer-events:none}.slider-rail{stroke:#5c636c;stroke-linecap:square}.mover-glyph{fill:#f3e2c2;pointer-events:none;font-weight:700}.port-opening{fill:#2a2d31;stroke:#d8c39a}.barrel{fill:#2f5d8a;stroke:#9cc0e4}.barrel-rim{fill:none;stroke:#9cc0e4;opacity:.6;pointer-events:none}.barrel-stack{fill:#fff;text-anchor:middle;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:700}.door{fill:#b79a6c;stroke:#3d2e1b}.door-frame{fill:#3d2e1b}.door-swing{fill:none;stroke:#b79a6c;opacity:.8}.pedal-board{fill:#b79a6c;stroke:#3d2e1b}.pedal-plate{fill:#d2541c;stroke:#2b2b2b}.pedal-plate.selected{stroke:var(--accent)}.pedal-cable{stroke:#2b2b2b;opacity:.8}.activator-link{stroke:#ffb36b;opacity:.45;pointer-events:none}.activator-link.active{opacity:1}.paper{fill:#c79f6b;stroke:#6b4e2a}.noshoot{fill:#fbf9f4;stroke:#222}.steel{fill:#5f656d;stroke:#e8e2d0}.face-tick{stroke:#2a1f12}.object-label{fill:#1d160c;pointer-events:none;font-family:system-ui,sans-serif;font-weight:700}.object-label.ns{fill:#6a6a6a}.stack-badge{pointer-events:none}.stack-badge rect{fill:#1d160c}.stack-badge text{fill:#f4f1ea;font-family:system-ui,sans-serif;font-weight:700}.start{fill:#fff;stroke:#1d160c}.start.selected{stroke:var(--accent)}.start.free{fill:#2a2d31;stroke:#fff}.start.free.selected{stroke:var(--accent)}.start-area{pointer-events:none;stroke:var(--accent)}.start-area polygon{stroke:var(--accent)}.start-area pattern line{stroke:#f6aa4599}.start-arrow{stroke:#fff}.handle{fill:#fff;stroke:var(--accent)}.rotate-line{stroke:var(--accent)}.issue-ring{fill:none;pointer-events:none}.issue-ring.warning{stroke:#e0a021}.issue-ring.error{stroke:#d6331b}.canvas-readout{color:var(--muted);pointer-events:none;background:#00000073;border-radius:5px;padding:3px 7px;font:12px ui-monospace,Menlo,monospace;position:absolute;bottom:34px;left:10px}.canvas-hint{color:var(--muted);pointer-events:none;background:#16181cd9;padding:6px 10px;font-size:12px;position:absolute;bottom:0;left:0;right:0}.notice{max-width:90%;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000059}.notice.message-box{--message-base:#22262c;padding:8px 12px;font-size:13px}.stage-preview{border:1px solid var(--line);border-radius:10px;width:340px;height:220px;position:absolute;bottom:40px;right:12px;overflow:hidden;box-shadow:0 8px 24px #00000073}.stage-preview canvas{display:block}.inspector{border-left:1px solid var(--line);background:#1c1f24;width:300px;padding:4px 14px 14px;overflow-y:auto}.inspector h2{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:14px 0 10px;font-size:13px}.inspector section+section{border-top:1px solid var(--line);margin-top:14px}.field{color:var(--muted);flex-direction:column;flex:1;gap:4px;min-width:0;margin-bottom:10px;font-size:12px;display:flex}.field input,.field textarea,.field select{width:100%}.field-row{gap:10px;display:flex}.number-field{display:block;position:relative}.number-field input{padding-right:26px}.bar-group.snap .number-field{flex:none;width:64px}.bar-group.snap .number-field input{width:100%}.number-steppers{border-left:1px solid var(--line);flex-direction:column;width:20px;display:flex;position:absolute;top:1px;bottom:1px;right:1px}.number-steppers button{min-height:0;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:0;flex:1;padding:0;font-size:7px;line-height:1}.number-steppers button:first-child{border-top-right-radius:7px}.number-steppers button:last-child{border-bottom-right-radius:7px}.number-steppers button:hover{background:var(--line);color:var(--ink)}.inspector .segmented{align-self:flex-start}.inspector .actions{justify-content:flex-start;margin-top:6px}.layers-ends{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin:2px 0 4px;font-size:10px;display:flex}.layer-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.layer-row{align-items:stretch;gap:4px;display:flex}.layer-row.dragging{opacity:.5}.layer-pick{text-align:left;cursor:grab;flex:1;align-items:center;gap:8px;min-width:0;padding:7px 8px;display:flex}.layer-pick b{font-variant-numeric:tabular-nums}.layer-pick .muted{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.layer-grip{color:var(--muted);font-size:12px}.layer-row.selected .layer-pick{border-color:var(--accent);background:#f6aa451a}.layer-arrow{width:34px;padding:0;font-size:11px}.layer-arrow:disabled{opacity:.3}.stack-front{border-radius:8px;width:100%;height:auto;max-height:150px;margin:10px 0 6px;display:block}.stack-front-sky{fill:#8fa35f}.stack-front-ground{fill:#cdb48a}.stack-front-face{fill:#c79f6b;stroke:#6b4e2a;stroke-linejoin:round}.stack-front-face.ns{fill:#efede7;stroke:#8a877f}.stack-front-face.selected{stroke:var(--accent)}.issues ul{flex-direction:column;gap:6px;margin:0;padding:0;font-size:13px;line-height:1.35;list-style:none;display:flex}.issues li{padding-left:14px;position:relative}.issues li:before{content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:6px;left:0}.issues li.error:before{background:#d6331b}.issues li.warning:before{background:#e0a021}.ok{color:#8fd18f}@media (width<=900px){.inspector{width:240px}.stage-preview{width:220px;height:150px}}.editor.phone button:where(:not(.site-header button)){min-height:40px;font-size:15px}.editor.phone input,.editor.phone select,.editor.phone textarea{font-size:16px}.editor.phone .editor-bar{padding:4px 6px;padding-top:max(4px, env(safe-area-inset-top));padding-left:max(6px, env(safe-area-inset-left));padding-right:max(6px, env(safe-area-inset-right));flex-wrap:nowrap;gap:2px}.editor.phone .stage-menu{flex:1;min-width:0}.editor.phone .stage-menu>button{max-width:100%}.editor.phone .stage-menu .menu-panel{width:min(300px,100vw - 12px)}.icon-button{background:0 0;border-color:#0000;min-width:40px;padding:0 8px;font-size:18px}.editor.phone .icon-button{font-size:20px}.check-dot{color:#1a0d05;font-weight:700;position:relative;font-size:13px!important}.check-dot:before{content:"";z-index:-1;border-radius:50%;position:absolute;inset:9px}.check-dot{isolation:isolate}.check-dot.ok:before{background:#8fd18f;inset:14px}.check-dot.warning:before{background:#f2c14e}.check-dot.error:before{background:#ff8f7a}.more-panel{width:230px}.more-panel .snap{justify-content:space-between;padding:4px 12px;font-size:15px}.more-panel .menu-actions{border-top:0;margin-top:0;padding-top:0}.more-panel .menu-actions button.primary{background:var(--accent);text-align:center;font-weight:600}.more-panel .account-menu .menu-panel{top:auto;bottom:calc(100% + 6px)}.editor.phone .editor-body{position:relative}.editor.phone.portrait .editor-body{flex-direction:column}.editor.phone.portrait .toolbox{border-right:0;border-top:1px solid var(--line);width:auto;padding:6px;padding-bottom:max(6px, env(safe-area-inset-bottom));scrollbar-width:none;flex-direction:row;order:2;overflow:auto hidden}.editor.phone.portrait .toolbox button{width:58px}.editor.phone.landscape .toolbox{width:auto;min-width:64px;padding-left:max(6px, env(safe-area-inset-left));scrollbar-width:none}.editor.phone .toolbox button{min-height:0;font-size:10px}.editor.phone .canvas-readout{display:none}.editor.phone .canvas-hint{text-align:center;font-size:13px}.canvas-buttons{flex-direction:column;gap:8px;display:flex;position:absolute;top:10px;right:10px}.canvas-buttons button{background:#1c1f24eb;min-width:48px}.canvas-buttons button.active{border-color:var(--accent);background:#f6aa454d}.editor.phone .stage-preview{width:auto;height:40%;inset:10px 68px auto 10px}.editor.phone.landscape .stage-preview{width:50%;height:auto;bottom:10px;left:auto}.inspector-sheet{z-index:5;overscroll-behavior:contain;border-top:1px solid var(--line);max-height:75%;padding:6px 14px max(14px, env(safe-area-inset-bottom));background:#1c1f24;border-radius:16px 16px 0 0;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 24px #00000073}.editor.phone.landscape .inspector-sheet{border-top:0;border-left:1px solid var(--line);width:300px;max-height:none;padding-right:max(14px, env(safe-area-inset-right));border-radius:0;top:0;left:auto;box-shadow:-8px 0 24px #0006}.sheet-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet-title{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.sheet-actions{gap:8px;margin:4px 0 8px;display:flex}.sheet-actions button{white-space:nowrap;flex:1;padding:0 6px}.sheet-more{width:100%;display:block;text-align:center!important;color:var(--muted)!important;text-decoration:none!important}.inspector-sheet .inspector{background:0 0;border:0;width:auto;padding:0;overflow:visible}.inspector-sheet .inspector>section:first-child>h2{display:none}.inspector-sheet .inspector>section:first-child{margin-top:4px}.editor.phone .number-field input{padding-right:44px}.editor.phone .number-steppers{width:36px}.editor.phone .number-steppers button{min-height:0;font-size:10px}a.button{color:var(--ink);border:1px solid var(--line);background:#ffffff14;border-radius:8px;padding:9px 16px;font-weight:600;text-decoration:none;display:inline-block}a.button:hover{background:#ffffff29}a.button.primary{background:var(--accent);border-color:var(--accent);color:#1a0d05}.editor a.button{background:0 0;border:0;padding:6px 12px;font-size:13px;font-weight:500}.brand-link{color:inherit;text-decoration:none}.brand-link:hover{text-decoration:underline}a{color:#fbcf8a}.page{background:#16181c;height:100%;overflow-y:auto}.site-header{z-index:5;border-bottom:1px solid var(--line);background:#1c1f24;align-items:center;gap:18px;padding:10px 20px;display:flex;position:sticky;top:0}.site-brand{white-space:nowrap;align-items:center;font-size:14px;text-decoration:none;display:inline-flex}.site-brand-text{flex-direction:column;align-items:flex-start;gap:2px;line-height:1;display:inline-flex}.beta-tag{letter-spacing:.14em;color:#ff4d4d;font-size:9px;font-weight:800;line-height:1}.wordmark{vertical-align:-.1em;width:auto;height:1em;display:inline-block}.site-wordmark{height:13px;color:var(--ink);vertical-align:-1px}.logo{vertical-align:-.28em;width:auto;height:1.3em;margin-right:.5em}.site-nav{gap:14px;display:flex}.site-nav a{color:var(--muted);font-size:14px;font-weight:600;text-decoration:none}.site-nav a.current,.site-nav a:hover{color:var(--ink)}.demo-badge{color:#f2c14e;border:1px solid #f2c14e80;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.account-button{white-space:nowrap;padding:6px 12px;font-size:13px}.menu-panel.right{width:240px;left:auto;right:0}.page-body{max-width:960px;margin:0 auto;padding:24px 20px 60px}.page-body h1{margin:4px 0 8px;font-size:30px}.page-body h2{margin:0;font-size:18px}.page-body section{margin:28px 0}.page-body section>h2{margin-bottom:10px}.hero{padding:12px 0}.hero p{max-width:620px;line-height:1.5}.actions.start{justify-content:flex-start}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.stage-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.stage-list li{display:flex}.stage-list a{border:1px solid var(--line);min-width:0;color:var(--ink);background:#1c1f24;border-radius:10px;flex-direction:column;flex:1;gap:4px;padding:14px;text-decoration:none;display:flex}.stage-list a:hover{border-color:var(--accent)}.stage-list.even{grid-auto-rows:1fr}.stage-list.even .stage-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.card-head{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.run-count{white-space:nowrap;flex-shrink:0}.stage-list.even .vis-label{margin-top:auto;padding-top:2px}.stage-title{font-weight:700}.course-badge{text-transform:uppercase;letter-spacing:.06em;vertical-align:1px;white-space:nowrap;border:1px solid;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.course-short{color:#8fd18b;border-color:#8fd18b80}.course-medium{color:#f2c14e;border-color:#f2c14e80}.course-long{color:#ff9a6b;border-color:#ff9a6b80}.course-too-long{color:#ff8f7a;background:#ff8f7a1a;border-color:#ff8f7a99}.stage-head{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.stage-head-actions{flex-wrap:wrap;gap:8px;display:flex}.swap-label{display:inline-grid}.swap-label>*{text-align:center;grid-area:1/1}.swap-hidden{visibility:hidden}.briefing{white-space:pre-wrap;max-width:720px;line-height:1.55}.notice-inline{border:1px solid var(--line);background:#ffffff0f;border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.45}.new-link-panel p{margin:0 0 8px}.play-options{grid-template-columns:1fr;gap:12px;display:grid}.play-option{border:1px solid var(--line);background:#1c1f24;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;display:flex}.play-option h3{margin:0;font-size:16px}.play-option p{margin:0 0 8px;line-height:1.45}.board-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.board-filters select,.share-row input,.field input{font:inherit;color:var(--ink);border:1px solid var(--line);background:#0f1114;border-radius:8px;padding:8px 10px;font-size:14px}.board-wrap{overflow-x:auto}.board{margin-top:0}.board .num{text-align:right;font-variant-numeric:tabular-nums}.board .strong{color:var(--accent);font-weight:700}.board tr.me td{background:#f6aa451a}.board tr.gap td{text-align:center;color:var(--muted);padding-top:2px;padding-bottom:2px}.board .shooter{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.comp-stages{flex-direction:column;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.comp-stages li{border:1px solid var(--line);background:#1c1f24;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.comp-stage-num{background:#ffffff14;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.comp-stage-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.comp-stage-info .stage-title a{color:var(--ink)}.comp-stage-actions{flex:none;gap:6px;display:flex}.comp-stage-actions button{padding:6px 10px}.comp-editor{max-width:720px}.comp-form h2{margin:26px 0 8px}.comp-form .field{font-size:13px}.comp-form .field input,.comp-form .field textarea{font:inherit;color:var(--ink);border:1px solid var(--line);background:#0f1114;border-radius:8px;padding:8px 10px;font-size:14px}.comp-form .field textarea{resize:vertical;line-height:1.45}.comp-form .field input[type=datetime-local]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.comp-add ul{flex-wrap:wrap;gap:8px;margin:6px 0 0;padding:0;list-style:none;display:flex}.comp-add button{align-items:center;gap:6px;font-weight:500;display:inline-flex}.intro{margin:8px 0 20px}.intro h1{font-size:24px!important}.intro p{margin:0;line-height:1.5}.range-tabs{z-index:4;border-bottom:1px solid var(--line);background:#16181c;align-items:flex-end;gap:4px;margin:8px 0 14px;display:flex;position:sticky;top:53px}.range-tabs>a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:700;text-decoration:none}.range-tabs>a.current{color:var(--ink);border-bottom-color:var(--accent)}.range-tabs>a:hover{color:var(--ink)}.range-actions{gap:10px;margin-bottom:6px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{color:var(--muted);border:1px solid var(--line);background:0 0;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.chip.active,.chip.active:hover{color:#1a0d05;background:var(--accent);border-color:var(--accent)}.length-row{margin:-2px 0 14px}.length-row>.small{margin-right:4px}.select{font:inherit;color:var(--ink);border:1px solid var(--line);background:#0f1114;border-radius:8px;padding:8px 10px;font-size:14px}.vis-label{text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:700;overflow:hidden}.title-row{align-items:center;gap:8px;min-width:0;display:flex}.version-pill{color:var(--muted);border:1px solid var(--line);border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:11px;font-weight:700}.chip:focus:not(:focus-visible){outline:none}.vis-label.club{color:#8fb8ff}.page-body h2.group-head{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:20px 0 8px;font-size:13px}.comp-group:first-of-type h2.group-head{margin-top:4px}.range-tab>.muted.small{margin-top:18px}.fab{right:16px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:6;position:fixed;box-shadow:0 6px 18px #00000080}.page-body section.range-tab{margin-top:0}.narrow-only{display:none!important}.count-badge{background:var(--accent);color:#1a0d05;text-align:center;vertical-align:1px;border-radius:999px;min-width:18px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.pill{color:var(--muted);border:1px solid var(--line);border-radius:999px;align-items:center;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.search{font:inherit;color:var(--ink);border:1px solid var(--line);background:#0f1114;border-radius:8px;width:min(280px,100%);padding:8px 10px;font-size:14px}.panel{border:1px solid var(--line);background:#1c1f24;border-radius:12px;max-width:720px;padding:16px}.panel .comp-form{margin-top:10px}.club-blurb{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.member-list{flex-direction:column;gap:8px;max-width:720px;margin:0;padding:0;list-style:none;display:flex}.member-list li{border:1px solid var(--line);background:#1c1f24;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.member-name{font-weight:700}.member-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.member-actions button{padding:6px 10px;font-size:13px}.choice select{font:inherit;color:var(--ink);border:1px solid var(--line);background:#0f1114;border-radius:8px;max-width:100%;margin-top:6px;padding:6px 8px;font-size:14px}.modal{z-index:20;background:#0000008c;grid-template-columns:minmax(0,1fr);place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal .card{background:#22262c}.modal .field{color:var(--muted);font-size:13px}.publish-name-hint{margin:-4px 0 12px}.field input[aria-invalid=true]{border-color:#ff8f7a}.modal .field input{width:100%}.form-error{color:#ff8f7a;font-size:14px}.form-error ul,.message ul{margin:6px 0 0;padding-left:18px}.message{--message-base:#1f2226;align-items:flex-start;gap:8px;margin:0;display:flex}span.message{display:inline-flex}.message-icon{flex:none;width:1.2em;height:1.2em;margin-top:.12em}.message-body{min-width:0}.message-box{background:var(--message-base);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.45}.message-box.message-error{background:color-mix(in srgb, #d6331b 16%, var(--message-base));border-color:#ff8f7a80}.message-box.message-warning{background:color-mix(in srgb, #e0a021 12%, var(--message-base));border-color:#f2c14e73}.message-box.message-success{background:color-mix(in srgb, #4caf50 10%, var(--message-base));border-color:#8fd18f66}.message-error .message-icon{color:#ff8f7a}.message-warning .message-icon{color:#f2c14e}.message-info .message-icon{color:#9dbbe0}.message-success .message-icon{color:#8fd18f}.message-plain{font-size:14px;line-height:1.45}.message-plain.message-error{color:#ff8f7a}.message-plain.message-success{color:#8fd18f}.message-plain.small{font-size:13px}.post-status{margin:10px 0 4px;font-size:14px}.share-row{gap:8px;margin:14px 0;display:flex}.share-row input{flex:1;min-width:0}.share-row button{white-space:nowrap}.share-label{margin:18px 0 -8px;display:block}.modal .actions button,.modal a.button{padding:9px 16px;font-size:1rem}.modal a.button{border:1px solid var(--line);text-align:center;background:#ffffff14;font-weight:600}.modal a.button.primary{background:var(--accent);border-color:var(--accent);color:#1a0d05}.modal a.button.primary:hover{filter:brightness(1.08)}.publish-done-actions{align-items:center;margin-top:22px}.choice{border:0;flex-direction:column;gap:8px;margin:14px 0;padding:0;display:flex}.choice label{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.choice label.selected{border-color:var(--accent);background:#f6aa4514}.choice label>span{flex-direction:column;gap:2px;display:flex}.choice input{accent-color:var(--accent);margin-top:3px}.hud-mode{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-left:10px;font-size:12px;font-weight:700}.hud.touch .hud-timer{font-size:32px;right:20px}.hud.touch .hud-ammo{top:56px;bottom:auto;right:20px}.hud.touch .hud-ammo-num{font-size:36px}.hud.touch .hud-capacity{font-size:16px}.hud.touch .hud-pips i{width:4px;height:10px}.hud.touch .hud-label{font-size:10px}.hud.touch .hud-title{font-size:15px}.play,.touch-controls{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.touch-controls,.touch-surface{position:absolute;inset:0}.touch-stick{pointer-events:none;background:#00000026;border:2px solid #ffffff59;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;position:absolute}.touch-knob{background:#ffffff8c;border-radius:50%;width:44px;height:44px;position:absolute;top:32px;left:32px}.touch-stick-hint{color:#fff9;pointer-events:none;border:2px dashed #ffffff40;border-radius:50%;place-items:center;width:96px;height:96px;font-size:12px;display:grid;position:absolute;bottom:40px;left:40px}.touch-btn{color:#fff;touch-action:none;background:#0000004d;border:2px solid #ffffff80;border-radius:50%;padding:0;font-weight:700;position:absolute}.touch-btn:hover{background:#0000004d}.touch-fire{right:calc(28px + env(safe-area-inset-right));border-color:var(--accent);background:#f6aa458c;width:96px;height:96px;font-size:16px;bottom:28px}.touch-fire.idle{opacity:.45}.touch-reload{right:calc(140px + env(safe-area-inset-right));width:68px;height:68px;font-size:12px;bottom:40px}.touch-sound{justify-content:center;align-items:center;width:38px;height:38px;margin-left:-66px;display:flex;top:17px;left:50%}.touch-sound .speaker-icon{width:18px;height:18px}.touch-pause{width:44px;height:44px;margin-left:-22px;font-size:13px;top:14px;left:50%}.touch-primary:disabled{opacity:.45}.touch-primary{border-color:var(--accent);background:#f6aa45bf;border-radius:22px;height:44px;margin-left:34px;padding:0 18px;font-size:14px;top:14px;left:50%}@media (width<=640px){.site-header{gap:12px;padding:10px 16px}.page-body{padding:18px 16px 48px}.page-body h1{font-size:24px}.comp-stages li{flex-wrap:wrap}.member-actions{width:100%;margin-left:0}.comp-form .field-row{flex-direction:column;gap:0}.wide-only{display:none!important}.narrow-only{display:block!important}.actions.narrow-only{display:flex!important}.range-tabs>.bar-spacer{display:none}.range-tabs{top:49px}.range-tabs>a{text-align:center;flex:1}.toolbar .bar-spacer{display:none}.toolbar .search{order:3;width:100%}.stage-list{grid-template-columns:1fr}.demo-badge{display:none}.card{padding:18px}.publish-done-actions{flex-direction:column-reverse;align-items:stretch}.publish-done-actions .left{margin-right:0}}@media (height<=500px){.card h1{font-size:22px}.card .controls{display:none}}.site-footer{border-top:1px solid var(--line);max-width:960px;color:var(--muted);margin:0 auto;padding:18px 20px 28px;font-size:13px}.site-footer nav{flex-wrap:wrap;gap:6px 18px;display:flex}.site-footer a{color:var(--muted);font-weight:600;text-decoration:none}.site-footer a:hover{color:var(--ink)}.site-footer p{margin:10px 0 0}.prose{max-width:760px}.prose p,.prose li,.prose dd{line-height:1.55}.prose h3{margin:18px 0 6px;font-size:15px}.prose ul,.prose ol{padding-left:22px}.prose li{margin:4px 0}.prose section{scroll-margin-top:64px}.prose code{background:#ffffff14;border-radius:4px;padding:1px 5px;font-size:13px}.prose .controls td:first-child{width:40%}.toc{flex-wrap:wrap;gap:6px 16px;margin:14px 0 4px;font-size:14px;display:flex}.device-pick{justify-content:flex-start;gap:12px;margin-top:14px;font-size:14px}.faq dt{margin-top:14px;font-weight:700}.faq dd{margin:4px 0 0}.legal-note{font-size:12px}.report-link{color:var(--muted);font-size:13px}.danger{color:#ff8f7a!important}button.danger-button{color:#fff;background:#b8412e;border-color:#b8412e}@media (width<=440px){.site-header{gap:12px;padding:10px 14px}.site-nav{gap:10px}}.settings .panel>p:first-child{margin-top:0}.settings-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.settings-row .field{flex:220px;max-width:360px;margin-bottom:0}.settings-row .segmented{flex:none}.settings-row .muted{margin:4px 0 0}.settings-label{font-weight:600}.settings .actions.start{margin-bottom:0}.stale{opacity:.55;transition:opacity .15s}.show-more{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:16px 0 4px;display:flex}.show-more button{min-width:160px}.star-count{color:var(--accent)}.star-toggle.on{color:var(--accent);border-color:var(--accent)}.matchbook-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.matchbook-toolbar>a{color:var(--muted);font-size:14px;font-weight:600;text-decoration:none}.matchbook-toolbar>a:hover{color:var(--ink)}.matchbook{color:#1b1b1b;background:#fff;border-radius:10px;padding:32px 36px}.matchbook .brand{color:#a35a00}.matchbook-cover{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.matchbook-cover h1{max-width:16em;margin:12px 0;font-size:44px;line-height:1.15}.matchbook-cover-kicker{letter-spacing:.3em;text-transform:uppercase;color:#a35a00;font-size:14px;font-weight:700}.matchbook-cover-totals{color:#555;font-size:16px}.matchbook-cover .matchbook-mark{margin-top:72px}.matchbook h2{margin:2px 0 12px;font-size:20px}.matchbook section{margin:32px 0 0}.matchbook .briefing{margin:14px 0}.matchbook-stage h2{margin:0 0 16px;font-size:28px;line-height:1.2}.matchbook-stage-number{letter-spacing:.14em;text-transform:uppercase;color:#a35a00;margin-bottom:4px;font-size:14px;font-weight:700;display:block}.matchbook-stage-share{letter-spacing:.08em;font-size:11px;font-weight:600}.matchbook-table{border-collapse:collapse;width:100%;margin-top:20px;font-size:15px}.matchbook-table th,.matchbook-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e4e0d8;padding:10px 2px}.matchbook-table tr:first-child th,.matchbook-table tr:first-child td{border-top:2px solid #1b1b1b}.matchbook-table th{color:#666;width:38%;font-weight:500}.matchbook-table td{font-variant-numeric:tabular-nums;font-weight:700}.matchbook-table tr.long td{font-weight:400;line-height:1.5}.matchbook-table tr.plain td{font-weight:400}.matchbook-mark{color:#8a857c;letter-spacing:.04em;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-top:28px;font-size:12px;display:flex}.matchbook-lockup{align-items:center;gap:8px;display:flex}.matchbook-wordmark{color:#1b1b1b;vertical-align:0;height:10px}.matchbook-cover .matchbook-mark{gap:8px;font-size:14px}.matchbook-cover .matchbook-lockup{gap:10px}.matchbook-cover .matchbook-mark-logo{width:36px}.matchbook-cover .matchbook-wordmark{height:16px}.matchbook-mark-logo{width:24px;height:auto}.stage-diagram{width:100%;max-width:560px;max-height:70vh;margin:16px auto 0;display:block}.stage-diagram .axis-label{fill:#555}.stage-aerial{aspect-ratio:3/2;border-radius:8px;width:100%;height:auto;margin:16px 0 0;display:block}.stage-aerial.loading{color:#555;background:#eeebe4;place-items:center;font-size:14px;display:grid}@media (width<=640px){.matchbook{padding:20px 16px}}@media print{html,body,#root,.app,.page{background:#fff;height:auto;overflow:visible}.matchbook-page .site-header,.matchbook-page .site-footer,.matchbook-toolbar{display:none}.matchbook-page .page-body{max-width:none;padding:0}.matchbook{border-radius:0;padding:0}.matchbook *{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4;margin:12mm}:root,body,.matchbook-page{background:#fff}.matchbook section{margin:0}.matchbook-cover{min-height:255mm}.matchbook-stage{break-before:page}.matchbook-table,.stage-diagram,.stage-aerial{break-inside:avoid}.stage-aerial{border-radius:0;width:auto;max-width:100%;max-height:105mm;margin-left:auto;margin-right:auto}.stage-diagram{max-height:15cm}.demo-badge{display:none}}.stage-view-3d{touch-action:none;background:#bfd8ee;position:absolute;inset:0}.stage-view-3d canvas{cursor:grab;display:block}.stage-view-3d canvas:active{cursor:grabbing}.canvas-wrap.view-3d .stage-canvas{visibility:hidden}.canvas-wrap .canvas-hint,.canvas-wrap .canvas-buttons,.canvas-wrap .notice{z-index:2}.view-switch{z-index:2;border:1px solid var(--line);background:#1c1f24eb;border-radius:10px;gap:2px;padding:3px;display:flex;position:absolute;top:10px;right:10px}.view-switch button{background:0 0;border-color:#0000;min-width:48px;font-weight:700}.view-switch button.active{background:var(--accent);border-color:var(--accent);color:#1c1f24}.editor.phone .view-3d .view-switch~.canvas-buttons{top:auto;bottom:10px}.view-switch~.canvas-buttons{top:62px}.library-page{flex-direction:column;display:flex;overflow:hidden}.lib-bar{border-bottom:1px solid var(--line);background:#1a1d22;align-items:center;gap:14px;padding:10px 20px;display:flex}.lib-bar h1{margin:0;font-size:18px}.lib-back{color:var(--muted);font-size:14px;font-weight:600;text-decoration:none}.lib-back:hover{color:var(--ink)}.lib-search{width:min(340px,50%);font:inherit;color:var(--ink);border:1px solid var(--line);background:#111316;border-radius:8px;margin-left:auto;padding:8px 12px}.lib-body{flex:1;grid-template-columns:250px minmax(0,1fr);min-height:0;display:grid}.lib-body.phone{grid-template-columns:minmax(0,1fr)}.lib-rail{border-right:1px solid var(--line);background:#1a1d22;padding:10px 8px 30px;overflow-y:auto}.lib-rail ul{margin:0;padding:0;list-style:none}.lib-rail li button{text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:8px;width:100%;padding:7px 10px;font-weight:500;display:flex}.lib-rail li button.current{background:#f6aa4526}.lib-rail li button.drop-target{border-color:var(--accent);background:#f6aa451a}.lib-rail-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lib-rail-head{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;padding:16px 10px 6px;font-size:11px;overflow:hidden}.lib-rail li button.lib-add{color:var(--accent)}.lib-rail-note{padding:14px 10px}.lib-inline-form input{width:100%;font:inherit;color:var(--ink);border:1px solid var(--accent);background:#111316;border-radius:6px;padding:6px 10px}.lib-main{flex-direction:column;align-items:stretch;gap:12px;padding:20px 24px 60px;display:flex;overflow-y:auto}.lib-main>a.button{align-self:flex-start}.lib-main-head{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.lib-main-title{flex:1;min-width:200px}.lib-main-title h2{margin:0 0 4px;font-size:22px}.lib-main-actions{flex-wrap:wrap;gap:8px;display:flex}.lib-main-actions button,.lib-main-actions a.button,.lib-row>button:not(.lib-row-main),.lib-row>a.button,.lib-save button{padding:7px 12px;font-size:14px}.lib-toolbar{flex-wrap:wrap;align-items:center;gap:10px;min-height:36px;display:flex}.lib-toolbar select{font:inherit;color:var(--ink);border:1px solid var(--line);background:#22262c;border-radius:8px;padding:6px 10px;font-size:14px}.lib-check{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.lib-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.lib-row{border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:6px 10px;display:flex}.lib-row:hover{background:#ffffff0a}.lib-row.selected{background:#f6aa451a;border-color:#f6aa4559}.lib-row.dragging{opacity:.5;border-color:var(--accent)}.lib-row[draggable=true]{cursor:grab}.lib-row-main{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-width:0;padding:0;font-weight:500;display:flex}.lib-row-main:hover{background:0 0}.lib-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lib-row-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.lib-row-text .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lib-handle{color:var(--muted);letter-spacing:-2px}.lib-pos{text-align:right;font-variant-numeric:tabular-nums;width:22px;font-weight:800}.lib-arrows{display:flex}.lib-arrows .icon-button{min-width:32px;padding:4px;font-size:16px}.lib-save{gap:8px;display:flex}.lib-sublist{flex-direction:column;gap:4px;margin:0 0 8px 76px;padding:0;font-size:14px;list-style:none;display:flex}.stage-thumb{background:#2a3a22;border-radius:6px;flex:none;width:48px;height:48px}.stage-thumb .thumb-bay{fill:#cdb48a;stroke:#5f7d3a}.stage-thumb.bay .thumb-bay{fill:#c3a97d}.stage-thumb .thumb-area{fill:#b8432f1f;stroke:#b8432f}.stage-thumb .thumb-wall{stroke:#4a3420;fill:#4a3420;stroke-linecap:round}.stage-thumb .thumb-target{fill:#8a5a2b}.stage-thumb .thumb-noshoot{fill:#f4f1ea}.stage-thumb .thumb-steel{fill:#4b5563}@media (width<=700px){.lib-bar{flex-wrap:wrap;gap:10px;padding:8px 12px}.lib-bar h1{display:none}.lib-bar>button{padding:6px 10px}.lib-search{flex:1;width:auto;min-width:0}.lib-rail{border-right:0}.lib-rail li button{padding:11px 10px;font-size:16px}.lib-main{padding:14px 12px 40px}.lib-main-title h2{font-size:20px}.lib-row{gap:8px;padding:6px 4px}.stage-thumb{width:44px;height:44px}.lib-row .course-badge,.lib-handle{display:none}.lib-sublist{margin-left:56px}}.stage-menu-panel{width:320px;max-width:calc(100vw - 16px)}.menu-search{gap:6px;padding:2px 2px 6px;display:flex}.menu-search input{min-width:0;font:inherit;color:var(--ink);border:1px solid var(--line);background:#16181c;border-radius:8px;flex:1;padding:7px 10px;font-size:14px}.menu-search a.button,.editor .menu-search a.button{border:1px solid var(--line);background:#ffffff14;padding:7px 10px;font-size:13px}.menu-stage-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.menu-panel li .small{white-space:nowrap}.menu-more{padding:6px 10px 2px;font-size:13px;text-decoration:none;display:block}.menu-empty{padding:6px 10px}.library-button{color:var(--ink);border:1px solid var(--line);background:#ffffff14;border-radius:8px;flex:none;align-items:center;gap:6px;padding:6px 10px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.library-button:hover{background:#ffffff29}.library-button svg{color:var(--accent)}.editor.phone .library-button{padding:6px 8px}.editor.phone .library-label{display:none}.check-list{flex-wrap:wrap;gap:8px 20px;margin:8px 0;display:flex}.check-list .check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}
