.page-nav[data-v-b681e362]{position:relative;z-index:80;width:100%;flex:0 0 auto;margin:0;background:linear-gradient(135deg,#fffffff0,#fafcfddb);border-bottom:1px solid var(--glass-border);box-shadow:0 1px 12px #26324612;-webkit-backdrop-filter:blur(24px) saturate(112%);backdrop-filter:blur(24px) saturate(112%)}.page-nav-inner[data-v-b681e362]{--glass-x: 50%;--glass-y: 0%;position:relative;isolation:isolate;width:min(var(--content-standard-max, 1180px),calc(100% - 48px));min-height:68px;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:14px;overflow:hidden;margin:0 auto;padding:10px 0}.page-nav-inner[data-v-b681e362]:before{position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;content:"";pointer-events:none;background:radial-gradient(240px circle at var(--glass-x) var(--glass-y),rgb(255 255 255 / 84%),rgb(126 227 145 / 12%) 38%,transparent 72%);opacity:.72;transition:opacity var(--dur-fast) var(--ease)}.page-nav-inner[data-v-b681e362]:after{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background:linear-gradient(105deg,transparent 6%,rgb(255 255 255 / 44%) 22%,transparent 42%);mix-blend-mode:screen;opacity:.32}.page-brand[data-v-b681e362]{position:relative;z-index:3;display:flex;align-items:center;gap:10px;color:var(--fg);font-family:var(--font-serif);font-size:18px;font-weight:700;letter-spacing:var(--tracking-tight);white-space:nowrap}.page-brand[data-v-b681e362]:before{width:32px;height:32px;content:"";background:linear-gradient(135deg,#8ed8e8,#7ee391);border:1px solid rgb(255 255 255 / 72%);border-radius:10px;box-shadow:0 6px 14px #3eb58938,inset 0 1px 1px #ffffff9e}.page-nav-links[data-v-b681e362],.page-nav-actions[data-v-b681e362]{display:flex;align-items:center;gap:3px}.page-nav-actions[data-v-b681e362]{justify-content:flex-end;gap:7px}.page-nav-links[data-v-b681e362],.page-nav-actions[data-v-b681e362]{position:relative;z-index:3}.page-nav-link[data-v-b681e362],.page-nav-action[data-v-b681e362]{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;color:var(--fg-muted);border:1px solid transparent;border-radius:9px;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.page-nav-points[data-v-b681e362]{min-height:36px;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;color:var(--fg-secondary);background:#f3f6f8db;border:1px solid var(--border);border-radius:var(--radius-full);white-space:nowrap}.page-nav-points span[data-v-b681e362],.page-nav-points small[data-v-b681e362]{color:var(--fg-faint);font-size:9px}.page-nav-points strong[data-v-b681e362]{max-width:90px;overflow:hidden;font-family:var(--font-mono);font-size:11px;text-overflow:ellipsis}.page-nav-points.exhausted[data-v-b681e362],.page-nav-points.configuration_missing[data-v-b681e362],.page-nav-points.service_unavailable[data-v-b681e362]{color:var(--error);background:var(--error-subtle);border-color:color-mix(in srgb,var(--error) 24%,var(--border))}.page-nav-points[data-v-b681e362]:hover:not(:disabled){border-color:var(--border-focus);transform:translateY(-1px)}.page-nav-points[data-v-b681e362]:disabled{cursor:wait;opacity:.65}.page-nav-link[data-v-b681e362]:hover,.page-nav-action[data-v-b681e362]:hover{color:var(--fg);background:#f3f6f8}.page-nav-link.is-active[data-v-b681e362],.page-nav-action.is-active[data-v-b681e362]{color:#16784b;background:linear-gradient(135deg,#eaf9ef,#ffffff8a);border-color:#b8edc9;box-shadow:inset 0 1px #ffffffdb,0 2px 6px #22c55e1f}.page-nav-user[data-v-b681e362]{position:relative;min-width:0;display:inline-flex;align-items:center;gap:8px;padding:3px 4px 3px 3px;color:var(--fg-secondary);background:#f3f6f8db;border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:inset 0 1px #ffffffd1}.page-nav-identity[data-v-b681e362]{min-width:44px;min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 2px;color:inherit;background:transparent;border:0;border-radius:var(--radius-full);font:inherit;cursor:pointer;touch-action:manipulation}.page-nav-identity:hover .page-nav-user-name[data-v-b681e362]{color:var(--fg)}.page-nav-avatar[data-v-b681e362]{width:28px;height:28px;flex:0 0 auto;border-radius:50%;object-fit:cover}.page-nav-avatar-fallback[data-v-b681e362]{display:inline-flex;align-items:center;justify-content:center;color:var(--brand-foreground);background:linear-gradient(135deg,var(--brand-400),var(--brand-600));font-size:12px;font-weight:800}.page-nav-user-name[data-v-b681e362]{max-width:112px;overflow:hidden;font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.page-nav-logout[data-v-b681e362]{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;color:var(--fg-muted);border-radius:var(--radius-full);touch-action:manipulation;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.page-nav-logout[data-v-b681e362]:hover{color:var(--danger);background:var(--error-subtle);transform:translate(-1px)}.page-nav-nickname-editor[data-v-b681e362]{position:fixed;z-index:100;inset:auto;box-sizing:border-box;display:grid;gap:11px;max-width:calc(100vw - 24px);margin:0;padding:15px;color:var(--fg);background:#fffffffa;border:1px solid var(--glass-border);border-radius:14px;box-shadow:0 18px 44px #2632462e}.page-nav-nickname-editor[data-v-b681e362]:not(:popover-open){display:none}.page-nav-nickname-editor[data-v-b681e362]::backdrop{background:transparent}.page-nav-nickname-editor label[data-v-b681e362]{font-size:13px;font-weight:800}.page-nav-nickname-editor input[data-v-b681e362]{box-sizing:border-box;width:100%;min-height:44px;padding:0 11px;color:var(--fg);background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:10px;font:inherit;font-size:16px}.page-nav-nickname-editor input[data-v-b681e362]:focus{border-color:var(--border-focus);outline:2px solid color-mix(in srgb,var(--ring) 30%,transparent);outline-offset:1px}.page-nav-nickname-meta[data-v-b681e362]{min-height:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;color:var(--fg-secondary);font-size:12px;line-height:1.45}.page-nav-nickname-meta span[data-v-b681e362]{min-width:0}.page-nav-nickname-meta .is-error[data-v-b681e362]{color:color-mix(in srgb,var(--danger) 72%,var(--fg));font-weight:700}.page-nav-nickname-meta small[data-v-b681e362]{flex:0 0 auto;font-family:var(--font-mono)}.page-nav-nickname-actions[data-v-b681e362]{display:flex;justify-content:flex-end;gap:8px}.page-nav-nickname-actions button[data-v-b681e362]{min-height:44px;padding:0 13px;color:var(--fg-secondary);background:var(--bg-panel);border:1px solid var(--border);border-radius:9px;font-size:12px;font-weight:700;cursor:pointer;touch-action:manipulation}.page-nav-nickname-actions button.is-primary[data-v-b681e362]{color:var(--fg);background:var(--brand-600);border-color:transparent}.page-nav-nickname-actions button[data-v-b681e362]:disabled,.page-nav-nickname-editor input[data-v-b681e362]:disabled{cursor:wait;opacity:.6}.page-nav-link[data-v-b681e362]:focus-visible,.page-nav-action[data-v-b681e362]:focus-visible,.page-nav-points[data-v-b681e362]:focus-visible,.page-nav-identity[data-v-b681e362]:focus-visible,.page-nav-logout[data-v-b681e362]:focus-visible,.page-nav-nickname-actions button[data-v-b681e362]:focus-visible,.page-skip-link[data-v-b681e362]:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.page-skip-link[data-v-b681e362]{position:fixed;z-index:90;top:14px;left:14px;padding:10px 14px;color:var(--analysis-action-foreground);background:var(--analysis-action);border-radius:10px;transform:translateY(-180%);transition:transform var(--dur-fast) var(--ease)}.page-skip-link[data-v-b681e362]:focus{transform:translateY(0)}@media (min-width: 1920px){.page-nav-inner[data-v-b681e362]{width:min(var(--content-standard-max),calc(100% - var(--desktop-gutter) - var(--desktop-gutter)))}}@media (max-width: 1100px){.page-nav-inner[data-v-b681e362]{grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr)}.page-nav-user-name[data-v-b681e362]{display:none}}@media (max-width: 840px){.page-nav-inner[data-v-b681e362]{width:calc(100% - 28px);grid-template-columns:1fr;gap:8px;padding:10px 0}.page-nav-links[data-v-b681e362],.page-nav-actions[data-v-b681e362]{justify-content:flex-start;flex-wrap:wrap}}@media (max-width: 520px){.page-nav-link[data-v-b681e362],.page-nav-action[data-v-b681e362]{flex:1 0 auto}}@media (prefers-reduced-motion: reduce){.page-nav-inner[data-v-b681e362]{--glass-x: 50% !important;--glass-y: 0% !important}}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.page-nav[data-v-b681e362]{background:#fffffffa}}.app-shell[data-v-dfb88b06]{width:100%;height:100dvh;min-height:0;display:flex;flex:1;flex-direction:column;overflow:hidden}.app-route-content[data-v-dfb88b06]{min-height:0;display:flex;flex:1;overflow:hidden}:root{--brand-50: #edf4ff;--brand-100: #d9e8ff;--brand-200: #bfd8ff;--brand-300: #9bc1ff;--brand-400: #76a8ff;--brand-500: #5690f2;--brand-600: #2f6fed;--brand-700: #2454bb;--brand-800: #1b3f8f;--brand-900: #142e69;--amber-300: #9bc1ff;--amber-400: #76a8ff;--amber-500: #2f6fed;--teal-400: #a6f5e9;--teal-500: #73e5d2;--background-50: #f5f7fb;--background-100: #edf1f7;--background-200: #dce3ec;--background-300: #c4ceda;--background-400: #9daaba;--background-500: #7b8798;--background-600: #5d6b7e;--background-700: #394657;--background-800: #1a2029;--background-850: #12161d;--background-900: #0d1117;--background-950: #090b0e;--text-50: #eef4ff;--text-100: #dce6f2;--text-200: #cbd7e7;--text-300: #aab8ca;--text-400: #8b99aa;--text-500: #637083;--text-600: #4b586a;--text-700: #334055;--text-800: #222d3e;--text-900: #182233;--success: #73e5d2;--success-dark: #a6f5e9;--error: #ff7a59;--error-dark: #ffab94;--warning: #ff7a59;--bg: #090B0E;--bg-elevated: #0d1117;--bg-panel: #12161D;--bg-inset: #1A2029;--bg-hover: rgba(238, 244, 255, .055);--bg-active: rgba(238, 244, 255, .085);--fg: #EEF4FF;--fg-secondary: #cbd7e7;--fg-muted: #8b99aa;--fg-faint: #637083;--border: rgba(139, 153, 170, .18);--border-strong: rgba(139, 153, 170, .3);--border-focus: #76a8ff;--primary: #76A8FF;--primary-hover: #9bc1ff;--primary-foreground: #09111d;--brand-foreground: #eef4ff;--success-foreground: #062922;--accent-parse: #76a8ff;--accent-mint: #73E5D2;--accent-parse-subtle: rgba(118, 168, 255, .14);--accent-parse-muted: rgba(118, 168, 255, .09);--accent-parse-border: rgba(118, 168, 255, .3);--accent-mint-subtle: rgba(115, 229, 210, .13);--error-subtle: rgba(255, 122, 89, .13);--primary-subtle: rgba(118, 168, 255, .11);--primary-selection: rgba(118, 168, 255, .34);--control-highlight: rgba(238, 244, 255, .24);--control-spinner-track: rgba(9, 17, 29, .34);--resizer-handle: #cbd7e7;--resizer-shadow: 0 1px 5px rgba(0, 0, 0, .4);--resizer-shadow-strong: 0 2px 8px rgba(0, 0, 0, .56);--login-shadow: 0 10px 40px rgba(0, 0, 0, .42);--ring: #76a8ff;--font-sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--font-serif: "Noto Serif SC", "Songti SC", serif;--tracking-tight: -.02em;--tracking-normal: 0em;--tracking-wide: .04em;--radius-xs: .4rem;--radius-sm: .7rem;--radius: 1rem;--radius-lg: 1.4rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-sm: 0 2px 6px -2px rgba(0, 0, 0, .52);--shadow-md: 0 8px 24px -8px rgba(0, 0, 0, .62), 0 2px 6px -2px rgba(0, 0, 0, .42);--shadow-lg: 0 16px 48px -12px rgba(0, 0, 0, .72);--shadow-glow-parse: 0 0 0 1px rgba(118, 168, 255, .36), 0 8px 32px -8px rgba(118, 168, 255, .36);--space: .25rem;--sidebar-w: 260px;--output-w: 420px;--toolbar-h: 56px;--statusbar-h: 30px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .14s;--dur: .24s;--dur-slow: .42s}.light{--brand-400: #4f82ef;--brand-500: #2f6fed;--brand-600: #245bd1;--brand-700: #1e49a5;--brand-800: #173777;--amber-400: #4f82ef;--amber-500: #2f6fed;--teal-400: #26b9a6;--teal-500: #008a78;--bg: #F5F7FB;--bg-elevated: #f8fafd;--bg-panel: #FFFFFF;--bg-inset: #EDF1F7;--bg-hover: rgba(24, 34, 51, .04);--bg-active: rgba(24, 34, 51, .07);--fg: #182233;--fg-secondary: #42526a;--fg-muted: #5d6b7e;--fg-faint: #7b8798;--border: rgba(24, 34, 51, .14);--border-strong: rgba(24, 34, 51, .24);--border-focus: #2f6fed;--primary: #2F6FED;--primary-hover: #1859d3;--primary-foreground: #ffffff;--success-foreground: #ffffff;--accent-parse: #2f6fed;--accent-mint: #008A78;--success: #008a78;--error: #c94d35;--warning: #c94d35;--accent-parse-subtle: rgba(47, 111, 237, .12);--accent-parse-muted: rgba(47, 111, 237, .08);--accent-parse-border: rgba(47, 111, 237, .28);--accent-mint-subtle: rgba(0, 138, 120, .11);--error-subtle: rgba(201, 77, 53, .1);--primary-subtle: rgba(47, 111, 237, .1);--primary-selection: rgba(47, 111, 237, .24);--control-highlight: rgba(255, 255, 255, .4);--control-spinner-track: rgba(255, 255, 255, .48);--resizer-handle: #5d6b7e;--resizer-shadow: 0 1px 5px rgba(24, 34, 51, .18);--resizer-shadow-strong: 0 2px 8px rgba(24, 34, 51, .28);--login-shadow: 0 10px 40px rgba(24, 34, 51, .16);--shadow-xs: 0 1px 2px 0 rgba(24, 34, 51, .06);--shadow-sm: 0 2px 6px -2px rgba(24, 34, 51, .1);--shadow-md: 0 8px 24px -8px rgba(24, 34, 51, .12), 0 2px 6px -2px rgba(24, 34, 51, .08);--shadow-lg: 0 16px 48px -12px rgba(24, 34, 51, .18);--shadow-glow-parse: 0 0 0 1px rgba(47, 111, 237, .3), 0 8px 32px -8px rgba(47, 111, 237, .24)}:root{--brand-50: #eef2ff;--brand-100: #e0e7ff;--brand-200: #c7d2fe;--brand-300: #a5b4fc;--brand-400: #818cf8;--brand-500: #6366f1;--brand-600: #4f46e5;--brand-700: #4338ca;--brand-800: #3730a3;--brand-900: #312e81;--amber-300: #c7d2fe;--amber-400: #a5b4fc;--amber-500: #6366f1;--teal-400: #6ee7d2;--teal-500: #2dd4bf;--bg: #080b18;--bg-elevated: rgba(16, 24, 48, .82);--bg-panel: rgba(21, 31, 59, .86);--bg-inset: rgba(31, 45, 80, .88);--bg-hover: rgba(218, 226, 255, .075);--bg-active: rgba(218, 226, 255, .12);--fg: #f4f7ff;--fg-secondary: #c7d2ea;--fg-muted: #98a7c5;--fg-faint: #71809e;--border: rgba(151, 170, 231, .18);--border-strong: rgba(151, 170, 231, .34);--border-focus: #7dd3fc;--primary: #8b7bff;--primary-hover: #a99dff;--primary-foreground: #09051b;--brand-foreground: #f5f3ff;--success: #55d7b3;--success-dark: #8cf0d4;--success-foreground: #06251e;--error: #ff7f9e;--error-dark: #ffadc0;--warning: #f7c867;--accent-parse: #7dd3fc;--accent-mint: #55d7b3;--accent: var(--accent-parse);--accent-parse-subtle: rgba(125, 211, 252, .13);--accent-parse-muted: rgba(125, 211, 252, .075);--accent-parse-border: rgba(125, 211, 252, .34);--accent-mint-subtle: rgba(85, 215, 179, .13);--error-subtle: rgba(255, 127, 158, .13);--primary-subtle: rgba(139, 123, 255, .16);--primary-selection: rgba(139, 123, 255, .36);--control-highlight: rgba(229, 235, 255, .16);--control-spinner-track: rgba(9, 5, 27, .35);--resizer-handle: #b6c7ee;--resizer-shadow: 0 1px 5px rgba(2, 5, 20, .52);--resizer-shadow-strong: 0 2px 10px rgba(2, 5, 20, .68);--login-shadow: 0 24px 72px rgba(1, 3, 16, .58);--ring: #7dd3fc;--page-grid-line: rgba(125, 211, 252, .024);--body-texture-opacity: 0;--app-ambient: radial-gradient(circle at 12% -8%, rgba(99, 102, 241, .24), transparent 32%), radial-gradient(circle at 100% 100%, rgba(45, 212, 191, .14), transparent 34%);--glass: rgba(21, 31, 59, .76);--glass-strong: rgba(16, 24, 48, .9);--glass-soft: rgba(31, 45, 80, .64);--glass-border: rgba(151, 170, 231, .2);--glass-highlight: rgba(229, 235, 255, .14);--glass-shadow: 0 24px 64px rgba(2, 5, 20, .38), 0 5px 16px rgba(2, 5, 20, .22);--warm: #8b7bff;--danger: #ff7f9e;--font-sans: "DM Sans", "Microsoft YaHei UI", "PingFang SC", ui-sans-serif, system-ui, sans-serif;--font-mono: "Cascadia Mono", "JetBrains Mono", ui-monospace, "SF Mono", monospace;--font-serif: "Noto Serif SC", "Songti SC", Georgia, serif;--tracking-tight: -.025em;--tracking-wide: .075em;--radius-xs: .28rem;--radius-sm: .5rem;--radius: .78rem;--radius-lg: 1.05rem;--shadow-xs: 0 1px 2px rgba(2, 5, 20, .38);--shadow-sm: 0 5px 16px rgba(2, 5, 20, .34);--shadow-md: 0 18px 44px rgba(2, 5, 20, .42), 0 3px 10px rgba(2, 5, 20, .24);--shadow-lg: 0 32px 82px rgba(2, 5, 20, .56);--shadow-glow-parse: 0 0 0 1px rgba(125, 211, 252, .3), 0 12px 30px rgba(125, 211, 252, .18);--sidebar-w: 272px;--output-w: 440px;--toolbar-h: 64px;--statusbar-h: 32px;--dur-fast: .16s;--dur: .24s;--dur-slow: .42s;--ease-in-out: cubic-bezier(.45, 0, .2, 1);--analysis-canvas: #f7f8fa;--analysis-panel: #ffffff;--analysis-border: #dfe5eb;--analysis-text: #263246;--analysis-muted: #71809a;--analysis-action: #22c55e;--analysis-action-foreground: #ffffff}.light{color-scheme:light;--brand-400: #84d8e6;--brand-500: #64c8d9;--brand-600: #36adbe;--brand-700: #1d8d9f;--brand-800: #176f80;--amber-400: #4ade80;--amber-500: #22c55e;--teal-400: #72d9b7;--teal-500: #159d78;--bg: #f5f7fa;--bg-elevated: #ffffff;--bg-panel: #ffffff;--bg-inset: #f1f4f7;--bg-hover: rgba(38, 50, 70, .045);--bg-active: rgba(38, 50, 70, .075);--fg: #263246;--fg-secondary: #4f5e73;--fg-muted: #71809a;--fg-faint: #98a4b5;--border: rgba(89, 105, 126, .16);--border-strong: rgba(89, 105, 126, .25);--border-focus: #22c55e;--primary: #22c55e;--primary-hover: #16a34a;--primary-foreground: #ffffff;--brand-foreground: #ffffff;--success: #159d78;--success-dark: #159d78;--success-foreground: #ffffff;--error: #d24b3d;--error-dark: #d24b3d;--warning: #bb7a11;--accent-parse: #2563eb;--accent-mint: #159d78;--accent: var(--accent-parse);--accent-parse-subtle: rgba(37, 99, 235, .1);--accent-parse-muted: rgba(37, 99, 235, .065);--accent-parse-border: rgba(37, 99, 235, .26);--accent-mint-subtle: rgba(21, 157, 120, .1);--error-subtle: rgba(210, 75, 61, .1);--primary-subtle: rgba(34, 197, 94, .1);--primary-selection: rgba(34, 197, 94, .22);--control-highlight: rgba(255, 255, 255, .56);--control-spinner-track: rgba(255, 250, 242, .55);--resizer-handle: #71809a;--resizer-shadow: 0 1px 5px rgba(38, 50, 70, .16);--resizer-shadow-strong: 0 2px 8px rgba(38, 50, 70, .25);--login-shadow: 0 22px 65px rgba(38, 50, 70, .14);--ring: #159d78;--shadow-xs: 0 1px 2px rgba(38, 50, 70, .07);--shadow-sm: 0 3px 10px rgba(38, 50, 70, .1);--shadow-md: 0 12px 32px rgba(38, 50, 70, .12), 0 2px 7px rgba(38, 50, 70, .07);--shadow-lg: 0 24px 64px rgba(38, 50, 70, .16);--shadow-glow-parse: 0 0 0 1px rgba(37, 99, 235, .24), 0 10px 26px rgba(37, 99, 235, .14);--page-grid-line: rgba(113, 128, 154, .026);--body-texture-opacity: 0;--app-ambient: none;--glass: rgba(255, 255, 255, .84);--glass-strong: rgba(255, 255, 255, .94);--glass-soft: rgba(255, 255, 255, .7);--glass-border: rgba(89, 105, 126, .15);--glass-highlight: rgba(255, 255, 255, .88);--glass-shadow: 0 24px 68px rgba(38, 50, 70, .15), 0 5px 16px rgba(38, 50, 70, .08);--warm: #22c55e;--danger: #d24b3d}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;width:100%}body{font-family:var(--font-sans);background-color:var(--bg);background-image:var(--app-ambient),linear-gradient(90deg,transparent 0,transparent 47px,var(--page-grid-line) 48px,transparent 49px),linear-gradient(var(--page-grid-line) 1px,transparent 1px);background-position:center,center,-1px -1px,-1px -1px;background-repeat:no-repeat,no-repeat,repeat,repeat;background-size:auto,auto,48px 48px,48px 48px;color:var(--fg);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow:hidden;letter-spacing:var(--tracking-normal)}#app{display:flex;flex-direction:column}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:var(--body-texture-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' /%3E%3C/svg%3E");mix-blend-mode:overlay}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--fg-muted);background-clip:padding-box}::selection{background:var(--primary-selection);color:var(--fg)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}button,input,textarea{touch-action:manipulation}button:focus-visible,input:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=separator]:focus-visible{outline:2px solid var(--ring);outline-offset:2px}button:disabled{cursor:not-allowed}button:active:not(:disabled){transform:scale(.985)}textarea,input{font-family:inherit}.mono{font-family:var(--font-mono)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes button-sheen{0%,68%,to{filter:brightness(1)}84%{filter:brightness(1.08)}}@keyframes focus-pulse{0%{box-shadow:inset 0 0 0 1px var(--border-focus),0 0 0 0 var(--primary-subtle)}to{box-shadow:inset 0 0 0 1px var(--border-focus),0 0 0 3px transparent}}@keyframes glass-nav-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes page-content-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes status-breathe{0%,to{box-shadow:0 0 #159d7800;border-color:var(--border)}50%{box-shadow:0 0 24px -14px #159d784d;border-color:#159d783d}}@keyframes result-flip-up-enter{0%{opacity:0;transform:translateY(18px) rotateX(-7deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}@keyframes result-flip-up-leave{0%{opacity:1;transform:translateY(0) rotateX(0)}to{opacity:0;transform:translateY(-18px) rotateX(7deg)}}@keyframes session-shift-enter{0%{opacity:0;transform:translateY(16px) rotateX(-5deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}@keyframes session-shift-leave{0%{opacity:1;transform:translateY(0) rotateX(0)}to{opacity:0;transform:translateY(-16px) rotateX(5deg)}}.spin{animation:spin .9s linear infinite}.page-nav{animation:glass-nav-enter .3s var(--ease-out) both}:is(.entry-hero,.workbench-surface,.result-preview-shell,.art-assets-surface,.ai-chat-section,.model-shell,.admin-head,.admin-page>.panel,.login-page>.card){animation:page-content-enter .4s var(--ease-out) both}.admin-page>.panel:nth-of-type(2){animation-delay:40ms}.admin-page>.panel:nth-of-type(3){animation-delay:80ms}body #app :is(.character-modal,.candidate-picker-dialog,.regen-dialog,.compare-results-overlay,.compare-history-menu){background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 32%),var(--glass-strong);border-color:var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight);-webkit-backdrop-filter:blur(24px) saturate(110%);backdrop-filter:blur(24px) saturate(110%)}body #app :is(.analysis-progress,.character-cover.is-generating,.thread-status){animation:status-breathe 2.8s var(--ease-in-out) infinite}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){body #app :is(.character-modal,.candidate-picker-dialog,.regen-dialog,.compare-results-overlay,.compare-history-menu){background:#fffffff5}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (min-width: 1920px){:root{--desktop-gutter: clamp(32px, 3vw, 128px);--content-standard-max: 1280px;--content-expanded-max: 2200px;--content-dense-max: 2400px;--compare-overlay-max: 3200px}}
