@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,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/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,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/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,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/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,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:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:800;src:url(/assets/inter-cyrillic-ext-800-normal-BZOjs1Xv.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-800-normal-Ca-gJeZY.woff) format("woff");unicode-range:U+0460-052F,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:800;src:url(/assets/inter-cyrillic-800-normal-C7MGvYyJ.woff2) format("woff2"),url(/assets/inter-cyrillic-800-normal-CCHyn08d.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-ext-800-normal-B--PVpEC.woff2) format("woff2"),url(/assets/inter-greek-ext-800-normal-DUe57HfS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-800-normal-CLIouy3y.woff2) format("woff2"),url(/assets/inter-greek-800-normal-BU00tryP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-vietnamese-800-normal-Cm7tD1pz.woff2) format("woff2"),url(/assets/inter-vietnamese-800-normal-DDlpr_Ee.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-ext-800-normal-DZJjya6U.woff2) format("woff2"),url(/assets/inter-latin-ext-800-normal-BOMpwxm3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:root{--bg: #fbfbfe;--bg-2: #f2f2fa;--panel: #ffffff;--panel-2: #f5f5fb;--border: #e4e4f0;--border-soft: #ececf5;--text: #17141f;--text-dim: #5f5b73;--text-faint: #9c98b3;--primary: #7c3aed;--primary-strong: #6d28d9;--primary-text: #ffffff;--accent: #7c3aed;--accent-2: #4f46e5;--accent-strong: #6d28d9;--accent-dim: rgba(124, 58, 237, .09);--accent-glow: rgba(124, 58, 237, .28);--grad: linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%);--grad-text: linear-gradient(100deg, #7c3aed 10%, #4f46e5 90%);--ok: #0d9f6e;--danger: #e11d48;--warning: #d97706;--violet: #7c3aed;--radius: 8px;--radius-lg: 14px;--shadow: 0 1px 2px rgba(76, 29, 149, .05), 0 12px 34px rgba(76, 29, 149, .08);--shadow-sm: 0 1px 2px rgba(76, 29, 149, .07);--shadow-lift: 0 2px 6px rgba(76, 29, 149, .08), 0 20px 48px rgba(76, 29, 149, .14);--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--app-viewport-height: 100dvh;--app-viewport-width: 100vw;--keyboard-inset: 0px;--topbar-height: 58px;--platform-radius: var(--radius);--platform-scrollbar: 9px;--grid-line: rgba(124, 58, 237, .065);--glow-1: rgba(124, 58, 237, .13);--glow-2: rgba(79, 70, 229, .1);color-scheme:light}:root[data-theme=dark]{--bg: #0b0a13;--bg-2: #08070f;--panel: #131120;--panel-2: #1a1729;--border: #292543;--border-soft: #221f38;--text: #eceaf7;--text-dim: #9a94b8;--text-faint: #625c80;--primary: #8b5cf6;--primary-strong: #a78bfa;--primary-text: #ffffff;--accent: #a78bfa;--accent-2: #818cf8;--accent-strong: #c4b5fd;--accent-dim: rgba(167, 139, 250, .13);--accent-glow: rgba(139, 92, 246, .38);--grad: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);--grad-text: linear-gradient(100deg, #c4b5fd 10%, #818cf8 90%);--ok: #34d399;--danger: #fb7185;--warning: #fbbf24;--violet: #c084fc;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 14px 38px rgba(0, 0, 0, .45);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .38);--shadow-lift: 0 2px 6px rgba(0, 0, 0, .42), 0 22px 52px rgba(0, 0, 0, .55);--grid-line: rgba(167, 139, 250, .06);--glow-1: rgba(139, 92, 246, .16);--glow-2: rgba(99, 102, 241, .12);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);font-size:14px;letter-spacing:.005em;transition:background-color .4s ease,color .4s ease}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:14px}a{color:var(--accent);text-decoration:none}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:var(--platform-scrollbar);height:var(--platform-scrollbar)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--accent);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.bg-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.bg-base{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}.bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 120% 90% at 50% 0%,rgba(0,0,0,.9) 20%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 120% 90% at 50% 0%,rgba(0,0,0,.9) 20%,transparent 78%)}.bg-glow{position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;background:radial-gradient(38% 34% at 78% 12%,var(--glow-1),transparent 70%),radial-gradient(32% 38% at 10% 88%,var(--glow-2),transparent 70%),radial-gradient(26% 26% at 52% 46%,var(--glow-1),transparent 72%);filter:blur(46px);opacity:.9}@media(prefers-reduced-motion:no-preference){.bg-glow{animation:aurora 22s ease-in-out infinite alternate}}@keyframes aurora{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-3%,2.5%,0) scale(1.06)}to{transform:translate3d(2.5%,-2%,0) scale(1.02)}}.app-content{position:relative;z-index:1}.btn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border:1px solid transparent;border-radius:var(--radius);background:var(--grad);color:#fff;font-size:14px;letter-spacing:.06em;cursor:pointer;overflow:hidden;transition:box-shadow .25s ease,border-color .25s ease,color .2s ease,transform .3s cubic-bezier(.22,1,.36,1);transform:translate(var(--tx, 0px),var(--ty, 0px));box-shadow:0 1px 2px #4c1d9533;white-space:nowrap}.btn:after{content:"";position:absolute;top:0;left:-90%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.4),transparent);transform:skew(-20deg);transition:left .6s cubic-bezier(.22,1,.36,1);pointer-events:none}.btn:hover:after{left:140%}.btn:hover{box-shadow:0 6px 26px var(--accent-glow),0 1px 2px #4c1d9533}.btn:active{transform:translate(var(--tx, 0px),var(--ty, 0px)) scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn:disabled:after{display:none}.btn>*{position:relative;z-index:1}.btn.ghost{background:transparent;color:var(--text);border-color:var(--border);box-shadow:none}.btn.ghost:hover{color:var(--accent);border-color:var(--accent);box-shadow:0 0 18px var(--accent-dim)}.btn.lg{padding:13px 30px;font-size:15px}.btn.sm{padding:6px 14px;font-size:12.5px}.btn .arr{display:inline-block;transition:transform .25s cubic-bezier(.22,1,.36,1)}.btn:hover .arr{transform:translate(4px)}.ink-link{position:relative;text-decoration:none;color:var(--text)}.ink-link:after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);transition:right .28s cubic-bezier(.22,1,.36,1)}.ink-link:hover{color:var(--accent)}.ink-link:hover:after{right:0}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;color:var(--text-dim);border:1px solid var(--border-soft);border-radius:4px;padding:3px 9px;background:var(--panel-2)}.theme-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--panel);color:var(--text-dim);border-radius:999px;padding:5px 9px;transition:all .2s ease}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);box-shadow:0 0 16px var(--accent-dim)}.theme-toggle-icon{display:inline-flex;animation:spin-in .4s cubic-bezier(.22,1,.36,1)}@keyframes spin-in{0%{transform:rotate(-90deg) scale(.6);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}.reveal.in{opacity:1;transform:none}.fade-item{opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}.typed-done .fade-item{opacity:1;transform:none}.typed-done .fade-item.d1{transition-delay:.12s}.typed-done .fade-item.d2{transition-delay:.24s}.typed-done .fade-item.d3{transition-delay:.36s}.grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.page{overflow-x:clip}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:80;pointer-events:none}.progress i{display:block;height:100%;background:var(--grad);box-shadow:0 0 10px var(--accent-glow);transform:scaleX(0);transform-origin:0 50%}.site-nav{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s ease,box-shadow .3s ease}.site-nav.scrolled{border-bottom-color:var(--border);box-shadow:0 1px 0 var(--border-soft)}.site-nav-inner{max-width:1180px;margin:0 auto;padding:0 32px;height:62px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.brand img{height:32px;width:auto;display:block;transition:filter .25s ease}.brand:hover img{filter:drop-shadow(0 0 7px var(--accent-glow))}.brand-name{font-size:16px;font-weight:700;letter-spacing:.06em}.brand-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:4px;padding:2px 6px;background:var(--accent-dim)}.nav-links{display:flex;gap:26px;margin-left:14px;flex:1}.nav-links a{font-size:13.5px;letter-spacing:.03em}.nav-cta{display:flex;align-items:center;gap:12px}.wrap{max-width:1180px;margin:0 auto;padding:0 32px}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:56px;align-items:center;padding:88px 0 72px;min-height:520px;isolation:isolate}.hero-vanta{position:absolute;z-index:-1;top:-58px;right:-7vw;bottom:-26px;left:-7vw;overflow:hidden;border-radius:40px;opacity:.2;pointer-events:none;mask-image:radial-gradient(ellipse 86% 78% at 58% 42%,#000 12%,rgba(0,0,0,.72) 56%,transparent 88%);-webkit-mask-image:radial-gradient(ellipse 86% 78% at 58% 42%,#000 12%,rgba(0,0,0,.72) 56%,transparent 88%)}.hero-vanta .vanta-canvas{opacity:.78!important;filter:saturate(.84);mix-blend-mode:multiply}:root[data-theme=dark] .hero-vanta{opacity:.3}:root[data-theme=dark] .hero-vanta .vanta-canvas{opacity:.68!important;filter:saturate(.78);mix-blend-mode:screen}.hero-glow{position:absolute;top:-80px;right:-40px;bottom:-80px;left:-40px;pointer-events:none;background:radial-gradient(340px 340px at var(--gx, 72%) var(--gy, 30%),var(--accent-dim),transparent 68%);opacity:0;transition:opacity .5s ease}.hero:hover .hero-glow{opacity:1}.particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.particles i{position:absolute;bottom:-12px;width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px var(--accent-glow);opacity:0;animation:rise 10s linear infinite}.particles i:nth-child(1){left:6%;animation-delay:0s}.particles i:nth-child(2){left:18%;animation-delay:2.2s;width:3px;height:3px}.particles i:nth-child(3){left:31%;animation-delay:5s;width:5px;height:5px}.particles i:nth-child(4){left:47%;animation-delay:1.2s}.particles i:nth-child(5){left:63%;animation-delay:3.6s;width:3px;height:3px}.particles i:nth-child(6){left:76%;animation-delay:6.4s}.particles i:nth-child(7){left:90%;animation-delay:4.4s;width:5px;height:5px}@keyframes rise{0%{transform:translateZ(0);opacity:0}8%{opacity:.75}85%{opacity:.4}to{transform:translate3d(26px,-580px,0);opacity:0}}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.26em;color:var(--text-dim);text-transform:uppercase;margin-bottom:26px;border:1px solid var(--border);border-radius:999px;padding:6px 14px 6px 11px;background:color-mix(in srgb,var(--panel) 70%,transparent)}.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:pulse 2.2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow);opacity:1}50%{box-shadow:0 0 0 6px transparent;opacity:.55}}.hero-h1{font-family:var(--font-mono);font-size:clamp(34px,4.6vw,54px);line-height:1.32;font-weight:700;letter-spacing:.02em;margin:0 0 8px;min-height:2.64em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.caret{display:inline-block;width:.52em;height:1em;margin-left:5px;vertical-align:-.12em;background:var(--accent);box-shadow:0 0 14px var(--accent-glow);animation:caret .85s steps(1) infinite}@keyframes caret{0%,55%{opacity:1}56%,to{opacity:0}}.typed-done .caret{animation:caret 1.6s steps(1) infinite}.hero-sub{color:var(--text-dim);font-size:15px;line-height:1.95;max-width:44em;margin:18px 0 32px}.hero-sub b{color:var(--text);font-weight:600}.hero-sub .mono{font-family:var(--font-mono);font-size:.92em;color:var(--accent)}.hero-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.hero-stats{display:flex;margin-top:40px;border-top:1px solid var(--border-soft);padding-top:20px}.stat{padding-right:34px}.stat+.stat{padding-left:34px;border-left:1px solid var(--border-soft)}.stat-n{font-family:var(--font-mono);font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}.stat-n i{font-style:normal;color:var(--accent)}.stat-l{font-size:12px;color:var(--text-faint);letter-spacing:.1em;margin-top:4px}@property --ang{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.console{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;transform:rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .2s ease-out,box-shadow .25s ease,border-color .25s ease}.console:hover{box-shadow:var(--shadow-lift),0 0 34px var(--accent-dim)}.console:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ang),transparent 0%,var(--accent) 12%,transparent 28%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;z-index:2;animation:border-spin 5.5s linear infinite}@keyframes border-spin{to{--ang: 360deg}}.console-bar{display:flex;align-items:center;gap:8px;padding:11px 16px;border-bottom:1px solid var(--border-soft);background:var(--panel-2);font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--text-faint)}.console-bar .dots{display:inline-flex;gap:5px}.console-bar .dots i{width:8px;height:8px;border-radius:50%;border:1px solid var(--border)}.console-bar .dots i:first-child{background:var(--accent);border-color:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.console-bar .run{margin-left:auto;color:var(--accent);display:inline-flex;align-items:center;gap:6px}.console-bar .run:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:pulse 1.6s ease-in-out infinite}.console-body{padding:18px 18px 14px}.pipeline{display:flex;align-items:stretch;gap:0;margin-bottom:16px}.pipe-node{flex:1;position:relative;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);padding:9px 6px 8px;text-align:center;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease}.pipe-node+.pipe-node{margin-left:18px}.pipe-node:before{content:"";position:absolute;left:-18px;top:50%;width:18px;height:1px;background:var(--border)}.pipe-node:after{content:"▸";position:absolute;left:-15px;top:50%;transform:translateY(-50%);color:var(--text-faint);font-size:9px;transition:color .3s ease}.pipe-node:first-child:before,.pipe-node:first-child:after{display:none}.pipe-node .pn-t{font-size:11.5px;font-weight:650;letter-spacing:.04em}.pipe-node .pn-s{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:var(--text-faint);margin-top:3px}.pipe-node.active{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-dim),0 0 18px var(--accent-dim)}.pipe-node.active:after{color:var(--accent)}.pipe-node.active .pn-s{color:var(--accent)}.pipe-node.done{border-color:var(--border);background:var(--panel)}.pipe-node.done .pn-s{color:var(--ok)}.console-screen{position:relative;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg);padding:14px 16px;font-family:var(--font-mono);font-size:12px;line-height:1.9;color:var(--text-dim);min-height:168px;white-space:pre-wrap;overflow:hidden}.console-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,var(--accent-dim) 0 1px,transparent 1px 4px);opacity:.5;pointer-events:none}.console-screen .k{color:var(--accent)}.console-screen .v{color:var(--text)}.console-screen .c{color:var(--text-faint)}.console-foot{display:flex;justify-content:space-between;padding:10px 4px 2px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--text-faint)}.console-foot .bar{flex:1;margin:5px 12px 0;height:2px;background:var(--border-soft);border-radius:2px;overflow:hidden}.console-foot .bar i{display:block;height:100%;background:var(--grad);box-shadow:0 0 8px var(--accent-glow);transition:width .5s ease}.ticker{border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;padding:11px 0;background:color-mix(in srgb,var(--panel) 55%,transparent)}.ticker-track{display:inline-flex;white-space:nowrap;animation:ticker 34s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.ticker span{font-family:var(--font-mono);font-size:12px;letter-spacing:.28em;color:var(--text-dim);padding:0 20px}.ticker span i{font-style:normal;color:var(--accent);margin-left:40px}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.section{padding:88px 0 30px}.section-head{border-top:1px solid var(--border);padding-top:16px;margin-bottom:16px}.kicker{font-family:var(--font-mono);font-size:12px;color:var(--accent);letter-spacing:.24em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:14px}.kicker:after{content:"";flex:0 0 44px;height:1px;background:var(--accent);opacity:.6;box-shadow:0 0 6px var(--accent-glow)}.h2{font-size:clamp(26px,3vw,36px);font-weight:700;letter-spacing:.01em;margin:0}.h2 .thin{color:var(--text-faint);font-weight:400}.section-sub{color:var(--text-dim);line-height:1.95;font-size:14.5px;max-width:56em;margin:8px 0 38px}.section-sub b{color:var(--text);font-weight:600}.core{display:flex;flex-direction:column;gap:16px}.core-panel{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease}.core-panel:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:var(--shadow-lift),0 0 30px var(--accent-dim)}.core-panel.flip .core-copy{order:2}.core-panel.flip .core-mock{order:1;border-left:0;border-right:1px solid var(--border-soft)}.core-copy{padding:34px 32px;position:relative}.core-no{position:absolute;top:26px;right:28px;font-family:var(--font-mono);font-size:44px;font-weight:700;color:var(--border);line-height:1;transition:color .25s ease;-webkit-user-select:none;user-select:none}.core-panel:hover .core-no{color:var(--accent)}.core-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}.core-t{font-size:22px;font-weight:700;letter-spacing:.01em;margin-bottom:12px}.core-d{color:var(--text-dim);font-size:13.5px;line-height:1.9;margin-bottom:18px}.core-list{list-style:none;margin:0 0 22px;padding:0}.core-list li{display:flex;gap:10px;padding:7px 0;border-top:1px solid var(--border-soft);color:var(--text-dim);font-size:13px;line-height:1.7}.core-list li:first-child{border-top:0}.core-list li:before{content:"+";color:var(--accent);font-family:var(--font-mono);flex:0 0 14px}.core-mock{border-left:1px solid var(--border-soft);background:var(--bg);padding:26px 28px;display:flex;flex-direction:column;justify-content:center;font-family:var(--font-mono);font-size:12px;line-height:1.95;color:var(--text-dim);position:relative;overflow:hidden}.core-mock:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(240px 240px at var(--mx, 70%) var(--my, 20%),var(--accent-dim),transparent 72%);opacity:0;transition:opacity .3s ease;pointer-events:none}.core-panel:hover .core-mock:before{opacity:1}.mock-line{white-space:pre-wrap}.mock-line .k{color:var(--accent)}.mock-line .v{color:var(--text)}.mock-line .c{color:var(--text-faint)}.mock-table{width:100%;border-collapse:collapse;font-size:11.5px}.mock-table th{text-align:left;color:var(--text-faint);font-weight:400;letter-spacing:.1em;padding:6px 8px;border-bottom:1px solid var(--border)}.mock-table td{padding:7px 8px;border-bottom:1px solid var(--border-soft);color:var(--text-dim)}.mock-table tr td:first-child{color:var(--accent)}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.flow-step{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 16px 18px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;overflow:hidden}.flow-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--accent)}.flow-step:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--grad);box-shadow:0 0 8px var(--accent-glow);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,1,.36,1)}.flow-step:hover:before{transform:scaleX(1)}.flow-no{font-family:var(--font-mono);font-size:24px;font-weight:700;color:var(--text-faint);line-height:1;font-variant-numeric:tabular-nums;transition:color .22s ease}.flow-step:hover .flow-no{color:var(--accent)}.flow-t{font-size:15.5px;font-weight:650;letter-spacing:.02em;margin:14px 0 8px}.flow-d{color:var(--text-dim);font-size:12.5px;line-height:1.85}.cta-band{margin:92px 0 72px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);text-align:center;padding:66px 32px 60px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.cta-band:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid var(--border-soft);border-radius:calc(var(--radius-lg) - 6px);pointer-events:none}.cta-band .h2{margin-bottom:12px}.cta-band p{color:var(--text-dim);margin:0 0 30px}.cta-band .kicker{justify-content:center}.cta-band .kicker:before{content:"";flex:0 0 44px;height:1px;background:var(--accent);opacity:.6;box-shadow:0 0 6px var(--accent-glow)}.site-footer{border-top:1px solid var(--border);padding:30px 0 36px;text-align:center;color:var(--text-dim);font-size:13px}.site-footer-brand{display:inline-flex;align-items:center;gap:9px;margin-bottom:8px}.site-footer-brand img{height:24px}.site-footer-brand b{letter-spacing:.06em}.site-footer .mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--text-faint)}.bench{min-height:100%;display:flex;flex-direction:column}.bench-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;height:58px;padding:0 20px;background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.bench-top .brand img{height:26px}.bench-top .brand-name{font-size:14px}.bench-back{color:var(--text-dim);font-size:13px}.bench-back:hover{color:var(--accent)}.bench-steps{position:absolute;left:50%;top:50%;display:flex;align-items:center;margin:0;transform:translate(-50%,-50%)}.bench-steps button{display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--text-faint);font-size:13px;letter-spacing:.04em;padding:8px 4px;position:relative;transition:color .2s ease}.bench-steps button:not(:last-child){margin-right:26px}.bench-steps button:not(:last-child):after{content:"";position:absolute;right:-20px;top:50%;width:14px;height:1px;background:var(--border)}.bench-steps i{width:8px;height:8px;border-radius:50%;background:var(--border);border:2px solid var(--panel);transition:all .25s ease}.bench-steps button:hover{color:var(--text)}.bench-steps button.active{color:var(--accent)}.bench-steps button.active i{background:var(--accent);box-shadow:0 0 0 4px var(--accent-dim),0 0 12px var(--accent-glow)}.bench-steps button.done{color:var(--text-dim)}.bench-steps button.done i{background:var(--ok)}.bench-top-right{display:flex;align-items:center;gap:10px;margin-left:auto}.bench-body{flex:1;display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;max-width:1280px;width:100%;margin:0 auto;padding:18px 20px 40px}.brief{display:flex;flex-direction:column;gap:14px}.brief-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm)}.brief-head{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--text-faint);text-transform:uppercase;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}.brief-head .chip{letter-spacing:.08em;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--accent-dim)}.brief label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase;margin:14px 0 6px}.brief label:first-of-type{margin-top:0}.brief textarea{width:100%;min-height:108px;resize:vertical;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:10px 12px;font-size:13px;line-height:1.8;transition:border-color .2s ease,box-shadow .2s ease}.brief textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.brief textarea::placeholder{color:var(--text-faint)}.brief select,.brief input[type=number]{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:8px 10px;font-size:13px;transition:border-color .2s ease,box-shadow .2s ease}.brief select:focus,.brief input[type=number]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.brief-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.brief .btn{width:100%;justify-content:center;margin-top:16px}.brief-hint{font-size:11.5px;color:var(--text-faint);line-height:1.7;margin-top:10px}.status-list{display:flex;flex-direction:column;gap:4px}.status-item{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--text-dim);padding:7px 2px}.status-item i{width:16px;height:16px;border-radius:50%;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-style:normal;color:transparent;flex:0 0 16px;transition:all .25s ease}.status-item.done i{background:var(--ok);border-color:var(--ok);color:#fff}.status-item.run i{border-color:var(--accent);background:var(--accent);box-shadow:0 0 10px var(--accent-glow);animation:pulse 1.4s ease-in-out infinite}.status-item .t{flex:1}.status-item .m{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);letter-spacing:.08em}.stage{min-width:0;display:flex;flex-direction:column;gap:14px}.stage-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.stage-title{font-size:20px;font-weight:700;letter-spacing:.01em}.stage-meta{display:flex;gap:8px;flex-wrap:wrap}.stage-actions{margin-left:auto;display:flex;gap:10px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.panel-head{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--border-soft);font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--text-faint);text-transform:uppercase}.panel-head .live{color:var(--accent);display:inline-flex;align-items:center;gap:6px}.panel-head .live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:pulse 1.4s ease-in-out infinite}.panel-head .right{margin-left:auto;text-transform:none;letter-spacing:.06em}.script-out{padding:22px 24px;font-size:13.5px;line-height:2;color:var(--text-dim);white-space:pre-wrap;min-height:420px}.script-out h3{color:var(--text);font-size:15px;margin:22px 0 8px;letter-spacing:.02em}.script-out h3:first-child{margin-top:0}.script-out .k{color:var(--accent);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em}.script-out .v{color:var(--text)}.script-out .caret-sm{display:inline-block;width:7px;height:13px;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);vertical-align:-2px;animation:caret .85s steps(1) infinite}.sb-table-wrap{overflow-x:auto}.sb-table{width:100%;border-collapse:collapse;font-size:13px}.sb-table th{text-align:left;font-family:var(--font-mono);font-size:10.5px;font-weight:400;letter-spacing:.14em;color:var(--text-faint);text-transform:uppercase;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--panel-2);white-space:nowrap}.sb-table td{padding:11px 14px;border-bottom:1px solid var(--border-soft);color:var(--text-dim);vertical-align:top;line-height:1.7}.sb-table tr:last-child td{border-bottom:0}.sb-table td.no{font-family:var(--font-mono);color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}.sb-table td.dur{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.sb-table tbody tr{opacity:0;transform:translateY(8px);animation:row-in .5s cubic-bezier(.22,1,.36,1) forwards}@keyframes row-in{to{opacity:1;transform:none}}.sb-table tbody tr:hover td{background:var(--accent-dim)}.sb-tag{display:inline-block;font-size:11px;border:1px solid var(--border-soft);border-radius:4px;padding:1px 7px;background:var(--panel-2);white-space:nowrap}.prompt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.prompt-card{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;opacity:0;transform:translateY(10px);animation:row-in .5s cubic-bezier(.22,1,.36,1) forwards;transition:border-color .25s ease,box-shadow .25s ease}.prompt-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:var(--shadow-lift),0 0 26px var(--accent-dim)}.prompt-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(200px 200px at var(--mx, 50%) var(--my, 0%),var(--accent-dim),transparent 72%);opacity:0;transition:opacity .3s ease;pointer-events:none}.prompt-card:hover:before{opacity:1}.prompt-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:13px 16px 0}.prompt-no{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:.16em}.prompt-title{font-size:14px;font-weight:650}.prompt-dur{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint)}.prompt-body{padding:10px 16px 12px;font-family:var(--font-mono);font-size:11.5px;line-height:2;color:var(--text-dim);white-space:pre-wrap}.prompt-body .k{color:var(--accent)}.prompt-body .v{color:var(--text)}.prompt-foot{display:flex;justify-content:space-between;align-items:center;padding:9px 16px;border-top:1px solid var(--border-soft)}.prompt-foot .meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--text-faint)}.copy-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-size:11.5px;font-family:var(--font-mono);letter-spacing:.06em;padding:4px 11px;cursor:pointer;transition:all .2s ease}.copy-btn:hover{color:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent-dim)}.copy-btn.copied{color:var(--ok);border-color:var(--ok);box-shadow:none}.stage-empty{border:1px dashed var(--border);border-radius:var(--radius-lg);padding:70px 30px;text-align:center;color:var(--text-faint)}.stage-empty .big{font-size:17px;color:var(--text-dim);margin-bottom:8px}.stage-empty .mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em}@media(max-width:1024px){.bench-body,.prompt-grid{grid-template-columns:1fr}}@media(max-width:960px){.hero{grid-template-columns:1fr;gap:44px;padding:60px 0 52px}.hero-vanta{display:none}.core-panel,.core-panel.flip{grid-template-columns:1fr}.core-panel.flip .core-copy{order:1}.core-panel.flip .core-mock{order:2;border-right:0}.core-mock{border-left:0;border-top:1px solid var(--border-soft)}.flow{grid-template-columns:repeat(2,1fr)}.nav-links,.bench-steps{display:none}}@media(max-width:560px){.site-nav-inner{padding:0 14px;gap:10px}.site-nav-inner .brand{gap:7px}.site-nav-inner .brand-name{font-size:14px}.site-nav-inner .brand-tag{display:none}.site-nav-inner .nav-cta{margin-left:auto;gap:7px}.site-nav-inner .nav-cta .btn.ghost{display:none}.site-nav-inner .nav-cta .btn{padding:9px 13px;font-size:12px}.wrap{padding-inline:18px}.flow{grid-template-columns:1fr}.stat+.stat{padding-left:22px}.stat{padding-right:22px}}@media(prefers-reduced-motion:reduce){.hero-vanta{display:none}.ticker-track,.caret,.caret-sm,.eyebrow .dot,.bg-glow,.panel-head .live:before,.console-bar .run:before,.status-item.run i,.console:before,.particles i,.btn:after{animation:none}.reveal,.fade-item{opacity:1;transform:none;transition:none}.sb-table tbody tr,.prompt-card{opacity:1;transform:none;animation:none}.console,.btn{transform:none!important}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}html.lenis{scroll-behavior:auto}}:root{--layout-gutter: clamp(14px, 2.6vw, 72px);--layout-gap: clamp(16px, 2vw, 42px)}html{width:100%;min-width:320px}body,#root,.app-content{width:100%;min-height:100%}body{overflow-x:hidden}.app-content,.page{overflow-x:clip}.site-nav-inner,.wrap,.bench-body,.admin-body,.chat-layout{width:100%;max-width:none}.site-nav-inner,.wrap{padding-inline:var(--layout-gutter)}.hero{min-height:calc(100svh - 62px);grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);gap:var(--layout-gap)}.hero>*,.console,.core-copy,.core-mock{min-width:0}.flow{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}.bench-body{grid-template-columns:clamp(280px,19vw,380px) minmax(0,1fr);gap:clamp(14px,1.4vw,24px);padding-inline:var(--layout-gutter)}.admin-body{grid-template-columns:clamp(188px,14vw,250px) minmax(0,1fr);gap:clamp(18px,2vw,34px);margin-inline:0;padding-inline:var(--layout-gutter)}.chat-page{width:100%;height:100dvh}.chat-layout{grid-template-columns:clamp(210px,14vw,280px) clamp(270px,18vw,360px) minmax(0,1fr);gap:clamp(10px,1vw,18px);margin-inline:0;padding-inline:var(--layout-gutter)}.chat-msgs{width:100%;max-width:none;padding-inline:clamp(18px,3vw,64px)}.chat-inspire{width:min(100%,920px);max-width:none;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}@media(max-width:1024px){.hero{min-height:auto;grid-template-columns:1fr}.bench-body,.admin-body,.chat-layout{grid-template-columns:1fr}}@media(max-width:720px){:root{--layout-gutter: clamp(12px, 4vw, 20px)}.brand-tag,.nav-cta .btn.ghost{display:none}.nav-cta{min-width:0;gap:6px;margin-left:auto}.nav-cta .btn{padding-inline:10px;font-size:12px}.hero{gap:36px;padding-block:48px 56px}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.stat,.stat+.stat{min-width:0;padding-inline:10px}.core-panel,.core-panel.flip{min-height:0;grid-template-columns:1fr}.core-panel.flip .core-copy{order:1}.core-panel.flip .core-mock{order:2}.admin-form-row,.admin-settings{grid-template-columns:1fr}.admin-settings-ops{grid-column:auto}.chat-msgs{padding-inline:var(--layout-gutter)}}@media(max-width:430px){.site-nav .brand-name{display:none}.hero-h1{font-size:clamp(30px,10vw,40px)}.pipeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pipe-node+.pipe-node{margin-left:0}.pipe-node:before,.pipe-node:after{display:none}.hero-cta .btn{width:100%;justify-content:center}.review-gate,.settings-card.wide{width:calc(100vw - 24px);max-width:none}}:root[data-os=windows]{--font-ui: "Segoe UI Variable", "Segoe UI", "Inter", "Microsoft YaHei", sans-serif;--font-mono: "Cascadia Code", "Cascadia Mono", Consolas, monospace;--platform-scrollbar: 10px}:root[data-os=macos],:root[data-os=ios]{--font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "PingFang SC", sans-serif;--font-mono: "SF Mono", Menlo, Monaco, monospace;--platform-radius: 12px;--platform-scrollbar: 7px}:root[data-os=android]{--font-ui: Roboto, "Noto Sans SC", "Inter", sans-serif;--platform-radius: 10px;--platform-scrollbar: 6px}:root[data-os=linux]{--font-ui: "Inter", Ubuntu, "Noto Sans", "Noto Sans CJK SC", sans-serif;--font-mono: "Ubuntu Mono", "DejaVu Sans Mono", monospace;--platform-scrollbar: 10px}.page,.auth-wrap,.bench,.admin-layout{min-height:var(--app-viewport-height)}.chat-page{height:var(--app-viewport-height)}.site-nav-inner{padding-left:max(18px,calc(env(safe-area-inset-left) + 12px));padding-right:max(18px,calc(env(safe-area-inset-right) + 12px))}.bench-top,.admin-top{min-height:var(--topbar-height);padding-left:max(20px,calc(env(safe-area-inset-left) + 12px));padding-right:max(20px,calc(env(safe-area-inset-right) + 12px))}.bench-body,.admin-body,.chat-layout{padding-bottom:calc(40px + env(safe-area-inset-bottom))}.chat-composer{padding-bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px))}.modal-backdrop{padding-top:max(20px,env(safe-area-inset-top));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left))}.chat-rail,.chat-sessions{top:var(--topbar-height);bottom:env(safe-area-inset-bottom)}.chat-drawer-mask{top:var(--topbar-height)}:root[data-os=ios][data-standalone=true]{--topbar-height: calc(58px + env(safe-area-inset-top)) }:root[data-os=ios][data-standalone=true] :is(.site-nav-inner,.bench-top,.admin-top){height:var(--topbar-height);padding-top:env(safe-area-inset-top)}:root[data-input=touch]{-webkit-tap-highlight-color:transparent}:root[data-input=touch] :is(button,a,input,textarea,select,[role=button]){touch-action:manipulation}:root[data-input=touch] :is(.btn,.copy-btn,.bench-steps button,.admin-nav button,.chat-menu-btn,.proj-del){min-height:42px}:root[data-device=tablet] .bench-body{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:14px}:root[data-device=tablet] .prompt-grid{grid-template-columns:1fr}:root[data-device=mobile]{--platform-radius: 12px;--topbar-height: 56px}:root[data-device=mobile] :is(input,textarea,select){font-size:max(16px,1em)}:root[data-device=mobile] .bench-body{grid-template-columns:1fr;gap:12px;padding:12px max(10px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}:root[data-device=mobile] .bench-top,:root[data-device=mobile] .admin-top{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}:root[data-device=mobile] .stage-head{align-items:stretch}:root[data-device=mobile] .stage-actions{width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}:root[data-device=mobile] .stage-actions::-webkit-scrollbar{display:none}:root[data-device=mobile] .stage-actions .btn{flex:0 0 auto}:root[data-device=mobile] .panel-head{flex-wrap:wrap}:root[data-device=mobile] .panel-head .right{width:100%;margin-left:0}:root[data-device=mobile] :is(.script-out,.script-edit){min-height:320px;padding:18px 16px}:root[data-device=mobile] .modal-backdrop{align-items:flex-end;padding:max(12px,env(safe-area-inset-top)) 0 0}:root[data-device=mobile] :is(.settings-card,.modal-card){width:100%;max-width:none;max-height:calc(var(--app-viewport-height) - max(12px,env(safe-area-inset-top)));border-radius:18px 18px 0 0;padding-bottom:max(18px,env(safe-area-inset-bottom))}:root[data-device=mobile] .auth-wrap{padding-top:max(18px,env(safe-area-inset-top));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(18px,env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left))}:root[data-device=mobile] :is(.sb-table-wrap,.table-wrap){overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}@media(hover:none){.btn:hover,.prompt-card:hover,.console:hover,.proj-item:hover{transform:none}.prompt-card:hover:before{opacity:0}}@media(forced-colors:active){:is(.btn,.panel,.console,.prompt-card,.modal-card,.settings-card){border-color:CanvasText}}@media(prefers-contrast:more){:root{--border: color-mix(in srgb, var(--text) 42%, transparent);--border-soft: color-mix(in srgb, var(--text) 28%, transparent)}}.ep-tabs{display:flex;gap:6px;flex-wrap:wrap}.ep-tabs button{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:12px;letter-spacing:.04em;padding:5px 13px;cursor:pointer;transition:all .2s ease}.ep-tabs button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.ep-tabs button.active{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 2px 10px var(--accent-glow)}.ep-tabs button:disabled{opacity:.5;cursor:not-allowed}.ep-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}.ep-tabs button.active .ep-dot{box-shadow:0 0 6px #fffc}.episode-review-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.episode-review-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;min-width:0;overflow:hidden;border:1px solid var(--border-soft);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 4%,transparent),transparent 62%),var(--panel);box-shadow:var(--shadow-sm);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.episode-review-item.selected{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 10%,transparent)}.episode-review-item.running,.episode-review-item.queued{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.episode-review-item.review{border-color:color-mix(in srgb,#e9a23b 48%,var(--border))}.episode-review-item.failed{border-color:color-mix(in srgb,var(--danger) 52%,var(--border))}.episode-review-select{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;min-width:0;border:0;background:transparent;color:var(--text);padding:10px 12px;text-align:left;cursor:pointer}.episode-review-select>span{align-self:center;color:var(--accent);font-family:var(--font-mono);font-size:9px;font-weight:750;letter-spacing:.08em}.episode-review-select>b{align-self:center;font-size:12px}.episode-review-select>small{grid-column:1 / -1;min-width:0;overflow:hidden;color:var(--text-dim);font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.episode-review-action{min-width:72px;border:0;border-left:1px solid var(--border-soft);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);font-size:11px;font-weight:750;cursor:pointer;transition:background .2s ease,color .2s ease}.episode-review-action:hover:not(:disabled){background:var(--accent);color:#fff}.episode-review-action:disabled{color:var(--text-faint);cursor:default;opacity:.72}.episode-review-item.review .episode-review-action:not(:disabled){background:color-mix(in srgb,#e9a23b 13%,transparent);color:color-mix(in srgb,#e9a23b 82%,var(--text))}.episode-review-item.failed .episode-review-action:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.asset-episode-filter-shell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 12px;margin:-2px 0 14px;border:1px solid var(--border-soft);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 52%),var(--panel);box-shadow:var(--shadow-sm);padding:10px 12px}.asset-episode-filter-title{color:var(--text-faint);font-family:var(--font-mono);font-size:8px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.asset-episode-filter{display:flex;min-width:0;align-items:center;gap:6px;overflow-x:auto;padding:2px 2px 4px;scrollbar-color:var(--border) transparent;scrollbar-width:thin}.asset-episode-filter button{display:inline-flex;flex:0 0 auto;min-height:30px;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2);color:var(--text-dim);padding:6px 10px 6px 12px;font-size:10px;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.asset-episode-filter button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 58%,var(--border));color:var(--accent)}.asset-episode-filter button b{display:grid;min-width:18px;height:18px;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--text-faint);padding:0 5px;font-family:var(--font-mono);font-size:8px;font-variant-numeric:tabular-nums}.asset-episode-filter button.active{border-color:transparent;background:var(--grad);box-shadow:0 4px 14px var(--accent-glow);color:#fff}.asset-episode-filter button.active b{background:#ffffff2e;color:#fff}.asset-episode-filter-note{grid-column:2;color:var(--text-faint);font-size:8px;line-height:1.5}.asset-filter-empty{min-height:260px}.review-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 18px}.review-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.review-t{font-size:14px;font-weight:650;letter-spacing:.02em}.review-score{font-family:var(--font-mono);font-size:12px;font-weight:700;border-radius:6px;padding:2px 9px;font-variant-numeric:tabular-nums}.review-score.good{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.review-score.mid{color:var(--accent);background:var(--accent-dim)}.review-score.bad{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.review-rewrite{margin-left:auto}.review-loading{color:var(--text-faint);font-size:12.5px;padding:12px 0 4px;font-family:var(--font-mono);letter-spacing:.06em}.review-ok{color:var(--ok);font-size:12.5px;padding:8px 0 2px}.review-list{display:flex;flex-direction:column}.review-issue{display:flex;align-items:baseline;gap:10px;padding:10px 0;border-top:1px solid var(--border-soft);font-size:12.5px;line-height:1.7}.review-level{flex:0 0 22px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;font-size:10.5px;font-weight:600}.review-level.high{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.review-level.mid{color:var(--accent);background:var(--accent-dim)}.review-level.low{color:var(--text-dim);background:var(--panel-2)}.review-where{flex:0 0 auto;font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:.04em}.review-text{color:var(--text-dim)}.review-text em{display:block;font-style:normal;color:var(--text-faint);margin-top:2px}.canvas-wrap{display:flex;flex-direction:column}.canvas-tools{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border-soft)}.canvas-tools button{min-width:26px;height:24px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-size:12px;cursor:pointer;transition:all .2s ease}.canvas-tools button:hover{color:var(--accent);border-color:var(--accent)}.canvas-tools span{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint)}.canvas-hint{margin-left:auto;letter-spacing:.06em}.canvas-outer{overflow:auto;max-height:560px;background:var(--bg)}.canvas-inner{position:relative;transform-origin:0 0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:40px 40px}.asset-card{position:absolute;width:224px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);padding:10px 12px 11px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:box-shadow .2s ease,border-color .2s ease}.asset-card:active{cursor:grabbing}.asset-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:var(--shadow-lift),0 0 20px var(--accent-dim);z-index:5}.asset-card.open{width:300px;z-index:10;border-color:var(--accent);box-shadow:var(--shadow-lift),0 0 26px var(--accent-dim)}.asset-card.regen{animation:regen-pulse .9s ease-in-out infinite}.asset-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.asset-kind{font-size:10px;font-weight:600;letter-spacing:.1em;border-radius:4px;padding:2px 7px}.asset-kind.character{color:var(--accent);background:var(--accent-dim)}.asset-kind.scene{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.asset-kind.prop{color:var(--text-dim);background:var(--panel-2)}.asset-name{font-size:14px;font-weight:650;letter-spacing:.02em}.asset-img{width:100%;border-radius:8px;display:block;margin-bottom:8px;pointer-events:none}.asset-img-ph{width:100%;height:84px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:8px;color:var(--text-faint);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;margin-bottom:8px;pointer-events:none}.asset-desc{font-size:12px;color:var(--text-dim);line-height:1.6}.asset-more{margin-top:10px;border-top:1px solid var(--border-soft);padding-top:10px}.asset-detail{font-size:12px;color:var(--text-dim);line-height:1.7;margin-bottom:8px}.asset-prompt{font-family:var(--font-mono);font-size:10.5px;line-height:1.7;color:var(--text-faint);background:var(--bg);border:1px solid var(--border-soft);border-radius:8px;padding:8px 10px;margin-bottom:10px;max-height:96px;overflow-y:auto}.asset-ops{display:flex;gap:8px;flex-wrap:wrap}.asset-err{margin-top:8px;font-size:11px;color:var(--danger);line-height:1.6}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0a081473;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.settings-card{width:420px;max-width:calc(100vw - 40px);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);padding:20px 22px 18px;animation:pop-in .25s cubic-bezier(.34,1.4,.64,1)}@keyframes pop-in{0%{transform:translateY(10px) scale(.97);opacity:0}to{transform:none;opacity:1}}.settings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.settings-head b{font-size:16px;letter-spacing:.02em}.settings-x{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-faint);font-size:15px;cursor:pointer;transition:all .2s ease}.settings-x:hover{color:var(--danger);border-color:var(--border)}.settings-sec{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase;margin-bottom:6px}.settings-hint{font-size:12px;color:var(--text-dim);line-height:1.7;margin:0 0 14px}.settings-hint.dim{color:var(--text-faint);margin:14px 0 0}.settings-card label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase;margin:12px 0 5px}.settings-card input,.settings-card select{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:8px 10px;font-size:13px;transition:border-color .2s ease,box-shadow .2s ease}.settings-card input:focus,.settings-card select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.settings-card input::placeholder{color:var(--text-faint)}.settings-ops{display:flex;gap:10px;margin-top:18px}.settings-avatar-button{position:relative;width:34px;height:34px;flex:0 0 34px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;isolation:isolate;transition:transform .2s ease,filter .2s ease}.settings-avatar-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.settings-avatar-button:active{transform:translateY(0) scale(.96)}.settings-avatar-button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:3px}.settings-avatar-face{width:100%;height:100%;display:grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border));border-radius:inherit;background:var(--grad);box-shadow:0 2px 10px var(--accent-glow);color:#fff;font-size:13px;font-weight:800;line-height:1}.settings-avatar-face img{width:21px;height:21px;object-fit:contain;filter:brightness(0) invert(1)}.settings-avatar-badge{position:absolute;right:-3px;bottom:-2px;z-index:1;width:15px;height:15px;display:grid;place-items:center;border:2px solid var(--panel);border-radius:50%;background:var(--panel-2);box-shadow:0 1px 5px color-mix(in srgb,var(--text) 16%,transparent);color:var(--accent);font-size:8px;line-height:1;transition:transform .25s ease}.settings-avatar-button:hover .settings-avatar-badge{transform:rotate(45deg)}@media(pointer:coarse){.settings-avatar-button--inline{width:42px;height:42px;flex-basis:42px}}.global-settings-launcher{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:76;width:48px;height:48px;flex-basis:48px;filter:drop-shadow(0 8px 18px color-mix(in srgb,var(--accent) 20%,transparent))}.global-settings-launcher:hover{filter:brightness(1.06) drop-shadow(0 10px 22px color-mix(in srgb,var(--accent) 26%,transparent))}.app-content:has(.chat-page) .global-settings-launcher,.app-content:has(.bench) .global-settings-launcher,.app-content:has(.cv-shell) .global-settings-launcher{display:none}.global-settings-backdrop{z-index:320;padding:20px}.global-settings-card{width:min(780px,calc(100vw - 40px));max-width:none;max-height:min(720px,calc(var(--app-viewport-height) - 40px));display:flex;flex-direction:column;padding:0;overflow:hidden}.global-settings-head{flex:0 0 auto;margin:0;padding:18px 20px 15px;border-bottom:1px solid var(--border-soft);background:radial-gradient(circle at 86% -60%,var(--accent-glow),transparent 52%),var(--panel)}.global-settings-head>div{display:flex;flex-direction:column;gap:3px}.global-settings-head>div>span{color:var(--accent);font-family:var(--font-mono);font-size:9px;letter-spacing:.18em}.global-settings-head b{font-size:17px}.global-settings-layout{min-height:0;flex:1;display:grid;grid-template-columns:178px minmax(0,1fr)}.global-settings-nav{min-height:0;display:flex;flex-direction:column;gap:4px;padding:14px 10px;border-right:1px solid var(--border-soft);background:color-mix(in srgb,var(--panel-2) 72%,var(--panel))}.global-settings-nav>button{width:100%;display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text-dim);font-size:12.5px;text-align:left;cursor:pointer;transition:all .2s ease}.global-settings-nav>button i{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:var(--panel);border:1px solid var(--border-soft);color:var(--text-faint);font-family:var(--font-mono);font-size:10px;font-style:normal}.global-settings-nav>button:hover{color:var(--accent);background:var(--accent-dim)}.global-settings-nav>button.active{color:#fff;border-color:transparent;background:var(--grad);box-shadow:0 4px 14px var(--accent-glow)}.global-settings-nav>button.active i{color:#fff;border-color:#fff3;background:#ffffff21}.global-settings-nav-foot{min-width:0;margin-top:auto;padding:12px 9px 2px;border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:3px}.global-settings-nav-foot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-size:10.5px}.global-settings-nav-foot small{color:var(--text-faint);font-family:var(--font-mono);font-size:9.5px}.global-settings-content{min-width:0;min-height:0;overflow-y:auto}.global-settings-pane{padding:24px 26px 28px}.global-settings-title{margin-bottom:20px}.global-settings-title>span{color:var(--accent);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.18em}.global-settings-title h2{margin:5px 0 6px;color:var(--text);font-size:20px;line-height:1.3}.global-settings-title p{margin:0;color:var(--text-dim);font-size:12px;line-height:1.65}.global-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.global-theme-grid button{min-width:0;min-height:116px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;align-items:start;gap:4px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-2);color:var(--text);text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .25s ease,transform .25s ease}.global-theme-grid button:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));transform:translateY(-2px)}.global-theme-grid button.active{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 7px 22px var(--accent-glow)}.global-theme-grid button>i{grid-column:1 / -1;width:34px;height:34px;display:grid;place-items:center;margin-bottom:8px;border-radius:10px;background:var(--panel);color:var(--accent);font-size:16px;font-style:normal;box-shadow:var(--shadow-sm)}.global-theme-grid button b{font-size:12.5px}.global-theme-grid button span{grid-column:1 / -1;color:var(--text-faint);font-size:10.5px}.global-theme-grid button em{grid-column:2;grid-row:2;color:var(--accent);font-style:normal}.global-settings-note{display:flex;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--panel-2)}.global-settings-note b{flex:0 0 auto;color:var(--accent);font-size:11px}.global-settings-note span{color:var(--text-dim);font-size:11px;line-height:1.55}.global-settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px}.global-settings-form-grid label,.global-password-form label{margin-top:10px}.global-settings-actions{min-height:40px;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px}.global-settings-actions.split{justify-content:space-between}.global-settings-success{color:var(--ok)!important;font-size:11.5px}.global-account-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-2)}.global-account-avatar{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:var(--grad);color:#fff;font-size:15px;font-weight:700;box-shadow:0 5px 15px var(--accent-glow)}.global-account-card>div:nth-child(2){min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.global-account-card b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.global-account-card span{color:var(--text-faint);font-size:10.5px}.global-account-card strong{color:var(--accent);font-family:var(--font-mono);font-size:12px}.global-password-form{margin-top:18px;padding:15px 16px;border:1px solid var(--border-soft);border-radius:var(--radius-lg)}.global-login-card{min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.global-login-card b{margin-top:14px;font-size:15px}.global-login-card p{margin:7px 0 18px;color:var(--text-dim);font-size:12px}.global-admin-links{display:grid;gap:12px}.global-admin-links>button{width:100%;display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-2);color:var(--text);text-align:left;cursor:pointer;transition:border-color .2s ease,box-shadow .25s ease,transform .25s ease}.global-admin-links>button:hover{border-color:var(--accent);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.global-admin-links>button>i{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:var(--accent-dim);color:var(--accent);font-style:normal}.global-admin-links>button>span{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.global-admin-links b{font-size:12.5px}.global-admin-links small{color:var(--text-faint);font-size:10.5px}.global-admin-links em{color:var(--accent);font-style:normal}.global-settings-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:10px 14px 10px 20px;border-top:1px solid var(--border-soft);background:var(--panel)}@media(max-width:660px){.global-settings-launcher{width:44px;height:44px;flex-basis:44px}.global-settings-card{width:calc(100vw - 20px);max-height:calc(var(--app-viewport-height) - 20px)}.global-settings-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.global-settings-nav{flex-direction:row;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid var(--border-soft)}.global-settings-nav>button{width:auto;flex:0 0 auto;padding:7px 9px}.global-settings-nav-foot{display:none}.global-settings-pane{padding:20px 17px 24px}.global-theme-grid{grid-template-columns:1fr}.global-theme-grid button{min-height:72px;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center}.global-theme-grid button>i{grid-column:1;grid-row:1 / 3;margin:0 8px 0 0}.global-theme-grid button b{grid-column:2;grid-row:1}.global-theme-grid button span{grid-column:2;grid-row:2}.global-theme-grid button em{grid-column:3;grid-row:1 / 3}.global-settings-form-grid{grid-template-columns:1fr}.global-account-card{align-items:flex-start;flex-wrap:wrap}.global-account-card strong{margin-left:52px}}.asset-err-btn{margin-left:8px;background:transparent;border:1px solid currentColor;border-radius:4px;color:inherit;font-size:10.5px;padding:1px 8px;cursor:pointer;transition:all .2s ease}.asset-err-btn:hover{color:var(--accent);border-color:var(--accent)}.admin-layout{min-height:100vh;display:flex;flex-direction:column}.admin-top{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:22px;height:58px;padding:0 22px;background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.admin-top .brand img{height:26px}.admin-top .brand-name{font-size:14px}.admin-top-links{display:flex;gap:20px}.admin-top-links a{font-size:13px}.admin-top-right{display:flex;align-items:center;gap:12px;margin-left:auto}.admin-mail{font-size:12px;color:var(--text-dim);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-body{flex:1;display:grid;grid-template-columns:196px minmax(0,1fr);gap:20px;max-width:1280px;width:100%;margin:0 auto;padding:22px 22px 56px}.admin-nav{position:sticky;top:80px;align-self:start;display:flex;flex-direction:column;gap:4px}.admin-nav button{display:flex;align-items:center;gap:10px;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--text-dim);font-size:13.5px;letter-spacing:.04em;padding:9px 14px;text-align:left;cursor:pointer;transition:all .2s ease}.admin-nav button:hover{color:var(--accent);background:var(--accent-dim)}.admin-nav button.active{background:var(--grad);color:#fff;box-shadow:0 2px 12px var(--accent-glow)}.admin-nav-icon{width:16px;text-align:center;font-size:12px;opacity:.85}.admin-main{min-width:0}.admin-sec{display:flex;flex-direction:column;gap:16px}.admin-sec .panel-head{font-size:12px}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 18px 14px;position:relative;overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease}.stat-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:var(--shadow-lift)}.stat-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:var(--grad);opacity:.75}.stat-card-n{font-family:var(--font-mono);font-size:21px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-card-l{font-size:11.5px;color:var(--text-faint);letter-spacing:.1em;margin-top:6px}.admin-toast{position:fixed;top:70px;right:22px;z-index:200;max-width:340px;padding:11px 18px;border-radius:var(--radius);font-size:13px;letter-spacing:.02em;box-shadow:var(--shadow-lift);animation:pop-in .25s cubic-bezier(.34,1.4,.64,1)}.admin-toast.ok{background:color-mix(in srgb,var(--ok) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--ok) 45%,transparent);color:var(--ok)}.admin-toast.err{background:color-mix(in srgb,var(--danger) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger)}.admin-switch{width:38px;height:21px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);padding:2px;display:inline-flex;align-items:center;cursor:pointer;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;vertical-align:middle}.admin-switch i{width:15px;height:15px;border-radius:50%;background:var(--text-faint);transition:transform .25s cubic-bezier(.22,1,.36,1),background .25s ease}.admin-switch.on{background:var(--grad);border-color:transparent;box-shadow:0 0 10px var(--accent-glow)}.admin-switch.on i{transform:translate(17px);background:#fff}.admin-switch:disabled{opacity:.45;cursor:not-allowed}.admin-sec .sb-table tbody tr:nth-child(2n) td{background:var(--panel-2)}.admin-sec .sb-table tbody tr:hover td{background:var(--accent-dim)}.admin-ops{display:flex;gap:8px;flex-wrap:wrap}.admin-ellipsis{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-danger{color:var(--danger)!important}.admin-danger:hover{border-color:var(--danger)!important;box-shadow:0 0 14px color-mix(in srgb,var(--danger) 18%,transparent)!important}.admin-badge{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.04em;border-radius:4px;padding:2px 9px;border:1px solid var(--border-soft);background:var(--panel-2);color:var(--text-dim);white-space:nowrap}.admin-badge.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}.admin-badge.bad{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent)}.admin-badge.warn{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent-dim)}.admin-ok{color:var(--ok)}.admin-bad{color:var(--danger)}.admin-count{font-family:var(--font-mono);font-size:10px;font-weight:700;border-radius:999px;padding:1px 7px;background:var(--danger);color:#fff}.admin-hint{font-size:11.5px;color:var(--text-faint);letter-spacing:.04em;text-transform:none}.admin-loading{padding:22px;color:var(--text-faint);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em}.admin-search{display:flex;gap:8px;align-items:center}.admin-search input{width:220px;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:7px 11px;font-size:12.5px;transition:border-color .2s ease,box-shadow .2s ease}.admin-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.admin-search input::placeholder{color:var(--text-faint)}.admin-pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 16px;border-top:1px solid var(--border-soft)}.admin-pager-info{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.admin-usage-wrap{max-height:60vh;overflow:auto}.admin-credit-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 24px;overflow:hidden;position:relative;background:radial-gradient(circle at 92% 0%,var(--accent-glow),transparent 34%),linear-gradient(135deg,var(--panel),color-mix(in srgb,var(--panel) 82%,var(--accent-dim)));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.admin-credit-hero:after{content:"";position:absolute;right:-34px;bottom:-58px;width:180px;height:180px;border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);border-radius:50%;pointer-events:none}.admin-credit-kicker{display:block;margin-bottom:8px;color:var(--accent);font-family:var(--font-mono);font-size:10px;letter-spacing:.16em}.admin-credit-hero h1{margin:0;font-size:24px;line-height:1.25;letter-spacing:-.02em}.admin-credit-hero p{max-width:680px;margin:8px 0 0;color:var(--text-dim);font-size:13px;line-height:1.75}.admin-credit-grid{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(360px,1.05fr);gap:16px;align-items:start}.admin-credit-search{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border-soft)}.admin-credit-search input{min-width:0;flex:1;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:8px 11px;font-size:12.5px}.admin-credit-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.admin-credit-user-list{display:flex;flex-direction:column;gap:4px;max-height:430px;min-height:260px;overflow-y:auto;padding:8px}.admin-credit-user{width:100%;display:flex;align-items:center;gap:11px;padding:10px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.admin-credit-user:hover{background:var(--panel-2);border-color:var(--border)}.admin-credit-user.active{background:var(--accent-dim);border-color:color-mix(in srgb,var(--accent) 42%,var(--border));box-shadow:inset 3px 0 0 var(--accent)}.admin-credit-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;color:#fff;background:var(--grad);border-radius:10px;font-size:13px;font-weight:700;box-shadow:0 4px 12px var(--accent-glow)}.admin-credit-user-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.admin-credit-user-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.admin-credit-user-copy small{color:var(--text-faint);font-size:10.5px}.admin-credit-user>strong{color:var(--accent);font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}.admin-credit-empty{min-height:238px}.admin-credit-form{display:flex;flex-direction:column;gap:16px;padding:18px 20px 20px}.admin-credit-selected{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:baseline;padding:13px 14px;background:var(--panel-2);border:1px solid var(--border-soft);border-radius:var(--radius)}.admin-credit-selected span{grid-row:1 / 3;align-self:center;color:var(--text-faint);font-size:11px}.admin-credit-selected b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.admin-credit-selected small{color:var(--text-dim);font-size:11px}.admin-credit-unit{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--panel-2);border:1px solid var(--border-soft);border-radius:var(--radius)}.admin-credit-unit button,.admin-credit-presets button{border:1px solid transparent;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--text-dim);cursor:pointer;transition:all .2s ease}.admin-credit-unit button{padding:8px 12px;font-size:12px}.admin-credit-unit button:hover,.admin-credit-presets button:hover{color:var(--accent)}.admin-credit-unit button.active{background:var(--panel);border-color:var(--border);color:var(--accent);box-shadow:var(--shadow-sm)}.admin-credit-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.admin-credit-presets button{padding:8px 4px;border-color:var(--border);background:var(--bg);font-family:var(--font-mono);font-size:11.5px}.admin-credit-presets button.active{color:#fff;border-color:transparent;background:var(--grad);box-shadow:0 3px 12px var(--accent-glow)}.admin-credit-amount{display:flex;flex-direction:column;gap:7px;color:var(--text-dim);font-size:11.5px}.admin-credit-amount>div{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:0 12px;transition:border-color .2s ease,box-shadow .2s ease}.admin-credit-amount>div:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.admin-credit-amount em{color:var(--accent);font-family:var(--font-mono);font-size:16px;font-style:normal}.admin-credit-amount input{width:100%;padding:11px 0;border:0;outline:0;background:transparent;color:var(--text);font-family:var(--font-mono);font-size:18px;font-weight:650;font-variant-numeric:tabular-nums}.admin-credit-preview{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:13px 14px;border:1px dashed color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:var(--radius);background:var(--accent-dim)}.admin-credit-preview span{color:var(--text-dim);font-size:11.5px}.admin-credit-preview strong{color:var(--accent);font-family:var(--font-mono);font-size:14px}.admin-credit-preview small{grid-column:1 / -1;color:var(--text-faint);font-size:10.5px}.admin-credit-message{padding:10px 12px;border-radius:var(--radius);font-size:12px;line-height:1.6}.admin-credit-message.error{color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 8%,var(--panel))}.admin-credit-message.success{color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);background:color-mix(in srgb,var(--ok) 8%,var(--panel))}.admin-credit-submit{justify-content:center;min-height:40px}.admin-recharge-head{display:flex;align-items:center;gap:10px}.admin-recharge-tabs{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--panel-2)}.admin-recharge-tabs button{padding:4px 9px;border:0;border-radius:calc(var(--radius) - 3px);background:transparent;color:var(--text-faint);font-size:10.5px;cursor:pointer}.admin-recharge-tabs button:hover{color:var(--accent)}.admin-recharge-tabs button.active{background:var(--panel);color:var(--accent);box-shadow:var(--shadow-sm)}.admin-recharge-table td{vertical-align:middle}.settings-card.wide{width:760px}.settings-card textarea{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:10px 12px;font-size:13px;line-height:1.7;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.settings-card textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.settings-card textarea::placeholder{color:var(--text-faint)}.admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-settings{padding:18px 22px 22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px}.admin-field label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--text);margin:12px 0 6px}.admin-field label code{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);letter-spacing:.04em}.admin-field input,.admin-field select{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:8px 10px;font-size:13px;transition:border-color .2s ease,box-shadow .2s ease}.admin-field input:focus,.admin-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.admin-settings-ops{grid-column:1 / -1;margin-top:18px;display:flex;gap:10px}.admin-tickets{display:flex;flex-direction:column;gap:12px}.ticket-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:14px 18px;transition:border-color .25s ease,box-shadow .25s ease}.ticket-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.ticket-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ticket-user{font-size:12px;color:var(--text-dim);font-family:var(--font-mono)}.ticket-time{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.ticket-content{margin:10px 0 2px;font-size:13.5px;line-height:1.85;color:var(--text);white-space:pre-wrap}.ticket-reply{margin-top:10px;border-left:2px solid var(--accent);background:var(--accent-dim);border-radius:0 var(--radius) var(--radius) 0;padding:9px 12px;font-size:12.5px;line-height:1.8;color:var(--text-dim);white-space:pre-wrap}.ticket-reply-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--accent);margin-bottom:4px}.ticket-reply-box{margin-top:12px}.ticket-reply-box textarea{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:10px 12px;font-size:13px;line-height:1.7;resize:vertical}.ticket-reply-box textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.ticket-reply-box .settings-ops{margin-top:10px}.ticket-ops{display:flex;gap:10px;margin-top:12px}.admin-kv{padding:8px 22px 16px}.admin-kv-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border-soft);font-size:13px}.admin-kv-row:last-child{border-bottom:0}.admin-kv-row span{color:var(--text-dim)}.admin-kv-row b{font-weight:600}.admin-kv-row .no{font-family:var(--font-mono);font-size:12.5px}.admin-balance{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 22px 16px;padding:12px 14px;border:1px dashed var(--border);border-radius:var(--radius)}.admin-models{display:flex;gap:8px;flex-wrap:wrap;padding:16px 22px 20px}.admin-pre{margin:0;padding:16px 20px;max-height:320px;overflow:auto;font-family:var(--font-mono);font-size:11.5px;line-height:1.85;color:var(--text-dim);background:var(--bg);white-space:pre-wrap;word-break:break-all}.admin-denied{max-width:560px;margin:120px auto;padding:0 24px}.admin-denied .btn{margin-top:18px}@media(max-width:900px){.admin-body{grid-template-columns:1fr}.admin-nav{position:static;flex-direction:row;flex-wrap:wrap}.admin-settings{grid-template-columns:1fr}.admin-top-links{display:none}.admin-credit-grid{grid-template-columns:1fr}}@media(max-width:560px){.admin-credit-hero{padding:18px}.admin-credit-grid{display:block}.admin-credit-grid>.panel+.panel{margin-top:16px}.admin-credit-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-credit-search{flex-wrap:wrap}.admin-credit-search input{flex-basis:100%}.admin-recharge-head{align-items:stretch;flex-direction:column}.admin-recharge-tabs{overflow-x:auto}}@media(prefers-reduced-motion:reduce){.admin-toast{animation:none}.admin-switch i{transition:none}}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 16px;position:relative;z-index:1}.auth-card{width:400px;max-width:100%;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);padding:26px 28px 22px;animation:pop-in .25s cubic-bezier(.34,1.4,.64,1)}.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px}.auth-brand img{width:34px;height:34px}.auth-brand b{font-size:17px;letter-spacing:.03em}.auth-sub{text-align:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--text-faint);margin:6px 0 18px}.auth-tabs{display:flex;gap:22px;border-bottom:1px solid var(--border-soft);margin-bottom:18px}.auth-tab{background:none;border:none;padding:8px 2px 10px;font-size:13.5px;letter-spacing:.04em;color:var(--text-dim);position:relative;transition:color .2s ease}.auth-tab:hover{color:var(--accent)}.auth-tab.active{color:var(--accent);font-weight:600}.auth-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.auth-card label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase;margin:12px 0 5px}.auth-card input{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:9px 11px;font-size:13px;transition:border-color .2s ease,box-shadow .2s ease}.auth-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.auth-card input::placeholder{color:var(--text-faint)}.captcha-row{display:flex;align-items:center;gap:10px}.captcha-row input{flex:1;min-width:0}.captcha-svg{flex:none;width:130px;height:44px;padding:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--panel-2);color:var(--text-dim);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.captcha-svg:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.captcha-svg:disabled{cursor:wait;opacity:.78}.captcha-svg.error{border-color:color-mix(in srgb,var(--danger) 55%,var(--border));background:color-mix(in srgb,var(--danger) 7%,var(--panel-2))}.captcha-svg-content{display:block;width:100%;height:100%}.captcha-svg svg{display:block;width:100%;height:100%}.captcha-status{display:flex;width:100%;height:100%;align-items:center;justify-content:center;padding:0 8px;font-size:11px;line-height:1.25}.captcha-error{display:block;margin-top:6px;color:var(--danger);font-size:11px}.auth-mini-link{flex:none;background:none;border:none;padding:4px 0;font-size:12px;color:var(--accent);white-space:nowrap;transition:color .2s ease}.auth-mini-link:hover{color:var(--accent-strong);text-decoration:underline}.code-row{display:flex;align-items:center;gap:10px}.code-row input{flex:1;min-width:0}.code-btn{flex:none;min-width:104px;justify-content:center}.code-btn:disabled{color:var(--text-faint);border-color:var(--border);box-shadow:none}.auth-err,.auth-ok{border-radius:var(--radius);padding:8px 12px;font-size:12.5px;line-height:1.6;margin-bottom:12px;border:1px solid}.auth-err{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent)}.auth-ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent);background:color-mix(in srgb,var(--ok) 8%,transparent)}.shake{animation:shake .45s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}.auth-submit{width:100%;justify-content:center;margin-top:18px}.auth-foot{margin-top:16px;text-align:center;font-size:12.5px}.auth-foot .ink-link{color:var(--text-dim)}.auth-foot .ink-link:hover{color:var(--accent)}.route-loading{min-height:72vh;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:13px;letter-spacing:.28em;color:var(--text-faint)}.chat-page{height:100vh;display:flex;flex-direction:column;overflow:hidden}.chat-layout{flex:1;min-height:0;display:grid;grid-template-columns:232px 302px minmax(0,1fr);gap:14px;width:100%;max-width:1600px;margin:0 auto;padding:14px 18px}.chat-rail,.chat-sessions,.chat-main{min-height:0;display:flex;flex-direction:column;overflow:hidden}.chat-rail-empty{padding:18px 10px;color:var(--text-faint);font-size:12px;text-align:center}.chat-agents{display:flex;flex-direction:column;min-height:0;flex:1}.chat-agents-scroll{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:5px}.chat-agent{display:flex;gap:10px;align-items:flex-start;padding:10px;background:transparent;border:1px solid transparent;border-radius:var(--radius);text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.chat-agent:hover{background:var(--panel-2);border-color:var(--border)}.chat-agent.active{background:var(--accent-dim);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 0 0 3px var(--accent-dim)}.chat-agent-icon{flex:0 0 34px;width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-dim);overflow:hidden}img.chat-agent-icon{object-fit:cover}.chat-agent-emoji{font-size:17px}.chat-agent-text{min-width:0;display:flex;flex-direction:column;gap:3px}.chat-agent-name{font-size:13px;font-weight:650;color:var(--text);letter-spacing:.02em}.chat-agent-desc{font-size:11px;color:var(--text-faint);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-sessions-inner{display:flex;flex-direction:column;min-height:0;flex:1}.chat-sessions-tools{padding:12px 12px 10px;border-bottom:1px solid var(--border-soft)}.chat-search{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:7px 10px;font-size:12.5px;transition:border-color .2s ease,box-shadow .2s ease}.chat-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.chat-search::placeholder{color:var(--text-faint)}.chat-sessions-btns{display:flex;gap:6px;margin-top:8px}.chat-sessions-btns .btn{flex:1;justify-content:center;padding-left:0;padding-right:0}.btn.ghost.chat-on{color:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent-dim)}.chat-tree{flex:1;overflow-y:auto;padding:8px;min-height:0}.chat-group{margin-bottom:4px}.chat-group-head{display:flex;align-items:center;gap:5px;padding:5px 4px}.chat-arrow{width:16px;background:none;border:0;color:var(--text-faint);font-size:10px;cursor:pointer;padding:2px 0;transition:transform .2s ease,color .2s ease}.chat-arrow:hover{color:var(--accent)}.chat-arrow.open{transform:rotate(90deg)}.chat-group-name{font-size:12px;font-weight:650;color:var(--text);letter-spacing:.02em}.chat-group-name.dim{color:var(--text-faint);font-weight:500}.chat-group-count{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--text-faint)}.chat-group-body{padding-left:12px;display:flex;flex-direction:column;gap:2px;margin:2px 0 6px}.chat-session{display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;font-size:12.5px;color:var(--text-dim);transition:background .2s ease,border-color .2s ease,color .2s ease}.chat-session:hover{background:var(--panel-2);border-color:var(--border-soft)}.chat-session.active{background:var(--accent-dim);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));color:var(--text)}.chat-session-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-session-del{flex:0 0 22px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:5px;color:var(--text-faint);font-size:13px;cursor:pointer;opacity:0;transition:all .2s ease}.chat-session:hover .chat-session-del,.chat-group-head:hover .chat-session-del{opacity:1}.chat-session-del:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.chat-check{flex:0 0 15px;width:15px;height:15px;border:1px solid var(--border);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:#fff;transition:all .15s ease}.chat-check.on{background:var(--accent);border-color:var(--accent)}.chat-rename-input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--accent);border-radius:6px;color:var(--text);font-size:12.5px;padding:3px 7px}.chat-rename-input:focus{outline:none;box-shadow:0 0 0 3px var(--accent-dim)}.chat-batchbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border-soft);flex-wrap:wrap}.copy-btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.copy-btn:disabled{opacity:.45;cursor:not-allowed}.chat-move{background:var(--bg);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;padding:4px 8px;font-size:11.5px}.chat-sessions-foot{display:flex;justify-content:center;padding:9px 12px;border-top:1px solid var(--border-soft)}.chat-scroll{flex:1;overflow-y:auto;min-height:0}.chat-msgs{max-width:860px;margin:0 auto;padding:22px 24px 26px;display:flex;flex-direction:column;gap:18px}.chat-msg{display:flex}.chat-msg.user{justify-content:flex-end}.chat-msg-body{max-width:78%;min-width:0;display:flex;flex-direction:column;gap:6px}.chat-msg.user .chat-msg-body{align-items:flex-end}.chat-msg.assistant .chat-msg-body{background:var(--panel-2);border:1px solid var(--border-soft);border-radius:4px 16px 16px;padding:12px 14px}.chat-msg-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim)}.chat-msg-meta b{color:var(--text);font-weight:650}.chat-bubble{background:var(--grad);color:#fff;border-radius:16px 16px 4px;padding:10px 14px;font-size:13.5px;line-height:1.8;white-space:pre-wrap;word-break:break-word;box-shadow:0 2px 14px var(--accent-glow)}.chat-ops{display:flex;gap:8px}.chat-error-bar{border-left:3px solid var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);font-size:12px;line-height:1.6;padding:7px 10px;border-radius:6px}.chat-main .caret-sm{display:inline-block;width:7px;height:13px;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);vertical-align:-2px;animation:caret .85s steps(1) infinite}.chat-reasoning{border:1px solid var(--border-soft);border-radius:8px;background:var(--bg);overflow:hidden}.chat-reasoning-head{display:flex;align-items:center;gap:6px;width:100%;background:none;border:0;padding:7px 10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--text-faint);cursor:pointer;transition:color .2s ease}.chat-reasoning-head:hover{color:var(--accent)}.chat-live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:pulse 1.4s ease-in-out infinite}.chat-reasoning-body{border-top:1px solid var(--border-soft);padding:8px 12px 10px;font-size:12px;color:var(--text-dim);line-height:1.8;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}.chat-md{font-size:13.5px;line-height:1.85;color:var(--text);word-break:break-word}.chat-md p{margin:0 0 10px}.chat-md p:last-child,.chat-md pre:last-child,.chat-md ul:last-child,.chat-md ol:last-child,.chat-md blockquote:last-child{margin-bottom:0}.chat-md code{font-family:var(--font-mono);font-size:12px;background:var(--accent-dim);color:var(--accent-strong);border-radius:4px;padding:1px 5px}.chat-md pre{background:var(--bg);border:1px solid var(--border-soft);border-radius:8px;padding:12px 14px;overflow-x:auto;margin:0 0 10px}.chat-md pre code{background:none;padding:0;color:var(--text-dim);font-size:12px;line-height:1.75}.chat-md h3,.chat-md h4,.chat-md h5,.chat-md h6{margin:14px 0 8px;letter-spacing:.01em}.chat-md h3:first-child,.chat-md h4:first-child,.chat-md h5:first-child,.chat-md h6:first-child{margin-top:0}.chat-md h3{font-size:16px}.chat-md h4{font-size:14.5px}.chat-md h5,.chat-md h6{font-size:13.5px}.chat-md ul,.chat-md ol{margin:0 0 10px;padding-left:22px}.chat-md li{margin:3px 0}.chat-md blockquote{margin:0 0 10px;border-left:3px solid var(--accent);background:var(--accent-dim);border-radius:0 8px 8px 0;padding:8px 12px;color:var(--text-dim)}.chat-md blockquote p{margin:0}.chat-md strong{font-weight:650}.chat-empty{padding:64px 30px;text-align:center}.chat-empty-title{font-size:26px;font-weight:700;letter-spacing:.01em;margin-bottom:10px}.chat-empty-sub{color:var(--text-dim);font-size:13.5px;margin-bottom:30px}.chat-inspire{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:580px;margin:0 auto}.chat-inspire-card{text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:5px;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.chat-inspire-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow-lift),0 0 22px var(--accent-dim)}.chat-inspire-card b{font-size:13.5px;letter-spacing:.02em}.chat-inspire-card span{font-size:12px;color:var(--text-dim);line-height:1.6}.chat-composer{border-top:1px solid var(--border-soft);padding:12px 16px;display:flex;flex-direction:column;gap:8px;background:var(--panel)}.chat-att-list{display:flex;flex-wrap:wrap;gap:6px}.chat-chip{display:inline-flex;align-items:center;gap:6px;max-width:240px;border:1px solid var(--border);background:var(--panel-2);border-radius:6px;padding:4px 8px;font-size:11px;color:var(--text-dim)}.chat-chip b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-chip em{font-style:normal;font-family:var(--font-mono);font-size:10px;color:var(--text-faint);white-space:nowrap}.chat-chip-x{background:none;border:0;color:var(--text-faint);font-size:12px;cursor:pointer;padding:0 2px;transition:color .2s ease}.chat-chip-x:hover{color:var(--danger)}.chat-input-row{display:flex;gap:8px;align-items:flex-end}.chat-tool-btn{flex:0 0 36px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);font-size:16px;cursor:pointer;transition:all .2s ease}.chat-tool-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent-dim)}.chat-tool-btn:disabled{opacity:.45;cursor:not-allowed}.chat-textarea{flex:1;resize:none;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:8px 12px;font-size:13.5px;line-height:1.65;max-height:133px;transition:border-color .2s ease,box-shadow .2s ease}.chat-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.chat-textarea::placeholder{color:var(--text-faint)}.chat-send{flex:0 0 auto}.chat-ctrl-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chat-switch{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.chat-switch input{display:none}.chat-switch i{position:relative;width:30px;height:17px;border-radius:999px;background:var(--border);transition:background .2s ease}.chat-switch i:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s cubic-bezier(.22,1,.36,1)}.chat-switch.on i{background:var(--accent)}.chat-switch.on i:after{transform:translate(13px)}.chat-select{background:var(--bg);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;padding:4px 8px;font-size:11.5px;font-family:var(--font-mono);cursor:pointer}.chat-select:focus{outline:none;border-color:var(--accent)}.chat-credits{cursor:pointer;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease}.chat-credits:hover{color:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent-dim)}.chat-menu-btn{display:none;width:30px;height:30px;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text-dim);font-size:14px;cursor:pointer}.chat-drawer-mask{display:none}.chat-fab{position:fixed;right:22px;bottom:22px;z-index:70;border:1px solid var(--border);background:var(--panel);color:var(--text-dim);border-radius:999px;padding:9px 17px;font-size:12.5px;letter-spacing:.04em;cursor:pointer;box-shadow:var(--shadow);transition:all .2s ease}.chat-fab:hover{color:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-lift),0 0 18px var(--accent-dim);transform:translateY(-2px)}.settings-card.wide{width:560px;max-height:calc(100vh - 60px);overflow-y:auto}.chat-price-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:4px 0 16px}.chat-price-table th{text-align:left;font-family:var(--font-mono);font-size:10.5px;font-weight:400;letter-spacing:.12em;color:var(--text-faint);text-transform:uppercase;padding:7px 8px;border-bottom:1px solid var(--border)}.chat-price-table td{padding:8px;border-bottom:1px solid var(--border-soft);color:var(--text-dim)}.chat-price-table tr td:first-child{color:var(--text)}.chat-notice{color:var(--danger)}.chat-recharge-status{display:flex;align-items:flex-start;gap:11px;margin:2px 0 16px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:var(--radius);background:var(--accent-dim)}.chat-recharge-status>div{min-width:0;flex:1}.chat-recharge-status b{display:block;margin-bottom:4px;color:var(--text);font-size:12.5px}.chat-recharge-status p{margin:0;color:var(--text-dim);font-size:11.5px;line-height:1.65}.chat-admin-credit-link{width:100%;min-height:39px;justify-content:space-between;margin-bottom:14px}.chat-ok-msg{color:var(--ok)}.chat-feedback-ta{width:100%;min-height:88px;resize:vertical;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:9px 11px;font-size:13px;line-height:1.7;transition:border-color .2s ease,box-shadow .2s ease}.chat-feedback-ta:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.chat-tickets{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.chat-ticket{border:1px solid var(--border-soft);border-radius:8px;padding:9px 11px;background:var(--panel-2)}.chat-ticket-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.chat-chip-ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.chat-ticket-time{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);letter-spacing:.06em}.chat-ticket-content{font-size:12.5px;color:var(--text-dim);line-height:1.7;white-space:pre-wrap}.chat-ticket-reply{margin-top:6px;font-size:12px;color:var(--accent-strong);background:var(--accent-dim);border-radius:6px;padding:6px 9px;line-height:1.7}@media(max-width:1024px){.chat-layout{grid-template-columns:minmax(0,1fr);padding:10px 12px}.chat-rail,.chat-sessions{position:fixed;top:58px;bottom:0;left:0;width:min(320px,86vw);z-index:85;border-radius:0;transform:translate(-105%);transition:transform .28s cubic-bezier(.22,1,.36,1)}.chat-rail.open,.chat-sessions.open{transform:none;box-shadow:var(--shadow-lift)}.chat-drawer-mask{display:block;position:fixed;right:0;bottom:0;left:0;top:58px;z-index:84;background:#0a081473;animation:fade-in .2s ease}.chat-menu-btn{display:inline-flex}.chat-msg-body{max-width:92%}.chat-msgs{padding:16px 14px 20px}.chat-empty{padding:40px 16px}.chat-inspire{grid-template-columns:1fr}}@media(max-width:640px){.chat-page .brand-tag,.chat-page .bench-back{display:none}}@media(prefers-reduced-motion:reduce){.chat-main .caret-sm,.chat-live-dot{animation:none}.chat-rail,.chat-sessions{transition:none}}:root{--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif}.synet-boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-content:center;justify-items:center;gap:14px;background:var(--bg);color:var(--text-dim);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em}.synet-boot img{width:44px;filter:drop-shadow(0 0 18px var(--accent-glow));animation:pulse 1.6s ease-in-out infinite}.bench .settings-password-row{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.bench .settings-password-row .settings-hint{margin:0}.studio-credits-chip{color:var(--accent)}.brief-tools{display:flex;align-items:center;gap:9px;margin-top:-3px}.brief-tools .btn{flex:0 0 auto}.brief-tools>span{color:var(--text-faint);font-family:var(--font-mono);font-size:7px;letter-spacing:.04em}.error-banner,.notice-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;border:1px solid color-mix(in srgb,var(--danger) 34%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--danger) 6%,var(--panel));color:color-mix(in srgb,var(--danger) 82%,var(--text));padding:11px 13px;font-size:10px;line-height:1.55}.notice-banner{border-color:color-mix(in srgb,var(--accent) 26%,var(--border));background:var(--accent-dim);color:var(--text-dim)}.error-banner button,.notice-banner button{border:0;background:transparent;color:inherit}.agent-stream{position:relative;overflow:hidden;margin-bottom:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.agent-stream.is-running{border-color:color-mix(in srgb,var(--accent) 32%,var(--border))}.agent-stream-head{display:flex;height:42px;align-items:center;gap:9px;border-bottom:1px solid var(--border-soft);padding:0 13px}.agent-stream-head i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);animation:pulse 1.3s ease-in-out infinite}.agent-stream-head b{color:var(--text);font-size:10px}.agent-stream-head>em{border:1px solid var(--border-soft);border-radius:999px;color:var(--accent);padding:3px 7px;font-family:var(--font-mono);font-size:6px;font-style:normal;letter-spacing:.09em}.agent-stream-head>span:last-child{margin-left:auto;color:var(--text-faint);font-family:var(--font-mono);font-size:7px;letter-spacing:.1em}.agent-stream-paused{color:var(--warning)!important;font-size:7px}.agent-stream-body{display:grid;max-height:300px;gap:7px;overflow:auto;overscroll-behavior:contain;padding:11px 13px 18px;scrollbar-color:var(--border) transparent}.agent-log{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:flex-start;border:1px solid transparent;border-radius:9px;color:var(--text-dim);padding:8px;font-size:9px;line-height:1.65;animation:agent-log-arrive .24s ease-out both}.agent-log.kind-deliberation{border-color:color-mix(in srgb,var(--accent) 18%,transparent);background:color-mix(in srgb,var(--accent) 4%,transparent)}.agent-log.kind-tool{border-color:color-mix(in srgb,var(--violet) 18%,transparent);background:color-mix(in srgb,var(--violet) 4%,transparent)}.agent-log-avatar{display:grid;width:27px;height:27px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border));border-radius:8px;background:var(--accent-dim);box-shadow:0 0 15px color-mix(in srgb,var(--accent-glow) 42%,transparent);color:var(--accent);font-family:var(--font-mono);font-size:8px;font-weight:800}.agent-log.kind-tool .agent-log-avatar{border-color:color-mix(in srgb,var(--violet) 38%,var(--border));background:color-mix(in srgb,var(--violet) 9%,var(--panel-2));color:var(--violet)}.agent-log-copy{min-width:0}.agent-log-copy>header{display:flex;min-width:0;align-items:center;gap:6px}.agent-log-copy>header b{color:var(--text);font-family:var(--font-mono);font-size:7px;letter-spacing:.05em}.agent-log-copy>header span{color:var(--text-faint);font-size:7px}.agent-log-copy>header em{border-radius:999px;background:var(--panel-2);color:var(--accent);padding:1px 5px;font-family:var(--font-mono);font-size:6px;font-style:normal;letter-spacing:.06em}.agent-log.kind-tool .agent-log-copy>header em{color:var(--violet)}.agent-log-copy>header strong{min-width:0;overflow:hidden;color:var(--text-faint);font-size:7px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.agent-log-copy p{min-height:1.65em;margin:4px 0 0;color:var(--text-dim);white-space:pre-wrap}.agent-log>small{color:var(--text-faint);padding-top:3px;font-family:var(--font-mono);font-size:7px}.agent-log.status-running>small{color:var(--accent)}.agent-progressive-text.is-typing{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 7%,transparent),transparent);background-size:220% 100%;animation:agent-progressive-glow 2.2s ease-in-out infinite}.agent-stream-caret{display:inline-block;width:1px;height:.95em;margin-left:2px;vertical-align:-.08em;background:var(--accent);box-shadow:0 0 6px var(--accent-glow);animation:agent-stream-caret-blink .8s steps(1,end) infinite}.agent-stream-follow{position:absolute;right:14px;bottom:8px;z-index:2;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--panel) 88%,transparent);box-shadow:var(--shadow);color:var(--accent);padding:5px 9px;font-family:var(--font-mono);font-size:7px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.job-progress{height:2px;overflow:hidden;border-radius:999px;background:var(--border-soft)}.job-progress i{display:block;height:100%;background:var(--grad);box-shadow:0 0 9px var(--accent-glow);transition:width .35s ease}@keyframes agent-log-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes agent-stream-caret-blink{50%{opacity:.15}}@keyframes agent-progressive-glow{0%,to{background-position:120% 0}50%{background-position:-20% 0}}.review-gate{width:min(760px,calc(100vw - 40px))}.review-head-actions{display:flex;align-items:center;gap:8px}.review-gate .review-content{max-height:min(58vh,580px);overflow:auto;border:1px solid var(--border-soft);border-radius:9px;background:var(--panel-2);color:var(--text);padding:18px;font-size:11px;line-height:1.85;white-space:pre-wrap}.review-gate .review-prompt{display:grid;gap:7px;margin-top:14px;color:var(--text-dim);font-size:10px}.review-gate textarea{width:100%;min-height:94px;resize:vertical;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:10px 12px;line-height:1.65;transition:border-color .2s ease,box-shadow .2s ease}.review-gate textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.review-gate textarea::placeholder{color:var(--text-faint)}.episode-batch-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;margin-top:14px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--panel-2)),var(--panel-2));padding:14px}.episode-batch-control>div:first-child{display:grid;align-content:center;gap:3px}.episode-batch-control>div:first-child b{color:var(--text);font-size:11px}.episode-batch-input{display:flex;align-items:center;justify-content:flex-end;gap:8px}.episode-batch-input input{width:68px;min-height:36px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text);padding:7px 9px;font:700 11px/1 var(--font-mono);text-align:center;outline:0}.episode-batch-input input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.episode-batch-input span{color:var(--accent);font:700 8px/1.4 var(--font-mono)}.review-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.review-actions .danger-soft{border-color:color-mix(in srgb,var(--danger) 34%,var(--border));color:var(--danger)}.script-batch-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.script-batch-actions label{display:flex;align-items:center;gap:7px;color:var(--text-faint);font-size:9px}.script-batch-actions input{width:58px;min-height:30px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);padding:5px 7px;font:700 9px/1 var(--font-mono);text-align:center;outline:0}.script-batch-actions input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}@media(max-width:620px){.episode-batch-control{grid-template-columns:1fr}.episode-batch-input{justify-content:flex-start}}.synet-asset-audit{border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:22px;background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 34%),var(--panel);box-shadow:0 28px 80px color-mix(in srgb,#07111f 28%,transparent);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 35%,var(--border)) transparent}.synet-audit-hero{position:sticky;top:0;z-index:2;margin:-1px -1px 16px;padding:18px 18px 15px;border-bottom:1px solid var(--border-soft);border-radius:22px 22px 0 0;background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.synet-audit-title{display:flex;align-items:center;gap:12px;min-width:0}.synet-audit-title>div{display:grid;gap:2px;min-width:0}.synet-audit-title>div>small{font:600 9px/1.4 var(--font-mono);letter-spacing:.16em;color:var(--accent)}.synet-audit-title>div>b{font-size:17px;letter-spacing:-.02em}.synet-audit-mark{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:12px;color:var(--accent);font-size:14px;font-weight:700;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 17%,var(--panel)),var(--panel-2));box-shadow:inset 0 1px color-mix(in srgb,white 28%,transparent),0 8px 20px var(--accent-dim)}.synet-audit-section{transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.synet-audit-section:hover{border-color:color-mix(in srgb,var(--accent) 26%,var(--border))!important;transform:translateY(-1px);box-shadow:0 9px 28px color-mix(in srgb,#07111f 8%,transparent)}.synet-audit-actions{position:sticky;bottom:-1px;z-index:2;padding:13px 0 2px;background:linear-gradient(180deg,transparent,var(--panel) 32%)}.synet-audit-repair{border-color:color-mix(in srgb,var(--accent) 42%,var(--border))!important;color:var(--accent)!important}.synet-audit-repair:not(:disabled):hover{background:var(--accent-dim);box-shadow:0 8px 24px var(--accent-dim)}.stage-placeholder{min-height:250px}.outline-block{display:grid;gap:16px}.outline-section{border-bottom:1px solid var(--border-soft);padding-bottom:14px}.outline-section:last-child{border-bottom:0;padding-bottom:0}.outline-section b{display:block;margin-bottom:7px;color:var(--accent);font-family:var(--font-mono);font-size:8px;letter-spacing:.12em}.outline-section p{margin:0;color:var(--text);font-size:11px;line-height:1.9;white-space:pre-wrap}.foundation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border-soft)}.foundation-field{display:grid;align-content:start;gap:8px;min-width:0;background:var(--panel);padding:15px 16px}.foundation-field>span{color:var(--accent);font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.1em}.foundation-field textarea{min-height:92px;resize:vertical;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);padding:10px 11px;font:10px/1.7 var(--font-ui);outline:0}.foundation-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.foundation-field .copy-btn{justify-self:start}.director-style{margin-bottom:14px}.director-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px 16px}.director-style-grid label{display:grid;min-width:0;gap:7px;color:var(--text-dim);font-size:9px;font-weight:650}.director-style-grid input,.director-style-grid select,.director-style-grid textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);padding:9px 10px;font:10px/1.6 var(--font-ui);outline:0}.director-style-grid input,.director-style-grid select{min-height:38px}.director-style-grid textarea{min-height:76px;resize:vertical}.director-style-grid input:focus,.director-style-grid select:focus,.director-style-grid textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.director-style-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border-soft);padding:10px 16px 13px}.script-tool-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.script-workflow-modal{width:min(680px,calc(100vw - 30px))}.script-workflow-modal>label{display:grid;gap:7px;margin-top:13px;color:var(--text-dim);font-size:9px;font-weight:650}.script-workflow-modal textarea{min-height:110px;resize:vertical;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);padding:10px 11px;font:10px/1.7 var(--font-ui);outline:0}.script-workflow-modal textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.script-source-preview{margin-top:14px;overflow:hidden;border:1px solid var(--border-soft);border-radius:8px;background:var(--panel-2)}.script-source-preview>span{display:block;border-bottom:1px solid var(--border-soft);color:var(--text-faint);padding:7px 10px;font:7px/1.4 var(--font-mono);letter-spacing:.08em}.script-source-preview p{max-height:160px;overflow:auto;margin:0;color:var(--text-dim);padding:10px 11px;font-size:9px;line-height:1.7;white-space:pre-wrap}.prompt-cell-input{width:100%;min-width:88px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;padding:6px 7px;font:inherit;line-height:1.55;outline:0}textarea.prompt-cell-input{min-width:180px;min-height:70px;resize:vertical}.prompt-cell-input:hover{border-color:var(--border);background:var(--panel-2)}.prompt-cell-input:focus{border-color:var(--accent);background:var(--panel-2);box-shadow:0 0 0 3px var(--accent-dim)}.prompt-cell-input:disabled{opacity:.72;cursor:not-allowed}.canvas-tools button.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);box-shadow:0 0 14px var(--accent-dim)}.canvas-edges{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:visible;pointer-events:none}.canvas-edges line{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:5 5;opacity:.7;filter:drop-shadow(0 0 4px var(--accent-glow))}.asset-card.link-source{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim),var(--shadow-lift)}.asset-links{display:grid;gap:5px;margin-top:10px;border-top:1px solid var(--border-soft);padding-top:9px}.asset-links b{color:var(--text-faint);font:7px/1.4 var(--font-mono);letter-spacing:.09em}.asset-links button{display:flex;justify-content:space-between;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:var(--accent);padding:6px 8px;font:8px/1.4 var(--font-mono)}.asset-links button:hover{border-color:var(--accent)}.asset-kind-tabs{display:flex;gap:7px;padding:11px 13px 0}.asset-kind-tabs button{min-height:30px;border:1px solid var(--border);border-radius:7px;background:var(--panel);color:var(--text-dim);padding:0 11px;font-size:9px}.asset-kind-tabs button.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.canvas-wrap.read-only .asset-card{cursor:default}.asset-prompt-composer{display:grid;gap:7px;margin:10px 0;-webkit-user-select:text;user-select:text}.asset-prompt-composer>label{color:var(--text-faint);font:700 8px/1.4 var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.asset-prompt-sources{display:flex;min-height:44px;align-items:center;flex-wrap:wrap;gap:7px}.asset-prompt-sources .chip{min-height:30px;display:inline-flex;align-items:center;border-color:var(--border);background:var(--panel-2);color:var(--text-dim)}.asset-prompt-thumb{width:44px;height:44px;object-fit:cover;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);box-shadow:var(--shadow-sm)}.asset-prompt-composer textarea{width:100%;min-height:82px;border-color:var(--border);background:var(--panel-2);color:var(--text);-webkit-user-select:text;user-select:text}.asset-prompt-composer textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.prompt-video{margin-top:10px;overflow:hidden;border:1px solid var(--border-soft);border-radius:8px;background:#08070f}.prompt-video video{display:block;width:100%;max-height:260px;object-fit:contain}.prompt-foot .video-btn{border-color:var(--accent);color:var(--accent)}.project-role{color:var(--text-faint);font-family:var(--font-mono);font-size:7px}.bench .settings-card select{width:100%;min-height:38px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);padding:0 10px}.bench .settings-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:18px}.settings-card.collaboration-card{width:620px;max-height:min(760px,calc(100vh - 40px));overflow:auto}.collaboration-subtitle{margin-top:4px;color:var(--text-faint);font-size:12px}.collaboration-invite{display:grid;grid-template-columns:minmax(0,1fr) 118px auto;align-items:end;gap:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);padding:14px}.collaboration-invite>div{min-width:0}.settings-card .collaboration-invite label{margin-top:0}.collaboration-section-head{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.collaboration-members{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius)}.collaboration-empty{padding:18px;color:var(--text-dim);font-size:13px}.collaboration-member{display:grid;grid-template-columns:34px minmax(0,1fr) 112px auto;align-items:center;gap:10px;padding:11px 12px}.collaboration-member+.collaboration-member{border-top:1px solid var(--border-soft)}.collaboration-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-family:var(--font-mono);font-size:12px;font-weight:700}.collaboration-identity{min-width:0}.collaboration-email{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.collaboration-status{color:var(--text-faint)}.collaboration-status.unavailable{color:var(--danger)}.collaboration-role-select{margin:0}.collaboration-role-label{color:var(--text-dim);font-size:12px}.collaboration-danger{color:var(--danger)}.collaboration-alert{margin:12px 0 0;border:1px solid var(--border);border-radius:var(--radius);padding:9px 11px;font-size:12px;line-height:1.6}.collaboration-alert.error{border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 7%,var(--panel));color:var(--danger)}.collaboration-alert.notice{background:var(--accent-dim);color:var(--accent)}.collaboration-actions{justify-content:space-between}@media(max-width:1180px){.bench .studio-credits-chip{display:none}}@media(max-width:980px){.bench>.bench-top{height:auto;min-height:var(--topbar-height);flex-wrap:wrap;padding-block:8px}.bench>.bench-top .bench-steps{position:static;order:3;width:100%;justify-content:center;transform:none}}@media(max-width:760px){.bench>.bench-top{gap:10px;padding-inline:12px}.bench>.bench-top .bench-back{display:none}.bench>.bench-top .bench-top-right{gap:7px}.bench .agent-log{grid-template-columns:58px minmax(0,1fr)}.bench .agent-log small{display:none}.bench .foundation-grid,.bench .director-style-grid{grid-template-columns:1fr}}@media(max-width:620px){.settings-card.collaboration-card{width:calc(100vw - 24px);max-width:none;max-height:calc(100vh - 24px);padding:18px}.collaboration-invite{grid-template-columns:minmax(0,1fr) 112px}.collaboration-invite .btn{grid-column:1 / -1;justify-content:center}.collaboration-member{grid-template-columns:34px minmax(0,1fr)}.collaboration-role-select,.collaboration-role-label{grid-column:2}.collaboration-member>.collaboration-danger{grid-column:2;justify-self:start}.collaboration-member>span:last-child:empty{display:none}}@media(max-width:520px){.bench>.bench-top .brand-name{display:none}.collaboration-invite{grid-template-columns:1fr}.collaboration-invite .btn{grid-column:auto}}@media(prefers-reduced-motion:reduce){.synet-boot img,.agent-stream-head i,.modal-backdrop,.settings-card{animation:none}.job-progress i,.review-gate textarea{transition:none}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.script-edit{width:100%;min-height:420px;border:0;background:var(--bg);color:var(--text);padding:22px 24px;font-size:13.5px;line-height:2;font-family:inherit;resize:vertical;white-space:pre-wrap}.script-edit:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent-dim)}.sb-edit{background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-dim);font-size:12.5px;padding:4px 6px;max-width:100%;transition:border-color .2s ease,background .2s ease,color .2s ease}.sb-edit:hover{border-color:var(--border);background:var(--panel)}.sb-edit:focus{outline:none;border-color:var(--accent);background:var(--panel);color:var(--text);box-shadow:0 0 0 3px var(--accent-dim)}.sb-edit.wide{width:100%;min-width:220px}.sb-edit.mood{width:64px}.sb-edit.dur{font-family:var(--font-mono);font-variant-numeric:tabular-nums}select.sb-edit{cursor:pointer}.sb-table td.ops{width:40px;text-align:right}.row-regen{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-faint);font-size:13px;cursor:pointer;transition:all .2s ease}.row-regen:hover:not(:disabled){color:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent-dim);transform:rotate(40deg)}.row-regen:disabled{opacity:.4;cursor:not-allowed}.sb-table tbody tr.regen td,.prompt-card.regen{animation:regen-pulse .9s ease-in-out infinite}@keyframes regen-pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.sb-table tbody tr.regen td,.prompt-card.regen{animation:none;opacity:.6}.row-regen:hover:not(:disabled){transform:none}}.proj-current{display:flex;gap:8px;margin-bottom:12px}.proj-title{flex:1;min-width:0;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:7px 10px;font-size:12.5px;transition:border-color .2s ease,box-shadow .2s ease}.proj-title:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.proj-title::placeholder{color:var(--text-faint)}.proj-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;max-height:260px;overflow-y:auto}.proj-item{display:flex;align-items:center;gap:6px;border:1px solid var(--border-soft);border-radius:var(--radius);padding:4px 6px 4px 4px;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.proj-item:hover{border-color:var(--border);background:var(--panel-2)}.proj-item.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 0 0 3px var(--accent-dim)}.proj-load{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:0;padding:6px 8px;text-align:left;cursor:pointer;border-radius:6px}.proj-load:disabled{opacity:.5;cursor:not-allowed}.proj-t{font-size:13px;font-weight:600;color:var(--text);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.proj-m{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--text-faint)}.proj-del{flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-faint);font-size:14px;cursor:pointer;transition:all .2s ease}.proj-del:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.proj-empty{font-size:11.5px;color:var(--text-faint);text-align:center;padding:12px 0;border:1px dashed var(--border-soft);border-radius:var(--radius)}.proj-new{width:100%;justify-content:center}.cv-t-image{--cv-c: #a89ec4}.cv-t-character{--cv-c: #d0a3a3}.cv-t-scene{--cv-c: #a2b8a5}.cv-t-prop{--cv-c: #cbb691}.cv-t-material{--cv-c: #9db0bf}.cv-t-output_grid{--cv-c: #c0a3c2}.cv-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.cv-top{display:flex;align-items:center;gap:16px;padding:10px 18px;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb,var(--panel) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cv-top .brand img{height:26px}.cv-top .brand-name{font-size:14px}.cv-to-studio,.cv-back{background:none;border:0;padding:0;font-size:12.5px;cursor:pointer}.cv-back{color:var(--text-dim)}.cv-back:hover{color:var(--accent)}.cv-proj{display:flex;align-items:center;gap:8px}.cv-proj select{max-width:200px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:6px 10px;font-size:12.5px;transition:border-color .2s ease,box-shadow .2s ease}.cv-proj select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.cv-save{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;color:var(--text-faint);white-space:nowrap}.cv-save.busy{color:var(--accent)}.cv-top-right{margin-left:auto;display:flex;align-items:center;gap:10px}.cv-top-err{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 18px;background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);font-size:12.5px;border-bottom:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.cv-top-err button{background:none;border:0;color:inherit;font-size:14px;padding:0 4px}.cv-body{flex:1;display:flex;min-height:0}.cv-side{width:264px;flex:0 0 auto;border-right:1px solid var(--border-soft);background:color-mix(in srgb,var(--panel) 70%,transparent);padding:14px;overflow-y:auto}.cv-sec{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:4px 0 10px}.cv-lib+.cv-sec,.cv-palette+.cv-sec{margin-top:18px}.cv-palette{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.cv-pal{display:flex;flex-direction:column;gap:3px;text-align:left;background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--cv-c);border-radius:10px;padding:8px 10px;color:var(--text);transition:all .2s ease}.cv-pal:hover{border-color:var(--cv-c);box-shadow:0 0 14px color-mix(in srgb,var(--cv-c) 25%,transparent);transform:translateY(-1px)}.cv-pal b{font-size:12.5px}.cv-pal span{font-size:10.5px;color:var(--text-faint);line-height:1.4}.cv-upload{background:var(--accent-dim);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:6px;font-size:11px;padding:3px 10px;transition:all .2s ease}.cv-upload:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 10px var(--accent-dim)}.cv-upload:disabled{opacity:.55;cursor:default}.cv-lib{display:flex;flex-direction:column;gap:8px}.cv-lib-item{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:6px}.cv-lib-item img,.cv-lib-thumb{width:38px;height:38px;flex:0 0 auto;object-fit:cover;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--panel-2);color:var(--text-faint);font-size:14px}.cv-lib-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cv-lib-meta b{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-kind{align-self:flex-start;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;color:var(--text-faint);background:var(--panel-2);border-radius:4px;padding:1px 6px}.cv-add{width:24px;height:24px;flex:0 0 auto;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--accent);font-size:14px;line-height:1;transition:all .2s ease}.cv-add:hover{border-color:var(--accent);box-shadow:0 0 10px var(--accent-dim)}.cv-lib-empty{font-size:11.5px;color:var(--text-faint);text-align:center;padding:18px 0}.cv-main{flex:1;min-width:0;min-height:0}.cv-stage{position:relative;flex:1;overflow:hidden;background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);cursor:grab;touch-action:none}.cv-stage:active{cursor:grabbing}.cv-stage.flash{animation:cv-flash .5s ease}@keyframes cv-flash{0%,to{box-shadow:inset 0 0 0 0 transparent}40%{box-shadow:inset 0 0 0 2px var(--danger),inset 0 0 34px color-mix(in srgb,var(--danger) 25%,transparent)}}.cv-inner{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0}.cv-edges{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.cv-edge{fill:none;stroke:var(--accent);stroke-width:2;opacity:.85}.cv-edge.t-image{stroke:#a89ec4}.cv-edge.t-character{stroke:#d0a3a3}.cv-edge.t-scene{stroke:#a2b8a5}.cv-edge.t-prop{stroke:#cbb691}.cv-edge.t-material{stroke:#9db0bf}.cv-edge.t-output_grid{stroke:#c0a3c2}.cv-edge.draft{stroke:var(--accent);stroke-dasharray:6 5;opacity:.7;animation:cv-dash 1s linear infinite}@keyframes cv-dash{to{stroke-dashoffset:-11}}.cv-edge-x{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text-faint);font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease;z-index:6}.cv-stage:hover .cv-edge-x{opacity:.75}.cv-edge-x:hover{opacity:1!important;color:#fff;background:var(--danger);border-color:var(--danger)}.cv-node{position:absolute;background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--cv-c);border-radius:12px;box-shadow:var(--shadow-sm);padding:10px 12px 11px;-webkit-user-select:none;user-select:none;cursor:grab;z-index:2;transition:box-shadow .2s ease,border-color .2s ease}.cv-node:hover{box-shadow:var(--shadow-lift),0 0 18px color-mix(in srgb,var(--cv-c) 20%,transparent);z-index:5}.cv-node.running{animation:cv-pulse 1s ease-in-out infinite}@keyframes cv-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--cv-c) 45%,transparent)}50%{box-shadow:0 0 0 7px transparent}}.cv-node-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.cv-badge{flex:0 0 auto;font-size:10px;font-weight:600;letter-spacing:.1em;border-radius:4px;padding:2px 7px;color:var(--cv-c);background:color-mix(in srgb,var(--cv-c) 13%,transparent)}.cv-title{flex:1;min-width:0;background:transparent;border:0;border-bottom:1px dashed transparent;font-size:13px;font-weight:650;color:var(--text);padding:1px 2px}.cv-title:hover{border-bottom-color:var(--border)}.cv-title:focus{outline:none;border-bottom-color:var(--accent)}.cv-x{width:20px;height:20px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:5px;color:var(--text-faint);font-size:13px;transition:all .2s ease}.cv-x:hover{color:var(--danger);border-color:var(--border)}.cv-port{position:absolute;top:15px;width:12px;height:12px;border-radius:999px;background:var(--panel);border:2px solid var(--cv-c);z-index:7;transition:all .15s ease}.cv-port.in{left:-7px}.cv-port.out{right:-7px;cursor:crosshair}.cv-prompt{width:100%;resize:vertical;background:var(--bg);border:1px solid var(--border-soft);border-radius:8px;color:var(--text);font-size:12px;line-height:1.6;padding:7px 9px;margin-bottom:8px}.cv-prompt:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.cv-params{display:flex;gap:6px;align-items:center;margin-bottom:8px}.cv-model{flex:1;min-width:0;font-family:var(--font-mono);font-size:9.5px;color:var(--text-faint);background:var(--panel-2);border-radius:5px;padding:3px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-params select{background:var(--panel-2);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;font-size:11px;padding:3px 5px}.cv-params select:focus{outline:none;border-color:var(--accent)}.cv-img{width:100%;border-radius:8px;display:block;margin-bottom:8px;pointer-events:none}.cv-img-ph{width:100%;height:96px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:8px;color:var(--text-faint);font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;margin-bottom:8px;pointer-events:none}.cv-ops{display:flex;gap:8px}.cv-ops .btn.running{animation:cv-btn-pulse .9s ease-in-out infinite}@keyframes cv-btn-pulse{0%,to{opacity:1}50%{opacity:.55}}.cv-err{margin-top:8px;font-size:11px;line-height:1.6;color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);border-radius:6px;padding:5px 8px}.cv-file{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:8px}.cv-grid-node{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:8px}.cv-grid-node img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;pointer-events:none}.cv-grid-empty{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:8px;color:var(--text-faint);font-size:10.5px;padding:22px 8px;text-align:center;line-height:1.6}.cv-empty{position:absolute;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--text-faint);border:1px dashed var(--border);border-radius:10px;padding:14px 18px;pointer-events:none}.cv-link-err{position:absolute;top:14px;left:50%;transform:translate(-50%);background:color-mix(in srgb,var(--danger) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger);font-size:12px;border-radius:8px;padding:6px 14px;z-index:20;animation:cv-link-err-in .25s ease}@keyframes cv-link-err-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.dr-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.dr-top{display:flex;align-items:center;gap:16px;padding:10px 18px;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb,var(--panel) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dr-top .brand img{height:26px}.dr-top .brand-name{font-size:14px}.dr-link{background:none;border:0;padding:0;font-size:12.5px;cursor:pointer}.dr-proj{display:flex;align-items:center;gap:8px}.dr-proj select{max-width:200px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:6px 10px;font-size:12.5px;transition:border-color .2s ease,box-shadow .2s ease}.dr-proj select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.dr-save{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;color:var(--text-faint);white-space:nowrap}.dr-save.busy{color:var(--accent)}.dr-top-right{margin-left:auto;display:flex;align-items:center;gap:10px}.dr-body{flex:1;display:flex;min-height:0}.dr-left{width:252px;flex:0 0 auto;border-right:1px solid var(--border-soft);background:color-mix(in srgb,var(--panel) 70%,transparent);padding:14px;overflow-y:auto}.dr-right{width:268px;flex:0 0 auto;border-left:1px solid var(--border-soft);background:color-mix(in srgb,var(--panel) 70%,transparent);padding:14px;overflow-y:auto}.dr-center{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.dr-sec{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;color:var(--text-faint);text-transform:uppercase;margin-bottom:10px}.dr-sec-n{color:var(--accent)}.dr-add{position:relative;margin-bottom:12px}.dr-add-btn{width:100%;justify-content:center;list-style:none}.dr-add-btn::-webkit-details-marker{display:none}.dr-add[open] .dr-add-btn{border-color:var(--accent);color:var(--accent)}.dr-add-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lift);padding:8px;max-height:320px;overflow-y:auto}.dr-add-group+.dr-add-group{margin-top:6px;border-top:1px solid var(--border-soft);padding-top:6px}.dr-add-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--text-faint);padding:2px 8px 4px}.dr-add-item{display:block;width:100%;text-align:left;border:0;background:none;color:var(--text);font-size:12.5px;padding:6px 8px;border-radius:6px;transition:background .15s ease,color .15s ease}.dr-add-item:hover{background:var(--accent-dim);color:var(--accent)}.dr-tree-list{display:flex;flex-direction:column;gap:2px}.dr-tree-empty{font-size:11.5px;color:var(--text-faint);text-align:center;padding:14px 8px;border:1px dashed var(--border-soft);border-radius:var(--radius)}.dr-row{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.dr-row:hover{background:var(--accent-dim)}.dr-row.on{background:var(--accent-dim);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.dr-row.off .nm,.dr-row.off .kind{opacity:.45}.dr-row .dr-dot{width:8px;height:8px;border-radius:50%;background:var(--row-c, var(--accent));flex:0 0 auto;box-shadow:0 0 6px var(--accent-dim)}.dr-row .nm{flex:1;min-width:0;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dr-row .kind{font-family:var(--font-mono);font-size:9.5px;color:var(--text-faint);letter-spacing:.06em}.dr-icon-btn{border:0;background:none;color:var(--text-dim);padding:2px 4px;border-radius:5px;display:inline-flex;align-items:center;font-size:13px;line-height:1;transition:color .15s ease,background .15s ease}.dr-icon-btn:hover{color:var(--accent);background:var(--accent-dim)}.dr-icon-btn.danger:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.dr-viewport{flex:1;position:relative;min-height:0}.dr-viewport canvas{display:block}.dr-vp-tools{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--panel) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.dr-tool{border:1px solid transparent;background:none;color:var(--text-dim);font-size:11.5px;font-family:var(--font-mono);letter-spacing:.04em;padding:4px 9px;border-radius:999px;transition:all .15s ease}.dr-tool:hover{color:var(--accent)}.dr-tool.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-dim)}.dr-tool-sep{width:1px;height:16px;background:var(--border)}.dr-fov{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;color:var(--text-dim)}.dr-fov input[type=range]{width:90px;accent-color:var(--accent)}.dr-fov .mono{min-width:30px;text-align:right}.dr-cambar{border-top:1px solid var(--border-soft);background:color-mix(in srgb,var(--panel) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:10px 14px 12px}.dr-cam-tabs{display:flex;align-items:center;gap:6px;margin-bottom:9px;flex-wrap:wrap}.dr-cam-tab{border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);font-size:11.5px;padding:4px 11px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease}.dr-cam-tab i{font-style:normal;font-family:var(--font-mono);font-size:9.5px;color:var(--text-faint)}.dr-cam-tab:hover{color:var(--accent);border-color:var(--accent)}.dr-cam-tab.on{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.dr-cam-tab.on i{color:var(--accent)}.dr-cam-hint{margin-left:auto;font-size:11px;color:var(--text-faint)}.dr-cam-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.dr-cam-card{min-width:112px;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:var(--radius);padding:8px 12px;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.dr-cam-card b{font-size:12.5px;font-weight:600}.dr-cam-card .mono{font-family:var(--font-mono);font-size:10px;color:var(--text-faint)}.dr-cam-card:hover{border-color:var(--accent);box-shadow:0 0 14px var(--accent-dim);transform:translateY(-1px)}.dr-cam-card.on{border-color:var(--accent);background:var(--accent-dim)}.dr-cam-card.on .mono{color:var(--accent)}.dr-timeline{display:flex;align-items:center;gap:10px;margin-bottom:10px}.dr-tl-name{font-size:12px;font-weight:600;color:var(--accent);white-space:nowrap}.dr-tl-bar{flex:1;height:6px;border-radius:4px;background:var(--border-soft);overflow:hidden}.dr-tl-bar i{display:block;height:100%;background:var(--grad);box-shadow:0 0 8px var(--accent-glow);transition:width .05s linear}.dr-tl-time{font-size:10.5px;color:var(--text-faint);white-space:nowrap}.dr-ins-empty{font-size:12px;color:var(--text-faint);text-align:center;line-height:2;padding:18px 8px;border:1px dashed var(--border-soft);border-radius:var(--radius)}.dr-ins-kind{margin-left:auto;text-transform:none;letter-spacing:.04em}.dr-field{margin-bottom:12px}.dr-field>label{display:block;font-size:11px;color:var(--text-dim);letter-spacing:.06em;margin-bottom:5px}.dr-vec{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dr-num,.dr-text{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 8px;font-size:12px;font-family:var(--font-mono);transition:border-color .15s ease,box-shadow .15s ease}.dr-text{font-family:inherit}.dr-num:focus,.dr-text:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.dr-num::-webkit-outer-spin-button,.dr-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dr-color-row{display:flex;align-items:center;gap:10px}.dr-color-row input[type=color]{width:40px;height:28px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);cursor:pointer}.dr-color-row .mono{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.dr-spin.on{color:var(--accent);border-color:var(--accent)}.dr-ins-note{font-size:11px;line-height:1.8;color:var(--text-faint);border:1px dashed var(--border-soft);border-radius:var(--radius);padding:8px 10px;margin-top:4px}.dr-toast{position:fixed;top:16px;right:16px;z-index:90;padding:10px 16px;border-radius:var(--radius);font-size:13px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-lift);animation:dr-toast-in .22s cubic-bezier(.22,1,.36,1)}.dr-toast.ok{border-color:color-mix(in srgb,var(--ok) 55%,transparent);color:var(--ok)}.dr-toast.err{border-color:color-mix(in srgb,var(--danger) 55%,transparent);color:var(--danger)}@keyframes dr-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:1100px){.dr-left{width:208px}.dr-right{width:232px}.dr-cam-hint{display:none}}.genre-hint{font-family:inherit;font-size:10px;letter-spacing:.04em;color:var(--accent);text-transform:none;margin-left:6px;opacity:.85}.brief-field{padding:12px 0 2px;border-top:1px solid var(--border-soft)}.brief-field:first-of-type{border-top:0;padding-top:0}.brief-field label{margin:0 0 7px}.brief-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.genre-hint{font-family:inherit;font-size:10px;letter-spacing:.04em;color:var(--accent);text-transform:none;opacity:.85;white-space:nowrap}.brief-row.brief-field{border-top:1px solid var(--border-soft)}.brief-row.brief-field label{margin-bottom:6px}.brief-hint{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;color:var(--text-faint);line-height:1.7;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-soft)}.brief-hint:before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--ok);margin-top:5px}.brief-hint b{color:var(--accent);font-weight:500}@media(prefers-reduced-motion:no-preference){.brief-hint:before{animation:pulse 2.2s ease-in-out infinite}}.genre-control{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:3px;border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 96%,var(--accent) 4%),var(--bg));transition:border-color .2s ease,box-shadow .2s ease}.genre-control:focus-within{border-color:color-mix(in srgb,var(--accent) 65%,var(--border));box-shadow:0 0 0 3px var(--accent-dim)}.genre-control>input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);padding:8px 10px}.genre-picker{position:relative}.genre-picker>summary{height:100%;min-height:34px;display:inline-flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;padding:0 12px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border));border-radius:var(--radius);background:linear-gradient(135deg,var(--accent-dim),color-mix(in srgb,var(--panel) 88%,var(--accent) 12%));color:var(--accent);font-size:11px;font-weight:650;white-space:nowrap;box-shadow:inset 0 1px color-mix(in srgb,white 52%,transparent);transition:border-color .2s ease,background .2s ease,transform .2s ease}.genre-picker>summary::-webkit-details-marker{display:none}.genre-picker>summary:after{content:"⌄";margin-left:7px;font-size:13px;transition:transform .2s ease}.genre-picker[open]>summary:after{transform:rotate(180deg)}.genre-picker[open]>summary,.genre-picker>summary:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent-dim) 82%,var(--panel));transform:translateY(-1px)}.genre-picker.disabled{pointer-events:none;opacity:.55}.genre-menu{position:absolute;z-index:40;top:calc(100% + 9px);right:0;width:252px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:var(--radius-lg);background:radial-gradient(circle at 92% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 42%),color-mix(in srgb,var(--panel) 97%,white 3%);box-shadow:var(--shadow-lg);transform-origin:top right;animation:genre-menu-in .18s ease-out}.genre-menu-head{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:1px 2px 4px}.genre-menu-head strong{color:var(--text);font-size:12px;letter-spacing:.04em}.genre-menu-head span{color:var(--text-faint);font-size:10px}.genre-menu button{position:relative;border:1px solid var(--border-soft);border-radius:var(--radius);background:color-mix(in srgb,var(--bg) 92%,var(--panel));color:var(--text-dim);padding:8px 24px 8px 10px;font-size:12px;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.genre-menu button:hover,.genre-menu button.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--accent-dim);color:var(--accent);transform:translateY(-1px)}.genre-menu button.active:after{content:"✓";position:absolute;right:9px;color:var(--accent);font-weight:700}@keyframes genre-menu-in{0%{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cv-edge{stroke-dasharray:7 7;animation:cv-edge-flow 1.6s linear infinite;transition:stroke-width .15s ease,opacity .15s ease}.cv-edge:hover{stroke-width:2.5;opacity:1;filter:drop-shadow(0 0 4px currentColor)}@keyframes cv-edge-flow{to{stroke-dashoffset:-14}}.cv-edge.draft{stroke:var(--accent);stroke-width:2;stroke-dasharray:6 5;animation:cv-edge-flow .7s linear infinite;filter:drop-shadow(0 0 5px var(--accent-glow))}@media(prefers-reduced-motion:reduce){.cv-edge,.cv-edge.draft{animation:none}}.cv-node{animation:cv-node-pop .38s cubic-bezier(.34,1.4,.64,1) backwards}@keyframes cv-node-pop{0%{transform:translateY(10px) scale(.92);opacity:0}to{transform:none;opacity:1}}.cv-node.running{border-color:transparent;box-shadow:var(--shadow-lift),0 0 26px var(--accent-dim)}.cv-node.running:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--ang),transparent 0%,var(--accent) 12%,var(--accent-2) 20%,transparent 34%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;animation:cv-border-spin 3s linear infinite;z-index:2}@keyframes cv-border-spin{to{--ang: 360deg}}.cv-node.running .cv-img-ph{background:linear-gradient(100deg,var(--accent-dim) 20%,transparent 45%,var(--accent-dim) 80%);background-size:220% 100%;animation:cv-shimmer 1.4s linear infinite;color:var(--accent);letter-spacing:.2em}@keyframes cv-shimmer{0%{background-position:130% 0}to{background-position:-90% 0}}.cv-img{animation:cv-img-in .55s ease backwards}@keyframes cv-img-in{0%{opacity:0;filter:brightness(1.8) saturate(1.4)}to{opacity:1;filter:brightness(1)}}.cv-port{transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.cv-stage.linking .cv-port.in{background:var(--accent);box-shadow:0 0 0 0 var(--accent-glow);animation:cv-port-pulse 1.1s ease-in-out infinite}@keyframes cv-port-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 7px transparent}}.cv-edge-x{transition:transform .15s ease,opacity .15s ease}.cv-edge-x:hover{transform:scale(1.3);filter:drop-shadow(0 0 5px var(--danger))}.cv-palette button{transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease}.cv-palette button:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--cv-c, var(--accent)) 55%,var(--border));box-shadow:0 6px 18px color-mix(in srgb,var(--cv-c, var(--accent)) 22%,transparent)}.cv-stage-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(320px 320px at var(--gx, 70%) var(--gy, 30%),var(--accent-dim),transparent 66%);opacity:0;transition:opacity .45s ease;z-index:0}.cv-stage:hover .cv-stage-glow{opacity:1}.cv-stage>*:not(.cv-stage-glow){position:relative;z-index:1}@media(prefers-reduced-motion:reduce){.cv-node{animation:none}.cv-node.running:after{animation:none;opacity:.6}.cv-node.running .cv-img-ph,.cv-img{animation:none}.cv-stage.linking .cv-port.in{animation:none;box-shadow:0 0 8px var(--accent-glow)}}.cv-empty{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:2;pointer-events:none}.cv-empty-frame{display:flex;flex-direction:column;align-items:center;padding:28px 42px 24px;border:1px dashed var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--panel) 74%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-sm);color:var(--text-dim);text-align:center}.cv-empty-icon{color:var(--text-faint);margin-bottom:12px}.cv-empty-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;color:var(--accent);margin-bottom:8px}.cv-empty-title{font-size:16px;font-weight:650;letter-spacing:.02em;color:var(--text);margin-bottom:10px}.cv-empty-sub{font-size:12.5px;line-height:1.8;white-space:nowrap}.cv-empty-sep{color:var(--text-faint);margin:0 10px}.cv-node{background:linear-gradient(152deg,color-mix(in srgb,var(--panel) 84%,transparent),color-mix(in srgb,var(--panel) 58%,transparent));backdrop-filter:blur(14px) saturate(1.35);-webkit-backdrop-filter:blur(14px) saturate(1.35);border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-top:2px solid color-mix(in srgb,var(--cv-c) 75%,transparent);border-radius:16px;box-shadow:var(--shadow-sm),0 0 26px color-mix(in srgb,var(--cv-c) 7%,transparent);transition:box-shadow .25s ease,border-color .25s ease}.cv-node:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(130% 62% at 10% -12%,color-mix(in srgb,var(--cv-c) 13%,transparent),transparent 58%),linear-gradient(118deg,#ffffff4d,#fff0 36%);pointer-events:none;z-index:0}:root[data-theme=dark] .cv-node:before{background:radial-gradient(130% 62% at 10% -12%,color-mix(in srgb,var(--cv-c) 20%,transparent),transparent 58%),linear-gradient(118deg,#ffffff1a,#fff0 36%)}.cv-node>*:not(.cv-port){position:relative;z-index:1}.cv-node:hover{box-shadow:var(--shadow-lift),0 0 32px color-mix(in srgb,var(--cv-c) 26%,transparent);border-color:color-mix(in srgb,var(--cv-c) 55%,var(--border))}.cv-badge{background:color-mix(in srgb,var(--cv-c) 14%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid color-mix(in srgb,var(--cv-c) 30%,transparent);box-shadow:inset 0 1px #ffffff40}.cv-title{background:transparent;border-color:transparent;font-weight:650}.cv-title:hover,.cv-title:focus{background:color-mix(in srgb,var(--bg) 45%,transparent)}.cv-prompt,.cv-params select,.cv-model{background:color-mix(in srgb,var(--bg) 52%,transparent)!important;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:9px}.cv-prompt:focus,.cv-params select:focus{border-color:color-mix(in srgb,var(--cv-c) 60%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--cv-c) 14%,transparent)}.cv-img-ph{background:color-mix(in srgb,var(--bg) 42%,transparent);border:1px dashed color-mix(in srgb,var(--border) 85%,transparent);border-radius:10px;box-shadow:inset 0 2px 10px #0000000a}.cv-img{border-radius:10px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 60%,transparent)}.cv-port{top:13px;width:16px;height:16px;background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:2px solid color-mix(in srgb,var(--cv-c, var(--accent)) 70%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--cv-c, var(--accent)) 10%,transparent),0 1px 5px #00000024}.cv-port:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:inherit}.cv-port:after{content:"";position:absolute;top:4.5px;right:4.5px;bottom:4.5px;left:4.5px;border-radius:inherit;background:var(--cv-c, var(--accent));opacity:.5;transition:inset .15s ease,opacity .15s ease}.cv-port.in{left:-9px}.cv-port.out{right:-9px}.cv-port:hover{transform:scale(1.3);border-color:var(--cv-c, var(--accent));background:color-mix(in srgb,var(--cv-c, var(--accent)) 22%,var(--panel));box-shadow:0 0 0 4px color-mix(in srgb,var(--cv-c, var(--accent)) 18%,transparent),0 0 16px color-mix(in srgb,var(--cv-c, var(--accent)) 60%,transparent)}.cv-port:hover:after{top:3px;right:3px;bottom:3px;left:3px;opacity:1}.cv-stage.linking .cv-port.in{background:color-mix(in srgb,var(--accent) 26%,var(--panel));border-color:var(--accent);animation:cv-port-pulse 1.1s ease-in-out infinite}.cv-stage.linking .cv-port.in:after{opacity:1}
