@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-cyrillic-ext-wght-normal-DhYMMuQd.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-cyrillic-wght-normal-Y3u8pIsh.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-greek-ext-wght-normal-wWus70Ix.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-greek-wght-normal-B2SviObF.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-symbols2-wght-normal-CE6EOz_n.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-latin-ext-wght-normal-Dvfvaomy.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-latin-wght-normal-CHoedHDv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--background-page:var(--lightningcss-light,#f9f9fb)var(--lightningcss-dark,#0a0a0a);--background-card:var(--lightningcss-light,#fff)var(--lightningcss-dark,#121212);--background-muted:var(--lightningcss-light,#f2f2f5)var(--lightningcss-dark,#1e1e1e);--background-selected:var(--lightningcss-light,#fff)var(--lightningcss-dark,#2e2e2e);--background-viewer:var(--lightningcss-light,#f6f6f9)var(--lightningcss-dark,#0e0e0e);--background-primary:var(--lightningcss-light,#1c1c26)var(--lightningcss-dark,#ededed);--background-building:var(--lightningcss-light,#fff6f0)var(--lightningcss-dark,#2e1c0d);--text-default:var(--lightningcss-light,#1c1c26)var(--lightningcss-dark,#ededed);--text-secondary:var(--lightningcss-light,#4a4a58)var(--lightningcss-dark,#b0b0b0);--text-tertiary:var(--lightningcss-light,#7a7a8a)var(--lightningcss-dark,#7c7c7c);--text-on-primary:var(--lightningcss-light,#fff)var(--lightningcss-dark,#121212);--text-error:var(--lightningcss-light,#c0404a)var(--lightningcss-dark,#ef7078);--stroke-default:var(--lightningcss-light,#ebebf1)var(--lightningcss-dark,#242424);--stroke-strong:var(--lightningcss-light,#d8d8e2)var(--lightningcss-dark,#343434);--stroke-focus:var(--lightningcss-light,#adadbc)var(--lightningcss-dark,#555);--accent:#f76808;--radius-small:4px;--radius-medium:6px;--radius-button:8px;--radius-large:12px;--elevation-1:0 1px 2px #1c1c260f, 0 1px 1px #1c1c260a;color:var(--text-default);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans Variable,ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:20px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--background-page);margin:0}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--stroke-default);background:var(--background-card);border-radius:var(--radius-button);align-items:center;gap:6px;padding:5px 10px;display:inline-flex}button:disabled{opacity:.4;cursor:default}button.active{background:var(--background-muted);font-weight:600}.muted{color:var(--text-tertiary)}.small{font-size:12px;line-height:16px}.label{color:var(--text-tertiary);margin:16px 0 8px;font-size:12px;font-weight:600}.app{background:var(--background-card);grid-template-rows:56px minmax(0,1fr);grid-template-columns:340px minmax(0,1fr);height:100vh;display:grid}header{border-bottom:1px solid var(--stroke-default);white-space:nowrap;grid-column:1/-1;align-items:center;gap:8px;min-width:0;padding:0 20px;display:flex}.brand{background:0 0;border:none;gap:12px;margin-right:16px;padding:0;font-size:16px;font-weight:600}.brand-icon{width:26px;height:26px}.title{text-overflow:ellipsis;min-width:0;margin-right:4px;font-weight:600;overflow:hidden}.chip{color:var(--text-secondary);background:var(--background-muted);border-radius:999px;padding:3px 10px;font-size:12px;line-height:16px}.spacer{flex:1}aside{border-right:1px solid var(--stroke-default);flex-direction:column;min-height:0;display:flex}.aside-bar{border-bottom:1px solid var(--stroke-default);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.aside-body{flex-direction:column;flex:1;min-height:0;padding:0 16px 16px;display:flex}.tabs{background:var(--background-muted);border-radius:var(--radius-button);align-self:flex-start;gap:2px;padding:3px;display:flex}.tabs button{border-radius:var(--radius-medium);color:var(--text-secondary);background:0 0;border:none;padding:4px 12px}.tabs button.active{background:var(--background-selected);color:var(--text-default);box-shadow:var(--elevation-1)}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-log{scrollbar-width:none;flex-direction:column;flex:1;gap:8px;padding:16px 2px;display:flex;overflow-y:auto}.chat-intro h2{margin:8px 0 6px;font-size:24px;font-weight:600;line-height:32px}.chat-intro p{color:var(--text-secondary);margin:0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{border-radius:999px;font-size:13px}.msg{border-radius:var(--radius-large);white-space:pre-wrap;overflow-wrap:anywhere;max-width:88%;padding:8px 12px}.markdown{white-space:normal}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown :is(p,ul,ol,pre,table,blockquote){margin:0 0 8px}.markdown :is(ul,ol){padding-left:20px}.markdown :is(h1,h2,h3,h4){margin:12px 0 6px;font-size:14px}.markdown code{font-family:Fira Code Variable,ui-monospace,monospace;font-size:12px}.markdown pre{background:var(--background-page);border-radius:6px;padding:8px;overflow-x:auto}.markdown table{border-collapse:collapse;font-size:12px}.markdown :is(th,td){border:1px solid var(--stroke-default);padding:2px 8px}.markdown a{color:inherit}.msg.user{background:var(--background-muted);align-self:flex-end}.msg.assistant{align-self:stretch;max-width:none;padding:0 2px}.msg.system{color:var(--text-error);align-self:center;font-size:12px;line-height:16px}.msg.tool{color:var(--text-tertiary);align-self:flex-start;padding:0 2px;font-size:12px;line-height:16px}.msg-render{border-radius:var(--radius-medium);cursor:zoom-in;opacity:.8;margin-top:6px;padding:0;transition:opacity .15s;display:block;overflow:hidden}.msg-render:hover{opacity:1}.msg-render img{aspect-ratio:1;object-fit:cover;width:88px;display:block}.lightbox{border-radius:var(--radius-large);cursor:zoom-out;background:#f6f6f9;border:none;padding:0}.lightbox::backdrop{background:#0009}.lightbox img{width:min(88vw,88vh);display:block}.msg.thinking{flex-direction:column;gap:6px;display:flex}.thinking-head{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.shimmer{background:linear-gradient(100deg, var(--text-tertiary) 40%, var(--text-default) 50%, var(--text-tertiary) 60%) 0 0 / 250% 100% no-repeat;color:#0000;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite shimmer,.4s ease-out fade-in}@media (prefers-reduced-motion:reduce){.shimmer{animation:none}}.thinking-text{scrollbar-width:none;max-height:150px;color:var(--text-tertiary);font-size:12px;line-height:18px;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 30px);mask-image:linear-gradient(#0000,#000 30px)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes fade-in{0%{opacity:0}}.composer{border:1px solid var(--stroke-strong);border-radius:var(--radius-large);flex-direction:column;display:flex;position:relative}.composer:focus-within{border-color:var(--stroke-focus)}.composer.dragging{border-style:dashed;border-color:var(--accent)}.composer textarea{resize:none;font:inherit;color:inherit;field-sizing:content;background:0 0;border:none;outline:none;min-height:96px;max-height:240px;padding:10px 12px 44px}.attachments{flex-wrap:wrap;gap:8px;padding:10px 12px 0;display:flex}.attachment{position:relative}.attachment img{object-fit:cover;border-radius:var(--radius-medium);border:1px solid var(--stroke-default);width:48px;height:48px;display:block}.attachment button{background:var(--background-primary);width:18px;height:18px;color:var(--text-on-primary);border:2px solid var(--background-card);border-radius:999px;justify-content:center;padding:0;position:absolute;top:-6px;right:-6px}.round{border-radius:999px;justify-content:center;width:28px;height:28px;padding:0;position:absolute;bottom:8px}.attach{color:var(--text-secondary);left:8px}.send{background:var(--background-primary);color:var(--text-on-primary);border:none;right:8px}.send.stop{background:var(--text-error)}.gallery-note{border-radius:var(--radius-large);background:var(--background-muted);color:var(--text-secondary);margin:0;padding:12px;font-size:13px}.library-toggle{color:var(--text-secondary);background:0 0;border:none;padding:6px 10px;font-weight:500}.library-toggle:hover,.library-toggle.active{color:var(--text-default);background:var(--background-muted)}.aside-title{font-weight:600}.library-page{z-index:5;background:var(--background-page);padding:8px 16px 32px;animation:.15s ease-out fade-in;position:absolute;inset:0;overflow-y:auto}.library-section+.library-section{margin-top:24px}.library-section h2{align-items:baseline;gap:8px;margin:8px 0 12px;font-size:15px;font-weight:600;display:flex}.library-section h2 .count{color:var(--text-tertiary);font-size:12px;font-weight:500}.library-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-auto-rows:max-content;gap:16px;display:grid}.tile{text-align:left;border-radius:var(--radius-large);background:var(--background-card);flex-direction:column;align-items:stretch;gap:0;padding:0;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;overflow:hidden}.tile:hover{border-color:var(--stroke-strong);transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.tile.active{border-color:var(--background-primary)}.tile-thumb{aspect-ratio:4/3;width:100%;color:var(--text-tertiary);background:var(--background-viewer);object-fit:cover;border-bottom:1px solid var(--stroke-default);place-items:center;font-size:32px;font-weight:700;display:grid}.tile-body{flex-direction:column;gap:2px;min-width:0;padding:10px 12px 12px;display:flex}.tile-body>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.library-empty{border:1px dashed var(--stroke-default);border-radius:var(--radius-large);color:var(--text-tertiary);text-align:center;margin:0;padding:28px 16px}.publish{align-items:center;gap:8px;min-width:0;display:inline-flex}.sign-in-error,.publish-error{color:var(--text-error);max-width:280px;font-size:13px}.sign-in-page{text-align:center;background:radial-gradient(60% 50% at 50% 38%, var(--background-muted), transparent 70%), var(--background-card);flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100dvh;padding:24px;animation:.4s ease-out both fade-in;display:flex}.sign-in-brick{flex-direction:column;align-items:center;margin-bottom:18px;display:flex}.brick-float{perspective:500px;padding-top:12px;animation:3.2s ease-in-out infinite float}.sign-in-brick .brick{--w:76px;animation:18s linear infinite turn}.sign-in-brick .brick-shadow{width:92px;height:12px;margin:26px 0 0;animation:3.2s ease-in-out infinite float-shadow}.sign-in-page h1{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:700;line-height:36px}.sign-in-lead{color:var(--text-secondary);margin:0 0 18px;font-size:15px}.sign-in-google{background:var(--background-primary);min-width:240px;height:44px;color:var(--text-on-primary);border-color:#0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .15s;display:inline-flex}.sign-in-google:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #0000002e}.sign-in-page .sign-in-error{max-width:320px;margin:4px 0 0}.sign-in-fine{color:var(--text-tertiary);margin:6px 0 0;font-size:12px}@keyframes float{50%{transform:translateY(-12px)}}@keyframes float-shadow{50%{opacity:.55;transform:scale(.75)}}.publish-button.active{color:var(--accent);border-color:var(--accent)}.menu-list.publish-confirm{white-space:normal;gap:6px;width:280px;padding:14px}.publish-confirm p{margin:0}.publish-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.publish-actions .primary{background:var(--background-primary);color:var(--text-on-primary);border-color:#0000;font-weight:600}.avatar{text-transform:uppercase;border-radius:999px;font-weight:700}.avatar.active{border-color:var(--background-primary)}.menu-head{border-bottom:1px solid var(--stroke-default);flex-direction:column;gap:2px;margin-bottom:4px;padding:8px 10px;display:flex}.new-build{color:var(--text-secondary);background:0 0;border:none;padding:5px 8px;font-size:13px;font-weight:500}.new-build:hover{color:var(--text-default);background:var(--background-muted)}.skeleton{pointer-events:none}.skeleton .tile-body{flex:1;gap:10px}.skeleton .bar{background:var(--background-muted);border-radius:5px;width:45%;height:10px}.skeleton .bar.wide{width:80%}.skeleton .tile-thumb,.skeleton .bar{animation:1.6s ease-in-out infinite breathe}.load-failed{color:var(--text-secondary);align-items:center;gap:12px;padding-top:16px;display:flex}.notice{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.brick-stage{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;animation:.3s ease-out .15s both fade-in;display:flex;position:absolute;inset:0}.brick-hop{perspective:400px;padding-top:8px;animation:.7s ease-in-out infinite hop}.brick{--w:40px;--h:calc(var(--w) * .6);--stud:calc(var(--w) * .3);--stud-h:calc(var(--w) * .106);width:var(--w);height:var(--h);transform-style:preserve-3d;animation:2.8s infinite twirl;position:relative}.brick-face{backface-visibility:hidden;background:#f1f1f4;place-items:center;display:grid;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #00000017}.brick-face b{font:800 calc(var(--h) * .6) / 1 "Plus Jakarta Sans Variable", sans-serif;color:#121212}.brick-face i{width:calc(var(--h) * .56);aspect-ratio:1;background:#121212;border-radius:50%}.brick-face.front{transform:translateZ(calc(var(--w) / 2))}.brick-face.back{transform:rotateY(180deg) translateZ(calc(var(--w) / 2))}.brick-face.right{transform:rotateY(90deg) translateZ(calc(var(--w) / 2));background:#dcdce3}.brick-face.left{transform:rotateY(-90deg) translateZ(calc(var(--w) / 2));background:#dcdce3}.brick-face.top,.brick-face.bottom{inset:auto;top:calc((var(--h) - var(--w)) / 2);width:var(--w);height:var(--w)}.brick-face.top{transform:rotateX(90deg) translateZ(calc(var(--h) / 2));transform-style:preserve-3d;background:#fff}.brick-face.bottom{transform:rotateX(-90deg) translateZ(calc(var(--h) / 2));background:#c8c8d0}.stud{left:calc(var(--w) * .25 - var(--stud) / 2);top:calc(var(--w) * .25 - var(--stud) / 2);width:var(--stud);height:var(--stud);transform-style:preserve-3d;position:absolute}.stud:nth-child(2n){left:calc(var(--w) * .75 - var(--stud) / 2)}.stud:nth-child(n+3){top:calc(var(--w) * .75 - var(--stud) / 2)}.stud i{transform:translateZ(calc(var(--layer) * var(--stud-h) / 4));background:#d4d4dc;border-radius:50%;position:absolute;inset:0}.stud i:last-child{background:#fff;box-shadow:inset 0 0 0 1px #00000014}.brick-shadow{background:radial-gradient(closest-side,#0000004d,#0000);border-radius:50%;width:52px;height:8px;margin:8px 0 14px;animation:.7s ease-in-out infinite hop-shadow}.brick-stage.idle .brick-hop,.brick-stage.idle .brick-shadow{animation:none}.brick-stage.idle .brick{--w:56px;animation:16s linear infinite turn}.brick-note{text-align:center;max-width:320px;color:var(--text-tertiary);font-weight:400}@keyframes twirl{0%{transform:rotateX(-28deg)rotateY(-45deg)}25%{transform:rotateX(-28deg)rotateY(45deg)}50%{transform:rotateX(-28deg)rotateY(135deg)}75%{transform:rotateX(-28deg)rotateY(225deg)}to{transform:rotateX(-28deg)rotateY(315deg)}0%,25%,50%,75%{animation-timing-function:cubic-bezier(.65,0,.35,1)}}@keyframes turn{0%{transform:rotateX(-24deg)rotateY(-45deg)}to{transform:rotateX(-24deg)rotateY(315deg)}}@keyframes hop{50%{transform:translateY(-10px)}}@keyframes hop-shadow{50%{opacity:.6;transform:scale(.7)}}@keyframes breathe{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.brick-hop,.brick-float,.brick,.brick-shadow,.skeleton .tile-thumb,.skeleton .bar{animation:none}.brick{transform:rotateX(-28deg)rotateY(-45deg)}}main{background:var(--background-page);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.center-bar{justify-content:space-between;gap:12px;margin:12px 16px;display:flex}.tabs-sep{background:var(--stroke-strong);width:1px;margin:4px 3px}.icon-button{width:36px;height:36px;color:var(--text-secondary);justify-content:center;padding:0}.menu{position:relative}.menu-list{z-index:10;background:var(--background-card);border:1px solid var(--stroke-default);border-radius:var(--radius-button);min-width:180px;box-shadow:0 8px 24px #0000001f, var(--elevation-1);flex-direction:column;padding:4px;animation:.12s fade-in;display:flex;position:absolute;top:calc(100% + 6px);right:0}.menu-list>a,.menu-list>button{border-radius:var(--radius-medium);color:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;text-decoration:none;display:flex}.menu-list>a:hover,.menu-list>button:hover{background:var(--background-muted)}.stage{flex:1;min-height:0;margin:0 16px;position:relative}.pane{border-radius:var(--radius-large);border:1px solid var(--stroke-default);background:var(--background-card);position:absolute;inset:0;overflow:hidden}.pane.hidden{visibility:hidden}.viewer,.viewer-canvas{position:absolute;inset:0}.viewer-canvas{background:var(--background-viewer)}.viewer-empty{text-align:center;width:100%;color:var(--text-tertiary);position:absolute;bottom:24px}.timeline{border:1px solid var(--stroke-default);border-radius:var(--radius-large);background:var(--background-card);align-items:center;gap:8px;margin:12px 16px 16px;padding:8px 12px;display:flex}.timeline .icon{color:var(--text-secondary);background:0 0;border:none;padding:6px}.timeline .play{background:var(--background-primary);width:34px;height:34px;color:var(--text-on-primary);border:none;border-radius:50%;justify-content:center}.timeline-export{white-space:nowrap;flex-shrink:0}.film-dialog{border:1px solid var(--stroke-default);background:var(--background-card);width:min(960px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text-default);border-radius:16px;padding:24px;overflow:auto;box-shadow:0 24px 100px #0005}.film-dialog::backdrop{background:#11182788}.film-heading,.film-progress-row,.film-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.film-heading{align-items:flex-start;margin-bottom:20px}.film-heading h2{margin:0 0 6px;font-size:22px}.film-dialog p{margin:0}.film-heading p,.film-context,.film-result>p{color:var(--text-secondary)}.film-layout{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:24px;display:grid}.film-preview{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#636371;background:#f6f6f9;border:1px solid #e2e2e9;border-radius:12px;justify-self:center;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.film-preview canvas,.film-preview img,.film-preview video{width:100%;height:auto;display:block}.film-preview canvas[hidden]{display:none}.film-controls,.film-controls fieldset,.film-controls label,.film-generation,.film-result{flex-direction:column;gap:12px;min-width:0;display:flex}.film-controls fieldset{border:0;margin:0;padding:0}.film-controls label{gap:5px;font-size:12px;font-weight:600}.film-controls select,.film-caption textarea{width:100%;font:inherit;color:var(--text-default);border:1px solid var(--stroke-default);border-radius:var(--radius-button);background:var(--background-page);padding:8px}.film-caption textarea{resize:vertical;font-weight:400}.film-controls .film-branding{flex-direction:row;align-items:center}.film-primary{font:inherit;border-radius:var(--radius-button);background:var(--background-primary);color:var(--text-on-primary);border:0;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-weight:600;text-decoration:none;display:inline-flex}.film-actions{flex-wrap:wrap;justify-content:flex-start}.film-generation progress{width:100%;accent-color:var(--accent)}.film-error{color:var(--text-error)}.film-copy{align-self:flex-start}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=760px){.film-dialog{padding:16px}.film-layout{grid-template-columns:minmax(0,1fr)}.film-preview{max-width:420px;margin:auto}.timeline{flex-wrap:wrap}.timeline .scrub{flex-basis:100%;order:1;margin-left:0}}.speeds{background:var(--background-muted);border-radius:var(--radius-button);gap:2px;padding:2px;display:flex}.shop-trigger{background:var(--background-primary);color:var(--text-on-primary);border-color:#0000;flex-shrink:0;font-weight:600}.shop-dialog{border:1px solid var(--stroke-default);background:var(--background-card);width:min(520px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--text-default);border-radius:20px;padding:28px;overflow:auto;box-shadow:0 24px 100px #0005}.shop-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#11182788}.shop-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.shop-eyebrow{letter-spacing:.08em;color:var(--text-secondary);align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.shop-dialog h2{letter-spacing:-.04em;margin:18px 0 10px;font-size:32px;line-height:1.15}.shop-dialog p{color:var(--text-secondary);margin:0}.shop-intro{max-width:390px}.shop-model{background:var(--background-muted);border-radius:12px;align-items:center;gap:16px;margin:22px 0;padding:12px;display:flex}.shop-image{width:84px;height:80px;color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.shop-image img{object-fit:contain;width:100%;height:100%}.shop-model strong{overflow-wrap:anywhere;line-height:1.4;display:block}.shop-model p{margin:4px 0;font-size:12px}.shop-model span{color:var(--text-tertiary);font-size:11px}.shop-steps{flex-direction:column;gap:18px;margin:0 0 22px;padding:0;list-style:none;display:flex}.shop-steps li{align-items:flex-start;gap:12px;display:flex}.shop-number{border:1px solid var(--stroke-strong);border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:grid}.shop-number.complete{color:var(--lightningcss-light,#216748)var(--lightningcss-dark,#88e1b8);border-color:currentColor}.shop-number.current{background:var(--background-primary);color:var(--text-on-primary);border-color:#0000}.shop-steps b{font-size:13px}.shop-steps p{margin-top:3px;font-size:12px;line-height:1.5}.shop-dialog a{color:var(--text-default);text-underline-offset:3px;align-items:center;gap:4px;display:inline-flex}.shop-steps a{margin-top:5px;font-size:12px;font-weight:600}.shop-copy{background:var(--background-primary);width:100%;color:var(--text-on-primary);border:none;border-radius:10px;justify-content:center;padding:13px 16px;font-weight:600}.shop-dialog .shop-feedback{text-align:center;color:var(--lightningcss-light,#216748)var(--lightningcss-dark,#88e1b8);min-height:20px;margin:9px 0;font-size:12px}.shop-footer{border-top:1px solid var(--stroke-default);padding-top:14px;font-size:11px;line-height:1.5}.shop-footer p{color:var(--text-tertiary);margin-top:8px}.shop-error{background:var(--background-muted);border-radius:8px;padding:12px}.shop-error p{color:var(--text-error);margin-bottom:10px}.shop-manual{margin-bottom:16px;font-size:12px}.shop-manual textarea{resize:vertical;border:1px solid var(--stroke-strong);background:var(--background-page);width:100%;color:var(--text-default);font:inherit;border-radius:8px;margin-top:8px;padding:10px}@media (width<=760px){header .chip,header .price{display:none}.shop-dialog{padding:20px}}.speeds button{border-radius:var(--radius-medium);color:var(--text-secondary);background:0 0;border:none;padding:3px 8px;font-size:12px;line-height:16px}.speeds button.active{background:var(--background-selected);color:var(--text-default);box-shadow:var(--elevation-1)}.scrub{flex-direction:column;flex:1;gap:6px;min-width:0;margin-left:8px;display:flex}.scrub-label{white-space:nowrap;gap:10px;font-size:12px;line-height:16px;display:flex;overflow:hidden}.scrub-label span{color:var(--text-tertiary)}.scrub input{appearance:none;background:linear-gradient(to right, var(--background-primary) var(--fill), var(--stroke-strong) var(--fill));border-radius:2px;width:100%;height:4px;margin:0}.scrub input::-webkit-slider-thumb{appearance:none;background:var(--background-card);border:2px solid var(--background-primary);border-radius:50%;width:14px;height:14px}.status{background:var(--background-muted);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;line-height:16px}.status:empty{display:none}.status.error{background:var(--background-muted);color:var(--text-error)}.composer-error{color:var(--text-error);margin:0;padding:0 4px;font-size:12px}.status.building{background:var(--background-building);color:var(--accent)}.parts{padding:16px 20px;position:absolute;inset:0;overflow-y:auto}.parts-head{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.parts-note{color:var(--text-secondary);margin:0 0 12px}.parts table{border-collapse:collapse;width:100%}.parts th{text-align:left;color:var(--text-tertiary);border-bottom:1px solid var(--stroke-default);padding:8px;font-size:12px;font-weight:600;line-height:16px}.parts td{border-bottom:1px solid var(--stroke-default);padding:8px}.parts td.id{color:var(--text-tertiary);font-family:Fira Code Variable,ui-monospace,monospace;font-size:12px}.qty{width:60px;font-weight:600}.swatch{border-radius:var(--radius-small);vertical-align:-1px;border:1px solid var(--stroke-strong);width:12px;height:12px;margin-right:8px;display:inline-block}.edit-bar,.edit-panel,.edit-notice,.walk-hint{z-index:2;background:var(--background-card);border:1px solid var(--stroke-default);border-radius:var(--radius-large);box-shadow:0 8px 24px #0000001f, var(--elevation-1);position:absolute}.edit-bar{color:var(--text-secondary);align-items:center;gap:4px;padding:4px 4px 4px 12px;display:flex;top:12px;left:12px}.edit-bar .icon-button{border:none;width:32px;height:32px}.edit-panel{flex-direction:column;gap:10px;width:196px;padding:10px;display:flex;bottom:12px;right:12px}.edit-panel-head{align-items:center;gap:6px;display:flex}.edit-panel-head b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.edit-panel-head .icon-button{border:none;width:28px;height:28px}.edit-moves{grid-template-columns:repeat(3,1fr);grid-template-areas:".forward up""left back right"". .down";gap:6px;display:grid}.edit-moves button,.edit-actions button{justify-content:center;height:34px}.edit-actions{grid-template-columns:1fr 1fr 2fr;gap:6px;display:grid}.edit-actions .danger{color:var(--text-error)}.edit-notice{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:10px;padding:6px 6px 6px 12px;display:flex;top:12px;left:50%;transform:translate(-50%)}.edit-bar~.edit-notice{top:60px}.edit-notice:has(~.edit-bar){top:60px}.walk-hint{text-align:center;max-width:calc(100% - 32px);color:var(--text-secondary);pointer-events:none;flex-direction:column;align-items:center;gap:4px;padding:14px 18px;display:flex;top:50%;left:50%;transform:translate(-50%,-50%)}.walk-hint b{color:var(--text-default)}@media (width<=760px){.edit-notice{white-space:normal;width:calc(100% - 24px)}.edit-panel{width:auto;left:12px;right:12px}}.edit-color{flex-direction:column;gap:6px;display:flex}.edit-color-current{gap:6px;height:34px}.edit-color-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.swatch-dot{border:1px solid var(--stroke-strong);border-radius:50%;flex:none;width:14px;height:14px;margin-right:-10px}.swatch-dot:last-of-type{margin-right:0}.color-picker{flex-direction:column;gap:8px;max-height:220px;padding-right:2px;display:flex;overflow-y:auto}.color-picker small{color:var(--text-tertiary)}.color-swatches{grid-template-columns:repeat(auto-fill,minmax(22px,1fr));gap:4px;display:grid}.color-swatch{aspect-ratio:1;border-radius:var(--radius-small);border:1px solid var(--stroke-strong);padding:0}.color-swatch:hover{outline:2px solid var(--accent);outline-offset:1px}.color-swatch.transparent{opacity:.6}.color-swatch.metallic{background-image:linear-gradient(135deg,#ffffff80,#0000 60%)!important}.price-trigger{color:var(--text-secondary);background:var(--background-muted);font-variant-numeric:tabular-nums;border:none;border-radius:999px;padding:3px 10px;font-size:12px;line-height:16px}.price-trigger:hover,.price-trigger[aria-expanded=true]{color:var(--text-default);box-shadow:inset 0 0 0 1px var(--stroke-strong)}.menu-list.price-details{white-space:normal;gap:4px;width:320px;max-width:calc(100vw - 32px);padding:12px;left:0;right:auto}.price-total{align-items:baseline;gap:8px;padding:0 2px;display:flex}.price-total b{font-size:18px;line-height:24px}.price-details ul{color:var(--text-secondary);margin:4px 0 8px;padding-left:18px}.price-details ul li+li{margin-top:2px}.price-details p{margin:4px 2px 0}.instructions-dialog{width:min(560px,100vw - 32px)}
