@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2)format("woff2"),url(/assets/fonts/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2)format("woff2"),url(/assets/fonts/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/assets/fonts/space-grotesk-latin-400-normal-BnQMeOim.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/assets/fonts/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/fonts/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/fonts/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2)format("woff2"),url(/assets/fonts/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2)format("woff2"),url(/assets/fonts/space-grotesk-latin-ext-600-normal-VcznFIpX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2"),url(/assets/fonts/space-grotesk-latin-600-normal-BflQw4A9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fonts/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/assets/fonts/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fonts/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/fonts/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fonts/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/fonts/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/fonts/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/fonts/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/fonts/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/fonts/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/fonts/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/fonts/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/fonts/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/fonts/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/fonts/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/fonts/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/fonts/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/fonts/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/fonts/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/fonts/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/fonts/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/fonts/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/fonts/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/fonts/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/fonts/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/fonts/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/fonts/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#050505;--color-surface:#ffffff0a;--color-surface-hover:#ffffff17;--color-border:#ffffff1a;--color-border-strong:#ffffff38;--color-text-primary:#fff;--color-text-secondary:#b4b4b4;--color-text-muted:#8a8a8a;--accent:#cf0;--accent-soft:#ccff0059;--accent-ink:#0b0d00;--danger:#ff6b81;--glass-bg:#0a0a0a66;--glass-border:1px solid #ffffff0f;--glass-blur:20px;--glass-shadow:0 8px 32px 0 #00000080;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--transition-fast:.2s var(--ease-out-expo)}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-body);width:100vw;height:100vh;height:100dvh;overflow:hidden}#bg-canvas{z-index:0;background-color:#7e6cf7;background-color:lab(52.9994% 34.6162 -68.7243);width:100%;height:100%;position:fixed;inset:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{color:inherit;font-family:inherit}.hidden{display:none!important}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.minimal-overlay{width:100%;padding:var(--space-5);padding-top:max(var(--space-5), env(safe-area-inset-top));z-index:100;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0}.logo-container,.top-actions{pointer-events:auto}.logo-text{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 8px #0006);background:linear-gradient(135deg,#fff 0%,#dcdcdc 100%);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.top-actions{gap:var(--space-3);align-items:center;display:flex}.icon-btn,.cta-btn{-webkit-border-radius:var(--radius-full);border-radius:var(--radius-full);cursor:pointer;height:48px;transition:transform var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;display:inline-flex}.icon-btn{background:var(--glass-bg);width:48px;-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);color:var(--color-text-primary);text-decoration:none}.icon-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong);transform:scale(1.05)}.cta-btn{gap:var(--space-2);background:var(--accent);color:var(--accent-ink);font-family:var(--font-display);border:none;padding:0 1.15rem;font-size:.9rem;font-weight:600;box-shadow:0 6px 24px #ccff0047}.cta-btn:hover{transform:translateY(-1px);box-shadow:0 10px 30px #cf06}.cta-btn:active{transform:translateY(0)}.cta-btn:focus-visible{outline-color:#fff}#desktop-panel-container.hidden{display:none!important}.fade-in-up{animation:fadeInUp .35s var(--ease-out-expo) backwards}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.panel-section{gap:var(--space-4);flex-direction:column;display:flex}.panel-heading{gap:var(--space-1);flex-direction:column;display:flex}.panel-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.05rem;font-weight:600}.panel-hint{color:var(--color-text-secondary);font-size:.78rem;line-height:1.4}.field{gap:var(--space-2);flex-direction:column;display:flex}.field-head{align-items:center;gap:var(--space-2);min-height:1.25rem;display:flex}.field-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:500}.field-value{color:var(--color-text-primary);font-variant-numeric:tabular-nums;opacity:.85;margin-left:auto;font-size:.8rem}input[type=range]{--fill:50%;appearance:none;cursor:pointer;touch-action:pan-y;background:0 0;width:100%;height:20px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--fill), #ffffff24 var(--fill));border-radius:2px;height:4px}input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--accent) var(--fill), #ffffff24 var(--fill));border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;box-shadow:0 0 0 3px var(--accent-soft), 0 2px 6px #0006;background:#fff;border-radius:50%;margin-top:-6px;transition:transform .15s}input[type=range]::-moz-range-thumb{width:16px;height:16px;box-shadow:0 0 0 3px var(--accent-soft), 0 2px 6px #0006;background:#fff;border:none;border-radius:50%}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]:focus-visible{outline-offset:4px;border-radius:4px}.info-icon{color:var(--color-text-muted);cursor:help;transition:color var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.info-icon:hover,.info-icon:focus-visible{color:var(--accent)}.global-tooltip{border:1px solid var(--color-border);-webkit-border-radius:var(--radius-sm);border-radius:var(--radius-sm);width:max-content;max-width:240px;color:var(--color-text-primary);text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out-expo), transform .2s var(--ease-out-expo);z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0af5;padding:8px 12px;font-size:.75rem;line-height:1.4;position:fixed;top:0;left:0;transform:translateY(4px);box-shadow:0 4px 16px #0009}.global-tooltip.visible{opacity:1;visibility:visible;transform:translateY(0)}.btn,.chip-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-display);white-space:nowrap;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);-webkit-tap-highlight-color:transparent;font-weight:600}.btn{min-height:44px;padding:0 1rem;font-size:.875rem}.chip-btn{-webkit-border-radius:var(--radius-full);border-radius:var(--radius-full);padding:.4rem .8rem;font-size:.78rem}.btn:hover,.chip-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn.flash{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.text-input{background:var(--color-surface);border:1px solid var(--color-border);min-width:0;min-height:44px;color:var(--color-text-primary);-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md);font-family:var(--font-body);flex:1;padding:0 .9rem;font-size:.875rem}.text-input::placeholder{color:var(--color-text-muted)}.text-input:focus{border-color:var(--color-border-strong);background:var(--color-surface-hover);outline:none}.text-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);-webkit-border-radius:var(--radius-full);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);-webkit-tap-highlight-color:transparent;padding:.35rem .8rem;font-size:.78rem;font-weight:500}.chip:hover{background:var(--color-surface-hover);color:#fff}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.icon-action{background:var(--color-surface);border:1px solid var(--color-border);width:44px;min-width:44px;color:var(--color-text-secondary);-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-self:stretch;align-items:center;display:inline-flex}.icon-action:hover{background:var(--color-surface-hover);color:#fff}.icon-action.danger:hover{color:var(--danger);border-color:var(--danger)}.empty-state{color:var(--color-text-secondary);padding:var(--space-3);border:1px dashed var(--color-border);-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md);text-align:center;font-size:.8rem;line-height:1.5}#shader-controls-content{gap:var(--space-4);flex-direction:column;display:flex}.bg-current{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md);display:flex}.bg-current-thumb{border:1px solid var(--color-border-strong);border-radius:10px;flex:none;width:44px;height:44px}.bg-current-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.bg-current-name{font-family:var(--font-display);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.95rem;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.gallery-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.gallery-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bg-card{gap:var(--space-2);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-direction:column;display:flex}.bg-card:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong);transform:translateY(-2px)}.bg-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 8px 24px #ccff001f}.bg-card-thumb{aspect-ratio:16/10;background-position:50%;background-size:cover;border-radius:10px;width:100%;display:block;position:relative;overflow:hidden}.bg-card-thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.bg-card-meta{justify-content:space-between;align-items:center;gap:var(--space-2);padding:0 var(--space-1) var(--space-1);display:flex}.bg-card-name{font-family:var(--font-display);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:500;overflow:hidden}.cost-badge{flex:none;align-items:flex-end;gap:2px;display:inline-flex}.cost-badge i{background:#fff3;border-radius:2px;width:4px;display:block}.cost-badge i:first-child{height:6px}.cost-badge i:nth-child(2){height:9px}.cost-badge i:nth-child(3){height:12px}.cost-badge[data-cost=light] i:first-child{background:#7dffb0}.cost-badge[data-cost=medium] i:nth-child(-n+2){background:#ffd166}.cost-badge[data-cost=heavy] i{background:#ff8a5c}.preset-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.preset-btn{gap:var(--space-2);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-direction:column;display:flex}.preset-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong);transform:translateY(-2px)}.preset-btn:active{transform:translateY(0)}.preset-swatch{border:1px solid #ffffff2e;border-radius:10px;width:100%;height:40px;display:block}.preset-name{font-family:var(--font-display);color:var(--color-text-primary);text-align:left;padding:0 var(--space-1) var(--space-1);font-size:.82rem;font-weight:500}.saved-bg-row{gap:var(--space-2);align-items:stretch;display:flex}.saved-bg-list{gap:var(--space-2);flex-direction:column;display:flex}.saved-bg-item-row{gap:var(--space-2);align-items:stretch;display:flex}.saved-bg-item{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md);min-width:0;padding:var(--space-3);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);flex-direction:column;flex:1;gap:2px;display:flex}.saved-bg-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.saved-bg-item:disabled{opacity:.55;cursor:not-allowed}.saved-bg-item:disabled:hover{background:var(--color-surface);border-color:var(--color-border)}.saved-bg-title{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.saved-bg-meta{color:var(--color-text-secondary);font-size:.75rem}@media (max-width:768px){.minimal-overlay{padding:var(--space-4);padding-top:max(var(--space-4), env(safe-area-inset-top))}.top-actions{gap:var(--space-2)}.logo-text{font-size:1.25rem}input[type=range]{height:28px}input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-8px}input[type=range]::-moz-range-thumb{width:20px;height:20px}.global-tooltip{max-width:calc(100vw - 32px)}}@media (max-width:520px){.icon-btn{width:44px}.icon-btn,.cta-btn{height:44px}.cta-btn{padding:0 .85rem}.cta-btn span{display:none}}
