@font-face{font-family:Albert Sans;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/albert-sans-400.ttf)format("truetype")}@font-face{font-family:Albert Sans;font-style:normal;font-weight:500;font-display:block;src:url(/fonts/albert-sans-500.ttf)format("truetype")}@font-face{font-family:Albert Sans;font-style:normal;font-weight:600;font-display:block;src:url(/fonts/albert-sans-600.ttf)format("truetype")}@font-face{font-family:Albert Sans;font-style:normal;font-weight:700;font-display:block;src:url(/fonts/albert-sans-700.ttf)format("truetype")}@font-face{font-family:Albert Sans;font-style:normal;font-weight:800;font-display:block;src:url(/fonts/albert-sans-800.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/dm-sans-400.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:block;src:url(/fonts/dm-sans-500.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:block;src:url(/fonts/dm-sans-600.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:block;src:url(/fonts/dm-sans-700.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:800;font-display:block;src:url(/fonts/dm-sans-800.ttf)format("truetype")}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/fira-code-400.ttf)format("truetype")}@font-face{font-family:Fira Code;font-style:normal;font-weight:500;font-display:block;src:url(/fonts/fira-code-500.ttf)format("truetype")}@font-face{font-family:Fira Code;font-style:normal;font-weight:600;font-display:block;src:url(/fonts/fira-code-600.ttf)format("truetype")}:root{--bg:#f6f5f1;--bg-elevated:#fbfaf7;--surface:#fbfaf7;--surface-hover:#efeee9;--surface-subtle:#f0efea;--overlay:#0000000d;--text-primary:#171717;--text-secondary:#525252;--text-tertiary:#a3a3a3;--text-disabled:#d4d4d4;--border:#00000014;--border-hover:#0000001f;--divider:#0000000f;--accent:#2f332d;--accent-hover:#1f231e;--accent-light:#2f332d1a;--accent-muted-green:#5d746b;--landing-bg:#f4f3ee;--landing-text:#111;--landing-muted:#5f6268;--landing-cta:#ff3347;--landing-cta-hover:#ff4659;--landing-cta-text:#fff;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 40px #0000001f;--shadow-xl:0 20px 60px #00000026;--composer-bg:var(--surface);--composer-control:var(--surface-hover);--composer-control-hover:var(--overlay);--composer-text:var(--text-primary);--composer-muted:var(--text-tertiary);--composer-placeholder:var(--text-tertiary);--composer-accent:var(--accent);--composer-submit:var(--surface-hover);--composer-submit-active:var(--overlay);--composer-submit-icon:var(--text-tertiary);--composer-submit-icon-active:var(--text-primary);--composer-shadow:0 22px 60px #0f172a1f;--panel-bg:color-mix(in srgb, var(--surface) 88%, transparent);--blur-sm:blur(8px);--blur-md:blur(16px);--blur-lg:blur(24px);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--rail-width:72px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0f0f0f;--bg-elevated:#151515;--surface:#1b1b1b;--surface-hover:#242424;--surface-subtle:#171717;--overlay:#ffffff0d;--text-primary:#fafafa;--text-secondary:#a3a3a3;--text-tertiary:#737373;--text-disabled:#5a5a5a;--border:#ffffff1f;--border-hover:#ffffff2e;--divider:#ffffff1a;--accent:#6f8f5f;--accent-hover:#82a46f;--accent-light:#6f8f5f29;--accent-contrast:#0f160d;--landing-bg:#0f0f0f;--landing-text:#f8fafc;--landing-muted:#a3a3a3;--landing-cta:#ff3347;--landing-cta-hover:#ff4659;--landing-cta-text:#fff;--success:#34d399;--warning:#fbbf24;--error:#f87171;--shadow-sm:0 2px 5px #0000002e;--shadow-md:0 8px 20px #0000003d;--shadow-lg:0 14px 34px #00000047;--shadow-xl:0 20px 48px #00000052;--composer-bg:var(--surface);--composer-control:var(--surface-hover);--composer-control-hover:var(--overlay);--composer-text:var(--text-primary);--composer-muted:var(--text-tertiary);--composer-placeholder:var(--text-tertiary);--composer-accent:var(--accent);--composer-submit:var(--surface-hover);--composer-submit-active:var(--overlay);--composer-submit-icon:var(--text-tertiary);--composer-submit-icon-active:var(--text-primary);--composer-shadow:0 14px 34px #00000047;--panel-bg:color-mix(in srgb, var(--surface) 88%, transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:auto;min-height:100%;overflow:hidden}html.is-studio-page{scrollbar-gutter:auto;height:100%;overflow:hidden}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text-primary);font-feature-settings:"cv02", "cv03", "cv04", "cv11";font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Albert Sans,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Microsoft YaHei,Arial,sans-serif;font-size:14px;line-height:1.5;overflow:hidden}body.is-studio-page{height:100%;overflow:hidden}html.is-admin-page,body.is-admin-page{overflow:hidden auto}html.is-canvas-page body,html.is-canvas-page #root{background:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;outline:none}button:disabled{cursor:not-allowed;opacity:.4}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}p{margin:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-disabled);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:var(--accent-light);color:var(--text-primary)}.skip-link{z-index:9999;background:var(--accent);color:#fff;border-radius:var(--radius-md);padding:12px 20px;font-weight:500;text-decoration:none;position:fixed;left:-9999px}.skip-link:focus{top:20px;left:20px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.spin{animation:1s linear infinite spin}.pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-frame{min-height:100vh;padding-left:var(--rail-width);background:var(--bg)}html.is-canvas-page .app-frame,html.is-canvas-page .main-stage{background:inherit}.app-rail{z-index:100;width:var(--rail-width);box-shadow:none;--rail-footer-space:112px;will-change:auto;background:0 0;border:none;flex-direction:column;align-items:center;padding:16px 0;transition:none;display:flex;position:fixed;top:0;bottom:0;left:0}body.canvas-rail-hidden .app-rail{opacity:0;pointer-events:none;transform:translate(-18px)}.app-rail.is-booting,.app-rail.is-guest{--rail-footer-space:112px}.app-rail.is-user{--rail-footer-space:256px}.app-rail.is-admin{--rail-footer-space:312px}.brand-button{border-radius:18px;flex:none;justify-content:center;align-items:center;width:66px;height:66px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.brand-button:hover{background:var(--surface-hover);box-shadow:var(--shadow-sm);transform:scale(1.05)}.brand-emblem{width:58px;height:58px;box-shadow:none;border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.brand-emblem img{object-fit:cover;width:100%;height:100%}.rail-nav{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;width:100%;padding:0 12px;transition:padding .22s;display:flex}.rail-nav button{width:48px;height:48px;color:var(--text-tertiary);border-radius:var(--radius-md);justify-content:center;align-items:center;transition:none;display:flex;position:relative}.rail-nav button svg{width:22px;height:22px;transition:none}.rail-nav button:hover{color:var(--text-secondary);background:color-mix(in srgb, var(--surface) 72%, transparent);box-shadow:var(--shadow-sm)}.rail-nav button.is-active,.rail-nav button.is-active:hover{color:var(--text-primary)}.rail-footer{min-height:var(--rail-footer-space);flex-direction:column;flex:none;justify-content:flex-end;align-items:center;gap:8px;margin-top:0;padding:0 12px;transition:min-height .22s;display:flex}.theme-toggle,.icon-btn,.rail-footer-placeholder{width:48px;height:48px;color:var(--text-tertiary);border-radius:var(--radius-md);border:none;justify-content:center;align-items:center;transition:none;display:flex}.theme-toggle svg,.icon-btn svg{transition:none}.rail-footer-placeholder{pointer-events:none;display:none}.theme-toggle:hover,.icon-btn:hover{color:var(--text-secondary);background:color-mix(in srgb, var(--surface) 72%, transparent);box-shadow:var(--shadow-sm)}.identity-chip{background:var(--accent-light);width:40px;height:40px;color:var(--accent);box-shadow:var(--shadow-sm);border:none;border-radius:50%;font-size:13px;font-weight:600;overflow:hidden}.identity-chip button{width:100%;height:100%;color:inherit;place-items:center;font-weight:700;display:grid}.identity-chip svg{display:none}.icon-btn.is-active{color:var(--text-primary)}.icon-btn.is-active svg{transform:scale(1.08)}.rail-download{width:48px;height:48px;position:relative}.rail-download>.icon-btn{cursor:default;width:48px;height:48px}.rail-download-card{z-index:40;background:radial-gradient(circle at 16% 28%, color-mix(in srgb, var(--accent) 6%, transparent) 0 18%, transparent 38%), color-mix(in srgb, var(--surface) 94%, var(--bg));opacity:0;pointer-events:none;border:none;border-radius:22px;grid-template-columns:minmax(0,1fr) 132px;align-items:stretch;gap:16px;width:378px;min-height:172px;padding:16px;transition:opacity .14s;display:grid;position:absolute;bottom:-8px;left:calc(100% + 14px);box-shadow:0 18px 46px #00000057}.rail-download:hover .rail-download-card,.rail-download:focus-within .rail-download-card{opacity:1;pointer-events:auto}.rail-download-info{flex-direction:column;justify-content:space-between;gap:16px;min-width:0;padding:2px 0;display:flex}.rail-download-head{grid-template-columns:34px minmax(0,auto);align-items:center;gap:11px;height:34px;display:grid}.rail-download-logo{background:color-mix(in srgb, var(--surface) 70%, transparent);width:34px;height:34px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border) 74%, transparent);border-radius:12px;place-items:center;display:grid;overflow:hidden}.rail-download-logo img{object-fit:contain;width:30px;height:30px;display:block;transform:translateY(2px)}.rail-download-platform{height:26px;color:var(--text-secondary);border:1px solid color-mix(in srgb, var(--border) 72%, transparent);background:color-mix(in srgb, var(--surface-hover) 70%, transparent);border-radius:999px;place-items:center;padding:0 10px;font-size:11px;font-style:normal;font-weight:750;display:inline-grid}.rail-download-info strong{min-width:0;height:34px;color:var(--text-primary);font-size:18px;font-weight:760;line-height:34px;display:block;transform:translateY(4px)}.rail-download-info span{max-width:172px;color:var(--text-tertiary);margin-top:10px;font-size:12px;line-height:1.65;display:block}.rail-download-qr{background:#fff;border:6px solid #fff;border-radius:18px;align-self:center;place-items:center;width:132px;height:132px;margin:0;display:grid;box-shadow:0 14px 34px #0000003d}.rail-download-qr img{border-radius:10px;width:120px;height:120px;display:block}.rail-download-qr span{border:2px solid #0f172a1f;border-top-color:#0f172a8c;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.rail-download-info div:last-child{gap:6px;display:flex}.rail-download-info small{height:22px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 76%, transparent);border-radius:999px;place-items:center;padding:0 8px;font-size:11px;font-weight:650;display:inline-grid}@media (prefers-reduced-motion:reduce){.rail-download-card{transition:none}}.main-stage{width:100%;min-height:100vh;overflow:hidden}.route-transition{animation:none}.route-transition-view{isolation:isolate;min-height:100vh;position:relative}.route-transition-visual-shell{pointer-events:none;z-index:2;opacity:0;background:var(--surface);position:absolute;inset:0}.route-transition-content{z-index:1;min-height:inherit;position:relative}.route-transition-view.is-entering{pointer-events:none}.route-transition-view.is-entering .route-transition-content{will-change:opacity;animation:.32s cubic-bezier(.22,1,.36,1) backwards route-transition-content-enter}.route-transition-view.is-stable-content.is-entering .route-transition-content{will-change:opacity;animation-name:route-transition-stable-content-enter}html.is-native-route-transition .route-transition-view.is-entering .route-transition-content{animation:none}html.is-native-route-transition::view-transition-old(root){animation:.22s both route-transition-native-old}html.is-native-route-transition::view-transition-new(root){mix-blend-mode:normal;animation:.26s both route-transition-native-new}.route-transition-view.is-entered{pointer-events:auto}.route-transition-view.is-entered .route-transition-visual-shell,.route-transition-view.is-entered .route-transition-content{filter:none;will-change:auto;animation:none;transform:none}html.is-admin-page .route-transition-view{pointer-events:auto}html.is-admin-page .route-transition-visual-shell,html.is-admin-page .route-transition-content{filter:none;will-change:auto;animation:none;transform:none}.main-stage>.route-transition-view{height:100%;min-height:0}@keyframes route-transition-content-enter{0%{opacity:0}to{opacity:1}}@keyframes route-transition-native-old{0%{opacity:1}to{opacity:0}}@keyframes route-transition-native-new{0%{opacity:0}to{opacity:1}}@keyframes route-transition-stable-content-enter{0%{opacity:0}to{opacity:1}}.main-stage:not(.is-studio-route){height:100vh;overflow:hidden}.main-stage.is-studio-route{width:calc(100% + var(--rail-width));height:100vh;min-height:0;margin-left:calc(-1 * var(--rail-width));overflow:hidden}@media (prefers-reduced-motion:reduce){.route-transition,.route-transition-view,.route-transition-visual-shell,.route-transition-content{will-change:auto;pointer-events:auto;animation:none}::view-transition-old(root){will-change:auto;pointer-events:auto;animation:none}::view-transition-new(root){will-change:auto;pointer-events:auto;animation:none}}.studio-canvas{isolation:isolate;background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--surface) 22%, transparent) 100%), var(--bg);--studio-grid-line:#0f172a07;--studio-trace-line:color-mix(in srgb, var(--accent) 3.2%, transparent);--studio-sheen:color-mix(in srgb, var(--accent) 3.8%, transparent);--studio-composer-clearance:220px;flex-direction:column;width:100%;height:100vh;min-height:100%;display:flex;position:relative;overflow:hidden}:root[data-theme=dark] .studio-canvas{background:var(--bg);--studio-grid-line:#ffffff06;--studio-trace-line:#c0fba007;--studio-sheen:#5edfef06}.studio-canvas:before,.studio-canvas:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.studio-canvas:before{background-image:linear-gradient(var(--studio-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--studio-grid-line) 1px, transparent 1px);background-size:72px 72px,72px 72px;display:none;-webkit-mask-image:linear-gradient(#0000 0%,#000 14% 72%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 14% 72%,#0000 100%)}.studio-canvas:after{background:linear-gradient(128deg, transparent 0%, transparent 32%, var(--studio-sheen) 45%, transparent 62%, transparent 100%), repeating-linear-gradient(135deg, transparent 0 38px, var(--studio-trace-line) 39px, transparent 40px);opacity:.44;display:none;-webkit-mask-image:linear-gradient(#0000 0%,#000 18% 78%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 18% 78%,#0000 100%)}.studio-topbar{z-index:70;height:auto;box-shadow:none;-webkit-backdrop-filter:var(--blur-lg);background:0 0;border:none;justify-content:flex-end;align-items:center;padding:0;display:flex;position:fixed;top:24px;right:32px}.canvas-area{z-index:1;position:relative;overflow-x:hidden}.studio-actions{width:max-content;min-height:44px;max-width:calc(100vw - var(--rail-width) - 72px);scrollbar-width:none;background:var(--panel-bg);border-radius:var(--radius-full);box-shadow:var(--shadow-md);white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;padding:5px;display:flex;overflow-x:auto}.studio-actions::-webkit-scrollbar{display:none}.studio-actions .btn{border-radius:var(--radius-full);height:34px;padding:0 12px;font-size:13px;font-weight:700}.studio-actions .btn:hover:not(:disabled){box-shadow:none}.studio-actions .btn:active:not(:disabled){transform:none}.quota-badge{background:var(--surface-hover);border-radius:var(--radius-full);min-height:34px;box-shadow:none;border:none;align-items:center;gap:10px;padding:0 14px;font-size:13px;display:flex}.quota-label{color:var(--text-tertiary)}.quota-value{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:600}.canvas-area{min-height:0;padding:112px 32px 24px calc(var(--rail-width) + 32px);scrollbar-gutter:stable both-edges;scroll-padding-top:112px;scroll-padding-bottom:var(--studio-composer-clearance);overscroll-behavior:contain;flex:1;justify-content:center;align-items:center;display:flex;overflow-y:auto}.canvas-empty{text-align:center;isolation:isolate;--empty-stage-halo:#5edfef06;--empty-stage-warm:#ffbc8204;--empty-stage-shadow:#2aaac208;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:min(860px,76vw);min-height:320px;display:flex;position:relative}.canvas-empty-shell{background:0 0;border-radius:0;justify-items:center;gap:8px;width:100%;padding:0 24px;display:grid;position:relative;transform:translateY(-22px)}.canvas-empty-shell:before{content:"";background:radial-gradient(ellipse at 34% 50%, color-mix(in srgb, var(--accent) 5%, transparent), transparent 60%), radial-gradient(ellipse at 68% 56%, color-mix(in srgb, var(--warning) 3%, transparent), transparent 62%);filter:blur(30px);pointer-events:none;width:min(520px,72vw);height:210px;position:absolute;top:43%;left:50%;transform:translate(-50%)}.canvas-empty-visual{z-index:1;aspect-ratio:512/341;opacity:1;filter:none;width:min(178px,30vw);display:block;position:relative;transform:translateY(10px)}.canvas-empty-visual img{object-fit:contain;width:100%;height:100%;display:block}:root[data-theme=light] .canvas-empty{--empty-stage-halo:color-mix(in srgb, var(--accent) 9%, transparent);--empty-stage-warm:#ffa6660f;--empty-stage-shadow:color-mix(in srgb, var(--accent) 10%, transparent)}.canvas-empty:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 50% 42%, var(--empty-stage-halo) 0%, transparent 58%), radial-gradient(ellipse at 50% 72%, var(--empty-stage-warm) 0%, transparent 50%);filter:blur(14px);width:min(26vw,340px);height:min(17vw,210px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-empty:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%, var(--empty-stage-shadow) 0%, transparent 62%), linear-gradient(90deg, transparent, #ffffff0f, transparent);filter:blur(8px);opacity:.24;border-radius:50%;width:min(15vw,180px);height:42px;position:absolute;top:calc(50% + 62px);left:50%;transform:translate(-50%,-50%)}:root[data-theme=dark] .canvas-empty-shell:before,:root[data-theme=dark] .canvas-empty:before,:root[data-theme=dark] .canvas-empty:after,.empty-state-image{display:none}:root[data-theme=light] .canvas-empty-visual{opacity:1;filter:drop-shadow(0 14px 24px #0f172a14)}.canvas-empty-copy{z-index:1;justify-items:center;gap:8px;display:grid;position:relative}.canvas-empty-kicker{color:color-mix(in srgb, var(--accent) 72%, var(--text-tertiary));letter-spacing:.32em;text-transform:uppercase;align-items:center;gap:14px;font-size:11px;font-weight:800;display:flex}.canvas-empty-kicker:before,.canvas-empty-kicker:after{content:"";background:color-mix(in srgb, var(--text-tertiary) 38%, transparent);width:58px;height:1px}.canvas-empty-copy h2{color:color-mix(in srgb, var(--text-primary) 78%, var(--text-secondary));letter-spacing:0;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,3.8vw,52px);font-weight:700;line-height:1}:root[data-theme=light] .canvas-empty-copy h2{color:color-mix(in srgb, var(--text-primary) 94%, var(--text-secondary))}.canvas-empty-copy p{max-width:680px;color:var(--text-secondary);font-family:-apple-system,BlinkMacSystemFont,Inter,SF Pro Display,Segoe UI,Roboto,sans-serif;font-size:clamp(13px,1vw,15px);font-style:normal;line-height:1.55}:root[data-theme=light] .canvas-empty-copy p{color:color-mix(in srgb, var(--text-secondary) 88%, var(--text-primary))}@media (width<=760px){.canvas-empty{width:min(100%,420px);min-height:260px}.canvas-empty-shell{padding:0 16px;transform:translateY(-12px)}.canvas-empty-visual{width:112px;transform:translateY(10px)}.canvas-empty-kicker{letter-spacing:.2em}.canvas-empty-kicker:before,.canvas-empty-kicker:after{width:30px}.canvas-empty-copy h2{font-size:clamp(28px,9vw,38px)}}.empty-illustration{width:120px;height:120px;color:var(--text-tertiary);justify-content:center;align-items:center;margin-bottom:24px;display:flex;position:relative}.glow-orb{background:radial-gradient(circle at center, var(--accent-light) 0%, transparent 70%);border-radius:50%;animation:3s ease-in-out infinite pulse;position:absolute;inset:0}.empty-illustration svg{z-index:1;width:56px;height:56px;position:relative}.loading-state{color:var(--text-tertiary);flex-direction:column;align-items:center;gap:20px;display:flex}.loading-state svg{color:var(--accent)}.loading-state p{color:var(--text-secondary);font-size:14px}.canvas-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;width:100%;max-width:1400px;animation:.4s ease-out fadeIn;display:grid}.canvas-item{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);border:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.canvas-item:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.canvas-item img{object-fit:cover;width:100%;height:100%}.item-overlay{opacity:0;background:linear-gradient(#0000 50%,#0009 100%);align-items:flex-end;gap:8px;padding:16px;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0}.canvas-item:hover .item-overlay{opacity:1}.item-action{width:36px;height:36px;-webkit-backdrop-filter:var(--blur-md);border-radius:var(--radius-md);color:#fff;background:#ffffff26;border:none;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #0003}.item-action:hover{background:#ffffff40;transform:scale(1.1);box-shadow:0 4px 12px #0000004d}.content-page{max-width:1400px;margin:0 auto;padding:32px 32px 80px}.pinned-content-page{flex-direction:column;height:100vh;padding-bottom:32px;display:flex;overflow:hidden}.pinned-content-page .page-header{flex:none}.content-scroll-frame{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:none;flex:auto;min-height:0;padding-bottom:48px;overflow-y:auto}.content-scroll-frame::-webkit-scrollbar{width:0;height:0}.route-pane{visibility:hidden;opacity:0;pointer-events:none;height:100%;position:absolute;inset:0;overflow:hidden}.route-pane.is-active{visibility:visible;opacity:1;pointer-events:auto;height:100%;position:relative;inset:auto}.page-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:24px;display:flex}.page-header h1{letter-spacing:-.02em;font-size:28px;font-weight:700}.page-header p{color:var(--text-secondary);margin-top:8px;font-size:14px}.page-actions{gap:12px;display:flex}@media (width<=1024px){.canvas-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}}@media (width<=768px){:root{--rail-width:0}.studio-canvas{--studio-composer-clearance:190px}.app-frame{padding-bottom:64px;padding-left:0}.app-rail{z-index:140;background:color-mix(in srgb, var(--bg) 92%, transparent);width:100%;height:64px;-webkit-backdrop-filter:var(--blur-lg);--rail-footer-space:0;flex-direction:row;justify-content:flex-start;padding:8px 16px;inset:auto 0 0;box-shadow:0 -2px 12px #0000001a}.brand-button{display:none}.rail-nav{flex-direction:row;flex:none;justify-content:flex-start;gap:4px;max-width:calc(100vw - 180px);padding:0}.rail-nav button.is-active:before{width:20px;height:3px;top:auto;bottom:0;left:50%;transform:translate(-50%)}.rail-footer{flex-direction:row;justify-content:flex-end;max-width:calc(100vw - 32px);min-height:0;margin-top:0;margin-left:0;padding:0;position:absolute;top:8px;right:16px;overflow:hidden}.rail-footer .icon-btn,.rail-footer .theme-toggle,.rail-download{flex:none}.rail-download-card{bottom:calc(100% + 12px);left:auto;right:0}.composer-dock{padding:16px;left:0}.composer-form{width:100%}.studio-topbar{top:18px;left:auto;right:20px}.studio-actions{max-width:calc(100vw - 40px)}.canvas-area{padding:92px 16px 24px;overflow-x:hidden}.conversation-area.is-empty{padding:70px 16px 190px}.canvas-grid{grid-template-columns:1fr;gap:16px}.content-page{padding:24px 20px 80px}.pinned-content-page{height:calc(100vh - 64px);padding-bottom:24px}.content-scroll-frame{padding-bottom:40px}}@media (width<=480px){.studio-actions{gap:4px}.studio-actions .btn{padding:0 10px}.quota-badge{padding:0 12px;font-size:12px}}.btn{border-radius:var(--radius-md);white-space:nowrap;height:40px;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary,.btn-dark{background:var(--accent);color:var(--accent-contrast,white)}.btn-primary:hover:not(:disabled),.btn-dark:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);box-shadow:none;background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-outline{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-outline:hover:not(:disabled){background:var(--surface-hover);box-shadow:var(--shadow-md)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-md);background:#dc2626;transform:translateY(-1px)}.btn-sm,.btn-compact{height:32px;padding:0 12px;font-size:13px}.btn-lg{height:48px;padding:0 24px;font-size:15px}.btn-block{width:100%}.btn-icon{width:40px;padding:0}.btn-icon.btn-sm{width:32px}.btn:active:not(:disabled){transform:translateY(0)scale(.98)}label{color:var(--text-secondary);flex-direction:column;gap:8px;font-size:13px;font-weight:500;display:flex}input,select,textarea{width:100%;color-scheme:inherit;background-color:var(--surface);border-radius:var(--radius-md);color:var(--text-primary);box-shadow:var(--shadow-sm);border:none;outline:none;padding:10px 14px;font-size:14px;transition:box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1)}input:hover,select:hover,textarea:hover{box-shadow:var(--shadow-md)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--accent-light), var(--shadow-md)}textarea{resize:vertical;min-height:100px;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.panel{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:none;padding:24px}.panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.panel-head h2{font-size:18px;font-weight:600}.panel-head p{color:var(--text-tertiary);margin-top:6px;font-size:13px;line-height:1.5}.smart-image{isolation:isolate;background:radial-gradient(circle at 32% 26%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 28%), linear-gradient(135deg, color-mix(in srgb, var(--surface-hover) 84%, var(--bg)), color-mix(in srgb, var(--surface) 84%, var(--bg)));width:100%;height:100%;display:block;position:relative;overflow:hidden}.smart-image:before{content:"";z-index:0;opacity:.42;background-image:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent) 0 1px, transparent 1.6px);background-position:50%;background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0%,#00000073 44%,#0000 76%);mask-image:radial-gradient(circle,#000 0%,#00000073 44%,#0000 76%)}.smart-image.is-quiet:before{display:none}.smart-image.is-quiet{background:linear-gradient(135deg, color-mix(in srgb, var(--surface-hover) 74%, var(--bg)), color-mix(in srgb, var(--surface) 82%, var(--bg)))}.smart-image.is-quiet .smart-image-main{filter:none;transition:opacity .12s;transform:none}.smart-image-loader{z-index:3;pointer-events:none;background:linear-gradient(105deg, transparent 0%, transparent 34%, color-mix(in srgb, var(--accent) 14%, white 10%, transparent) 46%, transparent 60%, transparent 100%), linear-gradient(to top, color-mix(in srgb, var(--surface) 48%, transparent), transparent 42%);opacity:1;transition:opacity .16s;animation:1.8s ease-in-out infinite smartImageSweep;position:absolute;inset:0;transform:translate(-38%)}.smart-image.is-quiet .smart-image-loader{opacity:1;background:radial-gradient(circle at 50% 46%,#ffffff1a,#0000 34%),linear-gradient(135deg,#ffffff0e 0 1px,#0000 1px 12px),#070707;animation:1.9s ease-in-out infinite smartImageQuietPulse;transform:none}.smart-image-loader.is-hidden{opacity:0;animation-play-state:paused}.smart-image.is-quiet .smart-image-loader.is-hidden{opacity:.32;animation-play-state:running}.smart-image-main{z-index:4;opacity:0;visibility:hidden;filter:saturate(.98)contrast(.99);width:100%;height:100%;transition:opacity .16s,transform .16s,filter .16s;display:block;position:relative;transform:scale(1.002)}.smart-image.fit-cover .smart-image-main{object-fit:cover}.smart-image.fit-contain .smart-image-main{object-fit:contain}.smart-image.is-revealed .smart-image-main{visibility:visible;opacity:1;filter:saturate()contrast();transform:scale(1)}.smart-image.is-instant .smart-image-main{visibility:visible;opacity:1;filter:none;transition:none;transform:none}.smart-image.is-instant:before{display:none}.smart-image.is-failed .smart-image-main{visibility:hidden;opacity:1}.smart-image.is-ready:before,.smart-image.is-failed:before{opacity:0}:root[data-theme=light] .smart-image{background:radial-gradient(circle at 32% 26%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 30%), linear-gradient(135deg, var(--surface), var(--surface-hover))}:root[data-theme=light] .smart-image.is-quiet{background:linear-gradient(135deg, var(--surface), var(--surface-hover))}:root[data-theme=light] .smart-image-loader{background:linear-gradient(105deg,#0000 0% 34%,#ffffffb8 46%,#0000 60% 100%),linear-gradient(#0000 58%,#ffffff52)}:root[data-theme=light] .smart-image.is-quiet .smart-image-loader{background:radial-gradient(circle at 50% 46%,#0000000e,#0000 35%),linear-gradient(135deg,#0f172a0e 0 1px,#0000 1px 12px),#f7f8f9}@keyframes smartImageSweep{0%{opacity:.62;transform:translate(-42%)}50%{opacity:.9}to{opacity:.62;transform:translate(42%)}}@keyframes smartImageQuietPulse{0%,to{opacity:.78;filter:brightness(.98)}50%{opacity:1;filter:brightness(1.04)}}@media (prefers-reduced-motion:reduce){.smart-image-main{visibility:hidden;clip-path:none;transition:opacity .12s;transform:none}.smart-image.is-revealed .smart-image-main{visibility:visible}.smart-image-loader{transition:opacity .12s;animation:none}}.image-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.work-grid{width:100%;min-height:240px;transition:height .26s;display:block;position:relative}.image-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:none;overflow:hidden}.image-card:hover{box-shadow:var(--shadow-sm)}.image-card img{aspect-ratio:1;object-fit:cover;background:var(--bg);width:100%}.image-card-meta{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.image-card-meta strong{font-size:14px;font-weight:600;display:block}.image-card-meta span{color:var(--text-tertiary);margin-top:4px;font-size:12px;display:block}.image-card p{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 16px 16px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.work-image-card{isolation:isolate;min-height:0;box-shadow:none;will-change:transform;background:0 0;border-radius:0;margin:0;transition:transform .3s;animation:.36s both work-photo-fade;position:absolute;top:0;left:0;overflow:visible}.work-image-card:hover,.work-image-card:focus-within{z-index:20}.work-image-card .image-preview-button{aspect-ratio:auto;height:100%;animation:.52s cubic-bezier(.18,.82,.22,1) both work-photo-rise;animation-delay:var(--work-rise-delay,0s);border-radius:0}.work-image-card .image-preview-button img{object-fit:cover;width:100%;height:100%}.work-image-card .preview-hover-label{display:none}.work-card-overlay{z-index:2;color:#fff;opacity:0;pointer-events:none;will-change:opacity, transform;background:radial-gradient(90% 72% at 50% 82%,#00000085 0%,#0000002e 48%,#0000 78%),linear-gradient(#00000008 18%,#00000057 58%,#000000e6 100%);flex-direction:column;justify-content:flex-end;gap:10px;padding:14px;transition:opacity .18s,transform .18s;display:flex;position:absolute;inset:0;transform:translateY(8px)}.work-image-card:hover .work-card-overlay,.work-image-card:focus-within .work-card-overlay{opacity:1;transform:translateY(0)}.work-image-card .image-card-meta{color:#fff;text-shadow:0 1px 12px #00000080;padding:0}.work-image-card .image-card-meta strong{color:#fff;font-size:14px;font-weight:900}.work-image-card .image-card-meta span{color:#ffffffa8;font-size:12px;font-weight:750}.work-image-card p{color:#ffffffc2;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 12px #00000085;padding:0;font-size:12px;font-weight:750;line-height:1.45;overflow:hidden}.work-prompt-tip{color:#ffffffc2;pointer-events:none;min-width:0;margin:0;display:block;position:relative}.work-image-card .image-preview-button{overflow:hidden}.feed-load-more{break-inside:avoid;place-items:center;min-height:92px;padding:22px 0 10px;display:grid}.feed-load-more-pill{isolation:isolate;min-height:38px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface) 72%, transparent);border:1px solid color-mix(in srgb, var(--divider) 72%, transparent);border-radius:var(--radius-full);cursor:pointer;box-shadow:none;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-size:12px;font-weight:900;display:inline-flex;position:relative;overflow:hidden}.feed-load-more-pill:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 82%, transparent)}.feed-load-more-pill:disabled{cursor:wait}.feed-load-more-pill:after{z-index:0;content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 16%, transparent), transparent);animation:1.5s ease-in-out infinite works-load-sheen;position:absolute;inset:0;transform:translate(-100%)}.feed-load-more[aria-busy=false] .feed-load-more-pill:after{display:none}.feed-load-more-mark{z-index:1;background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 5px var(--accent-light);border-radius:50%;position:relative}.feed-load-more-text{z-index:1;position:relative}.feed-end{color:var(--text-tertiary);font-size:12px;font-weight:800}@keyframes work-photo-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes work-photo-fade{0%{opacity:0}to{opacity:1}}@keyframes works-load-sheen{55%,to{transform:translate(100%)}}@media (hover:none){.work-card-overlay{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.work-image-card,.work-image-card .image-preview-button,.gallery-masonry-button{animation:none}.gallery-mosaic,.gallery-mosaic-item{transition:none}.work-card-overlay{transition:none;transform:none}.feed-load-more-pill:after{animation:none}}.tooltip-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:visible}.tooltip-wrap:before,.tooltip-wrap:after{z-index:5000;pointer-events:none;opacity:0;transition:opacity .12s;position:absolute}.tooltip-wrap:before{content:attr(data-tooltip);width:max-content;max-width:180px;color:var(--text-primary);background:var(--surface);border:1px solid color-mix(in srgb, var(--divider) 72%, transparent);box-shadow:var(--shadow-md);white-space:nowrap;-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:800;line-height:1.1}.tooltip-wrap:after{content:"";background:var(--surface);border:solid color-mix(in srgb, var(--divider) 72%, transparent);border-width:0 1px 1px 0;width:8px;height:8px}.tooltip-wrap:hover:before,.tooltip-wrap:hover:after,.tooltip-wrap:focus-visible:before,.tooltip-wrap:focus-visible:after{opacity:1}.tooltip-wrap:has(:focus-visible):before{opacity:1}.tooltip-wrap:has(:focus-visible):after{opacity:1}.tooltip-top:before{transform-origin:bottom;bottom:calc(100% + 10px);left:50%;translate:-50%}.tooltip-top:after{bottom:calc(100% + 5px);left:50%;translate:-50%;rotate:45deg}.tooltip-right:before{transform-origin:0;top:50%;left:calc(100% + 12px);translate:0 -50%}.tooltip-right:after{top:50%;left:calc(100% + 7px);translate:0 -50%;rotate:135deg}.tooltip-bottom:before{transform-origin:top;top:calc(100% + 10px);left:50%;translate:-50%}.tooltip-bottom:after{top:calc(100% + 5px);left:50%;translate:-50%;rotate:-135deg}.tooltip-left:before{transform-origin:100%;top:50%;right:calc(100% + 12px);translate:0 -50%}.tooltip-left:after{top:50%;right:calc(100% + 7px);translate:0 -50%;rotate:-45deg}.preview-hover-label{color:#fff;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0000008f;border-radius:999px;justify-content:center;align-items:center;min-width:52px;height:34px;padding:0 14px;font-size:12px;font-weight:900;line-height:1;transition:opacity .12s;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 32px #00000047}.image-preview-button:hover .preview-hover-label,.gallery-masonry-button:hover .preview-hover-label,.turn-image-preview:hover .preview-hover-label{opacity:1}.image-preview-button{cursor:pointer;background:var(--bg);width:100%;display:block;position:relative;overflow:hidden}.image-preview-button img{transition:filter .12s}.image-preview-button:hover img{filter:brightness(.9)}.gallery-frame{scrollbar-width:none;overscroll-behavior:contain;background:0 0;border-radius:22px;flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden auto}.gallery-frame::-webkit-scrollbar{width:0;height:0}.gallery-shell{flex-direction:column;flex:auto;gap:20px;min-height:0;display:flex}.gallery-discovery-bar{grid-template-columns:minmax(0,1fr) minmax(220px,340px);align-items:center;gap:14px;padding:0 0 2px;display:grid}.works-discovery-bar{grid-template-columns:minmax(0,1fr) minmax(220px,340px);align-items:center;gap:14px;padding:0 0 14px;display:grid}.gallery-category-tabs{scrollbar-width:none;gap:8px;min-width:0;display:flex;overflow-x:auto}.gallery-category-tabs::-webkit-scrollbar{width:0;height:0}.gallery-category-tabs button{min-height:34px;color:var(--text-secondary);border-radius:var(--radius-full);flex:none;padding:0 12px;font-size:13px;font-weight:850;transition:background .16s,color .16s}.gallery-category-tabs button:hover,.gallery-category-tabs button.is-active{color:var(--text-primary);background:var(--surface-hover)}.gallery-category-tabs button.is-active{transition:color .16s}.gallery-search-box{min-width:0;display:grid;position:relative}.gallery-search-box svg{z-index:1;color:var(--text-tertiary);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.gallery-search-box input{background:color-mix(in srgb, var(--surface) 74%, transparent);border:1px solid color-mix(in srgb, var(--border-hover) 72%, transparent);height:38px;box-shadow:none;padding-left:36px;font-size:13px}.gallery-shell .page-empty-body{flex:auto}.content-loading-panel{--content-loader-primary:var(--accent);--content-loader-glow:color-mix(in srgb, var(--accent) 18%, transparent);flex:auto;justify-content:center;align-items:center;min-height:min(520px,100vh - 260px);display:flex}:root[data-theme=dark] .content-loading-panel{--content-loader-primary:var(--accent);--content-loader-glow:color-mix(in srgb, var(--accent) 16%, transparent)}.content-loading-mark{width:48px;height:48px;color:var(--content-loader-primary);background:radial-gradient(circle at 50% 9%, currentColor 0 3.6px, transparent 4px), radial-gradient(circle at 69% 14%, color-mix(in srgb, currentColor 88%, transparent) 0 3.4px, transparent 3.8px), radial-gradient(circle at 84% 31%, color-mix(in srgb, currentColor 76%, transparent) 0 3.1px, transparent 3.5px), radial-gradient(circle at 88% 50%, color-mix(in srgb, currentColor 62%, transparent) 0 2.8px, transparent 3.2px), radial-gradient(circle at 80% 69%, color-mix(in srgb, currentColor 46%, transparent) 0 2.5px, transparent 2.9px), radial-gradient(circle at 64% 83%, color-mix(in srgb, currentColor 34%, transparent) 0 2.2px, transparent 2.6px), radial-gradient(circle at 45% 88%, color-mix(in srgb, currentColor 24%, transparent) 0 2px, transparent 2.4px), radial-gradient(circle at 27% 80%, color-mix(in srgb, currentColor 18%, transparent) 0 1.8px, transparent 2.2px);filter:drop-shadow(0 0 18px var(--content-loader-glow));border-radius:50%;animation:.98s linear infinite contentLoadingSpin;display:block}@keyframes contentLoadingSpin{to{transform:rotate(360deg)}}.gallery-frame-footer{justify-content:center;padding:22px 0 4px;display:flex}.gallery-mosaic{padding:0;transition:height .26s;position:relative}.gallery-mosaic-item{will-change:transform;min-width:0;min-height:0;transition:transform .3s;display:block;position:absolute;top:0;left:0}.gallery-masonry-button{cursor:pointer;width:100%;height:100%;animation:.52s cubic-bezier(.18,.82,.22,1) both work-photo-rise;animation-delay:var(--work-rise-delay,0s);background:0 0;border-radius:0;transition:filter .12s;display:block;position:relative;overflow:hidden}.gallery-masonry-button img{object-fit:cover;width:100%;height:100%;transition:filter .12s;display:block}.gallery-masonry-button:hover img{filter:brightness(.94)}.gallery-detail{z-index:11000;overscroll-behavior:contain;background:#000000d6;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.gallery-detail.is-entering{animation:.18s both gallery-detail-fade-in}.gallery-detail.is-entering .gallery-detail-shell{animation:.22s cubic-bezier(.2,.8,.2,1) both gallery-detail-rise-in}.gallery-detail.is-leaving{animation:.18s both gallery-detail-fade-out}.gallery-detail.is-leaving .gallery-detail-shell{animation:.18s both gallery-detail-rise-out}.gallery-detail-backdrop{z-index:0;position:absolute;inset:0}.gallery-detail-shell{z-index:1;overscroll-behavior:contain;background:0 0;border-radius:26px;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 360px;width:min(1280px,100vw - 160px);height:min(820px,100vh - 140px);display:grid;position:relative;overflow:hidden}.gallery-detail-media{background:#0b0b0c;border-radius:26px 0 0 26px;place-items:center;min-width:0;padding:22px;display:grid;position:relative;overflow:hidden}.gallery-detail-nav{z-index:6;gap:8px;display:grid;position:absolute;top:50%;right:34px;transform:translateY(-50%)}.gallery-detail-nav button{width:38px;height:38px;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 88%, white 10%);border-radius:var(--radius-full);place-items:center;display:grid;box-shadow:0 10px 28px #00000047,inset 0 1px #ffffff14}.gallery-detail-nav button:disabled{opacity:.34;cursor:not-allowed}:root[data-theme=light] .gallery-detail-media{background:var(--surface-hover)}.gallery-detail-media img{object-fit:contain;opacity:0;border-radius:18px;max-width:min(100%,900px);max-height:calc(100vh - 184px);transition:opacity .12s}.gallery-detail-media .smart-image{background:#0b0b0c;grid-area:1/1}.gallery-detail-media .smart-image:before{display:none}.gallery-detail-media .smart-image-main{background:#0b0b0c}:root[data-theme=light] .gallery-detail-media .smart-image,:root[data-theme=light] .gallery-detail-media .smart-image-main{background:var(--surface-hover)}.gallery-detail-media img.is-ready{opacity:1}.gallery-detail-media img.gallery-detail-thumb{opacity:1;transition:none}.gallery-detail-media img.is-loading{opacity:0}.gallery-detail-info{background:var(--surface);overscroll-behavior:contain;border-left:0;border-radius:0 26px 26px 0;flex-direction:column;justify-content:flex-start;gap:24px;height:100%;min-height:0;padding:34px 30px;display:flex;overflow:hidden}.gallery-detail-top,.gallery-detail-actions,.gallery-author,.gallery-detail-buttons{align-items:center;display:flex}.gallery-detail-top{justify-content:space-between;gap:18px}.gallery-author{gap:10px;min-width:0}.gallery-author span{width:30px;height:30px;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-full);place-items:center;font-size:12px;font-weight:900;display:grid}.gallery-author span img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.gallery-author strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.gallery-detail-actions{gap:8px}.gallery-detail-actions button{width:38px;height:38px;color:var(--text-primary);background:var(--surface-hover);border-radius:10px;place-items:center;display:grid}.gallery-detail-info time,.gallery-prompt-block span,.gallery-detail-meta span{color:var(--text-tertiary);font-size:13px;font-weight:700}.gallery-prompt-block{flex:auto;grid-template-rows:auto minmax(0,1fr);gap:14px;min-height:0;display:grid;overflow:hidden}.gallery-prompt-block p{min-height:0;color:var(--text-primary);overscroll-behavior:contain;padding-right:4px;font-size:15px;font-weight:650;line-height:1.7;overflow:auto}.gallery-detail-meta{flex-wrap:wrap;gap:10px;display:flex}.gallery-detail-meta span{background:color-mix(in srgb, var(--surface-hover) 88%, transparent);border-radius:var(--radius-full);justify-content:center;align-items:center;height:30px;padding:0 10px;line-height:1;display:inline-flex}:root[data-theme=light] .gallery-detail-actions button,:root[data-theme=light] .gallery-detail-meta span,:root[data-theme=light] .gallery-detail-buttons .btn{color:var(--text-primary);background:var(--surface-hover)}:root[data-theme=light] .gallery-detail-buttons .btn-danger{color:var(--error);background:var(--surface-hover)}:root[data-theme=light] .gallery-detail-meta span{color:var(--text-secondary)}.gallery-detail-buttons{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.gallery-detail-buttons .btn{flex:112px;min-width:0;height:46px;padding:0 12px}.gallery-detail-buttons .btn:hover:not(:disabled),.gallery-detail-buttons .btn:active:not(:disabled){background:color-mix(in srgb, var(--surface-hover) 88%, transparent);box-shadow:none;transform:none}:root[data-theme=dark] .gallery-detail-buttons .btn{background:color-mix(in srgb, var(--surface-hover) 88%, transparent)}:root[data-theme=dark] .gallery-detail-buttons .btn-danger{color:var(--error)}.gallery-detail-buttons .btn-danger:hover:not(:disabled),.gallery-detail-buttons .btn-danger:active:not(:disabled){color:var(--error);background:color-mix(in srgb, var(--surface-hover) 88%, transparent);box-shadow:none;transform:none}:root[data-theme=light] .gallery-detail-buttons .btn:hover:not(:disabled),:root[data-theme=light] .gallery-detail-buttons .btn:active:not(:disabled),:root[data-theme=light] .gallery-detail-buttons .btn-danger:hover:not(:disabled),:root[data-theme=light] .gallery-detail-buttons .btn-danger:active:not(:disabled){background:var(--surface-hover)}.gallery-detail-buttons .btn:disabled{color:var(--text-tertiary);background:var(--surface-hover);opacity:.62;cursor:not-allowed;box-shadow:none}.works-publish-category{color:var(--text-tertiary);flex-shrink:0;gap:8px;font-size:13px;font-weight:700;display:grid;position:relative}.works-category-control{position:relative}.works-category-trigger{width:100%;min-height:44px;color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 88%, transparent);border-radius:var(--radius-md);box-shadow:none;border:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;display:flex}.works-category-selected{flex-wrap:wrap;flex:auto;gap:6px;min-width:0;display:flex}.works-category-chip{max-width:100%;min-height:30px;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-sm);text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex;overflow:hidden}.works-category-placeholder{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:850;overflow:hidden}.works-category-trigger em{color:var(--text-tertiary);flex:none;font-size:12px;font-style:normal;font-weight:850}.works-category-trigger:hover:not(:disabled),.works-category-trigger[aria-expanded=true]{background:color-mix(in srgb, var(--surface-hover) 96%, transparent)}.works-category-trigger:disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.62}.works-category-menu{z-index:20;background:color-mix(in srgb, var(--surface) 94%, var(--bg));border:1px solid color-mix(in srgb, var(--divider) 72%, transparent);border-radius:var(--radius-md);max-height:154px;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transform-origin:0 100%;visibility:hidden;flex-wrap:wrap;gap:8px;padding:10px;transition:opacity .14s,transform .16s cubic-bezier(.2,.8,.2,1),visibility 0s linear .16s;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow-y:auto;transform:translateY(6px)scale(.985)}.works-category-control[data-open=true] .works-category-menu{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;transform:translateY(0)scale(1)}.works-category-menu button{min-height:32px;color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 76%, transparent);border-radius:var(--radius-sm);text-align:left;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:800;display:inline-flex}.works-category-menu button:hover,.works-category-menu button[aria-selected=true]{color:var(--accent);background:var(--accent-light)}.works-category-menu button:disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.52}.works-category-menu button svg{color:var(--accent);flex:none}@keyframes gallery-detail-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gallery-detail-fade-out{0%{opacity:1}to{opacity:0}}@keyframes gallery-detail-rise-in{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes gallery-detail-rise-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(10px)scale(.99)}}@media (prefers-reduced-motion:reduce){.gallery-detail,.gallery-detail .gallery-detail-shell{animation:none!important}}@media (width<=1180px){.gallery-detail-shell{grid-template-columns:minmax(0,1fr) 360px}}@media (width<=820px){.works-discovery-bar,.gallery-discovery-bar{grid-template-columns:1fr;gap:12px}.gallery-category-tabs{gap:8px}.gallery-category-tabs button{min-height:32px;padding:0 10px;font-size:12px}.gallery-detail-shell{grid-template-columns:1fr;width:calc(100vw - 32px);height:auto;max-height:calc(100vh - 32px);overflow-y:auto}.gallery-detail-media{border-radius:26px 26px 0 0;min-height:58vh}.gallery-detail-info{border-left:0;border-radius:0 0 26px 26px;justify-content:flex-start;padding:32px 24px;overflow-y:auto}}.image-lightbox{z-index:10000;overscroll-behavior:contain;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-backdrop{cursor:zoom-out;-webkit-backdrop-filter:blur(10px);background:#000000d1;position:absolute;inset:0}.lightbox-toolbar{top:calc(env(safe-area-inset-top) + 18px);z-index:2;align-items:center;gap:8px;display:flex;position:absolute;right:18px}.lightbox-toolbar>span:not(.tooltip-wrap),.lightbox-toolbar a,.lightbox-toolbar button{color:#ffffffe6;border-radius:var(--radius-full);background:#00000075;justify-content:center;align-items:center;min-width:38px;height:38px;padding:0 12px;text-decoration:none;transition:background .18s,color .18s;display:inline-flex}.lightbox-toolbar a,.lightbox-toolbar button{width:38px;padding:0}.lightbox-toolbar .tooltip-wrap{display:inline-flex}.lightbox-toolbar a:hover,.lightbox-toolbar button:hover{color:#fff;background:#ffffff29}.lightbox-thumbs{z-index:2;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;background:#0000005c;border-radius:18px;flex-direction:column;align-items:stretch;gap:8px;width:82px;min-width:0;max-height:min(80vh,720px);padding:8px;display:flex;position:absolute;top:50%;left:18px;overflow-y:auto;transform:translateY(-50%)}.lightbox-thumbs::-webkit-scrollbar{width:0;height:0}.lightbox-thumbs button{aspect-ratio:1;opacity:.66;border:2px solid #0000;border-radius:10px;flex:none;width:100%;transition:opacity .18s,border-color .18s;overflow:hidden}.lightbox-thumbs button.is-active{opacity:1;border-color:#ffffffe6}.lightbox-thumbs img{object-fit:cover;width:100%;height:100%}.lightbox-thumbs .smart-image{width:100%;height:100%}.lightbox-stage{z-index:1;cursor:zoom-out;place-items:center;width:100%;height:100%;padding:76px 140px 76px 132px;display:grid;position:relative}.lightbox-stage img{object-fit:contain;cursor:default;max-width:min(78vw,1180px);max-height:min(80vh,900px);box-shadow:none;border-radius:12px}.lightbox-main-image{opacity:1;object-fit:contain;width:min(78vw,1180px);max-width:min(78vw,1180px);height:min(80vh,900px);max-height:min(80vh,900px);box-shadow:none;grid-area:1/1;transition:none}.lightbox-main-image.is-sized{object-fit:fill}.lightbox-thumb-image{opacity:.68;filter:blur(3px)saturate(.96);clip-path:inset(0 round 12px);transform:scale(1.006)}.lightbox-original-image{animation:.14s ease-out both lightboxImageReveal}@keyframes lightboxImageReveal{0%{opacity:.96;filter:blur(.2px);transform:scale(.998)}to{opacity:1;filter:none;transform:none}}.lightbox-stage .smart-image{cursor:default;width:min(78vw,1180px);height:min(80vh,900px);box-shadow:none;background:0 0;border-radius:12px}.lightbox-stage .smart-image:before{display:none}.lightbox-stage .smart-image img{width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;border-radius:0}.tag,.status-pill{background:var(--surface-hover);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;height:24px;color:var(--text-secondary);box-shadow:var(--shadow-sm);border:none;align-items:center;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.quota-meter{flex-direction:column;gap:8px;display:flex}.quota-compact{background:var(--surface-hover);border-radius:var(--radius-lg);gap:10px;min-height:0;padding:12px}.quota-line{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:13px;display:flex}.quota-compact .quota-line{align-items:baseline;gap:12px}.quota-line strong{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:600}.quota-compact .quota-line strong{font-size:15px;font-weight:800}.quota-track{background:var(--surface-hover);border-radius:var(--radius-full);border:none;height:8px;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.quota-compact .quota-track{background:var(--surface);height:5px;box-shadow:none}.quota-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover));border-radius:var(--radius-full);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);display:block}.quota-90 .quota-fill{background:linear-gradient(90deg, var(--error), #dc2626)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:40px 20px;display:flex}.empty-icon{background:var(--surface-hover);border-radius:var(--radius-xl);width:64px;height:64px;color:var(--text-tertiary);box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.empty-state h2{margin-bottom:8px;font-size:18px;font-weight:600}.empty-state p{max-width:400px;color:var(--text-tertiary);margin-bottom:20px;font-size:14px;line-height:1.6}.toast{z-index:9999;background:color-mix(in srgb, var(--surface-hover) 80%, var(--text-primary) 20%);border-radius:var(--radius-full);width:fit-content;max-width:min(360px,100vw - 48px);color:var(--text-primary);overflow-wrap:anywhere;-webkit-backdrop-filter:blur(16px);align-items:center;gap:9px;padding:10px 13px 10px 12px;font-size:13px;font-weight:700;line-height:1.35;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px #0000002e}.toast:before{content:"";background:var(--accent);opacity:.78;border-radius:50%;flex:none;width:6px;height:6px}.toast-ok{color:var(--text-primary)}.toast-ok:before{background:var(--success)}.toast-error{color:var(--text-primary)}.toast-error:before{background:var(--error)}:root[data-theme=light] .toast{background:color-mix(in srgb, var(--surface-hover) 66%, var(--text-primary) 12%);box-shadow:0 12px 30px #181c221f}.history-page{max-width:none}.history-page-empty{min-height:100vh}.page-empty-body{place-items:center;min-height:calc(100vh - 260px);display:grid}.history-table{border-top:1px solid var(--divider);min-width:0;padding:0;display:grid;overflow:hidden}.history-table-head,.history-row{border-bottom:1px solid var(--divider);grid-template-columns:92px 150px minmax(0,1.25fr) minmax(220px,.95fr) minmax(190px,auto);align-items:center;gap:14px;padding:12px 16px;display:grid}.history-table-head{min-height:44px;color:var(--text-secondary);background:var(--surface-hover);font-size:12px;font-weight:900}.history-row{min-height:96px;box-shadow:none;background:0 0;border-radius:0;transition:background .18s}.history-row:last-child{border-bottom:0}.history-row:hover{background:color-mix(in srgb, var(--surface-hover) 48%, transparent)}.history-table.is-loading .history-row{pointer-events:none}.history-row-skeleton:before,.history-row-skeleton:after{content:"";border-radius:var(--radius-full);background:color-mix(in srgb, var(--surface-hover) 72%, transparent);height:18px;display:block}.history-row-skeleton:before{grid-column:3;width:min(360px,40vw)}.history-row-skeleton:after{grid-column:4;width:180px}.history-preview{width:64px;height:64px;color:var(--text-tertiary);background:color-mix(in srgb, var(--surface-hover) 86%, transparent);border-radius:12px;place-items:center;display:grid;overflow:hidden}.history-preview.is-single{display:block}.history-preview.is-grid{place-items:stretch stretch;gap:2px;padding:2px}.history-preview.is-count-2{grid-template-rows:1fr;grid-template-columns:repeat(2,1fr)}.history-preview.is-count-3{grid-template-rows:repeat(2,1fr);grid-template-columns:1.2fr 1fr}.history-preview.is-count-3 .smart-image:first-child{grid-row:1/span 2}.history-preview.is-count-4{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr)}.history-preview img{object-fit:cover;width:100%;height:100%}.history-time-cell{color:var(--text-tertiary);font-size:12px;font-weight:700}.history-row-main{min-width:0}.history-row-main strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:800;display:block;overflow:hidden}.history-summary{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;font-weight:650;overflow:hidden}.history-overview{flex-wrap:wrap;gap:8px;display:flex}.history-overview span{min-height:26px;color:var(--text-tertiary);background:color-mix(in srgb, var(--surface-hover) 88%, transparent);border-radius:var(--radius-full);align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.history-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.history-delete{width:40px;height:40px;color:var(--text-primary);background:color-mix(in srgb, var(--error) 90%, transparent);box-shadow:0 10px 24px color-mix(in srgb, var(--error) 22%, transparent), inset 0 1px 0 #ffffff14;border-radius:12px;place-items:center;display:grid}:root[data-theme=light] .history-table-head{background:var(--surface-hover)}:root[data-theme=light] .history-row:hover{background:color-mix(in srgb, var(--surface-hover) 70%, transparent)}:root[data-theme=light] .history-preview{background:color-mix(in srgb, var(--surface-hover) 92%, transparent)}:root[data-theme=light] .history-delete{color:#fff;box-shadow:0 10px 20px color-mix(in srgb, var(--error) 18%, transparent), inset 0 1px 0 #ffffff1f}@media (width<=760px){.history-table-head,.history-row{grid-template-columns:72px minmax(0,1fr)}.history-table-head span:nth-child(n+3),.history-row .history-overview,.history-row .history-actions{display:none}.history-time-cell{grid-column:2}.history-summary{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}}.page-skeleton{min-height:100vh;position:relative;overflow:hidden}.page-skeleton-head{gap:14px;max-width:520px;display:grid}.page-skeleton-head span,.page-skeleton-head strong,.page-skeleton-head p,.page-skeleton-action,.page-skeleton-center{background:var(--surface-hover);border-radius:var(--radius-full);box-shadow:none;display:block}.page-skeleton-head span{width:76px;height:14px}.page-skeleton-head strong{width:180px;height:36px}.page-skeleton-head p{width:min(460px,72vw);height:18px}.page-skeleton-action{border-radius:var(--radius-lg);width:126px;height:60px;position:absolute;top:32px;right:32px}.page-skeleton-center{border-radius:var(--radius-lg);width:96px;height:96px;margin:150px auto 0}@media (width<=768px){.toast{right:14px;bottom:calc(82px + env(safe-area-inset-bottom));max-width:calc(100vw - 28px);left:auto}.page-skeleton-action{width:96px;height:48px;top:24px;right:20px}.lightbox-stage{padding:70px 12px 112px}.lightbox-thumbs{top:auto;right:12px;bottom:calc(env(safe-area-inset-bottom) + 16px);flex-direction:row;width:auto;max-height:none;left:12px;overflow:auto hidden;transform:none}.lightbox-thumbs button{flex:none;width:58px}.lightbox-stage img{max-width:100%;max-height:78vh}}.quick-panel{border-top:1px solid var(--divider);flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;display:flex}.quick-panel button{border-radius:var(--radius-md);height:40px;color:var(--text-secondary);background:0 0;border:none;align-items:center;gap:10px;padding:0 14px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.quick-panel button:hover{background:var(--surface-hover);color:var(--text-primary);box-shadow:var(--shadow-sm)}.quick-panel button svg{width:16px;height:16px}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.landing-page{background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 88%, var(--surface)) 0%, var(--bg) 100%);min-height:100vh;color:var(--text-primary);isolation:isolate;position:relative;overflow:hidden}.landing-page:before,.landing-page:after{content:"";z-index:-2;pointer-events:none;position:absolute;inset:0}.landing-page:after{background:linear-gradient(135deg, transparent 0 42%, color-mix(in srgb, var(--accent) 7%, transparent) 50%, transparent 62%), linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--surface) 42%, transparent) 100%);opacity:.8}:root[data-theme=dark] .landing-page:after{background:linear-gradient(135deg, transparent 0 40%, color-mix(in srgb, var(--accent) 5%, transparent) 50%, transparent 64%), linear-gradient(180deg, transparent 0%, #ffffff05 100%);opacity:1}.landing-fluid-wrap{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.landing-fluid-wrap:before{content:"";background:radial-gradient(circle at 38% 32%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 36%), radial-gradient(circle at 64% 66%, #5a94dc24, transparent 44%);filter:blur(24px)saturate(.86);opacity:0;border-radius:44% 56% 50% 50%;width:min(58vw,820px);height:min(58vw,820px);animation:.82s ease-out forwards landingFluidGhostIn;position:absolute;top:14%;left:22%;transform:translateY(18px)scale(.95)}.landing-fluid-canvas{--landing-fluid-opacity:.94;--landing-fluid-filter:saturate(.88) contrast(.96);opacity:0;width:100%;height:100%;filter:var(--landing-fluid-filter);will-change:opacity;position:absolute;inset:0}.landing-fluid-canvas.is-ready{animation:.9s ease-out forwards landingFluidFadeIn}:root[data-theme=light] .landing-fluid-canvas{--landing-fluid-opacity:.65;--landing-fluid-filter:saturate(.8) contrast(.92) brightness(1.03)}@keyframes landingFluidGhostIn{to{opacity:.22;transform:translate(0,0)scale(1)}}@keyframes landingFluidFadeIn{0%{opacity:0}to{opacity:var(--landing-fluid-opacity)}}@media (prefers-reduced-motion:reduce){.landing-fluid-wrap:before,.landing-fluid-canvas{animation:none;transform:none}.landing-fluid-wrap:before{opacity:.18}.landing-fluid-canvas{opacity:var(--landing-fluid-opacity);filter:var(--landing-fluid-filter)}}.landing-nav{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;gap:24px;padding:28px 40px 0;display:flex;position:fixed;top:0;left:0;right:0}.landing-brand{min-height:44px;color:var(--text-primary);pointer-events:auto;align-items:center;gap:12px;font-size:15px;font-weight:800;display:inline-flex}.landing-nav nav{background:color-mix(in srgb, var(--surface) 84%, transparent);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-radius:var(--radius-full);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur-lg);pointer-events:auto;align-items:center;gap:4px;padding:5px;display:inline-flex}.landing-nav nav button{min-width:52px;height:36px;color:var(--text-secondary);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:0 13px;font-size:13px;font-weight:700;transition:color .18s,background .18s;display:inline-flex}.landing-nav .theme-toggle{border-radius:var(--radius-full);width:36px;height:36px}.landing-hero{z-index:2;flex-direction:column;justify-content:center;width:min(1120px,100% - 64px);min-height:calc(100vh - 190px);margin:0 auto;padding:112px 0 32px;display:flex;position:relative}.landing-hero:before{content:"";width:1px;height:30px;margin-bottom:18px;display:block}.landing-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:34px;display:flex}.landing-primary,.landing-secondary{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 18px;font-size:14px;font-weight:800;transition:background .18s,color .18s,box-shadow .18s;display:inline-flex}.landing-primary{color:var(--accent-contrast,#fff);background:var(--accent);box-shadow:0 14px 34px color-mix(in srgb, var(--accent) 24%, transparent)}.landing-secondary{color:var(--text-primary);background:color-mix(in srgb, var(--surface) 76%, transparent);border:1px solid var(--border)}.landing-secondary:hover{background:var(--surface-hover)}.landing-lower{z-index:2;grid-template-columns:minmax(280px,1fr) minmax(360px,.75fr);gap:16px;width:min(1120px,100% - 64px);margin:0 auto;padding:0 0 42px;display:grid;position:relative}.landing-prompt-preview{min-height:78px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--blur-lg);grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:14px;padding:14px 16px;display:grid}.landing-prompt-icon,.landing-prompt-preview button{border-radius:var(--radius-md);background:var(--surface-hover);width:42px;height:42px;color:var(--text-secondary);place-items:center;display:grid}.landing-prompt-preview button{color:var(--text-primary);transition:color .18s,background .18s}.landing-prompt-preview button:hover{color:var(--accent);background:var(--accent-light)}.landing-prompt-preview span{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.landing-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.landing-highlight{background:color-mix(in srgb, var(--surface) 66%, transparent);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;min-height:78px;-webkit-backdrop-filter:var(--blur-md);flex-direction:column;justify-content:center;gap:5px;padding:14px;display:flex}.landing-highlight strong{color:var(--text-primary);font-size:14px}.landing-highlight span{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}@media (width<=900px){.landing-nav{padding:20px 20px 0}.landing-brand span{display:none}.landing-nav nav{max-width:calc(100vw - 92px);overflow-x:auto}.landing-hero{width:min(100% - 40px,720px);min-height:calc(100vh - 310px);padding-top:54px}.landing-hero h1{font-size:clamp(58px,17vw,112px)}.landing-fluid-canvas{width:100%;height:100%}.landing-lower{grid-template-columns:1fr;width:min(100% - 40px,720px);padding-bottom:88px}.landing-highlights{grid-template-columns:1fr}}@media (width<=560px){.landing-nav nav button{min-width:44px;padding:0 10px;font-size:12px}.landing-hero{min-height:calc(100vh - 360px)}.landing-hero p{font-size:15px}.landing-hero:before{height:30px;margin-bottom:14px}.landing-actions{flex-direction:column;align-items:stretch}.landing-primary,.landing-secondary{width:100%}.landing-prompt-preview{border-radius:var(--radius-md);grid-template-columns:38px minmax(0,1fr) 38px}}.landing-page{background:radial-gradient(circle at 70% 12%, color-mix(in srgb, var(--accent) 13%, transparent), transparent 28%), linear-gradient(180deg, var(--bg) 0%, color-mix(in srgb, var(--surface) 42%, var(--bg)) 100%);overflow:hidden auto}.landing-page:before{background-image:linear-gradient(color-mix(in srgb, var(--text-primary) 3%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--text-primary) 3%, transparent) 1px, transparent 1px);background-size:92px 92px}.landing-page:after,.landing-hero:before{display:none}.landing-hero{grid-template-columns:minmax(0,.88fr) minmax(440px,1fr);align-items:center;gap:clamp(28px,5vw,72px);width:min(1240px,100% - 64px);min-height:100vh;padding:120px 0 72px;display:grid}.landing-hero-copy{min-width:0}.landing-kicker{color:var(--text-tertiary);letter-spacing:.16em;text-transform:uppercase;margin-bottom:22px;font-size:12px;font-weight:850;display:inline-flex}.landing-hero h1{letter-spacing:0;max-width:760px;font-size:clamp(54px,7.8vw,118px);font-weight:850;line-height:.95}.landing-gallery-wall{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(118px,1fr);gap:12px;min-height:min(620px,100vh - 180px);display:grid}.landing-featured-piece,.landing-gallery-piece{min-width:0;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform .22s,border-color .22s,box-shadow .22s;position:relative;overflow:hidden}.landing-featured-piece:hover,.landing-gallery-piece:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.landing-featured-piece{text-align:left;grid-area:span 4/span 2;min-height:500px;display:block}.landing-featured-piece img{object-fit:cover;filter:saturate(.92)contrast(1.02);width:100%;height:100%}.landing-featured-piece span{color:var(--text-primary);background:color-mix(in srgb, var(--surface) 84%, transparent);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:var(--blur-md);justify-content:space-between;align-items:end;gap:12px;padding:13px 14px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.landing-featured-piece strong,.landing-gallery-piece strong{font-size:16px;font-weight:850;display:block}.landing-featured-piece small,.landing-gallery-piece span{color:var(--text-secondary);font-size:12px;font-weight:750}.landing-gallery-piece{text-align:left;flex-direction:column;justify-content:space-between;min-height:0;padding:16px;display:flex}.landing-gallery-piece:before{content:"";border:1px solid color-mix(in srgb, var(--text-primary) 10%, transparent);border-radius:calc(var(--radius-md) - 2px);pointer-events:none;position:absolute;inset:12px}.landing-gallery-piece.is-mist{background:radial-gradient(circle at 70% 30%, color-mix(in srgb, var(--accent) 48%, transparent), transparent 38%), linear-gradient(135deg, color-mix(in srgb, var(--surface-hover) 78%, var(--bg)), var(--surface));grid-column:span 2}.landing-gallery-piece.is-ink{color:var(--bg);background:radial-gradient(circle at 34% 24%, color-mix(in srgb, var(--accent) 34%, transparent), transparent 30%), linear-gradient(160deg, var(--text-primary), color-mix(in srgb, var(--text-primary) 72%, var(--surface)));grid-row:span 2}.landing-gallery-piece.is-ink span{color:color-mix(in srgb, var(--bg) 72%, transparent)}.landing-gallery-piece.is-pine{background:linear-gradient(145deg, color-mix(in srgb, var(--success) 30%, var(--surface)), var(--surface-hover))}.landing-gallery-piece.is-glow{background:radial-gradient(circle at 18% 82%, color-mix(in srgb, var(--warning) 32%, transparent), transparent 40%), linear-gradient(135deg, var(--surface), color-mix(in srgb, var(--accent) 18%, var(--surface)));grid-column:span 2}.landing-lower{width:min(1240px,100% - 64px);padding-bottom:52px}.landing-prompt-preview,.landing-highlight{background:color-mix(in srgb, var(--surface) 88%, transparent)}@media (width<=980px){.landing-hero{grid-template-columns:1fr;width:min(100% - 40px,760px);padding-top:112px}.landing-gallery-wall{grid-auto-rows:112px;min-height:0}.landing-featured-piece{min-height:360px}.landing-lower{width:min(100% - 40px,760px)}}@media (width<=560px){.landing-hero{width:min(100% - 32px,520px);padding-top:104px;padding-bottom:36px}.landing-hero h1{font-size:clamp(46px,14vw,68px)}.landing-gallery-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.landing-featured-piece,.landing-gallery-piece.is-mist,.landing-gallery-piece.is-glow{grid-column:span 2}.landing-featured-piece{grid-row:span 3;min-height:300px}.landing-gallery-piece.is-ink{grid-row:span 1}}.landing-page{--landing-goo-a:var(--accent);--landing-goo-b:var(--success);--landing-goo-c:var(--warning);--landing-goo-d:color-mix(in srgb, var(--accent) 52%, var(--surface))}.gooey-filter{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.landing-gooey-showcase{border-radius:var(--radius-xl);isolation:isolate;min-height:min(580px,100vh - 180px);position:relative}.landing-gooey-showcase:before{content:"";z-index:-1;background:linear-gradient(color-mix(in srgb, var(--text-primary) 4%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--text-primary) 4%, transparent) 1px, transparent 1px);background-size:42px 42px;border-radius:42px;position:absolute;inset:7%;-webkit-mask-image:radial-gradient(circle at 50% 48%,#000 0 54%,#0000 76%);mask-image:radial-gradient(circle at 50% 48%,#000 0 54%,#0000 76%)}.landing-gooey-field{filter:url(#landing-gooey);position:absolute;inset:6%}.landing-gooey-blob{border-radius:var(--radius-full);opacity:.92;will-change:transform;animation:9s ease-in-out infinite alternate landingGooFloat;display:block;position:absolute}.landing-gooey-blob.is-one{background:var(--landing-goo-a);width:260px;height:260px;top:20%;left:16%}.landing-gooey-blob.is-two{background:var(--landing-goo-b);width:300px;height:300px;animation-delay:-2.4s;top:32%;left:40%}.landing-gooey-blob.is-three{background:var(--landing-goo-c);width:190px;height:190px;animation-delay:-4.8s;top:8%;right:10%}.landing-gooey-blob.is-four{background:var(--landing-goo-d);width:230px;height:230px;animation-delay:-7.2s;bottom:12%;right:18%}.landing-gooey-panel{width:min(360px,72%);color:var(--text-primary);background:color-mix(in srgb, var(--surface) 86%, transparent);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:var(--blur-lg);gap:8px;padding:18px;display:grid;position:absolute;bottom:10%;right:8%}.landing-gooey-panel span,.landing-gooey-panel small{color:var(--text-secondary);font-size:12px;font-weight:800}.landing-gooey-panel strong{font-size:18px;line-height:1.35}@keyframes landingGooFloat{0%{transform:translate(-18px,10px)scale(.96)}to{transform:translate(20px,-18px)scale(1.06)}}@media (width<=980px){.landing-gooey-showcase{min-height:440px}}@media (width<=560px){.landing-gooey-showcase{min-height:360px}.landing-gooey-blob.is-one{width:190px;height:190px}.landing-gooey-blob.is-two{width:220px;height:220px}.landing-gooey-blob.is-three,.landing-gooey-blob.is-four{width:150px;height:150px}.landing-gooey-panel{width:82%;bottom:8%;right:5%}}@media (prefers-reduced-motion:reduce){.landing-gooey-blob{animation:none}}.landing-page{min-height:100vh;color:var(--landing-text);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 4%, transparent) 0%, transparent 30%), linear-gradient(0deg, color-mix(in srgb, var(--surface-hover) 48%, transparent) 0%, transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--landing-bg) 94%, var(--surface)) 0%, var(--landing-bg) 52%, color-mix(in srgb, var(--landing-bg) 90%, var(--surface-hover)) 100%);overflow:hidden}:root[data-theme=dark] .landing-page{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 10%, transparent) 0%, transparent 34%), linear-gradient(0deg, color-mix(in srgb, var(--surface-hover) 56%, transparent) 0%, transparent 44%), linear-gradient(180deg, color-mix(in srgb, var(--landing-bg) 82%, var(--surface)) 0%, var(--landing-bg) 58%, color-mix(in srgb, var(--bg) 84%, var(--surface-hover)) 100%)}.landing-page:before{z-index:0;background-image:linear-gradient(color-mix(in srgb, var(--landing-text) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--landing-text) 5%, transparent) 1px, transparent 1px);opacity:.2;background-size:128px 128px;display:none}.landing-page:after{display:none}.landing-nav{padding:38px 54px 0}.landing-brand{color:var(--landing-text);gap:14px;min-height:48px;font-size:18px;font-weight:850}.landing-brand img{border-radius:0;width:48px;height:48px}.landing-nav nav{background:color-mix(in srgb, var(--surface) 72%, transparent);border-radius:var(--radius-full);border:none;gap:2px;padding:4px;box-shadow:0 10px 30px #00000012}.landing-nav nav button{color:color-mix(in srgb, var(--landing-text) 70%, transparent);min-width:48px;height:32px;padding:0 10px;font-size:13px}.landing-nav nav button:hover{color:var(--landing-text);background:color-mix(in srgb, var(--landing-text) 7%, transparent)}.landing-hero{text-align:center;width:100%;min-height:100vh;margin:0;padding:0;display:block;position:relative}.landing-hero-center{z-index:3;justify-items:center;width:min(1180px,100% - 40px);display:grid;position:absolute;top:21vh;left:50%;transform:translate(-50%)}.landing-hero-badge{color:color-mix(in srgb, var(--landing-text) 54%, transparent);letter-spacing:.18em;text-transform:uppercase;justify-content:center;align-items:center;gap:14px;margin-bottom:32px;font-size:12px;font-weight:800;display:inline-flex}.landing-hero-badge:before,.landing-hero-badge:after{content:"";background:color-mix(in srgb, var(--landing-text) 18%, transparent);width:34px;height:1px}.landing-hero h1{max-width:none;color:var(--landing-text);letter-spacing:0;white-space:nowrap;font-size:clamp(42px,4.8vw,74px);font-weight:760;line-height:1.08}.landing-hero p{max-width:760px;color:color-mix(in srgb, var(--landing-text) 68%, transparent);margin-top:28px;font-size:clamp(16px,1.45vw,21px);line-height:1.62}.landing-actions{justify-content:center;margin-top:38px}.landing-primary{min-width:220px;min-height:64px;color:var(--landing-cta-text);background:var(--landing-cta);border-radius:var(--radius-full);box-shadow:0 22px 70px color-mix(in srgb, var(--landing-cta) 34%, transparent);padding:0 34px;font-size:18px}.landing-primary:hover{background:var(--landing-cta-hover)}.landing-nav .theme-toggle{width:32px;height:32px}.landing-marquee{z-index:1;-webkit-mask-composite:source-in;pointer-events:none;height:clamp(316px,38vh + 16px,446px);position:absolute;bottom:0;left:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 24% 100%),linear-gradient(90deg,#0000 0%,#000 9% 91%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 24% 100%),linear-gradient(90deg,#0000 0%,#000 9% 91%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.landing-marquee:before{content:none}.landing-marquee-track{align-items:end;gap:18px;width:max-content;height:100%;padding-inline:18px;animation:34s linear infinite landingMarquee;display:flex}.landing-marquee img{object-fit:cover;filter:saturate(.92)contrast(1.02);border-radius:26px 26px 0 0;flex:none;width:clamp(220px,18vw,330px);height:92%}.landing-marquee img:nth-child(10n+2),.landing-marquee img:nth-child(10n+4),.landing-marquee img:nth-child(10n+6),.landing-marquee img:nth-child(10n+8),.landing-marquee img:nth-child(10n+10){height:84%}.landing-marquee img:nth-child(10n+3),.landing-marquee img:nth-child(10n+6),.landing-marquee img:nth-child(10n+9){height:98%}@keyframes landingMarquee{to{transform:translate(calc(9px - 50%))}}@media (width<=900px){.landing-nav{padding:24px 20px 0}.landing-hero{width:100%}.landing-hero-center{width:min(720px,100% - 32px);top:18vh}.landing-hero h1{white-space:normal;font-size:clamp(38px,10vw,58px)}.landing-hero p{font-size:16px}}@media (width<=560px){.landing-nav nav{max-width:calc(100vw - 92px)}.landing-nav nav button{min-width:48px;height:36px}.landing-hero{min-height:100vh}.landing-hero-center{top:16vh}.landing-hero-badge{gap:10px;margin-bottom:24px;font-size:10px}.landing-hero-badge:before,.landing-hero-badge:after{width:24px}.landing-primary{width:auto;min-width:180px;min-height:58px;font-size:15px}.landing-marquee{height:267px;bottom:0}.landing-marquee img{object-position:center 42%;border-radius:20px 20px 0 0;width:210px}}@media (prefers-reduced-motion:reduce){.landing-marquee-track{animation:none}}.auth-page{place-items:center;min-height:100svh;padding:0;display:grid}.auth-page-standalone{--auth-grid:#ffffff09;--auth-grid-strong:#c0fba00e;--auth-showcase-bg:#111518;--auth-showcase-border:#c0fba014;--auth-showcase-text:#f8fafc;--auth-showcase-muted:#f8fafc8f;--auth-canvas:#d8f8ff;--auth-canvas-deep:#2e7c88;--auth-canvas-soft:#c0fba0;--auth-character-a:#15191d;--auth-character-b:#c0fba0;--auth-field-bg:#ffffff0f;--auth-field-bg-hover:#ffffff14;--auth-field-bg-focus:#ffffff1a;--auth-segment-active-bg:#ffffff14;--auth-control-height:48px;background:var(--bg);height:100svh;min-height:0;position:relative;overflow:hidden auto}:root[data-theme=light] .auth-page-standalone{--auth-showcase-bg:#e8ebe8;--auth-showcase-text:#0f172a;--auth-showcase-muted:#0f172ab8;--auth-field-bg:#0000000a;--auth-field-bg-hover:#0000000f;--auth-field-bg-focus:#0000000f;--auth-segment-active-bg:#00000014;background:var(--bg)}:root[data-theme=light] .auth-copy .eyebrow{color:#059669;font-weight:800}:root[data-theme=light] .auth-copy h1{color:#0f172a}:root[data-theme=light] .auth-copy p{color:#0f172acc}:root[data-theme=light] .auth-form label{color:#0f172adb}:root[data-theme=dark] .auth-page-standalone{--auth-grid:#ffffff09;--auth-grid-strong:#c0fba00e;--auth-showcase-bg:#111518;--auth-showcase-border:#c0fba01a;--auth-canvas:#c0fba0;--auth-canvas-deep:#5edef0;--auth-canvas-soft:#252b2f;--auth-character-a:#f7fbf2;--auth-character-b:#c0fba0;background:var(--bg)}.auth-page-standalone:before,.auth-page-standalone:after{display:none}.auth-layout{z-index:1;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);align-items:center;gap:0;width:100%;min-height:100%;display:grid;position:relative}.auth-brand-button{z-index:2;height:48px;color:var(--auth-showcase-text);letter-spacing:0;border-radius:16px;align-items:center;gap:14px;padding:0;font-size:18px;font-weight:850;display:inline-flex;position:relative}.auth-brand-button:hover{color:var(--auth-showcase-text);background:0 0}.auth-brand-button .brand-emblem{width:48px;height:48px;box-shadow:none;border-radius:0;overflow:visible}.auth-brand-name{line-height:1}.auth-card{z-index:1;width:100%;max-width:400px;max-height:100svh;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;justify-self:center;padding:clamp(20px,3.6svh,32px) 0;display:flex;position:relative;overflow-y:auto}:root[data-theme=dark] .auth-card{box-shadow:none;background:0 0;border-color:#0000}.auth-showcase{min-height:100%;color:var(--auth-showcase-text);background:radial-gradient(ellipse 50% 35% at 22% 18%, color-mix(in srgb, var(--auth-character-b) 14%, transparent), transparent 50%), var(--auth-showcase-bg);box-shadow:none;isolation:isolate;border:0;border-radius:0;flex-direction:column;justify-content:space-between;padding:clamp(28px,4.6svh,48px) clamp(28px,5vw,56px);display:flex;position:relative;overflow:hidden}.auth-showcase:before{content:"";z-index:-1;background:0 0;position:absolute;inset:0}.auth-creature-chip{align-items:center;display:inline-flex}.auth-characters-area{--auth-figure-scale:clamp(.56, min(calc((100svh - 120px) / 1100), calc(100vw / 2200)), 1);height:calc(400px * var(--auth-figure-scale));justify-content:center;align-items:flex-end;min-height:0;display:flex}.auth-reference-scene{z-index:1;transform-origin:bottom;width:550px;max-width:100%;height:400px;transform:scale(var(--auth-figure-scale));position:relative}.auth-reference-character{transform-origin:bottom;will-change:transform, height;transition:transform 80ms;position:absolute;bottom:0;overflow:hidden}.auth-reference-purple{z-index:1;background:#1c5f47;border-radius:10px 10px 0 0;width:180px;height:400px;left:70px}.auth-reference-black{z-index:2;background:#111416;border-radius:8px 8px 0 0;width:120px;height:310px;left:240px}.auth-reference-orange{z-index:3;background:#7de1bf;border-radius:120px 120px 0 0;width:240px;height:200px;bottom:-1px;left:0}.auth-reference-yellow{z-index:4;background:#c0fba0;border-radius:70px 70px 0 0;width:140px;height:230px;bottom:-1px;left:310px}.auth-reference-eyes,.auth-reference-pupils{will-change:transform;gap:32px;transition:transform 80ms;display:flex;position:absolute}.auth-reference-eyes-black{gap:24px}.auth-reference-pupils{gap:32px;transition:transform .14s ease-out}.auth-reference-pupils-yellow{gap:24px}.auth-reference-eye{border-radius:var(--radius-full);will-change:transform;justify-content:center;align-items:center;transition:transform 80ms;display:flex;overflow:hidden}.auth-reference-dot{border-radius:var(--radius-full);will-change:transform;transition:transform .14s ease-out;display:block}.auth-reference-mouth{border-radius:var(--radius-full);will-change:transform;background:#13181a;width:80px;height:4px;transition:transform .18s ease-out;position:absolute}.auth-character{display:none}.auth-creature{transform-origin:bottom;transition:height .42s cubic-bezier(.2,.8,.2,1),transform .42s cubic-bezier(.2,.8,.2,1),background-color .22s;position:absolute;bottom:0;overflow:hidden}.auth-creature-pine{z-index:1;width:180px;height:398px;transform:skewX(var(--body-skew));background:#1c5f47;border-radius:14px 14px 0 0;left:70px}.auth-creature-scene.is-typing .auth-creature-pine{height:438px;transform:skewX(calc(var(--body-skew) - 10deg)) translateX(38px)}.auth-creature-scene.is-peeking .auth-creature-pine{transform:skew(0)}.auth-creature-ink{z-index:2;width:120px;height:310px;transform:skewX(var(--body-skew));background:#111416;border-radius:12px 12px 0 0;left:240px}.auth-creature-scene.is-typing .auth-creature-ink{transform:skewX(var(--body-skew)) translateX(16px)}.auth-creature-scene.is-peeking .auth-creature-ink{transform:skew(0)}.auth-creature-moss{z-index:3;width:240px;height:200px;transform:skewX(var(--body-skew));background:#7de1bf;border-radius:120px 120px 0 0;left:0}.auth-creature-mint{z-index:4;width:140px;height:230px;transform:skewX(var(--body-skew));background:#c0fba0;border-radius:70px 70px 0 0;left:310px}.auth-creature-face{left:calc(46px + var(--face-x));top:calc(42px + var(--face-y));gap:28px;transition:left .42s cubic-bezier(.2,.8,.2,1),top .42s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute}.auth-creature-face.is-compact{left:calc(28px + var(--face-x));top:calc(32px + var(--face-y));gap:24px}.auth-creature-face-flat{left:calc(82px + var(--face-x));top:calc(90px + var(--face-y));gap:28px}.auth-creature-mint .auth-creature-face-flat{left:calc(52px + var(--face-x));top:calc(40px + var(--face-y));gap:24px}.auth-creature-scene.is-peeking .auth-creature-pine .auth-creature-face{top:36px;left:22px}.auth-creature-scene.is-peeking .auth-creature-ink .auth-creature-face{top:28px;left:14px}.auth-creature-scene.is-peeking .auth-creature-moss .auth-creature-face{top:86px;left:52px}.auth-creature-scene.is-peeking .auth-creature-mint .auth-creature-face{top:36px;left:22px}.auth-eye-ball{border-radius:var(--radius-full);background:#f9fbf7;place-items:center;width:18px;height:18px;display:grid}.auth-creature-face.is-compact .auth-eye-ball{width:16px;height:16px}.auth-pupil{border-radius:var(--radius-full);width:7px;height:7px;transform:translate(calc(var(--face-x) * .18), calc(var(--face-y) * .2));background:#13181a;transition:transform .1s ease-out;display:block}.auth-creature-face.is-compact .auth-pupil{width:6px;height:6px}.auth-creature-scene.is-peeking .auth-pupil{transform:translate(-4px,-4px)}.auth-pupil-dot{border-radius:var(--radius-full);width:12px;height:12px;transform:translate(calc(var(--face-x) * .16), calc(var(--face-y) * .18));background:#13181a;transition:transform .1s ease-out}.auth-creature-scene.is-peeking .auth-pupil-dot{transform:translate(-5px,-4px)}.auth-creature-mouth{left:calc(40px + var(--face-x));top:calc(88px + var(--face-y));border-radius:var(--radius-full);background:#13181a;width:80px;height:4px;transition:left .12s ease-out,top .12s ease-out;position:absolute}.auth-creature-scene.is-peeking .auth-creature-mouth{top:88px;left:12px}.auth-creature-chip{color:#f8fafcdb;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#00000057;border:1px solid #ffffff1a;gap:8px;height:36px;padding:0 12px;font-size:12px;font-weight:800;position:absolute;bottom:34px;right:12px}.auth-showcase-copy{z-index:2;color:var(--auth-showcase-muted);align-items:center;gap:18px;font-size:13px;display:flex;position:relative;container-type:inline-size}.auth-showcase-copy a{color:var(--auth-showcase-muted);text-decoration:none;transition:color .2s}.auth-showcase-copy a:hover{color:var(--auth-showcase-text)}.auth-showcase-copy h2{letter-spacing:0;white-space:nowrap;max-width:420px;font-size:34px;line-height:1.08}.auth-showcase-copy p{max-width:300px;color:var(--auth-showcase-muted);white-space:nowrap;align-items:center;font-size:13px;font-weight:750;line-height:1.2;display:inline-flex}.auth-showcase-copy p:before{content:"";background:color-mix(in srgb, var(--auth-showcase-muted) 48%, transparent);width:28px;height:1px;margin-right:16px}.auth-copy .eyebrow{letter-spacing:0;color:#c0fba0c7;text-transform:uppercase;font-size:12px;font-weight:700}.auth-copy h1{letter-spacing:-.02em;margin-bottom:10px;font-size:26px;font-weight:700;line-height:1.25}.auth-copy p{color:#e2e8f0a3;margin-bottom:clamp(18px,3.8svh,40px);font-size:14px;line-height:1.6}.auth-form{flex-direction:column;gap:clamp(12px,1.8svh,18px);display:flex}.auth-form>.btn{height:var(--auth-control-height);margin-top:16px}.auth-form label{color:#f1f5f9c7;letter-spacing:.2px;flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.auth-mode-tabs{margin-bottom:clamp(14px,2.8svh,24px)}.auth-form-stage{min-height:228px;overflow:visible}.auth-form-stage .auth-form{animation:.36s cubic-bezier(.22,1,.36,1) both auth-form-enter}@keyframes auth-form-enter{0%{opacity:0;filter:blur(8px);transform:translateY(14px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.auth-form input{height:var(--auth-control-height);background:var(--auth-field-bg);box-shadow:none;color:#f5f7fb;border:none;transition:box-shadow .2s}:root[data-theme=light] .auth-form input{color:#0f172a}:root[data-theme=light] .auth-form input::placeholder{color:#0f172a66}.auth-form input:hover{background:var(--auth-field-bg-hover)}.auth-form input:focus{background:var(--auth-field-bg-focus);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 46%, transparent)}:root[data-theme=light] .auth-form input:focus{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 48%, transparent)}.auth-code-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.auth-code-row .btn{height:var(--auth-control-height);white-space:nowrap;background:var(--auth-field-bg);color:#f5f7fb;border:none;font-weight:600;transition:background .2s,color .2s}.auth-code-row .btn:hover:not(:disabled){background:var(--auth-field-bg-focus);color:#fff}:root[data-theme=light] .auth-code-row .btn{color:#0f172a}:root[data-theme=light] .auth-code-row .btn:hover:not(:disabled){background:var(--auth-segment-active-bg);color:#000}.auth-secret-field{display:block;position:relative}.auth-secret-field input{padding-right:46px}.auth-secret-field button{width:34px;height:34px;color:var(--text-tertiary);border-radius:10px;place-items:center;transition:color .16s,background .16s;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-secret-field button:hover{color:#f5f7fb;background:#ffffff0f}.segmented-control{height:var(--auth-control-height);background:var(--auth-field-bg);border-radius:var(--radius-md);border:none;grid-template-columns:1fr 1fr;gap:0;padding:0;display:grid;overflow:hidden}.segmented-control button{height:var(--auth-control-height);color:#e2e8f0a3;border:none;border-radius:0;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}:root[data-theme=light] .segmented-control button{color:#0f172ab8}.segmented-control button.is-active{background:var(--auth-segment-active-bg);color:#f5f7fb;border:none;box-shadow:0 1px 3px #0003}.segmented-control button:first-child.is-active{border-radius:var(--radius-md) 0 0 var(--radius-md)}.segmented-control button:last-child.is-active{border-radius:0 var(--radius-md) var(--radius-md) 0}:root[data-theme=light] .segmented-control button.is-active{color:#0f172a;box-shadow:0 1px 2px #0000001a}@media (width<=640px){.auth-page,.auth-page-standalone{padding:24px}.auth-page-standalone:before{opacity:.62;background-size:72px 72px,72px 72px,128px 128px}.auth-brand-button{top:18px;left:16px}.auth-card{max-width:100%;padding:0}}@media (width<=1024px){.auth-layout{grid-template-columns:minmax(0,1fr);width:100%;min-height:100%;padding:32px}.auth-showcase{display:none}.auth-card{width:min(400px,100%)}}@media (width<=640px){.auth-page,.auth-page-standalone{padding:0}.auth-layout{padding:24px}}@media (prefers-reduced-motion:reduce){.auth-form-stage{transition:none}.auth-form-stage .auth-form{animation:none}}.install-shell{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-elevated) 70%, transparent), var(--bg));min-height:100vh;padding:12px 18px}.install-layout{grid-template-columns:240px minmax(0,1fr);gap:12px;width:100%;max-width:1120px;min-height:calc(100vh - 24px);margin:0 auto;display:grid}.install-rail,.install-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.install-rail{flex-direction:column;min-height:100%;padding:18px;display:flex}.install-brand{align-items:center;gap:10px;display:flex}.install-brand .brand-emblem{width:34px;height:34px;color:var(--accent);background:var(--accent-light);border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);border-radius:var(--radius-md);box-shadow:none;flex:0 0 34px;place-items:center;display:grid}.install-brand span,.install-section-head p,.install-note,.install-actions span{color:var(--text-secondary)}.install-brand strong{color:var(--text-primary);margin-top:2px;font-size:15px;display:block}.install-rail-copy{margin-top:24px}.install-rail-copy h1{letter-spacing:0;max-width:210px;font-size:23px;font-weight:700;line-height:1.18}.install-rail-copy p{color:var(--text-secondary);margin-top:8px;font-size:12px;line-height:1.5}.install-steps{gap:6px;margin-top:22px;display:grid}.install-steps div{min-height:32px;color:var(--text-secondary);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:0 9px;display:flex}.install-steps div.is-active{color:var(--text-primary);background:var(--surface-hover);border-color:var(--border)}.install-note{margin-top:auto;padding-top:14px;font-size:12px;line-height:1.55}.install-panel{flex-direction:column;min-width:0;padding:18px;display:flex}.install-heading{border-bottom:1px solid var(--divider);margin-bottom:8px;padding-bottom:12px}.install-heading h2{letter-spacing:0;margin:3px 0 5px;font-size:21px;font-weight:700}.install-heading p{max-width:680px;color:var(--text-secondary);font-size:12px;line-height:1.45}.install-section{border-bottom:1px solid var(--divider);padding:10px 0}.install-section-head{align-items:flex-start;gap:9px;margin-bottom:9px;display:flex}.install-section-head svg{color:var(--accent);flex:none;margin-top:2px}.install-section-head h3{margin:0 0 4px;font-size:15px;font-weight:650}.install-section-head p{font-size:12px;line-height:1.35}.install-grid{grid-template-columns:repeat(2,1fr);gap:8px 10px;display:grid}.install-db-grid{grid-template-columns:minmax(170px,1fr) 96px minmax(170px,1fr)}.install-site-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.install-grid .span-2{grid-column:span 2}.install-grid .span-3{grid-column:span 3}.install-panel label{gap:5px;font-size:12px}.install-panel input,.install-panel select{background:color-mix(in srgb, var(--surface-hover) 74%, var(--surface));border:1px solid var(--border);height:34px;box-shadow:none;padding:0 11px}.install-panel input:hover,.install-panel select:hover{border-color:var(--border-hover);box-shadow:none}.install-panel input:focus,.install-panel select:focus{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));box-shadow:0 0 0 3px var(--accent-light)}.install-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;display:flex}.install-actions .btn{background:var(--accent);height:34px;color:var(--accent-contrast,#fff);box-shadow:none;padding:0 15px}.install-actions .btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:none;transform:none}.install-done{flex:1;place-items:center;min-height:420px;display:grid}.account-page{--account-card-border:color-mix(in srgb, var(--border) 86%, transparent);background:var(--bg);flex-direction:column;width:100%;max-width:none;height:100vh;min-height:0;margin:0;padding:30px clamp(28px,3.2vw,56px) 0;display:flex;overflow:hidden}:root[data-theme=light] .account-page{--account-card-border:#deddd6}.account-page-loading{min-height:100vh}.account-top{z-index:5;flex:none;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;display:flex}.account-top h1{letter-spacing:0;margin-top:4px;font-size:clamp(32px,3vw,48px);font-weight:800;line-height:1.06}.account-top .btn{background:var(--surface-subtle);box-shadow:none;transition:color .16s,border-color .16s}.account-top .btn:hover:not(:disabled){background:var(--surface-subtle);box-shadow:none}.account-layout{flex:auto;grid-template-columns:minmax(300px,340px) minmax(0,1fr);align-items:start;gap:clamp(30px,4vw,64px);width:100%;max-width:none;height:100%;min-height:0;padding-bottom:0;display:grid}.account-identity-column{overscroll-behavior:contain;scrollbar-width:none;background:0 0;border-radius:0;align-content:start;align-self:stretch;gap:16px;height:100%;max-height:100%;padding:0 0 64px;display:grid;overflow-y:auto}.account-identity-column::-webkit-scrollbar{width:0;height:0}.account-settings-column{overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:none;background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;height:100%;max-height:none;padding:0 2px 64px;display:grid;overflow-y:auto}.account-settings-column::-webkit-scrollbar{width:0;height:0}.account-profile-card{box-shadow:none;background:0 0;border:0;border-radius:0;gap:18px;padding:6px 0 18px;display:grid}.account-profile-head{text-align:center;justify-items:center;gap:12px;display:grid}.account-avatar-preview{width:124px;height:124px;color:var(--accent);background:var(--accent-light);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent);border-radius:50%;flex:none;place-items:center;font-size:42px;font-weight:800;transition:background .18s;display:grid;position:relative;overflow:visible}.account-avatar-preview:hover{background:color-mix(in srgb, var(--accent-light) 76%, var(--surface-hover))}.account-avatar-preview img{object-fit:cover;border-radius:50%;width:100%;height:100%}.account-avatar-preview i{width:32px;height:32px;color:var(--accent-contrast,var(--bg));background:var(--accent);border-radius:50%;place-items:center;font-style:normal;display:grid;position:absolute;bottom:7px;right:10px}.account-profile-title{justify-items:center;gap:5px;min-width:0;display:grid}.account-display-name-input{max-width:100%;height:auto;color:var(--text-primary);text-align:center;text-overflow:ellipsis;white-space:nowrap;box-shadow:none;background:0 0;padding:0 2px;font-size:clamp(30px,2.08vw,36px);font-weight:800;line-height:1;overflow:hidden}.account-display-name-input:hover,.account-display-name-input:focus{box-shadow:none;background:0 0}:root[data-theme=light] .account-display-name-input,:root[data-theme=light] .account-page .account-display-name-input{background:0 0}.account-profile-title p{max-width:100%;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;line-height:1.35;overflow:hidden}.account-profile-form{gap:0;padding-top:4px;display:grid}.account-profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.account-profile-actions .btn{width:100%;height:42px}.account-page .btn-primary:hover:not(:disabled),.account-page .btn-dark:hover:not(:disabled){transform:none}.account-profile-actions .btn-ghost{background:color-mix(in srgb, var(--surface-hover) 72%, var(--surface));box-shadow:none}.account-profile-actions .btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--surface-hover) 64%, var(--accent-light))}.account-key-panel{border-top:1px solid color-mix(in srgb, var(--divider) 72%, transparent);gap:10px;padding:14px 0 0;display:grid}.account-key-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.account-rail-title{align-items:center;gap:10px;min-width:0;display:flex}.account-rail-title>span:last-child{gap:3px;min-width:0;display:grid}.account-rail-title strong{color:var(--text-primary);font-size:15px;font-weight:900;line-height:1.1}.account-rail-title small{color:var(--text-secondary);font-size:12px;font-weight:750;line-height:1.2}.account-rail-icon{width:26px;height:26px;color:color-mix(in srgb, var(--accent) 72%, var(--text-secondary));background:0 0;border-radius:50%;flex:none;place-items:center;display:grid}.account-key-input{background:var(--surface-subtle);border-radius:var(--radius-full);grid-template-columns:minmax(0,1fr);align-items:center;min-height:42px;padding:4px 14px;display:grid}.account-key-input input{height:34px;color:var(--text-primary);box-shadow:none;background:0 0;border:0;outline:none;padding:0;font-size:15px;font-weight:800;transition:none}.account-page .account-key-input input,.account-page .account-key-input input:hover,.account-page .account-key-input input:focus,.account-page .account-key-input input:focus-visible,.account-page .account-key-input input:active{box-shadow:none;background:0 0;border-color:#0000;outline:none;transition:none}.account-key-input input:hover,.account-key-input input:focus,.account-key-input input:focus-visible{box-shadow:none;background:0 0;border-color:#0000;outline:none}.account-key-action,.account-membership-action.btn{width:auto;min-width:58px;height:32px;color:var(--text-primary);background:var(--surface-subtle);border-radius:var(--radius-full);box-shadow:none;border:0;margin-right:8px;padding:0 15px;font-size:12px;font-weight:900;transition:none}.account-key-action:hover:not(:disabled),.account-membership-action.btn:hover:not(:disabled){color:var(--accent);background:var(--accent-light)}.account-key-action:disabled{cursor:not-allowed;opacity:.48}:root[data-theme=light] .account-page input,:root[data-theme=light] .account-page textarea{background:var(--surface-subtle)}:root[data-theme=light] .account-page .account-key-input input,:root[data-theme=light] .account-page .account-key-input input:hover,:root[data-theme=light] .account-page .account-key-input input:focus,:root[data-theme=light] .account-page .account-key-input input:focus-visible{box-shadow:none;background:0 0;border-color:#0000;outline:none}.account-tier{width:fit-content;min-height:34px;color:var(--text-secondary);background:var(--surface-hover);border-radius:var(--radius-full);align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:800;display:inline-flex}.account-tier.is-premium{color:var(--accent);background:var(--accent-light)}.account-status-strip{border:1px solid color-mix(in srgb, var(--border) 72%, transparent);border-radius:var(--radius-lg);background:0 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;display:grid;overflow:hidden}.account-status-strip div{background:0 0;border-radius:0;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:42px;padding:11px 12px;display:grid}.account-status-strip div+div{border-left:1px solid color-mix(in srgb, var(--divider) 82%, transparent)}.meta-icon{width:24px;height:24px;color:color-mix(in srgb, var(--accent) 76%, var(--text-secondary));background:0 0;border-radius:0;flex:none;place-items:center;display:grid}.meta-copy{gap:2px;min-width:0;display:grid}.meta-copy small{color:var(--text-secondary);font-size:11px}.meta-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.account-membership-panel,.account-quota-card,.account-security-panel{box-shadow:none;background:0 0;border:0;border-radius:0;gap:10px;padding:0;display:grid}.account-settings-column>.account-quota-card,.account-settings-column>.account-security-panel{border-bottom:1px solid var(--divider);padding:22px 0}.account-settings-column>.account-usage-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:22px 0}.account-usage-card,.account-products-card,.account-orders-card,.account-ledger-card{grid-column:1/-1;scroll-margin-top:12px}.account-security-panel,.account-gifts-card{scroll-margin-top:12px}.account-identity-column>.account-profile-card,.account-identity-column>.account-membership-panel{padding:0}.account-settings-column>.account-quota-card:last-child,.account-settings-column>.account-security-panel:last-child{border-bottom:0}.account-settings-column>.account-products-card{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;scroll-margin-block:28px;transition:box-shadow .18s,transform .18s}:root[data-theme=light] .account-settings-column>.account-products-card{box-shadow:none}.account-products-card.is-highlighted{border-radius:var(--radius-lg);will-change:box-shadow, transform;animation:1.05s ease-in-out 2 account-products-breathe}.account-settings-column .account-section-head{align-items:center}.account-section-title{align-items:center;gap:12px;display:flex}.account-section-title h2{margin:0;font-size:20px;font-weight:800;line-height:1.1}.account-left-section-title h2{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:17px;display:flex}.account-left-section-title h2 span{color:var(--text-secondary);font-size:12px;font-weight:800}.account-membership-panel{align-content:start;gap:0;min-height:0;padding-top:14px}.account-membership-shell{border-top:1px solid color-mix(in srgb, var(--divider) 72%, transparent);background:0 0;gap:12px;padding:14px 0 0;display:grid}.account-membership-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.account-membership-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.account-membership-facts div{background:var(--surface-subtle);border-radius:var(--radius-md);gap:5px;min-width:0;padding:10px 12px;display:grid}.account-membership-facts small{color:var(--text-tertiary);font-size:11px;font-weight:800;line-height:1}.account-membership-facts strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:900;line-height:1;overflow:hidden}.account-membership-panel p,.account-products-card p,.account-security-panel p{color:var(--text-secondary);line-height:1.55}.account-membership-panel h2,.account-quota-card h2,.account-section-head h2{margin-top:2px;font-size:20px;font-weight:800;line-height:1.1}.account-section-title h2{margin:0}.account-section-head{justify-content:flex-start;align-items:center;gap:10px;display:flex}.account-section-head>div{min-width:0}.account-order-list{gap:8px;display:grid}.account-gift-list{gap:10px;display:grid}.account-gift-list button{text-align:left;background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:12px 14px;display:grid}.account-gift-list button>span:first-child{gap:4px;min-width:0;display:grid}.account-gift-list strong,.account-gift-list em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-gift-list em{color:var(--text-secondary);font-size:13px;font-style:normal}.account-gift-list button>span:last-child{color:var(--accent);font-weight:900}.account-coupon-box{background:var(--surface-subtle);border-radius:var(--radius-md);border:0;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;transition:none;display:grid}.account-coupon-icon{width:38px;height:38px;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-sm);place-items:center;display:grid}.account-coupon-box label{gap:4px;min-width:0;display:grid}.account-coupon-box label span{color:var(--text-secondary);font-size:12px;font-weight:800}.account-coupon-box input{height:24px;min-height:24px;color:var(--text-primary);box-shadow:none;background:0 0;border:0;outline:none;padding:0;font-size:14px;font-weight:800;transition:none}.account-page .account-coupon-box input,.account-page .account-coupon-box input:hover,.account-coupon-box input:focus,.account-coupon-box input:focus-visible,.account-coupon-box input:active,:root[data-theme=light] .account-page .account-coupon-box input,:root[data-theme=light] .account-page .account-coupon-box input:hover,:root[data-theme=light] .account-page .account-coupon-box input:focus,:root[data-theme=light] .account-page .account-coupon-box input:focus-visible,:root[data-theme=light] .account-page .account-coupon-box input:active{box-shadow:none;background:0 0;border-color:#0000;outline:none;transition:none}.account-coupon-box .btn{background:var(--surface-subtle);box-shadow:none;transition:color .16s}.account-coupon-box .btn:hover:not(:disabled){background:var(--surface-subtle);box-shadow:none}.account-coupon-preview{color:var(--accent);margin-top:-4px;font-size:13px;font-weight:800}.account-order-list{min-height:0}.account-product-groups{gap:14px;display:grid}.account-product-group{gap:10px;display:grid}.account-product-group-head{justify-content:space-between;align-items:baseline;gap:14px;min-height:24px;display:flex}.account-product-group-head strong{color:var(--text-primary);font-size:14px;font-weight:900}.account-product-group-head span{color:var(--text-tertiary);font-size:12px;font-weight:800}.account-product-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.account-product-list.is-columns-1{grid-template-columns:minmax(0,1fr)}.account-product-list.is-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.account-product-list.is-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.account-product-item{gap:8px;display:grid}.account-product-item>button,.account-order-list div{min-height:48px;color:var(--text-secondary);background:var(--surface-subtle);border-radius:var(--radius-sm);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.account-product-item>button{background:var(--surface-subtle);border:1px solid var(--account-card-border);flex-direction:column;align-items:stretch;min-height:136px;padding:16px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.account-order-list div>span:first-child{min-width:0}.account-order-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.account-product-item>button:hover:not(:disabled){background:color-mix(in srgb, var(--surface-subtle) 88%, var(--surface-hover));border-color:color-mix(in srgb, var(--accent) 34%, var(--border-hover))}.account-product-item>button:disabled{cursor:not-allowed;opacity:.56}.account-product-corner{height:24px;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:1px 9px 0;font-size:11px;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:14px;right:14px}.account-product-item.is-quota_pack .account-product-corner{color:#8ee7dc;background:#14b8a62e}:root[data-theme=light] .account-product-item.is-quota_pack .account-product-corner{color:#0f766e;background:color-mix(in srgb, #99f6e4 36%, var(--surface-hover))}.account-product-copy{gap:6px;min-width:0;padding-right:58px;display:grid}.account-product-metric{align-items:baseline;gap:6px;margin-top:18px;display:flex}.account-product-metric strong{color:var(--text-primary);font-size:24px;font-weight:900;line-height:1}.account-product-metric span{color:var(--text-tertiary);font-size:12px;font-weight:800}.account-product-foot{border-top:1px solid color-mix(in srgb, var(--divider) 70%, transparent);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:13px;display:flex}.account-product-foot strong{color:var(--text-primary);font-size:14px;font-weight:800}.account-list-empty{min-height:42px;color:var(--text-tertiary);background:color-mix(in srgb, var(--surface-hover) 70%, transparent);border-radius:var(--radius-sm);place-items:center;margin:0;font-size:13px;display:grid}.account-product-list strong,.account-order-list strong{color:var(--text-primary);font-size:13px}.account-product-list strong{font-size:14px}.account-order-list em{color:var(--text-tertiary);margin-top:3px;font-size:12px;font-style:normal;display:block}.account-order-state{min-height:34px;color:var(--warning);background:color-mix(in srgb, var(--warning) 13%, transparent);border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;padding:0 13px;font-size:13px;font-weight:900;display:inline-flex}.account-order-state.is-success{color:var(--success);background:#10b9811f}.account-order-state.is-danger{color:var(--error);background:#ef44441f}.account-order-state.is-muted{color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 74%, var(--text-primary) 10%)}:root[data-theme=light] .account-order-state.is-muted{color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 82%, var(--text-primary) 8%)}.account-ledger-pagination{color:var(--text-tertiary);justify-content:flex-end;align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.upgrade-icon{width:30px;height:30px;color:var(--accent);background:var(--accent-light);border-radius:50%;flex:none;place-items:center;display:grid}.account-pay-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00000094;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.account-pay-modal{background:var(--surface);border-radius:24px;width:min(400px,100%);overflow:hidden;box-shadow:0 24px 72px #00000042}.account-pay-modal-head{justify-content:space-between;align-items:center;gap:16px;padding:24px 24px 0;display:flex}.account-pay-modal-head strong{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.account-pay-modal-head button{width:32px;height:32px;color:var(--text-tertiary);background:0 0;border-radius:50%;flex:none;place-items:center;font-size:28px;line-height:1;display:grid}.account-pay-modal-head button:hover{color:var(--text-primary);background:var(--surface-hover)}.account-pay-modal-body{text-align:center;gap:16px;padding:24px;display:grid}.account-pay-amount{gap:4px;display:grid}.account-pay-provider{background:var(--surface-hover);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:0 14px;display:flex}.account-pay-amount span,.account-pay-provider span,.account-pay-modal-body p,.account-pay-waiting{color:var(--text-tertiary);margin:0;font-size:13px}.account-pay-amount strong{color:var(--text-primary);font-size:30px}.account-pay-provider strong{color:var(--text-primary);font-size:14px}.account-pay-qrcode{color:#111;background:#fff;border-radius:12px;justify-self:center;place-items:center;width:220px;min-height:220px;padding:10px;display:grid}.account-pay-qrcode img{width:200px;height:200px}.account-pay-qrcode.is-expired{color:var(--text-tertiary);background:var(--surface-hover)}.account-pay-waiting{background:var(--surface-hover);border-radius:var(--radius-full);justify-self:center;align-items:center;gap:8px;padding:5px 14px;display:inline-flex}.account-pay-waiting span{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.4s infinite account-pay-pulse}.account-pay-waiting.is-expired{color:var(--error);background:#ef44441f}.account-refund-modal .account-pay-modal-body,.account-method-modal .account-pay-modal-body{text-align:left}.account-method-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.account-method-grid button{min-height:104px;color:var(--text-secondary);background:var(--surface-hover);text-align:center;cursor:pointer;border-radius:16px;align-content:center;gap:5px;padding:16px 14px;transition:background .18s,color .18s,box-shadow .18s;display:grid}.account-method-grid button:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 68%, var(--accent-light));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent)}.account-method-grid strong{color:var(--text-primary);font-size:16px}.account-method-grid em,.account-method-grid span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.account-method-grid em{color:var(--text-tertiary);font-size:12px;font-style:normal}.account-method-grid span{color:var(--text-secondary);font-size:13px}.account-refund-summary{background:var(--surface-hover);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.account-refund-summary span{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.account-refund-summary strong{color:var(--text-primary);white-space:nowrap}.account-refund-field{color:var(--text-secondary);gap:8px;font-size:13px;font-weight:800;display:grid}.account-refund-field textarea{min-height:112px;color:var(--text-primary);background:var(--surface-hover);resize:vertical;border:none;border-radius:14px;outline:none;padding:12px}.account-refund-field textarea:focus{box-shadow:0 0 0 3px var(--accent-light)}.account-refund-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.account-refund-actions .btn{width:100%;min-height:44px}@keyframes account-pay-pulse{50%{opacity:.42;transform:scale(.85)}}@keyframes account-products-breathe{0%,to{transform:translateY(0)}50%{box-shadow:0 -8px 24px #0000000f, 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent), 0 0 34px color-mix(in srgb, var(--accent) 20%, transparent), 0 20px 52px #00000024;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.account-products-card.is-highlighted{animation:none}}.account-quota-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.account-security-panel{align-content:start}.account-key-form{grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:10px;display:grid}@media (width>=1500px){.account-layout{grid-template-columns:minmax(320px,380px) minmax(0,1fr)}.account-settings-column{padding-inline:2px}}.account-key-form input{background:var(--surface-subtle);height:42px;box-shadow:none}.account-page .quota-compact{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-subtle) 84%, var(--surface)) 0%, var(--surface-subtle) 100%);border:1px solid var(--account-card-border);border-radius:var(--radius-lg);justify-content:space-between;gap:18px;min-height:126px;padding:18px}.account-page .quota-compact .quota-line{align-items:start;gap:9px;display:grid}.account-page .quota-compact .quota-line>span{color:var(--text-secondary);font-size:13px;font-weight:800}.account-page .quota-compact .quota-line strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:clamp(22px,1.5vw,28px);font-weight:900;line-height:1}.account-page .quota-compact .quota-track{background:color-mix(in srgb, var(--text-primary) 10%, transparent);height:3px}.account-page .quota-compact .quota-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 64%, var(--surface)), var(--accent))}.account-key-form .btn{height:42px}.quota-width-0{width:0%}.quota-width-10{width:10%}.quota-width-20{width:20%}.quota-width-30{width:30%}.quota-width-40{width:40%}.quota-width-50{width:50%}.quota-width-60{width:60%}.quota-width-70{width:70%}.quota-width-80{width:80%}.quota-width-90{width:90%}.quota-width-100{width:100%}@media (width<=980px){.account-page{overscroll-behavior:contain;height:100vh;overflow-y:auto}.account-layout{flex:none;grid-template-columns:1fr;height:auto;min-height:auto}.account-settings-column{grid-template-columns:1fr;height:auto;max-height:none;overflow:visible}.account-identity-column{height:auto;max-height:none;padding-bottom:0;position:static;overflow:visible}.account-status-strip{justify-self:center;width:min(720px,100%)}.account-status-strip div{justify-content:center}.account-quota-grid{border:0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid;overflow:visible}.account-page .quota-compact{background:var(--surface-subtle);border-radius:var(--radius-lg);border:0;padding:12px}.account-page .quota-compact+.quota-compact{border-left:0}.account-product-list.is-columns-3,.account-product-list.is-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}.account-membership-panel,.account-security-panel{min-height:0}}@media (width<=920px){.account-status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.account-profile-form,.account-key-form{grid-template-columns:1fr}.account-profile-actions{justify-content:flex-start}}@media (width<=768px){.auth-card{padding:32px 24px}.auth-copy h1{font-size:28px}.install-shell{padding:16px}.install-layout{grid-template-columns:1fr;min-height:auto}.install-rail{min-height:auto}.install-rail-copy{margin-top:24px}.install-note{margin-top:18px}.install-grid,.install-db-grid,.account-quota-grid,.account-product-list{grid-template-columns:1fr}.account-page{padding:24px 18px 92px}.account-top{align-items:stretch;margin-bottom:22px}.account-layout{gap:18px;padding-bottom:0}.image-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.work-grid{grid-template-columns:1fr}}@media (width<=480px){.auth-card{padding:24px 20px}.auth-copy h1{font-size:24px}.install-rail,.install-panel{padding:18px}.install-rail-copy h1{font-size:25px}.install-heading h2{font-size:21px}.install-grid .span-2,.install-grid .span-3{grid-column:auto}.install-actions{flex-direction:column;align-items:stretch}.account-top{flex-direction:column}.account-profile-actions{grid-template-columns:1fr}.account-profile-card,.account-membership-panel,.account-security-panel,.account-quota-card,.account-identity-column>.account-profile-card,.account-identity-column>.account-membership-panel{padding:18px}.account-quota-grid,.account-product-list,.image-grid{grid-template-columns:1fr}.work-grid{grid-template-columns:minmax(0,1fr)}}.admin-shell{--admin-sidebar-width:210px;--admin-shell-gap:10px;--admin-page-inset:12px;--admin-page-top:12px;--admin-sticky-top:12px;--admin-control-bg:color-mix(in srgb, var(--surface-hover) 86%, var(--bg) 14%);--admin-control-bg-hover:color-mix(in srgb, var(--surface-hover) 96%, var(--bg) 4%);--admin-control-border:transparent;min-height:100vh;padding:var(--admin-page-top) var(--admin-page-inset) var(--admin-page-top) calc(var(--admin-sidebar-width) + var(--admin-shell-gap) + var(--admin-page-inset));background:var(--bg);transition:none;overflow-x:hidden}:root[data-theme=light] .admin-shell{--admin-control-bg:color-mix(in srgb, var(--surface-hover) 72%, #d9dee5 28%);--admin-control-bg-hover:color-mix(in srgb, var(--surface-hover) 58%, #cbd3dc 42%);--admin-control-border:transparent}.admin-state{background:var(--bg);place-items:center;min-height:100vh;padding:32px;display:grid}.admin-state-loading{background:var(--bg)}.admin-state .empty-state{width:min(420px,100%);min-height:0;padding:30px}.admin-state .empty-icon{width:54px;height:54px;color:var(--accent);background:var(--accent-light);box-shadow:none;border-radius:50%}.admin-sidebar{top:var(--admin-page-top);left:var(--admin-page-inset);z-index:30;width:var(--admin-sidebar-width);height:calc(100dvh - var(--admin-page-top) * 2);scrollbar-width:none;background:color-mix(in srgb, var(--surface) 94%, transparent);box-shadow:var(--shadow-lg);grid-template-rows:auto 1fr auto;gap:20px;padding:20px;transition:none;display:grid;position:fixed;overflow:hidden auto}.admin-sidebar-toggle{width:34px;height:34px;color:var(--text-secondary);background:var(--admin-control-bg);border-radius:var(--radius-md);place-items:center;transition:background .16s,color .16s;display:grid;position:absolute;top:14px;right:14px}.admin-sidebar-toggle:hover{color:var(--text-primary);background:var(--admin-control-bg-hover)}.admin-sidebar::-webkit-scrollbar{width:0;height:0}.admin-sidebar h1{letter-spacing:0;text-overflow:clip;white-space:nowrap;margin:8px 0 0;padding-right:38px;font-size:28px;line-height:1.05;transition:opacity .16s;overflow:hidden}.admin-sidebar .eyebrow{white-space:nowrap;overflow:hidden}.admin-nav{align-content:start;gap:4px;display:grid}.admin-nav-group{gap:4px;display:grid;position:relative}.admin-nav-parent .admin-nav-caret{color:var(--text-tertiary);margin-left:auto;transition:transform .16s}.admin-nav-group.is-open .admin-nav-caret{transform:rotate(180deg)}.admin-nav-children{gap:4px;padding-left:14px;display:none}.admin-nav-group.is-open .admin-nav-children{display:grid}.admin-nav-children button{min-height:36px;padding-left:10px;font-size:13px}.admin-nav button,.admin-theme-toggle,.admin-logout{min-height:40px;color:var(--text-secondary);border-radius:var(--radius-md);white-space:nowrap;align-items:center;gap:10px;padding:0 12px;font-weight:750;transition:none;display:flex;overflow:hidden}.admin-nav button svg,.admin-theme-toggle svg,.admin-logout svg{flex:none;transition:none}.admin-nav button:hover,.admin-nav button.is-active{color:var(--text-primary);background:var(--surface-hover);box-shadow:none}.admin-sidebar-actions{border-top:1px solid var(--divider);grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;align-self:end;gap:6px;padding-top:12px;display:grid}.admin-sidebar-head,.admin-nav button,.admin-sidebar-actions{transition:opacity .16s}.admin-theme-toggle,.admin-logout{width:100%;height:40px;min-height:40px;color:var(--text-secondary);background:var(--admin-control-bg);justify-content:center;gap:8px;padding:0 10px;font-size:13px;transition:none}.admin-shell.is-sidebar-collapsed,html.is-admin-sidebar-collapsed .admin-shell{--admin-sidebar-width:76px;--admin-shell-gap:8px}.admin-shell.is-sidebar-collapsed .admin-sidebar,html.is-admin-sidebar-collapsed .admin-shell .admin-sidebar{gap:12px;padding:58px 12px 12px;overflow:visible}.admin-shell.is-sidebar-collapsed .admin-sidebar-toggle,html.is-admin-sidebar-collapsed .admin-shell .admin-sidebar-toggle{left:50%;right:auto;transform:translate(-50%)}.admin-shell.is-sidebar-collapsed .admin-sidebar-head,html.is-admin-sidebar-collapsed .admin-shell .admin-sidebar-head{opacity:0;display:none;transform:translate(-6px)}.admin-shell.is-sidebar-collapsed .admin-nav,html.is-admin-sidebar-collapsed .admin-shell .admin-nav,.admin-shell.is-sidebar-collapsed .admin-nav-group,html.is-admin-sidebar-collapsed .admin-shell .admin-nav-group{gap:8px}.admin-shell.is-sidebar-collapsed .admin-nav-group+.admin-nav-group,html.is-admin-sidebar-collapsed .admin-shell .admin-nav-group+.admin-nav-group{border-top:0;margin-top:0;padding-top:0}.admin-shell.is-sidebar-collapsed .admin-nav-caret,html.is-admin-sidebar-collapsed .admin-shell .admin-nav-caret{display:none!important}.admin-shell.is-sidebar-collapsed .admin-nav-children,html.is-admin-sidebar-collapsed .admin-shell .admin-nav-children{display:none}.admin-shell.is-sidebar-collapsed .admin-nav-group:hover .admin-nav-children,html.is-admin-sidebar-collapsed .admin-shell .admin-nav-group:hover .admin-nav-children{z-index:60;background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--divider);border-radius:var(--radius-md);min-width:168px;box-shadow:var(--shadow-lg);padding:10px;display:grid;position:absolute;top:0;left:calc(100% - 1px)}.admin-shell.is-sidebar-collapsed .admin-nav-group:hover .admin-nav-children button,html.is-admin-sidebar-collapsed .admin-shell .admin-nav-group:hover .admin-nav-children button{justify-content:flex-start;gap:10px;min-height:40px;padding:0 12px;font-size:13px}.admin-shell.is-sidebar-collapsed .admin-nav button,.admin-shell.is-sidebar-collapsed .admin-theme-toggle,.admin-shell.is-sidebar-collapsed .admin-logout,html.is-admin-sidebar-collapsed .admin-shell .admin-nav button,html.is-admin-sidebar-collapsed .admin-shell .admin-theme-toggle,html.is-admin-sidebar-collapsed .admin-shell .admin-logout{justify-content:center;gap:0;width:100%;min-height:48px;padding:0;font-size:0}.admin-shell.is-sidebar-collapsed .admin-nav button svg,.admin-shell.is-sidebar-collapsed .admin-theme-toggle svg,.admin-shell.is-sidebar-collapsed .admin-logout svg,html.is-admin-sidebar-collapsed .admin-shell .admin-nav button svg,html.is-admin-sidebar-collapsed .admin-shell .admin-theme-toggle svg,html.is-admin-sidebar-collapsed .admin-shell .admin-logout svg{width:19px;height:19px}.admin-shell.is-sidebar-collapsed .admin-sidebar-actions,html.is-admin-sidebar-collapsed .admin-shell .admin-sidebar-actions{grid-template-columns:1fr;justify-items:center;padding-top:8px}.admin-shell.is-sidebar-collapsed .admin-theme-toggle,.admin-shell.is-sidebar-collapsed .admin-logout,html.is-admin-sidebar-collapsed .admin-shell .admin-theme-toggle,html.is-admin-sidebar-collapsed .admin-shell .admin-logout{width:100%;height:48px;padding:0;font-size:0}.admin-theme-toggle:hover,.admin-logout:hover{color:var(--text-primary);background:var(--admin-control-bg-hover)}.admin-main{width:100%;min-width:0;max-width:1720px;height:calc(100dvh - var(--admin-page-top) * 2);background:color-mix(in srgb, var(--surface) 94%, transparent);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);scrollbar-width:none;-ms-overflow-style:none;margin:0 auto;padding:20px 24px 28px;overflow:hidden auto}.admin-main::-webkit-scrollbar{width:0;height:0}.admin-content{padding-top:20px}.admin-shell .btn:hover:not(:disabled),.admin-shell .btn:active:not(:disabled),.admin-shell input:hover,.admin-shell select:hover,.admin-shell textarea:hover{transform:none}.admin-shell .btn-outline,.admin-shell .btn-ghost{background:var(--admin-control-bg);color:var(--text-primary);box-shadow:var(--shadow-sm)}.admin-shell .btn-outline:hover:not(:disabled),.admin-shell .btn-ghost:hover:not(:disabled),.admin-shell .btn-outline:active:not(:disabled),.admin-shell .btn-ghost:active:not(:disabled){background:var(--admin-control-bg-hover);color:var(--text-primary);box-shadow:var(--shadow-sm)}.admin-shell input,.admin-shell select,.admin-shell textarea{background:var(--admin-control-bg);border:1px solid var(--admin-control-border);min-height:46px;box-shadow:inset 0 1px 0 #ffffff06, var(--shadow-sm)}.admin-shell select option{color:var(--text-primary);background:var(--surface)}.admin-shell select option:checked{color:var(--accent-contrast,var(--bg));background:var(--accent)}.admin-shell input:hover,.admin-shell select:hover,.admin-shell textarea:hover{box-shadow:inset 0 1px 0 #ffffff09, var(--shadow-sm);border-color:#0000}.admin-shell input:focus,.admin-shell select:focus,.admin-shell textarea:focus{background:var(--admin-control-bg-hover);box-shadow:0 0 0 3px var(--accent-light), inset 0 1px 0 #ffffff0a;border-color:#0000}.admin-shell input::placeholder,.admin-shell textarea::placeholder{color:color-mix(in srgb, var(--text-tertiary) 78%, var(--text-secondary))}.admin-select{min-width:0;position:relative}.admin-select-trigger{width:100%;min-height:46px;color:var(--text-primary);background:var(--admin-control-bg);border:1px solid var(--admin-control-border);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 #ffffff06, var(--shadow-sm);font:inherit;text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;font-weight:800;display:flex}.admin-select-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-select-trigger svg{color:var(--text-secondary);flex:none}.admin-select-trigger:hover,.admin-select[data-open] .admin-select-trigger{background:var(--admin-control-bg-hover);box-shadow:0 0 0 3px var(--accent-light), inset 0 1px 0 #ffffff0a;border-color:#0000}.admin-select-menu{z-index:80;background:color-mix(in srgb, var(--surface) 92%, var(--bg));border:1px solid color-mix(in srgb, var(--border-hover) 72%, transparent);border-radius:var(--radius-md);width:100%;min-width:100%;max-width:100%;max-height:280px;box-shadow:var(--shadow-xl);gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto}.admin-select-search{background:var(--admin-control-bg);border-radius:calc(var(--radius-md) - 4px);width:100%;min-width:0;min-height:36px;color:var(--text-primary);border:1px solid #0000;margin-bottom:4px;padding:0 10px;font-size:13px;font-weight:800}.admin-select-menu button{min-height:36px;color:var(--text-primary);border-radius:calc(var(--radius-md) - 4px);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;align-items:center;padding:0 10px;font-size:13px;font-weight:800;display:flex;overflow:hidden}.admin-select-menu button:hover,.admin-select-menu button[aria-selected=true]{background:color-mix(in srgb, var(--accent-light) 74%, var(--surface-hover));color:var(--text-primary)}.admin-select-menu button:disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.55}.admin-select-empty{min-height:36px;color:var(--text-tertiary);place-items:center;font-size:13px;font-weight:800;display:grid}.admin-main .page-header{z-index:24;background:color-mix(in srgb, var(--surface) 94%, transparent);border-bottom:0;min-height:auto;margin:-20px -24px 0;padding:20px 24px 16px;transition:none;position:sticky;top:-20px}.admin-main .page-header:before{content:none}.admin-main .page-header h1{letter-spacing:0;font-size:26px}.admin-main .page-header p{max-width:700px}.admin-overview{gap:12px;display:grid}.admin-metrics{grid-template-columns:repeat(5,minmax(96px,1fr));gap:10px;display:grid}.metric-card{min-height:104px;box-shadow:var(--shadow-md);gap:6px;padding:15px 16px;display:grid;position:relative}.metric-icon{width:32px;height:32px;color:var(--accent);background:var(--accent-light);border-radius:50%;place-items:center;display:grid}.metric-card span:not(.metric-icon),.metric-card small{color:var(--text-secondary)}.metric-card strong{font-size:28px;line-height:1}.admin-overview-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);align-items:stretch;gap:12px;display:grid}.admin-overview-primary{grid-template-rows:282px minmax(0,1fr);gap:12px;min-width:0;display:grid}.admin-overview-aside{grid-template-rows:282px minmax(0,1fr);align-self:stretch;gap:12px;min-height:0;display:grid}.admin-summary{align-content:start;padding:18px;display:grid}.admin-service-card{min-height:0;padding:18px 20px;overflow:hidden}.admin-active-card{min-height:0}.admin-side-summary{min-height:100%}.admin-log-summary{grid-template-rows:auto minmax(0,1fr);min-height:0}.admin-summary .panel-head{margin-bottom:12px}.admin-summary h2{margin:4px 0 0;font-size:18px}.admin-summary dl{gap:0;margin:0;display:grid}.admin-summary dl div,.compact-list div{border-bottom:1px solid var(--divider);grid-template-columns:minmax(120px,.34fr) minmax(0,1fr);align-items:center;gap:14px;min-height:44px;padding:8px 0;display:grid}.compact-list div{grid-template-columns:minmax(0,1fr) auto}.compact-list{max-height:208px;padding-right:4px;display:grid;overflow:auto}.admin-side-stats{gap:8px;display:grid}.admin-side-stats div{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:baseline;gap:16px;min-height:40px;padding:8px 0;display:flex}.admin-side-stats div:last-child{border-bottom:none}.admin-side-stats span{color:var(--text-secondary)}.admin-side-stats strong{font-variant-numeric:tabular-nums;font-size:18px}.admin-summary dt,.compact-list span,.admin-log-feed small{color:var(--text-secondary)}.admin-summary dd{text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-weight:800;overflow:hidden}.admin-service-card dl{min-width:0}.admin-service-card dl div{grid-template-columns:minmax(96px,.28fr) minmax(0,1fr);min-height:38px;padding:6px 0}.admin-service-card .admin-service-ratios{align-items:start}.admin-service-card .panel-head{margin-bottom:8px}.admin-service-card h2{font-size:17px}.admin-log-feed{gap:0;min-height:0;padding-right:4px;display:grid}.admin-log-feed div{border-bottom:1px solid var(--divider);grid-template-columns:64px minmax(0,1fr) minmax(190px,auto);align-items:center;gap:12px;min-height:40px;padding:7px 0;display:grid}.admin-log-feed strong,.admin-log-feed small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-log-feed .text-subtle,.compact-list .text-subtle{min-height:86px;color:var(--text-secondary);place-items:center start;display:grid}.admin-log-type{min-width:44px;height:22px;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.admin-users-page{gap:20px;display:grid}.admin-page-header{justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.admin-users-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);gap:0;display:grid;overflow:hidden}.users-table-header{background:var(--surface-hover);border-bottom:1px solid var(--border);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;grid-template-columns:2fr .8fr .8fr 1.1fr 1.1fr 1.1fr .8fr 1fr;gap:16px;padding:14px 20px;font-size:12px;font-weight:700;display:grid}.users-table-row{border-bottom:1px solid var(--divider);grid-template-columns:2fr .8fr .8fr 1.1fr 1.1fr 1.1fr .8fr 1fr;align-items:center;gap:16px;padding:16px 20px;transition:background .18s;display:grid}.users-table-row:last-child{border-bottom:none}.users-table-row:hover{background:var(--surface-hover)}.table-col{align-items:center;min-width:0;display:flex}.col-user{gap:12px}.user-avatar{background:var(--accent-light);width:36px;height:36px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.user-list-identity{gap:3px;min-width:0;display:grid}.user-list-identity small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.tier-badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;height:24px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.tier-badge.free{background:var(--surface-hover);color:var(--text-secondary)}.tier-badge.premium{background:var(--accent-light);color:var(--accent)}.status-badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;height:24px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.status-badge.enabled{color:var(--success);background:#10b9811a}.status-badge.disabled{color:var(--error);background:#ef44441a}.col-actions{justify-content:flex-end}.quota-text{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.admin-ledger-row,.admin-product-row,.admin-payment-head,.admin-payment-row,.admin-marketing-row,.admin-redemption-row{border-bottom:1px solid var(--divider);min-height:50px;color:var(--text-secondary);text-align:left;align-items:center;gap:12px;padding:9px 14px;font-size:13px;display:grid}.admin-payment-head{min-height:38px;color:var(--text-tertiary);background:color-mix(in srgb, var(--surface-hover) 45%, transparent);border-bottom-color:color-mix(in srgb, var(--divider) 72%, transparent);padding-block:6px;font-size:12px;font-weight:800}.admin-ledger-row{grid-template-columns:72px 76px minmax(120px,1fr) minmax(110px,.8fr) 86px 150px minmax(180px,1.4fr)}.admin-ledger-row code,.admin-ledger-row span,.admin-product-row strong,.admin-product-row span,.admin-payment-head span,.admin-payment-row strong,.admin-payment-row span,.admin-payment-row code,.admin-marketing-row strong,.admin-marketing-row span,.admin-redemption-row strong,.admin-redemption-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-ledger-direction{border-radius:var(--radius-full);background:var(--surface-hover);width:fit-content;min-width:44px;height:24px;color:var(--text-secondary);justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.admin-ledger-direction.credit,.admin-ledger-direction.refund{color:var(--success);background:#10b9811a}.admin-ledger-direction.debit{color:var(--accent);background:var(--accent-light)}.paid-quota-adjust{grid-template-columns:130px minmax(90px,.7fr) minmax(160px,1fr) auto;align-items:center;gap:8px;display:grid}.paid-quota-adjust strong{color:var(--text-primary);white-space:nowrap;font-size:13px}.admin-product-form{grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end;gap:10px;padding:14px;display:grid}.admin-product-form label{color:var(--text-secondary);gap:6px;font-size:12px;font-weight:700;display:grid}.admin-product-row{background:0 0;grid-template-columns:minmax(170px,1.35fr) 112px 110px 90px 120px 76px minmax(132px,auto)}.admin-product-row:hover,.admin-marketing-row:hover{background:var(--surface-hover)}.admin-order-row{grid-template-columns:minmax(150px,1.2fr) minmax(110px,.9fr) 92px minmax(110px,.8fr) 150px minmax(130px,1fr) minmax(176px,auto)}.admin-event-row{grid-template-columns:minmax(128px,.9fr) 76px 88px minmax(150px,1.1fr) 150px minmax(180px,1fr) 84px}.admin-entitlement-row{grid-template-columns:minmax(150px,1fr) 90px 92px 150px 150px minmax(190px,1fr) 90px}.admin-refund-row{grid-template-columns:minmax(108px,.9fr) 84px minmax(120px,1fr) 150px minmax(180px,1.2fr) minmax(122px,auto)}.admin-refund-row .admin-row-actions{justify-content:flex-end}.admin-refund-table{overflow-x:hidden}.admin-refund-tip{min-width:0;position:relative;overflow:visible}.admin-payment-row .admin-refund-tip{overflow:visible}.admin-refund-tip>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-refund-tip:after{content:attr(data-tip);z-index:20;background:color-mix(in srgb, var(--surface) 88%, var(--text-primary) 12%);width:max-content;max-width:min(420px,70vw);box-shadow:var(--shadow-lg);color:var(--text-primary);white-space:normal;pointer-events:none;opacity:0;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(4px)}.admin-refund-tip:hover:after{opacity:1;transform:translateY(0)}.admin-refund-meta{align-items:center;gap:10px;min-width:0;display:flex}.admin-refund-meta time{white-space:nowrap}.admin-refund-meta code{max-width:190px}.admin-refund-meta code.admin-refund-tip{display:block}.admin-marketing-row{background:0 0;grid-template-columns:minmax(170px,1.3fr) 86px 86px 82px minmax(150px,1fr) 80px minmax(178px,auto)}.admin-redemption-row{grid-template-columns:minmax(170px,1.2fr) minmax(120px,1fr) 76px 76px minmax(140px,1fr) 150px}.admin-row-actions{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;gap:6px;min-width:0;display:flex}.admin-pagination{min-height:48px;color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.admin-pagination input{text-align:center;width:46px;min-height:32px;padding:0 8px}.admin-pagination .btn{box-shadow:none}.admin-list-tools{border-bottom:1px solid color-mix(in srgb, var(--divider) 72%, transparent);align-items:center;gap:10px;min-width:0;padding:10px 14px;display:flex}.admin-list-tools input,.admin-list-tools select{min-height:36px}.admin-list-tools input{flex:1;min-width:180px}.admin-list-tools select{width:128px}.admin-money,.admin-summary-text{color:var(--text-primary);font-weight:800}.admin-muted{color:var(--text-tertiary)}.admin-status-pill{width:fit-content;min-width:54px;height:24px;color:var(--text-secondary);background:var(--surface-hover);border-radius:var(--radius-full);white-space:nowrap;justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.admin-status-pill.success,.admin-status-pill.active,.admin-status-pill.paid,.admin-status-pill.processed{color:var(--success);background:#10b9811a}.admin-status-pill.warning,.admin-status-pill.pending,.admin-status-pill.draft{color:var(--warning);background:color-mix(in srgb, var(--warning) 13%, transparent)}.admin-status-pill.danger,.admin-status-pill.failed,.admin-status-pill.refunded,.admin-status-pill.ended,.admin-status-pill.expired,.admin-status-pill.cancelled{color:var(--error);background:#ef44441a}.admin-status-pill.paused,.admin-status-pill.disabled{color:var(--text-tertiary);background:color-mix(in srgb, var(--surface-hover) 70%, transparent)}.admin-status-pill.running{color:var(--accent);background:var(--accent-light)}.admin-empty-state{text-align:center;color:var(--text-tertiary);padding:60px 20px;font-size:14px}.user-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overscroll-behavior:contain;background:#00000080;place-items:center;padding:20px;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.user-modal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:760px;max-height:min(88vh,760px);box-shadow:var(--shadow-xl);overscroll-behavior:contain;grid-template-rows:auto minmax(0,1fr);animation:.3s cubic-bezier(.4,0,.2,1) slideUp;display:grid;overflow:hidden}.user-modal-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:18px 22px 16px;display:flex}.user-modal-header h2{color:var(--text-primary);font-size:18px;font-weight:700}.user-modal-close{width:32px;height:32px;color:var(--text-tertiary);border-radius:var(--radius-md);place-items:center;transition:all .18s;display:grid}.user-modal-close:hover{color:var(--text-primary);background:var(--surface-hover)}.user-modal-body{overscroll-behavior:contain;min-height:0;max-height:none;padding:16px 22px 0;overflow-y:auto}.user-editor-body{display:block}.user-modal-footer{z-index:2;background:var(--surface);border-top:1px solid var(--divider);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px 0 16px;display:flex;position:sticky;bottom:0}.user-modal-footer-left,.user-modal-footer-right{align-items:center;gap:8px;display:flex}.user-fields{gap:10px;display:grid}.form-field{gap:6px;display:grid}.field-label{color:var(--text-secondary);font-size:13px;font-weight:600}.key-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.user-key-field{margin-top:0}.key-input-row .btn{height:38px}.field-hint{color:var(--text-tertiary);font-size:12px;line-height:1.4}.form-field input,.form-field select{background:var(--surface-hover);border-radius:var(--radius-md);border:1px solid #0000;width:100%;height:38px;padding:0 12px;font-size:14px;transition:all .18s}.form-field input:focus,.form-field select:focus{background:var(--surface);border-color:var(--border-hover);outline:none}.checkbox-field{cursor:pointer;align-items:center;gap:10px;padding:4px 0;display:flex}.checkbox-field input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px}.checkbox-field span{color:var(--text-primary);font-size:14px;font-weight:500}.form-divider{border-top:1px solid var(--divider);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-top:8px;padding-top:20px;font-size:13px;font-weight:700}.quota-field{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.quota-field .form-field{margin:0}.quota-field .checkbox-field{padding-bottom:6px}.reset-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.admin-create-title{min-height:40px;color:var(--text-primary);white-space:nowrap;align-items:center;gap:8px;font-size:14px;font-weight:900;display:inline-flex}.admin-create-title svg{color:var(--accent)}.admin-user-createbar .user-fields{grid-template-columns:minmax(140px,.8fr) minmax(128px,.62fr) minmax(98px,auto) repeat(3,minmax(168px,1fr));align-items:end;gap:10px}.admin-create-submit{min-width:86px;min-height:42px}.admin-form{gap:12px;padding:16px;display:grid}.settings-workspace{grid-template-columns:1fr;align-items:start;gap:12px;display:grid}.settings-index{background:color-mix(in srgb, var(--surface) 92%, transparent);border-radius:var(--radius-md);gap:6px;min-width:0;padding:6px;display:flex;overflow-x:auto}.settings-index a{min-height:48px;color:var(--text-secondary);border-radius:calc(var(--radius-md) - 4px);background:0 0;flex-direction:column;flex:1 0 128px;justify-content:center;gap:2px;padding:8px 12px;text-decoration:none;display:flex}.settings-index a:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 74%, transparent)}.settings-index span{color:var(--text-primary);font-size:13px;font-weight:900}.settings-index small{color:var(--text-tertiary);font-size:12px;line-height:1.35}.settings-console{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);display:grid;overflow:hidden}.settings-back-top{z-index:40;width:48px;height:48px;color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 82%, var(--text-primary) 18%);box-shadow:var(--shadow-lg);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .16s,box-shadow .16s,transform .16s;display:inline-flex;position:fixed;bottom:72px;right:28px}.settings-back-top:hover{background:color-mix(in srgb, var(--surface-hover) 72%, var(--text-primary) 28%);box-shadow:var(--shadow-xl);transform:translateY(-2px)}.settings-section{border-bottom:1px solid var(--divider);background:0 0;grid-template-columns:1fr;align-content:start;gap:16px;min-width:0;max-width:100%;padding:22px;scroll-margin-top:128px;display:grid}.settings-section:last-child{border-bottom:none}.settings-section-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-width:0;display:grid}.settings-section-head>div{min-width:0}.settings-section-head h2{margin:2px 0 0;font-size:18px}.settings-section-head p{color:var(--text-tertiary);margin:6px 0 0;font-size:12px;line-height:1.45}.settings-section-head svg{color:var(--text-secondary);flex:none;grid-area:1/1}.settings-section-head>div{grid-area:1/2}.settings-section label{gap:6px;min-width:0;font-size:13px}.settings-section>:not(.settings-section-head){grid-column:1}.settings-section input,.settings-section select,.settings-section textarea{min-height:40px}.settings-section textarea{resize:vertical;min-height:86px}.settings-section small{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.settings-disabled-field{color:var(--text-tertiary);opacity:.58}.settings-disabled-field input,.settings-disabled-field small{color:var(--text-tertiary)}.settings-disabled-field input{background:color-mix(in srgb, var(--admin-control-bg) 58%, var(--bg) 42%);box-shadow:none}.settings-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:12px;display:grid}.settings-section-storage .settings-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))}.settings-form-grid-3{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.settings-form-grid>label.span-2{grid-column:span 2}.settings-form-grid>fieldset.settings-quota-card.span-2,.settings-form-grid>small.span-2,.settings-form-grid>p.span-2{grid-column:1/-1}.settings-form-grid>.settings-multiplier-grid.span-2{grid-column:span 1}.settings-inline-fields{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),max-content));align-items:end;gap:12px;display:grid}.settings-inline-fields .settings-inline-check{min-height:46px}.settings-paired-fields{grid-template-columns:repeat(2,minmax(260px,1fr));align-items:end;gap:12px;display:grid}.settings-payment-card{perspective:1400px;gap:12px;display:grid}.settings-payment-switch{background:color-mix(in srgb, var(--surface-hover) 62%, transparent);border-radius:var(--radius-md);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(420px,100%);padding:4px;display:grid}.settings-payment-switch button{min-height:38px;color:var(--text-secondary);border-radius:calc(var(--radius-md) - 4px);background:0 0;font-weight:900}.settings-payment-switch button.is-active{color:var(--text-primary);background:color-mix(in srgb, var(--surface) 84%, var(--accent-light))}.settings-payment-flip{transform-style:preserve-3d;transition:transform .36s;display:grid}.settings-payment-card.is-alipay .settings-payment-flip{transform:rotateY(180deg)}.settings-payment-face{background:color-mix(in srgb, var(--surface-hover) 34%, transparent);border-radius:var(--radius-md);backface-visibility:hidden;grid-area:1/1;padding:14px}.settings-payment-alipay{transform:rotateY(180deg)}.settings-payment-card input[type=file]{min-height:40px;color:var(--text-secondary);padding:8px 10px;font-size:13px}.settings-upload-field>span{grid-template-columns:minmax(0,1fr) minmax(240px,.34fr);gap:10px;min-width:0;display:grid}.settings-upload-field input[type=file]{min-width:0;height:46px;min-height:46px}.settings-multiplier-grid{background:color-mix(in srgb, var(--surface-hover) 46%, transparent);border:1px solid var(--divider);border-radius:var(--radius-md);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;padding:12px;display:grid}.settings-multiplier-grid legend{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:700}@media (width<=980px){.settings-form-grid>.settings-multiplier-grid.span-2{grid-column:1/-1}}.settings-section-storage .settings-form-grid .span-2,.settings-section-storage .settings-form-grid .span-full{grid-column:1/-1}.settings-quota-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.settings-quota-card{background:color-mix(in srgb, var(--surface-hover) 42%, transparent);border:1px solid var(--divider);border-radius:var(--radius-md);gap:12px;min-width:0;padding:12px;display:grid}.settings-quota-card legend{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:700}.settings-help-text{color:var(--text-secondary);margin:-4px 0 0;font-size:12px;line-height:1.6}.admin-android-card-list{gap:12px;display:grid}.admin-android-card-head{grid-template-columns:minmax(0,1fr) auto;gap:10px}.admin-android-card-head .btn{justify-self:end}.admin-android-card-head .btn svg{grid-area:auto}.admin-prompt-list,.admin-prompt-item-list{gap:10px;display:grid}.admin-prompt-section-row{border:1px solid var(--divider);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-hover) 28%, transparent);min-width:0}.admin-prompt-section-row>summary{cursor:pointer;grid-template-columns:72px minmax(120px,1fr) minmax(160px,1.4fr) 72px auto auto auto;align-items:center;gap:8px;padding:10px;list-style:none;display:grid}.admin-prompt-section-row>summary::-webkit-details-marker{display:none}.admin-prompt-item-list{padding:0 10px 10px}.admin-prompt-item-row{border:1px solid var(--divider);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:40px minmax(110px,.9fr) minmax(110px,.9fr) minmax(150px,1.2fr) 64px;align-items:start;gap:8px;padding:10px;display:grid}.admin-prompt-item-row textarea{grid-column:2/span 4;min-height:58px}.admin-prompt-row-index{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:700}.admin-prompt-sort{max-width:72px}.admin-prompt-enabled{min-height:38px;color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.android-config-console{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:14px;display:grid}.android-config-tabs{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);flex-wrap:wrap;gap:8px;padding:8px;display:flex}.android-config-tabs button{min-height:38px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:0 14px;font-weight:700}.android-config-tabs button.is-active{color:var(--text-primary);background:color-mix(in srgb, var(--accent) 18%, var(--surface-hover))}.android-config-sidebar,.android-config-main,.android-config-panel{min-width:0}.android-config-sidebar{gap:8px;display:grid;position:sticky;top:12px}.android-config-sidebar button,.admin-prompt-table button{width:100%;min-width:0;color:var(--text-primary);text-align:left;background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-sm);cursor:pointer;gap:4px;padding:10px 12px;display:grid}.android-config-sidebar button.is-active,.admin-prompt-table button.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface))}.android-config-sidebar small,.admin-prompt-table small{color:var(--text-secondary)}.android-config-main{gap:14px;display:grid}.android-featured-console{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:14px;display:grid}.android-config-panel{border:1px solid var(--divider);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-hover) 24%, transparent);gap:12px;padding:14px;display:grid}.android-config-panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.android-config-panel-head>strong{white-space:nowrap;flex:none}.android-config-panel-head>input{max-width:420px}.android-config-panel-head .settings-actions{margin:0}.android-config-panel-head .settings-actions .btn{flex:none;width:auto;min-width:44px}.admin-prompt-section-form{grid-template-columns:minmax(120px,.8fr) minmax(180px,1.3fr) minmax(260px,1.8fr) 80px auto;align-items:center;gap:10px;display:grid}.admin-prompt-table{gap:8px;max-height:420px;padding-right:4px;display:grid;overflow:auto}.admin-prompt-table button{grid-template-columns:minmax(140px,1fr) minmax(160px,1.5fr) auto;align-items:center}.admin-prompt-table em{color:var(--text-secondary);font-size:12px;font-style:normal}.admin-prompt-pagination{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.admin-prompt-pagination .settings-actions{margin:0}.settings-limit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.settings-limit-field{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;min-width:0;display:grid}.settings-limit-field .settings-inline-check{white-space:nowrap;min-height:44px}.settings-copy-field{gap:8px;display:grid}.settings-copy-field textarea{resize:vertical;min-height:84px}.settings-inline-check{min-height:24px;color:var(--text-secondary);flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;padding:0;line-height:1.2;display:inline-flex}.settings-form-grid .settings-storage-check{justify-content:flex-start;align-self:end;min-height:40px;padding:0 0 9px}.settings-inline-check input[type=checkbox]{appearance:none;background:color-mix(in srgb, var(--surface-hover) 76%, var(--bg));border:1px solid color-mix(in srgb, var(--text-tertiary) 72%, var(--divider));width:18px;min-width:18px;max-width:18px;height:18px;min-height:18px;max-height:18px;accent-color:var(--accent);box-shadow:none;border-radius:4px;flex:none;place-content:center;margin:0;padding:0;display:inline-grid}.admin-shell .settings-section .settings-inline-check input[type=checkbox],.admin-shell .settings-inline-check.checkbox-row input[type=checkbox],.admin-shell .admin-prompt-enabled.settings-inline-check input[type=checkbox]{width:18px;min-width:18px;max-width:18px;height:18px;min-height:18px;max-height:18px;padding:0}.settings-inline-check input[type=checkbox]:after{border-bottom:2px solid var(--accent-contrast,#0b1208);border-left:2px solid var(--accent-contrast,#0b1208);content:"";opacity:0;width:9px;height:5px;transform:rotate(-45deg)translateY(-1px)}.settings-inline-check input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.settings-inline-check input[type=checkbox]:checked:after{opacity:1}.admin-shell .settings-inline-check input[type=checkbox]:hover,.admin-shell .settings-inline-check input[type=checkbox]:focus,.admin-shell .settings-inline-check input[type=checkbox]:focus-visible{background:color-mix(in srgb, var(--surface-hover) 76%, var(--bg));border-color:color-mix(in srgb, var(--accent) 44%, var(--text-tertiary));box-shadow:none;outline:none}.admin-shell .settings-inline-check input[type=checkbox]:checked:hover,.admin-shell .settings-inline-check input[type=checkbox]:checked:focus,.admin-shell .settings-inline-check input[type=checkbox]:checked:focus-visible{background:var(--accent);border-color:var(--accent)}.settings-section .settings-actions{justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.settings-section .settings-actions .btn{width:auto;min-width:132px;min-height:42px}.settings-section-security{border-color:color-mix(in srgb, var(--accent) 18%, var(--divider))}.admin-user-table{border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);min-width:0;box-shadow:none;background:0 0;border-radius:0;display:grid;overflow:auto hidden}.admin-user-table-head,.admin-user-row{border-bottom:1px solid var(--divider);grid-template-columns:minmax(190px,.72fr) minmax(260px,.9fr) minmax(520px,1.55fr) minmax(218px,auto);align-items:start;gap:14px;min-width:1220px;padding:12px 2px;display:grid}.admin-user-table-head{min-height:40px;color:var(--text-secondary);background:0 0;align-items:center;font-size:12px;font-weight:900}.admin-user-row{box-shadow:none;background:0 0;border-radius:0}.admin-user-row:last-child{border-bottom:none}.admin-user-cell{min-width:0}.admin-user-main,.user-title{justify-content:space-between;align-items:center;gap:14px;display:flex}.user-identity{align-items:center;gap:12px;min-width:0;display:flex}.user-avatar{width:28px;height:28px;color:var(--accent);background:var(--accent-light);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:900;display:grid}.user-title strong,.user-title span,.user-identity strong,.user-identity span{display:block}.user-identity strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-title span,.user-identity span{color:var(--text-secondary)}.status-dot{background:var(--success);border-radius:999px;width:11px;height:11px;margin-top:7px}.status-dot.is-off{background:var(--text-tertiary)}.user-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.checkbox-row{min-height:42px;color:var(--text-secondary);flex-direction:row;align-items:center}.checkbox-row input{width:16px;height:16px;box-shadow:none;accent-color:var(--accent);padding:0}.quota-preview{grid-template-columns:1fr;gap:8px;display:grid}.reset-actions,.admin-row-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-row-actions{flex-wrap:nowrap;justify-content:flex-end}.admin-row-actions .btn{background:color-mix(in srgb, var(--surface-hover) 82%, var(--surface));min-height:36px;color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border-hover) 70%, transparent);padding:0 12px}.admin-row-actions .btn:hover:not(:disabled){background:color-mix(in srgb, var(--surface-hover) 58%, var(--accent-light))}.admin-row-actions .btn-danger{background:var(--error);color:#fff;box-shadow:none}.admin-user-row .reset-actions,.admin-user-row .admin-user-actions{padding:0}.admin-user-row .admin-user-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-user-config{gap:10px;display:grid}.user-editor-fields{gap:12px;display:grid}.user-editor-section{background:color-mix(in srgb, var(--surface-hover) 42%, transparent);border:1px solid var(--divider);border-radius:var(--radius-md);gap:10px;padding:12px;display:grid}.user-editor-section-title{color:var(--text-secondary);font-size:12px;font-weight:900}.user-modal-content .user-fields-basic{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(160px,.72fr);gap:10px 12px;display:grid}.user-modal-content .form-field.checkbox-field,.user-modal-content .form-divider{grid-column:1/-1}.user-modal-content .user-enabled-field{grid-column:auto;align-self:end;min-height:38px}.user-modal-content .checkbox-field{width:fit-content;min-height:38px;color:var(--text-primary);flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;padding:0;display:inline-flex}.user-modal-content .checkbox-field input[type=checkbox]{width:16px;min-width:16px;height:16px;min-height:16px;box-shadow:none;accent-color:var(--accent);background:0 0;border-radius:4px;flex:0 0 16px;margin:0;padding:0}.user-modal-content .checkbox-field span{white-space:nowrap;line-height:16px}.user-modal-content .quota-field{grid-template-columns:minmax(0,1fr) max-content;gap:8px;min-width:0}.user-modal-content .quota-field .checkbox-field{height:38px;padding-bottom:0}.user-quota-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.user-editor-key-section{margin-top:10px}.user-editor-reset-actions{padding:0 2px}.settings-duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.settings-actions{justify-content:flex-end;gap:10px;display:flex}.settings-check{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-md);gap:4px;padding:12px;display:grid}.settings-check strong{color:var(--text-primary);font-size:13px}.settings-check span{color:var(--text-secondary);font-size:12px;line-height:1.5}.settings-check.is-ok{border-color:color-mix(in srgb, var(--success) 36%, var(--border))}.settings-check.is-error{border-color:color-mix(in srgb, var(--error) 36%, var(--border))}.admin-workspace{gap:16px;display:grid}.admin-page-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.admin-tabs{background:color-mix(in srgb, var(--surface-hover) 70%, transparent);border-radius:var(--radius-md);flex-wrap:wrap;gap:6px;min-width:0;padding:4px;display:flex}.admin-tabs button,.admin-type-switch button,.admin-panel-title button{min-height:34px;color:var(--text-secondary);border-radius:calc(var(--radius-md) - 4px);background:0 0;justify-content:center;align-items:center;padding:0 12px;font-weight:800;display:inline-flex}.admin-tabs button:hover,.admin-tabs button.is-active,.admin-type-switch button:hover,.admin-type-switch button.is-active{color:var(--text-primary);background:color-mix(in srgb, var(--surface) 82%, var(--accent-light))}.admin-toolbar-actions,.admin-form-footer{justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-page-toolbar .btn,.admin-form-footer .btn{color:var(--accent-contrast,var(--bg));background:var(--accent)}.admin-page-toolbar .admin-maintenance-button{color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 72%, transparent);box-shadow:none}.admin-page-toolbar .admin-maintenance-button:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 92%, var(--surface));box-shadow:var(--shadow-sm)}.admin-page-toolbar .admin-refresh-button{color:var(--accent-contrast,var(--bg));background:var(--accent);box-shadow:none}.admin-page-toolbar .admin-refresh-button:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 22%, transparent)}.admin-editor-layout{grid-template-columns:minmax(340px,.42fr) minmax(0,1fr);align-items:start}.admin-product-page,.admin-marketing-page{grid-template-columns:1fr}.admin-editor-panel,.admin-redeem-panel,.admin-data-panel{padding:16px}.admin-editor-panel{gap:14px;display:grid}.admin-editor-layout .admin-editor-panel{position:sticky;top:104px}.admin-redeem-panel{gap:12px;display:grid}.admin-panel-title,.admin-table-caption{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.admin-panel-title strong,.admin-table-caption strong{color:var(--text-primary);font-size:16px}.admin-panel-title button{color:var(--accent);background:var(--accent-light)}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-form-grid .span-2{grid-column:1/-1}.admin-form-grid label,.admin-redeem-panel label{min-width:0;color:var(--text-secondary);font-size:12px;font-weight:800}.admin-form-grid input,.admin-form-grid select,.admin-redeem-panel select{height:42px;min-height:42px}.admin-type-switch{background:color-mix(in srgb, var(--surface-hover) 70%, transparent);border-radius:var(--radius-md);grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:4px;display:grid}.admin-form-hint{min-width:0;color:var(--text-secondary);font-size:13px;font-weight:800}.admin-checkline{width:fit-content;color:var(--text-primary);flex-direction:row;align-items:center;gap:8px;margin-right:auto;font-weight:800;display:inline-flex}.admin-checkline input{width:18px;height:18px;min-height:18px;box-shadow:none;accent-color:var(--accent);padding:0}.admin-data-panel{gap:12px;overflow:visible}.admin-table-caption{min-height:58px;color:var(--text-secondary);margin-bottom:0;padding:14px 20px 10px}.admin-data-panel .admin-empty-row{background:color-mix(in srgb, var(--surface-hover) 52%, transparent);border-radius:var(--radius-md);min-height:140px}.admin-product-table-head,.admin-campaign-table-head,.admin-redemption-table-head{min-height:38px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 72%, transparent);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:0 14px;font-size:12px;font-weight:900;display:grid}.admin-product-table-head,.admin-product-row{grid-template-columns:minmax(180px,1.4fr) 120px 110px 100px 120px 76px minmax(132px,auto)}.admin-campaign-table-head,.admin-marketing-row{grid-template-columns:minmax(180px,1.35fr) 92px 82px 80px minmax(150px,1fr) 110px minmax(190px,auto)}.admin-redemption-table-head,.admin-redemption-row{grid-template-columns:minmax(180px,1.2fr) minmax(120px,.9fr) 70px 82px minmax(130px,1fr) 150px}.admin-product-row,.admin-marketing-row,.admin-redemption-row{border-bottom:1px solid var(--divider);min-width:0}.admin-products-table,.admin-campaign-table,.admin-redemption-table{overflow-x:auto}.admin-products-table .admin-table-caption,.admin-products-table .admin-product-table-head,.admin-products-table .admin-product-row,.admin-products-table .admin-empty-row{padding-left:20px;padding-right:20px}.admin-product-editor .admin-form-grid,.admin-marketing-editor .admin-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-marketing-redesign{--admin-marketing-table-columns:minmax(180px, 1.35fr) 92px 82px 80px minmax(150px, 1fr) 110px minmax(190px, auto);gap:18px}.admin-marketing-builder{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-lg);min-height:420px;box-shadow:var(--shadow-sm);grid-template-columns:minmax(210px,.36fr) minmax(430px,1fr) minmax(280px,.46fr);display:grid;overflow:hidden}.admin-marketing-type-rail,.admin-marketing-form,.admin-marketing-issue{align-content:start;gap:14px;min-width:0;padding:18px;display:grid}.admin-marketing-type-rail{background:color-mix(in srgb, var(--surface-hover) 44%, transparent)}.admin-marketing-kicker,.admin-marketing-section>span{color:var(--text-secondary);font-size:12px;font-weight:900}.admin-marketing-kicker{align-content:center;gap:4px;min-height:56px;display:grid}.admin-marketing-kicker strong{color:var(--text-primary);font-size:18px}.admin-marketing-type-rail button,.admin-issue-list button{min-height:76px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface) 54%, transparent);border-radius:var(--radius-md);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.admin-marketing-type-rail button.is-active{color:var(--text-primary);background:color-mix(in srgb, var(--accent-light) 62%, var(--surface));box-shadow:inset 3px 0 0 var(--accent)}.admin-marketing-type-rail button:hover,.admin-issue-list button:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 76%, var(--surface))}.admin-marketing-type-rail strong,.admin-issue-list strong{color:var(--text-primary);display:block}.admin-marketing-type-rail small,.admin-issue-list small,.admin-marketing-form .admin-panel-title small,.admin-marketing-issue .admin-panel-title small{color:var(--text-tertiary);margin-top:4px;font-size:12px;font-weight:750;display:block}.admin-marketing-form{border-right:1px solid var(--divider);border-left:1px solid var(--divider)}.admin-marketing-section{gap:12px;padding-top:2px;display:grid}.admin-marketing-form .admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-discount-products{min-width:0;color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 62%, transparent);border-radius:var(--radius-md);gap:6px;padding:12px 14px;display:grid}.admin-discount-products span{font-size:12px;font-weight:900}.admin-discount-products p{color:var(--text-primary);margin:0;font-size:13px;font-weight:800;line-height:1.5}.admin-marketing-issue label{min-width:0;color:var(--text-secondary);gap:8px;font-size:12px;font-weight:800;display:grid}.admin-issue-list{gap:8px;display:grid}.admin-issue-list button{background:color-mix(in srgb, var(--surface-hover) 60%, transparent);min-height:64px}.admin-issue-list button:disabled{cursor:not-allowed;opacity:.55}.admin-issue-list p{min-height:96px;color:var(--text-tertiary);background:color-mix(in srgb, var(--surface-hover) 52%, transparent);border-radius:var(--radius-md);place-items:center;margin:0;display:grid}.admin-marketing-redesign .admin-form-footer{border-top:1px solid var(--divider);padding-top:6px}.admin-marketing-redesign .admin-campaign-table,.admin-marketing-redesign .admin-redemption-table{padding:0;overflow-x:auto}.admin-marketing-redesign .admin-table-caption,.admin-marketing-redesign .admin-campaign-table-head,.admin-marketing-redesign .admin-redemption-table-head,.admin-marketing-redesign .admin-marketing-row,.admin-marketing-redesign .admin-redemption-row,.admin-marketing-redesign .admin-empty-row{padding-left:20px;padding-right:20px}.admin-marketing-redesign .admin-table-caption{min-height:64px;padding-top:16px;padding-bottom:12px}.admin-marketing-redesign .admin-campaign-table-head,.admin-marketing-redesign .admin-marketing-row{grid-template-columns:var(--admin-marketing-table-columns)}.admin-marketing-redesign .admin-marketing-row{min-height:66px}.admin-marketing-name{width:100%;min-width:0;color:var(--text-primary);text-align:left;background:0 0;justify-content:flex-start;padding:0;display:inline-flex}.admin-marketing-name:hover{color:var(--accent)}@media (width<=1280px){.admin-marketing-builder{grid-template-columns:1fr}.admin-marketing-type-rail{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-marketing-kicker{grid-column:1/-1;min-height:auto}.admin-marketing-form{border-top:1px solid var(--divider);border-left:none;border-right:none}.admin-marketing-issue{border-top:1px solid var(--divider)}}.admin-filterbar{grid-template-columns:220px 180px minmax(260px,1fr) auto auto;align-items:end;gap:12px;padding:16px;display:grid}.admin-filterbar .btn{height:48px}.admin-queue-filterbar{grid-template-columns:200px 170px minmax(260px,1fr) auto auto}.admin-queue-filterbar .btn{min-width:112px;padding-inline:18px}.admin-image-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.admin-image-card{padding:0;overflow:hidden}.admin-image-card>img,.admin-image-preview{aspect-ratio:1;width:100%}.admin-image-preview img{object-fit:cover;background:var(--surface-hover);width:100%;height:100%}.admin-image-body{gap:12px;padding:14px;display:grid}.admin-image-body strong,.admin-image-body span{display:block}.admin-image-body span,.admin-image-body p{color:var(--text-secondary)}.admin-image-body p{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:42px;margin:0;display:-webkit-box;overflow:hidden}.admin-chip-row{flex-wrap:wrap;gap:8px;display:flex}.admin-chip-row span,.admin-status{width:fit-content;min-height:26px;color:var(--text-secondary);background:var(--surface-hover);border-radius:var(--radius-full);justify-self:start;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.admin-chip-row span.is-on,.admin-status.is-on{color:var(--accent);background:var(--accent-light)}.admin-status.is-off{color:var(--text-tertiary)}.admin-table,.admin-log-table{min-width:0;padding:0;display:grid;overflow:auto hidden}.admin-table::-webkit-scrollbar{height:10px}.admin-log-table::-webkit-scrollbar{height:10px}.admin-table::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-tertiary) 34%, transparent);border-radius:var(--radius-full);background-clip:padding-box;border:3px solid #0000}.admin-log-table::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-tertiary) 34%, transparent);border-radius:var(--radius-full);background-clip:padding-box;border:3px solid #0000}.admin-table-head,.admin-table-row{border-bottom:1px solid var(--divider);grid-template-columns:78px minmax(132px,.56fr) minmax(220px,1fr) 150px 86px 294px;align-items:center;gap:10px;min-width:1040px;padding:12px 16px;display:grid}.admin-images-table .admin-table-head,.admin-images-table .admin-table-row{grid-template-columns:78px minmax(132px,.64fr) minmax(230px,1fr) 112px 294px;min-width:920px}.admin-gallery-filterbar{grid-template-columns:220px minmax(260px,1fr)}.admin-images-filterbar{grid-template-columns:220px 180px minmax(260px,1fr) 180px auto}.admin-gallery-category-editor{gap:14px;margin-bottom:12px;display:grid}.admin-gallery-category-form{grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) 120px 86px auto;align-items:end;gap:12px;display:grid}.admin-gallery-category-form .btn{height:46px}.admin-gallery-category-enabled{justify-content:center;min-height:46px}.admin-gallery-category-list{flex-wrap:wrap;gap:8px;display:flex}.admin-gallery-category-pill{color:var(--text-primary);background:var(--surface-hover);border-radius:var(--radius-full);align-items:center;display:inline-flex;overflow:hidden}.admin-gallery-category-pill button{min-height:34px;color:var(--text-primary);background:0 0;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.admin-gallery-category-pill.is-disabled{color:var(--text-tertiary);opacity:.7}.admin-gallery-category-pill button.is-danger{width:34px;color:var(--error);justify-content:center;padding:0}.admin-gallery-category-list small{color:var(--text-tertiary);font-size:11px}.admin-table-head{min-height:44px;color:var(--text-secondary);background:var(--surface-hover);font-size:12px;font-weight:900}.admin-table-image{border-radius:var(--radius-md);width:64px;height:64px}.admin-table-image img{object-fit:cover;border-radius:var(--radius-md);width:100%;height:100%}.admin-table-row strong,.admin-table-row small{display:block}.admin-table-row small{max-width:100%;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-row-meta{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.admin-row-meta span{min-height:24px;color:var(--text-tertiary);background:var(--surface-hover);border-radius:var(--radius-full);align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.admin-log-row{border-bottom:1px solid var(--divider);cursor:pointer;grid-template-columns:24px 64px minmax(180px,1fr) 140px 180px minmax(220px,1.2fr);align-items:center;gap:12px;min-height:54px;padding:10px 16px;transition:background .14s;display:grid}.admin-log-row:hover{background:color-mix(in srgb, var(--surface-hover) 54%, transparent)}.admin-log-row input{border:1px solid var(--border-hover);width:16px;height:16px;min-height:0;box-shadow:none;accent-color:var(--accent);background:0 0;border-radius:4px;padding:0}.admin-log-row input:hover,.admin-log-row input:focus,.admin-log-row input:focus-visible{border-color:var(--accent);box-shadow:none;background:0 0;outline:none}.admin-log-row span,.admin-log-row time,.admin-log-row code{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-log-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-log-row code{font-size:12px}.admin-queue-table{z-index:2;position:relative;overflow:visible}.admin-queue-row{border-bottom:1px solid var(--divider);grid-template-columns:70px minmax(150px,.7fr) minmax(78px,.34fr) minmax(104px,.42fr) minmax(126px,.48fr) minmax(140px,1fr) minmax(158px,max-content);align-items:center;gap:12px;min-width:0;min-height:66px;padding:10px 16px;transition:background .14s;display:grid;position:relative}.admin-queue-row:hover{z-index:3;background:color-mix(in srgb, var(--surface-hover) 54%, transparent)}.admin-queue-row>span,.admin-queue-row>time,.admin-queue-row>code{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-queue-row>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-queue-row>.tooltip-wrap{z-index:1;width:100%;min-width:0;max-width:100%;color:var(--text-secondary);justify-content:flex-start;display:inline-flex;position:relative;overflow:visible}.admin-queue-row>.tooltip-wrap:hover{z-index:80}.admin-queue-row>.tooltip-wrap:has(:focus-visible){z-index:80}.admin-queue-row>.tooltip-wrap>span,.admin-queue-row>.tooltip-wrap>strong,.admin-queue-row>.tooltip-wrap>code{width:100%;min-width:0;max-width:100%;color:inherit;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-queue-row>.tooltip-wrap:before{z-index:90;white-space:normal;max-width:min(520px,100vw - 80px);line-height:1.4}.admin-queue-row>.tooltip-wrap:after{z-index:89}.admin-queue-row .admin-status-pill{min-width:48px;padding:0 8px}.admin-queue-row>code{font-size:12px}.admin-queue-row .admin-row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:8px;min-width:0;display:flex}.admin-queue-row .admin-row-actions .btn{flex:none;height:34px;padding:0 10px}.admin-log-detail-modal{width:min(820px,100vw - 40px)}.admin-log-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px 22px;display:grid}.admin-log-detail-field{background:var(--surface-hover);border-radius:var(--radius-md);gap:6px;min-width:0;padding:12px;display:grid}.admin-log-detail-field span,.admin-log-detail-block span{color:var(--text-tertiary);font-size:12px;font-weight:850}.admin-log-detail-field strong{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-log-detail-block{gap:10px;padding:0 22px 22px;display:grid}.admin-log-detail-block pre{overscroll-behavior:contain;max-height:min(46vh,420px);color:var(--text-secondary);background:color-mix(in srgb, var(--bg) 76%, var(--surface));border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;margin:0;padding:14px;font-size:12px;line-height:1.55;overflow:auto}.admin-empty-row{min-height:160px;color:var(--text-secondary);text-align:center;grid-column:1/-1;place-items:center;padding:34px;display:grid}.admin-image-grid>.admin-empty-row{min-height:220px}@media (width<=1280px){.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1040px){.admin-overview-grid{grid-template-columns:1fr}.admin-overview-primary,.admin-overview-aside{grid-template-rows:none}.admin-overview-aside{min-height:0}.admin-log-feed div{grid-template-columns:64px minmax(0,1fr)}.admin-log-feed small{grid-column:2}}@media (width<=1180px){.admin-shell{--admin-shell-gap:8px;--admin-page-inset:12px;--admin-page-top:12px;--admin-sticky-top:12px;padding:var(--admin-page-top) var(--admin-page-inset) var(--admin-page-top) calc(var(--admin-sidebar-width) + var(--admin-shell-gap) + var(--admin-page-inset))}.admin-shell.is-sidebar-collapsed{--admin-sidebar-width:76px}.admin-sidebar{gap:12px;padding:20px}.admin-shell.is-sidebar-collapsed .admin-sidebar{padding:58px 12px 12px}.admin-shell,.admin-sidebar,.admin-main .page-header,.admin-nav button,.admin-theme-toggle,.admin-logout{transition:none}.admin-sidebar-toggle{display:grid}.admin-shell.is-sidebar-collapsed .admin-sidebar-head{display:none}.admin-nav{gap:8px}.admin-shell.is-sidebar-collapsed .admin-nav button,.admin-shell.is-sidebar-collapsed .admin-theme-toggle,.admin-shell.is-sidebar-collapsed .admin-logout{justify-content:center;gap:0;width:100%;min-height:48px;padding:0;font-size:0}.admin-shell.is-sidebar-collapsed .admin-nav button svg,.admin-shell.is-sidebar-collapsed .admin-theme-toggle svg,.admin-shell.is-sidebar-collapsed .admin-logout svg{width:19px;height:19px}.admin-shell.is-sidebar-collapsed .admin-sidebar-actions{grid-template-columns:1fr;justify-items:center;padding-top:8px}.admin-shell.is-sidebar-collapsed .admin-theme-toggle,.admin-shell.is-sidebar-collapsed .admin-logout{width:100%;height:48px;padding:0;font-size:0}.admin-form{position:static}.admin-user-createbar{grid-template-columns:1fr;align-items:stretch}.admin-user-createbar .user-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-row{align-items:start}.admin-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-queue-filterbar{grid-template-columns:180px 180px minmax(260px,1fr)}.admin-section-queue .admin-queue-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-section-queue .admin-queue-filterbar label:nth-child(3){grid-column:1/-1}.admin-section-queue .admin-queue-filterbar .btn{width:100%;min-width:0}.admin-section-queue .admin-queue-row{grid-template-columns:58px minmax(0,1fr);grid-template-areas:"status id""status owner""status channel""status time""status prompt""status actions";min-width:0}.admin-section-queue .admin-queue-row>time{text-align:left}.admin-section-queue .admin-queue-row .admin-row-actions{justify-content:flex-start}.settings-section{grid-template-columns:1fr}.settings-section>:not(.settings-section-head){grid-column:1}.admin-log-table .admin-table-head{display:none}.admin-log-row{grid-template-columns:1fr}}@media (width<=1280px) and (width>=1181px){.admin-queue-filterbar{grid-template-columns:200px 170px minmax(260px,1fr)}.admin-queue-filterbar .btn{width:100%}}@media (width<=1500px){.admin-queue-row{grid-template-columns:64px minmax(0,1fr) minmax(0,.8fr) minmax(148px,max-content);grid-template-areas:"status id id actions""status owner channel time""status prompt prompt prompt";align-items:start;gap:8px 12px;padding-block:14px}.admin-queue-row>.admin-status-pill{grid-area:status;align-self:start}.admin-queue-row>.tooltip-wrap:nth-child(2){grid-area:id}.admin-queue-row>span:nth-child(3){grid-area:owner}.admin-queue-row>span:nth-child(4){grid-area:channel}.admin-queue-row>time{text-align:right;grid-area:time}.admin-queue-row>.tooltip-wrap:nth-child(6){grid-area:prompt}.admin-queue-row .admin-row-actions{grid-area:actions}}@media (width<=560px){.admin-shell{--admin-sticky-top:0px;min-height:100vh;padding:16px 16px 72px}.admin-content{padding-top:16px}.admin-sidebar{gap:12px;width:auto;height:auto;min-height:0;margin-bottom:16px;padding:14px;position:static;overflow:visible}.admin-sidebar-toggle{display:none}.admin-shell.is-sidebar-collapsed .admin-sidebar-head,.admin-sidebar-head{display:block}.admin-sidebar h1{font-size:24px}.admin-nav{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.admin-nav::-webkit-scrollbar{width:0;height:0}.admin-nav button,.admin-theme-toggle,.admin-logout{justify-content:flex-start;min-height:42px;padding:0 10px;font-size:14px}.admin-shell.is-sidebar-collapsed .admin-nav button,.admin-shell.is-sidebar-collapsed .admin-theme-toggle,.admin-shell.is-sidebar-collapsed .admin-logout{justify-content:flex-start;gap:10px;min-height:42px;padding:0 10px;font-size:14px}.admin-nav button,.admin-shell.is-sidebar-collapsed .admin-nav button{flex:none;width:auto;padding:0 14px}.admin-shell.is-sidebar-collapsed .admin-nav-caret{display:block!important}.admin-shell.is-sidebar-collapsed .admin-nav-group.is-open .admin-nav-children{min-width:0;box-shadow:none;background:0 0;border:0;padding:0 0 0 14px;display:grid;position:static}.admin-sidebar-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:start;padding-top:10px}.admin-theme-toggle,.admin-logout{width:100%;height:42px;padding:0 10px;font-size:13px}.admin-shell.is-sidebar-collapsed .admin-sidebar-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:start}.admin-shell.is-sidebar-collapsed .admin-theme-toggle,.admin-shell.is-sidebar-collapsed .admin-logout{width:100%;height:42px;padding:0 10px;font-size:13px}.admin-main .page-header{margin-top:0;position:relative;inset:auto}.admin-main .page-header:before{content:none}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-form-grid,.settings-inline-fields,.settings-paired-fields,.settings-multiplier-grid,.settings-quota-grid,.settings-limit-grid,.settings-duo,.settings-trio,.admin-user-createbar .user-fields,.user-fields,.quota-preview,.admin-filterbar,.quota-field{grid-template-columns:1fr}.settings-back-top{bottom:72px;right:16px}.admin-queue-filterbar{grid-template-columns:1fr}.admin-queue-row{grid-template-columns:1fr;grid-template-areas:"status""id""owner""channel""time""prompt""actions"}.admin-queue-row>time{text-align:left}.admin-queue-row .admin-row-actions{justify-content:flex-start}}@media (width<=420px){.admin-metrics{grid-template-columns:1fr}}@media (width<=560px){.admin-section-queue .admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=561px){.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-main,.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-content,.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-table,.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-filterbar{min-width:0}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-filterbar label:nth-child(3){grid-column:1/-1}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-filterbar .btn{width:100%;min-width:0}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-row{grid-template-columns:58px minmax(0,1fr);grid-template-areas:"status id""status owner""status channel""status time""status prompt""status actions";min-width:0}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-row>time{text-align:left}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-row .admin-row-actions{justify-content:flex-start}}@media (width>=901px){.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-metrics{grid-template-columns:repeat(5,minmax(96px,1fr))}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-filterbar{grid-template-columns:200px 170px minmax(260px,1fr) auto auto}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-filterbar label:nth-child(3){grid-column:auto}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-filterbar .btn{width:auto;min-width:112px}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-row{grid-template-columns:70px minmax(150px,.7fr) minmax(78px,.34fr) minmax(104px,.42fr) minmax(126px,.48fr) minmax(140px,1fr) minmax(158px,max-content);grid-template-areas:none}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-row>*,.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-row .admin-row-actions{grid-area:auto}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-row>time{text-align:left}.admin-shell.is-sidebar-collapsed.admin-section-queue .admin-queue-row .admin-row-actions{justify-content:flex-end}}@media (width<=720px){.admin-shell,.admin-shell.is-sidebar-collapsed,html.is-admin-sidebar-collapsed .admin-shell{--admin-sidebar-width:0px;--admin-shell-gap:0px;--admin-page-inset:16px;--admin-page-top:16px;padding:16px 16px 72px}.admin-content{padding-top:0}.admin-main{height:auto;min-height:calc(100dvh - var(--admin-page-top) * 2);padding:20px 16px 24px;overflow:visible}.admin-main .page-header{margin:-20px -16px 0;padding:20px 16px 16px;position:relative;inset:auto}.admin-main .page-header:before{content:none}.admin-sidebar,.admin-shell.is-sidebar-collapsed .admin-sidebar,html.is-admin-sidebar-collapsed .admin-shell .admin-sidebar{border-radius:18px;grid-template-rows:none;align-items:center;gap:8px;width:100%;max-width:100%;height:auto;min-height:0;margin:0 0 14px;padding:8px;display:flex;position:static;overflow:visible}.admin-sidebar-toggle,.admin-sidebar-head,.admin-shell.is-sidebar-collapsed .admin-sidebar-head,html.is-admin-sidebar-collapsed .admin-shell .admin-sidebar-head{display:none!important}.admin-nav,.admin-shell.is-sidebar-collapsed .admin-nav,html.is-admin-sidebar-collapsed .admin-shell .admin-nav{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-x;flex:auto;align-items:center;gap:6px;min-width:0;max-width:calc(100vw - 126px);padding:0;display:flex;overflow:auto hidden}.admin-nav::-webkit-scrollbar{width:0;height:0}.admin-nav-group,.admin-shell.is-sidebar-collapsed .admin-nav-group,html.is-admin-sidebar-collapsed .admin-shell .admin-nav-group{flex:none;display:block;position:relative}.admin-nav button,.admin-shell.is-sidebar-collapsed .admin-nav button,html.is-admin-sidebar-collapsed .admin-shell .admin-nav button{touch-action:pan-x;flex:none;justify-content:center;gap:7px;width:auto;min-height:40px;padding:0 11px;font-size:13px}.admin-nav button svg,.admin-shell.is-sidebar-collapsed .admin-nav button svg,html.is-admin-sidebar-collapsed .admin-shell .admin-nav button svg{width:17px;height:17px}.admin-nav-caret,.admin-shell.is-sidebar-collapsed .admin-nav-caret,html.is-admin-sidebar-collapsed .admin-shell .admin-nav-caret{margin-left:0;display:none!important}.admin-nav-children,.admin-shell.is-sidebar-collapsed .admin-nav-children,html.is-admin-sidebar-collapsed .admin-shell .admin-nav-children,.admin-nav-group.is-open .admin-nav-children,.admin-nav-group:hover .admin-nav-children,.admin-shell.is-sidebar-collapsed .admin-nav-group:hover .admin-nav-children,.admin-shell.is-sidebar-collapsed .admin-nav-group.is-open .admin-nav-children,html.is-admin-sidebar-collapsed .admin-shell .admin-nav-group.is-open .admin-nav-children,html.is-admin-sidebar-collapsed .admin-shell .admin-nav-group:hover .admin-nav-children{display:none!important}.admin-floating-nav-menu{z-index:90;background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--divider);min-width:156px;box-shadow:var(--shadow-lg);border-radius:14px;gap:4px;padding:8px;display:grid;position:fixed}.admin-floating-nav-menu button{width:100%;min-height:38px;color:var(--text-secondary);border-radius:var(--radius-md);white-space:nowrap;justify-content:flex-start;align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:750;display:flex}.admin-floating-nav-menu button:hover,.admin-floating-nav-menu button.is-active{color:var(--text-primary);background:var(--surface-hover)}.admin-sidebar-actions,.admin-shell.is-sidebar-collapsed .admin-sidebar-actions,html.is-admin-sidebar-collapsed .admin-shell .admin-sidebar-actions{border-top:0;flex:none;grid-template-columns:none;align-self:center;gap:6px;padding-top:0;display:flex}.admin-theme-toggle,.admin-logout,.admin-shell.is-sidebar-collapsed .admin-theme-toggle,.admin-shell.is-sidebar-collapsed .admin-logout,html.is-admin-sidebar-collapsed .admin-shell .admin-theme-toggle,html.is-admin-sidebar-collapsed .admin-shell .admin-logout{justify-content:center;gap:0;width:40px;height:40px;min-height:40px;padding:0;font-size:0}.admin-theme-toggle svg,.admin-logout svg,.admin-shell.is-sidebar-collapsed .admin-theme-toggle svg,.admin-shell.is-sidebar-collapsed .admin-logout svg,html.is-admin-sidebar-collapsed .admin-shell .admin-theme-toggle svg,html.is-admin-sidebar-collapsed .admin-shell .admin-logout svg{width:17px;height:17px}}.composer-dock{left:var(--rail-width);z-index:60;background:linear-gradient(to top, color-mix(in srgb, var(--bg) 38%, transparent) 0%, #0000 100%);pointer-events:none;padding:18px 40px 34px;position:fixed;bottom:0;right:0}:root[data-theme=dark] .composer-dock{background:0 0}.composer-form{pointer-events:auto;width:min(860px,100%);margin:0 auto}.composer-main{background:var(--composer-bg);min-height:138px;box-shadow:var(--composer-shadow);border:0;border-radius:28px;padding:18px 22px;transition:min-height .24s cubic-bezier(.16,1,.3,1)}.composer-main.is-dragging{background:color-mix(in srgb, var(--composer-bg) 82%, var(--accent-light))}.composer-main.is-running{will-change:box-shadow;animation:2.7s ease-in-out infinite imageComposerBreathe}.composer-main:focus-within{box-shadow:var(--composer-shadow)}.composer-file-input{display:none}.prompt-input-wrapper{grid-template-columns:58px minmax(0,1fr);gap:16px;min-height:70px;display:grid}.reference-wrap{width:52px;height:64px;position:relative}.attach-btn{width:50px;height:62px;color:var(--composer-muted);background:var(--composer-control);border:0;border-radius:4px;place-items:center;display:grid;overflow:hidden;transform:rotate(-8deg)}.attach-btn:hover{color:var(--composer-text);background:var(--composer-control-hover)}.attach-btn img{object-fit:cover;width:100%;height:100%}.remove-reference{width:20px;height:20px;color:var(--bg);background:var(--text-primary);border-radius:999px;place-items:center;display:grid;position:absolute;top:-8px;right:-8px}.prompt-input{height:70px;min-height:70px;max-height:176px;color:var(--composer-text);box-shadow:none;resize:none;overscroll-behavior:contain;background:0 0;border:0;outline:none;padding:2px 0 0;font-size:15px;font-weight:650;line-height:1.55;transition:height .24s cubic-bezier(.16,1,.3,1)}.prompt-input:hover,.prompt-input:focus{box-shadow:none}.prompt-input::placeholder{color:var(--composer-placeholder)}.composer-toolbar{align-items:center;gap:7px;margin-top:14px;display:flex}.mode-pill{height:36px;color:var(--composer-accent);background:var(--composer-control);white-space:nowrap;border-radius:11px;align-items:center;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.tool-menu{flex:none;position:relative}.tool-btn{min-width:38px;height:36px;color:var(--composer-text);background:var(--composer-control);white-space:nowrap;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.tool-btn:hover{background:var(--composer-control-hover)}.tool-btn.is-active{color:var(--composer-accent)}.tool-btn svg{flex:none}.tool-btn-icon{padding:0}.composer-popover{z-index:90;background:var(--composer-bg);width:230px;max-height:min(360px,52vh);box-shadow:var(--composer-shadow);border-radius:16px;gap:4px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;overflow-y:auto}.composer-popover-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:280px}.composer-popover-compact{width:180px}.composer-popover button{min-height:46px;color:var(--composer-text);text-align:left;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.composer-popover button:hover,.composer-popover button.is-selected{background:var(--composer-control)}.composer-popover button:disabled,.composer-popover button.is-disabled{opacity:.45}.composer-popover button:disabled:hover,.composer-popover button.is-disabled:hover{background:0 0}.composer-popover strong,.composer-popover small{display:block}.composer-popover strong{font-size:13px}.composer-popover small{color:var(--composer-muted);margin-top:2px;font-size:11px}.composer-submit-top{align-items:center;gap:12px;margin-left:auto;padding-left:16px;display:flex}.image-count{color:var(--composer-muted);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:5px;font-size:13px;font-weight:900;line-height:1;display:inline-flex}.image-count svg{color:var(--accent);stroke-width:2.4px;flex:none}.generate-btn{width:36px;height:36px;color:var(--composer-submit-icon);background:var(--composer-submit);border:0;border-radius:999px;place-items:center;display:grid}.generate-btn:hover:not(:disabled){color:var(--composer-submit-icon-active);background:var(--composer-submit-active)}.generate-btn:disabled{color:var(--composer-muted);background:var(--composer-submit)}.conversation-area.has-turns{justify-content:flex-start;align-items:stretch}.conversation-area.is-empty{justify-content:center;align-items:center;padding:72px 32px 230px;overflow-x:hidden}.conversation-list{flex-direction:column;gap:28px;width:min(980px,100%);margin:0 auto;padding:8px 0 0;display:flex}.conversation-bottom-anchor{flex:0 0 calc(180px + var(--composer-extra-clearance,0px));width:100%}.conversation-turn{flex-direction:column;gap:14px;animation:.22s ease-out slideUp;display:flex}.prompt-row{justify-content:flex-end;display:flex}.prompt-bubble-wrap{max-width:min(78%,720px)}.prompt-meta,.result-meta{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;font-weight:700;line-height:1;display:flex}.prompt-meta{justify-content:flex-end;margin:0 6px 6px}.prompt-meta .tooltip-wrap{height:18px;margin-left:4px}.turn-delete-btn{width:18px;height:18px;color:var(--text-tertiary);background:0 0;border-radius:999px;place-items:center;line-height:1;display:inline-grid}.turn-delete-btn svg{width:12px;height:12px}.turn-delete-btn:hover{color:var(--error);background:color-mix(in srgb, var(--error) 12%, transparent)}.prompt-bubble{width:fit-content;max-width:100%;color:var(--text-primary);background:var(--panel-bg);-webkit-backdrop-filter:var(--blur-md);border:0;border-radius:24px 8px 24px 24px;gap:10px;margin-left:auto;padding:14px 16px;display:grid;box-shadow:inset 0 1px #ffffff0a}.prompt-bubble p{white-space:pre-wrap;word-break:break-word;font-size:15px;font-weight:650;line-height:1.65}:root[data-theme=light] .prompt-bubble{background:var(--panel-bg);box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff0a}.prompt-reference-strip{border-radius:18px 8px 18px 18px;width:128px;max-width:100%;margin:0 6px 8px auto;padding:0;display:block;box-shadow:0 14px 34px #0000002e}.prompt-reference-strip img{aspect-ratio:4/3;object-fit:cover;border-radius:inherit;width:100%;height:auto;display:block}.result-row{width:min(920px,100%)}.result-meta{margin:0 0 10px 4px}.result-meta span{background:color-mix(in srgb, var(--surface) 84%, transparent);border-radius:var(--radius-full);min-height:26px;-webkit-backdrop-filter:var(--blur-sm);border:0;align-items:center;padding:0 11px;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.turn-count-pill{visibility:visible;min-height:26px;color:var(--text-tertiary);background:var(--panel-bg);border-radius:var(--radius-full);-webkit-backdrop-filter:var(--blur-sm);border:0;align-items:center;padding:0 11px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.turn-count-pill.is-placeholder{opacity:0;pointer-events:none}.turn-image-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;display:grid}.turn-image-card,.turn-image-loading,.turn-image-error{min-width:0}.turn-image-card{flex-direction:column;gap:8px;display:flex}.turn-image-preview,.turn-image-loading,.turn-image-error{aspect-ratio:1;background:var(--panel-bg);border:0;border-radius:18px;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff09}.turn-image-preview{cursor:pointer}.turn-image-preview img{object-fit:cover;width:100%;height:100%;transition:filter .12s}.turn-image-preview:hover img{filter:brightness(.88)}.turn-image-card figcaption{min-height:26px;color:var(--text-tertiary);justify-content:space-between;align-items:center;gap:6px;padding:0 2px;font-size:12px;font-weight:700;display:flex}.turn-image-card figcaption div{flex:none;gap:4px;display:flex}.turn-image-card figcaption .turn-action-btn{width:24px;height:24px;color:color-mix(in srgb, var(--text-secondary) 68%, transparent);background:color-mix(in srgb, var(--surface) 42%, transparent);border:1px solid color-mix(in srgb, var(--border-hover) 44%, transparent);border-radius:var(--radius-full);place-items:center;transition:opacity .14s;display:grid;box-shadow:inset 0 1px #ffffff09}.turn-image-card figcaption .turn-action-btn svg{width:12.5px;height:12.5px}.turn-image-card figcaption .turn-action-btn:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 78%, transparent);border-color:color-mix(in srgb, var(--accent) 24%, var(--border-hover))}:root[data-theme=light] .result-meta span,:root[data-theme=light] .turn-count-pill,:root[data-theme=light] .turn-image-card figcaption .turn-action-btn{box-shadow:var(--shadow-sm), inset 0 1px 0 #ffffff0a;border:0}:root[data-theme=light] .turn-image-card figcaption .turn-action-btn:hover{border:0}:root[data-theme=light] .turn-image-preview,:root[data-theme=light] .turn-image-loading{box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff09}.turn-image-loading{color:color-mix(in srgb, var(--text-secondary) 86%, transparent);align-items:flex-end;padding:12px;font-size:12px;font-weight:750;display:flex}.dot-grid-loader{isolation:isolate;background-image:radial-gradient(circle, color-mix(in srgb, var(--accent) 20%, transparent) 0 1.15px, transparent 1.7px);background-position:50%;background-repeat:repeat;background-size:14px 14px;border-radius:11px;position:absolute;inset:10px 10px 34px;overflow:hidden}.dot-grid-loader:before,.dot-grid-loader:after{content:"";background-image:radial-gradient(circle, color-mix(in srgb, var(--accent) 68%, transparent) 0 1.4px, transparent 1.85px);pointer-events:none;will-change:mask-position;background-position:50%;background-repeat:repeat;background-size:14px 14px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000008c 32%,#0000 68%);mask-image:radial-gradient(circle,#000 0%,#0000008c 32%,#0000 68%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.dot-grid-loader:before{animation:7s ease-in-out infinite torchMaskA;-webkit-mask-size:70% 70%;mask-size:70% 70%}.dot-grid-loader:after{opacity:.85;animation:9.5s ease-in-out -2.5s infinite torchMaskB;-webkit-mask-size:55% 55%;mask-size:55% 55%}.turn-image-loading:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(to top, color-mix(in srgb, var(--surface) 72%, transparent) 0%, transparent 24%);position:absolute;inset:0}.turn-image-loading span{z-index:2;position:relative}.turn-image-error{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:12px;line-height:1.55;display:flex}.turn-image-error svg{color:var(--error)}:root[data-theme=light] .turn-image-error{background:var(--panel-bg);box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff09}@keyframes torchMaskA{0%,to{-webkit-mask-position:16% 20%;mask-position:16% 20%}20%{-webkit-mask-position:76% 18%;mask-position:76% 18%}40%{-webkit-mask-position:86% 60%;mask-position:86% 60%}60%{-webkit-mask-position:60% 84%;mask-position:60% 84%}80%{-webkit-mask-position:22% 78%;mask-position:22% 78%}}@keyframes torchMaskB{0%,to{-webkit-mask-position:78% 76%;mask-position:78% 76%}25%{-webkit-mask-position:30% 80%;mask-position:30% 80%}50%{-webkit-mask-position:18% 30%;mask-position:18% 30%}75%{-webkit-mask-position:66% 18%;mask-position:66% 18%}}@keyframes imageComposerBreathe{0%,to{box-shadow:var(--composer-shadow), 0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent)}50%{box-shadow:var(--composer-shadow), 0 0 34px color-mix(in srgb, var(--accent) 12%, transparent)}}@media (width<=1024px){.composer-dock{padding:18px 20px 24px}.composer-main{border-radius:24px;min-height:132px}.composer-toolbar{scrollbar-width:none;padding-bottom:2px;overflow-x:auto}.composer-toolbar::-webkit-scrollbar{display:none}}@media (width<=768px){.composer-dock{padding:10px 10px 8px 14px;bottom:64px;left:0;right:8px;overflow-x:hidden}.composer-main{border-radius:24px;min-height:128px;padding:16px}.prompt-input-wrapper{grid-template-columns:48px minmax(0,1fr);gap:12px;min-height:58px}.attach-btn{width:40px;height:52px}.prompt-input{min-height:54px;font-size:14px}.tool-btn{min-width:36px;height:34px;padding:0 10px;font-size:13px}.mode-pill{height:34px;font-size:13px}.composer-popover,.composer-popover-grid,.composer-popover-compact{width:min(280px,100vw - 42px);left:auto;right:0}.image-count{font-size:14px}.generate-btn{width:44px;height:44px}.conversation-list{gap:22px}.conversation-bottom-anchor{flex-basis:220px}.prompt-bubble-wrap,.result-row{width:100%;max-width:100%}.prompt-bubble{border-radius:20px 8px 20px 20px}.prompt-reference-strip{width:112px}.turn-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media (width<=660px){.composer-submit-top{margin-left:auto;padding-left:16px}}.canvas-workspace{--canvas-toolbar-top:27px;--canvas-toolbar-left:calc(var(--rail-width) + 18px);--canvas-toolbar-height:38px;--canvas-picker-gap:8px;--canvas-grid-dot:#0f172a33;--canvas-zoom-width:132px;--canvas-zoom-right:18px;--canvas-zoom-bottom:18px;--canvas-toolbar-zoom-gap:12px;--canvas-bottom-reserve:calc((var(--canvas-zoom-width) + var(--canvas-zoom-right) + var(--canvas-toolbar-zoom-gap)) * 2);--canvas-control-bg:var(--composer-control);--canvas-control-bg-hover:color-mix(in srgb, var(--composer-control) 88%, var(--text-primary) 6%);--canvas-node-bg:color-mix(in srgb, var(--surface) 96%, transparent);--canvas-bg-line:#0f172a08;--canvas-bg-wash-a:#5cc8ff14;--canvas-bg-wash-a-clear:#5cc8ff00;--canvas-bg-wash-b:#ffbc8212;--canvas-bg-wash-b-clear:#ffbc8200;--canvas-bg-base:#f4f3ee;--canvas-bg-noise:none;--xy-background-pattern-color:var(--canvas-bg-line);--canvas-radius:12px;background:var(--canvas-bg-noise), radial-gradient(circle at 18% 22% in oklab, var(--canvas-bg-wash-a), var(--canvas-bg-wash-a-clear) 34%), radial-gradient(circle at 72% 34% in oklab, var(--canvas-bg-wash-b), var(--canvas-bg-wash-b-clear) 42%), var(--canvas-bg-base);background-blend-mode:soft-light, normal, normal, normal;background-size:140px 140px,auto,auto,auto;width:100%;height:100vh;position:relative}:root[data-theme=dark] .canvas-workspace{--canvas-grid-dot:#ffffff24;--canvas-control-bg:#242424;--canvas-control-bg-hover:#2d2d2d;--canvas-bg-line:#ffffff0f;--canvas-bg-wash-a:#576f4a2e;--canvas-bg-wash-a-clear:#576f4a00;--canvas-bg-wash-b:#692e3729;--canvas-bg-wash-b-clear:#692e3700;--canvas-bg-base:var(--bg);--canvas-bg-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E")}.canvas-dynamic-grid{pointer-events:none;z-index:0;opacity:.4;position:absolute;inset:0}.canvas-workspace.is-start-page .react-flow{display:none}.canvas-export-menu button.is-active{background:var(--canvas-control-bg);font-weight:500}.canvas-start-stage{z-index:8;position:absolute;inset:0;overflow:hidden}.canvas-start-linework{pointer-events:none;opacity:.68;width:100%;height:100%;position:absolute;inset:0}.canvas-line,.canvas-line-card rect,.canvas-line-card path{fill:none;stroke:color-mix(in srgb, var(--text-tertiary) 52%, transparent);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:26s ease-in-out infinite canvasLineTrace}.canvas-line.is-main{stroke:color-mix(in srgb, var(--accent) 62%, transparent);stroke-width:3.2px}.canvas-line.is-accent{stroke:#ffce3cb8;stroke-width:3px;animation-delay:.25s}.canvas-line.is-soft,.canvas-line.is-faint{stroke:color-mix(in srgb, var(--text-tertiary) 24%, transparent);stroke-width:1.4px}.canvas-line.is-vertical{stroke:color-mix(in srgb, var(--text-tertiary) 36%, transparent);stroke-width:1.2px;animation-delay:.45s}.canvas-line-card rect,.canvas-line-card path{stroke:color-mix(in srgb, var(--text-tertiary) 56%, transparent);animation-delay:.65s}.canvas-line-card.is-large rect{stroke:color-mix(in srgb, var(--text-primary) 46%, transparent);stroke-width:2.8px}.canvas-line-card .canvas-line-image-frame{stroke:color-mix(in srgb, var(--text-tertiary) 42%, transparent);stroke-width:1.8px}.canvas-line-card .canvas-line-image-mountain{stroke:color-mix(in srgb, var(--accent) 58%, transparent);stroke-width:2px}.canvas-line-card .canvas-line-image-sun{stroke:#ffce3cb3;stroke-width:1.8px}.canvas-line-card.is-small path,.canvas-line-card.is-ghost path{stroke-width:1.8px}.canvas-line-card .canvas-line-fill{fill:color-mix(in srgb, var(--text-tertiary) 14%, transparent);stroke:none;animation:26s ease-in-out infinite canvasLineFade}.canvas-line-card .canvas-line-dot{fill:color-mix(in srgb, var(--accent) 70%, transparent);stroke:none;animation:18s ease-in-out infinite canvasLineFade}.canvas-line-card.is-top,.canvas-line-card.is-bottom,.canvas-line-card.is-ghost{opacity:.72}:root:not([data-theme=dark]) .canvas-workspace.is-start-page{--canvas-start-muted:color-mix(in srgb, var(--accent-muted-green) 46%, transparent);--canvas-start-soft:color-mix(in srgb, var(--accent-muted-green) 18%, transparent)}:root:not([data-theme=dark]) .canvas-workspace.is-start-page .canvas-line:not(.is-accent),:root:not([data-theme=dark]) .canvas-workspace.is-start-page .canvas-line-card rect,:root:not([data-theme=dark]) .canvas-workspace.is-start-page .canvas-line-card path:not(.canvas-line-image-sun):not(.canvas-line-image-mountain):not(.canvas-line-fill):not(.canvas-line-dot){stroke:var(--canvas-start-muted)}:root:not([data-theme=dark]) .canvas-workspace.is-start-page .canvas-line.is-soft,:root:not([data-theme=dark]) .canvas-workspace.is-start-page .canvas-line.is-faint,:root:not([data-theme=dark]) .canvas-workspace.is-start-page .canvas-line.is-vertical,:root:not([data-theme=dark]) .canvas-workspace.is-start-page .canvas-line-card .canvas-line-image-frame{stroke:var(--canvas-start-soft)}:root:not([data-theme=dark]) .canvas-workspace.is-start-page .canvas-line-card .canvas-line-fill{fill:color-mix(in srgb, var(--accent-muted-green) 14%, transparent)}:root:not([data-theme=dark]) .canvas-start-title span,:root:not([data-theme=dark]) .canvas-start-label,:root:not([data-theme=dark]) .canvas-recent-meta,:root:not([data-theme=dark]) .canvas-start-empty-note p{color:var(--canvas-start-muted)}:root:not([data-theme=dark]) .canvas-start-link,:root:not([data-theme=dark]) .canvas-recent-list button,:root:not([data-theme=dark]) .canvas-recent-title{color:var(--accent-muted-green)}:root:not([data-theme=dark]) .canvas-start-link:hover,:root:not([data-theme=dark]) .canvas-recent-list button:hover{color:color-mix(in srgb, var(--accent-muted-green) 78%, var(--text-primary))}.canvas-start-panel{top:50%;left:calc(var(--rail-width) + clamp(56px, 13vw, 200px));z-index:1;width:min(380px, calc(100vw - var(--rail-width) - 48px));color:var(--text-primary);gap:28px;display:grid;position:absolute;transform:translateY(-50%)}@keyframes canvasLineTrace{0%{stroke-dashoffset:1px;opacity:0}8%{opacity:1}20%,to{stroke-dashoffset:0;opacity:1}}@keyframes canvasLineFade{0%,12%{opacity:0}20%,to{opacity:1}}.canvas-start-title{gap:8px;display:grid}.canvas-start-title span{color:var(--text-tertiary);font-size:13px;font-weight:800}.canvas-start-title h1{letter-spacing:0;margin:0;font-size:44px;font-weight:900;line-height:.95}.canvas-start-section{gap:8px;display:grid}.canvas-start-label{color:var(--text-tertiary);font-size:14px;font-weight:800}.canvas-start-link{min-height:30px;color:var(--accent);text-align:left;box-shadow:none;background:0 0;border-radius:0;align-items:center;gap:8px;padding:0;font-size:15px;font-weight:800;display:inline-flex}.canvas-start-link svg{flex:none;display:block}.canvas-start-link>span{transform:translateY(1px)}.canvas-recent-list button{min-height:30px;color:var(--accent);text-align:left;box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(150px,210px) auto;align-items:center;gap:14px;padding:0;font-size:14px;font-weight:750;display:grid}.canvas-start-link:hover,.canvas-recent-list button:hover{color:color-mix(in srgb, var(--accent) 78%, var(--text-primary));box-shadow:none;background:0 0}.canvas-start-link:hover,.canvas-start-link:active,.canvas-recent-list button:hover,.canvas-recent-list button:active{transform:none}.canvas-recent-list{gap:8px;display:grid}.canvas-recent-list button{color:var(--accent)}.canvas-recent-title{min-width:0;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.canvas-recent-meta{color:var(--text-tertiary);white-space:nowrap;font-size:12px}.canvas-start-empty-note{max-width:300px;padding-top:4px}.canvas-start-empty-note p{color:var(--text-tertiary);margin:0;font-size:13px;font-weight:700;line-height:1.55}body.canvas-rail-hidden .canvas-start-panel{left:clamp(56px,13vw,200px)}@media (width<=900px){.canvas-start-panel{width:min(340px,100vw - 64px);left:clamp(32px,11vw,96px)}.canvas-start-linework{opacity:.46}}@media (width<=640px){.canvas-start-panel,body.canvas-rail-hidden .canvas-start-panel{gap:24px;width:calc(100vw - 48px);top:48%;left:24px}.canvas-start-title h1{font-size:40px}.canvas-start-linework{opacity:.22;transform:translate(8%)}.canvas-recent-list button{grid-template-columns:minmax(0,1fr);justify-items:start;gap:2px}.canvas-recent-meta{font-size:11px}}@media (prefers-reduced-motion:reduce){.canvas-line,.canvas-line-card rect,.canvas-line-card path,.canvas-line-card .canvas-line-fill,.canvas-line-card .canvas-line-dot{stroke-dashoffset:0;opacity:1;animation:none}}.canvas-workspace .react-flow{background:0 0}.canvas-toolbar{left:calc(var(--rail-width) + (100vw - var(--rail-width)) / 2);bottom:var(--canvas-zoom-bottom);z-index:10;height:var(--canvas-toolbar-height);min-height:var(--canvas-toolbar-height);max-width:min(430px, calc(100vw - var(--rail-width) - var(--canvas-bottom-reserve)));color:var(--text-primary);background:color-mix(in srgb, var(--surface) 78%, transparent);border-radius:var(--radius-full);box-shadow:var(--shadow-md);align-items:center;gap:12px;padding:3px 10px;transition:left .22s cubic-bezier(.2,.8,.2,1),width .18s;display:flex;position:absolute;transform:translate(-50%)}body.canvas-rail-hidden .canvas-workspace{--canvas-toolbar-left:18px}body.canvas-rail-hidden .canvas-toolbar{max-width:min(430px, calc(100vw - var(--canvas-bottom-reserve)));left:50%}.canvas-topbar{z-index:10;height:var(--canvas-toolbar-height);max-width:min(420px, calc(100vw - var(--rail-width) - 36px));color:var(--text-primary);background:color-mix(in srgb, var(--surface) 78%, transparent);border-radius:var(--radius-full);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur-lg);align-items:center;gap:8px;padding:3px 4px 3px 10px;display:flex;position:absolute;top:30px;right:18px}.canvas-topbar .canvas-toolbar-title{flex:0 auto}.canvas-topbar .btn{border-radius:var(--radius-full);height:32px;box-shadow:none;transform:none}.canvas-topbar .btn:hover:not(:disabled),.canvas-topbar .btn:active:not(:disabled){box-shadow:none;transform:none}.canvas-export-menu button,.canvas-export-menu button:active:not(:disabled){transition:background .16s,color .16s;transform:none}.canvas-export-menu-wrap{position:relative}.canvas-export-menu{z-index:90;min-width:150px;color:var(--text-primary);background:var(--canvas-node-bg);border-radius:var(--canvas-radius);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur-lg);gap:4px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0}.canvas-export-menu button{height:30px;color:var(--text-secondary);border-radius:var(--radius-sm);text-align:left;white-space:nowrap;background:0 0;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:800;display:flex}.canvas-export-menu button:disabled{opacity:.46;cursor:not-allowed}.canvas-export-menu button:hover{color:var(--text-primary);background:var(--surface-hover)}.canvas-export-menu button:disabled:hover{color:var(--text-secondary);background:0 0}.canvas-topbar .canvas-export-menu{top:calc(100% + 8px);bottom:auto}.canvas-more-menu{min-width:154px}.canvas-save-modal-overlay{z-index:20000;-webkit-backdrop-filter:blur(12px);background:#0000006b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.canvas-save-modal-overlay.is-entering{animation:.18s both canvas-save-overlay-in}.canvas-save-modal-overlay.is-entering .canvas-save-modal{animation:.22s cubic-bezier(.2,.8,.2,1) both canvas-save-modal-in}.canvas-save-modal-overlay.is-leaving{animation:.18s both canvas-save-overlay-out}.canvas-save-modal-overlay.is-leaving .canvas-save-modal{animation:.18s both canvas-save-modal-out}.canvas-save-modal{--canvas-radius:12px;--canvas-control-bg:var(--composer-control);--canvas-control-bg-hover:color-mix(in srgb, var(--composer-control) 88%, var(--text-primary) 6%);--canvas-save-control:color-mix(in srgb, var(--composer-control) 84%, var(--text-primary) 6%);width:min(340px,100vw - 36px);color:var(--text-primary);background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid color-mix(in srgb, var(--border) 78%, transparent);box-shadow:var(--shadow-lg);border-radius:16px;gap:14px;padding:16px;display:grid}.canvas-save-modal-head,.canvas-save-modal-actions{align-items:center;display:flex}.canvas-save-modal-head{justify-content:space-between}.canvas-save-modal-head strong{font-size:15px}.canvas-save-modal-head button,.canvas-save-modal-actions button{height:32px;color:var(--text-secondary);background:var(--canvas-control-bg);border-radius:var(--canvas-radius);border:0;font-size:12px;font-weight:800}.canvas-save-modal-head button{place-items:center;width:34px;display:grid}.canvas-save-field{gap:7px;display:grid}.canvas-save-field>span,.canvas-save-modal-actions{color:var(--text-secondary);font-size:12px;font-weight:800}.canvas-save-field input{width:100%;height:38px;color:var(--text-primary);background:var(--canvas-save-control);border-radius:var(--canvas-radius);border:0;padding:0 12px;font-size:14px;font-weight:800}.canvas-save-modal-actions{justify-content:flex-end;gap:7px;margin-top:2px}.canvas-save-modal-actions button{border-radius:var(--canvas-radius);padding:0 14px}.canvas-save-modal-actions button[type=submit]{color:var(--accent);background:var(--accent-light)}@keyframes canvas-save-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes canvas-save-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes canvas-save-modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes canvas-save-modal-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.985)}}.canvas-toolbar-title{white-space:nowrap;flex:auto;align-items:baseline;gap:8px;min-width:0;padding:0 8px;display:inline-flex}.canvas-toolbar-title input,.canvas-title-button{width:auto;height:28px;color:var(--text-primary);box-shadow:none;text-align:left;background:0 0;padding:0;font-size:14px;font-weight:900}.canvas-toolbar-title input{background:color-mix(in srgb, var(--surface-hover) 86%, transparent);border-radius:var(--radius-sm);width:100%;min-width:0;padding:0 6px;transition:width .18s,background .18s}.canvas-title-button strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;display:block;overflow:hidden}.canvas-title-menu-wrap{flex:0 0 32px;width:32px;height:32px;position:relative}.canvas-title-menu{z-index:90;min-width:132px;color:var(--text-primary);background:var(--canvas-node-bg);border-radius:var(--canvas-radius);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur-lg);gap:4px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0}.canvas-title-menu button{height:30px;color:var(--text-secondary);border-radius:var(--radius-sm);text-align:left;background:0 0;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:800;display:flex}.canvas-title-menu button:hover{color:var(--text-primary);background:var(--surface-hover)}.canvas-toolbar strong{font-size:14px}.canvas-toolbar-title>span{width:44px;color:var(--text-tertiary);text-align:left;flex:0 0 44px;font-size:12px;display:inline-block}.canvas-toolbar-actions{flex:none;align-items:center;gap:8px;display:flex}.canvas-toolbar-actions .btn{border-radius:var(--radius-full);height:32px;box-shadow:none;transition:background .16s,color .16s;transform:none}.canvas-toolbar-actions .btn:hover:not(:disabled),.canvas-toolbar-actions .btn:active:not(:disabled){box-shadow:none;transform:none}.canvas-toolbar-divider{background:var(--border);opacity:.72;width:1px;height:20px}.canvas-image-node{width:260px;min-height:150px;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--border);border-radius:var(--canvas-radius);box-shadow:var(--shadow-md);gap:10px;padding:10px;display:grid;position:relative;overflow:visible}.canvas-image-card{grid-template-rows:minmax(0,1fr);gap:6px;width:100%;height:100%;min-height:0;padding:6px;display:grid;position:relative}.canvas-prompt-node{gap:8px;width:340px;min-height:320px;padding:8px;overflow:visible}.canvas-text-node{gap:8px;width:340px;min-height:240px;padding:8px;overflow:visible}.canvas-config-node{box-sizing:border-box;background:var(--surface);border-color:color-mix(in srgb, var(--text-primary) 12%, transparent);border-radius:12px;gap:0;width:400px;height:236px;padding:12px;transition:box-shadow .16s,border-color .16s;overflow:visible;box-shadow:0 14px 34px #00000021}.canvas-workspace .react-flow__node-imageGeneration:has(.canvas-config-node){width:400px!important;height:236px!important}.canvas-config-deck{box-sizing:border-box;flex-direction:column;justify-content:space-between;gap:11px;min-width:0;max-width:100%;height:212px;display:flex}.canvas-config-node.is-text-mode{height:168px}.canvas-workspace .react-flow__node-imageGeneration:has(.canvas-config-node.is-text-mode){height:168px!important}.canvas-config-node.is-text-mode .canvas-config-deck{height:144px}.canvas-image-node.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light), var(--shadow-md)}.canvas-prompt-head,.canvas-image-actions{color:var(--text-tertiary);justify-content:space-between;align-items:center;font-size:17px;font-weight:900;display:flex}.canvas-prompt-head span,.canvas-image-actions{min-width:0}.canvas-prompt-head>span:first-child{color:var(--text-primary);align-items:center;gap:6px;display:inline-flex}.canvas-prompt-head>span:last-child{font-size:15px;font-weight:900}.canvas-prompt-head button{height:28px;color:var(--text-secondary);background:var(--canvas-control-bg);border-radius:var(--radius-full);align-items:center;gap:4px;padding:0 10px;font-size:15px;font-weight:900;display:inline-flex}.canvas-prompt-head button:hover{color:var(--text-primary);background:var(--canvas-control-bg-hover)}.canvas-config-headrow,.canvas-config-subrow{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.canvas-config-subrow{grid-template-columns:auto minmax(0,1fr)}.canvas-config-name,.canvas-config-sources,.canvas-config-sources span,.canvas-config-mode-switch,.canvas-config-mode-switch button{align-items:center;display:inline-flex}.canvas-config-name{min-width:0;color:var(--text-primary);gap:8px}.canvas-config-name strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:950;line-height:1;overflow:hidden}.canvas-config-name svg{stroke-width:2.5px;flex:none}.canvas-config-submit{justify-content:end;align-items:center;gap:8px;min-width:0;display:inline-flex}.canvas-config-cost{min-width:46px;height:32px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 74%, transparent);border:1px solid color-mix(in srgb, var(--text-primary) 7%, transparent);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:4px;padding:0 9px;font-size:12px;font-weight:900;line-height:1;display:inline-flex;overflow:hidden}.canvas-config-cost svg{color:var(--accent);stroke-width:2.4px;flex:none}.canvas-config-cost span{text-overflow:ellipsis;min-width:0;overflow:hidden}.canvas-config-mode-switch{background:color-mix(in srgb, var(--surface-hover) 82%, transparent);border:1px solid color-mix(in srgb, var(--text-primary) 7%, transparent);border-radius:var(--radius-sm);flex:none;gap:3px;padding:3px}.canvas-config-mode-switch button{min-width:54px;height:28px;color:var(--text-secondary);border-radius:calc(var(--radius-sm) - 2px);background:0 0;justify-content:center;gap:5px;padding:0 8px;font-size:13px;font-weight:900;line-height:1}.canvas-config-mode-switch button svg{stroke-width:2.4px;flex:none}.canvas-config-mode-switch button.is-active{color:var(--text-primary);background:var(--surface);box-shadow:var(--shadow-sm)}.canvas-config-sources{justify-content:end;gap:5px;min-width:0}.canvas-config-sources span{min-width:32px;height:30px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 74%, transparent);border:1px solid color-mix(in srgb, var(--text-primary) 7%, transparent);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;justify-content:center;gap:4px;padding:0 7px;font-size:12px;font-weight:900}.canvas-config-sources svg{stroke-width:2.4px;flex:none}.canvas-image-edit-panel{z-index:5;width:520px;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--border);border-radius:var(--canvas-radius);box-shadow:var(--shadow-lg);gap:8px;padding:12px;display:grid;position:absolute;top:calc(100% + 18px);left:50%;transform:translate(-50%)}.canvas-image-edit-panel .canvas-prompt-head{white-space:nowrap}.canvas-image-edit-input{height:96px;min-height:96px}.canvas-image-edit-input:hover,.canvas-image-edit-input:focus,.canvas-image-edit-input:focus-visible{box-shadow:none;outline:none}.canvas-config-composer-panel{z-index:5;width:min(468px,max(388px,100% + 40px));color:var(--text-primary);background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--border);border-radius:var(--canvas-radius);box-shadow:var(--shadow-lg);pointer-events:auto;gap:8px;padding:12px;display:grid;position:absolute;top:calc(100% + 18px);left:50%;transform:translate(-50%)}.canvas-composer-panel-head{color:var(--text-tertiary);justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:800;display:flex}.canvas-composer-panel-head strong{color:var(--text-primary);font-size:14px;font-weight:900}.canvas-node-preview{background:var(--surface-hover);border-radius:var(--canvas-radius);width:100%;height:100%;min-height:0;overflow:hidden}.canvas-node-preview .smart-image,.canvas-node-preview .smart-image-main{width:100%;height:100%}.canvas-node-local-image{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.canvas-node-loading{width:100%;height:100%;box-shadow:none;border-radius:0}.canvas-node-loading .dot-grid-loader{inset:10px 10px 32px}.canvas-node-empty{width:100%;height:100%;color:var(--text-tertiary);place-items:center;display:grid}.canvas-node-prompt{height:116px;min-height:116px;color:var(--text-primary);background:var(--canvas-control-bg);border-radius:var(--canvas-radius);box-shadow:none;white-space:pre-wrap;overscroll-behavior:contain;scrollbar-gutter:stable;cursor:default;resize:none;backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;padding:8px 10px;font-size:15px;line-height:1.42;overflow-y:auto;transform:translateZ(0)}.canvas-text-node-editor{height:178px;min-height:178px}.canvas-text-loading{background:var(--canvas-control-bg);border-radius:var(--canvas-radius);align-content:start;gap:12px;height:178px;min-height:178px;padding:14px;display:grid;position:relative;overflow:hidden}.canvas-text-loading span{background:linear-gradient(90deg, color-mix(in srgb, var(--text-tertiary) 16%, transparent), color-mix(in srgb, var(--accent) 28%, transparent), color-mix(in srgb, var(--text-tertiary) 16%, transparent));background-size:220% 100%;border-radius:999px;height:13px;animation:1.3s ease-in-out infinite canvasTextLoading;display:block}.canvas-text-loading span:first-child{width:88%}.canvas-text-loading span:nth-child(2){width:68%;animation-delay:.12s}.canvas-text-loading span:nth-child(3){width:78%;animation-delay:.24s}.canvas-text-loading small{color:var(--text-tertiary);font-size:12px;font-weight:850;position:absolute;bottom:12px;left:14px}.canvas-config-composer{height:112px;min-height:112px}.canvas-mention-wrap{min-width:0;position:relative}.canvas-mention-wrap .canvas-node-prompt{box-sizing:border-box;width:100%}.canvas-mention-menu{z-index:40;max-height:220px;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 98%, transparent);border:1px solid var(--border);border-radius:var(--canvas-radius);box-shadow:var(--shadow-md);gap:2px;padding:5px;display:grid;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow-y:auto}.canvas-mention-menu button{height:46px;color:var(--text-secondary);border-radius:var(--radius-sm);text-align:left;background:0 0;grid-template-columns:34px auto minmax(0,1fr);align-items:center;gap:9px;padding:0 10px;display:grid}.canvas-mention-preview{width:30px;height:30px;color:var(--text-tertiary);background:var(--surface-hover);border:1px solid color-mix(in srgb, var(--text-primary) 8%, transparent);border-radius:7px;place-items:center;display:grid;overflow:hidden}.canvas-mention-preview img{object-fit:cover;width:100%;height:100%;display:block}.canvas-mention-menu button.is-active,.canvas-mention-menu button:hover{color:var(--text-primary);background:var(--surface-hover)}.canvas-mention-menu small{min-width:0;color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.canvas-node-model input{background:var(--canvas-control-bg);height:30px;box-shadow:none;padding:0 10px}.canvas-node-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.canvas-config-fields{box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:7px;min-width:0;max-width:100%;display:grid}.canvas-config-node.is-text-mode .canvas-config-fields{grid-template-columns:minmax(0,1fr);align-content:end}.canvas-config-node.is-text-mode .canvas-config-field.is-model{grid-column:1/-1}.canvas-image-edit-controls{grid-template-columns:minmax(150px,1.5fr) minmax(84px,.9fr) minmax(96px,1fr) minmax(72px,.8fr)}.canvas-select{min-width:0;position:relative}.canvas-select>button{width:100%;height:44px;color:var(--text-primary);background:var(--canvas-control-bg);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:800;display:flex}.canvas-config-field{grid-template-rows:14px 36px;gap:4px;min-width:0;display:grid}.canvas-config-field>span{min-width:0;color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;line-height:14px;overflow:hidden}.canvas-config-field .canvas-select>button{background:var(--surface-hover);border:1px solid color-mix(in srgb, var(--text-primary) 7%, transparent);border-radius:var(--radius-sm);height:36px;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--surface) 80%, transparent);padding:0 9px;font-size:12px;font-weight:900}.canvas-config-field .canvas-select>button:hover{background:color-mix(in srgb, var(--surface-hover) 82%, var(--text-primary) 5%);border-color:color-mix(in srgb, var(--text-primary) 13%, transparent)}.canvas-select>button>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.canvas-config-field .canvas-select>button>span{transform:translateY(1px)}.canvas-config-field .canvas-select>button>svg{color:var(--text-secondary);stroke-width:2.5px;flex:none}.canvas-select>button:disabled,.canvas-select>button[aria-disabled=true]{opacity:.58}.canvas-select-menu{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);gap:2px;width:100%;min-width:100%;max-width:100%;padding:4px;transition:left .22s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0}.canvas-select-menu button{height:42px;color:var(--text-secondary);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;background:0 0;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:4px;padding:0 14px;font-size:15px;font-weight:800;display:grid;overflow:hidden}.canvas-select-menu button>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.canvas-select-menu button>svg{justify-self:end}.canvas-select-menu button:hover,.canvas-select-menu button.is-active{color:var(--text-primary);background:var(--surface-hover)}.canvas-node-error{color:var(--error);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.canvas-node-generate{box-sizing:border-box;width:100%;height:52px;color:var(--accent);background:color-mix(in srgb, var(--accent-light) 88%, var(--surface-hover));border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);box-shadow:none;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:16px;font-weight:900;line-height:1;display:inline-flex}.canvas-node-generate[aria-disabled=true]{opacity:.58;cursor:default}.canvas-node-generate:not([aria-disabled=true]):hover{color:var(--accent-hover);background:color-mix(in srgb, var(--accent-light) 76%, var(--surface-hover));border-color:color-mix(in srgb, var(--accent) 28%, transparent)}.canvas-config-run{width:auto;min-width:98px;height:32px;color:var(--accent);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-light) 84%, var(--surface)), color-mix(in srgb, var(--surface-hover) 86%, var(--accent-light))), var(--surface-hover);border-color:color-mix(in srgb, var(--accent) 22%, transparent);border-radius:var(--radius-sm);flex:none;gap:6px;padding:0 10px;display:inline-flex}.canvas-config-run svg{stroke-width:2.5px}.canvas-config-run span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.canvas-config-run:not([aria-disabled=true]):hover{color:var(--accent-hover);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-light) 74%, var(--surface)), color-mix(in srgb, var(--surface-hover) 78%, var(--accent-light))), var(--surface-hover)}.canvas-image-actions{z-index:1;background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--border);border-radius:var(--radius-full);height:54px;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;will-change:opacity;gap:7px;padding:5px;transition:opacity .14s;display:flex;position:absolute;top:-58px;left:50%;transform:translate(-50%)}.canvas-image-actions button{width:44px;height:44px;color:var(--text-tertiary);border-radius:var(--radius-full);stroke-width:2.2px;background:0 0;place-items:center;display:inline-grid;position:relative}.canvas-image-actions button svg{shape-rendering:geometricprecision;display:block}.canvas-image-actions button.canvas-action-with-cost small{min-width:16px;height:16px;color:var(--accent);background:var(--surface);border:1px solid color-mix(in srgb, var(--accent) 26%, var(--border));border-radius:var(--radius-full);justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:950;line-height:1;display:inline-flex;position:absolute;bottom:-1px;right:-2px}.canvas-image-actions button:hover{color:var(--text-primary);background:var(--surface-hover)}.canvas-image-node:hover .canvas-image-hover-actions,.canvas-image-hover-actions:hover{opacity:1;pointer-events:auto}.canvas-image-node.is-panel-open .canvas-image-hover-actions,.canvas-workspace.is-node-dragging .canvas-image-hover-actions{opacity:0;pointer-events:none}.canvas-image-hover-actions:after{content:"";height:24px;position:absolute;bottom:-24px;left:0;right:0}.canvas-crop-overlay{z-index:9000;background:#0000006b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.canvas-crop-modal{width:min(720px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text-primary);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:14px;grid-template-rows:auto minmax(220px,1fr) auto;gap:14px;padding:14px;display:grid}.canvas-crop-head,.canvas-crop-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.canvas-crop-head button,.canvas-crop-foot button{height:34px;color:var(--text-primary);background:var(--canvas-control-bg);border-radius:var(--radius-full);align-items:center;gap:6px;padding:0 12px;font-weight:800;display:inline-flex}.canvas-crop-foot{color:var(--text-secondary);grid-template-columns:132px minmax(0,1fr) 210px;align-items:center;column-gap:16px;font-size:13px;font-weight:800;display:grid}.canvas-crop-size{width:132px;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px;line-height:34px}.canvas-crop-sliders{flex-wrap:wrap;justify-content:center;justify-self:center;align-items:center;gap:14px 18px;width:100%;min-width:0;display:flex}.canvas-crop-foot label{text-align:left;white-space:nowrap;grid-template-columns:34px minmax(92px,1fr);align-items:center;gap:8px;width:min(150px,50% - 9px);min-width:0;display:grid}.canvas-crop-actions{justify-content:flex-end;gap:8px;width:210px;display:flex}.canvas-crop-actions button{white-space:nowrap}.canvas-crop-slider{cursor:pointer;touch-action:none;width:100%;min-width:0;height:26px;display:block;position:relative}.canvas-crop-slider-track,.canvas-crop-slider-line{border-radius:999px;height:4px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.canvas-crop-slider-track{background:color-mix(in srgb, var(--text-primary) 18%, transparent);right:0}.canvas-crop-slider-line{background:var(--text-primary)}.canvas-crop-slider-thumb{background:var(--text-primary);will-change:transform;border-radius:50%;width:18px;height:18px;position:absolute;top:50%;transform:translate(-50%,-50%)}.canvas-crop-foot button:disabled{cursor:wait;opacity:.62}@media (width<=820px){.canvas-crop-foot{grid-template-columns:132px minmax(0,1fr) 210px;column-gap:12px}.canvas-crop-sliders{justify-content:center}.canvas-crop-foot label{grid-template-columns:34px minmax(82px,1fr);width:min(132px,50% - 7px)}}@media (width<=620px){.canvas-crop-overlay{padding:10px}.canvas-crop-modal{gap:10px;width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:12px}.canvas-crop-foot{grid-template-columns:1fr;grid-template-areas:"size""sliders""actions";row-gap:10px}.canvas-crop-size,.canvas-crop-actions{justify-self:stretch;width:auto}.canvas-crop-size{grid-area:size}.canvas-crop-sliders{grid-area:sliders}.canvas-crop-actions{grid-area:actions}.canvas-crop-foot label{grid-template-columns:34px minmax(0,1fr);width:100%}.canvas-crop-actions{justify-content:flex-end}}.canvas-crop-stage{background:color-mix(in srgb, var(--text-primary) 5%, transparent);border-radius:10px;place-items:center;min-height:0;display:grid;overflow:hidden}.canvas-crop-image-wrap{-webkit-user-select:none;user-select:none;width:fit-content;max-width:100%;max-height:min(62vh,620px);position:relative;overflow:hidden}.canvas-crop-image-wrap img{max-width:100%;max-height:min(62vh,620px);margin:0 auto;display:block}.canvas-crop-message{min-height:min(360px,52vh);color:var(--text-muted);place-items:center;font-size:14px;display:grid}.canvas-crop-shade{background:#00000085;position:absolute}.canvas-crop-box{cursor:move;touch-action:none;border:2px solid #fff;position:absolute;box-shadow:0 0 0 1px #00000047,0 0 30px #00000047}.canvas-crop-box:before,.canvas-crop-box:after{content:"";border-top:1px solid #ffffff94;position:absolute;inset:33.333% 0 auto}.canvas-crop-box:after{inset:66.666% 0 auto}.canvas-image-picker{z-index:20;width:320px;max-height:min(430px,100vh - 120px);color:var(--text-primary);background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:12px;position:absolute;bottom:62px;left:max(18px,50% - 160px);overflow:auto}.canvas-context-menu{z-index:80;min-width:112px;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 96%, transparent);border-radius:var(--canvas-radius);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur-lg);gap:4px;padding:6px;display:grid;position:fixed}.canvas-context-menu button{height:30px;color:var(--text-secondary);border-radius:var(--radius-sm);text-align:left;background:0 0;padding:0 10px;font-size:12px;font-weight:800}.canvas-context-menu button:hover{color:var(--text-primary);background:var(--surface-hover)}.canvas-pending-connection{pointer-events:none;z-index:8;width:100vw;height:100vh;position:fixed;inset:0;overflow:visible}.canvas-pending-connection .react-flow__edge-path{fill:none}.canvas-connect-menu{z-index:90;min-width:148px;color:var(--text-primary);background:var(--canvas-node-bg);border-radius:var(--canvas-radius);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur-lg);gap:4px;padding:6px;display:grid;position:fixed;transform:translate(10px,-50%)}.canvas-connect-menu button{height:32px;color:var(--text-secondary);border-radius:var(--radius-sm);text-align:left;background:0 0;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:800;display:flex}.canvas-connect-menu button:hover{color:var(--text-primary);background:var(--surface-hover)}.canvas-picker-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.canvas-picker-head button,.canvas-picker-upload{color:var(--text-secondary);background:var(--canvas-control-bg);border-radius:var(--radius-sm);font-size:12px;font-weight:800}.canvas-picker-head button{padding:5px 8px}.canvas-picker-upload{width:100%;height:32px;margin-bottom:10px}.canvas-picker-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.canvas-picker-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px;display:grid}.canvas-picker-tabs button{height:30px;color:var(--text-tertiary);background:var(--canvas-control-bg);border-radius:var(--radius-sm);font-size:12px;font-weight:900}.canvas-picker-tabs button.is-active{color:var(--text-primary);background:var(--canvas-control-bg-hover)}.canvas-picker-grid button{aspect-ratio:1;background:var(--surface-hover);border-radius:var(--radius-sm);position:relative;overflow:hidden}.canvas-picker-grid img{object-fit:cover;width:100%;height:100%}.canvas-upload-tile span{color:#fff;opacity:0;background:#0f172aa3;border-radius:999px;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:5px;right:5px}.canvas-upload-tile:hover span,.canvas-upload-tile span:focus-visible{opacity:1}.canvas-picker-empty{color:var(--text-tertiary);text-align:center;margin:18px 0 8px;font-size:12px;font-weight:700}@media (width<=900px){.canvas-toolbar,body.canvas-rail-hidden .canvas-toolbar{max-width:min(820px, calc(100vw - var(--canvas-bottom-reserve)));scrollbar-width:none;left:50%;overflow-x:auto}.canvas-toolbar::-webkit-scrollbar{display:none}.canvas-toolbar-title{max-width:180px}.canvas-toolbar-actions{flex:none}.canvas-title-button strong{text-overflow:ellipsis;white-space:nowrap;max-width:112px;display:block;overflow:hidden}}@media (width<=640px){.canvas-toolbar{height:auto;min-height:var(--canvas-toolbar-height);gap:8px;max-width:calc(100vw - 28px);padding:5px 10px}.canvas-toolbar .canvas-toolbar-title{display:none}.canvas-toolbar-actions{scrollbar-width:none;gap:5px;max-width:calc(100vw - 42px);overflow-x:auto}.canvas-toolbar-actions::-webkit-scrollbar{display:none}.canvas-image-picker{width:auto;left:18px;right:18px}}.canvas-workspace .react-flow__handle{background:var(--accent);border:2px solid var(--surface);border-radius:999px;width:14px;height:14px}.canvas-workspace .react-flow__handle:before{content:"";background:0 0;border-radius:999px;position:absolute;inset:-8px}.canvas-workspace .react-flow__handle-left{left:0}.canvas-workspace .react-flow__handle-right{right:0}.canvas-workspace .canvas-handle-in:after,.canvas-workspace .canvas-handle-out:after{content:none}.canvas-workspace .canvas-handle-in{background:#5cc8ff}.canvas-workspace .canvas-handle-out{background:#a8f28a}.canvas-zoom-controls{right:var(--canvas-zoom-right);bottom:var(--canvas-zoom-bottom);z-index:10;width:var(--canvas-zoom-width);height:var(--canvas-toolbar-height);color:var(--text-tertiary);background:color-mix(in srgb, var(--surface) 78%, transparent);border-radius:var(--radius-full);box-shadow:var(--shadow-md);grid-template-columns:32px 42px 32px;justify-content:center;align-items:center;gap:6px;padding:3px;display:grid;position:absolute}.canvas-zoom-controls button{width:32px;height:32px;color:inherit;border-radius:var(--radius-full);background:0 0;place-items:center;display:grid}.canvas-zoom-controls button:hover{color:var(--text-primary);background:var(--surface-hover)}.canvas-zoom-controls span{min-width:42px;height:32px;color:var(--text-secondary);text-align:center;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:12px;font-weight:800;line-height:1;display:flex}.canvas-workspace .react-flow__edges,.canvas-workspace .react-flow__edges svg{overflow:visible}.canvas-workspace .react-flow__edge-path{stroke:color-mix(in srgb, var(--accent) 34%, var(--text-tertiary));stroke-width:2.2px;stroke-linecap:round}.canvas-workspace .canvas-edge-generating .react-flow__edge-path{stroke-dasharray:7 7;animation:.8s linear infinite canvasEdgeFlow}.canvas-workspace .react-flow__attribution{display:none}@keyframes canvasEdgeFlow{to{stroke-dashoffset:-14px}}@keyframes canvasTextLoading{0%,to{opacity:.48;background-position:120% 0}50%{opacity:1;background-position:0 0}}@media (width<=768px){html,body,#root{width:100%;max-width:100%;overflow-x:hidden}.app-frame,.main-stage,.studio-canvas,.landing-page,.canvas-workspace{width:100%;max-width:100vw}.app-rail{width:100vw;max-width:100vw;padding:8px 10px calc(8px + env(safe-area-inset-bottom));padding-right:calc(18px + env(safe-area-inset-right));padding-left:calc(10px + env(safe-area-inset-left));scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;justify-content:safe center;gap:8px;scroll-padding-inline:12px;display:flex;overflow:auto hidden}.app-rail::-webkit-scrollbar{display:none}.rail-nav{flex:none;justify-content:center;gap:8px;width:auto;min-width:0;max-width:none}.rail-nav button,.theme-toggle,.icon-btn,.rail-download,.rail-download>.icon-btn{border-radius:14px;width:44px;height:48px}.rail-footer{flex-direction:row;flex:none;gap:8px;max-width:none;position:static;overflow:visible}.identity-chip{width:36px;height:36px}.quota-badge{border-radius:14px;justify-content:center;gap:0;width:44px;min-height:48px;padding:0}.quota-label{display:none}body.canvas-rail-hidden .app-rail{opacity:1;pointer-events:auto;transform:none}.tooltip-wrap:before,.tooltip-wrap:after,.work-prompt-tip:before,.preview-hover-label{display:none}.rail-download-card{left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) 112px;width:auto;min-height:152px;position:fixed}.rail-download-qr{width:112px;height:112px}.rail-download-qr img{width:100px;height:100px}.content-page{width:100%;max-width:100vw;padding:24px 16px 96px}.pinned-content-page{height:calc(100svh - 64px);padding-bottom:16px}.content-scroll-frame{padding-bottom:72px}.page-header{gap:16px;margin-bottom:24px;padding-bottom:20px}.page-actions{flex-wrap:wrap;justify-content:flex-start}.work-grid,.image-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.work-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-auto-rows:4px;gap:4px}.canvas-workspace{--canvas-toolbar-top:12px;--canvas-toolbar-left:12px;--canvas-toolbar-height:36px;--canvas-picker-gap:6px;--canvas-zoom-bottom:calc(76px + env(safe-area-inset-bottom))}body.canvas-rail-hidden .canvas-workspace{--canvas-toolbar-left:12px}.canvas-toolbar,body.canvas-rail-hidden .canvas-toolbar{scrollbar-width:none;gap:6px;max-width:calc(100vw - 24px);left:50%;overflow-x:auto}.canvas-toolbar::-webkit-scrollbar{display:none}.canvas-toolbar-title{min-width:0;max-width:132px;overflow:hidden}.canvas-toolbar-title span{display:none}.canvas-title-button strong{text-overflow:ellipsis;white-space:nowrap;max-width:118px;display:block;overflow:hidden}.canvas-toolbar-actions{gap:4px}.canvas-zoom-controls{left:50%;right:auto;bottom:calc(var(--canvas-zoom-bottom) + var(--canvas-toolbar-height) + 10px);transform:translate(-50%)}}@media (width<=640px){.app-rail{justify-content:safe center;gap:8px;overflow-x:auto}.rail-nav{flex:none;justify-content:center}.rail-nav,.rail-footer{min-width:max-content}.work-grid,.image-grid{grid-template-columns:minmax(0,1fr)}.work-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:4px;gap:4px}.landing-nav{padding:20px 20px 0}.landing-nav nav{scrollbar-width:none;max-width:calc(100vw - 76px);overflow-x:auto}.landing-nav nav::-webkit-scrollbar{display:none}.landing-hero h1{max-width:100%;font-size:clamp(38px,11.5vw,48px);line-height:1.08}.landing-hero p{max-width:34em;margin-top:20px;line-height:1.55}.landing-lower{width:calc(100% - 40px);padding-bottom:96px}.canvas-empty-copy h2{white-space:normal;max-width:min(100%,360px)}.conversation-area.is-empty{padding:70px 16px 220px}.composer-dock{right:0;bottom:calc(64px + env(safe-area-inset-bottom));padding:10px 12px 8px}.composer-form{width:100%;max-width:calc(100vw - 24px)}.composer-main{overflow:hidden}.history-table{box-shadow:none;background:0 0;border-top:0;gap:10px;overflow:visible}.history-table-head{display:none}.history-row{border:1px solid var(--divider);background:color-mix(in srgb, var(--surface) 86%, transparent);border-radius:18px;grid-template-columns:72px minmax(0,1fr);gap:10px 14px;min-height:0;padding:14px}.history-preview{grid-row:1/span 2;width:72px;height:72px}.history-time-cell,.history-row-main{grid-column:2}.history-row .history-overview,.history-row .history-actions{grid-column:1/-1;display:flex}.history-row .history-actions{justify-content:flex-start}.history-table.is-loading .history-row-skeleton:before{grid-column:2;width:100%}.history-table.is-loading .history-row-skeleton:after{display:none}.canvas-image-picker{width:calc(100vw - 24px);max-height:min(390px,100svh - 120px);left:12px;right:12px}.gallery-detail{align-items:stretch;padding:12px}.gallery-detail-shell{border-radius:20px;width:100%;max-height:calc(100svh - 24px)}.gallery-detail-media{border-radius:20px 20px 0 0;min-height:44vh;padding:12px}.gallery-detail-media img{border-radius:14px;max-height:42vh}.gallery-detail-info{border-radius:0 0 20px 20px;gap:18px;padding:20px 16px}.gallery-detail-top{align-items:flex-start}.gallery-detail-buttons .btn{flex-basis:calc(50% - 4px)}}@media (width>=641px) and (width<=768px){.app-rail{justify-content:center;gap:10px;padding-bottom:8px}.rail-nav{flex:none;justify-content:center;gap:8px}.rail-footer{gap:8px}.rail-nav button,.theme-toggle,.icon-btn,.rail-download,.rail-download>.icon-btn,.quota-badge{width:44px}.content-page{padding:32px 24px 72px}.pinned-content-page{padding-bottom:8px}.content-scroll-frame{padding-bottom:12px}.works-scroll-frame{padding-bottom:8px}.page-header{align-items:flex-start}.work-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-auto-rows:4px;gap:4px}.history-table-head,.history-row{grid-template-columns:82px 118px minmax(0,1fr) minmax(160px,.8fr) auto;gap:12px;padding:12px 14px}.history-table-head span:nth-child(n+3),.history-row .history-overview,.history-row .history-actions{display:flex}.history-table-head span:nth-child(n+3){display:block}.history-preview{width:64px;height:64px}.history-time-cell{grid-column:auto}.history-summary{white-space:nowrap;display:block}.history-overview{gap:6px}.history-overview span{min-height:24px;padding:0 8px;font-size:11px}.history-actions .btn{width:38px;padding:0}.history-actions .btn span,.history-actions .btn:not(.btn-icon){font-size:0}.history-delete{width:38px;height:38px}.conversation-area.is-empty{padding:56px 24px 220px}.canvas-empty-shell{transform:translateY(0)}.canvas-empty-visual{width:120px}.composer-form{width:min(760px,100vw - 40px)}.composer-dock{bottom:calc(64px + env(safe-area-inset-bottom));padding:12px 20px 10px}}
