.preview-root{--preview-red:#f13b32;background:var(--bg-base);min-width:320px;height:100dvh;color:var(--text-primary);position:relative;overflow:hidden}@keyframes preview-home-safety-reveal{0%{opacity:0}to{opacity:1}}.preview-root[data-intro-ready=false] .preview-topbar,.preview-root[data-intro-ready=false] .preview-kicker,.preview-root[data-intro-ready=false] .preview-cta h2,.preview-root[data-intro-ready=false] .preview-cta-index,.preview-root[data-intro-ready=false] .preview-cta-button,.preview-root[data-intro-ready=false] .preview-mascot{opacity:0;animation:1ms linear 2.999s forwards preview-home-safety-reveal}.home-intro{z-index:200;overscroll-behavior:none;width:100%;height:100dvh;color:var(--text-primary);isolation:isolate;touch-action:none;background:0 0;display:block;position:fixed;inset:0;overflow:hidden}.home-intro-backdrop{z-index:0;background:var(--bg-base);opacity:1;will-change:opacity;transition:opacity .9s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.home-intro[data-phase=reveal] .home-intro-backdrop{opacity:0}.home-intro-stage{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.home-intro-axis{top:calc(50% + var(--space-xl));right:var(--layout-content-offset);left:var(--layout-content-offset);background:var(--border-default);opacity:0;transform-origin:50%;height:1px;transition:opacity .76s cubic-bezier(.22,1,.36,1),transform .95s cubic-bezier(.16,1,.3,1);position:absolute;transform:scaleX(0)}.home-intro-function{--home-intro-entry-shift:0px;--home-intro-merge-shift:0vw;max-width:calc(50vw - var(--layout-content-offset) - var(--space-lg));text-align:center;transform:translate(calc(-50% + var(--home-intro-entry-shift)), calc(-50% + var(--space-sm)));white-space:nowrap;transition:transform .74s cubic-bezier(.16,1,.3,1);display:block;position:absolute;top:50%}.home-intro-function-generate{--home-intro-entry-shift:-36px;--home-intro-merge-shift:22vw;transition-delay:.26s;left:28%}.home-intro-function-tools{--home-intro-entry-shift:36px;--home-intro-merge-shift:-22vw;transition-delay:.42s;left:72%}.home-intro-function span{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.16em;opacity:0;transform:translateY(var(--space-xs));will-change:opacity, transform;transition:opacity .62s cubic-bezier(.22,1,.36,1),transform .66s cubic-bezier(.16,1,.3,1)}.home-intro-function-generate span{transition-delay:.34s}.home-intro-function-tools span{transition-delay:.48s}.home-intro[data-phase=intro][data-ready=true] .home-intro-axis{opacity:1;transform:scaleX(1)}.home-intro[data-phase=intro][data-ready=true] .home-intro-function{transform:translate(-50%,-50%)}.home-intro[data-phase=intro][data-ready=true] .home-intro-function span{opacity:1;transform:translateY(0)}.home-intro[data-phase=merge] .home-intro-axis{opacity:0;transition:opacity .39s,transform .54s;transform:scaleX(.16)}.home-intro[data-phase=merge] .home-intro-function{transform:translate(calc(-50% + var(--home-intro-merge-shift)), -50%) scale(.96);transition-delay:0s}.home-intro[data-phase=merge] .home-intro-function span{opacity:0;transform:translateY(calc(-1 * var(--space-xs)));transition:opacity .42s,transform .42s}.home-intro-brand-preview{z-index:2;opacity:0;pointer-events:none;transition:opacity .33s;position:absolute;inset:0}.home-intro-brand-preview .preview-kicker,.home-intro-brand-preview .preview-cta-index,.home-intro-brand-preview .preview-cta-button{visibility:hidden}.home-intro[data-phase=merge] .home-intro-brand-preview{opacity:1;transition-duration:.54s;transition-delay:.12s}.home-intro[data-phase=reveal] .home-intro-brand-preview{opacity:1;transition:none}.preview-content{box-sizing:border-box;width:var(--layout-content-width);margin-right:auto;margin-left:var(--layout-content-offset)}.preview-topbar{z-index:30;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090909eb;height:68px;transition:opacity .42s,transform .42s;position:fixed;inset:0 0 auto}.preview-topbar-inner{justify-content:space-between;align-items:center;gap:var(--space-lg);height:100%;display:flex}.preview-brand{outline-offset:5px;align-items:center;display:inline-flex}.preview-brand-image{background:url(/LOGO.png) 50%/contain no-repeat;width:94px;height:32px;display:block}.preview-nav-links{align-items:center;gap:clamp(18px,3vw,42px);display:flex}.preview-nav-links>a{padding:var(--space-xs) 0;color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.08em;text-decoration:none;transition:color .18s;position:relative}.preview-nav-links>a:after{background:var(--preview-red);content:"";transform-origin:0;height:1px;transition:transform .18s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.preview-nav-links>a:hover,.preview-nav-links>a:focus-visible{color:var(--text-primary)}.preview-nav-links>a:hover:after,.preview-nav-links>a:focus-visible:after{transform:scaleX(1)}.preview-screen{height:100dvh;min-height:100dvh;padding:0;display:flex;position:relative;overflow:hidden}.preview-kicker{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;margin:0;line-height:1.4;transition:opacity .33s}.preview-cta{justify-content:center;align-items:center}.preview-cta-content{z-index:1;text-align:left;flex-direction:column;align-items:flex-start;display:flex;position:relative}.preview-cta h2{margin:var(--space-lg) 0 0;font-family:var(--font-display);letter-spacing:-.06em;flex-direction:column;font-size:clamp(54px,7.2vw,102px);font-weight:900;line-height:.88;transition:opacity .33s;display:flex}.preview-cta h2 span:first-child{font-size:clamp(70.2px,9.36vw,132.6px)}.preview-cta h2 span:last-child{color:#0000;-webkit-text-stroke:1px var(--text-primary);transform:translate(calc(.0227em + .5px))}.preview-cta-index{margin-top:var(--space-xl);justify-content:flex-start;gap:var(--space-xs) var(--space-lg);flex-wrap:wrap;transition:opacity .42s,transform .42s;display:flex}.preview-cta-index span{color:var(--text-muted);font-size:var(--text-xs)}.preview-cta-button{min-width:230px;margin-top:var(--space-xl);padding:var(--space-md) var(--space-lg);border:1px solid var(--preview-red);justify-content:space-between;align-items:center;gap:var(--space-xl);background:var(--preview-red);color:var(--bg-base);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;transition:background .18s,color .18s,opacity .42s,transform .42s;display:flex}.preview-cta-button:hover,.preview-cta-button:focus-visible{color:var(--text-primary);background:0 0}.preview-mascot{--mascot-parallax-x:0px;--mascot-parallax-y:0px;z-index:0;isolation:isolate;top:50%;right:var(--layout-content-offset);aspect-ratio:800/1613;width:clamp(230px,20vw,300px);transform:translate(var(--mascot-parallax-x), calc(-46% + var(--mascot-parallax-y)));will-change:transform;transition:opacity .42s;position:absolute}.preview-mascot:after{z-index:0;background:radial-gradient(ellipse at 52% 54%, color-mix(in srgb, var(--brand-red) 76%, var(--text-primary) 24%) 0%, color-mix(in srgb, var(--brand-red) 96%, transparent) 5%, color-mix(in srgb, var(--brand-red) 74%, transparent) 13%, color-mix(in srgb, var(--brand-red) 48%, transparent) 26%, color-mix(in srgb, var(--brand-red) 25%, transparent) 44%, color-mix(in srgb, var(--brand-red) 12%, transparent) 62%, color-mix(in srgb, var(--brand-red) 4%, transparent) 78%, transparent 90%, transparent 100%);content:"";width:196%;height:20%;filter:blur(var(--space-sm));opacity:.72;pointer-events:none;animation:3.8s cubic-bezier(.45,0,.55,1) infinite preview-mascot-ground-follow;position:absolute;bottom:-3%;left:50%;transform:translate(-50%)}@keyframes preview-mascot-ground-follow{0%,to{transform:translate(-50%,-3px)}20%{transform:translate(-50%,-1px)}50%{transform:translate(-50%,3px)}70%{transform:translate(-50%,1px)}}.preview-root[data-intro-phase=intro] .preview-topbar,.preview-root[data-intro-phase=merge] .preview-topbar,.preview-root[data-intro-phase=intro] .preview-kicker,.preview-root[data-intro-phase=merge] .preview-kicker,.preview-root[data-intro-phase=intro] .preview-cta-index,.preview-root[data-intro-phase=merge] .preview-cta-index,.preview-root[data-intro-phase=intro] .preview-cta-button,.preview-root[data-intro-phase=merge] .preview-cta-button,.preview-root[data-intro-phase=intro] .preview-mascot,.preview-root[data-intro-phase=merge] .preview-mascot{opacity:0}.preview-root[data-intro-phase=intro] .preview-topbar,.preview-root[data-intro-phase=merge] .preview-topbar{transform:translateY(-12px)}.preview-root[data-intro-phase=intro] .preview-cta-index,.preview-root[data-intro-phase=merge] .preview-cta-index,.preview-root[data-intro-phase=intro] .preview-cta-button,.preview-root[data-intro-phase=merge] .preview-cta-button{transform:translateY(12px)}.preview-root[data-intro-phase=reveal] .preview-kicker,.preview-root[data-intro-phase=reveal] .preview-topbar,.preview-root[data-intro-phase=reveal] .preview-cta-index,.preview-root[data-intro-phase=reveal] .preview-cta-button{opacity:1;transform:translateY(0)}.preview-root[data-intro-phase=reveal] .preview-kicker{transition-delay:90ms}.preview-root[data-intro-phase=reveal] .preview-topbar{transition-delay:.15s}.preview-root[data-intro-phase=reveal] .preview-cta-index{transition-delay:.26s}.preview-root[data-intro-phase=reveal] .preview-cta-button{transition-delay:.36s}.preview-root[data-intro-phase=reveal] .preview-mascot{opacity:1;transition-delay:.48s}.preview-mascot-art{z-index:2;transform-origin:52% 78%;pointer-events:none;background:url(/FM1.webp) 50%/contain no-repeat;animation:3.8s cubic-bezier(.45,0,.55,1) infinite preview-mascot-walk;display:block;position:absolute;inset:0}@keyframes preview-mascot-walk{0%,to{transform:translateY(-12px)rotate(-.6deg)}20%{transform:translateY(-4px)rotate(1.2deg)}50%{transform:translateY(12px)rotate(.6deg)}70%{transform:translateY(4px)rotate(-1.4deg)}}@media (width<=620px){.home-intro-function{max-width:calc(50vw - var(--layout-content-offset) - var(--space-xs))}.home-intro-function span{font-size:var(--text-xs);letter-spacing:.1em}.preview-topbar{height:60px}.preview-brand-image{width:71px;height:24px}.preview-nav-links{gap:var(--space-md)}.preview-nav-links>a{font-size:var(--text-2xs)}.preview-cta h2{font-size:clamp(46px,15vw,68px)}.preview-cta h2 span:first-child{font-size:clamp(59.8px,19.5vw,88.4px)}.preview-mascot{display:none}}@media (prefers-reduced-motion:reduce){.home-intro *,.home-intro :before,.home-intro :after,.preview-root *,.preview-root :before,.preview-root :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.preview-root[data-intro-ready=false] .preview-topbar,.preview-root[data-intro-ready=false] .preview-kicker,.preview-root[data-intro-ready=false] .preview-cta h2,.preview-root[data-intro-ready=false] .preview-cta-index,.preview-root[data-intro-ready=false] .preview-cta-button,.preview-root[data-intro-ready=false] .preview-mascot{opacity:1!important}.preview-mascot{transform:translateY(-46%)!important}}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/NotoSansSC-300.woff2)format("woff2")}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/NotoSansSC-400.woff2)format("woff2")}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/NotoSansSC-600.woff2)format("woff2")}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/NotoSansSC-900.woff2)format("woff2")}:root{--bg-base:#090909;--bg-surface:#101010;--bg-raised:#181816;--bg-elevated:#202020;--bg-elevated-hover:#292929;--bg-sunken:#0b0b0b;--text-primary:#f2f2ef;--text-secondary:#b8b8b2;--text-muted:#91918c;--border-subtle:#2a2a28;--border-default:#464641;--border-strong:#777771;--accent:#f2f2ef;--accent-hover:#d7d7d1;--focus-ring:#f2f2ef;--danger:#e9a0a0;--danger-surface:#211717;--danger-border:#5c3636;--success:#c8c8c2;--lineage-guide:#fff;--alignment-guide:#ff9d3d;--brand-red:#f13b32;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--text-2xs:10px;--text-xs:12px;--text-sm:14px;--text-md:18px;--text-lg:28px;--text-xl:40px;--weight-light:300;--weight-normal:400;--weight-medium:500;--weight-semibold:560;--weight-bold:700;--font-display:"Noto Sans SC", -apple-system, "Microsoft YaHei", sans-serif;--font-body:"Noto Sans SC", -apple-system, "Microsoft YaHei", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--layout-content-width:min(calc(100vw - 12vw), 1400px);--layout-content-offset:max(6vw, calc((100vw - 1400px) / 2))}*{box-sizing:border-box}html{background:var(--bg-base);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}body{background:var(--bg-base);min-width:320px;min-height:100vh;color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button,input,textarea{font:inherit}button{color:inherit}button,[role=button]{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}::selection{background:var(--accent);color:var(--bg-base)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.topbar{z-index:30;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090909eb;width:100%;height:68px;position:fixed;inset:0 0 auto}.topbar-inner{width:var(--layout-content-width);height:100%;margin-right:0;margin-left:var(--layout-content-offset);justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.topbar-brand{outline-offset:5px;flex:none;align-items:center;display:inline-flex}.topbar-brand-image{background:url(/LOGO.png) 50%/contain no-repeat;width:94px;height:32px;display:block}.topbar-nav{align-items:center;gap:clamp(18px,3vw,42px);height:100%;display:flex}.topbar-nav-item{align-items:center;height:100%;display:flex;position:relative}.topbar-home-link,.topbar-nav .category-button{width:auto;min-width:0;height:auto;padding:var(--space-xs) 0;color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.08em;white-space:nowrap;background:0 0;border:0;border-radius:0;align-items:center;text-decoration:none;transition:color .18s;display:inline-flex;position:relative}.topbar-home-link:after,.topbar-nav .category-button:after{background:var(--brand-red);content:"";transform-origin:0;height:1px;transition:transform .18s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.topbar-home-link:hover,.topbar-home-link:focus-visible,.topbar-home-link.is-active,.topbar-nav .category-button:hover,.topbar-nav .category-button:focus-visible,.topbar-nav-item.is-open .topbar-trigger,.topbar-nav .category-button.is-active{color:var(--text-primary);background:0 0}.topbar-nav .category-button:focus-visible{outline-offset:0;outline:auto}.topbar-nav-item.is-open .topbar-trigger.is-active{color:var(--text-primary);background:0 0}.topbar-home-link:hover:after,.topbar-home-link:focus-visible:after,.topbar-home-link.is-active:after,.topbar-nav .category-button:hover:after,.topbar-nav .category-button:focus-visible:after,.topbar-nav .category-button.is-active:after,.topbar-nav-item.is-open .topbar-trigger:after{transform:scaleX(1)}.topbar-menu{top:calc(100% + var(--space-2xs));z-index:40;min-width:180px;padding:var(--space-xs);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;position:absolute;left:0}.topbar-nav-item:last-child .topbar-menu{left:auto;right:0}.topbar-menu-item{width:100%;padding:var(--space-xs) var(--space-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);text-align:left;white-space:nowrap;background:0 0;border:0;text-decoration:none;display:block}.topbar-menu-item:hover{background:var(--bg-raised);color:var(--text-primary)}.topbar-menu-item.is-active{color:var(--text-primary);font-weight:var(--weight-semibold)}.topbar-menu-grouped{right:calc(0px - var(--space-2xl) - var(--space-lg));width:max-content;max-width:var(--layout-content-width);padding:var(--space-xs);grid-auto-columns:max-content;grid-auto-flow:column;display:grid;left:auto}.topbar-menu-grouped .topbar-menu-group{min-width:max-content;padding:0 var(--space-lg) 0 var(--space-sm)}.topbar-menu-grouped .topbar-menu-group:first-child{padding-left:0}.topbar-menu-grouped .topbar-menu-group+.topbar-menu-group{border-left:1px solid var(--border-subtle)}.topbar-menu-grouped .topbar-menu-group-label{margin:0 0 var(--space-xs);color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-normal);letter-spacing:.12em;padding:0}.creation-panel,.creation-panel-collapsed{z-index:6;top:calc(var(--space-2xl) + var(--space-md) + var(--space-2xs) + var(--space-md));right:var(--space-md);color:var(--text-primary);font-family:var(--font-body);position:fixed}.creation-panel{bottom:var(--space-md);width:min(calc(var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-md)), calc(100vw - var(--space-xl)));border-radius:var(--space-sm);background:color-mix(in srgb, var(--bg-raised) 82%, transparent);-webkit-backdrop-filter:blur(14px);border:0;flex-direction:column;min-height:0;display:flex;overflow:hidden}.creation-panel button,.creation-panel textarea,.creation-panel-collapsed button{font:inherit}.creation-panel button,.creation-panel-collapsed button{color:inherit}.creation-panel button:focus-visible,.creation-panel textarea:focus-visible,.creation-panel-collapsed button:focus-visible{outline:1px solid var(--focus-ring);outline-offset:var(--space-2xs)}.creation-panel-header{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-default);background:0 0;flex:none;display:flex}.creation-panel-header h2{min-width:0;font-size:var(--text-md);font-weight:var(--weight-semibold);margin:0}.creation-panel-header-actions,.creation-panel-clear-confirm{align-items:center;gap:var(--space-xs);display:flex}.creation-panel-header-actions button,.creation-panel-clear-confirm button,.creation-panel-text-toggle,.creation-panel-latest{color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;background:0 0;border:0}.creation-panel-header-actions button,.creation-panel-clear-confirm button{padding:var(--space-xs);border-radius:var(--space-xs)}.creation-panel-header-actions button:hover,.creation-panel-clear-confirm button:hover,.creation-panel-text-toggle:hover,.creation-panel-latest:hover{color:var(--text-primary);background:var(--bg-elevated-hover)}.creation-panel-header-actions button:disabled{color:var(--text-muted);cursor:default;opacity:.5}.creation-panel-header-actions button:disabled:hover{background:0 0}.creation-panel-clear-confirm{flex-wrap:wrap;justify-content:flex-end}.creation-panel-clear-confirm>span{width:100%;color:var(--text-secondary);font-size:var(--text-xs);text-align:right}.creation-panel-clear-confirm button:last-child{color:var(--danger)}.creation-panel-stream{gap:var(--space-lg);overscroll-behavior:contain;min-height:0;padding:var(--space-lg) var(--space-md);scrollbar-gutter:stable;background:0 0;flex-direction:column;flex:1;display:flex;overflow-y:auto}.creation-panel-empty{place-content:center;gap:var(--space-xs);color:var(--text-muted);text-align:center;flex:1;display:grid}.creation-panel-empty span{font-size:var(--text-sm);font-weight:var(--weight-medium)}.creation-panel-empty p{font-size:var(--text-xs);margin:0}.creation-panel-record{background:0 0;border:0}.creation-panel-record-user-input{width:min(92%,336px);margin-left:auto}.creation-panel-record-text,.creation-panel-error-message,.creation-panel-generation-status p{color:var(--text-primary);font-size:var(--text-sm);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;line-height:1.6}.creation-panel-record-user-input .creation-panel-record-text{font-weight:var(--weight-medium);line-height:1.5}.creation-panel-record-text.is-collapsed{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.creation-panel-user-input{gap:var(--space-sm);display:grid}.creation-panel-user-input-images{align-items:flex-start;gap:var(--space-sm);display:flex}.creation-panel-user-input-image-item{gap:var(--space-2xs);justify-items:center;width:56px;display:grid}.creation-panel-user-input-image{border:1px solid var(--border-subtle);border-radius:var(--space-xs);background:var(--bg-sunken);cursor:zoom-in;width:56px;height:56px;padding:0;transition:border-color .16s,background .16s;overflow:hidden}.creation-panel-user-input-image:hover{border-color:var(--accent);background:var(--bg-elevated-hover)}.creation-panel-user-input-image:focus-visible{outline:2px solid var(--accent);outline-offset:var(--space-2xs)}.creation-panel-user-input-image img{object-fit:cover;width:100%;height:100%;display:block}.creation-panel-user-input-image-item>span{color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);white-space:nowrap;line-height:1}.image-lightbox-image.creation-panel-record-lightbox-image{width:auto;max-width:min(100%,1280px);height:auto;max-height:min(100%,1280px)}.image-lightbox-image.infinite-canvas-original-lightbox-image{width:auto;max-width:100%;height:auto;max-height:100%}.creation-panel-text-toggle{margin-top:var(--space-xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--space-2xs)}.creation-panel-generation-status p{font-variant-numeric:tabular-nums;white-space:nowrap}.creation-panel-generation-status span{margin-top:var(--space-xs);color:var(--text-muted);font-size:var(--text-xs);display:block}.creation-panel-result{border-radius:var(--space-xs);overflow:hidden}.creation-panel-result img{aspect-ratio:1;object-fit:cover;border:1px solid var(--border-default);border-radius:var(--space-xs);background:var(--bg-sunken);width:100%;height:auto;display:block}.creation-panel-result-meta{align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);color:var(--text-muted);font-size:var(--text-2xs);white-space:nowrap;line-height:1.4;display:flex}.creation-panel-result-meta span{display:inline}.creation-panel-result-meta strong{color:var(--text-secondary);font-size:inherit;font-weight:var(--weight-medium)}.creation-panel-error-message{color:var(--danger)}.creation-panel-error-content{justify-items:start;gap:var(--space-xs);display:grid}.creation-panel-retry{padding:var(--space-2xs) var(--space-sm);border:1px solid var(--danger-border);border-radius:var(--space-xs);color:var(--danger);font-size:var(--text-xs);cursor:pointer;background:0 0}.creation-panel-retry:hover:not(:disabled){background:var(--danger-surface)}.creation-panel-retry:disabled{color:var(--text-muted);cursor:default}.creation-panel-latest{margin:var(--space-xs) 0;padding:var(--space-2xs) var(--space-sm);border:1px solid var(--border-default);border-radius:var(--space-sm);background:var(--bg-elevated);flex:none;align-self:center}.creation-panel-composer{z-index:1;border-top:1px solid var(--border-subtle);border-radius:var(--space-sm) var(--space-sm) 0 0;background:0 0;flex:none;padding:0;position:relative;overflow:visible}.creation-panel>.quota-notice-group{min-width:0;padding:var(--space-xs) var(--space-md);overflow-wrap:anywhere;flex:none}.creation-panel-composer-shell{box-shadow:none;background:0 0;border:0;border-radius:0}.creation-panel-attachments{gap:var(--space-xs);min-height:0;padding:var(--space-sm) var(--space-sm) var(--space-2xs);color:var(--text-muted);font-size:var(--text-xs);display:grid}.creation-panel-attachments:empty{padding-block:var(--space-2xs) 0}.tripo-test-page{min-height:100vh;padding:clamp(var(--space-md), 4vw, var(--space-xl));background:var(--bg-base)}.uploader-card.tripo-test-card{gap:0;width:min(920px,100%);height:auto;margin:0 auto}.tripo-tool{width:100%}.uploader-card.tripo-tool-card{width:100%;height:auto;margin:var(--space-md) 0 0;gap:0}.tripo-tool-session-note{padding:0 0 var(--space-sm);color:var(--text-muted);border-bottom:1px solid var(--border-subtle);font-size:var(--text-xs);margin:0}.tripo-tool-section{padding:var(--space-md) 0;border-bottom:1px solid var(--border-subtle)}.tripo-tool-section:last-child{border-bottom:0;padding-bottom:0}.tripo-tool-section-heading{align-items:end;gap:var(--space-md);grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);display:grid}.tripo-tool-section-heading h2,.tripo-tool-section-heading h3{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.02em}.tripo-tool-section-heading>p{color:var(--text-muted);font-size:var(--text-xs);text-align:right;margin:0;line-height:1.5}.tripo-tool-access,.tripo-tool-dropzone,.tripo-tool-options,.tripo-tool-actions,.tripo-tool-status,.tripo-tool-error,.tripo-tool-result-row{margin-top:var(--space-sm)}.tripo-tool-access .access-field{justify-content:start;align-items:center;gap:var(--space-xs);grid-template-columns:max-content minmax(220px,340px);width:100%}.tripo-tool-access .access-field label{align-items:baseline;gap:var(--space-2xs);white-space:nowrap;display:flex}.tripo-tool-access .access-field label span{margin:0;display:inline}.tripo-tool-dropzone{min-height:180px}.tripo-tool-dropzone .uploader-empty-button{min-height:178px;padding:var(--space-md)}.tripo-tool-dropzone.has-file{min-height:0;padding:var(--space-sm)}.tripo-tool-file{justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;min-height:84px;display:flex}.tripo-tool-file-summary{align-items:center;gap:var(--space-sm);flex:auto;min-width:0;display:flex}.tripo-tool-source-preview{aspect-ratio:4/3;background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--space-xs);flex:0 0 clamp(112px,14vw,160px);justify-content:center;align-items:center;width:clamp(112px,14vw,160px);display:flex;overflow:hidden}.tripo-tool-file-details{gap:var(--space-2xs);min-width:0;display:grid}.tripo-tool-file-details strong{color:var(--text-primary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tripo-tool-file-details span{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.tripo-tool-file-actions,.tripo-tool-actions{align-items:center;gap:var(--space-xs);display:flex}.tripo-tool-file-actions{flex:none}.employee-auth-loading{place-content:center;gap:var(--space-md);min-height:100dvh;padding:var(--space-lg);color:var(--text-secondary);display:grid}.employee-login{width:var(--layout-content-width);min-height:100dvh;padding-block:var(--space-2xl);justify-content:center;align-items:center;gap:var(--space-2xl);flex-direction:column;margin-inline:auto;display:flex}.employee-login-brand{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:-.05em}.employee-login-brand span{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.12em;text-align:center;display:block}.employee-login-card{width:min(100%,28rem);padding:var(--space-xl);border:1px solid var(--border-default);background:var(--bg-surface)}.employee-login-card h1{margin:var(--space-sm) 0;font-size:var(--text-lg);font-weight:var(--weight-normal)}.employee-login-card header>p:last-child,.employee-login-help{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.8}.employee-login-card form{margin-top:var(--space-xl);flex-direction:column;display:flex}.employee-login-field{gap:var(--space-xs);font-size:var(--text-sm);margin-top:var(--space-md);flex-direction:column;display:flex}.employee-login-card input{width:100%;min-width:0;padding:var(--space-sm);border:1px solid var(--border-default);background:var(--bg-sunken);color:var(--text-primary);border-radius:4px;font-size:1rem}.employee-login-password{align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);display:flex}.employee-login-password input{flex:1}.employee-login-password button{flex:none}.employee-login-message{min-height:1.8em;font-size:var(--text-sm);color:var(--danger);margin-block:var(--space-md);overflow-wrap:anywhere;line-height:1.8}.employee-login-help{border-top:1px solid var(--border-subtle);padding-top:var(--space-lg);margin-bottom:0}.employee-account{align-items:center;gap:var(--space-xs);padding-left:var(--space-sm);border-left:1px solid var(--border-subtle);min-width:0;display:flex;position:relative}.employee-account>span:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:8em;font-size:var(--text-sm);color:var(--text-secondary);overflow:hidden}.employee-account-message{width:min(20rem,80vw);padding:var(--space-sm);border:1px solid var(--border-default);background:var(--bg-raised);color:var(--danger);font-size:var(--text-sm);position:absolute;top:100%;right:0}.feedback-dialog.employee-password-dialog{width:min(100%,28rem);max-height:calc(100dvh - var(--space-lg) * 2);border-radius:4px;overflow-y:auto}.employee-password-dialog h2{font-size:var(--text-md);margin:var(--space-xs) 0;letter-spacing:0}.employee-password-dialog input:not([type=hidden]){width:100%;min-width:0;padding:var(--space-sm);border:1px solid var(--border-default);background:var(--bg-sunken);color:var(--text-primary);border-radius:4px;font-size:1rem}.employee-password-note{font-size:var(--text-sm);color:var(--text-secondary);overflow-wrap:anywhere;line-height:1.7}.employee-password-eye{place-items:center;width:36px;height:36px;display:grid}.employee-password-actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.employee-password-actions>button{width:auto;min-width:0;padding:var(--space-sm) var(--space-lg);justify-content:center}@media (width<=1100px){.topbar:has(.employee-account){height:auto;min-height:68px}.topbar:has(.employee-account) .topbar-inner{width:calc(100% - var(--space-lg));gap:var(--space-sm);height:auto;min-height:68px;margin-inline:auto}.topbar:has(.employee-account) .topbar-nav{justify-content:flex-end;gap:0 var(--space-sm);min-width:0;height:auto;padding-block:var(--space-xs);flex-wrap:wrap}.topbar:has(.employee-account) .topbar-nav-item{height:auto}.topbar-nav .employee-account{flex-wrap:wrap;justify-content:flex-end}.topbar-nav .employee-account>span[title]{text-overflow:ellipsis;white-space:nowrap;max-width:5em;overflow:hidden}}@media (width<=640px){.employee-login-card{padding:var(--space-lg)}.employee-login{gap:var(--space-xl)}.employee-account>span:first-child{max-width:5em}}.tripo-tool-source-model-preview,.tripo-test-source-model-preview{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border-subtle)}.tripo-tool-source-model-preview>p,.tripo-test-source-model-preview>p{color:var(--text-muted);font-size:var(--text-xs);margin:0;line-height:1.6}.tripo-tool-source-model-preview .tripo-preview-placeholder,.tripo-tool-source-model-preview .tripo-preview-shell,.tripo-test-source-model-preview .tripo-preview-placeholder,.tripo-test-source-model-preview .tripo-preview-shell{margin-top:var(--space-xs)}.tripo-tool-options{gap:var(--space-2xs);display:grid}.tripo-tool-mode-options{grid-template-columns:repeat(2,minmax(0,1fr))}.tripo-tool-granularity-options{grid-template-columns:repeat(3,minmax(0,1fr))}.tripo-tool-option{min-height:48px;padding:var(--space-xs) var(--space-sm);align-items:center;gap:var(--space-2xs) var(--space-xs);color:var(--text-muted);border:1px solid var(--border-default);cursor:pointer;text-align:left;background:0 0;grid-template-columns:minmax(52px,auto) auto minmax(0,1fr);transition:background-color .16s,border-color .16s,color .16s;display:grid}.tripo-tool-option:hover:not(:disabled){color:var(--text-primary);background:var(--bg-raised);border-color:var(--border-strong)}.tripo-tool-option[aria-pressed=true]{color:var(--text-primary);border-bottom-color:var(--accent)}.tripo-tool-option:focus-visible{border-color:var(--border-strong);outline:2px solid var(--focus-ring);outline-offset:2px}.tripo-tool-option:active:not(:disabled){color:var(--bg-base);background:var(--accent);transform:translateY(1px)}.tripo-tool-option:disabled{cursor:not-allowed;opacity:.45}.tripo-tool-option-code{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.tripo-tool-option strong{color:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap}.tripo-tool-option>span:not(.tripo-tool-option-code){min-width:0;color:var(--text-muted);font-size:var(--text-2xs);line-height:1.4}.tripo-tool-mode-options .tripo-tool-option>span:nth-child(4){grid-column:2/-1}.tripo-tool-actions .primary-button,.tripo-tool-actions .secondary-button,.tripo-tool-download{width:auto;min-width:148px}.tripo-tool-status{padding:var(--space-sm);background:var(--bg-sunken);border:1px solid var(--border-subtle)}.tripo-tool-status-grid{align-items:baseline;gap:var(--space-xs) var(--space-sm);grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);display:grid}.tripo-tool-status-grid span{color:var(--text-muted);font-size:var(--text-2xs)}.tripo-tool-status-grid strong{min-width:0;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-normal);overflow-wrap:anywhere}.tripo-tool-progress{width:100%;height:3px;margin-top:var(--space-sm);appearance:none;background:var(--bg-raised);border:0;display:block;overflow:hidden}.tripo-tool-progress::-webkit-progress-bar{background:var(--bg-raised)}.tripo-tool-progress::-webkit-progress-value{background:var(--accent)}.tripo-tool-progress::-moz-progress-bar{background:var(--accent)}.tripo-tool-error{padding:var(--space-sm);color:var(--text-secondary);background:var(--danger-surface);border:1px solid var(--danger-border)}.tripo-tool-error>div:first-child{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.tripo-tool-error>div:first-child span{color:var(--danger);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.tripo-tool-error-code{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-normal)}.tripo-tool-error>p{margin:var(--space-xs) 0 var(--space-sm);font-size:var(--text-xs);line-height:1.6}.tripo-tool-result{background:var(--bg-raised)}.tripo-tool-segmentation-panel{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-subtle)}.tripo-tool-result-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;display:grid}.tripo-tool-preview-note{margin:var(--space-md) 0 0;color:var(--text-muted);font-size:var(--text-xs);line-height:1.6}.tripo-tool-preview .tripo-preview-placeholder,.tripo-tool-preview .tripo-preview-shell{margin-top:var(--space-sm)}.tripo-tool-preview,.tripo-tool-result-actions{width:100%}.tripo-tool-result-actions{box-sizing:border-box;padding-inline:calc(var(--space-sm) + 1px);justify-content:flex-end}.tripo-tool-result .secondary-button{min-width:148px}.tripo-tool-status-actions{justify-content:flex-end}.tripo-tool-result-metric{min-width:0;padding:0 var(--space-sm);gap:var(--space-2xs);border-left:1px solid var(--border-subtle);display:grid}.tripo-tool-result-metric:first-child{border-left:0;padding-left:0}.tripo-tool-result-metric span,.tripo-tool-result-metric small{color:var(--text-muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tripo-tool-result-metric strong{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tripo-tool-download{justify-content:center;align-items:center;height:38px;text-decoration:none;display:inline-flex}.tripo-tool-constraint{color:var(--text-muted);font-size:var(--text-xs);margin:0}@media (width<=760px){.tripo-tool-section-heading{gap:var(--space-xs);grid-template-columns:1fr}.tripo-tool-section-heading>p{text-align:left}.tripo-tool-mode-options,.tripo-tool-granularity-options,.tripo-tool-result-row{grid-template-columns:1fr}.tripo-tool-result-row{gap:var(--space-sm)}.tripo-tool-result-metric{padding:var(--space-xs) 0 0;border-top:1px solid var(--border-subtle);border-left:0}.tripo-tool-result-metric:first-child{border-top:0;padding-top:0}}@media (width<=620px){.tripo-tool-access .access-field{display:block}.tripo-tool-access .access-field label{margin-bottom:var(--space-xs)}.tripo-tool-file,.tripo-tool-actions{flex-direction:column;align-items:stretch}.tripo-tool-file-actions,.tripo-tool-file-summary{width:100%}.tripo-tool-file-actions .image-action-button{flex:1}.tripo-tool-actions .primary-button,.tripo-tool-actions .secondary-button,.tripo-tool-download{width:100%}.tripo-tool-status-grid{grid-template-columns:auto minmax(0,1fr)}}.tripo-test-header{padding-bottom:var(--space-md);justify-content:space-between;align-items:flex-end;gap:var(--space-lg);border-bottom:1px solid var(--border-subtle);display:flex}.tripo-test-header h1{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:clamp(var(--text-lg), 3vw, var(--text-xl));font-weight:var(--weight-semibold);letter-spacing:-.035em}.tripo-test-header-note{max-width:360px;color:var(--text-muted);font-size:var(--text-xs);text-align:right;margin:0;line-height:1.6}.tripo-test-block{padding:var(--space-md) 0;border-bottom:1px solid var(--border-subtle)}.tripo-test-block:last-child{border-bottom:0;padding-bottom:0}.tripo-test-block-heading{align-items:flex-start;gap:var(--space-sm);display:flex}.tripo-test-block-heading>span{min-width:28px;padding-top:var(--space-2xs);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.tripo-test-block-heading h2,.tripo-test-block-heading p{margin:0}.tripo-test-block-heading h2{color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.tripo-test-block-heading p{margin-top:var(--space-2xs);color:var(--text-muted);font-size:var(--text-xs);line-height:1.5}.tripo-test-access,.tripo-test-dropzone,.tripo-test-granularity,.tripo-test-actions,.tripo-test-status,.tripo-test-error,.tripo-test-result-row{margin-top:var(--space-sm)}.tripo-test-access{max-width:420px}.tripo-test-dropzone{min-height:180px}.tripo-test-dropzone .uploader-empty-button{min-height:178px;padding:var(--space-md)}.tripo-test-dropzone.has-file{min-height:0;padding:var(--space-sm)}.tripo-test-file{justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;min-height:88px;display:flex}.tripo-test-file-details{gap:var(--space-2xs);min-width:0;display:grid}.tripo-test-file-details strong{color:var(--text-primary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tripo-test-file-details span{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.tripo-test-debug-entry{margin-top:var(--space-sm);padding:var(--space-sm);align-items:center;gap:var(--space-sm);background:var(--bg-sunken);border:1px solid var(--border-subtle);display:flex}.tripo-test-debug-entry .secondary-button{flex:none;width:auto}.tripo-test-debug-actions{align-items:center;gap:var(--space-xs);flex:none;display:flex}.tripo-test-file-actions{gap:var(--space-xs);flex:none;display:flex}.tripo-test-granularity{gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tripo-test-option{min-height:84px;padding:var(--space-sm);align-content:center;justify-items:start;gap:var(--space-2xs);color:var(--text-secondary);background:var(--bg-sunken);border:1px solid var(--border-subtle);cursor:pointer;text-align:left;transition:color .15s,border-color .15s,background-color .15s;display:grid}.tripo-test-option:hover:not(:disabled){color:var(--text-primary);background:var(--bg-raised);border-color:var(--border-default)}.tripo-test-option[aria-pressed=true]{color:var(--text-primary);background:var(--bg-elevated);border-color:var(--border-strong)}.tripo-test-option:disabled{cursor:not-allowed;opacity:.55}.tripo-test-option strong{font-size:var(--text-sm)}.tripo-test-option>span:last-child{color:var(--text-muted);font-size:var(--text-2xs)}.tripo-test-option-code{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.tripo-test-constraint{margin:var(--space-xs) 0 0;color:var(--text-secondary);font-size:var(--text-xs)}.tripo-test-actions,.tripo-test-result-row{align-items:center;gap:var(--space-xs);display:flex}.tripo-test-actions .primary-button,.tripo-test-actions .secondary-button,.tripo-test-download{width:auto;min-width:148px}.tripo-test-status{padding:var(--space-sm);background:var(--bg-sunken);border:1px solid var(--border-subtle)}.tripo-test-status-grid{align-items:baseline;gap:var(--space-xs) var(--space-sm);grid-template-columns:88px minmax(0,1fr);display:grid}.tripo-test-status-grid span{color:var(--text-muted);font-size:var(--text-2xs)}.tripo-test-status-grid strong{min-width:0;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-normal);overflow-wrap:anywhere}.tripo-test-progress{width:100%;height:3px;margin-top:var(--space-sm);appearance:none;background:var(--bg-raised);border:0;display:block;overflow:hidden}.tripo-test-progress::-webkit-progress-bar{background:var(--bg-raised)}.tripo-test-progress::-webkit-progress-value{background:var(--accent)}.tripo-test-progress::-moz-progress-bar{background:var(--accent)}.tripo-test-error{padding:var(--space-sm);background:color-mix(in srgb, var(--danger) 8%, var(--bg-sunken));border:1px solid var(--danger)}.tripo-test-error>div{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.tripo-test-error span{color:var(--danger);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.tripo-test-error-code{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-normal)}.tripo-test-error p{margin:var(--space-xs) 0 0;color:var(--text-secondary);font-size:var(--text-xs);line-height:1.6}.tripo-test-result{background:var(--bg-raised)}.tripo-test-result-row{box-sizing:border-box;padding-inline:calc(var(--space-sm) + 1px);justify-content:space-between}.tripo-test-result-metric{gap:var(--space-2xs);display:grid}.tripo-test-result-metric span,.tripo-test-result-metric small{color:var(--text-muted);font-size:var(--text-2xs)}.tripo-test-result-metric strong{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-md);font-weight:var(--weight-semibold)}.tripo-test-download{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.tripo-preview-placeholder,.tripo-preview-shell{box-sizing:border-box;width:100%;margin-top:var(--space-md);background:var(--bg-sunken);border:1px solid var(--border-subtle)}.tripo-preview-placeholder{min-height:0;padding:var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.tripo-preview-placeholder>div{align-items:baseline;gap:var(--space-2xs) var(--space-sm);flex-wrap:wrap;min-width:0;display:flex}.tripo-preview-placeholder span,.tripo-preview-placeholder p,.tripo-preview-toolbar span,.tripo-preview-parts-heading span,.tripo-preview-parts>p{color:var(--text-muted);font-size:var(--text-2xs)}.tripo-preview-placeholder strong{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-lg)}.tripo-preview-placeholder p,.tripo-preview-parts>p{margin:0;line-height:1.6}.tripo-preview-placeholder .secondary-button,.tripo-preview-toolbar .secondary-button,.tripo-test-result .tripo-test-download,.tripo-tool-result .tripo-tool-download{width:148px;min-width:148px}.tripo-preview-toolbar{min-height:58px;padding:var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:1px solid var(--border-subtle);display:flex}.tripo-preview-shell{transform-origin:top;animation:.16s ease-out both tripo-preview-open}@keyframes tripo-preview-open{0%{opacity:0;transform:scaleY(.98)}to{opacity:1;transform:scaleY(1)}}.tripo-preview-toolbar>div{gap:var(--space-2xs);display:grid}.tripo-preview-toolbar strong,.tripo-preview-parts-heading strong{color:var(--text-primary);font-size:var(--text-xs)}.tripo-preview-workspace{background:var(--border-subtle);grid-template-columns:minmax(0,1fr) minmax(190px,230px);gap:1px;display:grid}.tripo-preview-stage{aspect-ratio:16/9;background:var(--bg-base);min-width:0;position:relative;overflow:hidden}.tripo-preview-stage model-viewer{background:radial-gradient(circle at 50% 42%, var(--bg-raised), var(--bg-base) 72%);width:100%;height:100%;display:block}.tripo-preview-loading,.tripo-preview-error{place-content:center;gap:var(--space-xs);text-align:center;display:grid}.tripo-preview-loading{pointer-events:none;background:radial-gradient(circle at 50% 42%, var(--bg-raised), var(--bg-base) 72%);position:absolute;inset:0}.tripo-preview-loading strong{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-lg)}.tripo-preview-loading span{color:var(--text-muted);font-size:var(--text-xs)}.tripo-preview-loading progress{appearance:none;background:var(--bg-raised);border:0;width:min(220px,54vw);height:3px}.tripo-preview-loading progress::-webkit-progress-bar{background:var(--bg-raised)}.tripo-preview-loading progress::-webkit-progress-value{background:var(--accent)}.tripo-preview-loading progress::-moz-progress-bar{background:var(--accent)}.tripo-preview-error{min-height:180px;padding:var(--space-md);color:var(--danger);background:color-mix(in srgb, var(--danger) 7%, var(--bg-base));font-size:var(--text-xs);line-height:1.6}.tripo-preview-stage>.tripo-preview-error{position:absolute;inset:0}.tripo-preview-parts{min-width:0;min-height:0;padding:var(--space-sm);background:var(--bg-sunken);overflow:hidden}.tripo-preview-parts-heading{padding-bottom:var(--space-xs);justify-content:space-between;align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--border-subtle);display:flex}.tripo-preview-parts-heading span{font-family:var(--font-mono)}.tripo-preview-parts-list{max-height:calc(100% - var(--space-lg));margin-top:var(--space-xs);gap:var(--space-2xs);display:grid;overflow:auto}.tripo-preview-parts-list button{min-height:34px;padding:var(--space-2xs) var(--space-xs);align-items:center;gap:var(--space-xs);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:12px minmax(0,1fr);display:grid}.tripo-preview-parts-list button:hover{color:var(--text-primary);background:var(--bg-raised);border-color:var(--border-subtle)}.tripo-preview-parts-list button[aria-pressed=true]{color:var(--text-primary);background:var(--bg-elevated);border-color:var(--border-strong)}.tripo-preview-parts-list button>span:last-child{font-family:var(--font-mono);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tripo-preview-swatch{border:1px solid color-mix(in srgb, var(--text-primary) 32%, transparent);width:12px;height:12px}@media (width<=720px){.tripo-test-page{padding:var(--space-sm)}.tripo-test-header,.tripo-test-debug-entry,.tripo-test-file,.tripo-test-result-row{flex-direction:column;align-items:stretch}.tripo-test-header-note{text-align:left;max-width:none}.tripo-test-granularity{grid-template-columns:1fr}.tripo-test-file-actions,.tripo-test-debug-actions,.tripo-test-actions{flex-wrap:wrap}.tripo-test-actions .primary-button,.tripo-test-actions .secondary-button,.tripo-test-download{width:100%}.tripo-preview-placeholder{min-height:0;padding:var(--space-sm);align-items:stretch;gap:var(--space-sm);flex-direction:column}.tripo-preview-placeholder .secondary-button,.tripo-preview-toolbar .secondary-button{width:100%}.tripo-preview-toolbar{flex-direction:column;align-items:stretch}.tripo-preview-workspace{grid-template-columns:1fr}.tripo-preview-parts{max-height:240px}.tripo-preview-parts-list{max-height:176px}}@media (prefers-reduced-motion:reduce){.tripo-preview-shell{animation:none}}.creation-panel-skill-prompt-readonly,.creation-panel-skill-prompt-confirmation{gap:var(--space-sm);display:grid}.creation-panel-skill-prompt-confirmation textarea{width:100%;min-height:calc(var(--space-xl) + var(--space-sm));field-sizing:content;resize:none;padding:var(--space-2xs) 0 var(--space-xs);color:var(--text-primary);font:inherit;font-size:var(--text-sm);background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;outline:none;line-height:1.6;overflow:hidden}.creation-panel-skill-prompt-confirmation textarea:focus-visible{border-bottom-color:var(--border-default);background:color-mix(in srgb, var(--bg-elevated) 24%, transparent);box-shadow:none}.creation-panel-skill-prompt-confirmation textarea:disabled{color:var(--text-secondary);cursor:default}.creation-panel-skill-prompt-actions{align-items:center;gap:var(--space-xs);display:flex}.creation-panel-skill-prompt-actions button{padding:var(--space-xs) var(--space-sm);border:1px solid var(--accent);border-radius:var(--space-xs);background:var(--accent);color:var(--bg-base);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer}.creation-panel-skill-prompt-actions button:hover:not(:disabled){background:var(--accent-hover)}.creation-panel-skill-prompt-actions button.is-secondary{color:var(--text-secondary);background:0 0;border-color:#0000}.creation-panel-skill-prompt-actions button.is-secondary:hover:not(:disabled){background:var(--bg-elevated-hover);color:var(--text-primary)}.creation-panel-skill-prompt-actions button:disabled{opacity:.45;cursor:default}.creation-panel-selected-skill{min-height:calc(var(--space-lg) + var(--space-xs));align-items:center;gap:var(--space-xs);color:var(--text-muted);font-size:var(--text-2xs);display:flex}.creation-panel-selected-skill strong{min-width:0;color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.creation-panel-selected-skill button{padding:var(--space-2xs) var(--space-xs);border-radius:var(--space-xs);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;margin-left:auto}.creation-panel-selected-skill button:hover,.creation-panel-selected-skill button:focus-visible{background:var(--bg-elevated);color:var(--text-primary)}.creation-panel-attachment-list{align-items:center;gap:var(--space-xs);display:flex}.creation-panel-attachment-list figure{flex:none;margin:0;padding:0;position:relative}.creation-panel-attachment-list figure:first-of-type{order:1}.creation-panel-attachment-list figure:last-of-type{order:3}.creation-panel-attachment-list img{width:var(--space-2xl);height:var(--space-2xl);object-fit:cover;border-radius:var(--space-2xs);display:block}.creation-panel-attachment-index{top:var(--space-2xs);left:var(--space-2xs);width:var(--space-md);height:var(--space-md);border-radius:var(--space-2xs);background:color-mix(in srgb, var(--bg-base) 84%, transparent);color:var(--text-primary);font-size:var(--text-2xs);font-weight:var(--weight-semibold);place-items:center;line-height:1;display:grid;position:absolute}.creation-panel-role-swap{width:calc(var(--space-md) + var(--space-sm));height:calc(var(--space-md) + var(--space-sm));border-radius:var(--space-xs);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex:none;order:2;place-items:center;padding:0;transition:background-color .12s,color .12s,transform .12s;display:grid}.creation-panel-role-swap:hover{background:var(--bg-elevated-hover);color:var(--text-primary);transform:scale(1.05)}.creation-panel-role-swap:active{transform:scale(.92)}.creation-panel-role-swap svg{width:var(--space-md);height:var(--space-md);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.creation-panel-attachment-empty,.creation-panel-ai-privacy{margin:0}.creation-panel-attachment-empty{color:var(--text-secondary);font-size:var(--text-2xs);line-height:1.5}.creation-panel-ai-privacy{min-width:0;color:var(--text-secondary);font-size:var(--text-2xs);overflow-wrap:anywhere;flex:1;padding:0;line-height:1.5}.creation-panel-input-wrap{min-width:0}.creation-panel-size-row{gap:var(--space-xs);padding:0 var(--space-sm) var(--space-xs);align-items:flex-start;display:flex;position:relative}.creation-panel-size-picker{width:100%;position:relative}.creation-panel-size-trigger{min-height:calc(var(--space-lg) + var(--space-2xs));align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border:1px solid var(--border-subtle);border-radius:var(--space-xs);background:color-mix(in srgb, var(--bg-elevated) 32%, transparent);color:var(--text-secondary);font-size:var(--text-2xs);cursor:pointer;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}.creation-panel-size-trigger:hover,.creation-panel-size-trigger[aria-expanded=true]{border-color:var(--border-default);background:var(--bg-elevated-hover);color:var(--text-primary)}.creation-panel-size-trigger svg{width:var(--space-sm);height:var(--space-sm);margin-left:var(--space-2xs);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;transition:transform .14s}.creation-panel-size-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.creation-panel-size-popover{z-index:5;bottom:calc(100% + var(--space-xs));width:100%;padding:var(--space-sm);border:1px solid var(--border-default);border-radius:var(--space-sm);background:var(--bg-raised);position:absolute;left:0}.image-settings-trigger{width:32px;height:32px;padding:var(--space-xs);justify-content:center}.image-settings-trigger svg{width:20px;height:20px;margin:0}.image-settings-trigger[aria-expanded=true] svg{transform:none}.image-settings-trigger{position:relative}.image-settings-trigger[aria-expanded=false]:is(:hover,:focus-visible):after{content:attr(data-tooltip);bottom:calc(100% + var(--space-xs));white-space:nowrap;padding:var(--space-xs);border:1px solid var(--border-default);border-radius:var(--space-xs);background:var(--bg-raised);color:var(--text-primary);font-size:var(--text-2xs);pointer-events:none;z-index:2;position:absolute;left:0}.image-settings-popover{z-index:1000;overscroll-behavior:contain;box-shadow:0 var(--space-xs) var(--space-lg) var(--bg-sunken);position:fixed;bottom:auto;overflow-y:auto}.image-settings-popover h3{margin:0 0 var(--space-xs);font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.image-settings-popover h3:not(:first-child){margin-top:var(--space-md)}.image-settings-popover .creation-panel-size-options{grid-template-columns:repeat(3,minmax(0,1fr))}.image-settings-popover .image-count-picker button{font-size:var(--text-xs);flex:1}.image-settings-popover button:focus-visible,.image-settings-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.creation-panel-size-options{gap:var(--space-xs);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.creation-panel-size-option{grid-template-rows:minmax(0, 1fr) var(--space-xs);min-width:0;min-height:calc(var(--space-2xl) + var(--space-md));align-content:stretch;place-items:center;gap:0;display:grid}.image-count-picker{gap:var(--space-2xs);flex-shrink:0;display:flex}.image-count-picker button{min-height:calc(var(--space-lg) + var(--space-2xs));padding:var(--space-2xs) var(--space-xs);border:1px solid var(--border-subtle);border-radius:var(--space-xs);background:var(--bg-surface);color:var(--text-secondary);font-size:inherit;cursor:pointer}.image-count-picker button:hover{border-color:var(--border-default)}.image-count-picker button.is-selected{background:var(--bg-raised);border-color:var(--accent);color:var(--text-primary)}.infinite-canvas-generation-placeholder.is-failed{background:var(--bg-surface);border-color:var(--danger-border);animation:none}.infinite-canvas-generation-placeholder.is-failed:before,.infinite-canvas-generation-placeholder.is-failed:after{animation:none;display:none}.creation-panel-size-options button{align-content:center;place-items:center;gap:var(--space-2xs);width:100%;min-width:0;min-height:0;padding:var(--space-2xs);border-radius:var(--space-xs);background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;border:0;transition:background-color .14s,color .14s;display:grid}.creation-panel-size-options button:hover{background:var(--bg-elevated-hover);color:var(--text-primary)}.creation-panel-size-options button[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 10%, var(--bg-elevated));color:var(--accent)}.creation-panel-size-option-status{min-height:var(--space-xs);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-medium);line-height:1;display:block}.creation-panel-size-option.is-recommended .creation-panel-size-option-status{color:var(--accent)}.creation-panel-size-option.is-current .creation-panel-size-option-status{color:var(--text-primary)}.creation-panel-size-options svg{width:var(--space-lg);height:var(--space-sm);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;overflow:visible}.creation-panel-size-options rect{rx:var(--space-2xs)}.creation-panel-composer textarea{width:100%;min-height:calc(var(--space-2xl) + var(--space-xl));resize:none;padding:var(--space-xs) var(--space-sm) var(--space-sm);color:var(--text-primary);font-size:var(--text-sm);background:0 0;border:0;outline:0;line-height:1.5;display:block}.creation-panel-composer textarea::placeholder{color:var(--text-muted)}.creation-panel-composer textarea:focus-visible{outline:0}.creation-panel-composer-actions{justify-content:space-between;align-items:flex-end;gap:var(--space-sm);padding:0 var(--space-sm) var(--space-sm);display:flex}.creation-panel-submit{width:calc(var(--space-xl) + var(--space-xs));height:calc(var(--space-xl) + var(--space-xs));border:1px solid var(--border-default);border-radius:var(--space-sm);background:color-mix(in srgb, var(--bg-elevated) 48%, transparent);color:var(--text-primary);cursor:pointer;flex:none;place-items:center;padding:0;transition:background-color .16s,border-color .16s,color .16s,opacity .16s,transform .12s;display:grid}.creation-panel-submit:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-elevated-hover);color:var(--text-primary)}.creation-panel-submit:active:not(:disabled){background:var(--bg-elevated);transform:translateY(1px)}.creation-panel-submit:focus-visible{outline:1px solid var(--focus-ring);outline-offset:2px;border-color:var(--focus-ring)}.creation-panel-submit svg{width:var(--space-md);height:var(--space-md);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.creation-panel-submit:disabled{border-color:var(--border-subtle);color:var(--text-muted);cursor:default;opacity:.42;background:0 0}.creation-panel-collapsed button{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--border-strong);border-radius:var(--space-sm);background:var(--bg-raised);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;display:flex}.creation-panel-collapsed button:hover{background:var(--bg-elevated)}.creation-panel-collapsed strong{min-width:var(--space-lg);min-height:var(--space-lg);border-radius:var(--space-sm);background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-semibold);place-items:center;display:grid}@media (width<=620px){.creation-panel{left:var(--space-md);width:auto}.creation-panel-header{align-items:flex-start}.creation-panel-generation-status p{white-space:normal}}.global-search{top:calc(100% + var(--space-md));z-index:35;width:calc(var(--space-2xl) + var(--space-lg));max-height:var(--space-xl);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--space-md);box-shadow:0 var(--space-xs) var(--space-lg) var(--bg-base);opacity:.86;transition:width .16s,height .16s,max-height .16s,border-radius .16s,opacity .14s,transform .16s;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.global-search.is-search,.global-search.is-results{width:calc(var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl));max-height:calc(var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl));border-radius:calc(( var(--space-xl) + var(--space-xs) + var(--space-2xs) / 2 ) / 2);opacity:1;transform:translate(-50%)}.global-search-capsule{z-index:1;width:100%;height:var(--space-xl);padding:0 var(--space-sm);color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.16em;opacity:1;background:0 0;border:0;place-items:center;transition:opacity .1s,transform .16s;display:grid;position:absolute;inset:0}.global-search.is-search .global-search-capsule,.global-search.is-results .global-search-capsule{pointer-events:none;opacity:0;transform:translateY(calc(0px - var(--space-2xs)))}.global-search-field{height:calc(var(--space-xl) + var(--space-xs));padding:0 var(--space-sm);align-items:center;gap:var(--space-xs);border-radius:calc(var(--space-sm) + var(--space-xs));opacity:0;transition:opacity .12s;display:flex}.global-search.is-search .global-search-field,.global-search.is-results .global-search-field{opacity:1}.global-search-mark{width:var(--space-sm);height:var(--space-sm);border:1px solid var(--text-muted);border-radius:var(--space-xs);flex:none;position:relative}.global-search-mark:after{right:calc(0px - var(--space-2xs));bottom:calc(0px - var(--space-2xs));width:var(--space-xs);background:var(--text-muted);content:"";transform-origin:50%;height:1px;position:absolute;transform:rotate(45deg)}.global-search-input{width:100%;min-width:0;color:var(--text-primary);font-size:var(--text-sm);background:0 0;border:0;padding:0}.global-search-input::placeholder{color:var(--text-muted)}.global-search-input:focus-visible{outline:0}.global-search:focus-within{border-color:var(--border-strong)}.global-search-results{opacity:0;transform:translateY(calc(0px - var(--space-xs)));grid-template-rows:0fr;transition:grid-template-rows .16s,opacity .12s,transform .16s;display:grid}.global-search.is-results .global-search-results{opacity:1;grid-template-rows:1fr;transform:translateY(0)}.global-search-results-inner{min-height:0;max-height:calc(var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl));padding:0 var(--space-xs);overscroll-behavior:contain;scrollbar-color:var(--border-default) transparent;scrollbar-width:thin;overflow:hidden auto}.global-search.is-results .global-search-results-inner{padding-bottom:var(--space-sm)}.global-search-group{padding:var(--space-xs) 0}.global-search-group-title{padding:var(--space-2xs) var(--space-sm) var(--space-xs);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.12em;margin:0}.global-search-group-members{display:grid}.global-search-result{width:100%;min-width:0;padding:var(--space-xs) var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-md);border-radius:var(--space-xs);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);text-align:left;background:0 0;border:0;transition:background .1s,color .1s,transform .1s;display:flex}.global-search-result.is-active{background:var(--bg-elevated);color:var(--text-primary);transform:translateX(var(--space-2xs))}.global-search-result:disabled{cursor:not-allowed;opacity:.45}.global-search-result-type{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;flex:none}.global-search-empty{padding:var(--space-md) var(--space-sm);color:var(--text-muted);font-size:var(--text-xs);text-align:center;margin:0}.feedback-layer{z-index:100;padding:var(--space-lg);place-items:center;display:grid;position:fixed;inset:0}.feedback-overlay{background:var(--bg-base);cursor:default;opacity:.82;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.feedback-dialog{z-index:1;width:min(100%,560px);padding:var(--space-lg);background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-primary);position:relative}.feedback-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);display:flex}.feedback-heading h2{margin:var(--space-2xs) 0 0;font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.02em}.feedback-close{border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;font-size:var(--text-md);background:0 0;flex:none;place-items:center;padding:0;display:grid}.feedback-close:hover{background:var(--bg-raised);border-color:var(--border-default);color:var(--text-primary)}.feedback-description{margin:var(--space-sm) 0 0;color:var(--text-muted);font-size:var(--text-xs);line-height:1.6}.feedback-form{gap:var(--space-xs);margin-top:var(--space-lg);display:grid}.feedback-form label{color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.feedback-form textarea{width:100%;min-height:190px;padding:var(--space-sm);resize:vertical;background:var(--bg-sunken);border:1px solid var(--border-subtle);color:var(--text-primary);font-family:-apple-system,Microsoft YaHei,PingFang SC,sans-serif;font-size:var(--text-sm);border-radius:0;line-height:1.65}.feedback-form textarea::placeholder{color:var(--text-muted)}.feedback-form-meta{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-top:var(--space-xs);display:flex}.feedback-counter{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);align-self:center}.feedback-submit{align-self:center;width:180px}.feedback-status{margin:var(--space-sm) 0 0;padding:var(--space-xs) var(--space-sm);background:var(--bg-sunken);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--text-xs);line-height:1.5}.feedback-status.is-error{background:var(--danger-surface);border-color:var(--danger-border);color:var(--danger)}.feedback-status.is-success{color:var(--success)}.feedback-contact-row{margin:var(--space-md) 0 0;padding-top:var(--space-sm);border-top:1px solid var(--border-subtle)}.feedback-contact{width:auto;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:var(--text-xs);text-align:left;background:0 0;margin:0;line-height:1.5;transition:background-color .18s,border-color .18s,color .18s}.feedback-contact:hover,.feedback-contact:focus-visible{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-primary)}.feedback-qr-layer{z-index:2;padding:var(--space-lg);place-items:center;display:grid;position:absolute;inset:0}.feedback-qr-dialog{width:min(100%,368px);padding:var(--space-2xl) var(--space-lg) var(--space-lg);gap:var(--space-sm);justify-items:center;display:grid}.feedback-qr-close{top:var(--space-xs);right:var(--space-xs);position:absolute}.feedback-qr-image{object-fit:contain;width:300px;max-width:100%;height:300px;display:block}.feedback-qr-name{color:var(--text-secondary);font-size:var(--text-sm);text-align:center;margin:0}.app-shell{width:var(--layout-content-width);margin-right:0;margin-left:var(--layout-content-offset);padding:calc(68px + var(--space-lg)) 0 var(--space-xl)}.changelog-page{padding-bottom:var(--space-2xl)}.changelog-document{width:100%;margin:var(--space-xl) 0 0}.changelog-document>*{max-width:920px}.changelog-document h1{max-width:760px;font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.04em;margin:0;font-weight:900;line-height:1.12}.changelog-document .changelog-date{margin:var(--space-sm) 0 0;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em}.changelog-document hr{height:1px;margin:var(--space-2xl) 0;background:var(--border-subtle);border:0}.changelog-document h2{margin:0 0 var(--space-lg);font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.03em;font-weight:900;line-height:1.25}.changelog-document h3{margin:var(--space-lg) 0 var(--space-xs);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1.6}.changelog-document p,.changelog-document li{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.85}.changelog-document p{margin:0 0 var(--space-md)}.changelog-document h1+.changelog-date+p{max-width:680px;margin-top:var(--space-lg);color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-light);line-height:1.7}.changelog-document ul{padding-left:var(--space-lg);gap:var(--space-xs);margin:0;display:grid}.changelog-document li{padding-left:var(--space-2xs)}.changelog-document li::marker{color:var(--text-muted)}.changelog-document strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.section-heading,.uploader-heading,.generate-panel,.result-heading,.result-toolbar,.privacy-note{justify-content:space-between;align-items:center;display:flex}.category-button{min-width:112px;height:40px;padding:0 var(--space-md);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;font-size:var(--text-xs);background:0 0;transition:background .14s,border-color .14s,color .14s}.category-button:hover{border-color:var(--accent);color:var(--accent)}.category-button.is-active{background:var(--accent);border-color:var(--accent);color:var(--bg-base)}.workspace{padding-top:var(--space-xl)}.input-section{margin:0}.section-heading{justify-content:flex-start;align-items:baseline;gap:var(--space-lg);margin-bottom:var(--space-sm)}.section-heading h2{margin:var(--space-2xs) 0 0;font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.03em;font-weight:900}.section-title-note{margin-left:var(--space-xs);color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-normal);letter-spacing:0;white-space:nowrap;display:inline-block}.result-heading h2{margin:var(--space-2xs) 0 0;font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.02em}.section-kicker,.uploader-eyebrow{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.16em;margin:0}.section-heading>p{max-width:430px;color:var(--text-muted);font-size:var(--text-xs);text-align:right;margin:0;line-height:1.6}.uploader-grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.uploader-card{min-width:0;height:100%;padding:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle);flex-direction:column;transition:border-color .16s,background-color .16s;display:flex}.uploader-card:focus-within,.uploader-card.has-file{border-color:var(--border-default)}.uploader-card.is-paste-target{border-color:var(--border-strong)}.uploader-heading{align-items:flex-start}.uploader-heading h2,.tool-image-heading h3{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.02em}.uploader-state{padding:var(--space-2xs) var(--space-xs) var(--space-2xs);color:var(--text-muted);border:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.12em}.has-file .uploader-state{color:var(--text-primary);border-color:var(--border-default)}.uploader-description{margin:var(--space-xs) 0 var(--space-sm);color:var(--text-muted);font-size:var(--text-xs)}.uploader-dropzone{background:var(--bg-sunken);border:1px dashed var(--border-default);flex-direction:column;min-height:286px;transition:border-color .16s,background-color .16s;display:flex;position:relative;overflow:hidden}.image-drop-target{transition:border-color .16s,background-color .16s}.uploader-dropzone.is-dragging,.image-drop-target.is-dragging,.structure-diff-dropzone.is-dragging{background:var(--bg-raised);border-color:var(--accent)}.uploader-empty-button{width:100%;min-height:284px;padding:var(--space-lg);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.uploader-empty-button:disabled{cursor:wait}.upload-symbol{width:36px;height:36px;margin-bottom:var(--space-md);border:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--text-lg);font-weight:var(--weight-light);border-radius:50%;place-items:center;line-height:1;display:grid}.upload-primary{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.upload-secondary{margin-top:var(--space-xs);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.04em}.uploader-preview{background:var(--bg-raised);justify-content:center;align-items:center;width:100%;height:clamp(180px,18vw,240px);display:flex;position:relative;overflow:hidden}.uploader-preview-button{cursor:zoom-in;background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:100%;padding:0;display:flex;position:relative}.uploader-preview-image{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.uploader-preview-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}.uploader-preview-hint{padding:var(--space-2xs) var(--space-xs);border:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--text-2xs);letter-spacing:.04em;opacity:0;pointer-events:none;background:#0a0a0ad1;transition:opacity .16s,transform .16s;position:absolute;bottom:10px;right:12px;transform:translateY(3px)}.uploader-preview-button:hover .uploader-preview-hint,.uploader-preview-button:focus-visible .uploader-preview-hint{opacity:1;transform:translateY(0)}.uploader-processing-overlay{z-index:2;color:var(--text-primary);font-size:var(--text-xs);letter-spacing:.04em;pointer-events:none;background:#0a0a0ad1;place-items:center;display:grid;position:absolute;inset:0}.image-action-bar{width:100%;min-width:0;min-height:66px;padding:var(--space-xs) var(--space-sm);align-items:center;gap:var(--space-xs);background:var(--bg-surface);border-top:1px solid var(--border-subtle);display:flex}.image-file-info{gap:var(--space-2xs);min-width:0;color:var(--text-muted);font-size:var(--text-2xs);flex-direction:column;margin-right:auto;display:flex;overflow:hidden}.image-file-name{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.image-file-meta{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.image-file-optimized{color:var(--text-muted);font-size:var(--text-2xs)}.image-action-buttons,.result-secondary-actions{align-items:center;gap:var(--space-xs);flex:none;display:flex}.image-action-button{min-width:84px;height:34px;padding:0 var(--space-sm);background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary);font-size:var(--text-xs);cursor:pointer;touch-action:manipulation;transition:background-color .18s,border-color .18s,color .18s}.image-action-button:hover:not(:disabled){background:var(--bg-elevated-hover);border-color:var(--border-strong)}.image-action-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.image-action-button:active:not(:disabled){transform:translateY(1px)}.image-action-button.delete{background:var(--danger-surface);border-color:var(--danger-border);color:var(--danger)}.image-action-button.delete:hover:not(:disabled){background:var(--danger-surface);border-color:var(--danger-border);color:var(--text-primary)}.image-action-button:disabled{opacity:.45;cursor:not-allowed}.text-button{padding:var(--space-xs) var(--space-xs);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;transition:color .14s,background-color .14s}.text-button:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.text-button.is-danger:hover:not(:disabled){color:var(--danger)}.text-button:disabled{opacity:.45;cursor:not-allowed}.image-lightbox{z-index:1000;background:#000000eb;justify-content:center;align-items:center;padding:clamp(16px,3vw,42px);display:flex;position:fixed;inset:0}.image-lightbox-dialog{background:var(--bg-surface);border:1px solid var(--border-default);justify-content:center;align-items:center;width:min(94vw,1500px);height:min(90vh,1000px);display:flex;position:relative;overflow:hidden}.tool-example-lightbox-dialog{width:100%;height:100%}.image-lightbox-image{object-fit:contain;object-position:center;cursor:zoom-in;touch-action:none;-webkit-user-select:none;user-select:none;transform-origin:50%;will-change:transform;width:100%;height:100%;transition:transform .12s cubic-bezier(.2,.7,.2,1);display:block}.image-lightbox-image.is-zoomed{cursor:grab}.image-lightbox-image.is-dragging{cursor:grabbing;transition:none}.image-lightbox-close{z-index:1;min-width:66px;height:36px;padding:0 var(--space-sm);border:1px solid var(--border-default);color:var(--text-primary);font-size:var(--text-xs);cursor:pointer;background:#141414eb;transition:background-color .18s,border-color .18s;position:absolute;top:12px;right:12px}.image-lightbox-close:hover{background:var(--bg-elevated-hover);border-color:var(--border-strong)}.image-lightbox-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.image-lightbox-close:active{transform:translateY(1px)}@media (prefers-reduced-motion:reduce){.image-lightbox-image{transition:none}}.uploader-support{margin:var(--space-xs) 0 0;color:var(--text-muted);font-size:var(--text-2xs);line-height:1.5}.uploader-support-detail{color:var(--text-muted);display:block}.field-error{margin:var(--space-xs) 0 0;color:var(--danger);font-size:var(--text-xs);line-height:1.5}.scene-settings{margin-top:var(--space-xl);padding:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle)}.scene-settings-heading{justify-content:flex-start;align-items:baseline;gap:var(--space-lg);display:flex}.scene-settings-heading h2{margin:var(--space-2xs) 0 0;font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.02em}.scene-settings-heading>p{max-width:390px;color:var(--text-muted);font-size:var(--text-xs);text-align:right;margin:0;line-height:1.6}.scene-settings-grid{gap:var(--space-sm);margin-top:var(--space-sm);grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);display:grid}.scene-field{border:0;min-width:0;margin:0;padding:0}.scene-field label,.scene-field legend{margin:0 0 var(--space-xs);color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.02em;padding:0;display:block}.scene-field input,.scene-field textarea{background:var(--bg-sunken);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);font-family:-apple-system,Microsoft YaHei,PingFang SC,sans-serif;font-size:var(--text-xs);border-radius:0;transition:border-color .15s,background-color .15s}.scene-field input{height:46px;padding:0 var(--space-sm)}.scene-field textarea{min-height:112px;padding:var(--space-sm);resize:vertical;line-height:1.65}.scene-text-field{grid-column:1/-1}.scene-field input::placeholder,.scene-field textarea::placeholder{color:var(--text-muted)}.scene-field input:hover:not(:disabled),.scene-field textarea:hover:not(:disabled){border-color:var(--border-default)}.scene-field input[aria-invalid=true],.scene-field textarea[aria-invalid=true]{border-color:var(--danger-border)}.scene-field input:disabled,.scene-field textarea:disabled,.time-option:disabled{opacity:.55;cursor:not-allowed}.time-options{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.time-option{height:46px;padding:0 var(--space-md);background:var(--bg-sunken);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:0;transition:background-color .15s,border-color .15s,color .15s}.time-option:hover:not(:disabled){background:var(--bg-raised);border-color:var(--border-default);color:var(--text-primary)}.time-option[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg-base)}.generate-panel{gap:var(--space-lg);margin-top:var(--space-xl);padding:var(--space-sm) var(--space-md);background:var(--bg-surface);border:0}.access-field{align-items:center;gap:var(--space-sm);grid-template-columns:110px minmax(0,1fr);width:min(100%,340px);display:grid}.access-field label{color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-medium)}.access-field label span{margin-top:var(--space-2xs);color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--weight-normal);display:block}.access-field input{width:100%;height:38px;padding:0 var(--space-sm);background:var(--bg-sunken);border:1px solid var(--border-subtle);color:var(--text-primary);font-family:-apple-system,Microsoft YaHei,PingFang SC,sans-serif;font-size:var(--text-xs);border-radius:0}.access-input-wrap{min-width:0;position:relative}.access-field input.has-clear{padding-right:calc(var(--space-2xl) + var(--space-lg))}.access-field .access-clear-button{top:50%;right:var(--space-xs);padding:var(--space-2xs);color:var(--text-muted);font:inherit;font-size:var(--text-2xs);cursor:pointer;background:0 0;border:0;position:absolute;transform:translateY(-50%)}.access-field .access-clear-button:hover:not(:disabled),.access-field .access-clear-button:focus-visible{color:var(--text-primary)}.access-field .access-clear-button:disabled{opacity:.55;cursor:not-allowed}.access-field input::placeholder{color:var(--text-muted)}.access-field input:disabled{opacity:.55}.generate-action{align-items:center;gap:var(--space-md);display:flex}.generate-action>p{color:var(--text-muted);font-size:var(--text-2xs);white-space:nowrap;margin:0}.primary-button,.secondary-button{font-weight:var(--weight-semibold);cursor:pointer;border-radius:0;transition:background-color .15s,color .15s,border-color .15s}.primary-button{width:230px;height:48px;padding:0 var(--space-md);background:var(--accent);border:1px solid var(--accent);color:var(--bg-base);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.primary-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.primary-button:disabled{background:var(--bg-raised);border-color:var(--border-subtle);color:var(--text-muted);cursor:not-allowed}.status-message{min-height:42px;margin-top:var(--space-xs);padding:var(--space-xs) var(--space-sm);align-items:center;gap:var(--space-xs);background:var(--bg-sunken);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--text-xs);line-height:1.5;display:flex}.status-indicator{background:var(--text-muted);border-radius:50%;flex:none;width:7px;height:7px}.status-message.is-loading .status-indicator{border:1px solid var(--border-default);border-top-color:var(--text-primary);background:0 0;animation:.8s linear infinite status-spin}.status-message.is-error{background:var(--danger-surface);color:var(--danger);border-color:var(--danger-border)}.status-message.is-error .status-indicator{background:var(--danger)}.status-message.is-success{color:var(--success);border-color:var(--border-default)}.status-message.is-success .status-indicator{background:var(--success)}.status-message.is-notice{background:var(--danger-surface);color:var(--danger);border-color:var(--danger-border)}.status-message.is-notice .status-indicator{background:var(--danger)}.request-id{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);margin-left:auto}@keyframes status-spin{to{transform:rotate(360deg)}}.result-anchor{scroll-margin-top:22px}.result-card{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--bg-raised);border:1px solid var(--border-default)}.result-heading{align-items:flex-start}.result-meta{align-items:center;gap:var(--space-xs);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.06em;display:flex}.result-description{margin:var(--space-xs) 0 var(--space-md);color:var(--text-muted);font-size:var(--text-xs)}.prompt-output{width:100%;min-height:260px;padding:var(--space-md);resize:vertical;background:var(--bg-sunken);border:1px solid var(--border-subtle);color:var(--text-primary);font-family:SFMono-Regular,Consolas,Liberation Mono,PingFang SC,monospace;font-size:var(--text-xs);border-radius:0;line-height:1.75;display:block}.prompt-output.is-rejected{field-sizing:content;min-height:calc(3 * 1.75em + var(--space-xl));max-height:calc(10 * 1.75em + var(--space-xl));overflow-y:auto}.tool-card .prompt-output{field-sizing:content;min-height:calc(1.75em + var(--space-xl) + 2px);max-height:520px;overflow-y:auto}.tool-next-step{margin-top:var(--space-md);padding-top:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-md);border-top:1px solid var(--border-subtle);display:flex}.tool-next-step-label{margin:0 0 var(--space-2xs);color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.tool-next-step-description{color:var(--text-muted);font-size:var(--text-xs);margin:0}.tool-next-step-button{min-height:40px;padding:0 var(--space-sm);border:1px solid var(--border-default);color:var(--text-primary);font-size:var(--text-xs);background:0 0;flex:none}.tool-next-step-button:hover{background:var(--bg-surface);border-color:var(--border-strong)}.result-toolbar{gap:var(--space-lg);margin-top:var(--space-sm)}.tool-result-heading{margin-bottom:var(--space-md)}.tool-result-heading-content{width:100%}.tool-result-body{margin-top:var(--space-2xs);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;display:grid}.tool-result-body h2{grid-area:1/1;margin-top:0}.tool-result-body .result-description{margin:var(--space-xs) 0 0;grid-area:2/1}.tool-result-toolbar{grid-area:1/2/span 2;align-self:stretch;margin:5px 0 1px}.tool-result-toolbar .secondary-button{height:100%}.copy-cluster{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.secondary-button{min-width:132px;height:40px;padding:0 var(--space-sm);background:var(--accent);border:1px solid var(--accent);color:var(--bg-base);font-size:var(--text-xs)}.secondary-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.secondary-button:disabled{opacity:.48;cursor:not-allowed}.copy-feedback{color:var(--text-muted);font-size:var(--text-2xs);opacity:0;white-space:nowrap;transition:opacity .14s,transform .14s;overflow:hidden;transform:translateY(2px)}.copy-feedback.is-visible{opacity:1;transform:translateY(0)}.tools-panel{gap:var(--space-md);padding-top:var(--space-xl);display:grid}.tool-card{background:0 0;border:0;padding:0}.tool-image-examples{gap:var(--space-xs);display:grid}.tool-image-examples-label{color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);margin:0}.tool-image-grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tool-image-figure{min-width:0;margin:0}.tool-image-heading{flex-direction:column}.tool-image-frame{height:286px}.tool-image-open{width:100%;height:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.tool-image-open:after{content:"";pointer-events:none;border:1px solid #0000;transition:border-color .18s;position:absolute;inset:0}.tool-image-open:hover:after,.tool-image-open:focus-visible:after{border-color:var(--border-strong)}.tool-image-open:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}.tool-image-frame img{object-fit:contain;object-position:center center;width:100%;height:100%;display:block}.tool-image-open-hint{right:var(--space-xs);bottom:var(--space-xs);padding:var(--space-2xs) var(--space-xs);background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--text-2xs);opacity:0;pointer-events:none;transform:translateY(var(--space-2xs));transition:color .18s,opacity .18s,transform .18s;position:absolute}.tool-image-open:hover .tool-image-open-hint,.tool-image-open:focus-visible .tool-image-open-hint{color:var(--text-primary);opacity:1;transform:translateY(0)}.seamless-tool{min-width:0}.seamless-upload-card{height:auto}.seamless-paste-hint{margin:calc(var(--space-xs) * -1) 0 var(--space-sm);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.seamless-upload-dropzone{min-height:220px}.seamless-upload-dropzone .uploader-empty-button{min-height:218px}.seamless-file-summary{min-height:84px;padding:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-md);background:var(--bg-sunken);border:1px dashed var(--border-default);display:flex}.seamless-file-details{gap:var(--space-2xs);min-width:0;display:grid}.seamless-file-details strong{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seamless-file-details span{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.5}.seamless-editor-grid{gap:var(--space-sm);margin-top:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"editor editor""controls export";display:grid}.seamless-canvas-panel{grid-area:editor}.seamless-preview-layout{gap:var(--space-sm);grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);display:grid}.seamless-preview-pane{row-gap:var(--space-sm);grid-template-rows:52px minmax(108px,auto) 560px;min-width:0;display:grid}.seamless-preview-toolbar{align-content:start;gap:var(--space-xs);grid-template-rows:36px 36px;min-width:0;display:grid}.seamless-center-guide-toggle{width:100%;height:36px}.seamless-crop-controls{grid-area:controls}.seamless-export-panel{grid-area:export}.seamless-workflow-panel{row-gap:var(--space-sm);grid-template-rows:88px minmax(0,1fr) 44px;display:grid}.seamless-workflow-panel .seamless-control-heading{margin-bottom:0}.seamless-control-body{min-height:0;padding:var(--space-sm) 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-direction:column;justify-content:flex-start;display:flex}.seamless-control-actions{min-height:44px;display:grid}.seamless-control-actions>.secondary-button,.seamless-control-actions>.image-action-button,.seamless-control-actions>.seamless-lock-button,.seamless-control-actions>button{height:44px;min-height:44px;margin-top:0}.seamless-canvas-panel,.seamless-controls-panel{min-width:0;padding:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle)}.seamless-panel-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);min-height:52px;display:flex}.seamless-panel-heading h3{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.02em}.seamless-zoom-controls{align-items:center;gap:var(--space-xs);display:flex}.seamless-zoom-controls button,.seamless-lock-button{border:1px solid var(--border-default);color:var(--text-secondary);background:0 0}.seamless-zoom-controls button{min-width:30px;height:30px;padding:0 var(--space-xs);font-family:var(--font-mono);font-size:var(--text-2xs)}.seamless-zoom-controls button:hover,.seamless-lock-button:hover{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-primary)}.seamless-lock-button.is-active{background:var(--accent);border-color:var(--accent);color:var(--bg-base)}.seamless-zoom-controls input{width:96px;accent-color:var(--accent)}.seamless-zoom-controls output{width:42px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right}.seamless-canvas-viewport{background:var(--bg-sunken);border:1px dashed var(--border-default);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;height:560px;position:relative;overflow:hidden}.seamless-canvas-viewport:active{cursor:grabbing}.seamless-tile-viewport,.seamless-tile-viewport:active{cursor:default}.seamless-tile-viewport canvas{width:100%;height:100%;display:block}.seamless-canvas-stage{transform-origin:50%;will-change:width, height, transform;min-width:1px;min-height:1px;position:absolute;top:50%;left:50%}.seamless-canvas-stage canvas{background:var(--bg-raised);width:100%;height:100%;display:block}.seamless-crop-box{z-index:2;border:2px solid var(--accent);cursor:move;outline:1px solid var(--bg-base);outline-offset:1px;touch-action:none;position:absolute}.seamless-crop-box:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.seamless-center-guides{pointer-events:none;position:absolute;inset:0}.seamless-center-guide,.seamless-center-guide-cross{background:var(--accent);display:block;position:absolute}.seamless-center-guide{opacity:.75}.seamless-center-guide.is-horizontal{width:100%;height:1px;top:50%;left:0;transform:translateY(-50%)}.seamless-center-guide.is-vertical{width:1px;height:100%;top:0;left:50%;transform:translate(-50%)}.seamless-center-guide-cross{border:1px solid var(--bg-base);width:7px;height:7px;top:50%;left:50%;transform:translate(-50%,-50%)}.seamless-crop-handle{background:var(--accent);border:2px solid var(--bg-base);touch-action:none;width:12px;height:12px;padding:0;position:absolute}.seamless-crop-handle[data-handle=n]{cursor:ns-resize;top:-7px;left:50%;transform:translate(-50%)}.seamless-crop-handle[data-handle=ne]{cursor:nesw-resize;top:-7px;right:-7px}.seamless-crop-handle[data-handle=e]{cursor:ew-resize;top:50%;right:-7px;transform:translateY(-50%)}.seamless-crop-handle[data-handle=se]{cursor:nwse-resize;bottom:-7px;right:-7px}.seamless-crop-handle[data-handle=s]{cursor:ns-resize;bottom:-7px;left:50%;transform:translate(-50%)}.seamless-crop-handle[data-handle=sw]{cursor:nesw-resize;bottom:-7px;left:-7px}.seamless-crop-handle[data-handle=w]{cursor:ew-resize;top:50%;left:-7px;transform:translateY(-50%)}.seamless-crop-handle[data-handle=nw]{cursor:nwse-resize;top:-7px;left:-7px}.seamless-lock-button{width:100%;min-height:44px;padding:0 var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-sm);font-size:var(--text-xs);display:flex}.seamless-lock-button span:last-child{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.seamless-lock-button.is-active span:last-child{color:var(--bg-base)}.seamless-crop-lock-button.is-active span:last-child{color:var(--text-primary)}.seamless-crop-fields{gap:var(--space-sm);margin-top:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.seamless-crop-fields label{align-items:center;gap:var(--space-xs);color:var(--text-muted);font-size:var(--text-xs);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.seamless-crop-fields input{width:100%;height:40px;padding:0 var(--space-xs);background:var(--bg-sunken);border:1px solid var(--border-default);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs)}.seamless-crop-fields input:focus-visible{border-color:var(--border-strong);outline:2px solid var(--focus-ring);outline-offset:2px}.seamless-panel-readout{gap:var(--space-2xs);color:var(--text-muted);font-size:var(--text-xs);grid-template-rows:repeat(3,auto);margin-top:auto;padding:0;line-height:1.5;display:grid}.seamless-panel-readout strong{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:1.4}.seamless-reset-button{width:100%;margin-top:0}.seamless-control-heading{margin-bottom:var(--space-md)}.seamless-control-heading h3{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.seamless-control-heading>p:last-child:not(.uploader-eyebrow){margin:var(--space-xs) 0 0;color:var(--text-muted);font-size:var(--text-xs);line-height:1.6}.seamless-view-toggle button:focus-visible,.seamless-tile-action:focus-visible,.seamless-export-quality select:focus-visible{border-color:var(--border-strong);outline:2px solid var(--focus-ring);outline-offset:2px}.seamless-view-toggle button{min-height:36px;padding:var(--space-2xs) var(--space-xs);border:1px solid var(--border-default);color:var(--text-muted);font-size:var(--text-2xs);background:0 0}.seamless-view-toggle button:hover{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-primary)}.seamless-view-toggle button.is-active{background:var(--accent);border-color:var(--accent);color:var(--bg-base)}.seamless-view-toggle button{color:var(--text-secondary)}.seamless-crop-lock-button.is-active,.seamless-view-toggle button.is-active{border-color:var(--border-default);border-bottom-color:var(--accent);color:var(--text-primary);background:0 0}.seamless-view-toggle{gap:var(--space-2xs);margin-bottom:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.seamless-tile-toolbar{align-items:center;gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0;display:grid}.seamless-tile-toolbar .seamless-view-toggle{grid-column:1/-1;margin-bottom:0}.seamless-tile-toolbar .seamless-tile-zoom{grid-column:1/-1}.seamless-tile-zoom{align-items:center;gap:var(--space-xs);color:var(--text-muted);font-size:var(--text-2xs);grid-template-columns:auto minmax(80px,1fr) 42px;display:grid}.seamless-tile-zoom input{width:100%;accent-color:var(--accent)}.seamless-tile-zoom output{font-family:var(--font-mono);text-align:right}.seamless-tile-action{min-height:36px;padding:var(--space-2xs) var(--space-xs);border:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--text-2xs);background:0 0}.seamless-tile-action:hover{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-primary)}.seamless-tile-action.is-active{border-color:var(--border-default);border-bottom-color:var(--accent);color:var(--text-primary);background:0 0}.seamless-crop-lock-button:active,.seamless-view-toggle button:active,.seamless-tile-action:active{background:var(--accent);border-color:var(--accent);color:var(--bg-base);transform:translateY(1px)}.seamless-crop-lock-button:active span:last-child{color:var(--bg-base)}.seamless-export-quality{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:var(--text-xs);display:flex}.seamless-export-quality select{min-width:96px;height:36px;padding:0 var(--space-xs);background:var(--bg-sunken);border:1px solid var(--border-default);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs)}.seamless-export-button{width:100%;height:44px}.seamless-export-actions{column-gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr))}.pbr-tool,.pattern-expand-tool{min-width:0}.pattern-expand-upload-card{height:auto}.pattern-expand-upload-dropzone{min-height:220px}.pattern-expand-upload-dropzone .uploader-empty-button{min-height:218px}.pattern-expand-file-summary{min-height:84px;padding:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-sm);background:var(--bg-sunken);border:1px solid var(--border-subtle);display:flex}.pattern-expand-file-details{gap:var(--space-2xs);min-width:0;display:grid}.pattern-expand-file-details strong{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pattern-expand-file-details span{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.pattern-expand-preview-panel{margin-top:var(--space-xl);padding:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle)}.pattern-expand-panel-heading{min-height:68px;margin-bottom:var(--space-sm);justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.pattern-expand-panel-heading h3{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.pattern-expand-heading-actions{align-items:center;gap:var(--space-xs);display:flex}.pattern-expand-tool-state{min-width:64px;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right}.pattern-expand-view-grid{gap:var(--space-sm);grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);display:grid}.pattern-expand-view-pane{min-width:0}.pattern-expand-canvas-shell{background:var(--bg-sunken);border:1px solid var(--border-subtle);grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.pattern-expand-canvas-toolbar{min-height:46px;padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border-subtle);justify-content:flex-end;align-items:center;display:flex}.pattern-expand-zoom-controls{align-items:center;gap:var(--space-xs);display:flex}.pattern-expand-zoom-controls button,.pattern-expand-guide-toggle{min-width:30px;height:30px;padding:0 var(--space-xs);border:1px solid var(--border-default);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);background:0 0}.pattern-expand-zoom-controls button:hover,.pattern-expand-guide-toggle:hover{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-primary)}.pattern-expand-guide-toggle.is-active{border-bottom-color:var(--accent);color:var(--text-primary)}.pattern-expand-zoom-controls input{width:96px;accent-color:var(--accent)}.pattern-expand-zoom-controls output{width:42px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right}.pattern-expand-canvas-viewport{background:var(--bg-sunken);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;height:560px;position:relative;overflow:hidden}.pattern-expand-canvas-viewport:active{cursor:grabbing}.pattern-expand-canvas-stage{transform-origin:50%;will-change:width, height, transform;min-width:1px;min-height:1px;position:absolute;top:50%;left:50%}.pattern-expand-canvas-stage canvas{background:var(--bg-raised);width:100%;height:100%;display:block}.pattern-expand-guide-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pattern-expand-guide-circle{fill:none;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.pattern-expand-guide-circle.is-outer{filter:drop-shadow(0 0 1px var(--bg-base))}.pattern-expand-guide-circle.is-inner{stroke:var(--text-secondary);stroke-dasharray:var(--space-sm) var(--space-xs)}.pattern-expand-control-handle{z-index:2;width:calc(var(--space-md) + var(--space-2xs));height:calc(var(--space-md) + var(--space-2xs));background:var(--bg-base);border:2px solid var(--accent);cursor:move;border-radius:50%;padding:0;position:absolute;transform:translate(-50%,-50%)}.pattern-expand-control-handle:before,.pattern-expand-control-handle:after{content:"";background:var(--accent);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pattern-expand-control-handle:before{width:var(--space-sm);height:1px}.pattern-expand-control-handle:after{width:1px;height:var(--space-sm)}.pattern-expand-control-handle.is-radius{width:var(--space-md);height:var(--space-md);cursor:ew-resize}.pattern-expand-control-handle.is-radius:before,.pattern-expand-control-handle.is-radius:after{display:none}.pattern-expand-control-handle:hover,.pattern-expand-control-handle.is-selected{background:var(--accent);border-color:var(--bg-base);outline:1px solid var(--accent);outline-offset:2px}.pattern-expand-control-handle.is-selected:before,.pattern-expand-control-handle.is-selected:after,.pattern-expand-control-handle:hover:before,.pattern-expand-control-handle:hover:after{background:var(--bg-base)}.pattern-expand-geometry-panel{min-width:0;padding:var(--space-md);align-content:start;gap:var(--space-md);background:var(--bg-sunken);border:1px solid var(--border-subtle);display:grid}.pattern-expand-geometry-heading h3{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.pattern-expand-geometry-heading>p:last-child{margin:var(--space-xs) 0 0;color:var(--text-muted);font-size:var(--text-xs);line-height:1.6}.pattern-expand-geometry-fields{gap:var(--space-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.pattern-expand-geometry-fields label{gap:var(--space-xs);color:var(--text-secondary);font-size:var(--text-xs);display:grid}.pattern-expand-number-input{background:var(--bg-base);border:1px solid var(--border-default);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.pattern-expand-number-input:focus-within{border-color:var(--border-strong);outline:2px solid var(--focus-ring);outline-offset:2px}.pattern-expand-number-input input{min-width:0;height:38px;padding:0 var(--space-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);background:0 0;border:0;outline:0}.pattern-expand-number-input em{padding-right:var(--space-sm);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-style:normal}.pattern-expand-geometry-note{padding-top:var(--space-md);border-top:1px solid var(--border-subtle)}.pattern-expand-geometry-note p{color:var(--text-muted);font-size:var(--text-xs);margin:0;line-height:1.6}.pattern-expand-geometry-note p+p{margin-top:var(--space-2xs)}.pattern-expand-image-meta{padding:var(--space-md);gap:var(--space-sm);background:var(--bg-sunken);border:1px solid var(--border-subtle);flex-direction:column;margin:0;display:flex}.pattern-expand-geometry-panel .pattern-expand-image-meta{padding:var(--space-sm) 0 0;border:0;border-top:1px solid var(--border-subtle);background:0 0;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;display:grid}.pattern-expand-geometry-panel .pattern-expand-image-meta>div{padding:0 var(--space-sm);border-right:1px solid var(--border-subtle);border-bottom:0}.pattern-expand-geometry-panel .pattern-expand-image-meta>div:first-child{padding-left:0}.pattern-expand-geometry-panel .pattern-expand-image-meta>div:last-child{border-right:0;padding-right:0}.pattern-expand-image-meta dt{margin-bottom:var(--space-2xs);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em}.pattern-expand-image-meta dd{color:var(--text-primary);font-size:var(--text-sm);text-overflow:ellipsis;margin:0;overflow:hidden}.pattern-expand-preview-status{margin-top:var(--space-sm);padding:var(--space-xs) var(--space-sm);gap:var(--space-xs) var(--space-lg);background:var(--bg-sunken);border:1px solid var(--border-subtle);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);flex-wrap:wrap;display:flex}.pattern-expand-preview-status strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.pattern-expand-generate-button{width:auto;min-width:132px;min-height:30px}.pattern-expand-process-error{margin-top:var(--space-sm)}.pattern-expand-export-panel{padding:var(--space-md);background:var(--bg-sunken);border:1px solid var(--border-subtle)}.pattern-expand-result-heading,.pattern-expand-export-heading{margin-bottom:var(--space-sm);justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.pattern-expand-result-heading h3,.pattern-expand-export-heading h3{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.pattern-expand-result-heading>div:first-child>p:last-child,.pattern-expand-export-heading>div:first-child>p:last-child{margin:var(--space-xs) 0 0;color:var(--text-muted);font-size:var(--text-xs);line-height:1.6}.pattern-expand-result-toggle,.pattern-expand-export-formats{gap:var(--space-2xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pattern-expand-result-shell{background:var(--bg-sunken);border:1px solid var(--border-subtle);grid-template-rows:auto minmax(0,1fr);display:grid}.pattern-expand-result-toolbar{min-height:46px;padding:var(--space-xs) var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--border-subtle);display:flex}.pattern-expand-result-toggle button,.pattern-expand-export-formats button{min-width:88px;min-height:30px;padding:var(--space-2xs) var(--space-xs);border:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--text-2xs);background:0 0}.pattern-expand-result-toggle button:hover,.pattern-expand-export-formats button:hover{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-primary)}.pattern-expand-result-toggle button.is-active,.pattern-expand-export-formats button.is-active{border-bottom-color:var(--accent);color:var(--text-primary)}.pattern-expand-result-frame{background:var(--bg-base);border:1px dashed var(--border-default);place-items:center;height:560px;display:grid;overflow:hidden}.pattern-expand-result-shell .pattern-expand-result-frame{border:0}.pattern-expand-result-empty{color:var(--text-muted);font-size:var(--text-xs)}.pattern-expand-result-stage{min-width:1px;min-height:1px;position:relative}.pattern-expand-result-open{cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.pattern-expand-result-open .pattern-expand-result-stage{transition:outline-color .18s}.pattern-expand-result-open:hover .pattern-expand-result-stage,.pattern-expand-result-open:focus-visible .pattern-expand-result-stage{outline:1px solid var(--border-strong);outline-offset:var(--space-2xs)}.pattern-expand-result-open:focus-visible{outline:0}.pattern-expand-result-stage canvas{width:100%;height:100%;display:block}.pattern-expand-result-boundary{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pattern-expand-result-boundary circle{fill:none;stroke:var(--text-primary);stroke-dasharray:var(--space-sm) var(--space-xs);stroke-width:1.5px;vector-effect:non-scaling-stroke}.pattern-expand-lower-grid{margin-top:var(--space-lg);align-items:start;gap:var(--space-sm);grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);display:grid}.pattern-expand-export-actions{justify-content:flex-start;align-items:center;gap:var(--space-sm);display:flex}.pattern-expand-export-spec{min-height:38px;padding:0 var(--space-sm);align-items:center;gap:var(--space-sm);background:var(--bg-base);border:1px solid var(--border-subtle);display:flex}.pattern-expand-export-spec span{color:var(--text-muted);font-size:var(--text-2xs)}.pattern-expand-export-spec strong{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.pattern-expand-export-button{width:auto;min-width:132px;min-height:38px}.pattern-expand-export-progress{margin:var(--space-sm) 0 0;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs)}.light-paint-tool{width:100%}.light-paint-upload-card{margin-top:var(--space-xl)}.light-paint-upload-dropzone{min-height:320px}.light-paint-upload-dropzone .uploader-empty-button{min-height:318px}.light-paint-error{margin:var(--space-sm) 0 0;color:var(--danger);font-size:var(--text-xs)}.light-paint-file-summary{margin-top:var(--space-xl);padding:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle);display:flex}.light-paint-file-details{gap:var(--space-2xs);min-width:0;display:grid}.light-paint-file-details strong{color:var(--text-primary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.light-paint-file-details span{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.light-paint-workspace{margin-top:var(--space-sm);gap:var(--space-sm);grid-template-columns:minmax(0,1fr) minmax(286px,.32fr);display:grid}.light-paint-canvas-panel,.light-paint-controls-panel{min-width:0;padding:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle)}.light-paint-panel-heading{min-height:40px;margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.light-paint-panel-heading h3{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.light-paint-clear-button,.light-paint-guide-toggle,.light-paint-compare-button,.light-paint-finish-button,.light-paint-mode-switch button,.light-paint-zoom-controls button,.light-paint-direction-options button{min-height:32px;padding:0 var(--space-xs);border:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;background:0 0;transition:color .16s,border-color .16s,background-color .16s}.light-paint-clear-button:hover:not(:disabled),.light-paint-guide-toggle:hover,.light-paint-compare-button:hover:not(:disabled),.light-paint-finish-button:hover:not(:disabled),.light-paint-mode-switch button:hover,.light-paint-zoom-controls button:hover,.light-paint-direction-options button:hover{color:var(--text-primary);border-color:var(--border-strong)}.light-paint-clear-button:disabled,.light-paint-compare-button:disabled,.light-paint-finish-button:disabled{opacity:.42;cursor:not-allowed}.light-paint-guide-toggle.is-active,.light-paint-compare-button.is-active,.light-paint-mode-switch button.is-active{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.light-paint-status{padding:var(--space-2xs) var(--space-xs);color:var(--text-muted);border:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em}.light-paint-canvas-shell{background:var(--bg-sunken);border:1px solid var(--border-default);overflow:hidden}.light-paint-canvas-toolbar{min-height:48px;padding:var(--space-xs) var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-sm);background:var(--bg-raised);border-bottom:1px solid var(--border-subtle);display:flex}.light-paint-zoom-controls{align-items:center;gap:var(--space-xs);display:flex}.light-paint-zoom-controls button{font-family:var(--font-mono)}.light-paint-zoom-controls input{width:132px;accent-color:var(--accent)}.light-paint-zoom-controls output{min-width:42px;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right}.light-paint-canvas-instruction{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}.light-paint-canvas-actions{align-items:center;gap:var(--space-xs);display:flex}.light-paint-mode-switch{white-space:nowrap;flex-wrap:nowrap;display:inline-flex}.light-paint-mode-switch button+button{margin-left:-1px}.light-paint-finish-button{background:var(--brand-red);border-color:var(--brand-red);color:var(--bg-base)}.light-paint-finish-button:hover:not(:disabled){background:var(--brand-red);border-color:var(--brand-red);color:var(--bg-base);filter:brightness(.9)}.light-paint-mode-help{padding:var(--space-xs) var(--space-sm);color:var(--text-secondary);background:var(--bg-sunken);border-bottom:1px solid var(--border-subtle);font-size:var(--text-xs);margin:0;line-height:1.5}.light-paint-canvas-viewport{background:var(--bg-base);cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;height:600px;position:relative;overflow:hidden}.light-paint-canvas-viewport.is-draw-mode{cursor:crosshair}.light-paint-canvas-viewport.is-node-hover{cursor:grab}.light-paint-canvas-viewport.is-path-hover{cursor:move}.light-paint-canvas-viewport.is-node-hover:active,.light-paint-canvas-viewport.is-path-hover:active,.light-paint-canvas-viewport.is-select-mode:active{cursor:grabbing}.light-paint-canvas-stage{transform-origin:50%;position:absolute;top:50%;left:50%;overflow:visible}.light-paint-canvas-stage canvas{width:100%;height:100%;display:block}.light-paint-compare-canvas{opacity:0;visibility:hidden;pointer-events:none;position:absolute;inset:0}.light-paint-compare-canvas.is-visible{opacity:1;visibility:visible}.light-paint-line-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.light-paint-line-overlay polyline{fill:none;stroke:var(--brand-red);stroke-width:1.5px;stroke-dasharray:var(--space-sm) var(--space-xs);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.light-paint-line-overlay circle{fill:var(--bg-base);stroke:var(--brand-red);stroke-width:2px;vector-effect:non-scaling-stroke}.light-paint-line-overlay g:not(.is-selected):not(.is-draft){opacity:.58}.light-paint-line-overlay .is-hovered{opacity:.88}.light-paint-line-overlay .is-hovered polyline{stroke-width:2.25px}.light-paint-line-overlay .is-selected polyline,.light-paint-line-overlay .is-draft polyline{stroke-width:3px}.light-paint-line-overlay .is-selected circle,.light-paint-line-overlay .is-draft circle{fill:var(--brand-red);stroke:var(--bg-base);stroke-width:3px}.light-paint-line-overlay .is-selected{opacity:1;filter:drop-shadow(0 0 var(--space-2xs) var(--brand-red))}.light-paint-canvas-viewport:focus-visible{outline:1px solid var(--border-strong);outline-offset:calc(-1 * var(--space-2xs))}.light-paint-layer-panel{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-subtle)}.light-paint-layer-heading{margin-bottom:var(--space-xs);color:var(--text-muted);font-size:var(--text-xs);justify-content:space-between;align-items:center;display:flex}.light-paint-layer-heading output{min-width:var(--space-lg);color:var(--text-secondary);font-family:var(--font-mono);text-align:right}.light-paint-layer-list{border-top:1px solid var(--border-subtle);max-height:188px;display:grid;overflow-y:auto}.light-paint-layer-item{border-bottom:1px solid var(--border-subtle);background:0 0;grid-template-columns:minmax(0,1fr) auto auto;align-items:stretch;min-height:48px;transition:background-color .16s;display:grid}.light-paint-layer-item.is-selected{background:var(--bg-elevated);box-shadow:inset 2px 0 0 var(--brand-red)}.light-paint-layer-select,.light-paint-layer-action{color:var(--text-secondary);cursor:pointer;background:0 0;border:0}.light-paint-layer-select{min-width:0;padding:var(--space-xs) var(--space-sm);gap:var(--space-2xs);text-align:left;display:grid}.light-paint-layer-select span{color:var(--text-primary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.light-paint-layer-select small{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.light-paint-layer-action{padding:0 var(--space-xs);border-left:1px solid var(--border-subtle);font-size:var(--text-2xs)}.light-paint-layer-action:hover,.light-paint-layer-select:hover{color:var(--text-primary)}.light-paint-layer-empty{padding:var(--space-sm);color:var(--text-muted);border:1px dashed var(--border-subtle);font-size:var(--text-xs);margin:0;line-height:1.6}.light-paint-parameter-stack{gap:var(--space-md);display:grid}.light-paint-parameter{gap:var(--space-xs);display:grid}.light-paint-parameter-heading{justify-content:space-between;align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:var(--text-xs);display:flex}.light-paint-number-input{flex:0 0 calc(var(--space-xl) * 3.5);min-width:calc(var(--space-xl) * 3.5);background:var(--bg-base);border:1px solid var(--border-default);grid-template-columns:minmax(7ch,1fr) auto;align-items:center;display:inline-grid}.light-paint-number-input:focus-within{border-color:var(--border-strong);outline:2px solid var(--focus-ring);outline-offset:2px}.light-paint-number-input input{box-sizing:border-box;width:100%;min-width:0;padding:var(--space-2xs) var(--space-xs);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right;background:0 0;border:0;outline:0}.light-paint-number-input em{padding-right:var(--space-xs);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-style:normal}.light-paint-parameter-range{width:100%;accent-color:var(--accent)}.light-paint-advanced{margin-top:var(--space-lg);padding-top:var(--space-sm);border-top:1px solid var(--border-subtle)}.light-paint-advanced summary{color:var(--text-secondary);cursor:pointer;font-size:var(--text-xs)}.light-paint-advanced[open] summary{margin-bottom:var(--space-md);color:var(--text-primary)}.light-paint-option-group{min-width:0;margin:var(--space-lg) 0 0;padding:var(--space-sm) 0 0;border:0;border-top:1px solid var(--border-subtle)}.light-paint-option-group legend{color:var(--text-muted);font-size:var(--text-xs);padding:0}.light-paint-direction-options{margin-top:var(--space-sm);gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.light-paint-direction-options button{justify-content:center;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);display:flex}.light-paint-direction-options button.is-active{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.light-paint-temperature-control{margin-top:var(--space-lg);padding-top:var(--space-sm);border-top:1px solid var(--border-subtle)}.light-paint-note{margin:var(--space-lg) 0 0;padding-top:var(--space-sm);color:var(--text-muted);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);line-height:1.6}.light-paint-export-panel{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border-subtle);gap:var(--space-md);display:grid}.light-paint-export-heading{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.light-paint-export-actions{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.image-delete-confirmation{align-items:center;gap:var(--space-xs);color:var(--text-secondary);font-size:var(--text-xs);display:flex}.image-delete-confirmation>span{max-width:calc(var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl) + var(--space-2xl));line-height:1.45}.light-paint-export-heading h4{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:var(--text-sm)}.light-paint-export-heading>span,.light-paint-export-progress{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.light-paint-export-formats{border:1px solid var(--border-default);grid-column:1/-1;width:100%;display:inline-flex}.light-paint-export-formats button{min-height:calc(var(--space-xl) + var(--space-xs));padding:0 var(--space-sm);background:var(--bg-base);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);border:0;flex:1 1 0}.light-paint-export-formats button+button{border-left:1px solid var(--border-default)}.light-paint-export-formats button.is-active{background:var(--bg-elevated);color:var(--text-primary)}.light-paint-export-formats button:disabled,.light-paint-export-button:disabled{cursor:wait;opacity:.55}.light-paint-export-button{width:100%;min-width:0;height:44px}.light-paint-export-progress{margin:0}.pbr-upload-card{height:auto}.pbr-upload-dropzone{min-height:220px}.pbr-upload-dropzone .uploader-empty-button{min-height:218px}.pbr-file-summary{min-height:84px;padding:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-sm);background:var(--bg-sunken);border:1px solid var(--border-subtle);display:flex}.pbr-file-details{gap:var(--space-2xs);min-width:0;display:grid}.pbr-file-details strong{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pbr-file-details span{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.pbr-source-panel{margin-top:var(--space-xl);padding:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle)}.pbr-panel-heading{margin-bottom:var(--space-sm)}.pbr-panel-heading h3{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.pbr-preview-layout{gap:var(--space-sm);grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);display:grid}.pbr-preview-frame{background:var(--bg-sunken);border:1px dashed var(--border-default);place-items:center;min-height:420px;display:grid;overflow:hidden}.pbr-preview-frame img{object-fit:contain;width:100%;height:100%;max-height:560px;display:block}.pbr-image-meta{padding:var(--space-md);gap:var(--space-sm);background:var(--bg-sunken);border:1px solid var(--border-subtle);flex-direction:column;margin:0;display:flex}.pbr-image-meta>div:not(.pbr-resize-note){padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle)}.pbr-image-meta dt{margin-bottom:var(--space-2xs);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em}.pbr-image-meta dd{color:var(--text-primary);font-size:var(--text-sm);margin:0}.pbr-resize-note{color:var(--text-secondary);font-size:var(--text-xs);margin-top:auto;line-height:1.6}.pbr-workbench-heading{align-items:center;gap:var(--space-md);grid-template-columns:auto minmax(0,1fr) auto;min-height:0;margin-bottom:0;display:grid}.pbr-status-readout{align-items:center;gap:var(--space-xs);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;white-space:nowrap;display:flex}.pbr-status-readout span:first-child{color:var(--text-primary)}.pbr-source-meta{grid-template-columns:repeat(4,minmax(max-content,1fr));margin:0;display:grid}.pbr-source-meta>div{min-width:0;padding:0 var(--space-sm);align-items:baseline;gap:var(--space-xs);display:flex}.pbr-source-meta>div+div{border-left:1px solid var(--border-subtle)}.pbr-source-meta span{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em}.pbr-source-meta strong{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pbr-resolution-note{margin:var(--space-xs) 0 0;color:var(--text-muted);font-size:var(--text-xs);line-height:1.4}.pbr-material-row{margin-top:var(--space-xs);padding:var(--space-xs) 0;justify-content:space-between;align-items:center;gap:var(--space-sm);border-top:1px solid var(--border-subtle);display:flex}.pbr-material-row label{color:var(--text-secondary);font-size:var(--text-xs)}.pbr-material-row select{min-width:220px;height:40px;padding:0 var(--space-sm);background:var(--bg-sunken);border:1px solid var(--border-default);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs)}.pbr-material-row select:focus-visible,.pbr-range-field input:focus-visible,.pbr-channel-tabs button:focus-visible,.pbr-option-button:focus-visible{border-color:var(--border-strong);outline:2px solid var(--focus-ring);outline-offset:2px}.pbr-channel-tabs{gap:var(--space-2xs);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.pbr-channel-tabs button,.pbr-option-button{min-height:40px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-default);color:var(--text-muted);font-size:var(--text-xs);background:0 0;transition:background-color .16s,border-color .16s,color .16s}.pbr-channel-tabs button:hover,.pbr-option-button:hover:not(:disabled){background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-primary)}.pbr-channel-tabs button.is-active,.pbr-option-button.is-active{border-bottom-color:var(--accent);color:var(--text-primary)}.pbr-channel-tabs button:active,.pbr-option-button:active:not(:disabled){background:var(--accent);color:var(--bg-base);transform:translateY(1px)}.pbr-material-row select:disabled,.pbr-option-button:disabled,.pbr-range-field input:disabled{opacity:.45;cursor:not-allowed}.pbr-workspace-grid{align-items:stretch;gap:var(--space-xs);margin-top:var(--space-sm);grid-template-columns:minmax(0,1fr) minmax(220px,.24fr);display:grid}.pbr-comparison-panel,.pbr-parameter-panel{min-width:0;padding:var(--space-sm);background:var(--bg-sunken);border:1px solid var(--border-subtle)}.pbr-export-panel{min-width:0;padding:var(--space-md);background:var(--bg-sunken);border:1px solid var(--border-subtle)}.pbr-comparison-heading h4,.pbr-export-panel h4{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.pbr-comparison-grid{gap:var(--space-2xs);margin-top:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pbr-comparison-grid figure{min-width:0;margin:0}.pbr-comparison-grid figcaption{margin-bottom:var(--space-xs);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em}.pbr-canvas-frame{background:var(--bg-base);border:1px dashed var(--border-default);place-items:center;height:clamp(500px,52vh,560px);max-height:560px;display:grid;position:relative;overflow:hidden}.pbr-canvas-frame canvas{display:block}.pbr-canvas-error{inset:auto var(--space-sm) var(--space-sm);padding:var(--space-xs);background:var(--danger-surface);color:var(--danger);border:1px solid var(--danger-border);font-size:var(--text-xs);margin:0;position:absolute}.pbr-parameter-controls{margin-top:var(--space-sm);gap:var(--space-md);display:grid}.pbr-parameter-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.pbr-range-field{align-items:center;gap:var(--space-xs);color:var(--text-secondary);font-size:var(--text-xs);grid-template-columns:54px minmax(0,1fr) 54px;display:grid}.pbr-range-field input{width:100%;accent-color:var(--accent)}.pbr-range-field output{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);text-align:right}.pbr-option-group{gap:var(--space-2xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pbr-parameter-note{color:var(--text-muted);font-size:var(--text-xs);margin:0;line-height:1.6}.pbr-export-panel{margin-top:var(--space-sm);align-items:center;gap:var(--space-sm) var(--space-lg);grid-template-columns:minmax(0,1fr) auto;display:grid}.pbr-export-panel>div:first-child>p:last-child{margin:var(--space-xs) 0 0;color:var(--text-muted);font-size:var(--text-xs)}.pbr-export-actions{align-items:center;gap:var(--space-xs);display:flex}.pbr-export-actions .image-action-button,.pbr-export-actions .secondary-button{min-width:160px;height:44px}.pbr-export-progress{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);grid-column:1/-1;margin:0}.privacy-note{justify-content:flex-start;gap:var(--space-sm);padding:var(--space-lg) 0 0;color:var(--text-muted);font-size:var(--text-2xs)}.privacy-note p{margin:0}@media (width<=900px){.app-shell{padding-top:calc(68px + var(--space-lg))}.uploader-grid,.scene-settings-grid{grid-template-columns:1fr}.generate-panel{flex-direction:column;align-items:stretch}.access-field{width:100%}.generate-action{justify-content:space-between}}@media (width<=620px){.topbar{height:60px}.topbar-brand-image{width:71px;height:24px}.topbar-nav{gap:var(--space-md)}.topbar-home-link,.topbar-nav .category-button{width:auto;min-width:0;font-size:var(--text-2xs)}.app-shell{padding-top:calc(60px + var(--space-md))}.changelog-document{margin-top:var(--space-lg)}.changelog-document h1{font-size:var(--text-lg)}.changelog-document hr{margin:var(--space-xl) 0}.changelog-document h2{font-size:var(--text-md)}.workspace{padding-top:var(--space-lg)}.section-heading{--text-lg:var(--text-md);display:block}.section-heading>p{margin-top:var(--space-xs);text-align:left}.scene-settings{margin-top:var(--space-lg);padding:var(--space-sm)}.scene-settings-heading{--text-lg:var(--text-md);display:block}.scene-settings-heading>p{margin-top:var(--space-xs);text-align:left}.uploader-card{padding:var(--space-sm)}.uploader-preview{height:240px}.image-action-bar{flex-direction:column;align-items:stretch}.image-action-buttons{width:100%}.image-action-button{flex:1;min-width:0}.image-lightbox{padding:var(--space-xs)}.image-lightbox-dialog{width:100%;height:calc(100dvh - 20px)}.generate-panel{margin-top:var(--space-lg);padding:var(--space-sm)}.access-field{display:block}.access-field label{margin-bottom:var(--space-xs);display:block}.access-field label span{margin-left:var(--space-xs);display:inline}.generate-action{display:block}.generate-action>p{margin-bottom:var(--space-xs)}.primary-button{width:100%}.request-id{margin:var(--space-2xs) 0 0;display:block}.result-card{--text-lg:var(--text-md);margin-top:var(--space-lg);padding:var(--space-md) var(--space-sm)}.category-button{width:100%;min-width:0}.tool-card{--text-lg:var(--text-md);padding:0}.tool-image-grid{grid-template-columns:1fr}.pbr-file-summary{flex-direction:column;align-items:stretch}.pbr-file-summary .image-action-buttons{width:100%}.pbr-source-panel{margin-top:var(--space-lg);padding:var(--space-sm)}.pbr-preview-layout{grid-template-columns:1fr}.pbr-preview-frame{min-height:300px}.seamless-file-summary{flex-direction:column;align-items:stretch}.seamless-file-summary .image-action-buttons{width:100%}.seamless-editor-grid{margin-top:var(--space-lg);grid-template-columns:1fr;grid-template-areas:"editor""controls""export"}.seamless-canvas-panel,.seamless-controls-panel{padding:var(--space-sm)}.seamless-preview-layout{grid-template-columns:1fr}.seamless-preview-pane{grid-template-rows:auto auto 420px}.seamless-panel-heading{flex-direction:column;align-items:stretch}.seamless-zoom-controls{justify-content:space-between}.seamless-zoom-controls input{flex:1;min-width:0}.seamless-canvas-viewport{height:420px}.seamless-crop-fields{grid-template-columns:1fr}.seamless-workflow-panel{grid-template-rows:auto auto 44px}.result-meta{align-items:flex-end;gap:var(--space-2xs);flex-direction:column}.prompt-output{min-height:300px;padding:var(--space-sm);font-size:var(--text-xs)}.result-toolbar{flex-direction:column;align-items:stretch}.tool-result-toolbar{flex-direction:row;align-items:center;width:auto}.tool-result-toolbar .secondary-button{width:auto}.copy-cluster{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.secondary-button{width:100%}.result-secondary-actions{justify-content:space-between}.privacy-note{align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.structure-diff-tool{width:100%}.structure-diff-help{max-width:72ch;margin:var(--space-xs) 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.7}.structure-diff-paste-target{margin-top:var(--space-lg);align-items:center;gap:var(--space-xs);color:var(--text-muted);font-size:var(--text-xs);display:flex}.structure-diff-paste-target button,.structure-diff-toolbar button,.structure-diff-mode-switch button,.structure-diff-controls-panel button{min-height:32px;padding:0 var(--space-xs);border:1px solid var(--border-default);color:var(--text-secondary);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0}.structure-diff-paste-target button:hover,.structure-diff-toolbar button:hover,.structure-diff-mode-switch button:hover,.structure-diff-controls-panel button:hover{border-color:var(--border-strong);color:var(--text-primary)}.structure-diff-paste-target button.is-active,.structure-diff-mode-switch button.is-active,.structure-diff-controls-panel button.is-active{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.structure-diff-upload-grid{margin-top:var(--space-sm);gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.structure-diff-upload-card{min-width:0;padding:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle)}.structure-diff-upload-card.is-paste-target{border-color:var(--border-strong)}.structure-diff-upload-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);min-height:44px;display:flex}.structure-diff-upload-heading h3,.structure-diff-control-heading h3{margin:var(--space-2xs) 0 0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.structure-diff-upload-heading>span{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.structure-diff-upload-description{margin:var(--space-xs) 0 var(--space-sm);color:var(--text-muted);font-size:var(--text-xs)}.structure-diff-dropzone{background:var(--bg-sunken);border:1px dashed var(--border-default);min-height:240px;overflow:hidden}.structure-diff-empty-button,.structure-diff-image-button{width:100%;min-height:238px;padding:var(--space-lg);color:var(--text-secondary);cursor:pointer;background:0 0;border:0}.structure-diff-empty-button{place-content:center;gap:var(--space-xs);text-align:center;display:grid}.structure-diff-empty-button strong{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.structure-diff-empty-button span{color:var(--text-muted);font-size:var(--text-xs)}.structure-diff-image-button{padding:0;display:block;position:relative}.structure-diff-image-button img{object-fit:contain;width:100%;height:238px;display:block}.structure-diff-image-button span{right:var(--space-xs);bottom:var(--space-xs);padding:var(--space-2xs) var(--space-xs);color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border-default);font-size:var(--text-xs);position:absolute}.structure-diff-file-meta{margin-top:var(--space-sm);gap:var(--space-2xs);display:grid}.structure-diff-file-meta strong{color:var(--text-primary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.structure-diff-file-meta span,.structure-diff-alignment-readout span{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.structure-diff-error{margin:var(--space-xs) 0 0;color:var(--danger);font-size:var(--text-xs)}.structure-diff-status,.structure-diff-image-notes{margin:var(--space-sm) 0 0;padding:var(--space-xs) var(--space-sm);color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-subtle);font-size:var(--text-xs)}.structure-diff-image-notes{gap:var(--space-md);display:flex}.structure-diff-workspace{margin-top:var(--space-sm);gap:var(--space-sm);grid-template-columns:minmax(0,1fr) minmax(270px,.28fr);display:grid}.structure-diff-canvas-panel,.structure-diff-controls-panel{min-width:0;padding:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle)}.structure-diff-canvas-shell{background:var(--bg-sunken);border:1px solid var(--border-default);overflow:hidden}.structure-diff-toolbar{min-height:48px;padding:var(--space-xs) var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-sm);background:var(--bg-raised);border-bottom:1px solid var(--border-subtle);display:flex}.structure-diff-zoom-controls,.structure-diff-mode-switch,.structure-diff-inline-actions{align-items:center;gap:var(--space-xs);display:flex}.structure-diff-zoom-controls input{width:132px;accent-color:var(--accent)}.structure-diff-zoom-controls output{min-width:42px;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right}.structure-diff-mode-switch{white-space:nowrap;gap:0}.structure-diff-mode-switch button+button{margin-left:-1px}.structure-diff-canvas-help{padding:var(--space-xs) var(--space-sm);color:var(--text-secondary);background:var(--bg-sunken);border-bottom:1px solid var(--border-subtle);font-size:var(--text-xs);margin:0}.structure-diff-viewport{background:var(--bg-base);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;height:min(68vh,680px);min-height:520px;position:relative;overflow:hidden}.structure-diff-viewport:active{cursor:grabbing}.structure-diff-stage{background:var(--bg-sunken);box-shadow:0 0 0 1px var(--border-default);transform-origin:50%;position:absolute;top:50%;left:50%;overflow:hidden}.structure-diff-base-image{pointer-events:none;width:100%;height:100%;display:block}.structure-diff-result-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.structure-diff-result-layer.is-blink-hidden{visibility:hidden}.structure-diff-result-image{pointer-events:none;max-width:none;display:block;position:absolute}.structure-diff-wipe-handle{z-index:1;width:calc(var(--space-lg) + var(--space-xs));opacity:0;visibility:hidden;pointer-events:none;cursor:ew-resize;touch-action:none;position:absolute;top:0;bottom:0;transform:translate(-50%)}.structure-diff-wipe-handle.is-visible{opacity:1;visibility:visible;pointer-events:auto}.structure-diff-wipe-handle span{border-left:2px solid var(--brand-red);box-shadow:0 0 var(--space-xs) var(--bg-base);position:absolute;top:0;bottom:0;left:50%}.structure-diff-control-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.structure-diff-alignment-readout{margin-top:var(--space-md);padding:var(--space-xs);gap:var(--space-xs);background:var(--bg-sunken);border:1px solid var(--border-subtle);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.structure-diff-control-group{margin-top:var(--space-lg);gap:var(--space-xs);display:grid}.structure-diff-blink-controls{display:none}.structure-diff-blink-controls.is-visible{display:grid}.structure-diff-control-label{color:var(--text-secondary);font-size:var(--text-xs)}.structure-diff-control-group input[type=range]{width:100%;accent-color:var(--accent)}.structure-diff-nudge-grid{gap:var(--space-2xs);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.structure-diff-nudge-grid button:first-child{grid-area:1/2}.structure-diff-nudge-grid button:nth-child(2){grid-area:2/1}.structure-diff-nudge-grid button:nth-child(3){grid-area:2/2}.structure-diff-nudge-grid button:nth-child(4){grid-area:2/3}.structure-diff-keyboard-hint{color:var(--text-muted);font-size:var(--text-2xs);margin:0}.structure-diff-control-note{margin:var(--space-xl) 0 0;padding-top:var(--space-md);color:var(--text-muted);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);line-height:1.6}.infinite-canvas-tool{width:100%;height:100%;min-height:0}html.has-infinite-canvas,body.has-infinite-canvas{height:100%;overflow:hidden}body.has-infinite-canvas .infinite-canvas-page{width:100%;position:fixed;inset:0;overflow:hidden}body.has-infinite-canvas .topbar{transform:translateY(calc(-100% + var(--space-sm)));will-change:transform;transition:transform .2s cubic-bezier(.2,.7,.2,1)}body.has-infinite-canvas .topbar:after{bottom:var(--space-2xs);width:var(--space-xl);background:var(--border-strong);border-radius:var(--space-2xs);content:"";opacity:.9;pointer-events:none;height:2px;transition:opacity .12s;position:absolute;left:50%;transform:translate(-50%)}body.has-infinite-canvas .topbar:hover,body.has-infinite-canvas .topbar:focus-within{transform:translateY(0)}body.has-infinite-canvas .topbar:hover:after,body.has-infinite-canvas .topbar:focus-within:after{opacity:0}body.has-infinite-canvas .infinite-canvas-global-search{top:var(--space-sm);z-index:35;pointer-events:none;width:100%;height:0;transition:top .2s cubic-bezier(.2,.7,.2,1);position:fixed;left:0}body.has-infinite-canvas .infinite-canvas-global-search .global-search{pointer-events:auto}body.has-infinite-canvas .topbar:hover~.infinite-canvas-global-search,body.has-infinite-canvas .topbar:focus-within~.infinite-canvas-global-search{top:calc(var(--space-2xl) + var(--space-md) + var(--space-2xs))}body.has-infinite-canvas .infinite-canvas-tool{flex-direction:column;display:flex}body.has-infinite-canvas .infinite-canvas-viewport{flex:1;width:100%;min-height:0}.infinite-canvas-primary-toolbar{top:var(--space-md);left:var(--space-md);z-index:4;padding:var(--space-sm);align-items:center;gap:var(--space-xs);background:color-mix(in srgb, var(--bg-raised) 88%, transparent);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(var(--space-xs));backdrop-filter:blur(var(--space-xs));display:flex;position:absolute}body.has-infinite-canvas .infinite-canvas-primary-toolbar{top:calc(var(--space-sm) + var(--space-md));transition:top .2s cubic-bezier(.2,.7,.2,1)}body.has-infinite-canvas .topbar:hover+.infinite-canvas-page .infinite-canvas-primary-toolbar,body.has-infinite-canvas .topbar:focus-within+.infinite-canvas-page .infinite-canvas-primary-toolbar{top:calc(var(--space-2xl) + var(--space-md) + var(--space-2xs) + var(--space-md))}@media (prefers-reduced-motion:reduce){body.has-infinite-canvas .topbar,body.has-infinite-canvas .topbar:after,body.has-infinite-canvas .infinite-canvas-global-search,body.has-infinite-canvas .infinite-canvas-primary-toolbar{transition:none}}.infinite-canvas-primary-toolbar button,.infinite-canvas-empty-state button{min-height:calc(var(--space-xl) + var(--space-xs));padding:0 var(--space-md);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-strong);font:inherit;font-size:var(--text-xs);cursor:pointer}.infinite-canvas-primary-toolbar button:hover:not(:disabled),.infinite-canvas-empty-state button:hover:not(:disabled),.infinite-canvas-primary-toolbar .infinite-canvas-lineage-mode-button[aria-pressed=true]{color:var(--text-primary);background:var(--bg-elevated-hover);border-color:var(--accent)}.infinite-canvas-primary-toolbar button:disabled,.infinite-canvas-empty-state button:disabled{opacity:.45;cursor:not-allowed}.infinite-canvas-primary-toolbar output{min-width:6ch;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);text-align:center}.infinite-canvas-access-control{position:relative}.infinite-canvas-primary-toolbar .infinite-canvas-access-control>button.is-filled{color:var(--text-primary);border-color:var(--accent)}.infinite-canvas-access-panel{top:calc(100% + var(--space-xs));z-index:1;width:calc(var(--space-2xl) * 6);max-width:calc(100vw - var(--space-xl));padding:var(--space-sm);gap:var(--space-xs);background:color-mix(in srgb, var(--bg-raised) 96%, transparent);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(var(--space-xs));backdrop-filter:blur(var(--space-xs));display:grid;position:absolute;left:0}.infinite-canvas-access-panel label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}.infinite-canvas-access-panel input{width:100%;min-height:calc(var(--space-xl) + var(--space-xs));padding:0 var(--space-sm);color:var(--text-primary);background:var(--bg-sunken);border:1px solid var(--border-subtle);font:inherit;font-size:var(--text-xs)}.infinite-canvas-access-panel input::placeholder{color:var(--text-muted)}.infinite-canvas-access-actions{justify-content:flex-end;gap:var(--space-xs);display:flex}.infinite-canvas-primary-toolbar .infinite-canvas-clear-button{color:var(--danger)}.infinite-canvas-floating-toolbar{z-index:5;width:max-content;padding:var(--space-2xs);gap:var(--space-2xs);background:color-mix(in srgb, var(--bg-raised) 92%, transparent);border:1px solid var(--border-subtle);border-radius:var(--space-xs);transform:translateY(calc(-100% - var(--space-sm)));-webkit-backdrop-filter:blur(var(--space-xs));backdrop-filter:blur(var(--space-xs));display:grid;position:absolute;overflow:visible}.infinite-canvas-generation-result-toolbar{transform:translateY(var(--space-sm))}.infinite-canvas-floating-targets{gap:var(--space-2xs);width:max-content;display:flex;overflow:visible}.infinite-canvas-skill-target{anchor-scope:var(--infinite-canvas-skill-anchor);flex:none;display:flex;position:relative}.infinite-canvas-universal-prompt-target:not(:first-child),.infinite-canvas-floating-download:not(:first-child){margin-left:var(--space-xs)}.infinite-canvas-skill-target>button{anchor-name:var(--infinite-canvas-skill-anchor);justify-content:center;width:100%}.infinite-canvas-skill-menu{position-anchor:var(--infinite-canvas-skill-anchor);z-index:5;inset:auto;top:calc(anchor(bottom) + var(--space-xs));bottom:auto;left:var(--infinite-canvas-skill-menu-left,anchor(left));width:anchor-size(width);min-width:max-content;padding:var(--space-2xs);gap:var(--space-2xs);background:color-mix(in srgb, var(--bg-raised) 92%, transparent);border:1px solid var(--border-subtle);border-radius:var(--space-sm);-webkit-backdrop-filter:blur(var(--space-xs));backdrop-filter:blur(var(--space-xs));position-try-fallbacks:--infinite-canvas-skill-menu-above;display:grid;position:fixed}@position-try --infinite-canvas-skill-menu-above{top:auto;bottom:calc(anchor(top) + var(--space-xs))}.infinite-canvas-floating-targets .infinite-canvas-skill-menu button{width:100%;padding-inline:var(--space-xs);border-radius:var(--space-xs);justify-content:flex-start}.infinite-canvas-universal-prompt-target>button:after{width:var(--space-2xs);height:var(--space-2xs);margin-left:var(--space-2xs);content:"";border-bottom:1px solid;border-right:1px solid;transform:translateY(-1px)rotate(45deg)}.infinite-canvas-skill-target>button[aria-expanded=true]{color:var(--text-primary);background:var(--bg-elevated);border-radius:var(--space-xs)}.infinite-canvas-floating-toolbar.is-hidden{visibility:hidden;opacity:0;pointer-events:none}.infinite-canvas-floating-targets button,.infinite-canvas-role-actions button,.infinite-canvas-text-card button{min-height:var(--space-xl);padding:0 var(--space-sm);color:var(--text-secondary);border-radius:var(--space-xs);font:inherit;font-size:var(--text-xs);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;flex:none;align-items:center;display:inline-flex}.infinite-canvas-floating-targets button{padding-inline:var(--space-xs)}.infinite-canvas-floating-targets button:hover,.infinite-canvas-floating-targets button:focus-visible,.infinite-canvas-role-actions button:hover,.infinite-canvas-role-actions button:focus-visible,.infinite-canvas-text-card button:hover,.infinite-canvas-text-card button:focus-visible{color:var(--text-primary);background:var(--bg-elevated)}.infinite-canvas-floating-targets button:focus-visible,.infinite-canvas-role-actions button:focus-visible,.infinite-canvas-text-card button:focus-visible{border-color:var(--accent)}.infinite-canvas-role-assignment{min-width:min(420px, calc(100vw - var(--space-xl)));padding:var(--space-xs);gap:var(--space-xs);border-top:1px solid var(--border-subtle);display:grid}.infinite-canvas-role-list{gap:var(--space-2xs);display:grid}.infinite-canvas-role-list>div{align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:var(--text-2xs);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.infinite-canvas-role-list strong{color:var(--text-primary);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.infinite-canvas-role-actions{justify-content:flex-end;gap:var(--space-2xs);display:flex}.infinite-canvas-role-actions button.is-primary{color:var(--bg-base);background:var(--accent);border-color:var(--accent)}.infinite-canvas-error{top:calc(var(--space-2xl) + var(--space-xl));left:var(--space-md);z-index:4;max-width:min(60ch, calc(100% - var(--space-xl)));padding:var(--space-xs) var(--space-sm);color:var(--danger);background:color-mix(in srgb, var(--danger-surface) 90%, transparent);border:1px solid var(--danger-border);font-size:var(--text-xs);margin:0;position:absolute}.infinite-canvas-importing{z-index:3;padding:var(--space-md);background:color-mix(in srgb, var(--bg-sunken) 58%, transparent);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.infinite-canvas-importing-panel{width:min(34ch, calc(100% - var(--space-xl)));gap:var(--space-sm);padding:var(--space-md);color:var(--text-secondary);background:color-mix(in srgb, var(--bg-raised) 92%, transparent);border:1px solid var(--border-default);border-radius:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);animation:1.6s ease-in-out infinite infinite-canvas-generation-breathe;display:grid}.infinite-canvas-importing-panel p{margin:0}.infinite-canvas-importing-progress{height:var(--space-2xs);background:var(--bg-sunken);border-radius:var(--space-2xs);overflow:hidden}.infinite-canvas-importing-progress>span{background:var(--accent);border-radius:inherit;height:100%;transition:width .18s ease-out;display:block}.infinite-canvas-viewport{background-color:var(--bg-sunken);background-image:linear-gradient(color-mix(in srgb, var(--border-subtle) 48%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--border-subtle) 48%, transparent) 1px, transparent 1px);background-size:var(--space-xl) var(--space-xl);border-top:1px solid var(--border-subtle);cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;outline:none;min-height:100%;position:relative;overflow:hidden}.infinite-canvas-viewport:focus-visible{border-color:var(--focus-ring);box-shadow:0 0 0 1px var(--focus-ring)}.infinite-canvas-viewport.is-file-dragging{border-color:var(--accent);box-shadow:inset 0 0 0 var(--space-2xs) color-mix(in srgb, var(--accent) 34%, transparent)}.infinite-canvas-world{transform-origin:0 0;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.infinite-canvas-world.is-generation-focus-animating{transition:transform .36s cubic-bezier(.22,1,.36,1)}.infinite-canvas-lineage-layer{z-index:0;width:1px;height:1px;color:var(--lineage-guide);pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.infinite-canvas-lineage-layer marker path{fill:currentColor;opacity:.9}.infinite-canvas-lineage-edge{fill:none;stroke:currentColor;stroke-width:1.25px;opacity:.9;pointer-events:none;vector-effect:non-scaling-stroke}.infinite-canvas-lineage-edge.is-reference{stroke-dasharray:5 5}.infinite-canvas-alignment-guides-layer{z-index:4;width:1px;height:1px;color:var(--alignment-guide);pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.infinite-canvas-alignment-guide{stroke:currentColor;stroke-width:2px;opacity:.96;filter:drop-shadow(0 0 2px var(--bg-base));vector-effect:non-scaling-stroke}@media (prefers-reduced-motion:reduce){.infinite-canvas-world.is-generation-focus-animating{transition:none}}.infinite-canvas-generation-placeholders{z-index:1;pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.infinite-canvas-generation-placeholder{place-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--border-default);border-radius:var(--space-xs);background:color-mix(in srgb, var(--bg-raised) 90%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text-secondary);pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transform-origin:0 0;grid-template-columns:auto minmax(0,auto);animation:1.6s ease-in-out infinite infinite-canvas-generation-breathe;display:grid;position:absolute;top:0;left:0;overflow:hidden}.infinite-canvas-generation-placeholder.is-dragging{cursor:grabbing}.infinite-canvas-generation-placeholder>div{gap:var(--space-2xs);display:grid}.infinite-canvas-generation-placeholder strong,.infinite-canvas-generation-placeholder>div>span{white-space:nowrap}.infinite-canvas-generation-placeholder strong{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.infinite-canvas-generation-placeholder>div>span{color:var(--text-muted);font-size:var(--text-2xs)}@keyframes infinite-canvas-generation-breathe{0%,to{background:color-mix(in srgb, var(--bg-raised) 72%, transparent);border-color:var(--border-default);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 8%, transparent)}50%{background:color-mix(in srgb, var(--bg-raised) 96%, var(--accent) 4%);border-color:color-mix(in srgb, var(--accent) 52%, var(--border-default));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent), 0 0 var(--space-sm) color-mix(in srgb, var(--accent) 12%, transparent)}}@media (prefers-reduced-motion:reduce){.infinite-canvas-generation-placeholder,.infinite-canvas-importing-panel{background:color-mix(in srgb, var(--bg-raised) 84%, var(--accent) 2%);border-color:color-mix(in srgb, var(--accent) 26%, var(--border-default));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 19%, transparent);animation:none}.infinite-canvas-importing-progress>span{transition:none}}.infinite-canvas-selection-box{z-index:3;background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--bg-base) 36%, transparent);pointer-events:none;position:absolute}.infinite-canvas-asset{transform-origin:0 0;cursor:grab;position:absolute;top:0;left:0}.infinite-canvas-asset img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.infinite-canvas-asset.is-text{background:var(--bg-raised);border:1px solid var(--border-default)}.infinite-canvas-text-card{width:100%;padding:var(--space-md);gap:var(--space-sm);color:var(--text-secondary);background:var(--bg-raised);grid-template-rows:auto auto auto;display:grid}.infinite-canvas-text-card header{gap:var(--space-2xs);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-subtle);display:grid}.infinite-canvas-text-card header span,.infinite-canvas-text-card footer span{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.infinite-canvas-text-card header strong{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.infinite-canvas-text-card>p{font-size:var(--text-xs);white-space:pre-wrap;-webkit-user-select:text;user-select:text;margin:0;line-height:1.65;overflow:visible}.infinite-canvas-text-card footer{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.infinite-canvas-text-card button{min-height:calc(var(--space-lg) + var(--space-2xs))}.infinite-canvas-asset.is-selected{outline:1px solid var(--accent);outline-offset:var(--space-2xs)}.infinite-canvas-image-group-resize-frame{z-index:5;outline:1px solid var(--accent);outline-offset:var(--space-2xs);transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}.infinite-canvas-image-group-resize-frame>.infinite-canvas-resize-handle{pointer-events:auto}.infinite-canvas-asset-caption{gap:var(--space-2xs);padding:var(--space-xs);color:var(--text-secondary);background:color-mix(in srgb, var(--bg-base) 82%, transparent);font-size:var(--text-2xs);opacity:0;pointer-events:none;line-height:1.4;transition:opacity .16s;display:grid;position:absolute;bottom:0;left:0;right:0}.infinite-canvas-asset-caption strong{color:var(--text-primary);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.infinite-canvas-asset:hover .infinite-canvas-asset-caption,.infinite-canvas-asset.is-selected .infinite-canvas-asset-caption{opacity:1}.infinite-canvas-resize-handle{width:var(--space-sm);height:var(--space-sm);background:var(--accent);border:1px solid var(--bg-base);border-radius:50%;position:absolute}.infinite-canvas-resize-handle.is-nw{cursor:nwse-resize;top:0;left:0;transform:translate(-50%,-50%)}.infinite-canvas-resize-handle.is-ne{cursor:nesw-resize;top:0;right:0;transform:translate(50%,-50%)}.infinite-canvas-resize-handle.is-w{cursor:ew-resize;top:50%;left:0;transform:translate(-50%,-50%)}.infinite-canvas-resize-handle.is-e{cursor:ew-resize;top:50%;right:0;transform:translate(50%,-50%)}.infinite-canvas-resize-handle.is-sw{cursor:nesw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.infinite-canvas-resize-handle.is-se{cursor:nwse-resize;bottom:0;right:0;transform:translate(50%,50%)}.infinite-canvas-empty-state{max-width:42ch;padding:var(--space-xl);justify-items:center;gap:var(--space-sm);color:var(--text-secondary);text-align:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.infinite-canvas-empty-state h3,.infinite-canvas-empty-state p{margin:0}.infinite-canvas-empty-state h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.infinite-canvas-empty-state p:not(.section-kicker){font-size:var(--text-sm);line-height:1.6}.infinite-canvas-viewport-notes{left:var(--space-md);bottom:var(--space-md);z-index:2;max-width:64ch;padding:var(--space-xs) var(--space-sm);gap:var(--space-2xs);background:color-mix(in srgb, var(--bg-raised) 88%, transparent);border:1px solid var(--border-subtle);pointer-events:none;display:grid;position:absolute}.infinite-canvas-shortcut-hint,.infinite-canvas-privacy-hint{color:var(--text-muted);font-size:var(--text-2xs);margin:0;line-height:1.5}.infinite-canvas-privacy-hint{color:color-mix(in srgb, var(--text-muted) 72%, transparent)}.topaz-tool{width:100%}.topaz-upload-card{height:auto;margin-top:var(--space-md)}.topaz-dropzone{min-height:180px;margin-top:var(--space-sm)}.topaz-dropzone .uploader-empty-button{min-height:178px;padding:var(--space-md)}.topaz-dropzone.has-file{min-height:0;padding:var(--space-sm);align-items:stretch}.topaz-source-summary{align-items:center;gap:var(--space-md);grid-template-columns:156px minmax(0,1fr) auto;width:100%;display:grid}.topaz-source-preview{background:var(--bg-sunken);border:1px solid var(--border-subtle);cursor:zoom-in;width:156px;height:104px;padding:0;display:block;position:relative;overflow:hidden}.topaz-source-preview img{object-fit:contain;width:100%;height:100%;display:block}.topaz-source-preview span{right:var(--space-xs);bottom:var(--space-xs);padding:var(--space-2xs) var(--space-xs);color:var(--text-primary);font-size:var(--text-2xs);opacity:0;background:#090909c7;transition:opacity .15s;position:absolute}.topaz-source-preview:hover span,.topaz-source-preview:focus-visible span{opacity:1}.topaz-source-details{gap:var(--space-2xs);min-width:0;display:grid}.topaz-source-details strong{color:var(--text-primary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topaz-source-details span{color:var(--text-muted);font-size:var(--text-xs)}.topaz-control-card{margin-top:var(--space-md);padding:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle)}.topaz-control-heading,.topaz-result-heading,.topaz-action-row,.topaz-result-footer,.topaz-recovery-row{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.topaz-control-heading h2,.topaz-result-heading h2{margin:var(--space-2xs) 0 0;font-size:var(--text-md)}.topaz-scale-options{gap:var(--space-xs);margin-top:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.topaz-scale-options button{min-height:58px;padding:var(--space-xs) var(--space-sm);align-content:center;justify-items:start;gap:var(--space-2xs);background:var(--bg-sunken);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;text-align:left;transition:background-color .15s,border-color .15s,color .15s;display:grid}.topaz-scale-options button:hover:not(:disabled){background:var(--bg-raised);border-color:var(--border-default);color:var(--text-primary)}.topaz-scale-options button[aria-pressed=true]{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.topaz-scale-options button:disabled{cursor:not-allowed;opacity:.55}.topaz-scale-options strong{font-family:var(--font-mono);font-size:var(--text-md);font-weight:var(--weight-semibold)}.topaz-scale-options span{color:var(--text-muted);font-size:var(--text-xs)}.topaz-scale-option-heading{align-items:baseline;gap:var(--space-sm);display:flex}.topaz-scale-options .topaz-scale-resolution{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap}.topaz-scale-options .topaz-scale-description{font-size:var(--text-2xs)}.topaz-action-row{margin-top:var(--space-sm);justify-content:flex-start}.topaz-action-row>p{max-width:540px;color:var(--text-muted);font-size:var(--text-2xs);margin:0;line-height:1.6}.topaz-elapsed{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap;margin-left:auto}.topaz-recovery-row{margin-top:var(--space-xs);justify-content:flex-start}.topaz-recovery-row .secondary-button{width:auto;min-width:132px}.topaz-recovery-row span{color:var(--text-muted);font-size:var(--text-2xs)}.topaz-result-card{background:var(--bg-raised)}.topaz-result-scale{padding:var(--space-2xs) var(--space-xs);color:var(--text-secondary);background:var(--bg-sunken);border:1px solid var(--border-subtle);font-size:var(--text-2xs)}.topaz-result-grid{gap:var(--space-sm);margin-top:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.topaz-result-grid figure{background:var(--bg-sunken);border:1px solid var(--border-subtle);min-width:0;margin:0}.topaz-result-grid figcaption{min-height:42px;padding:0 var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-xs);color:var(--text-muted);font-size:var(--text-xs);display:flex}.topaz-result-grid figcaption strong{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-normal)}.topaz-result-grid figure>button{background:var(--bg-base);cursor:zoom-in;border:0;width:100%;height:clamp(240px,34vw,460px);padding:0;display:block;overflow:hidden}.topaz-result-grid img{object-fit:contain;width:100%;height:100%;transition:transform .18s;display:block}.topaz-result-grid figure>button:hover img{transform:scale(1.015)}.topaz-result-footer{margin-top:var(--space-md)}.topaz-result-footer>div:first-child{gap:var(--space-2xs);display:grid}.topaz-result-footer strong{color:var(--text-primary);font-size:var(--text-xs)}.topaz-result-footer span{color:var(--text-muted);font-size:var(--text-2xs)}.topaz-result-actions{justify-content:flex-end;gap:var(--space-xs);flex-wrap:wrap;display:flex}.topaz-result-actions .secondary-button{width:auto;min-width:104px;height:38px;padding:0 var(--space-sm);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (width<=760px){.topaz-source-summary{grid-template-columns:112px minmax(0,1fr)}.topaz-source-preview{width:112px;height:84px}.topaz-source-summary .image-action-buttons{grid-column:1/-1}.topaz-control-heading,.topaz-action-row,.topaz-result-footer{flex-direction:column;align-items:stretch}.topaz-scale-options,.topaz-result-grid{grid-template-columns:1fr}.topaz-action-row .primary-button{width:100%}.topaz-result-actions{justify-content:flex-start}}.cb-auth-test{width:var(--layout-content-width);margin:var(--space-2xl) auto;gap:var(--space-xl);font-size:var(--text-sm);display:grid}.cb-auth-test header p,.cb-auth-test-identity>p{color:var(--text-secondary)}.cb-auth-test h1{font-family:var(--font-display);font-size:var(--text-lg)}.cb-auth-test h2{font-size:var(--text-md)}.cb-auth-test-form{gap:var(--space-md);max-width:32rem;display:grid}.cb-auth-test .access-field{gap:var(--space-xs);display:grid}.cb-auth-test-identity{border-top:1px solid var(--border-subtle);padding-top:var(--space-lg)}.cb-auth-test-identity dl{gap:var(--space-sm) var(--space-lg);grid-template-columns:max-content minmax(0,1fr);display:grid}.cb-auth-test-identity dd{overflow-wrap:anywhere;font-family:var(--font-mono);margin:0}.cb-auth-test-diagnostic{font-family:var(--font-mono);overflow-wrap:anywhere}.cb-auth-test-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.quota-page{gap:var(--space-xl);padding-block:var(--space-xl);display:grid}.quota-page h1{font-family:var(--font-display)}.quota-page header a{margin-right:var(--space-lg);display:inline-block}.quota-page p,.quota-image-notice{color:var(--text-secondary)}.quota-filters{gap:var(--space-md);flex-wrap:wrap;align-items:end;display:flex}.quota-page label{gap:var(--space-xs);font-size:var(--text-sm);display:grid}.quota-page input,.quota-page select{min-width:0;max-width:100%;color:var(--text-primary);background:var(--bg-sunken);border:1px solid var(--border-default);padding:var(--space-sm);border-radius:4px}.quota-page input:focus-visible,.quota-page select:focus-visible{outline:2px solid var(--accent)}.quota-balances{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));display:grid}.quota-page .result-card{min-width:0;padding:var(--space-lg);overflow-wrap:anywhere}.quota-page dl>div{justify-content:space-between;gap:var(--space-sm);padding-block:var(--space-xs);border-bottom:1px solid var(--border-subtle);display:flex}.quota-page dd{font-family:var(--font-mono);margin:0}.quota-page form,.quota-records{gap:var(--space-md);display:grid}.quota-records>h2,.quota-records>p{margin:0}.quota-page .quota-record-card{gap:var(--space-xs);padding:var(--space-md);display:grid}.quota-record-card h3,.quota-record-card p{margin:0}.quota-record-card h3{font-size:var(--text-md)}.quota-record-card p{font-size:var(--text-sm)}.quota-record-meta{font-family:var(--font-mono)}.quota-record-note{white-space:pre-wrap}.quota-history-heading,.quota-audit-row>summary{align-items:baseline;gap:var(--space-sm);cursor:pointer;flex-wrap:wrap;display:flex}.quota-history-heading h2{font-size:var(--text-md);margin:0}.quota-history summary{cursor:pointer}.quota-history summary:focus-visible{outline:2px solid var(--accent);outline-offset:var(--space-2xs)}.quota-history .quota-audit-close,.quota-history details[open]>summary>.quota-audit-open{display:none}.quota-history details[open]>summary>.quota-audit-close{display:inline}.quota-history p{margin-block:var(--space-xs);font-size:var(--text-sm)}.quota-audit-row{border-bottom:1px solid var(--border-subtle);overflow-wrap:anywhere;min-width:0}.quota-audit-row>summary{padding-block:var(--space-sm);font-size:var(--text-sm)}.quota-audit-description{flex:1}.quota-audit-detail{background:var(--bg-sunken);padding:var(--space-sm);margin-bottom:var(--space-sm)}.quota-audit-detail h3{font-size:var(--text-sm);margin:0}.quota-system-records{margin-top:var(--space-sm)}.quota-batch,.quota-batch fieldset{gap:var(--space-md);min-width:0;display:grid}.quota-batch fieldset{border:1px solid var(--border-subtle);padding:var(--space-md)}.quota-batch .quota-batch-member{align-items:center;gap:var(--space-sm);display:flex}.quota-batch-values{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));display:grid}.quota-batch-values>div{gap:var(--space-xs);align-content:start;display:grid}.quota-batch-preview{border:1px solid var(--border-subtle);max-height:320px;padding:var(--space-md);overflow:auto}.quota-batch-preview article+article{border-top:1px solid var(--border-subtle)}.quota-image-notice{font-size:var(--text-xs);margin:0}.quota-notice{gap:var(--space-2xs) var(--space-xs);flex-wrap:wrap;align-items:baseline;display:flex}.quota-notice .text-button{font-size:inherit;min-height:0;padding:0}.quota-notice-group{gap:var(--space-2xs);flex-shrink:0;display:grid}@media (width<=640px){.quota-filters>label{width:100%}}.image-settings-auto-description{color:var(--text-muted);font-size:var(--text-xs);overflow-wrap:anywhere;margin:var(--space-xs) 0;line-height:1.6}
