:root{color-scheme:dark}body{margin:0;background:#0b0b0d;color:#ddd;font:12px/1.4 ui-monospace,Menlo,Consolas,monospace}#app{display:grid;grid-template-columns:1fr 360px;height:100vh}#stage{display:grid;grid-template-rows:1fr auto;min-width:0;position:relative}#canvasWrap{display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}canvas{max-width:100%;max-height:100%;background:#000;image-rendering:auto}#banner{position:absolute;left:12px;top:12px;right:12px;background:#4a1010;color:#fdd;padding:8px 10px;border:1px solid #a33;white-space:pre-wrap}#timeline{display:flex;gap:8px;align-items:center;padding:8px 12px;background:#131316;border-top:1px solid #222}#timeline input[type=range]{flex:1}#panels{overflow-y:auto;background:#101012;border-left:1px solid #222;padding:8px 10px 40px}#toolbar{display:flex;gap:6px;margin-bottom:8px}#toolbar select{flex:1}.section{margin-bottom:14px}.section h3{margin:6px 0 4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8ab}.section select{width:100%;margin-bottom:6px}.row{display:grid;grid-template-columns:120px 1fr 64px;gap:6px;align-items:center;margin:2px 0}.row label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#bbb}.row input[type=number]{width:60px;background:#1a1a1e;color:#eee;border:1px solid #333;padding:2px 4px}button,select{background:#1c1c22;color:#eee;border:1px solid #383840;padding:4px 8px;cursor:pointer}button:hover{background:#2a2a33}#jobs{background:#0e0e11;border-top:1px solid #222;max-height:140px;overflow-y:auto;padding:4px 12px}.job{display:grid;grid-template-columns:1fr 200px 90px 60px;gap:8px;align-items:center;padding:2px 0}.job .bar{height:8px;background:#222;border:1px solid #333}.job .bar i{display:block;height:100%;background:#6ad}.job.done .bar i{background:#8c8}.job.failed .bar i{background:#c55}.job button{padding:1px 6px;font-size:11px}#stage{grid-template-rows:1fr auto auto}#audio select{width:100%;margin-bottom:6px}#audio audio{width:100%;height:30px;margin:4px 0}.audio-status{color:#8a8a93;margin:2px 0 6px}.check{display:block;color:#bbb;margin:4px 0}.check input{vertical-align:middle}.meters{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 8px;margin:6px 0 10px}.meter{display:grid;grid-template-columns:40px 1fr;gap:4px;align-items:center;color:#999}.meter b,.b-live{display:block;height:7px;background:#1c1c22;border:1px solid #333}.meter b i,.b-live i{display:block;height:100%;width:0;background:#6ad}.binding{border:1px solid #26262c;background:#141418;padding:5px 6px;margin:6px 0}.b-head{display:grid;grid-template-columns:70px 16px 1fr auto;gap:4px;align-items:center;margin-bottom:4px}.b-head select{margin:0;width:100%}.b-del{padding:2px 6px;font-size:11px}.binding .row{grid-template-columns:70px 1fr 64px}.b-live{margin-top:4px}.b-live i{background:#c9a35a}.hint{color:#777;margin:4px 0}#hint{position:fixed;inset:0;display:grid;place-items:center;background:#0000008c;z-index:20}#hint[hidden]{display:none}.hint-card,.fallback-card{width:min(560px,calc(100vw - 32px));background:#0e0e11f0;border:1px solid #2a2a33;padding:18px 22px;color:#ccc}.hint-card h2,.fallback-card h2{margin:0 0 8px;font-size:13px;letter-spacing:.3em;color:#eee}.hint-card ul{padding-left:18px;margin:10px 0}.hint-card li{margin:5px 0}.hint-card b{color:#eee;font-weight:600}.dim,.note{color:#7a7a85}.note{padding:4px 0}#hintClose{margin-top:6px;padding:6px 18px}#credit{position:fixed;left:12px;bottom:6px;z-index:5;font-size:10px;color:#666;pointer-events:auto}#credit a{color:#888;text-decoration:none;border-bottom:1px dotted #555}#credit a:hover{color:#ccc}html.web #jobs{padding-bottom:18px}#fallback,html.no-webgpu #app,html.no-webgpu #hint{display:none}html.no-webgpu #fallback{display:grid;position:fixed;inset:0;background:#000;place-items:end start}html.no-webgpu #fallback video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}html.no-webgpu .fallback-card{position:relative;margin:0 0 40px 24px}html.no-webgpu #credit{z-index:30}@media(max-width:820px){#app{grid-template-columns:1fr;grid-template-rows:62vh auto;height:auto;min-height:100vh}#panels{border-left:0;border-top:1px solid #222}#timeline{flex-wrap:wrap}#timeline input[type=range]{flex-basis:100%;order:-1}#credit{position:static;padding:6px 12px 12px;background:#101012}}
