@font-face{font-family:Young Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/young-serif-latin-ext-400-normal-DzElnxZw.woff2)format("woff2"),url(/assets/young-serif-latin-ext-400-normal-4arC2Gh9.woff)format("woff");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:Young Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/young-serif-latin-400-normal-DIMmNPI9.woff2)format("woff2"),url(/assets/young-serif-latin-400-normal-D1tz0Z9s.woff)format("woff");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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff)format("woff");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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff");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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff)format("woff");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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff");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:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/courier-prime-latin-ext-400-normal-B-EsvyE4.woff2)format("woff2"),url(/assets/courier-prime-latin-ext-400-normal-CKOCNFvK.woff)format("woff");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:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/courier-prime-latin-400-normal-BbyBr73r.woff2)format("woff2"),url(/assets/courier-prime-latin-400-normal-BAlbUm6l.woff)format("woff");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:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/courier-prime-latin-ext-700-normal-ByMJlNdM.woff2)format("woff2"),url(/assets/courier-prime-latin-ext-700-normal-BIFoAzHx.woff)format("woff");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:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/courier-prime-latin-700-normal-D1YCjmaD.woff2)format("woff2"),url(/assets/courier-prime-latin-700-normal-CVvp4Sof.woff)format("woff");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{--paper:#ebf3fc;--fill:#dbe8f8;--fill-2:#c6daf2;--sheet:#fff;--ink:#1b2340;--ink-2:#48527a;--line:#adc6e6;--red:#f05a45;--red-dark:#c73e2e;--red-soft:#ffe0d9;--yellow:#f2c53d;--yellow-dark:#c99a17;--yellow-soft:#fbedc0;--bush-1:#deebfa;--bush-2:#d2e3f8;--bush-3:#c5dbf5;--bush-4:#b8d2f3;--bush-5:#abc9f0;--ground:#1d4f9e;--ground-ink:#e3edfc;--blue:#1f5fc9;--blue-dark:#153f8a;--blue-soft:#d4e4ff;--green:#237841;--green-dark:#17532c;--green-soft:#d3efdb;--signal:var(--red);--signal-ink:#fff;--signal-dark:var(--red-dark);--ok:var(--green);--warn:#9a6a00;--err:#c0261f;--scrim:#1b234099;--radius:6px;--press:4px;--serif:"Young Serif", Georgia, serif;--sans:"Atkinson Hyperlegible", system-ui, sans-serif;--mono:"Courier Prime", "Courier New", monospace;--t-sm:14px;--t-md:16px;--t-lg:20px;--t-xl:28px;--t-xxl:40px;font-family:var(--sans);font-size:var(--t-md);color:var(--ink);background:var(--paper);font-synthesis:none;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2}b,strong{font-weight:700}button svg,a svg{flex-shrink:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spinner{border:3px solid var(--fill-2);border-top-color:var(--red);border-right-color:var(--yellow-dark);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.button{border-radius:var(--radius);min-height:44px;box-shadow:0 var(--press) 0 var(--edge,var(--line));font-size:var(--t-md);border:0;justify-content:center;align-items:center;gap:10px;padding:10px 18px;font-weight:700;line-height:1.25;transition:background-color .15s,color .15s,transform 80ms,box-shadow 80ms;display:flex}.button:active:not(:disabled){transform:translateY(calc(var(--press) - 1px));box-shadow:0 1px 0 var(--edge,var(--line))}.button.primary{--edge:var(--blue-dark);background:var(--blue);color:#fff}.button.primary:hover{background:#1a52ad}.button.secondary{background:var(--sheet);color:var(--ink)}.button.secondary:hover{background:var(--yellow-soft)}.button:disabled,.button:disabled:hover{--edge:var(--line);background:var(--fill);color:var(--ink-2);opacity:.8;cursor:not-allowed}.icon-button{border-radius:var(--radius);background:var(--fill);width:40px;height:40px;color:var(--ink);border:0;place-items:center;display:grid}.icon-button:hover{background:var(--fill-2)}.text-button{color:var(--ink);font-size:var(--t-md);text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:4px;padding:0;text-decoration:underline;display:inline-flex}.text-button:hover{text-decoration-thickness:2px}.app-shell{isolation:isolate;min-height:100vh;position:relative}.backdrop{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.backdrop i{--bush-edge:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 90'%3E%3Ccircle cx='0' cy='62' r='34'/%3E%3Ccircle cx='520' cy='62' r='34'/%3E%3Ccircle cx='58' cy='50' r='38'/%3E%3Ccircle cx='118' cy='64' r='28'/%3E%3Ccircle cx='170' cy='44' r='42'/%3E%3Ccircle cx='232' cy='60' r='30'/%3E%3Ccircle cx='282' cy='52' r='36'/%3E%3Ccircle cx='340' cy='66' r='26'/%3E%3Ccircle cx='392' cy='42' r='40'/%3E%3Ccircle cx='452' cy='58' r='32'/%3E%3Crect y='60' width='520' height='30'/%3E%3C/svg%3E");--bush-w:520px;--bush-h:90px;background:var(--bush);-webkit-mask:var(--bush-edge) var(--shift,0) 0 / var(--bush-w) var(--bush-h) repeat-x, linear-gradient(#000 0 0) 0 calc(var(--bush-h) - 1px) / 100% 100% no-repeat;-webkit-mask:var(--bush-edge) var(--shift,0) 0 / var(--bush-w) var(--bush-h) repeat-x, linear-gradient(#000 0 0) 0 calc(var(--bush-h) - 1px) / 100% 100% no-repeat;mask:var(--bush-edge) var(--shift,0) 0 / var(--bush-w) var(--bush-h) repeat-x, linear-gradient(#000 0 0) 0 calc(var(--bush-h) - 1px) / 100% 100% no-repeat;position:absolute;bottom:0;left:0;right:0}.backdrop i:first-child{--bush:var(--bush-1);--bush-w:640px;--bush-h:111px;top:18%}.backdrop i:nth-child(2){--bush:var(--bush-2);--shift:-210px;top:36%}.backdrop i:nth-child(3){--bush:var(--bush-3);--bush-w:600px;--bush-h:104px;--shift:-380px;top:54%}.backdrop i:nth-child(4){--bush:var(--bush-4);--bush-w:460px;--bush-h:80px;--shift:-120px;top:70%}.backdrop i:nth-child(5){--bush:var(--bush-5);--shift:-300px;top:85%}main{max-width:1510px;margin:auto;padding:28px 4.3% 0}.loading-card,.load-error{border-radius:var(--radius);background:var(--sheet);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:400px;padding:24px;display:flex}.load-error h2{font-size:var(--t-xl)}.load-error p{color:var(--ink-2)}.site-footer{background:radial-gradient(circle, #ffffff1a 5px, transparent 5.5px) 0 0 / 22px 22px, var(--ground);color:var(--ground-ink);font-size:var(--t-sm);margin-top:88px;padding:34px 4.3% 36px;position:relative}.site-footer:before{content:"";background:radial-gradient(ellipse 9px 8px at 50% 100%, var(--ground) 97%, transparent 100%) 0 0 / 30px 8px space no-repeat;height:8px;position:absolute;top:-8px;left:4.3%;right:4.3%}.site-footer p{max-width:1510px;margin:0 auto}.pause-banner{border-radius:var(--radius);background:var(--yellow-soft);border-left:6px solid var(--warn);color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:0 0 30px;padding:12px 16px;display:flex}.pause-banner.running{background:var(--green-soft);border-left-color:var(--ok)}.pause-banner .button.secondary{background:var(--sheet)}.pause-banner .button.secondary:hover{background:var(--paper)}.topbar{background:var(--sheet);border-bottom:3px solid var(--ink);align-items:center;gap:16px;min-height:72px;padding:0 4.3%;display:flex}.brand{font-family:var(--serif);font-size:var(--t-xl);align-items:center;gap:12px;line-height:1;display:flex}.brand-mark{background:var(--red);border-radius:5px;grid-template-columns:repeat(2,13px);gap:3px;padding:4px;transition:transform .2s;display:grid}.brand-mark i{width:13px;height:13px;box-shadow:inset 0 -2px 0 var(--red-dark);background:#f7806d;border-radius:50%}.brand:hover .brand-mark{transform:rotate(-8deg)}.primary-nav{align-self:stretch;gap:4px;margin-left:28px;margin-right:auto;display:flex}.primary-nav a{font-size:var(--t-md);border-bottom:5px solid #0000;align-items:center;margin-bottom:-3px;padding:0 12px;font-weight:700;display:flex}.primary-nav a:first-child:hover{border-bottom-color:var(--red)}.primary-nav a:nth-child(2):hover{border-bottom-color:var(--blue)}.primary-nav a:nth-child(3):hover{border-bottom-color:var(--yellow)}.topbar-right{align-items:center;gap:20px;display:flex}.avatar,.account-avatar{background:var(--yellow);width:36px;height:36px;font-family:var(--serif);font-size:var(--t-md);object-fit:cover;border-radius:50%;place-items:center;display:grid}.account-chip{align-items:center;gap:10px;display:flex}.account-sign-out{flex-shrink:0}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:14ch;color:var(--ink-2);overflow:hidden}.google-button{align-items:center;min-height:40px;display:flex}.account-error{margin:0 0 20px}.create-area{margin-bottom:48px}.create-panel{border-radius:var(--radius);background:var(--yellow);box-shadow:0 6px 0 var(--yellow-dark);gap:24px;margin-top:12px;padding:40px 44px;scroll-margin-top:28px;display:grid;position:relative}.create-panel:before,.workspace:before{content:"";background:radial-gradient(ellipse 11px 10px at 50% 100%, var(--stud) 97%, transparent 100%) 0 0 / 38px 10px space no-repeat;height:10px;position:absolute;top:-10px;left:32px;right:32px}.create-panel{--stud:var(--yellow)}.create-panel h2{font-size:var(--t-xxl);line-height:1.1}.create-hint{font-size:var(--t-lg);color:var(--ink);margin-top:10px}.create-panel .prompt-label span,.create-panel small{color:#4a4020}.sign-in-card{gap:0}.sign-in-note{border-radius:var(--radius);background:var(--sheet);border-left:6px solid var(--signal);font-size:var(--t-lg);margin-top:24px;padding:12px 16px}.prompt-label.prompt-main>span{font-size:var(--t-md);color:var(--ink);font-weight:700}.create-panel .prompt-main textarea{min-height:150px;font-size:var(--t-lg);padding:16px 18px}.create-options{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:24px 36px;display:grid}.prompt-label{flex-direction:column;gap:6px;font-weight:700;display:flex}.prompt-label span{font-size:var(--t-sm);color:var(--ink-2);font-weight:400}.prompt-label input,.prompt-label textarea,.rename-form input{border:0;border-bottom:3px solid var(--ink);border-radius:var(--radius) var(--radius) 0 0;background:var(--fill);width:100%;min-height:44px;color:var(--ink);font:400 var(--t-md) / 1.5 var(--sans);padding:10px 12px}.prompt-label input:focus-visible,.prompt-label textarea:focus-visible,.rename-form input:focus-visible{border-bottom-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:0}.create-panel .prompt-label input,.create-panel .prompt-label textarea,.refine-card .prompt-label input,.refine-card .prompt-label textarea{background:var(--sheet)}.prompt-label input::placeholder,.prompt-label textarea::placeholder{color:#6b7494}.prompt-label input:disabled,.prompt-label textarea:disabled{opacity:.7}.prompt-label textarea{resize:vertical;min-height:104px}.prompt-footer{align-items:center;gap:24px;margin-top:4px;display:flex}.prompt-footer small{max-width:52ch;font-size:var(--t-sm);color:var(--ink-2)}.prompt-footer button{min-width:260px;min-height:60px;font-size:var(--t-lg);flex-shrink:0;padding:12px 32px}.prompt-footer .button.primary{--edge:var(--blue-dark);background:var(--blue);color:#fff;font-family:var(--serif);font-weight:400}.prompt-footer .button.primary:hover{background:#1a52ad}.prompt-footer .button.primary:disabled{--edge:#e6bb3a;color:#7a6a2c;opacity:1;background:#ffffff80}.create-panel .button.secondary{--edge:var(--yellow-dark);background:var(--sheet)}.create-panel .button.secondary:hover{background:var(--yellow-soft)}.form-error,.form-notice{border-radius:var(--radius);background:var(--fill);border-left:6px solid;padding:10px 14px}.form-error{color:var(--err);border-left-color:var(--err)}.form-notice{color:var(--ok);border-left-color:var(--ok)}.create-panel .form-error,.create-panel .form-notice,.refine-card .form-error,.refine-card .form-notice{background:var(--sheet)}.creation-modes{gap:28px;display:flex}.creation-modes button{min-height:44px;font-size:var(--t-lg);color:var(--ink-2);background:0 0;border:0;border-bottom:4px solid #0000;padding:6px 0;font-weight:700}.create-panel .creation-modes button{color:#5c5024}.creation-modes button:hover{color:var(--ink);border-bottom-color:var(--ink)}.creation-modes button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--signal)}.upload-panel{border-radius:var(--radius);background:var(--yellow-soft);padding:20px}.upload-panel>.prompt-label{margin:0}.upload-panel>.upload-hint,.upload-panel>[role=status]{font-size:var(--t-sm);color:var(--ink-2);margin-top:10px}.image-source-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.image-source-button{flex:160px;min-width:0}.upload-panel .button.secondary{background:var(--sheet)}.upload-panel .button.secondary:hover{background:var(--yellow)}.image-source-button .label-gallery{display:none}.upload-preview{flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;display:flex}.upload-preview img{object-fit:contain;background:var(--sheet);width:130px;height:110px}.upload-preview span{overflow-wrap:anywhere;max-width:40%;font-family:var(--mono);font-size:var(--t-sm)}.upload-preview button{color:var(--ink);text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.stylize-toggle{cursor:pointer;align-items:flex-start;gap:10px;font-weight:700;display:flex}.stylize-toggle input{width:18px;height:18px;accent-color:var(--red-dark);margin-top:3px}.stylize-toggle span{flex-direction:column;gap:2px;display:flex}.stylize-toggle small{font-size:var(--t-sm);color:var(--ink-2);font-weight:400}.size-controls{flex-direction:column;gap:8px;display:flex}.size-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.size-heading .prompt-label{margin:0}.size-heading .text-button:disabled{color:var(--ink-2);cursor:default;text-decoration:none}.size-slider{align-items:center;gap:14px;display:flex}.size-slider input{width:100%;accent-color:var(--red-dark)}.size-slider output{text-align:right;min-width:80px;font-family:var(--mono);font-weight:700}.size-controls>small{font-size:var(--t-sm);color:var(--ink-2)}.generation-jobs{gap:4px;margin-top:16px;display:grid}.job-row{justify-content:space-between;align-items:center;gap:20px;padding:10px 0;display:flex}.job-row small{font-size:var(--t-sm);color:var(--ink-2);margin-top:2px;display:block}.job-row progress{width:35%;height:8px;accent-color:var(--blue)}.job-row p{border-left:4px solid var(--err);max-width:60%;color:var(--err);padding-left:12px}.job-row button{color:var(--ink);text-underline-offset:3px;background:0 0;border:0;padding:4px 0;text-decoration:underline;display:block}.job-row small:has(.assembly-indicator){align-items:center;gap:6px;margin-top:6px;display:flex}.assembly-indicator{align-items:center;gap:6px;display:inline-flex}.assembly-indicator:after{content:"·";color:var(--ink-2)}.assembly-bricks{width:21px;height:27px;display:block;overflow:hidden}.iso-brick{opacity:0;stroke:var(--sheet);stroke-width:.35px;stroke-linejoin:round;animation:iso-in .45s cubic-bezier(.2, .8, .3, 1) var(--in) both, iso-out .4s ease-in var(--out) forwards;--top:#f07a73;--side:var(--red);--shade:var(--red-dark)}.iso-brick:nth-child(4n+2){--top:#ffe27a;--side:#f2bd12;--shade:#c18f00}.iso-brick:nth-child(4n+3){--top:#6f9be6;--side:var(--blue);--shade:var(--blue-dark)}.iso-brick:nth-child(4n+4){--top:#6cc28a;--side:#2f9954;--shade:var(--green-dark)}.iso-brick .top{fill:var(--top)}.iso-brick .left{fill:var(--side)}.iso-brick .right{fill:var(--shade)}.iso-brick .stud{stroke:none}.iso-brick .stud ellipse:first-child{fill:var(--side)}.iso-brick .stud ellipse:last-child{fill:var(--top)}.assembly-phrase{white-space:nowrap;height:1.4em;color:var(--ink-2);line-height:1.4em;display:inline-block;overflow:hidden}.assembly-phrase span{animation:.35s ease-out phrase-roll;display:inline-block}@keyframes iso-in{0%{opacity:0;transform:translate(var(--fx), var(--fy))}to{opacity:1;transform:none}}@keyframes iso-out{0%{opacity:1;transform:none}to{opacity:0;transform:translate(var(--tx), var(--ty))}}@keyframes phrase-roll{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}.workspace-slot{scroll-margin-top:16px}.library{margin-top:72px;scroll-margin-top:16px}.library-heading{border-bottom:3px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 24px;margin-bottom:28px;display:flex}.library-heading p{color:var(--ink-2);padding-bottom:12px}.library-tabs{gap:36px;display:flex}.library-tabs button{min-height:44px;font-family:var(--serif);font-size:var(--t-xxl);color:var(--ink-2);background:0 0;border:0;border-bottom:5px solid #0000;align-items:baseline;gap:10px;margin-bottom:-2px;padding:4px 0 8px;line-height:1.1;display:flex}.library-tabs button:hover{color:var(--ink)}.library-tabs button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--signal)}.library-tabs button:nth-child(2)[aria-pressed=true]{border-bottom-color:var(--blue)}.library-tabs button span{font-family:var(--mono);font-size:var(--t-lg);color:var(--ink-2)}.library-empty{font-size:var(--t-lg);color:var(--ink-2);margin:0 0 16px}.saved-builds{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:32px 24px;display:grid}.saved-build{text-align:left;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:4px;min-width:0;padding:0 0 10px;display:flex}.saved-build-thumb{border-radius:var(--radius);box-shadow:0 var(--press) 0 var(--line);background:#fff;margin:8px 0 10px;transition:transform .15s,box-shadow .15s;display:block;position:relative}.saved-build-thumb:before{content:"";background:radial-gradient(9px 8px at 50% 100%,#fff 97%,#0000 100%) 0 0/30px 8px space no-repeat;height:8px;position:absolute;top:-8px;left:14px;right:14px}.saved-build-thumb img{aspect-ratio:4/3;object-fit:contain;border-radius:var(--radius);width:100%;display:block}.saved-build:hover .saved-build-thumb{box-shadow:0 calc(var(--press) + 3px) 0 var(--line);transform:translateY(-3px)}.saved-build.selected .saved-build-thumb:after{content:"";inset:-14px -6px calc(-6px - var(--press));border:3px solid var(--signal);border-radius:calc(var(--radius) + 4px);pointer-events:none;position:absolute}.saved-build strong{font-family:var(--serif);font-size:var(--t-lg);overflow-wrap:anywhere;font-weight:400;line-height:1.25}.saved-build-byline{font-size:var(--t-sm);color:var(--ink-2)}.saved-build-counts{font-family:var(--mono);font-size:var(--t-sm);color:var(--ink-2)}.load-more{margin-top:32px}.scroll-row{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-color:var(--ink-2) transparent;grid-template-columns:none;grid-auto-columns:minmax(200px,calc(16.6667% - 20px));grid-auto-flow:column;margin:-8px -8px 0;padding:8px 8px 12px;scroll-padding-inline:8px;overflow-x:auto}.scroll-row .saved-build{scroll-snap-align:start}.scroll-row .load-more{white-space:nowrap;place-self:start;margin:72px 0 0}.workspace{--stud:var(--sheet);grid-template-columns:minmax(0,1fr) 340px;gap:36px;display:grid;position:relative}.workspace:before{grid-area:1/1/2/2}.stage{border-radius:var(--radius);background:var(--sheet);min-height:640px;box-shadow:0 6px 0 var(--line);position:relative;overflow:hidden}.viewer-canvas{cursor:grab;position:absolute;inset:0}.viewer-canvas:active{cursor:grabbing}.viewer-canvas.pan{cursor:move}.viewer-canvas.select{cursor:crosshair}.viewer-canvas canvas{touch-action:none;width:100%;height:100%;display:block}.viewer-message{z-index:3;border-radius:var(--radius);background:var(--fill);text-align:center;align-items:center;gap:10px;max-width:90%;padding:18px 24px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer-message.error{border-left:4px solid var(--err);flex-direction:column;min-width:260px}.viewer-message a{text-underline-offset:3px;text-decoration:underline}.view-toolbar{border-radius:calc(var(--radius) + 2px);background:var(--fill);align-items:center;gap:6px;padding:4px;display:flex;position:absolute;bottom:52px;left:50%;transform:translate(-50%)}.tool-group{gap:2px;display:flex}.view-toolbar button{border-radius:var(--radius);min-height:40px;font-size:var(--t-sm);color:var(--ink-2);background:0 0;border:0;align-items:center;gap:8px;padding:8px 12px;font-weight:700;display:flex}.view-toolbar button:hover{background:var(--fill-2);color:var(--ink)}.view-toolbar button.active{background:var(--signal);color:var(--signal-ink)}.tool-divider{background:var(--fill-2);width:2px;height:24px}.stage-hint{font-size:var(--t-sm);color:var(--ink-2);text-align:center;pointer-events:none;position:absolute;bottom:16px;left:24px;right:24px}.layer-slider{z-index:2;border-radius:var(--radius);background:var(--fill);cursor:default;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;display:flex;position:absolute;top:50%;left:20px;transform:translateY(-50%)}.layer-slider span,.layer-slider small{font-size:var(--t-sm);color:var(--ink-2)}.layer-slider output{font-family:var(--mono);font-weight:700}.layer-slider input{writing-mode:vertical-lr;width:22px;height:220px;accent-color:var(--red-dark);cursor:pointer;direction:rtl;margin:0}.layer-slider button{border-radius:var(--radius);background:var(--sheet);border:0;place-items:center;width:40px;height:40px;display:grid}.layer-slider button:hover{background:var(--yellow-soft)}.refine-card{z-index:3;border-radius:var(--radius);background:var(--yellow-soft);border-top:6px solid var(--signal);flex-direction:column;gap:12px;width:340px;max-height:calc(100% - 140px);padding:20px;display:flex;position:absolute;top:16px;right:16px;overflow-y:auto}.refine-card h3{font-size:var(--t-lg)}.refine-card .button:disabled{background:var(--sheet);opacity:1}.refine-card>p,.refine-card>small{font-size:var(--t-sm);color:var(--ink-2)}.refine-selection{font-size:var(--t-sm);justify-content:space-between;align-items:center;gap:8px;font-weight:700;display:flex}.refine-selection button,.refine-note button{color:var(--ink);font-size:var(--t-sm);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.sidebar{flex-direction:column;gap:32px;display:flex}.build-title{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.build-title h2{font-size:var(--t-xl);overflow-wrap:anywhere}.build-title .text-button{font-size:var(--t-sm);flex-shrink:0}.rename-form{gap:10px;display:grid}.rename-form input{font:400 var(--t-lg) / 1.3 var(--serif)}.rename-form>div{gap:8px;display:flex}.build-description{color:var(--ink-2);margin-top:10px}.brief{font-size:var(--t-sm);color:var(--ink-2);margin-top:12px}.brief summary{cursor:pointer;font-size:var(--t-md);color:var(--ink);font-weight:700}.brief p{margin:8px 0 4px}.brief small{font-size:var(--t-sm);margin-top:4px;display:block}.brief a{text-decoration:underline}.build-actions{gap:8px;margin-top:20px;display:grid}.build-actions .button{text-align:left;justify-content:space-between;min-height:52px}.stats{border-top:3px solid var(--ink);grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;padding-top:14px;display:grid}.stats>div{flex-direction:column;display:flex}.stats strong{font-family:var(--mono);font-size:var(--t-xl);color:var(--red);line-height:1.1}.stats>div:nth-child(2) strong{color:var(--blue)}.stats>div:nth-child(3) strong{color:var(--green)}.stats span{font-size:var(--t-sm);color:var(--ink-2)}.palette{flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px;display:flex}.palette>span{outline-offset:-1px;border-radius:50%;outline:1px solid #1b234033;width:22px;height:22px;box-shadow:inset 0 -3px #0000002e}.palette small{font-size:var(--t-sm);color:var(--ink-2);margin-right:6px}.refine-note{border-radius:var(--radius);background:var(--blue-soft);border-left:6px solid var(--blue);font-size:var(--t-sm);color:var(--ink);margin-top:20px;padding:10px 14px}.share-panel{border-top:3px solid var(--ink);gap:10px;margin-top:24px;padding-top:16px;display:grid}.share-panel>div{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.share-panel small{font-size:var(--t-sm);color:var(--ink-2)}.settings-card{border-top:3px solid var(--ink);padding-top:14px}.settings-card h3{font-size:var(--t-lg);margin-bottom:6px}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex;position:relative}.toggle-row strong{font-weight:400;display:block}.toggle-row small{font-size:var(--t-sm);color:var(--ink-2);display:block}.toggle-row input{opacity:0;width:22px;height:22px;position:absolute;right:0}.check-box{background:var(--sheet);width:22px;height:22px;box-shadow:inset 0 0 0 2px var(--line);color:#fff;pointer-events:none;border-radius:5px;flex-shrink:0;place-items:center;display:grid}.toggle-row:hover .check-box{background:var(--fill)}.toggle-row input:checked+.check-box{background:var(--green);box-shadow:inset 0 -3px 0 var(--green-dark)}.toggle-row input:focus-visible+.check-box{outline:3px solid var(--blue);outline-offset:2px}.position-controls{font-size:var(--t-sm);margin-top:8px}.position-controls summary{cursor:pointer;font-size:var(--t-md);font-weight:700}.position-controls p{color:var(--ink-2);margin:10px 0}.position-controls label{align-items:center;gap:8px;margin:8px 0;display:flex}.position-controls label span,.position-controls output{font-family:var(--mono)}.position-controls label span{width:12px}.position-controls input{width:100%;min-width:0;accent-color:var(--blue)}.position-controls output{text-align:right;min-width:36px}.parts-dialog{border:3px solid var(--ink);border-radius:calc(var(--radius) + 2px);background:var(--sheet);width:min(720px,95vw);max-height:88vh;color:var(--ink);padding:0}.parts-dialog::backdrop{background:var(--scrim)}.parts-dialog header{justify-content:space-between;align-items:flex-start;gap:16px;padding:24px;display:flex}.parts-dialog h2{font-size:var(--t-xl);margin-bottom:6px}.parts-dialog header p:last-child{color:var(--ink-2)}.table-scroll{max-height:48vh;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th{background:var(--yellow);font-size:var(--t-sm);color:var(--ink);padding:10px 24px;font-weight:700;position:sticky;top:0}td{border-bottom:1px solid var(--fill-2);white-space:nowrap;padding:10px 24px}tr:last-child td{border-bottom:0}td b,td:nth-child(3){font-family:var(--mono);font-weight:700}td small{font-size:var(--t-sm);color:var(--ink-2);display:block}td a{text-underline-offset:3px;align-items:center;gap:5px;text-decoration:underline;display:flex}.swatch{vertical-align:-2px;outline-offset:-1px;border-radius:50%;outline:1px solid #1b234033;width:14px;height:14px;margin-right:8px;display:inline-block}.parts-dialog footer{background:var(--fill);align-items:center;gap:20px;padding:20px 24px;display:flex}.parts-dialog footer p{font-size:var(--t-sm);color:var(--ink-2)}.parts-dialog footer a{flex-shrink:0}.parts-dialog footer .button.secondary{background:var(--sheet)}.parts-dialog footer .button.secondary:hover{background:var(--yellow-soft)}.camera-dialog{z-index:90;background:var(--scrim);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.camera-sheet{border-radius:calc(var(--radius) + 2px);background:var(--sheet);border:3px solid var(--ink);width:min(520px,100%);overflow:hidden}.camera-sheet header{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex}.camera-sheet header h2{font-size:var(--t-xl)}.camera-stage{background:var(--ink);place-items:center;min-height:260px;display:grid;position:relative}.camera-preview{object-fit:cover;background:var(--ink);width:100%;max-height:min(58vh,420px);display:block}.camera-status{font-size:var(--t-sm);color:var(--fill);text-align:center;position:absolute;inset:auto 16px 16px}.camera-stage .form-error{max-width:90%;margin:20px}.camera-sheet footer{background:var(--fill);justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.camera-sheet footer .button{min-width:120px}.camera-sheet footer .button.secondary{background:var(--sheet)}.ar-shell{z-index:80;background:var(--ink);color:var(--sheet);position:fixed;inset:0}.ar-host{position:absolute;inset:0}.ar-canvas{touch-action:none;width:100%;height:100%;display:block}.ar-overlay{pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.ar-overlay-fixed{z-index:81;position:fixed;inset:0}.ar-touch-layer{z-index:1;touch-action:none;pointer-events:none;position:absolute;inset:0}.ar-touch-layer.is-active{pointer-events:auto}.ar-overlay .icon-button,.ar-overlay .button,.ar-gestures,.ar-gestures button,.ar-banner,.ar-top,.ar-hint,.ar-fallback{z-index:2;pointer-events:auto;position:relative}.ar-top{background:#1b2340d9;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.ar-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--serif);font-size:var(--t-lg);overflow:hidden}.ar-close{color:var(--sheet);background:#232c4f}.ar-close:hover{background:#303b66}.ar-banner{max-width:90%;font-size:var(--t-sm);text-align:center;background:#232c4feb;align-self:center;align-items:center;gap:8px;margin-top:8px;padding:8px 16px;display:flex}.ar-gestures{background:#232c4feb;gap:4px;padding:4px;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.ar-gestures button{min-height:40px;font-size:var(--t-sm);color:#c9d3ee;background:0 0;border:0;border-radius:0;align-items:center;gap:8px;padding:8px 12px;font-weight:700;display:flex}.ar-gestures button.active{background:var(--signal);color:var(--signal-ink)}.ar-hint{font-size:var(--t-sm);color:#c9d3ee;text-align:center;padding:0 20px;position:absolute;bottom:28px;left:0;right:0}.ar-fallback{text-align:center;pointer-events:auto;background:#232c4f;flex-direction:column;align-items:center;gap:12px;max-width:360px;margin:auto;padding:28px 24px;display:flex}.ar-fallback h2{font-size:var(--t-xl)}.ar-fallback p{color:var(--fill)}.ar-fallback-hint{font-size:var(--t-sm)!important;color:#a9b5d9!important}.ar-fallback .button{width:100%;margin-top:6px}.ar-fallback .button.primary{background:var(--sheet);color:var(--ink)}.ar-fallback .button.primary:hover{background:#fff}@media (width>=1550px){.stage{min-height:700px}}@media (width<=1000px){.workspace{grid-template-columns:minmax(0,1fr) 290px;gap:24px}}@media (width<=760px){.topbar{flex-wrap:wrap;gap:0 12px;padding:12px 5% 0}.brand{font-size:var(--t-lg)}.primary-nav{flex-basis:100%;order:3;gap:16px;margin:8px 0 0}.primary-nav a{min-height:40px;padding:0}.topbar-right{gap:12px;margin-left:auto}.account-name{display:none}main{padding:20px 5% 0}.create-panel{gap:20px;padding:24px 20px}.create-panel h2{font-size:var(--t-xl)}.create-hint,.sign-in-note{font-size:var(--t-md)}.create-panel .prompt-main textarea{min-height:120px;font-size:var(--t-md)}.prompt-footer{flex-direction:column;align-items:stretch;gap:12px}.prompt-footer button{min-width:0}.image-source-button .label-upload{display:none}.image-source-button .label-gallery{display:inline}.job-row{flex-direction:column;align-items:flex-start;gap:12px}.job-row p{max-width:100%}.job-row progress{width:100%}.library{margin-top:56px}.library-heading{margin-bottom:20px}.library-heading p{padding:4px 0 10px}.library-tabs{gap:24px}.library-tabs button{font-size:var(--t-xl)}.saved-builds{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.scroll-row{grid-template-columns:none;grid-auto-columns:calc(44.4444% - 14.2222px)}.workspace{grid-template-columns:1fr;gap:28px}.stage{min-height:520px}.stage-hint{bottom:12px;left:12px;right:12px}.view-toolbar{bottom:64px}.view-toolbar button span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.layer-slider{top:12px;left:12px;transform:none}.layer-slider input{height:120px}.refine-card{width:auto;top:12px;left:12px;right:12px}.site-footer{margin-top:64px;padding:24px 5% 28px}.parts-dialog header{padding:18px 16px}.parts-dialog footer{flex-direction:column;align-items:stretch;padding:16px}td,th{padding:10px 14px}.camera-sheet footer{flex-direction:column-reverse}.camera-sheet footer .button{width:100%}}@media (width<=420px){.stage{min-height:460px}.avatar{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important}.iso-brick,.assembly-phrase span{opacity:1;animation:none}}
