:root{--panel-bg:#fffe;--panel-solid:#f7f7f9;--panel-rail:#efeff3;--panel-border:#00000014;--panel-text:#1a1a1e;--panel-muted:#6b6b73;--panel-input-bg:#fff;--panel-input-border:#d8d8de;--panel-hover:#00000009;--accent:#3b82f6;--accent-soft:#3b82f61f;--danger:#e5484d;--shadow:0 24px 64px #0000003d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--panel-bg:#1c1c22ee;--panel-solid:#1c1c22;--panel-rail:#16161b;--panel-border:#ffffff1a;--panel-text:#f2f2f5;--panel-muted:#9a9aa5;--panel-input-bg:#26262e;--panel-input-border:#3a3a44;--panel-hover:#ffffff0d;--accent-soft:#3b82f62e;--shadow:0 24px 64px #0000008c}}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;overflow:hidden}.app{width:100vw;height:100vh;position:relative}.app canvas{touch-action:none;display:block}.settings-cog{z-index:10;border:1px solid var(--panel-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:44px;height:44px;color:var(--panel-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s;display:flex;position:fixed;top:16px;right:16px;box-shadow:0 2px 10px #0000001f}.settings-cog:hover{transform:rotate(30deg)}.modal-overlay{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c0c106b;justify-content:center;align-items:center;padding:24px;animation:.14s fade-in;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--panel-border);background:var(--panel-solid);width:min(760px,100%);height:min(500px,100%);color:var(--panel-text);box-shadow:var(--shadow);border-radius:16px;animation:.16s pop-in;display:flex;overflow:hidden}.modal:focus{outline:none}.modal-rail{background:var(--panel-rail);border-right:1px solid var(--panel-border);flex:0 0 186px;padding:14px 10px;overflow-y:auto}.rail-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--panel-muted);margin:12px 8px 6px;font-size:10.5px;font-weight:600}.rail-heading:first-child{margin-top:2px}.rail-btn{width:100%;color:var(--panel-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;margin-bottom:2px;padding:8px 10px;font-family:inherit;font-size:13px;display:flex}.rail-btn svg{color:var(--panel-muted);flex:none}.rail-btn:hover{background:var(--panel-hover)}.rail-btn.is-active{background:var(--accent-soft);color:var(--accent);font-weight:550}.rail-btn.is-active svg{color:var(--accent)}.modal-body{flex-direction:column;flex:1;min-width:0;display:flex}.modal-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.modal-header h2{margin:0;font-size:15px;font-weight:600}.icon-btn{width:30px;height:30px;color:var(--panel-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--panel-hover);color:var(--panel-text)}.modal-content{flex:1;padding:18px;overflow-y:auto}.panel-intro{color:var(--panel-muted);margin:0 0 16px;font-size:12.5px;line-height:1.5}.scene-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.scene-tile{border:1px solid var(--panel-input-border);background:var(--panel-input-bg);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;gap:8px;padding:8px;font-family:inherit;transition:border-color .12s,box-shadow .12s;display:flex}.scene-tile:hover{border-color:var(--accent)}.scene-tile.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.scene-thumb{aspect-ratio:4/3;background:var(--panel-rail);border-radius:8px;display:block;position:relative;overflow:hidden}.scene-thumb img{object-fit:cover;width:100%;height:100%;display:block}.scene-check{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:6px;right:6px}.scene-meta{padding:0 2px 2px;display:block}.scene-name{color:var(--panel-text);font-size:13px;font-weight:600;display:block}.scene-blurb{color:var(--panel-muted);margin-top:2px;font-size:11.5px;line-height:1.4;display:block}.field+.field,.field+.toggle-row,.toggle-row+.field,.toggle-row+.toggle-row{margin-top:20px}.field-label{color:var(--panel-text);margin-bottom:7px;font-size:12px;font-weight:600;display:block}.row{align-items:center;gap:8px;display:flex}.modal input[type=text]{border:1px solid var(--panel-input-border);background:var(--panel-input-bg);min-width:0;color:var(--panel-text);border-radius:8px;flex:1;padding:8px 10px;font-family:inherit;font-size:13px}.modal input[type=text]:focus{border-color:var(--accent);outline:none}.modal input[type=range]{min-width:0;accent-color:var(--accent);flex:1}.slider-value{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:46px}.modal input[type=color]{border:1px solid var(--panel-input-border);cursor:pointer;background:0 0;border-radius:8px;flex:none;width:38px;height:34px;padding:0}.modal button{font-family:inherit}.modal button.primary{border:1px solid var(--panel-input-border);background:var(--panel-input-bg);color:var(--panel-text);cursor:pointer;white-space:nowrap;border-radius:8px;padding:8px 14px;font-size:13px}.modal button.primary:hover{border-color:var(--accent)}.mono{color:var(--panel-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.hint{color:var(--panel-muted);margin:7px 0 0;font-size:11.5px;line-height:1.45}.error{color:var(--danger);margin:8px 0 0;font-size:12px}.swatches{gap:8px;margin-top:10px;display:flex}.swatch{border:1px solid var(--panel-input-border);cursor:pointer;border-radius:50%;width:26px;height:26px;padding:0}.swatch.is-active{box-shadow:0 0 0 2px var(--panel-solid), 0 0 0 4px var(--accent)}.repeat-list{flex-direction:column;gap:8px;display:flex}.repeat-row{align-items:center;gap:8px;display:flex}.repeat-index{width:12px;color:var(--panel-muted);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.icon-btn:disabled{opacity:.3;cursor:default}.icon-btn:disabled:hover{color:var(--panel-muted);background:0 0}.add-btn{border:1px dashed var(--panel-input-border);color:var(--panel-muted);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;margin-top:10px;padding:7px 11px;font-size:12.5px;display:inline-flex}.add-btn:hover{border-color:var(--accent);color:var(--accent)}.segmented{background:var(--panel-rail);border:1px solid var(--panel-input-border);border-radius:9px;gap:3px;padding:3px;display:inline-flex}.segmented button{color:var(--panel-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:12.5px}.segmented button.is-active{background:var(--panel-input-bg);color:var(--panel-text);font-weight:550;box-shadow:0 1px 3px #0000001f}.toggle-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.toggle-row .hint{max-width:42ch;margin-top:3px}.switch{background:var(--panel-input-border);cursor:pointer;border:none;border-radius:999px;flex:none;width:40px;height:23px;margin-top:1px;padding:2px;transition:background .15s}.switch .knob{background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .15s;display:block;box-shadow:0 1px 3px #0000004d}.switch.is-on{background:var(--accent)}.switch.is-on .knob{transform:translate(17px)}.record-btn{border:1px solid var(--panel-input-border);background:var(--panel-input-bg);width:100%;color:var(--panel-text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:inline-flex}.record-btn:hover:not(:disabled){border-color:var(--accent)}.record-btn .dot{background:var(--danger);border-radius:50%;width:9px;height:9px}.record-btn.recording .dot{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes page-scroll{to{transform:translateY(var(--page-travel,0))}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.985)}}@media (width<=620px){.modal{flex-direction:column;height:min(620px,100%)}.modal-rail{border-right:none;border-bottom:1px solid var(--panel-border);flex:none;gap:4px;display:flex;overflow-x:auto}.rail-heading{display:none}.rail-btn{white-space:nowrap;width:auto;margin-bottom:0}}
