.simulator-page{--accent:#f2f2f2;--ink:#f2f2f2;--muted:#a0a0a0;--paper:#111;--line:#333;--surface:#1c1c1c}html:has(.simulator-page) body{overflow-x:clip}.simulator-page{padding-bottom:48px;font-size:12px}.simulator-page [hidden]{display:none!important}.simulator-scene{border-bottom:1px solid var(--line);height:calc(100svh - 70px);min-height:520px;position:relative}.scene-stage{cursor:grab;touch-action:pan-y;color:var(--muted);background:#111;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.scene-stage:active{cursor:grabbing}.scene-stage:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.scene-stage>canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.scene-stage>.floating-screen{display:none}.floating-screen{color:var(--ink);cursor:auto;pointer-events:none!important}.screen-clip{pointer-events:auto;background:#fff;flex-direction:column;width:100%;height:100%;display:flex}.browser-bar{background:#1b1b1b;flex:none;height:40px;padding:6px 10px;display:flex}.browser-bar input{min-width:0;color:var(--ink);font:500 15px var(--sans);user-select:text;background:#2a2a2a;border:0;border-radius:6px;flex:1;padding:0 12px}.browser-frame{background:#fff;border:0;flex:1;min-height:0}.chart-frame{width:100%;height:100%;display:none}.floating-screen[data-content=picture] .browser-bar,.floating-screen[data-content=picture] .browser-frame,.floating-screen[data-content=text] .browser-bar,.floating-screen[data-content=text] .browser-frame,.floating-screen[data-content=lines] .browser-bar,.floating-screen[data-content=lines] .browser-frame,.floating-screen[data-content=game] .browser-bar{display:none}.floating-screen[data-content=picture] .chart-frame,.floating-screen[data-content=text] .chart-frame,.floating-screen[data-content=lines] .chart-frame{display:block}.scene-stage.look-only .screen-clip,.scene-stage.is-dragging .screen-clip{pointer-events:none}.walk-hint{border:1px solid #ffffff1f;border-radius:4px;padding:2px 6px}.scene-panel{overscroll-behavior:contain;scrollbar-width:thin;z-index:10;background:#151515;border:1px solid #2e2e2e;border-radius:6px;width:236px;max-height:calc(100% - 32px);padding:8px 10px;position:absolute;top:16px;right:16px;overflow-y:auto;box-shadow:0 12px 40px #0006}.scene-panel h1{color:var(--muted);font:500 11px/1.6 var(--sans);letter-spacing:0;margin:0 0 4px;padding-right:40px}.panel-reset{z-index:1;position:absolute;top:5px;right:54px}.panel-group{border-top:1px solid #ffffff10;gap:5px;padding:7px 0;display:grid}.panel-group:first-of-type{border-top:0;padding-top:0}.human-line{--human:#8fd19e;color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;font-size:9px;display:flex}.human-line p{margin:0}.human-line input{accent-color:var(--human)}.human-line strong{color:var(--ink);font-weight:600}.panel-advanced{border-top:1px solid #ffffff10;padding-top:7px}.panel-advanced summary{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:10px;font-weight:600;list-style:none;display:flex}.panel-advanced summary::-webkit-details-marker{display:none}.panel-advanced summary:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:5px;height:5px;transition:transform .15s;transform:rotate(-45deg)}.panel-advanced[open] summary:before{transform:rotate(45deg)}.panel-advanced summary:hover{color:var(--ink)}.panel-advanced summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.panel-advanced .panel-group{border-top:0;padding-bottom:0}.panel-row .narrow{flex:0 0 64px}.slider.has-action{grid-template-columns:56px minmax(0,1fr) 34px auto}.slider.has-action .chip{min-height:18px;padding:0 6px}.panel-row{align-items:center;gap:10px;display:flex}.panel-row>label:first-child{flex:1}.panel-toggle{z-index:11;min-height:22px;color:var(--muted);font:500 11px var(--sans);cursor:pointer;border-radius:4px;padding:0 8px;position:absolute;top:22px;right:24px}.panel-toggle:hover{color:var(--ink)}.simulator-page.panel-hidden .scene-panel{display:none}.simulator-page.panel-hidden .panel-toggle{background:#151515;border:1px solid #2e2e2e}.scene-panel label{min-width:0}.scene-panel select{appearance:none;width:100%;min-height:22px;color:var(--ink);font:500 10px var(--sans);text-overflow:ellipsis;background-color:#ffffff08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 5'%3E%3Cpath d='M1 1l3 3 3-3' fill='none' stroke='%23a0a0a0' stroke-width='1.2'/%3E%3C/svg%3E");background-position:right 5px center;background-repeat:no-repeat;background-size:7px 5px;border:1px solid #ffffff14;border-radius:4px;padding:1px 16px 1px 5px}.slider{color:var(--muted);grid-template-columns:56px minmax(0,1fr) 34px;align-items:center;gap:6px;font-size:10px;display:grid}.slider output{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;font-size:10px;font-weight:600}.slider input{--thumb:#e8e8e8;appearance:none;cursor:pointer;background:0 0;width:100%;height:14px;margin:0}.slider input::-webkit-slider-runnable-track{background:#ffffff26;border-radius:1px;height:2px}.slider input::-moz-range-track{background:#ffffff26;border-radius:1px;height:2px}.slider input::-webkit-slider-thumb{appearance:none;background:var(--thumb);border:0;border-radius:50%;width:10px;height:10px;margin-top:-4px}.slider input::-moz-range-thumb{background:var(--thumb);border:0;border-radius:50%;width:10px;height:10px}.slider input:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.segmented{background:#ffffff0d;border:0;border-radius:5px;margin:0;padding:2px;display:flex}.segmented label{cursor:pointer;flex:1}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented span{color:var(--muted);text-align:center;border-radius:4px;padding:2px 0;font-size:10px;font-weight:500;display:block}.segmented input:checked+span{color:var(--ink);background:#ffffff1f}.segmented input:focus-visible+span{outline:1px solid var(--accent)}.check{color:var(--muted);white-space:nowrap;cursor:pointer;align-items:center;gap:4px;font-size:10px;display:flex}.check input{width:12px;height:12px;accent-color:var(--accent);margin:0}.config-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.config{gap:2px;padding:3px 0 5px;display:grid}.config-row{grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:6px;display:grid}.config-row .slider{grid-template-columns:22px minmax(0,1fr) 24px;gap:4px}.config-head{align-items:center;gap:6px;display:flex}.config-head label{flex:1}.config-pick{flex:1;min-width:0}.model-button{width:100%;min-height:22px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff08 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 5'%3E%3Cpath d='M1 1l3 3 3-3' fill='none' stroke='%23a0a0a0' stroke-width='1.2'/%3E%3C/svg%3E") right 5px center/7px 5px no-repeat;border:1px solid #ffffff14;border-radius:4px;align-items:center;padding:1px 16px 1px 6px;font-family:inherit;font-size:11px;font-weight:600;display:flex}.model-button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.model-button:hover{background-color:#ffffff12;border-color:#ffffff30}.model-button:focus-visible{outline:1px solid var(--accent)}.model-dialog{width:min(400px,100vw - 32px);max-height:min(560px,100vh - 80px);color:var(--ink);background:#151515;border:1px solid #ffffff1f;border-radius:12px;margin:auto;padding:0;position:fixed;inset:0;box-shadow:0 24px 60px #000000a0}.model-dialog[open]{flex-direction:column;display:flex}.model-dialog::backdrop{background:#000000a0}.model-dialog header{justify-content:space-between;align-items:center;padding:12px 14px 8px;display:flex}.model-dialog h2{margin:0;font-size:13px;font-weight:600}.model-search{color:var(--ink);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:7px;margin:0 14px 8px;padding:7px 9px;font-size:12px}.model-search:focus-visible{outline:1px solid var(--accent)}.model-list{padding:0 8px 10px;overflow-y:auto}.model-list h3{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:10px 6px 4px;font-size:10px;font-weight:600}.model-option{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:8px 1fr auto;align-items:center;gap:2px 10px;padding:8px;display:grid}.model-option:hover,.model-option:focus-visible{background:#ffffff12}.model-option[aria-current=true]{background:#ffffff1f}.model-dot{border-radius:50%;width:8px;height:8px}.model-name{font-size:12px;font-weight:600}.model-name em{color:var(--muted);background:#ffffff1a;border-radius:4px;margin-left:6px;padding:1px 5px;font-size:9px;font-style:normal;font-weight:500}.model-spec{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.model-note{color:var(--muted);grid-column:2/-1;font-size:10px;line-height:1.4}.model-empty{color:var(--muted);margin:16px 6px;font-size:12px}.config-row select{background-color:#ffffff08;background-position:right 3px center;border-color:#0000;min-height:18px;padding:0 12px 0 4px;font-size:9px}.config-remove{width:18px;height:18px;color:var(--muted);cursor:pointer;border-radius:4px;font-size:15px;line-height:1}.config-remove:hover{color:var(--ink);background:#ffffff10}.config-stats{color:var(--muted);justify-content:space-between;margin:0;font-size:9px;display:flex}.config-stats strong{color:var(--ink);font:600 12px/1 var(--display);font-variant-numeric:tabular-nums}.add-config{width:100%;min-height:20px;color:var(--muted);font:500 10px var(--sans);cursor:pointer;border:1px dashed #ffffff1f;border-radius:5px;margin-top:2px}.add-config:hover{color:var(--ink);border-color:#ffffff40}.scene-footer{z-index:10;color:var(--muted);pointer-events:none;align-items:center;gap:16px;font-size:11px;display:flex;position:absolute;bottom:12px;left:16px}.scene-footer p{margin:0}.credit a{color:inherit;text-underline-offset:2px;pointer-events:auto;text-decoration:underline}.credit a:hover{color:var(--ink)}.text-button{min-height:22px;color:var(--muted);font:500 11px var(--sans);text-underline-offset:3px;cursor:pointer;pointer-events:auto;text-decoration:underline}.text-button:hover{color:var(--ink)}.chip.chip-accent{background:var(--accent);color:var(--paper);flex:none;align-items:center;gap:5px;font-weight:600;text-decoration:none;display:inline-flex}.chip.chip-accent:hover{color:var(--paper);background:#fff}.chip-accent svg{width:11px;height:11px}@media (width>=801px){body:has(.simulator-page){flex-direction:column;height:100svh;display:flex;overflow:hidden}.simulator-page{flex:1;min-height:0;padding-bottom:0}.simulator-scene{border-bottom:0;height:100%;min-height:0}}@media (pointer:coarse){.scene-panel select,.segmented span,.add-config{min-height:36px}.segmented span{padding-block:9px}.config-remove{width:36px;height:36px}.slider input{height:32px}}@media (width<=800px){.simulator-scene{border:0;height:auto;min-height:0}.scene-stage{height:min(62svh,460px);position:relative}.scene-panel{width:auto;margin:10px 12px 0;position:static;overflow:visible}.panel-toggle{display:none}.panel-reset{right:12px}.scene-footer{justify-content:space-between;margin:8px 12px 0;position:static}}.config-head .config-view{flex:none}.config-view{cursor:pointer;place-items:center;width:16px;height:16px;display:grid}.config-view input{appearance:none;border:1.5px solid var(--swatch);cursor:pointer;border-radius:50%;width:10px;height:10px;margin:0}.config-view input:checked{background:var(--swatch)}.config-view input:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.config:not(.is-viewing){opacity:.6}.config:not(.is-viewing):hover,.config:not(.is-viewing):focus-within{opacity:1}.chip{min-height:20px;color:var(--muted);font:500 10px var(--sans);cursor:pointer;background:#ffffff0d;border-radius:4px;justify-self:start;padding:0 8px}.chip:hover{color:var(--ink);background:#ffffff1a}@media (pointer:coarse){.config-view{width:36px;height:36px}.chip{min-height:36px}}.slider input:disabled{cursor:default}.slider input:disabled::-webkit-slider-thumb{background:var(--muted)}.slider input:disabled::-moz-range-thumb{background:var(--muted)}.scene-panel select:disabled{color:var(--muted);opacity:1;cursor:default;background-color:#0000;background-image:none;border-color:#0000;padding-right:4px}.chip.chip-accent.booking{justify-content:center;width:100%;min-height:26px;margin-top:4px}.tour-dim{z-index:11;pointer-events:none;background:#000000a0;position:fixed;inset:0}.tour-dim.is-modal{pointer-events:auto;background:#000c}.tour-dim[hidden],.tour-spot[hidden],.tour-drag[hidden]{display:none}.tour-spot{z-index:12;pointer-events:none;border-radius:10px;animation:1.6s ease-in-out infinite tour-pulse;position:fixed;box-shadow:0 0 0 2px #fff,0 0 0 9999px #000000a0}.tour-dim:not([hidden])~.tour-spot:not([hidden]){z-index:12}@keyframes tour-pulse{50%{box-shadow:0 0 0 5px #ffffffb0,0 0 0 9999px #000000a0}}.tour-drag{z-index:12;color:#fff;font:600 14px var(--sans);pointer-events:none;background:#1c1c1c;border:2px solid #fff;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;animation:2.2s ease-in-out infinite tour-drag;display:flex;position:fixed;top:55%;left:3%}.tour-drag span{font-size:18px}@keyframes tour-drag{0%,to{transform:translate(0)}50%{transform:translate(46px)}}.tour{z-index:13;width:288px;color:var(--ink);background:#1c1c1c;border:1px solid #4a4a4a;border-radius:10px;padding:16px 18px;position:fixed;box-shadow:0 16px 60px #000000b0}.tour[hidden]{display:none}.tour.is-welcome{text-align:center;width:min(380px,100vw - 32px);padding:24px 26px}.tour p{color:#c4c4c4;margin:0;font-size:13px;line-height:1.55}.tour .tour-count{color:var(--muted);font-size:11px}.tour h2{font:600 18px/1.3 var(--sans);margin:2px 0 6px}.tour.is-welcome h2{font-size:22px}.tour-actions{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.tour.is-welcome .tour-actions{flex-direction:column-reverse;gap:8px;margin-top:20px}.tour .chip{color:#111;background:#f2f2f2;min-height:32px;padding:0 18px;font-size:13px;font-weight:600}.tour.is-welcome .chip{width:100%;min-height:38px;font-size:14px}.tour .chip:hover{background:#fff}@media (width<=800px){.tour{width:auto}.tour-drag{top:30%}}@media (prefers-reduced-motion:reduce){.tour-spot,.tour-drag{animation:none}}
