@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-400-normal-9mHNbWWO.woff2)format("woff2"),url(/assets/bebas-neue-latin-400-normal-Bi-ndsyu.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-400-normal-CFtfchNt.woff2)format("woff2"),url(/assets/playfair-display-latin-400-normal-DHYHbkg3.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2)format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-latin-400-normal-D6LQsQ_v.woff2)format("woff2"),url(/assets/caveat-latin-400-normal-BzhAQZkN.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-latin-700-normal-D8_1Nw6V.woff2)format("woff2"),url(/assets/caveat-latin-700-normal-cPyBTTZN.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2)format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2)format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff)format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/oswald-latin-400-normal-BAFo8sP8.woff2)format("woff2"),url(/assets/oswald-latin-400-normal-D1wpMXgf.woff)format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/oswald-latin-700-normal-vy6hmKSr.woff2)format("woff2"),url(/assets/oswald-latin-700-normal-UmC9Ev9x.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2)format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff)format("woff")}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-400-normal-Byf51wtH.woff2)format("woff2"),url(/assets/anton-latin-400-normal-AUNGEG_V.woff)format("woff")}@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-latin-400-normal-DeHY8Ncq.woff2)format("woff2"),url(/assets/bangers-latin-400-normal-BAEm-Pv0.woff)format("woff")}@font-face{font-family:Righteous;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/righteous-latin-400-normal-DIzXvQUm.woff2)format("woff2"),url(/assets/righteous-latin-400-normal-CRvo487o.woff)format("woff")}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/orbitron-latin-400-normal-U6xZUhur.woff2)format("woff2"),url(/assets/orbitron-latin-400-normal-DBk4Dmer.woff)format("woff")}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2)format("woff2"),url(/assets/orbitron-latin-700-normal-DmYOh-W9.woff)format("woff")}@font-face{font-family:Monoton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/monoton-latin-400-normal--Xn4BnFH.woff2)format("woff2"),url(/assets/monoton-latin-400-normal-CgrPpToo.woff)format("woff")}@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2)format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff)format("woff")}@font-face{font-family:Abril Fatface;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/abril-fatface-latin-400-normal-utNZUC9m.woff2)format("woff2"),url(/assets/abril-fatface-latin-400-normal-CSRW-xuf.woff)format("woff")}@font-face{font-family:Creepster;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/creepster-latin-400-normal-DnKpM-ys.woff2)format("woff2"),url(/assets/creepster-latin-400-normal-DFidaany.woff)format("woff")}@font-face{font-family:Nosifer;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nosifer-latin-400-normal-DC0JbRme.woff2)format("woff2"),url(/assets/nosifer-latin-400-normal-DIu8cmES.woff)format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-400-normal-DnUIPmzd.woff2)format("woff2"),url(/assets/cinzel-latin-400-normal-C8jUSQqm.woff)format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2)format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff)format("woff")}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dancing-script-latin-400-normal--YrtvvVF.woff2)format("woff2"),url(/assets/dancing-script-latin-400-normal-BY5FxJb0.woff)format("woff")}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-latin-700-normal-CX8AaSVl.woff2)format("woff2"),url(/assets/dancing-script-latin-700-normal-LI5MgW9m.woff)format("woff")}@font-face{font-family:Pacifico;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pacifico-latin-400-normal-7HIToT7q.woff2)format("woff2"),url(/assets/pacifico-latin-400-normal-DArfF-vd.woff)format("woff")}@font-face{font-family:Lobster;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lobster-latin-400-normal-VmWungf4.woff2)format("woff2"),url(/assets/lobster-latin-400-normal-Cc8ENR_t.woff)format("woff")}@font-face{font-family:Permanent Marker;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/permanent-marker-latin-400-normal-BF23djCy.woff2)format("woff2"),url(/assets/permanent-marker-latin-400-normal-BnZj5c41.woff)format("woff")}@font-face{font-family:Source Code Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-code-pro-latin-400-normal-DEXWLoHG.woff2)format("woff2"),url(/assets/source-code-pro-latin-400-normal-C5QriPt2.woff)format("woff")}@font-face{font-family:Source Code Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-code-pro-latin-700-normal-DKwZGtZT.woff2)format("woff2"),url(/assets/source-code-pro-latin-700-normal-DQXC5bpC.woff)format("woff")}:root{--bg:#121214;--bg-deep:#0e0e11;--panel:#1a1a1f;--panel-2:#222229;--line:#2c2c35;--line-strong:#4a4a57;--text:#f3eee6;--text-muted:#a8a39b;--violet:#8b5cf6;--violet-strong:#7c4dee;--aqua:#2dd4bf;--danger:#f05d6c;--warn:#f5b14c;--radius:12px;--radius-sm:8px;--touch:44px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);overscroll-behavior:none}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}p{margin:0}a{color:inherit}.muted{color:var(--text-muted)}.small{font-size:.85rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}.wordmark{letter-spacing:-.02em;align-items:center;gap:8px;font-size:1.35rem;font-weight:700;display:inline-flex}.wordmark-text{background:linear-gradient(90deg,#7c3aed,#6d28d9);color:#0000;filter:drop-shadow(0 0 5px #7c3aed59);-webkit-background-clip:text;background-clip:text}.wordmark-fx{background:linear-gradient(90deg,#06b6d4,#22d3ee);color:#0000;-webkit-background-clip:text;background-clip:text}.brand-mark{object-fit:contain;flex:none;display:block}.studio-top .wordmark{font-size:1.1rem}.btn{min-height:var(--touch);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:#2a2a33}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--violet);border-color:var(--violet);color:#fff}.btn-primary:hover{background:var(--violet-strong)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--panel-2)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger-outline{color:#ffb3bb;border-color:#f05d6c80}.btn-sm{min-height:40px;padding:0 12px;font-size:.9rem}.btn-lg{min-height:52px;padding:0 22px;font-size:1.05rem}.btn-blackout.active{border-color:var(--text);color:var(--text);background:#000;box-shadow:0 0 0 2px #f3eee640}.icon-btn{width:var(--touch);height:var(--touch);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.icon-btn-danger:hover{color:var(--danger)}.chip{min-height:var(--touch);border:1px solid var(--line-strong);color:var(--text);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#1a1a1feb;border-radius:999px;align-items:center;gap:6px;max-width:calc(100% - 32px);padding:0 16px;display:inline-flex;overflow:hidden}.badge{background:var(--panel-2);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge-demo{color:var(--aqua);background:#0e0e11e0;border:1px solid #2dd4bf80;position:absolute;top:10px;left:10px}.badge-available{color:var(--aqua);background:#2dd4bf29}.badge-experimental{color:var(--warn);background:#f5b14c26}.notice{border-radius:var(--radius-sm);border:1px solid var(--line);margin-bottom:16px;padding:12px 14px}.notice-error{background:#f05d6c1a;border-color:#f05d6c80}.notice-warn{background:#f5b14c14;border-color:#f5b14c73}.form{gap:16px;display:grid}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.field{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.field>span,.field>legend{color:var(--text-muted);justify-content:space-between;margin-bottom:6px;padding:0;font-size:.85rem;display:flex}.field>span{margin-bottom:0}.field .field-value{color:var(--text);font-variant-numeric:tabular-nums}.field small{color:var(--text-muted);font-size:.8rem}input[type=text],input:not([type]),input[type=email],input[type=search].admin-search,.field input[type=password],.app-gate input[type=password],select{min-height:var(--touch);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-deep);color:var(--text);font:inherit;width:100%;padding:0 12px}input[type=range]{width:100%;min-width:0;height:var(--touch);accent-color:var(--violet);margin:0}.toggle-row{flex-wrap:wrap;gap:16px;display:flex}.toggle{min-height:var(--touch);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.toggle input{width:20px;height:20px;accent-color:var(--violet)}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{width:var(--touch);height:var(--touch);cursor:pointer;border:2px solid #0000;border-radius:50%;padding:0;position:relative}.swatch[aria-pressed=true]{border-color:var(--text);box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--aqua)}.swatch-custom{background:conic-gradient(#f472b6,#f5b14c,#2dd4bf,#60a5fa,#8b5cf6,#f472b6);overflow:hidden}.swatch-custom input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.swatches-lg .swatch{width:56px;height:56px}.button-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);padding:0}.modal::backdrop{background:#0009}.modal[open]{flex-direction:column;display:flex;overflow:hidden}.modal-inner{flex-direction:column;flex:auto;min-height:0;display:flex}.modal-header,.modal-footer{flex-shrink:0}.modal-header{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 8px 8px 20px;display:flex;position:relative}.modal-header h2{flex:1;font-size:1.1rem}.modal-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;padding:20px;overflow:auto}.modal-footer{justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}.sheet-grip{background:var(--line-strong);border-radius:2px;width:36px;height:4px;margin-left:-18px;position:absolute;top:6px;left:50%}.modal-sheet{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:100%;max-height:min(78dvh,640px);padding-bottom:var(--safe-bottom);border-bottom:0;margin:auto 0 0}.modal-sheet .modal-header{padding-top:14px}@media (width>=720px) and (orientation:landscape),(width>=1024px){.modal-sheet{border-radius:var(--radius) 0 0 var(--radius);border-bottom:1px solid var(--line);width:min(400px,90vw);height:100dvh;max-height:100dvh;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) 0;margin:0 0 0 auto}.sheet-grip{display:none}}.home{min-height:100%;padding:calc(24px + var(--safe-top)) calc(20px + var(--safe-right)) calc(32px + var(--safe-bottom)) calc(20px + var(--safe-left));max-width:1200px;margin:0 auto}.home-header{flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:32px;display:flex}.tagline{color:var(--text-muted)}.home-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.home-toolbar h1{font-size:1.6rem}.project-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.project-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-rows:auto 1fr auto;grid-template-columns:1fr;display:grid;overflow:hidden}.project-card:hover{border-color:var(--line-strong)}.project-open{aspect-ratio:16/9;background:#000;grid-column:1/-1;display:block;position:relative}.thumb{width:100%;height:100%;display:block}.project-meta{min-width:0;padding:12px 14px 4px}.project-meta h2,.project-meta h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:1rem;overflow:hidden}.project-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;margin:0 8px;padding:0 6px 6px;display:flex}.empty{border:1px dashed var(--line-strong);border-radius:var(--radius);text-align:center;color:var(--text-muted);padding:40px}.storage-note{margin-top:28px}.center-page{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:100%;padding:24px;display:grid}.studio{flex-direction:column;height:100%;display:flex;overflow:hidden}.studio-top{padding:calc(6px + var(--safe-top)) calc(10px + var(--safe-right)) 6px calc(6px + var(--safe-left));border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:8px;min-height:58px;display:flex}.studio-title{flex-direction:column;flex:1;min-width:0;padding:0 6px;display:flex}.studio-title h1{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.save-status{color:var(--text-muted);text-align:left;background:0 0;border:0;padding:0;font-family:inherit;font-size:.75rem}.save-status.failed{color:var(--danger);cursor:pointer;min-height:24px;text-decoration:underline}.studio-actions{gap:2px;display:flex}.studio-live{gap:8px;display:flex}.studio-body{grid-template-columns:var(--left-w,280px) minmax(0, 1fr) var(--right-w,300px);flex:1;min-height:0;display:grid;position:relative}.panel-resizer{z-index:5;cursor:col-resize;touch-action:none;width:10px;position:absolute;top:0;bottom:0}.panel-resizer-left{left:calc(var(--left-w,280px) - 5px)}.panel-resizer-right{right:calc(var(--right-w,300px) - 5px)}.panel-resizer:after{content:"";background:linear-gradient(transparent, var(--violet) 15%, var(--violet) 85%, transparent);opacity:0;width:2px;transition:opacity .15s;position:absolute;top:0;bottom:0;left:4px}.panel-resizer:hover:after,.panel-resizer.dragging:after,.panel-resizer:focus-visible:after{opacity:.8}.panel-resizer:focus-visible{outline:none}.studio-body:has(.panel-resizer.dragging){cursor:col-resize;-webkit-user-select:none;user-select:none}.panel{background:var(--panel);padding:16px;overflow:auto}:where(.panel,.modal-body) :where(*){min-width:0}:where(.panel,.modal-body){overflow-wrap:anywhere}:where(.panel,.modal-body) :where(input,select,textarea){max-width:100%}:where(.panel,.modal-body) :where(svg){flex-shrink:0}.panel-left{border-right:1px solid var(--line)}.panel-right{border-left:1px solid var(--line)}.panel h2{font-size:.95rem}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel-stack{gap:16px;display:grid}.panel-stack h3{font-size:.95rem}.studio-main{flex:1;min-width:0;min-height:0;position:relative}.surface-settings{gap:16px;display:grid}.layers{gap:4px;margin:0;padding:0;list-style:none;display:grid}.layer{border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;display:flex}.layer.selected{background:#8b5cf624;border-color:#8b5cf680}.layer-main{min-width:0;min-height:var(--touch);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:0 8px;display:flex}.layer-num{width:22px;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.8rem}.layer-swatch{border-radius:4px;flex:none;width:16px;height:16px}.layer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.layer-wrap>*,.layers>*{min-width:0}.workspace{background:var(--bg-deep);-webkit-user-select:none;user-select:none;touch-action:none;position:absolute;inset:0;overflow:hidden}.workspace-canvas,.workspace-overlay{width:100%;height:100%;display:block;position:absolute;inset:0}.workspace-overlay{pointer-events:none}.workspace-error{text-align:center;color:var(--text-muted);place-content:center;padding:24px;display:grid;position:absolute;inset:0}.workspace-badge{border:1px solid var(--line-strong);pointer-events:none;background:#000;border-radius:999px;padding:6px 12px;font-size:.85rem;position:absolute;top:62px;left:50%;transform:translate(-50%)}.chip-floating{max-width:calc(100% - 180px);position:absolute;bottom:12px;left:12px}.workspace-loupe{border:2px solid var(--aqua);pointer-events:none;border-radius:50%;width:132px;height:132px;position:absolute;top:0;left:0;box-shadow:0 6px 24px #0009}.workspace-loupe[hidden]{display:none}.ws-toolbar{border:1px solid var(--line);background:#1a1a1feb;border-radius:10px;align-items:center;gap:2px;max-width:calc(100% - 20px);padding:3px;display:flex;position:absolute;top:10px;left:10px;overflow-x:auto}.ws-btn{min-width:40px;height:40px;color:var(--text-muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:.85rem;display:inline-flex}.ws-btn:hover{background:var(--panel-2);color:var(--text)}.ws-zoom{font-variant-numeric:tabular-nums;min-width:52px}.ws-toggle[aria-pressed=true]{color:var(--aqua);background:#2dd4bf29}.ws-sep{background:var(--line);width:1px;height:24px;margin:0 2px}@media (width<=520px){.ws-toggle span{display:none}}.ws-notice-region{pointer-events:none;width:min(420px,100% - 24px);position:absolute;top:104px;left:50%;transform:translate(-50%)}.ws-notice{border-radius:var(--radius-sm);text-align:center;background:#281216f2;border:1px solid #f05d6c99;padding:10px 14px;font-size:.9rem}.nudge-open{position:absolute;bottom:12px;right:12px}.nudge-pad{gap:8px;display:grid}.nudge-floating{border-radius:var(--radius);border:1px solid var(--line);background:#1a1a1ff2;width:196px;padding:8px;position:absolute;bottom:12px;right:12px}.nudge-inline{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-deep);padding:12px}.nudge-inline .nudge-head{padding:0}.nudge-head{justify-content:space-between;align-items:center;padding-left:4px;display:flex}.nudge-head .ws-btn{min-width:32px;height:32px}.nudge-title{color:var(--text-muted);font-size:.8rem}.nudge-targets{grid-template-columns:repeat(5,1fr);gap:3px;display:grid}.nudge-target{border:1px solid var(--line);background:var(--bg-deep);height:34px;color:var(--text-muted);font:inherit;cursor:pointer;border-radius:6px;padding:0;font-size:.72rem;font-weight:600}.nudge-target[aria-checked=true]{border-color:var(--aqua);color:var(--aqua);background:#2dd4bf1f}.nudge-arrows{grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,44px);justify-content:center;gap:4px;display:grid}.nudge-arrow,.nudge-step{border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text);font:inherit;cursor:pointer;touch-action:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.nudge-arrow:active{background:var(--violet)}.nudge-step{font-variant-numeric:tabular-nums;font-size:.75rem}.nudge-step[aria-pressed=true]{border-color:var(--aqua);color:var(--aqua)}.nudge-pad button:disabled{opacity:.4;cursor:not-allowed}.na-up{grid-area:1/2}.na-left{grid-area:2/1}.na-mid{grid-area:2/2}.na-right{grid-area:2/3}.na-down{grid-area:3/2}.studio-history{gap:6px;display:flex}.studio-history .btn:disabled{opacity:.4;cursor:not-allowed}.studio-compact .studio-history .btn{padding:0 12px}@media (width<=599px){.studio-compact .studio-history{gap:0}.studio-compact .studio-history .btn{width:var(--touch);background:0 0;border-color:#0000;justify-content:center;padding:0}}.icon-btn:disabled{opacity:.35;cursor:not-allowed;background:0 0}.swatch-checker{background:repeating-conic-gradient(#eee 0 25%, #222 0 50%) 0 0 / 14px 14px}.studio-compact .btn-label{display:none}.studio-compact .studio-live .btn{padding:0 12px}.bottom-bar{background:var(--panel);border-top:1px solid var(--line);padding:4px calc(4px + var(--safe-right)) calc(4px + var(--safe-bottom)) calc(4px + var(--safe-left));grid-template-columns:repeat(6,1fr);display:grid}.bar-btn{border-radius:var(--radius-sm);min-width:0;min-height:56px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:.72rem;display:flex}.bar-btn:hover,.bar-btn:active{color:var(--text);background:var(--panel-2)}.bar-btn span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (width>=600px){.studio-compact .btn-label{display:inline}}@media (height<=480px) and (orientation:landscape){.studio-compact{grid-template-rows:auto auto auto auto 1fr;grid-template-columns:1fr auto;display:grid}.studio-compact>.conflict-banner,.studio-compact>.update-banner,.studio-compact>.guide-bar{grid-column:1/-1}.studio-compact>.conflict-banner{grid-row:2}.studio-compact>.update-banner{grid-row:3}.studio-compact>.guide-bar{grid-row:4;padding-top:2px;padding-bottom:2px}.studio-compact>.studio-main,.studio-compact>.bottom-bar{grid-row:5;min-height:0}.studio-compact .studio-top{min-height:50px;padding-top:calc(2px + var(--safe-top));grid-area:1/1/auto/-1;padding-bottom:2px}.studio-compact .bottom-bar{border-top:0;border-left:1px solid var(--line);width:calc(76px + var(--safe-right));padding:2px calc(2px + var(--safe-right)) calc(2px + var(--safe-bottom)) 2px;grid-template-columns:1fr;grid-auto-rows:1fr;overflow:auto}.studio-compact .bar-btn{min-height:44px}}.mode-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.mode{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-deep);padding:12px}.mode-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.mode-head h3{font-size:.95rem}.play-overlay,.output-page{z-index:100;cursor:none;background:#000;position:fixed;inset:0}.play-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.play-exit{top:calc(16px + var(--safe-top));right:calc(16px + var(--safe-right));min-height:var(--touch);color:#ddd;font:inherit;opacity:0;pointer-events:none;cursor:pointer;background:#000c;border:1px solid #555;border-radius:999px;padding:0 16px;transition:opacity .2s;position:absolute}.play-exit.visible,.play-exit:focus-visible{opacity:1;pointer-events:auto}.play-overlay:has(.play-exit.visible){cursor:default}.play-sound-btn{left:50%;top:calc(24px + var(--safe-top,0px));color:#f3eee6;font:inherit;cursor:pointer;background:#17151feb;border:1px solid #8b5cf6b3;border-radius:999px;padding:12px 20px;font-weight:600;position:absolute;transform:translate(-50%)}.song-name{overflow-wrap:anywhere;margin:0}.play-screen-hint{left:50%;bottom:calc(24px + var(--safe-bottom,0px));color:#bbb;text-align:center;pointer-events:none;background:#000c;border-radius:10px;max-width:min(560px,100% - 32px);margin:0;padding:10px 16px;font-size:.875rem;position:absolute;transform:translate(-50%)}.play-error{color:#888;place-content:center;display:grid;position:absolute;inset:0}.output-page{cursor:default}.output-setup{text-align:center;background:var(--bg);place-content:center;justify-items:center;gap:12px;padding:24px;display:grid;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.layer-group{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:12px 0 6px;font-size:.72rem;font-weight:600}.layer-wrap{gap:2px;display:grid}.layer.nested{margin-left:22px}.layer-mask .layer-num{color:#ff9aa4;display:inline-flex}.layer-shape{color:var(--text-muted);display:inline-flex}.link-btn{color:var(--aqua);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.panel-stack section{gap:10px;display:grid}.add-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.add-card{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-deep);min-height:112px;color:var(--text);font:inherit;text-align:left;cursor:pointer;justify-items:start;gap:4px;padding:12px;display:grid}.add-card:hover{border-color:var(--violet)}.add-card svg{color:var(--aqua)}.add-title{font-weight:600}.add-hint{color:var(--text-muted);font-size:.78rem}.nudge-poly{grid-template-columns:auto 34px 1fr 34px 34px;align-items:center}.nudge-poly .nudge-target{justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.nudge-poly .nudge-target[aria-pressed=true]{border-color:var(--aqua);color:var(--aqua)}.nudge-point{text-align:center;font-variant-numeric:tabular-nums;font-size:.8rem}.visuals-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius-sm);max-width:100%;display:inline-flex;overflow:hidden}.segmented button{background:var(--bg-deep);min-width:0;min-height:40px;color:var(--text-muted);font:inherit;cursor:pointer;border:0;flex:auto;padding:0 12px;font-size:.85rem}.segmented button+button{border-left:1px solid var(--line-strong)}.segmented button[aria-checked=true]{color:var(--text);background:#8b5cf638}.visuals-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.visual-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.visual-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:#000;position:relative;overflow:hidden}.visual-card.active{border-color:var(--aqua);box-shadow:0 0 0 1px var(--aqua)}.visual-apply{width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;display:grid}.visual-preview{aspect-ratio:16/10;background:#000;width:100%;display:block}.visual-name{background:var(--panel);padding:8px 10px;font-size:.85rem;font-weight:500}.visual-fav{color:#ffffffb3;cursor:pointer;background:#0000008c;border:0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:absolute;top:4px;right:4px}.visual-fav.on{color:#ffd25e}.visual-fav.on svg path{fill:currentColor}.effect-controls{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-deep);gap:14px;padding:12px;display:grid}.effect-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.effect-head h3{font-size:.95rem}.color-row{flex-wrap:wrap;gap:16px;display:flex}.color-field{cursor:pointer;color:var(--text-muted);align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.color-field input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:44px;height:44px;padding:2px}.media-panel.drag-over{outline:2px dashed var(--aqua);outline-offset:6px;border-radius:var(--radius-sm)}.workspace.drop-target:after{content:"Drop to import — onto a surface to use it there";border:2px dashed var(--aqua);border-radius:var(--radius);color:var(--text);pointer-events:none;background:#2dd4bf14;place-content:center;display:grid;position:absolute;inset:12px}.drop-hint{margin-top:-8px}.error-list{gap:4px;margin:6px 0 0;padding-left:18px;display:grid}.asset-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.asset{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-deep);grid-template-columns:72px 1fr;gap:4px 10px;padding:8px;display:grid}.asset.missing{border-color:#f05d6c80}.asset-thumb{object-fit:cover;background:repeating-conic-gradient(#333 0 25%, #222 0 50%) 0 0 / 12px 12px;border-radius:6px;grid-row:span 2;width:72px;height:48px}.asset-thumb-empty{display:block}.asset-meta{gap:2px;min-width:0;display:grid}.asset-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.badge-missing{color:#ffb3bb;background:#f05d6c26;justify-self:start}.asset-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.storage-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.crop-grid{grid-template-columns:1fr 1fr;gap:4px 12px;display:grid}.crop-grid legend{grid-column:1/-1}.grid-section-sizes{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid-section-cells{gap:4px;margin-top:8px;display:grid}.grid-section-cells .btn[aria-pressed=true]{border-color:var(--aqua);color:var(--text);background:#2dd4bf26}textarea{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-deep);color:var(--text);font:inherit;resize:vertical;width:100%;padding:10px 12px}.playback-blocked{z-index:5;border-color:var(--aqua);background:#000000d9;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.button-grid .btn{white-space:normal;text-align:center;padding-top:6px;padding-bottom:6px;line-height:1.2}.layer .icon-btn{width:36px}.layer-main{gap:8px;padding:0 6px}.conflict-banner{padding:10px calc(14px + var(--safe-right)) 10px calc(14px + var(--safe-left));background:#f5b14c1f;border-bottom:1px solid #f5b14c80;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:.9rem;display:flex}.conflict-banner p{flex:320px}.conflict-actions{flex-wrap:wrap;gap:8px;display:flex}.projector-bar{padding:8px calc(14px + var(--safe-right)) 8px calc(14px + var(--safe-left));background:#2dd4bf1a;border-bottom:1px solid #2dd4bf73;align-items:center;gap:10px;font-size:.9rem;display:flex}.projector-bar>span:nth-child(2){flex:1;min-width:0}.projector-bar .dot{background:var(--aqua);border-radius:50%;flex:none;width:8px;height:8px}.projector-note{border-width:0 0 1px;border-radius:0;margin:0}@media (height<=480px) and (orientation:landscape){.studio-compact>.projector-bar,.studio-compact>.projector-note{grid-area:2/1/auto/-1}}.backup-controls{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-deep);gap:10px;padding:12px;display:grid}.backup-stale{color:var(--warn)}.home-actions{flex-wrap:wrap;gap:8px;display:flex}.backup-reminder{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.backup-reminder span{flex:320px}.icon-btn.backup-needed{color:var(--warn)}.mode-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-deep);gap:10px;padding:12px;display:grid}.output-status{font-size:.9rem}.screen-list{gap:6px;display:grid}.steps,.notes,.output-steps{color:var(--text-muted);gap:6px;margin:0;padding-left:20px;font-size:.88rem;display:grid}.guide summary{cursor:pointer;min-height:var(--touch);align-items:center;font-weight:500;display:flex}.output-chip{border:1px solid var(--line-strong);min-height:36px;color:var(--text-muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.8rem;display:inline-flex}.output-chip .dot{background:var(--line-strong);border-radius:50%;width:8px;height:8px}.output-chip.live .dot{background:var(--aqua)}.output-chip.ready .dot{background:var(--warn)}.output-chip.off .dot{background:var(--danger)}.output-project{font-size:1.1rem;font-weight:600}.output-steps{text-align:left;max-width:460px}.output-setup .btn{justify-self:center}.studio-desktop .studio-actions .btn{padding:0 10px}.studio-title{min-width:120px}@media (width<=1400px){.studio-desktop .studio-top .wordmark{display:none}}@media (width<=1180px){.studio-desktop .studio-actions .btn{padding:0 8px;font-size:.9rem}}@media (width<=1560px){.studio-desktop .studio-actions .action-label{display:none}.studio-desktop .studio-actions .btn{padding:0 10px}}.pair-code{letter-spacing:.12em;font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:clamp(2.2rem,7vw,4rem);font-weight:700}.pair-qr{background:#fff;border-radius:8px;padding:4px}.pair-request{font-size:1.15rem}.receiver-setup>*{max-width:640px}.receiver-media{text-align:left}.receiver-note{max-width:520px}.pair-form{gap:10px;display:grid}.wireless-media h4{margin:4px 0 8px;font-size:.9rem}.wm-row{border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.wm-row .asset-name{flex:140px;min-width:0}.wm-fail{color:#ffb3bb;flex:100%}.pair-pick{cursor:pointer;border:0;width:100%;padding:0}.pair-pick:disabled{opacity:.5;cursor:not-allowed}.pair-page .field{max-width:360px;margin-bottom:12px}.route-loading{background:var(--bg);min-height:100%}.reduce-flashing{border-radius:var(--radius-sm);background:#f5b14c14;border:1px solid #f5b14c73;align-items:flex-start;padding:10px 12px}.meters{gap:6px;display:grid}.meter{color:var(--text-muted);grid-template-columns:56px 1fr;align-items:center;gap:8px;font-size:.8rem;display:grid}.meter-bar{background:var(--panel-2);border-radius:5px;height:10px;overflow:hidden}.meter-bar>div{background:linear-gradient(90deg, var(--aqua), var(--violet));height:100%;transition:width 80ms linear}.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.tempo-row{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.tempo-row input[type=number],.pl-dur input{min-height:var(--touch);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-deep);color:var(--text);font:inherit;width:100%;padding:0 10px}.tap-btn{min-width:110px}.scene-form{gap:8px;display:grid}.scene-list,.playlist{gap:8px;margin:0;padding:0;list-style:none;display:grid}.scene-row{border:1px solid var(--line);border-radius:var(--radius-sm);gap:6px;padding:8px;display:grid}.scene-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.toggle.small{min-height:36px;font-size:.85rem}.pl-row{border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.pl-row.current{border-color:var(--aqua);background:#2dd4bf14}.pl-name{text-overflow:ellipsis;white-space:nowrap;flex:120px;min-width:0;overflow:hidden}.pl-dur{width:92px;color:var(--text-muted);align-items:center;gap:4px;font-size:.85rem;display:inline-flex}.bottom-bar{grid-template-columns:repeat(7,1fr)}.update-banner{background:#8b5cf624;border-bottom:1px solid #8b5cf680;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;font-size:.9rem;display:flex}.update-banner span{flex:300px}.home .update-banner{border-radius:var(--radius-sm);border:1px solid #8b5cf680;margin-bottom:16px}.home-help{margin-left:auto}.check-table{border-collapse:collapse;width:100%}.check-table th,.check-table td{text-align:left;vertical-align:top;border-top:1px solid var(--line);padding:10px 8px;font-size:.9rem}.check-table th{white-space:nowrap;width:30%;font-weight:600}.check-dot{background:var(--line-strong);border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.check-dot.ok{background:var(--aqua)}.check-dot.no{background:var(--danger)}.render-test{aspect-ratio:16/9;border-radius:var(--radius-sm);background:#000;width:100%;max-width:480px}.diag dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:.85rem;display:grid}.diag dt{color:var(--text-muted)}.diag dd{font-variant-numeric:tabular-nums;margin:0}@media (width<=560px){.check-table th{white-space:normal}}.guide-bar{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 16px;font-size:.9rem;display:flex}.guide-text{flex:200px;min-width:0}.guide-progress{gap:4px;display:inline-flex}.guide-progress .pip{background:var(--line-strong);border-radius:50%;width:8px;height:8px}.guide-progress .pip.done{background:var(--aqua)}.guide-progress .pip.current{background:var(--violet)}.guide-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.guide-steps{gap:6px;margin:0;padding:0;list-style:none;display:grid}.guide-steps summary{cursor:pointer;align-items:center;gap:10px;padding:10px 6px;font-weight:600;display:flex}.guide-steps li.done summary{color:var(--text-muted)}.guide-check{border:1px solid var(--line-strong);width:22px;height:22px;color:var(--aqua);border-radius:50%;place-items:center;font-size:.8rem;display:inline-grid}.guide-steps li.current .guide-check{border-color:var(--violet)}.guide-body{padding:0 6px 10px 38px;font-size:.9rem}.guide-body p{margin:0 0 6px}.more-options{border-top:1px solid var(--line);padding-top:6px}.more-options summary{cursor:pointer;color:var(--text-muted);padding:6px 0;font-size:.9rem}.more-options[open] summary{margin-bottom:8px}.preset-row{flex-wrap:wrap;gap:6px;display:flex}.field.compact{flex:110px;min-width:110px}.fill-picker .segmented{margin-bottom:8px}.text-controls .color-row,.logo-controls .color-row{align-items:flex-end}.join-box{border:1px solid var(--line);border-radius:var(--radius-sm);gap:6px;padding:8px 10px;display:grid}.join-row{color:var(--aqua);align-items:center;gap:8px;font-size:.85rem;display:flex}.join-row span{color:var(--text);flex:1}.group-box legend{align-items:center;gap:6px;font-weight:600;display:inline-flex}.group-transform{grid-template-columns:repeat(2,1fr)}.curve-box,.bend-box{gap:8px;display:grid}.bend-box .segmented,.curve-box .segmented{flex-wrap:wrap}.stack-controls{gap:10px;display:grid}.layer-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.layer-chips .chip[aria-selected=true]{border-color:var(--violet);background:#8b5cf62e}.chip-off{opacity:.55}.chip-add{border-style:dashed}.layer-editor{border:1px solid var(--line);border-radius:var(--radius-sm);gap:8px;padding:8px;display:grid}.post-list{gap:4px;margin:0 0 6px;padding:0;list-style:none;display:grid}.post-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2)}.post-row.dragging{opacity:.5}.post-head{align-items:center;gap:4px;padding:2px 4px;display:flex}.post-head .toggle{flex:1;min-width:0}.drag-grip{cursor:grab;color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:0 4px}.post-params{gap:6px;padding:6px 10px 10px;display:grid}.effects-cost{display:block}.drive-btn{border:1px solid var(--line-strong);min-width:26px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:11px;margin-left:6px;padding:0 6px;font-size:.85rem;line-height:1}.drive-btn.on{border-color:var(--aqua);color:#0e0e11;background:var(--aqua)}.driver-editor,.preset-bar{gap:10px;display:grid}.driver-preview{border:1px solid var(--line);border-radius:var(--radius-sm);background:#0e0e11;width:100%;height:auto}.slot-row{flex-wrap:wrap;gap:8px;display:flex}.slot{gap:4px;display:flex}.slot-btn.filled{border-color:var(--aqua);color:var(--aqua)}.preset-save{gap:6px;display:flex}.preset-save input{flex:1;min-width:0}.preset-list{gap:4px;margin:6px 0;padding:0;list-style:none;display:grid}.preset-list li{align-items:center;gap:6px;display:flex}.preset-list li>span{flex:1;min-width:0}.lock-row{flex-wrap:wrap;gap:4px 12px;display:flex}.motion-section{gap:10px;display:grid}.camera-section,.camera-source{gap:8px;display:grid}.camera-on{border-color:var(--danger);color:var(--text)}.rec-dot{background:var(--danger);border-radius:50%;width:8px;height:8px;margin-right:4px;animation:1.4s ease-in-out infinite rec-blink;display:inline-block}@keyframes rec-blink{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.rec-dot{animation:none}}.error-text{color:var(--danger)}.cutout-dialog{gap:12px;display:grid}.cutout-preview{object-fit:contain;touch-action:none;border-radius:8px;width:100%;max-height:50vh}.draw-mode{background:var(--bg-deep);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);border:0;grid-template-rows:auto auto 1fr auto;margin:0;padding:0;display:grid;position:fixed;inset:0}.draw-mode::backdrop{background:var(--bg-deep)}.draw-head,.draw-tools{border-bottom:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 16px;display:flex}.draw-head .draw-name{flex:1;min-width:120px;max-width:320px}.draw-head .btn-primary{margin-left:auto}.draw-tools .field.compact{min-width:120px}.draw-stage{place-items:center;min-height:0;padding:12px;display:grid;overflow:hidden}.draw-canvas{touch-action:none;cursor:crosshair;background:#000;border-radius:6px;outline:1px solid #ffffff26}.draw-canvas.checker-bg{background:repeating-conic-gradient(#2a2a33 0 25%, #3a3a46 0 50%) 0 0 / 24px 24px}.body-preview{aspect-ratio:16/9;background:#0e0e11;border-radius:8px;width:100%;max-width:360px;height:auto}.body-values{gap:4px;margin:0;padding:0;list-style:none;display:grid}.body-values li{grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:8px;font-size:.85rem;display:grid}.body-values meter{width:100%}.midi-bindings{gap:10px;margin:0;padding:0;list-style:none;display:grid}.midi-binding-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.midi-binding-head .icon-btn{margin-left:auto}.perf-view{background:var(--bg-deep);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);border:0;grid-template-rows:auto auto auto 1fr auto;margin:0;padding:0;display:grid;position:fixed;inset:0}.perf-view::backdrop{background:var(--bg-deep)}.perf-top,.perf-row,.perf-banks{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 16px;display:flex}.perf-blackout{min-width:140px;min-height:64px;font-size:1.1rem;font-weight:700}.perf-blackout.active{background:var(--danger);color:#000}.perf-big{min-width:96px;min-height:56px}.perf-master{flex:1;gap:2px;min-width:160px;max-width:320px;display:grid}.perf-status{flex-wrap:wrap;gap:6px;display:flex}.perf-exit{margin-left:auto}.perf-crossfade{align-items:center;gap:8px;display:flex}.perf-banks .active{background:var(--violet);color:#fff}.perf-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));grid-auto-rows:max-content;align-content:start;gap:14px;min-height:0;padding:16px;display:grid;overflow:auto}.perf-card{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);align-content:start;justify-items:center;gap:8px;min-height:220px;padding:14px;display:grid}.perf-card.missing{border-color:var(--warn)}.perf-card-xy,.perf-card-color{grid-column:span 2}.perf-label{font-size:1rem}.perf-label-edit{width:100%}.perf-fader{writing-mode:vertical-lr;width:56px;height:180px;accent-color:var(--aqua);direction:rtl}.perf-value{font-variant-numeric:tabular-nums}.perf-driver{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.perf-xy{aspect-ratio:1;background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 25% 25%, linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 25% 25%, var(--panel-2);touch-action:none;cursor:crosshair;border-radius:10px;width:100%;max-width:360px;position:relative}.perf-xy-puck{background:var(--aqua);pointer-events:none;border-radius:50%;width:34px;height:34px;margin:-17px 0 0 -17px;position:absolute;box-shadow:0 0 0 4px #2dd4bf4d}.perf-swatches{grid-template-columns:repeat(4,52px);gap:8px;display:grid}.perf-swatch{border:2px solid #0000;border-radius:10px;width:52px;height:52px}.perf-swatch.on{border-color:#fff}.perf-color{width:100%;max-width:240px;height:44px}.perf-scene{width:100%;min-height:120px;font-size:1.1rem}.perf-scene.active{background:var(--violet);color:#fff}.perf-edit{width:100%}.perf-bank-edit,.perf-add{grid-column:1/-1}.perf-bank-edit{gap:8px;display:flex}.perf-foot{border-top:1px solid var(--line);padding:8px 16px}@media (width<=560px){.perf-card-xy,.perf-card-color{grid-column:auto}}.tl-transport,.tl-settings{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.tl-time{font-variant-numeric:tabular-nums}.tl-scrub{flex:1;min-width:140px}.btn-record.on{background:var(--danger);color:#000}.tl-scroll{border:1px solid var(--line);background:var(--bg-deep);border-radius:8px;max-width:100%;padding-bottom:6px;overflow-x:auto}.tl-ruler,.tl-clips,.tl-lane{min-width:100%;position:relative}.tl-ruler{height:20px;color:var(--text-muted);font-size:.7rem}.tl-ruler>span{border-left:1px solid var(--line-strong);padding-left:2px;position:absolute;top:2px;transform:translate(2px)}.tl-ruler>.tl-loop{background:var(--warn);border:0;height:4px;padding:0;top:14px;transform:none}.tl-clips{border-top:1px solid var(--line);height:40px}.tl-clip{white-space:nowrap;text-overflow:ellipsis;background:var(--violet-strong);color:#fff;text-align:left;border:1px solid #0000;border-radius:6px;height:32px;padding:0 6px;font-size:.8rem;position:absolute;top:4px;overflow:hidden}.tl-clip.selected{border-color:#fff}.tl-clip.missing{background:var(--warn);color:#000}.tl-fade{pointer-events:none;background:linear-gradient(90deg,#00000080,#0000);position:absolute;top:0;bottom:0;left:0}.tl-lane-row{border-top:1px solid var(--line)}.tl-lane-row.orphan{background:#f5b14c14}.tl-lane-head{flex-wrap:wrap;align-items:center;gap:6px 10px;padding:4px 6px;font-size:.85rem;display:flex;position:sticky;left:0}.tl-lane{background:var(--panel);cursor:copy;touch-action:none}.tl-key{background:var(--aqua);cursor:grab;border:2px solid #0e0e11;border-radius:3px;width:14px;height:14px;margin:-7px 0 0 -7px;padding:0;position:absolute;transform:rotate(45deg)}.tl-key.selected{outline:2px solid #fff}.tl-playhead{pointer-events:none;background:#fff;width:2px;position:absolute;top:0;bottom:0}.tl-editor{background:var(--panel-2);border-radius:8px;flex-wrap:wrap;align-items:end;gap:8px 12px;padding:8px;display:flex}.tl-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.export-dialog{gap:12px;display:grid}.export-progress{gap:4px;display:grid}.export-progress progress{width:100%}.features-page{max-width:1200px;padding:calc(16px + var(--safe-top)) 16px 48px;gap:16px;margin:0 auto;display:grid}.features-head{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.features-head h1{flex:1;margin:0;font-size:1.4rem}.features-table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.features-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.9rem}.features-table th,.features-table td{border-bottom:1px solid var(--line);vertical-align:top;text-align:left;padding:10px 12px}.features-table tbody th{gap:2px;min-width:280px;font-weight:400;display:grid}.cap{white-space:nowrap}.cap-tested{color:var(--aqua)}.cap-limited,.cap-untested{color:var(--warn)}.cap-no,.cap-not-built{color:var(--text-muted)}.advanced-group{border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px}.advanced-group>summary{cursor:pointer;min-height:var(--touch);align-items:center;gap:8px;padding:6px 0;display:flex}.advanced-group[open]>summary{margin-bottom:8px}.studio-switch{gap:2px;display:inline-flex}.studio-switch a{color:var(--text-muted);border-radius:8px;padding:6px 12px;font-size:.9rem;text-decoration:none}.studio-switch a.active{background:var(--violet);color:#fff}.training-page{background:var(--bg);min-height:100dvh}.training-head{padding:calc(10px + var(--safe-top)) 16px 10px;border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.training-head-title{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.training-head h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.15rem;overflow:hidden}.training-main{max-width:1200px;margin:0 auto;padding:16px}.training-notice{font-size:.85rem}.training-library{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.scenario-card-head{justify-content:space-between;align-items:start;gap:8px;display:flex}.scenario-card h3{margin:0}.training-sessions{gap:8px;margin:0;padding:0;list-style:none;display:grid}.session-row{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 10px;display:flex}.instructor-only{border-left:4px solid var(--warn);background:#f5b14c12;border-radius:4px;padding:6px 10px}.emergency-stop{color:#fff;letter-spacing:.03em;background:#d62839;border:2px solid #fff3;min-height:52px;padding:0 20px;font-weight:800}.emergency-stop:disabled{opacity:.5}.console-bar{z-index:5;background:var(--bg-deep);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 16px;display:flex;position:sticky;top:0}.console-time{font-variant-numeric:tabular-nums;font-size:1.1rem}.run-running{color:#fff;background:#1f7a4c}.run-paused{background:var(--warn);color:#000}.run-stopped,.run-ended{color:#fff;background:#555}.console-grid{grid-template-columns:200px minmax(0,1fr) 360px;gap:14px;padding:14px 16px;display:grid}@media (width<=1100px){.console-grid{grid-template-columns:minmax(0,1fr)}}.console-stages ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.stage-btn{justify-content:flex-start;width:100%;min-height:44px}.stage-btn.current{background:var(--violet);color:#fff}.console-run{flex-wrap:wrap;gap:8px;display:flex}.console-run .btn{min-height:48px}.response-cards{gap:10px;display:grid}.response-topic h3,.branch-cards h3{color:var(--text-muted);margin:6px 0 4px;font-size:.85rem}.response-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.response-card.played{border-color:var(--aqua)}.branch-cards{gap:8px;display:grid}.branch-btn{text-align:left;justify-items:start;min-height:56px;display:grid}.branch-btn.chosen{border-color:var(--aqua);outline:2px solid var(--aqua)}.console-preview .scene-preview,.scene-preview{aspect-ratio:16/9;background:#000;border-radius:8px;width:100%;height:auto;display:block}.scene-preview.large{max-width:960px}.obs-row.target span{font-weight:600}.event-log{max-height:220px;padding-left:18px;overflow:auto}.scenario-meta{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.scenario-tabs{flex-wrap:wrap}.editor-line{border-top:1px dashed var(--line);gap:4px;padding:6px 0;display:grid}.voice-slot{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.obs-table{border-collapse:collapse;width:100%}.obs-table td,.obs-table th{border-bottom:1px solid var(--line);vertical-align:top;text-align:left;padding:6px}.obs-table textarea{width:100%}.session-path{padding-left:18px}.session-path .t{font-variant-numeric:tabular-nums;color:var(--text-muted)}.training-output{background:#000;position:fixed;inset:0;overflow:hidden}.training-output-canvas{width:100vw;height:100vh;position:absolute;top:0;left:0}.training-setup{text-align:center;background:#08090cf0;place-content:center;gap:14px;max-width:none;padding:24px;display:grid;position:absolute;inset:0}.training-output-notice{color:#fff;background:#000000bf;border-radius:6px;padding:6px 12px;animation:6s forwards fadeout;position:absolute;top:16px;left:50%;transform:translate(-50%)}@keyframes fadeout{0%,80%{opacity:1}to{opacity:0}}.training-calibration{touch-action:none;position:absolute;inset:0}.training-calibration svg{position:absolute;inset:0}.cal-handle{background:#22d3ee;border:3px solid #fff;border-radius:50%;width:36px;height:36px;margin:-18px 0 0 -18px;position:absolute}.cal-help{color:#fff;background:#000000b3;border-radius:6px;padding:6px 12px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.cal-reset{position:absolute;bottom:16px;left:16px}.console-main,.console-side{align-content:start;align-self:start}.console-run{align-items:center}.training-gate{max-width:420px;margin:48px auto}.training-gate-input{letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums;font-size:2rem}.tutorial{gap:12px;width:min(760px,100%);display:grid}.tutorial-demo{aspect-ratio:16/9;background:#11141b;border-radius:8px;overflow:hidden}.tutorial-demo-svg,.tutorial-demo-scene{width:100%;height:100%;display:block}.tutorial-demo-report{color:#0f172a;background:#f8fafc;align-content:center;gap:6px;height:100%;padding:16px 24px;font-size:.9rem;display:grid}.tutorial-text h3{margin:0 0 6px}.tutorial-text ol,.tutorial-text ul{margin:6px 0;padding-left:20px}.tutorial-dots{justify-content:center;gap:6px;display:flex}.tutorial-dots .dot{background:var(--border,#3a4152);cursor:pointer;border:0;border-radius:3px;width:28px;height:6px;padding:0;position:relative;overflow:hidden}.tutorial-dots .dot.active{background:var(--accent-soft,#155e75)}.tutorial-dots .dot-fill{background:var(--accent,#22d3ee);transform-origin:0;animation:linear forwards tutorial-fill;position:absolute;inset:0}@keyframes tutorial-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tutorial-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.tutorial-nav{gap:6px;display:flex}@media (prefers-reduced-motion:reduce){.tutorial-dots .dot-fill{animation:none}}.landing{min-height:100dvh;color:var(--text);background:#08080a;position:relative;overflow-x:hidden}.landing-canvas{width:100%;height:clamp(300px,64dvh,720px);display:block}.landing-skip{top:calc(12px + var(--safe-top));z-index:2;position:absolute;right:16px}.landing-content{z-index:1;text-align:center;opacity:0;pointer-events:none;justify-items:center;gap:16px;padding:8px 16px 48px;transition:opacity .8s,transform .8s;display:grid;position:relative;transform:translateY(16px)}.landing-content.show{opacity:1;pointer-events:auto;transform:none}.landing-title{letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,5vw,3rem)}.landing-title span{background:linear-gradient(90deg, var(--violet), var(--aqua));color:#0000;-webkit-background-clip:text;background-clip:text}.landing-lead{max-width:620px;color:var(--text-muted);margin:0}.landing-start{min-width:180px;font-size:1.15rem;box-shadow:0 0 32px #8b5cf673}.landing-cards{text-align:left;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:min(960px,100%);margin:24px 0 0;padding:0;list-style:none;display:grid}.landing-cards li{border:1px solid var(--line);border-radius:var(--radius);background:#1a1a1fd9;padding:16px}.landing-cards h2{margin:0 0 6px;font-size:1.05rem}.landing-cards p{color:var(--text-muted);margin:0;font-size:.92rem}.landing-hooks{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.landing-hooks li{color:#c9f5ee;background:#2dd4bf12;border:1px solid #2dd4bf59;border-radius:999px;padding:6px 12px;font-size:.88rem}.landing-section{justify-items:center;gap:12px;width:min(1040px,100%);margin-top:40px;display:grid}.landing-h2{letter-spacing:-.01em;margin:0;font-size:clamp(1.35rem,3.4vw,1.9rem)}.landing-sub{color:var(--text-muted);margin:0}.landing-examples{text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:14px;width:100%;margin:8px 0 0;padding:0;list-style:none;display:grid}.landing-example{border:1px solid var(--line);border-radius:var(--radius);background:#14141ae6;padding:12px 12px 16px;transition:border-color .25s,transform .25s,box-shadow .25s}.landing-example:hover{border-color:#8b5cf699;transform:translateY(-3px);box-shadow:0 10px 30px #8b5cf62e}.landing-example h3{margin:12px 4px 6px;font-size:1.05rem}.landing-example p{color:var(--text-muted);margin:0 4px;font-size:.92rem}.landing-mini{border-radius:var(--radius-sm);background:#050507;place-items:center;height:120px;display:grid;position:relative;overflow:hidden}.mini-neon .mini-word{letter-spacing:.08em;background:linear-gradient(90deg,#22d3ee,#a855f7,#f472b6,#22d3ee) 0 0/300% 100%;color:#0000;-webkit-text-stroke:1px #22d3eeb3;filter:drop-shadow(0 0 10px #a855f7a6);-webkit-background-clip:text;background-clip:text;font:400 3.2rem/1 Bebas Neue,sans-serif;animation:6s linear infinite mini-drift}@keyframes mini-drift{to{background-position:300% 0}}.mini-box{perspective:400px}.mini-cube{width:64px;height:64px;transform-style:preserve-3d;position:relative;transform:rotateX(-28deg)rotateY(45deg)}.mini-cube i{color:#8b5cf6;opacity:.2;background:#8b5cf6;border:1px solid #ffffff26;animation:3s ease-in-out infinite mini-face;position:absolute;inset:0}.mini-cube i:first-child{transform:translateZ(32px)}.mini-cube i:nth-child(2){color:#22d3ee;background:#22d3ee;animation-delay:1s;transform:rotateY(90deg)translateZ(32px)}.mini-cube i:nth-child(3){color:#f472b6;background:#f472b6;animation-delay:2s;transform:rotateX(90deg)translateZ(32px)}@keyframes mini-face{0%,to{opacity:.2;box-shadow:none}20%{opacity:1;box-shadow:0 0 24px}45%{opacity:.2}}.mini-music{justify-content:center;align-items:flex-end;gap:6px;padding-bottom:18px;display:flex}.mini-music i{transform-origin:bottom;background:linear-gradient(#a855f7,#22d3ee);border-radius:3px;width:10px;height:70px;animation:.9s ease-in-out infinite alternate mini-bar;box-shadow:0 0 10px #22d3ee80}@keyframes mini-bar{0%{transform:scaleY(.15)}to{transform:scaleY(1)}}.mini-aurora i{filter:blur(8px);background:radial-gradient(40% 30% at 30% 55%,#22d3eebf,#0000 70%),radial-gradient(35% 28% at 70% 45%,#a855f7bf,#0000 70%);animation:5s ease-in-out infinite alternate mini-sway;position:absolute;inset:-40%}.mini-aurora b{background:#fff;border-radius:50%;width:14px;height:14px;animation:5s ease-in-out infinite alternate mini-hand;position:absolute;box-shadow:0 0 18px 6px #ffffff8c}@keyframes mini-sway{0%{transform:translate(-12%)skew(-8deg)}to{transform:translate(12%)skew(8deg)}}@keyframes mini-hand{0%{transform:translate(-70px,25px)}to{transform:translate(70px,-25px)}}.mini-show{align-content:center;gap:14px}.mini-show em{letter-spacing:.12em;color:#e9d5ff;text-shadow:0 0 12px #a855f7,0 0 2px #22d3ee;font:400 1.7rem/1 Bebas Neue,sans-serif;animation:4s step-end infinite mini-flicker}@keyframes mini-flicker{0%,to{opacity:1}33%{opacity:.35}66%{opacity:.8}}.mini-track{grid-template-columns:1fr 1.4fr 1fr;gap:4px;width:200px;height:14px;display:grid;position:relative}.mini-track i{background:#8b5cf68c;border-radius:3px}.mini-track i:nth-child(2){background:#22d3ee8c}.mini-track b{background:#fff;width:2px;animation:4s linear infinite mini-playhead;position:absolute;top:-5px;bottom:-5px;left:0;box-shadow:0 0 8px #fff}@keyframes mini-playhead{to{left:100%}}.mini-cutout i{background:linear-gradient(120deg,#1e1b4b,#0e7490,#7c3aed,#1e1b4b) 0 0/300% 300%;animation:8s linear infinite mini-drift;position:absolute;inset:0}.mini-cutout b{width:70px;height:100px;clip-path:path("M35 0a18 18 0 1 1 0 36a18 18 0 1 1 0-36zM2 100c0-30 12-52 33-52s33 22 33 52z");background:#050507;margin-top:24px;animation:3s ease-in-out infinite alternate mini-step;position:relative}@keyframes mini-step{0%{transform:translate(-40px)}to{transform:translate(40px)}}.landing-steps{counter-reset:step;text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;width:100%;margin:8px 0 0;padding:0;list-style:none;display:grid}.landing-steps li{counter-increment:step;border:1px solid var(--line);border-radius:var(--radius);background:#14141ad9;gap:4px;padding:14px 16px 14px 60px;display:grid;position:relative}.landing-steps li:before{content:counter(step);background:linear-gradient(135deg, var(--violet), var(--aqua));color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid;position:absolute;top:14px;left:16px}.landing-steps b{font-size:1.05rem}.landing-steps span{color:var(--text-muted);font-size:.92rem}.landing-facts{text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;width:100%;margin:8px 0 0;padding:0;list-style:none;display:grid}.landing-facts li{border-left:3px solid var(--aqua);border-radius:var(--radius-sm);color:var(--text-muted);background:#2dd4bf0d;padding:14px 16px;font-size:.92rem}.landing-facts b{color:var(--text)}@media (prefers-reduced-motion:reduce){.landing-mini *,.landing-example{transition:none;animation:none!important}}.landing-grid{perspective:300px;pointer-events:none;height:clamp(150px,26dvh,260px);animation:1.2s .6s both landing-grid-in;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 40%);mask-image:linear-gradient(#0000,#000 40%)}.landing-grid:before{content:"";transform-origin:top;filter:drop-shadow(0 0 3px #22d3ee)drop-shadow(0 0 10px #22d3eeb3);background-image:linear-gradient(#38dcfff2 2px,#0000 2px),linear-gradient(90deg,#38dcfff2 2px,#0000 2px);background-position:50% 0;background-size:52px 52px;height:220%;animation:2.2s linear infinite landing-grid-move;position:absolute;top:0;left:-60%;right:-60%;transform:rotateX(64deg)}.landing-grid:after{content:"";background:radial-gradient(70% 60% at 50% 100%,#22d3ee38,#0000 70%);position:absolute;inset:0}@keyframes landing-grid-move{to{background-position:50% 52px}}@keyframes landing-grid-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.landing-grid,.landing-grid:before{animation:none}.landing-content{transition:none}}.app-gate-page{background:#08080a;place-items:center;min-height:100dvh;padding:16px;display:grid}.app-gate{text-align:center;justify-items:center;width:100%;max-width:440px}.app-gate h1{margin:0;font-size:1.4rem}.app-gate-logo{object-fit:contain;width:96px;height:96px}.app-gate-input{letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;width:100%;font-size:1.8rem}.app-gate .btn{width:100%}.app-gate .btn-sm{width:auto}.app-gate .notice{text-align:left;width:100%}.account-tabs{border:1px solid var(--line);background:var(--bg-deep);border-radius:999px;grid-template-columns:1fr 1fr;width:100%;padding:4px;display:grid}.account-tabs button{min-height:38px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;font-weight:600}.account-tabs button.is-on{background:var(--violet);color:#fff}.account-google{color:#1f1f1f;background:#fff;border-color:#dadce0;justify-content:center;align-items:center;gap:10px;font-weight:600;display:inline-flex}.account-google:hover:not(:disabled){background:#f2f2f2}.account-divider{width:100%;color:var(--text-muted);align-items:center;gap:10px;font-size:.8rem;display:flex}.account-divider:before,.account-divider:after{content:"";background:var(--line);flex:1;height:1px}.account-field{text-align:left;width:100%}.account-show{place-self:flex-start start;font-size:.85rem}.home-account{align-items:center;gap:6px;display:inline-flex}.account-avatar{background:var(--violet);color:#fff;text-transform:uppercase;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.72rem;font-weight:700;display:inline-grid}.account-page .faq-page-main{gap:18px;max-width:640px;display:grid}.account-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:12px;padding:18px;display:grid}.account-card h2{margin:0;font-size:1.05rem}.account-card .row{flex-wrap:wrap;gap:10px;display:flex}.account-plan{border:1px solid var(--line-strong);letter-spacing:.04em;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700;display:inline-block}.pro-badge{color:#fff;letter-spacing:.08em;white-space:nowrap;background:linear-gradient(135deg,#8b5cf6,#2dd4bf);border-radius:999px;align-self:center;padding:2px 9px;font-size:.72rem;font-weight:800;line-height:1.4;display:inline-block;box-shadow:0 0 14px #8b5cf673}.pro-tag{color:#c4b5fd;letter-spacing:.06em;vertical-align:middle;white-space:nowrap;border:1px solid #8b5cf699;border-radius:999px;margin-left:6px;padding:0 6px;font-size:.62rem;font-weight:800;line-height:1.5;display:inline-block}.get-pro-btn{color:#c4b5fd;border:1px solid #8b5cf68c}.upgrade{gap:12px;display:grid}.upgrade-why{border-radius:var(--radius-sm);background:#8b5cf624;border:1px solid #8b5cf673;margin:0;padding:10px 12px;font-weight:600}.upgrade-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.upgrade-list li{padding-left:24px;position:relative}.upgrade-list li:before{content:"✦";color:var(--aqua);position:absolute;left:4px}.upgrade-list li.is-why{color:#fff;font-weight:700}.upgrade-actions{flex-wrap:wrap;gap:10px;display:flex}.visual-card.is-locked .visual-apply{opacity:.85}.visual-lock{z-index:1;line-height:1;position:absolute;top:8px;left:8px}.visual-lock .pro-tag{background:#0e0e11d9;margin:0}.admin-page .faq-page-main.admin-main{gap:18px;max-width:1180px;display:grid}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.admin-stat{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:4px;padding:14px 16px;display:grid}.admin-stat.is-accent{border-color:#8b5cf699;box-shadow:inset 0 0 0 1px #8b5cf640}.admin-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.admin-stat-value{font-variant-numeric:tabular-nums;font-size:1.6rem}.admin-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:10px;min-width:0;padding:16px;display:grid}.admin-card h2{margin:0;font-size:1.05rem}.admin-chart{grid-template-columns:repeat(30,1fr);align-items:end;gap:3px;height:140px;display:grid}.admin-bar{align-items:flex-end;height:100%;display:flex;position:relative}.admin-bar-fill,.admin-bar-pro{border-radius:3px 3px 0 0;min-height:2px;position:absolute;bottom:0;left:0;right:0}.admin-bar-fill{background:#2dd4bfb3}.admin-bar-pro{background:var(--violet)}.admin-chart-axis{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.admin-key{vertical-align:middle;background:#2dd4bfb3;border-radius:2px;width:10px;height:10px;display:inline-block}.admin-key-pro{background:var(--violet);margin-left:8px}.admin-users-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-search{flex:220px;min-width:0}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 8px}.admin-table th{color:var(--text-muted);font-size:.8rem;font-weight:600}.admin-table tr.is-disabled td{opacity:.6}.admin-table .badge{margin-left:6px}.admin-badge{color:#c4b5fd;background:#8b5cf633}.admin-pro-src{margin-top:4px;display:block}.admin-actions{flex-wrap:wrap;gap:6px;display:flex}.account-danger{border-color:#ef444473}.app-version{border:1px solid var(--line);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-self:center;padding:2px 8px;font-size:.78rem}.landing-version{margin:32px 0 0}.dev-badge{color:#fcd34d;letter-spacing:.02em;vertical-align:middle;white-space:nowrap;background:#fbbf2424;border:1px solid #fbbf2473;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.68rem;font-weight:600;display:inline-block}.faq{text-align:left;gap:18px;width:100%;display:grid}.faq-group h3{color:var(--aqua);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:.85rem}.faq-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:#14141ad9;margin-bottom:8px}.faq-item summary{cursor:pointer;padding:12px 40px 12px 14px;font-weight:600;list-style:none;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--aqua);font-size:1.2rem;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.faq-item[open] summary:after{content:"−"}.faq-item p{color:var(--text-muted);margin:0 14px 12px;font-size:.93rem}.faq-updated{margin:0}.landing-faq{width:min(820px,100%)}.faq-page{background:var(--bg,#0b0b0e);min-height:100dvh}.faq-page-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 16px;padding:16px;display:flex}.faq-page-head h1{flex:1;margin:0;font-size:1.3rem}.faq-page-main{box-sizing:border-box;width:min(820px,100%);margin:0 auto;padding:24px 16px 48px}.home-section{margin-top:28px}.home-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:6px;display:flex}.home-section-head h2{align-items:center;gap:10px;margin:0;font-size:1.2rem;display:flex}.home-section-count{background:var(--panel-2);color:var(--text-muted);border-radius:999px;padding:1px 9px;font-size:.8rem;font-weight:600}.home-section-actions{gap:6px;display:flex}.home-section-hint{margin:0 0 12px}.home-section-empty{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:16px}.template-filter{flex-wrap:wrap;margin-bottom:12px}.template-filter button.active{color:var(--text);background:#8b5cf638}.template-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.template-card:hover{border-color:#8b5cf699}.template-open{aspect-ratio:16/9;cursor:pointer;background:#000;border:0;width:100%;padding:0;display:block;position:relative}.badge-template{color:#fcd34d;background:#0e0e11e0;border:1px solid #fbbf2480;position:absolute;top:10px;left:10px}.template-actions{justify-content:flex-end;padding:0 10px 10px;display:flex}.landing-showcase{width:min(1120px,100%)}.landing-eyebrow{color:var(--aqua);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.landing-big{font-size:clamp(1.9rem,5.5vw,3.2rem);line-height:1.1}.landing-big span{background:linear-gradient(90deg, #f97316, #f472b6, var(--violet), var(--aqua));color:#0000;-webkit-background-clip:text;background-clip:text}.landing-stats{color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:10px 28px;margin:6px 0 4px;padding:0;font-size:.92rem;list-style:none;display:flex}.landing-stats b{color:var(--text);text-align:center;text-shadow:0 0 18px #8b5cf699;font-size:1.9rem;line-height:1;display:block}.landing-showcase .landing-examples{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}.landing-showcase .landing-example{background:linear-gradient(#121218f5,#121218f5) padding-box padding-box,linear-gradient(135deg,#8b5cf680,#2dd4bf40,#f9731659) border-box;border:1px solid #0000;position:relative}.landing-showcase .landing-example:hover{transform:translateY(-5px)scale(1.015);box-shadow:0 16px 40px #8b5cf647,0 0 0 1px #2dd4bf4d}.landing-showcase .landing-mini{height:150px}.landing-showcase .landing-example h3{font-size:1.12rem}.landing-tag{color:#f5f3ff;background:#0a0a0ecc;border:1px solid #ffffff2e;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:600;position:absolute;top:8px;left:8px}.landing-cta{justify-items:center;gap:8px;margin-top:18px;display:grid}.landing-hero-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.landing-price-note{margin:-4px 0 0}.landing-tag.landing-tag-pro{color:#ddd6fe;letter-spacing:.06em;border-color:#8b5cf6b3;font-weight:800;left:auto;right:8px}.landing-uses{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr))}.plan-cards{text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:16px;width:min(820px,100%);margin-top:10px;display:grid}.plan-card{border:1px solid var(--line);border-radius:var(--radius);background:#14141aeb;align-content:start;gap:10px;padding:22px;display:grid}.plan-card.plan-pro{background:linear-gradient(#14121ef5, #14121ef5) padding-box, linear-gradient(135deg, var(--violet), var(--aqua)) border-box;border:1px solid #0000;box-shadow:0 16px 48px #8b5cf638}.plan-card h3{margin:0;font-size:1.2rem}.plan-price{color:var(--text-muted);margin:0}.plan-price b{color:var(--text);margin-right:6px;font-size:2.2rem;line-height:1}.plan-includes{margin:0;font-weight:600}.plan-list{gap:7px;margin:0;padding:0;font-size:.93rem;list-style:none;display:grid}.plan-list li{padding-left:24px;position:relative}.plan-list li:before{content:"✓";color:var(--aqua);font-weight:800;position:absolute;left:0}.plan-list li.plan-future{color:#ede9fe;background:#8b5cf624;border-radius:10px;margin-top:4px;padding:8px 10px 8px 34px;font-weight:700}.plan-list li.plan-future:before{content:"★";color:#c4b5fd;top:8px;left:12px}.mini-halloween{background:radial-gradient(circle at 80% 15%,#fafad259 0 8%,#0000 9%),linear-gradient(#1a0b2e,#07050c)}.mini-christmas{background:linear-gradient(#0b1730,#05070d)}.mh-house{justify-items:center;margin-top:24px;display:grid;position:relative}.mh-roof{clip-path:polygon(50% 0,100% 100%,0 100%);width:150px;height:46px;position:relative}.mini-halloween .mh-roof{background:#14532d;animation:5s step-end infinite mh-bolt}.mini-christmas .mh-roof{background:#1e293b}.mh-roof i{color:#facc15;background:#facc15;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite alternate mh-twinkle;position:absolute;bottom:3px;box-shadow:0 0 8px 2px}.mh-roof i:nth-child(3n+1){color:#ef4444;background:#ef4444}.mh-roof i:nth-child(3n+2){color:#22c55e;background:#22c55e}@keyframes mh-twinkle{0%{opacity:.25}to{opacity:1}}.mh-body{width:120px;height:62px;position:relative}.mini-halloween .mh-body{background:linear-gradient(90deg,#2e1065,#4c1d95,#2e1065)}.mini-christmas .mh-body{background:#111827;box-shadow:inset 0 0 0 1px #ffffff0f}.mh-win{width:26px;height:18px;position:absolute;top:12px}.mh-win:first-child{left:12px}.mh-win:nth-child(2){right:12px}.mini-halloween .mh-win{background:#f97316;animation:2.6s step-end infinite mh-candle;box-shadow:0 0 16px 3px #f97316bf}.mini-halloween .mh-win:nth-child(2){animation-delay:-1.3s}.mini-christmas .mh-win{background:radial-gradient(circle,#fde68a,#f59e0b);box-shadow:0 0 14px 2px #fde68a99}@keyframes mh-candle{0%,to{opacity:1}30%{opacity:.45}34%{opacity:1}70%{opacity:.7}}.mh-door{width:20px;height:32px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.mini-halloween .mh-door{background:linear-gradient(#22c55e,#7c3aed);box-shadow:0 0 12px #7c3aedcc}.mini-christmas .mh-door{background:#b91c1c}.mini-christmas .mh-door:after{content:"";border:3px solid #16a34a;border-radius:50%;width:12px;height:12px;position:absolute;top:5px;left:50%;transform:translate(-50%);box-shadow:0 0 8px #facc15}.mh-flash{opacity:0;background:#e9d5ff;animation:5s step-end infinite mh-flash;position:absolute;inset:0}@keyframes mh-flash{0%,to{opacity:0}62%{opacity:.55}63%{opacity:0}65%{opacity:.35}66%{opacity:0}}@keyframes mh-bolt{0%,to{background:#14532d}62%,65%{background:#a855f7}}.mh-snow{opacity:.85;background:#fff;border-radius:50%;width:4px;height:4px;animation:linear infinite mh-fall;position:absolute;top:-6px}@keyframes mh-fall{to{transform:translate(14px,165px)}}.faq-short{gap:0}.update-toast{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:1000;border-radius:var(--radius);background:#17151f;width:min(640px,100% - 32px);position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 12px 40px #0009,0 0 0 1px #8b5cf699}.update-toast .update-banner{border:0}.update-prompt-intro{margin:0 0 16px}.install-prompt{align-items:flex-start;gap:16px;display:flex}.install-prompt img{border-radius:14px;flex:none}.install-prompt p{margin:0 0 8px}.install-prompt ul{margin:0 0 12px;padding-left:18px}.install-prompt li+li{margin-top:4px}.file-btn{cursor:pointer;position:relative;overflow:hidden}.file-btn input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.surface-photo,.ai-video{flex-direction:column;gap:12px;display:flex}.surface-photo-stage{touch-action:none;-webkit-user-select:none;user-select:none;align-self:center;max-width:100%;line-height:0;position:relative}.surface-photo-stage canvas{border-radius:var(--radius-sm);max-width:100%;max-height:60vh;display:block}.surface-photo-stage svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.surface-photo-stage polygon{fill:#2dd4bf1f;stroke:var(--aqua);stroke-width:.4px;vector-effect:non-scaling-stroke}.corner-dot{border:2px solid var(--aqua);width:30px;height:30px;color:var(--text);cursor:grab;touch-action:none;background:#0e0e118c;border-radius:50%;margin:-15px 0 0 -15px;font:600 12px/1 system-ui,sans-serif;position:absolute}.corner-dot.active{border-color:var(--violet);box-shadow:0 0 0 3px #8b5cf659}.corner-dot:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.ai-start{align-items:center;gap:12px;display:flex}.ai-start img{object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--line);background:#000;flex-shrink:0;width:96px;max-height:96px}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip-row .chip{cursor:pointer;min-height:32px;padding:0 12px;font-size:13px}.engine-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:8px;display:grid}.engine-card{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;display:flex}.engine-card[aria-checked=true]{border-color:var(--violet);background:#8b5cf629}.engine-name{font-weight:600}.engine-meta{color:var(--aqua)}.engine-note{color:var(--warn)}.ai-confirm{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-deep);flex-direction:column;gap:8px;padding:12px;display:flex}.ai-jobs ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ai-job{border-radius:var(--radius-sm);border:1px solid var(--line);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.ai-job-failed{border-color:var(--danger)}.ai-job-done{border-color:var(--aqua)}.ai-job-prompt{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ai-pay{flex-direction:column;gap:12px;display:flex}.ai-steps{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-deep);padding:8px 12px}.ai-steps summary{cursor:pointer;align-items:center;min-height:32px;font-weight:600;display:flex}.ai-steps ol{flex-direction:column;gap:8px;margin:8px 0 4px;padding-left:20px;display:flex}.ai-steps a{color:var(--aqua)}.ai-key-add>summary{margin-bottom:8px;list-style:none;display:inline-flex}.ai-key-add>summary::-webkit-details-marker{display:none}.font-picker .button-row{flex-wrap:wrap;gap:8px;display:flex}.font-preview{border-radius:var(--radius-sm);background:var(--bg-deep);white-space:nowrap;text-overflow:ellipsis;margin:4px 0 8px;padding:8px 12px;font-size:1.6rem;line-height:1.3;overflow:hidden}.file-btn.disabled{opacity:.6;pointer-events:none}.project-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=599px){.studio-compact .save-btn{display:none}}.layer-grip{cursor:grab;touch-action:none;width:28px;min-width:28px;color:var(--text-muted);flex:none}.dragging-list,.dragging-list .layer-grip{cursor:grabbing;-webkit-user-select:none;user-select:none}.layer-wrap.dragging{opacity:.45}.layer-wrap.drop-before{box-shadow:0 -3px 0 0 var(--aqua)}.layer-wrap.drop-after{box-shadow:0 3px 0 0 var(--aqua)}.visual-filter .chip[aria-checked=true]{border-color:var(--aqua);color:var(--text);background:#2dd4bf26}.home-more{margin-top:10px}.site-footer{border-top:1px solid var(--line);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:32px;padding:16px 0 8px;font-size:.85rem;display:flex}.site-footer nav{gap:16px;display:flex}.site-footer a{color:var(--text-muted)}.site-footer a:hover{color:var(--text)}.terms-body h2{margin:24px 0 8px;font-size:1.1rem}.terms-body p,.terms-body li{max-width:72ch;line-height:1.6}.terms-body ul{padding-left:20px}.terms-page .site-footer{max-width:900px;margin:24px auto 0;padding-left:16px;padding-right:16px}.app-version-btn{font:inherit;cursor:pointer;background:0 0;font-size:.78rem}.app-version-btn:hover,.app-version-btn:focus-visible{color:var(--text);border-color:var(--violet)}.whats-new section+section{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.whats-new h3{margin:0 0 6px;font-size:1rem}.whats-new ul{margin:0;padding-left:1.2em;line-height:1.5}.whats-new li+li{margin-top:4px}.visual-search{margin:4px 0 8px}.visual-search input{width:100%}.landing-new{max-width:100%;color:var(--text);background:#8b5cf61a;border:1px solid #8b5cf673;border-radius:999px;align-items:center;gap:8px;padding:5px 14px 5px 5px;font-size:.86rem;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.landing-new b{background:linear-gradient(90deg, var(--violet), var(--aqua));color:#0b0b0e;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:2px 10px;font-size:.72rem}.landing-new:hover,.landing-new:focus-visible{border-color:var(--aqua);background:#2dd4bf1a}.landing-visuals{position:relative}.landing-visuals:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(#8b5cf62e,#2dd4bf0f 45%,#0000 70%);height:340px;position:absolute;inset:-40px -10% auto}.showcase{justify-items:center;gap:14px;width:100%;margin-top:6px;display:grid}.showcase-tabs{justify-content:center}.showcase-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:12px;width:100%;margin:0;padding:0;list-style:none;display:grid}.showcase-tile{border:1px solid var(--line);border-radius:var(--radius);aspect-ratio:16/10;background:#000;transition:transform .25s,border-color .25s,box-shadow .25s;animation:.5s both showcase-in;position:relative;overflow:hidden}.showcase-tile:nth-child(2){animation-delay:40ms}.showcase-tile:nth-child(3){animation-delay:80ms}.showcase-tile:nth-child(4){animation-delay:.12s}.showcase-tile:nth-child(5){animation-delay:.16s}.showcase-tile:nth-child(6){animation-delay:.2s}.showcase-tile:nth-child(7){animation-delay:.24s}.showcase-tile:nth-child(8){animation-delay:.28s}.showcase-tile:hover{border-color:#8b5cf699;transform:translateY(-3px);box-shadow:0 10px 30px #8b5cf640}.showcase-canvas{width:100%;height:100%;display:block}.showcase-name{color:var(--text);text-align:left;background:linear-gradient(#0000,#000000c7);padding:18px 10px 8px;font-size:.9rem;font-weight:600;position:absolute;bottom:0;left:0;right:0}@keyframes showcase-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.landing-features{text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:14px;width:100%;margin:10px 0 0;padding:0;list-style:none;display:grid}.landing-features li{border:1px solid var(--line);border-radius:var(--radius);background:#14141ae6;padding:16px}.landing-features h3{margin:8px 0 6px;font-size:1.05rem}.landing-features p{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.5}.lf-icon{background:linear-gradient(135deg,#8b5cf640,#2dd4bf2e);border-radius:10px;place-items:center;width:40px;height:40px;font-size:1.3rem;display:inline-grid}@media (prefers-reduced-motion:reduce){.showcase-tile{transition:none;animation:none}}.showcase-tabs .chip[aria-selected=true],.admin-users-head .chip[aria-selected=true]{border-color:var(--aqua);color:var(--text);background:#2dd4bf26}.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.showcase-name{padding:14px 8px 6px;font-size:.8rem}@media (width>=720px){.showcase-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.showcase-name{padding:18px 10px 8px;font-size:.9rem}}
