: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-translate: #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-translate-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);--shadow-glow-translate: 0 0 0 1px rgba(115, 229, 210, .34), 0 8px 32px -8px rgba(115, 229, 210, .3);--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-translate: #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-translate-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);--shadow-glow-translate: 0 0 0 1px rgba(0, 138, 120, .28), 0 8px 32px -8px rgba(0, 138, 120, .2)}: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-translate: #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-translate-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%);--font-sans: "Noto Sans SC", "Microsoft YaHei UI", 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 4px 14px rgba(2, 5, 20, .35);--shadow-md: 0 16px 38px rgba(2, 5, 20, .42), 0 3px 10px rgba(2, 5, 20, .24);--shadow-lg: 0 28px 72px rgba(2, 5, 20, .54);--shadow-glow-parse: 0 0 0 1px rgba(125, 211, 252, .3), 0 12px 30px rgba(125, 211, 252, .18);--shadow-glow-translate: 0 0 0 1px rgba(85, 215, 179, .3), 0 12px 30px rgba(85, 215, 179, .18);--sidebar-w: 272px;--output-w: 440px;--toolbar-h: 64px;--statusbar-h: 32px;--dur-fast: .16s;--dur: .24s;--analysis-canvas: #f7f8fa;--analysis-panel: #ffffff;--analysis-border: #dfe5eb;--analysis-text: #263246;--analysis-muted: #71809a;--analysis-action: #22c55e;--analysis-action-foreground: #ffffff}.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-translate: #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-translate-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);--shadow-glow-translate: 0 0 0 1px rgba(21, 157, 120, .22), 0 10px 26px rgba(21, 157, 120, .13);--page-grid-line: rgba(113, 128, 154, .026);--body-texture-opacity: 0;--app-ambient: none}*,*: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-size: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}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 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 result-flip-down-enter{0%{opacity:0;transform:translateY(-18px) rotateX(7deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}@keyframes result-flip-down-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}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
