:root{--design-ink: #10121a;--design-well: #14161f;--design-surface: #181b26;--design-raised: #1c2030;--design-line: #262c40;--design-line-bright: #4a5578;--design-text: #ebebf5;--design-text-dim: #8f96ad;--design-text-faint: #5c6378;--design-accent: #ff7f50;--design-accent-soft: rgb(255 127 80 / 22%);--design-danger: #ff6f61;--design-danger-well: #33161a;--design-danger-line: #5c2b31;--design-good: #6fd08c;--design-space-1: 4px;--design-space-2: 8px;--design-space-3: 12px;--design-space-4: 16px;--design-space-5: 24px;--design-space-6: 32px;--design-radius-1: 6px;--design-radius-2: 10px;--design-radius-3: 16px;--design-type-small: 11px;--design-type-body: 13px;--design-type-title: 15px;--design-type-headline: 18px;--design-shadow-raised: 0 8px 28px rgb(0 0 0 / 45%);--design-tap-target: 44px;--design-tabbar-height: 52px}.design-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--design-space-2);background:var(--design-raised);color:var(--design-text);border:1px solid var(--design-line);border-radius:var(--design-radius-1);padding:7px 12px;font:inherit;font-size:var(--design-type-body);cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.design-button:hover:not(:disabled){border-color:var(--design-line-bright)}.design-button:disabled{opacity:.55;cursor:default}.design-button.primary{background:var(--design-accent);border-color:var(--design-accent);color:var(--design-ink);font-weight:700}.design-button.primary:hover:not(:disabled){filter:brightness(1.08)}.design-button.ghost{background:transparent;color:var(--design-text-dim);border-color:transparent}.design-button.ghost:hover:not(:disabled){color:var(--design-text);border-color:var(--design-line-bright)}.design-button.danger{background:var(--design-danger-well);color:var(--design-danger);border-color:var(--design-danger-line)}.design-button.compact{padding:3px 8px;font-size:var(--design-type-small)}.design-segmented{display:flex;gap:var(--design-space-1);padding:2px;border-radius:var(--design-radius-2);background:color-mix(in srgb,var(--design-ink) 45%,transparent)}.design-segmented button{flex:1;padding:6px 0;font:inherit;font-size:var(--design-type-body);font-weight:700;border:none;border-radius:var(--design-radius-1);background:transparent;color:var(--design-text-dim);cursor:pointer}.design-segmented button.chosen{background:var(--design-accent-soft);color:var(--design-accent)}.design-card{background:#14161feb;border:1px solid #232a3f;border-radius:var(--design-radius-2);padding:var(--design-space-3);display:flex;flex-direction:column;gap:var(--design-space-2);flex-shrink:0}.design-card>header{display:flex;align-items:center;gap:var(--design-space-2)}.design-card>header h2{margin:0;font-size:var(--design-type-title)}.design-field{display:flex;flex-direction:column;gap:3px}.design-field>span{font-size:var(--design-type-small);color:var(--design-text-dim)}.design-input{background:var(--design-ink);color:var(--design-text);border:1px solid var(--design-line);border-radius:var(--design-radius-1);padding:7px 10px;font:inherit;font-size:var(--design-type-body);min-width:0}.design-input:focus{outline:none;border-color:var(--design-accent)}.design-toggle{width:40px;height:22px;border-radius:11px;border:1px solid var(--design-line);background:var(--design-ink);position:relative;cursor:pointer;padding:0;transition:background .12s ease}.design-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--design-text-dim);transition:left .12s ease,background .12s ease}.design-toggle.on{background:var(--design-accent-soft);border-color:var(--design-accent)}.design-toggle.on:after{left:20px;background:var(--design-accent)}.design-toolbar{display:flex;align-items:center;gap:var(--design-space-2);min-height:34px}.design-toolbar .stretch{flex:1}.design-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:var(--design-type-small);background:var(--design-raised);color:var(--design-text-dim);border:1px solid var(--design-line)}.design-badge.accent{color:var(--design-accent);border-color:var(--design-accent);background:var(--design-accent-soft)}.design-empty{color:var(--design-text-dim);font-size:var(--design-type-body);text-align:center;padding:var(--design-space-5) var(--design-space-3)}.design-sheet-veil{position:fixed;inset:0;background:#0000008c;z-index:40;appearance:none;border:0;padding:0;cursor:pointer}.design-sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--design-well);border-top:1px solid var(--design-line);border-radius:var(--design-radius-3) var(--design-radius-3) 0 0;box-shadow:var(--design-shadow-raised);max-height:88dvh;display:flex;flex-direction:column;animation:design-sheet-rise .22s ease-out}@keyframes design-sheet-rise{0%{transform:translateY(24px);opacity:.4}to{transform:translateY(0);opacity:1}}.design-sheet:before{content:"";align-self:center;width:36px;height:4px;border-radius:2px;background:var(--design-line-bright);margin-top:8px;margin-bottom:-4px}.design-sheet>header{display:flex;align-items:center;gap:var(--design-space-2);padding:var(--design-space-3) var(--design-space-4);border-bottom:1px solid var(--design-line)}.design-sheet>header h2{margin:0;font-size:var(--design-type-title);flex:1}.design-sheet>.design-sheet-body{overflow-y:auto;padding:var(--design-space-4);display:flex;flex-direction:column;gap:var(--design-space-3)}.design-tabbar{display:flex;height:var(--design-tabbar-height);background:var(--design-well);border-top:1px solid var(--design-line);padding-bottom:env(safe-area-inset-bottom);box-sizing:content-box}.design-tabbar button{flex:1;min-height:var(--design-tap-target);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--design-text-dim);font:inherit;font-size:var(--design-type-small);cursor:pointer}.design-tabbar button .glyph{font-size:18px;line-height:1}.design-tabbar button.chosen{color:var(--design-accent)}.design-row{display:flex;align-items:center;gap:var(--design-space-3);min-height:var(--design-tap-target);padding:var(--design-space-2) var(--design-space-3);border-radius:var(--design-radius-1);background:var(--design-raised);border:1px solid var(--design-line);width:100%;font:inherit;color:inherit;text-align:left}button.design-row{cursor:pointer}.design-row .lead{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html,body{margin:0;height:100%;background:var(--design-ink);color:var(--design-text);font-family:Pretendard Variable,Pretendard,sans-serif;overflow:hidden}body{display:flex;height:100dvh;overflow:hidden}#stage{flex:1;min-width:0;position:relative}#viewport{display:block;width:100%;height:100%}#splash{position:fixed;inset:0;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;background:var(--design-ink);z-index:20}#splash img{max-width:70%;max-height:60%}.splash-progress{font-size:14px;font-weight:700;color:var(--design-text);opacity:.7}#touch{position:fixed;inset:0;pointer-events:none}.touch-stick{position:absolute;bottom:28px;left:28px;width:120px;height:120px;border-radius:50%;background:color-mix(in srgb,var(--design-text) 12%,transparent);pointer-events:auto;touch-action:none}.touch-thumb{position:absolute;inset:32px;border-radius:50%;background:color-mix(in srgb,var(--design-text) 35%,transparent);pointer-events:none}.touch-buttons{position:absolute;bottom:36px;right:24px;display:flex;flex-direction:column-reverse;gap:12px;align-items:flex-end}.touch-button{min-width:64px;min-height:64px;border:none;border-radius:50%;font-size:var(--design-type-body);font-weight:700;color:var(--design-text);background:color-mix(in srgb,var(--design-accent) 45%,transparent);pointer-events:auto;touch-action:none;user-select:none}.touch-button:active{background:color-mix(in srgb,var(--design-accent) 75%,transparent)}#status{position:absolute;top:12px;left:12px;font-size:var(--design-type-body);opacity:.8;background:color-mix(in srgb,var(--design-ink) 75%,transparent);border-radius:6px;padding:4px 10px;pointer-events:none}#panel{flex-shrink:0;width:360px;display:flex;flex-direction:column;gap:10px;font-size:var(--design-type-body);padding:12px;overflow-y:auto;scrollbar-width:thin;background:var(--design-well);border-left:1px solid var(--design-line);box-sizing:border-box}.panel-head{display:flex;align-items:baseline;gap:10px;padding:2px 4px}.panel-head .mark{font-weight:800;letter-spacing:.4px;color:var(--design-accent)}.panel-head .game-name{font-size:var(--design-type-body);color:var(--design-text-dim);font-family:ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis}.card{background:color-mix(in srgb,var(--design-well) 92%,transparent);border:1px solid var(--design-line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.card h2,.card summary{margin:0;font-size:var(--design-type-small);font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--design-text-dim)}.card summary{cursor:pointer}.row{display:flex;gap:6px}#wish{flex:1;min-width:0;background:var(--design-ink);color:var(--design-text);border:1px solid var(--design-line);border-radius:6px;padding:7px 10px;font:inherit;font-size:var(--design-type-body)}#wish:focus{outline:none;border-color:var(--design-accent)}#games{display:flex;flex-direction:column;gap:4px;max-height:30vh;overflow-y:auto;padding-right:2px}.game{display:flex;gap:4px;align-items:stretch}.game-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.game .visit{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace}.game .visit .game-id{display:block;overflow:hidden;text-overflow:ellipsis}.game .game-meta{display:block;padding:0 var(--design-space-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:var(--design-type-small);color:var(--design-text-dim)}.meta-link{appearance:none;background:none;border:0;padding:0;font:inherit;color:inherit}.game .remove,.game .heart,.game .remix{flex-shrink:0;min-width:30px;padding:0 6px;text-align:center;color:var(--design-text-dim);background:transparent;border:1px solid transparent;border-radius:6px;font-size:14px;cursor:pointer}.game .remove:hover{color:var(--design-danger);border-color:var(--design-danger-line)}.game .heart:hover,.game .remix:hover{color:var(--design-accent);border-color:var(--design-line-bright)}.meta-link{cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}.meta-link:hover{color:var(--design-text)}.creator-head{display:flex;align-items:center;gap:8px}.creator-head h2{margin:0}.creator-look{flex-shrink:0;width:14px;height:14px;border-radius:50%;border:1px solid var(--design-line)}.creator-empty{color:var(--design-text-dim);font-size:var(--design-type-body)}.creator-games,.my-games{display:flex;flex-direction:column;gap:4px;max-height:30vh;overflow-y:auto}.creator-games{margin-top:8px}.my-games{flex-basis:100%}.my-games h3{margin:4px 0 0;font-size:var(--design-type-body);color:var(--design-text-dim);font-weight:500}#board{display:flex;flex-direction:column;gap:2px;font-size:var(--design-type-body);color:var(--design-text-dim)}#board .row{display:flex;gap:8px;padding:3px 4px;border-radius:4px;cursor:pointer;width:100%;appearance:none;background:none;border:0;font:inherit;color:inherit;text-align:left}#board .row:hover{background:var(--design-raised)}#board .row.mine{color:var(--design-text);background:var(--design-raised)}#board .rank{width:18px;text-align:right;flex-shrink:0}#board .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#board .score{flex-shrink:0;font-family:ui-monospace,monospace}#profile{display:flex;flex-wrap:wrap;gap:6px}#profile input{flex:1;min-width:0;background:var(--design-ink);color:var(--design-text);border:1px solid var(--design-line);border-radius:6px;padding:7px 10px;font:inherit;font-size:var(--design-type-body)}#profile input[type=color]{flex:0 0 34px;height:34px;padding:2px;cursor:pointer}#profile button{flex-shrink:0;background:var(--design-raised);color:var(--design-text);border:1px solid var(--design-line);border-radius:6px;padding:7px 10px;font:inherit;font-size:var(--design-type-body);cursor:pointer}#profile button:disabled{opacity:.6;cursor:default}.game button,#zenerate,#create{background:var(--design-raised);color:var(--design-text);border:1px solid var(--design-line);border-radius:6px;padding:7px 10px;font:inherit;font-size:var(--design-type-body);text-align:left;cursor:pointer;transition:border-color .12s ease,color .12s ease}.game .visit:hover,#zenerate:hover,#create:hover{border-color:var(--design-line-bright)}.game.current .visit{border-color:var(--design-accent)}#zenerate:disabled{opacity:.6;cursor:wait}#workshop{width:100%;box-sizing:border-box;background:var(--design-ink);color:var(--design-text);border:1px solid var(--design-line);border-radius:6px;padding:8px;font-family:ui-monospace,monospace;font-size:var(--design-type-body);min-height:120px;resize:vertical;margin-top:8px}details.card>#create,details.card>#problems{margin-top:8px;width:100%;box-sizing:border-box}#problems{color:#ff9d80;font-size:var(--design-type-body);white-space:pre-wrap;padding:0 4px}#chat-thread{display:flex;flex-direction:column;gap:8px;min-height:120px;max-height:44vh;overflow-y:auto;padding:4px 2px;scroll-behavior:smooth}.chat-empty{color:var(--design-text-dim);font-size:var(--design-type-body);text-align:center;margin:auto;padding:24px 8px}.chat-row{display:flex;animation:chat-rise .22s ease}.chat-row.user{justify-content:flex-end}.chat-row.agent{justify-content:flex-start}.bubble{max-width:86%;padding:7px 11px;border-radius:12px;font-size:var(--design-type-body);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.user{background:#2b3450;color:var(--design-text);border-bottom-right-radius:4px}.bubble.agent{background:var(--design-ink);border:1px solid var(--design-line);color:var(--design-text);border-bottom-left-radius:4px}.bubble.agent.sour{color:#ff9d80;border-color:var(--design-danger-line)}.bubble.agent.typing{display:flex;align-items:center;gap:4px;padding:10px 12px}.bubble .dot{width:5px;height:5px;border-radius:50%;background:var(--design-text-dim);animation:chat-bounce 1.2s infinite}.bubble .dot:nth-child(2){animation-delay:.15s}.bubble .dot:nth-child(3){animation-delay:.3s}.typing-seconds{color:var(--design-text-dim);font-size:var(--design-type-small);margin-left:4px}.chat-status{font-size:var(--design-type-small);color:var(--design-text-dim);font-family:ui-monospace,monospace;background:var(--design-ink);border:1px solid #1c2233;border-radius:8px;padding:6px 10px;animation:chat-rise .22s ease}.chat-status summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-status summary::-webkit-details-marker{display:none}.chat-status-lines{margin-top:6px;max-height:16vh;overflow-y:auto;white-space:pre-wrap;line-height:1.6}.status-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%}.status-dot.working{background:var(--design-accent);animation:chat-pulse 1s infinite}.status-dot.settled{background:var(--design-good)}@keyframes chat-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}@keyframes chat-pulse{0%,to{opacity:1}50%{opacity:.4}}#overlays{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}.overlay-element{position:absolute}.overlay-pressable{pointer-events:auto;cursor:pointer;user-select:none}.overlay-pressable:active{filter:brightness(1.35)}.overlay-stage{display:block}.overlay-sprite img{display:block;max-width:none}.overlay-motion-pulse{animation:overlay-pulse 1.6s ease-in-out infinite}.overlay-motion-flicker{animation:overlay-flicker .9s steps(2,jump-none) infinite}.overlay-motion-spin{animation:overlay-spin 2.4s linear infinite}.overlay-motion-bob{animation:overlay-bob 2s ease-in-out infinite}@keyframes overlay-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes overlay-flicker{0%,to{opacity:1}25%{opacity:.55}50%{opacity:.85}75%{opacity:.4}}@keyframes overlay-spin{to{transform:rotate(360deg)}}@keyframes overlay-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.overlay-text{font-family:ui-monospace,monospace;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.7);white-space:nowrap}.overlay-bar{background:#0a0c128c;border:1px solid rgba(255,255,255,.25);border-radius:4px;overflow:hidden}.overlay-fill{height:100%;transition:width .12s linear}.overlay-panel{border-radius:6px}.overlay-reticle .overlay-beam{position:absolute}.overlay-reticle .overlay-beam.tall{left:50%;top:0;width:2px;height:100%;transform:translate(-50%)}.overlay-reticle .overlay-beam.wide{top:50%;left:0;height:2px;width:100%;transform:translateY(-50%)}#crosshair{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);z-index:5;pointer-events:none;mix-blend-mode:difference}#crosshair:before,#crosshair:after{content:"";position:absolute;background:#f2f2f2}#crosshair:before{left:50%;top:0;width:2px;height:100%;transform:translate(-50%)}#crosshair:after{top:50%;left:0;height:2px;width:100%;transform:translateY(-50%)}#keys-legend{position:fixed;left:12px;bottom:12px;z-index:5;padding:5px 10px;border-radius:8px;background:#0c0e15bf;border:1px solid var(--design-line);color:#b9c0d8;font-size:var(--design-type-small);font-family:ui-monospace,monospace;pointer-events:none}.hidden{display:none}.preview-frame{display:flex;flex-direction:column;gap:4px}.preview-label{font-size:var(--design-type-small);font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--design-accent)}#preview{width:100%;aspect-ratio:16 / 10;border-radius:8px;border:1px solid var(--design-line);background:#0c0e15}#history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:30vh;overflow-y:auto}#history li{display:flex;gap:8px;align-items:flex-start}.dot{width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0;background:var(--design-line-bright)}.dot.drafted{background:var(--design-good)}.dot.rejected{background:var(--design-danger)}.dot.saved,.dot.restored{background:#7fb2ff}.entry{flex:1;min-width:0}.restore{flex-shrink:0;padding:2px 8px;color:var(--design-text-dim);background:transparent;border:1px solid var(--design-line);border-radius:6px;font-size:var(--design-type-small);cursor:pointer}.restore:hover{color:var(--design-text);border-color:var(--design-line-bright)}.entry-wish{font-size:var(--design-type-body);line-height:1.4;word-break:break-word}.entry-meta{font-size:var(--design-type-small);color:var(--design-text-dim);margin-top:2px}*{scrollbar-width:thin;scrollbar-color:var(--design-line) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--design-line);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--design-line-bright)}.veil{position:fixed;inset:0;background:#08090e99;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10}.veil-dismiss{position:absolute;inset:0;appearance:none;background:transparent;border:0;padding:0;cursor:pointer}.dialog{position:relative}.dialog{background:var(--design-well);border:1px solid var(--design-line);border-radius:12px;padding:18px;width:320px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 50px #00000080}.dialog-message{font-size:var(--design-type-body);line-height:1.5;word-break:break-word}.dialog-row{display:flex;gap:8px;justify-content:flex-end}.dialog-row button{font:inherit;font-size:var(--design-type-body);border-radius:6px;padding:7px 14px;cursor:pointer}.dialog-row .ghost{background:transparent;color:var(--design-text-dim);border:1px solid var(--design-line)}.dialog-row .ghost:hover{color:var(--design-text);border-color:var(--design-line-bright)}.dialog-row .danger{background:var(--design-danger-well);color:var(--design-danger);border:1px solid var(--design-danger-line)}.dialog-row .danger:hover{border-color:#a04040}#panel.wide{width:760px}.panel-columns{display:flex;gap:10px;min-height:0;flex:1}@media(max-width:760px){#stage{padding-bottom:calc(var(--design-tabbar-height) + env(safe-area-inset-bottom));box-sizing:border-box}.touch-stick{bottom:calc(28px + var(--design-tabbar-height) + env(safe-area-inset-bottom))}.touch-buttons{bottom:calc(36px + var(--design-tabbar-height) + env(safe-area-inset-bottom))}#panel,#panel.wide{position:fixed;inset:auto 0 0;width:auto;padding:0;background:transparent;border:none;overflow:visible}.design-sheet .panel-columns{flex-direction:column;overflow-y:auto}.design-sheet .panel-column{flex:none;overflow-y:visible}.mobile-spaces{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:30;max-width:92vw}.design-sheet-body{min-height:62dvh}.veil{align-items:flex-end}.dialog{width:100%;border-radius:var(--design-radius-3) var(--design-radius-3) 0 0;border-left:none;border-right:none;border-bottom:none;padding-bottom:calc(18px + env(safe-area-inset-bottom));animation:design-sheet-rise .22s ease-out}.studio-desk{flex-direction:column}.studio-side{flex:none;overflow-y:visible}}@media(pointer:coarse){.panel-tabs button{padding:10px 0}.game .remove,.game .heart,.game .remix,.game .workshop-door{min-width:38px;font-size:16px}}.panel-column{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0;overflow-y:auto}.spacer{flex:1}#studio-toggle,#new-game{background:var(--design-raised);color:var(--design-text);border:1px solid var(--design-line);border-radius:6px;padding:4px 10px;font:inherit;font-size:var(--design-type-small);cursor:pointer}#studio-toggle:hover,#studio-toggle.chosen,#new-game:hover{border-color:var(--design-accent)}#studio-save{flex:1;background:var(--design-raised);color:var(--design-text);border:1px solid var(--design-line);border-radius:6px;padding:7px 10px;font:inherit;font-size:var(--design-type-body);cursor:pointer}#studio-save:hover{border-color:var(--design-accent)}#studio-save:disabled{opacity:.5;cursor:default}.card.studio{flex:1;min-height:0}.studio-desk{display:flex;gap:10px;min-height:0;flex:1}.studio-side{flex:0 0 168px;min-width:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto;scrollbar-width:thin}.studio-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto;scrollbar-width:thin}.outline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.outline button{width:100%;display:flex;align-items:center;gap:6px;padding:5px 8px;background:transparent;border:1px solid transparent;border-radius:var(--design-radius-1);color:var(--design-text-dim);font:inherit;font-size:var(--design-type-small);cursor:pointer;text-align:left}.outline button:hover{border-color:var(--design-line-bright)}.outline button.chosen{background:var(--design-accent-soft);color:var(--design-accent)}.outline .outline-act{font-weight:700;flex-shrink:0}.outline .outline-note{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline .outline-flag{color:var(--design-danger);font-weight:700}.stage-strip{display:flex;flex-wrap:wrap;gap:4px;padding:2px 0}.stage-chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:var(--design-type-small);color:var(--design-text-faint);border:1px solid var(--design-line);background:transparent}.stage-chip.working{color:var(--design-accent);border-color:var(--design-accent);background:var(--design-accent-soft)}.stage-chip.settled{color:var(--design-text-dim);background:var(--design-raised)}.preview-frame.troubled .studio-preview{opacity:.35;filter:grayscale(.7)}.studio-troubles{display:inline-flex;align-items:center;padding:0 7px;border-radius:999px;font-size:var(--design-type-small);background:var(--design-danger-well);color:var(--design-danger)}.shelf{display:flex;flex-direction:column;gap:4px}.shelf-name{font-size:var(--design-type-small);color:var(--design-text-faint);text-transform:uppercase;letter-spacing:.06em}.studio-bar{display:flex;align-items:center;gap:6px}.studio-note{font-size:var(--design-type-small);color:var(--design-text-dim)}.studio-preview{width:100%;height:180px;display:block}.operations{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.operation{background:var(--design-ink);border:1px solid var(--design-line);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:6px}.operation-head{display:flex;align-items:center;gap:4px}.operation-prompt{display:flex;gap:4px;margin:4px 0}.operation.picked{outline:2px solid var(--design-accent);outline-offset:2px;transition:outline-color .3s}.space-switcher .design-segmented button{font-family:ui-monospace,monospace;font-size:var(--design-type-small)}.upload-picker{align-self:flex-start;position:relative;overflow:hidden}.upload-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-state{color:var(--design-text-dim);font-size:var(--design-type-small)}.upload-state.failed{color:var(--design-danger)}.uploads{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:4px}.uploads li{display:flex;align-items:center;gap:8px;font-size:var(--design-type-body)}.uploads code{font-family:ui-monospace,monospace;color:var(--design-text-dim)}.operation-prompt input{flex:1;font-size:var(--design-type-body);padding:4px 8px;border:1px solid color-mix(in srgb,var(--design-accent) 25%,transparent);border-radius:6px;background:color-mix(in srgb,var(--design-ink) 60%,transparent);color:inherit}.operation-act{font-weight:700;font-size:var(--design-type-body);color:var(--design-accent);font-family:ui-monospace,monospace}.operation-index{font-size:var(--design-type-small);color:var(--design-line-bright)}.ghost{background:transparent;color:var(--design-text-dim);border:1px solid transparent;border-radius:6px;padding:2px 7px;font:inherit;font-size:var(--design-type-small);cursor:pointer}.ghost:hover:not(:disabled){color:var(--design-text);border-color:var(--design-line-bright)}.ghost:disabled{opacity:.4;cursor:default}.field{display:flex;flex-direction:column;gap:3px}.field-head{display:flex;align-items:center;justify-content:space-between}.field-name{font-size:var(--design-type-small);color:var(--design-text-dim);font-family:ui-monospace,monospace}.widget.row{display:flex;gap:6px;align-items:center}.widget input[type=range]{flex:1;accent-color:var(--design-accent);min-width:0}.numeric{width:72px;background:var(--design-surface);color:var(--design-text);border:1px solid var(--design-line);border-radius:6px;padding:4px 6px;font:inherit;font-size:var(--design-type-small)}.numeric:focus{outline:none;border-color:var(--design-accent)}.swatch{width:48px;height:26px;padding:0;border:1px solid var(--design-line);border-radius:6px;background:transparent;cursor:pointer}.toggle{align-self:flex-start;background:var(--design-surface);color:var(--design-text-dim);border:1px solid var(--design-line);border-radius:999px;padding:3px 12px;font:inherit;font-size:var(--design-type-small);cursor:pointer}.toggle.on{color:var(--design-good);border-color:#2b4a38}.segments{display:flex;gap:4px;flex-wrap:wrap}.segments button{background:var(--design-surface);color:var(--design-text-dim);border:1px solid var(--design-line);border-radius:6px;padding:3px 9px;font:inherit;font-size:var(--design-type-small);cursor:pointer}.segments button.chosen{color:var(--design-text);border-color:var(--design-accent)}.zep{width:100%;box-sizing:border-box;background:var(--design-surface);color:var(--design-text);border:1px solid var(--design-line);border-radius:6px;padding:6px 8px;font-family:ui-monospace,monospace;font-size:var(--design-type-small);resize:vertical}.zep:focus{outline:none;border-color:var(--design-accent)}.legend{display:flex;flex-direction:column;gap:4px;min-width:0}.legend .row{align-items:center;min-width:0}.legend .row input{flex:1;width:100%;min-width:0;box-sizing:border-box}.frames .row input{padding:4px 3px;font-size:var(--design-type-small)}.glyph{width:26px;text-align:center;background:var(--design-surface);color:var(--design-text);border:1px solid var(--design-line);border-radius:6px;padding:4px 0;font-family:ui-monospace,monospace;font-size:var(--design-type-body)}.chips{display:flex;gap:4px;flex-wrap:wrap}.chip{background:transparent;color:var(--design-text-dim);border:1px dashed var(--design-line);border-radius:999px;padding:2px 9px;font:inherit;font-size:var(--design-type-small);cursor:pointer}.chip:hover{color:var(--design-text);border-color:var(--design-line-bright)}.chip.block{color:#9dc1ff;border-color:#1a2740}.palette h3{margin:0;font-size:var(--design-type-small);font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--design-line-bright)}.operation-problems{font-size:var(--design-type-small);color:var(--design-danger);background:#1d1418;border:1px solid #331b1e;border-radius:6px;padding:6px 8px;display:flex;flex-direction:column;gap:3px;word-break:break-word}.stray-value{font-size:var(--design-type-small);color:var(--design-line-bright);font-family:ui-monospace,monospace;word-break:break-all}
