@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:.5rem;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%}.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:212.7 26.8% 83.9%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%}@media (prefers-color-scheme:dark){:root{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:212.7 26.8% 83.9%}}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!container{width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:2rem!important;padding-right:2rem!important}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (width>=1400px){.\!container{max-width:1400px!important}.container{max-width:1400px}}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.left-1\/2{left:50%}.top-1\/2{top:50%}.z-50{z-index:50}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.aspect-square{aspect-ratio:1}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-\[24px\]{height:24px}.w-1\/4{width:25%}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-80{width:20rem}.w-\[44px\]{width:44px}.w-full{width:100%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-2{border-width:2px}.border-\[\#4f46e5\]{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity))}.border-input{border-color:hsl(var(--input))}.border-transparent{border-color:#0000}.bg-background{background-color:hsl(var(--background))}.bg-card{background-color:hsl(var(--card))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.fill-current{fill:currentColor}.p-4{padding:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.leading-none{line-height:1}.text-\[\#4f46e5\]{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.overline{text-decoration-line:overline}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.focus\:outline-none:focus,.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:bg-\[\#4f46e5\][data-state=checked]{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}@media (width>=640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--tt-header-height:56px;--tt-brand-50:#eef2ff;--tt-brand-100:#e0e7ff;--tt-brand-200:#c7d2fe;--tt-brand-500:#6366f1;--tt-brand-600:#4f46e5;--tt-brand-700:#4338ca;--tt-brand-800:#3730a3;--tt-slate-50:#f8fafc;--tt-slate-100:#f1f5f9;--tt-slate-200:#e2e8f0;--tt-slate-300:#cbd5e1;--tt-slate-400:#94a3b8;--tt-slate-500:#64748b;--tt-slate-600:#475569;--tt-slate-700:#334155;--tt-slate-800:#1e293b;--tt-slate-900:#0f172a;--tt-bg:var(--tt-slate-50);--tt-surface:#fff;--tt-surface-muted:var(--tt-slate-50);--tt-border:var(--tt-slate-200);--tt-border-strong:var(--tt-slate-300);--tt-text:var(--tt-slate-900);--tt-text-muted:var(--tt-slate-600);--tt-text-subtle:var(--tt-slate-500);--tt-success:#16a34a;--tt-success-soft:#dcfce7;--tt-warning:#d97706;--tt-warning-soft:#fef3c7;--tt-danger:#dc2626;--tt-danger-soft:#fee2e2;--tt-radius:10px;--tt-radius-sm:6px;--tt-radius-lg:14px;--tt-shadow-sm:0 1px 2px #0f172a0a;--tt-shadow:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--tt-shadow-md:0 4px 12px #0f172a0f, 0 2px 4px #0f172a0a;--tt-shadow-lg:0 12px 30px #0f172a1a, 0 4px 8px #0f172a0a;--tt-ring:0 0 0 3px #4f46e52e;--tt-btn-bg:var(--tt-surface);--tt-btn-bg-hover:var(--tt-surface-muted);--tt-btn-border:var(--tt-border-strong);--tt-btn-text:var(--tt-text-muted)}@media (prefers-color-scheme:dark){:root{--tt-slate-50:#0f172a;--tt-slate-100:#1e293b;--tt-slate-200:#334155;--tt-slate-300:#475569;--tt-slate-400:#64748b;--tt-slate-500:#94a3b8;--tt-slate-600:#cbd5e1;--tt-slate-700:#e2e8f0;--tt-slate-800:#f1f5f9;--tt-slate-900:#f8fafc;--tt-brand-50:#818cf81f;--tt-brand-100:#818cf838;--tt-brand-200:#818cf859;--tt-brand-500:#a5b4fc;--tt-brand-600:#818cf8;--tt-brand-700:#6366f1;--tt-brand-800:#4f46e5;--tt-bg:#0b1120;--tt-surface:#111827;--tt-surface-muted:#0f172a;--tt-border:#1f2937;--tt-border-strong:#334155;--tt-text:#f1f5f9;--tt-text-muted:#cbd5e1;--tt-text-subtle:#94a3b8;--tt-success-soft:#16a34a2e;--tt-warning-soft:#d9770638;--tt-danger-soft:#dc262638;--tt-shadow-sm:0 1px 2px #0000004d;--tt-shadow:0 1px 3px #0006, 0 1px 2px #0000004d;--tt-shadow-md:0 4px 12px #00000073, 0 2px 4px #0000004d;--tt-shadow-lg:0 12px 30px #0000008c, 0 4px 8px #00000059;--tt-ring:0 0 0 3px #818cf847}.app-header{background:#111827bf!important}::-webkit-scrollbar-thumb{background:var(--tt-slate-300)}::-webkit-scrollbar-track{background:var(--tt-surface)}.code-block-section pre[class*=language-]{background-color:var(--tt-surface-muted)!important}.code-block-section pre[class*=language-] code{color:var(--tt-text)!important}}*{box-sizing:border-box}body{color:var(--tt-text);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--tt-bg);margin:0;padding:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.55}code,pre,.latex-textarea{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.app-container{background:var(--tt-bg);flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4{color:var(--tt-text);letter-spacing:-.015em;margin:0;font-weight:600}h2{color:var(--tt-text);margin-top:.3rem;margin-bottom:.6rem;font-size:1rem}a{color:var(--tt-brand-600);text-decoration:none;transition:color .15s}a:hover{color:var(--tt-brand-700)}.app-header{background:var(--tt-surface);border-bottom:1px solid var(--tt-border);z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;position:sticky;top:0}.app-header-edge-toggle{border:none;border-right:1px solid var(--tt-border);width:44px;color:var(--tt-text-muted);cursor:pointer;z-index:50;background:0 0;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:0;bottom:0;left:0}.app-header-edge-toggle:hover{background:var(--tt-slate-100);color:var(--tt-text)}.app-header-edge-toggle.is-active{background:var(--tt-brand-50);color:var(--tt-brand-700);border-right-color:var(--tt-brand-200)}.app-header-inner{justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .75rem .65rem 52px;display:flex}.app-header-left,.app-header-right{align-items:center;gap:.4rem;display:flex}.app-header-center{text-align:center;flex:auto;min-width:0}.app-header-title{color:var(--tt-text);letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:600;display:block;overflow:hidden}.app-header-title-short{display:none}.app-header-project{color:var(--tt-text-subtle);margin-left:.5rem;font-weight:500}.app-header-brand-mark{background:linear-gradient(135deg, var(--tt-brand-500), var(--tt-brand-700));color:#fff;letter-spacing:-.02em;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:inline-flex}.app-header-icon-btn{border-radius:var(--tt-radius-sm);width:32px;height:32px;color:var(--tt-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.app-header-icon-btn:hover{background:var(--tt-slate-100);color:var(--tt-text)}.app-header-icon-btn:disabled{opacity:.35;cursor:not-allowed;color:var(--tt-text-muted)!important;background:0 0!important}.app-header-text-btn{border-radius:var(--tt-radius-sm);border:1px solid var(--tt-border);color:var(--tt-text-muted);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.35rem;padding:.35rem .7rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.app-header-text-btn:hover{background:var(--tt-slate-100);color:var(--tt-text);border-color:var(--tt-border-strong)}.tt-node-btn{border:1px solid var(--tt-border);width:2rem;height:2rem;color:var(--tt-text-muted);cursor:pointer;background:0 0;border-radius:9999px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.tt-node-btn:focus-visible{box-shadow:0 0 0 2px var(--tt-brand-200);outline:none}.tt-node-btn.tt-node-btn-add:hover,.tt-node-btn.tt-node-btn-add:focus-visible{background:var(--tt-brand-50);color:var(--tt-brand-700);border-color:var(--tt-brand-200)}.tt-node-btn.tt-node-btn-delete:hover,.tt-node-btn.tt-node-btn-delete:focus-visible{background:var(--tt-danger-soft);color:var(--tt-danger);border-color:var(--tt-danger-soft)}.tt-node-btn.tt-node-btn-settings:hover,.tt-node-btn.tt-node-btn-settings:focus-visible{background:var(--tt-slate-100);color:var(--tt-text);border-color:var(--tt-border-strong)}.main-content{flex-grow:1;width:100%;max-width:1180px;margin:0 auto;padding:1.75rem 1.5rem 5rem}.content-wrapper{flex-direction:row;align-items:flex-start;gap:1.5rem;width:100%;max-width:1700px;margin:0 auto;padding:0 1rem;display:flex}.content-wrapper>.main-content{flex:auto;min-width:0;margin:0;padding-left:0;padding-right:0}@media (width<=1024px){.content-wrapper{flex-direction:column;padding:0 1rem}}.preview-pane{background:var(--tt-surface);border:1px solid var(--tt-border);border-radius:var(--tt-radius);width:460px;max-width:40vw;box-shadow:var(--tt-shadow);flex-direction:column;flex-shrink:0;align-self:flex-start;height:580px;max-height:calc(100vh - 7rem);margin-top:1.75rem;display:flex;position:sticky;top:4.5rem;overflow:hidden}.preview-header{border-bottom:1px solid var(--tt-border);background:var(--tt-surface-muted);flex-shrink:0;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.preview-title{color:var(--tt-text);letter-spacing:-.005em;align-items:center;gap:.45rem;font-size:.9rem;font-weight:600;display:inline-flex}.preview-title-dot{background:var(--tt-brand-600);border-radius:50%;width:7px;height:7px}.preview-refresh-btn{background:var(--tt-surface);border:1px solid var(--tt-border-strong);border-radius:var(--tt-radius-sm);cursor:pointer;color:var(--tt-text-muted);padding:4px 11px;font-family:inherit;font-size:.78rem;font-weight:500;transition:all .15s}.preview-refresh-btn:hover{background:var(--tt-surface-muted);color:var(--tt-text);border-color:var(--tt-text-subtle)}.preview-header-actions{align-items:center;gap:.4rem;display:flex}.preview-download-btn{background:var(--tt-brand-600);border:1px solid var(--tt-brand-600);border-radius:var(--tt-radius-sm);cursor:pointer;color:#fff;align-items:center;gap:.35rem;padding:4px 11px;font-family:inherit;font-size:.78rem;font-weight:500;transition:all .15s;display:inline-flex}.preview-download-btn:hover{background:var(--tt-brand-700);border-color:var(--tt-brand-700)}.preview-download-group{align-items:center;gap:.35rem;display:inline-flex}.preview-body{flex:auto;min-height:0;padding:0;display:flex;overflow:hidden}.tree-preview-canvas-host{background:var(--tt-surface);flex:auto;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.tree-preview-canvas-host .pdf-canvas-wrapper{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.tree-preview-canvas-host .pdf-canvas{max-width:100%;max-height:100%;display:block}@media (width<=1024px){.preview-pane{width:100%;max-width:100%;height:460px;margin:0 auto 1.5rem;position:static}}.tree-builder,.latex-output,.pdf-preview{margin-bottom:1.5rem}.section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--tt-text-subtle);margin-bottom:.55rem;font-size:.78rem;font-weight:600}.node-content,.node,.tt-card{background:var(--tt-surface);border:1px solid var(--tt-border);border-radius:var(--tt-radius-sm);box-shadow:var(--tt-shadow-sm);color:var(--tt-text);margin-bottom:.45rem;padding:.65rem .75rem;transition:border-color .15s,box-shadow .15s}.tt-secondary-btn{background:var(--tt-surface)!important;color:var(--tt-text)!important;border:1px solid var(--tt-border-strong)!important;transition:background-color .15s,border-color .15s!important}.tt-secondary-btn:hover{background:var(--tt-surface-muted)!important;border-color:var(--tt-text-subtle)!important}.tt-children{border-left:2px solid var(--tt-brand-100);margin-top:.4rem;margin-left:1rem;padding-bottom:0;padding-left:1rem}.node-content:hover,.node:hover{border-color:var(--tt-border-strong)}.child-node{margin-left:1.5rem}.node-content{position:relative}.node-sum-warning{border-left:3px solid var(--tt-warning)!important}.node-sum-partial{border-left:3px solid var(--tt-slate-300)!important}.node-sum-badge{cursor:help;-webkit-user-select:none;user-select:none;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:600;line-height:1.2;position:absolute;top:-8px;right:10px}.node-sum-badge-warning{background:var(--tt-warning-soft);color:var(--tt-warning);border:1px solid #fcd34d}.node-sum-badge-partial{background:var(--tt-slate-100);color:var(--tt-text-muted);border:1px solid var(--tt-border-strong)}.leaf-product{color:var(--tt-text-muted);background:var(--tt-surface-muted);border-radius:var(--tt-radius-sm);cursor:help;-webkit-user-select:none;user-select:none;border:1px solid var(--tt-border);flex-shrink:0;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:.78rem}.children-container{border-left:2px solid var(--tt-brand-100);margin-top:.4rem;margin-left:1rem;padding-bottom:0;padding-left:1rem}.tt-enhanced-input{background:var(--tt-surface-muted);color:var(--tt-text);border:1px solid var(--tt-border);border-radius:var(--tt-radius-sm);padding:.45rem .65rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.88rem;transition:border-color .15s,box-shadow .15s,background-color .15s}.tt-enhanced-input::placeholder{color:var(--tt-text-subtle);opacity:.85}.tt-enhanced-input:focus{border-color:var(--tt-brand-600);box-shadow:var(--tt-ring);background:var(--tt-surface);outline:none}.input,input[type=text],input[type=number]{border:1px solid var(--tt-border-strong);border-radius:var(--tt-radius-sm);background:var(--tt-surface);color:var(--tt-text);padding:.4rem .6rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.input:focus,input[type=text]:focus,input[type=number]:focus{border-color:var(--tt-brand-600);box-shadow:var(--tt-ring);outline:none}label{color:var(--tt-text);font-size:.88rem;font-weight:500}select.select,select{border:1px solid var(--tt-border-strong);border-radius:var(--tt-radius-sm);background:var(--tt-surface);color:var(--tt-text);padding:.4rem .6rem;font-family:inherit;font-size:.92rem}select:focus{border-color:var(--tt-brand-600);box-shadow:var(--tt-ring);outline:none}.button-group{flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1rem;display:flex}@media (width<=640px){.button-group .button{width:100%;margin-bottom:.5rem}.app-header-text-btn{justify-content:center;gap:0;width:32px;height:32px;padding:0}.app-header-text-btn-label{display:none}.app-header-right{gap:.2rem}.app-header-title{font-size:.95rem}.app-header-title-full{display:none}.app-header-title-short{display:inline}.app-header-inner{gap:.4rem;padding:.55rem .6rem .55rem 56px}.app-header-edge-toggle{background:var(--tt-surface-muted);width:48px}.app-header-edge-toggle.is-active{background:var(--tt-brand-50)}.app-header-left{gap:.3rem}.node-content{padding:.55rem .6rem}.node-content>.flex.items-center{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem .5rem;display:grid!important}.node-content>.flex.items-center>*{margin-left:0!important}.node-content>.flex.items-center>.w-1\/4,.node-content>.flex.items-center>.input-with-tooltip{grid-column:1/-1;width:100%!important}.node-content>.flex.items-center>.leaf-product{text-align:left;grid-column:1;justify-self:start}.node-content>.flex.items-center>.flex.space-x-1{grid-column:2;justify-self:end}.tt-children{margin-left:.5rem;padding-left:.6rem}.child-node{margin-left:0}}.options-drawer-backdrop{top:var(--tt-header-height);z-index:40;background:#0f172a40;animation:.15s ease-out fadeIn;position:fixed;bottom:0;left:0;right:0}.options-drawer{top:var(--tt-header-height);height:calc(100vh - var(--tt-header-height));background:var(--tt-surface);border-right:1px solid var(--tt-border);width:360px;max-width:90vw;box-shadow:var(--tt-shadow-lg);z-index:45;visibility:hidden;flex-direction:column;transition:transform .22s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;left:0;transform:translate(-100%)}.options-drawer.is-open{visibility:visible;transform:translate(0)}.options-drawer-header{border-bottom:1px solid var(--tt-border);background:var(--tt-bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:.95rem 1.2rem;display:flex}.options-drawer-header h3{color:var(--tt-text);letter-spacing:-.015em;margin:0;font-size:1rem;font-weight:600}.options-drawer-header-title{align-items:center;gap:.6rem;display:inline-flex}.options-drawer-header-title svg{color:var(--tt-text-muted)}.options-drawer-close{cursor:pointer;color:var(--tt-text-subtle);border-radius:var(--tt-radius-sm);background:0 0;border:none;padding:5px;transition:all .15s}.options-drawer-close:hover{background:var(--tt-slate-100);color:var(--tt-text)}.options-drawer-body{flex:auto;padding:1.1rem 1.2rem 1.5rem;overflow-y:auto}.option-group{margin-bottom:1rem}.option-group:first-child{margin-top:0}.option-group label{margin-bottom:.35rem;display:block}.option-group-inline{border-top:1px solid var(--tt-border);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.option-group-inline label{margin-bottom:0}.app-header-icon-btn.is-active{background:var(--tt-brand-50);color:var(--tt-brand-700);border-color:var(--tt-brand-200)}.error-message{color:#b91c1c;background-color:var(--tt-danger-soft);border-radius:var(--tt-radius-sm);border:1px solid #fca5a5;margin-bottom:1rem;padding:.85rem 1rem}.input-with-tooltip{display:inline-block;position:relative}.input-with-tooltip .tooltip{visibility:hidden;background-color:var(--tt-slate-900);color:#fff;text-align:center;border-radius:var(--tt-radius-sm);z-index:1;opacity:0;width:200px;margin-left:-100px;padding:6px 8px;font-size:.78rem;transition:opacity .15s;position:absolute;bottom:125%;left:50%}.input-with-tooltip:hover .tooltip{visibility:visible;opacity:1}.code-block-section{margin-bottom:1rem}.code-block-section:last-of-type{margin-bottom:0}.code-block-header{justify-content:space-between;align-items:center;gap:.5rem;padding:0 .15rem .45rem;display:flex}.code-block-title{color:var(--tt-text);font-size:.82rem;font-weight:600}.code-block-hint{color:var(--tt-text-muted);font-size:.78rem;font-weight:400}.code-block-copy-btn{background:var(--tt-surface);border:1px solid var(--tt-border-strong);border-radius:var(--tt-radius-sm);cursor:pointer;color:var(--tt-text-muted);flex-shrink:0;padding:3px 11px;font-family:inherit;font-size:.78rem;font-weight:500;transition:all .15s}.code-block-copy-btn:hover{background:var(--tt-surface-muted);color:var(--tt-text);border-color:var(--tt-text-subtle)}.latex-textarea{border:1px solid var(--tt-border);border-radius:var(--tt-radius-sm);background:var(--tt-surface-muted);width:100%;height:300px;margin-bottom:1rem;padding:.6rem;font-size:.85rem}.pdf-iframe{border-radius:var(--tt-radius-sm);border:none;width:100%;height:500px}.projects-panel-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.projects-panel{background:var(--tt-surface);border-radius:var(--tt-radius-lg);width:100%;max-width:680px;max-height:85vh;box-shadow:var(--tt-shadow-lg);border:1px solid var(--tt-border);flex-direction:column;display:flex;overflow:hidden}.projects-panel-header{border-bottom:1px solid var(--tt-border);background:var(--tt-surface);justify-content:space-between;align-items:center;padding:1rem 1.35rem;display:flex}.projects-panel-header h3{color:var(--tt-text);letter-spacing:-.015em;margin:0;font-size:1.05rem;font-weight:600}.projects-panel-header-title{align-items:center;gap:.6rem;display:inline-flex}.projects-panel-header-title svg{color:var(--tt-text-muted)}.projects-panel-close{cursor:pointer;color:var(--tt-text-subtle);border-radius:var(--tt-radius-sm);background:0 0;border:none;padding:5px;transition:all .15s}.projects-panel-close:hover{background:var(--tt-slate-100);color:var(--tt-text)}.projects-panel-body{padding:1.25rem 1.35rem 1.35rem;overflow-y:auto}.projects-panel-section{margin-bottom:1.5rem}.projects-panel-section:last-child{margin-bottom:0}.projects-panel-section-title{text-transform:uppercase;letter-spacing:.075em;color:var(--tt-text-muted);margin-bottom:.6rem;font-size:.74rem;font-weight:600}.projects-panel-count{text-transform:none;letter-spacing:normal;font-weight:400}.projects-panel-save-row,.projects-panel-io-row{flex-wrap:wrap;gap:.5rem;display:flex}.projects-panel-save-row .projects-panel-input{flex:200px}.projects-panel-input{border:1px solid var(--tt-border-strong);border-radius:var(--tt-radius-sm);background:var(--tt-surface);color:var(--tt-text);outline:none;padding:.45rem .7rem;font-family:inherit;font-size:.92rem;transition:all .15s}.projects-panel-input:focus{border-color:var(--tt-brand-600);box-shadow:var(--tt-ring)}.projects-panel-btn{background:var(--tt-surface);border:1px solid var(--tt-border-strong);color:var(--tt-text-muted);border-radius:var(--tt-radius-sm);cursor:pointer;align-items:center;gap:.4rem;padding:.45rem .85rem;font-family:inherit;font-size:.88rem;font-weight:500;transition:all .15s;display:inline-flex}.projects-panel-btn:hover{background:var(--tt-surface-muted);color:var(--tt-text);border-color:var(--tt-text-subtle)}.projects-panel-btn-primary{background:var(--tt-brand-600);border-color:var(--tt-brand-600);color:#fff}.projects-panel-btn-primary:hover{background:var(--tt-brand-700);border-color:var(--tt-brand-700);color:#fff}.projects-panel-btn-danger-outline{border-color:var(--tt-border);color:var(--tt-text-subtle)}.projects-panel-btn-danger-outline:hover{border-color:var(--tt-danger);color:var(--tt-danger);background:var(--tt-danger-soft)}.projects-panel-error{color:#b91c1c;background:var(--tt-danger-soft);border-radius:var(--tt-radius-sm);margin-top:.5rem;padding:.45rem .65rem;font-size:.85rem}.projects-panel-empty{color:var(--tt-text-subtle);padding:.6rem 0;font-size:.88rem;font-style:italic}.projects-panel-list{border:1px solid var(--tt-border);border-radius:var(--tt-radius-sm);margin:0;padding:0;list-style:none;overflow:hidden}.projects-panel-item{border-bottom:1px solid var(--tt-border);justify-content:space-between;align-items:center;gap:.85rem;padding:.7rem .9rem;transition:background-color .1s;display:flex}.projects-panel-item:last-child{border-bottom:none}.projects-panel-item:hover{background:var(--tt-surface-muted)}.projects-panel-item.is-current{background:var(--tt-brand-50)}.projects-panel-item-info{flex:auto;min-width:0}.projects-panel-item-name{color:var(--tt-text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.projects-panel-item-meta{color:var(--tt-text-muted);margin-top:2px;font-size:.74rem}.projects-panel-rename-row{align-items:center;gap:.4rem;display:flex}.projects-panel-rename-row .projects-panel-input{flex:1}.projects-panel-item-actions{flex-shrink:0;gap:.25rem;display:flex}.projects-panel-icon-btn{border-radius:var(--tt-radius-sm);color:var(--tt-text-subtle);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:5px 7px;transition:all .15s;display:inline-flex}.projects-panel-icon-btn:hover{background:var(--tt-slate-100);color:var(--tt-text)}.projects-panel-icon-btn-danger:hover{background:var(--tt-danger-soft);color:var(--tt-danger)}.projects-panel-templates{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.projects-panel-template{border:1px solid var(--tt-border);border-radius:var(--tt-radius-sm);cursor:pointer;background:var(--tt-surface);align-items:flex-start;gap:.7rem;padding:.85rem .9rem;transition:all .15s;display:flex}.projects-panel-template:hover,.projects-panel-template:focus-visible{border-color:var(--tt-brand-600);background:var(--tt-brand-50);outline:none;box-shadow:0 1px 3px #4f46e51a}.projects-panel-template-icon{border-radius:var(--tt-radius-sm);background:var(--tt-brand-100);width:36px;height:36px;color:var(--tt-brand-700);flex-shrink:0;justify-content:center;align-items:center;display:flex}.projects-panel-template-info{min-width:0}.projects-panel-template-name{color:var(--tt-text);letter-spacing:-.005em;margin-bottom:3px;font-size:.92rem;font-weight:600}.projects-panel-template-desc{color:var(--tt-text-muted);font-size:.79rem;line-height:1.45}.buy-me-coffee-container{opacity:.8;justify-content:center;margin-top:6rem;margin-bottom:1.5rem;display:flex}.notification{border:1px solid var(--tt-border)!important;background:var(--tt-surface)!important;color:var(--tt-text)!important;box-shadow:var(--tt-shadow-md)!important;border-radius:var(--tt-radius)!important;font-weight:500!important}@media (width<=768px){.main-content{padding:1rem .85rem 3rem}.child-node{margin-left:1rem}.preview-pane{height:420px}.app-header-inner{padding:.55rem .85rem}}.tree-builder-toolbar{justify-content:flex-end;margin-bottom:.75rem;display:flex}.code-block-copy-btn.is-active{background:var(--tt-brand-50);color:var(--tt-brand-700);border-color:var(--tt-brand-200)}.experiment{margin-bottom:1rem;padding:1rem}.experiment-tabs{border-radius:var(--tt-radius-sm);background:var(--tt-slate-100);gap:2px;margin-bottom:.9rem;padding:2px;display:inline-flex}.experiment-tab{border-radius:calc(var(--tt-radius-sm) - 2px);color:var(--tt-text-muted);cursor:pointer;background:0 0;border:0;padding:4px 12px;font-family:inherit;font-size:.8rem;font-weight:500}.experiment-tab.is-active{background:var(--tt-surface);color:var(--tt-brand-700);box-shadow:var(--tt-shadow-sm)}.experiment-fields{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.75rem;display:flex}.experiment-field{color:var(--tt-text-muted);flex-direction:column;gap:.3rem;font-size:.8rem;display:flex}.experiment-field .tt-enhanced-input{width:8.5rem}.experiment-field-wide .tt-enhanced-input{width:12rem}.experiment-field .experiment-count{width:4.5rem}.experiment-check{color:var(--tt-text);cursor:pointer;align-items:center;gap:.45rem;padding-bottom:.45rem;font-size:.85rem;display:inline-flex}.experiment-footer{border-top:1px solid var(--tt-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.6rem;padding-top:.75rem;display:flex}.experiment-status{color:var(--tt-text-muted);font-size:.82rem}.experiment-status.is-error{color:var(--tt-danger)}.experiment-actions{gap:.5rem;display:flex}.experiment-build{border:1px solid var(--tt-brand-600);border-radius:var(--tt-radius-sm);background:var(--tt-brand-600);color:#fff;cursor:pointer;padding:3px 12px;font-family:inherit;font-size:.78rem;font-weight:600}.experiment-build:hover:not(:disabled){background:var(--tt-brand-700);border-color:var(--tt-brand-700)}.experiment-build:disabled{opacity:.45;cursor:not-allowed}.tree-preview-canvas-host{position:relative}.tree-preview-canvas-host[data-status=error] canvas{opacity:.3}.preview-error{z-index:1;border-radius:var(--tt-radius-sm);background:var(--tt-danger-soft);color:var(--tt-danger);padding:.6rem .8rem;font-size:.82rem;line-height:1.45;position:absolute;top:.75rem;left:.75rem;right:.75rem}.preview-error-detail{white-space:pre-wrap;word-break:break-word;color:var(--tt-text);margin:.4rem 0 0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem}.tree-builder-toolbar{justify-content:space-between;align-items:center;gap:.75rem}.tree-view-switch{border-radius:var(--tt-radius-sm);background:var(--tt-slate-100);gap:2px;padding:2px;display:inline-flex}.tree-view-tab{border-radius:calc(var(--tt-radius-sm) - 2px);color:var(--tt-text-muted);cursor:pointer;background:0 0;border:0;padding:4px 12px;font-family:inherit;font-size:.8rem;font-weight:500}.tree-view-tab.is-active{background:var(--tt-surface);color:var(--tt-brand-700);box-shadow:var(--tt-shadow-sm)}.tree-canvas{background:var(--tt-surface);border:1px solid var(--tt-border);border-radius:var(--tt-radius-lg);padding:.5rem;overflow-x:auto}.tree-canvas-stage{position:relative}.tree-canvas-lines{position:absolute;inset:0}.tree-canvas-lines line{stroke:var(--tt-slate-400);stroke-width:1.5px}.tree-canvas-node{white-space:nowrap;align-items:center;gap:.35rem;display:flex;position:absolute;transform:translateY(-50%)}.tree-canvas-name{border:1px solid var(--tt-brand-200);background:var(--tt-brand-50);min-width:34px;color:var(--tt-text);cursor:text;border-radius:999px;padding:4px 10px;font-family:STIX Two Math,Cambria Math,Latin Modern Math,serif;font-size:1.1rem;line-height:1.2}.tree-canvas-node.is-root .tree-canvas-name{background:var(--tt-brand-600);border-color:var(--tt-brand-600);color:#fff}.tree-canvas-name:hover{border-color:var(--tt-brand-500)}.tree-canvas-tools{opacity:0;gap:2px;transition:opacity .15s;display:inline-flex}.tree-canvas-node:hover .tree-canvas-tools,.tree-canvas-node:focus-within .tree-canvas-tools{opacity:1}.tree-canvas-tool{border:1px solid var(--tt-border);background:var(--tt-surface);width:22px;height:22px;color:var(--tt-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.tree-canvas-tool:hover{color:var(--tt-brand-700);border-color:var(--tt-brand-300,var(--tt-brand-200))}.tree-canvas-tool.is-delete:hover{color:var(--tt-danger);border-color:var(--tt-danger)}.tree-canvas-weight{margin-top:-3px;position:absolute;transform:translate(-50%,-100%)}.tree-canvas-weight.is-below{margin-top:3px;transform:translate(-50%)}.tree-canvas-weight-btn{border-radius:var(--tt-radius-sm);background:var(--tt-surface);color:var(--tt-text);cursor:text;border:1px solid #0000;padding:1px 6px;font-family:STIX Two Math,Cambria Math,Latin Modern Math,serif;font-size:.95rem}.tree-canvas-weight-btn:hover{border-color:var(--tt-border-strong)}.tree-canvas-weight-btn.is-empty{color:var(--tt-danger)}.tree-canvas-input{border:1px solid var(--tt-brand-600);border-radius:var(--tt-radius-sm);background:var(--tt-surface);color:var(--tt-text);box-shadow:var(--tt-ring);outline:none;padding:3px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.85rem}.tree-canvas-input.is-weight{width:7.5rem}.tree-canvas-input.is-name{width:8rem}.tree-canvas-product{color:var(--tt-text-muted);font-variant-numeric:tabular-nums;margin-left:.4rem;font-size:.85rem}.tree-canvas-sum{background:var(--tt-danger-soft);color:var(--tt-danger);border-radius:999px;padding:1px 7px;font-size:.75rem}.tree-canvas-hint{color:var(--tt-text-subtle);margin:.5rem .25rem 0;font-size:.78rem}.math-text sub,.math-text sup{font-size:.7em}.math-over{text-decoration:overline}.math-frac{vertical-align:middle;flex-direction:column;align-items:center;font-size:.82em;line-height:1.05;display:inline-flex}.math-frac>span:first-child{border-bottom:1px solid;padding:0 2px}.tree-canvas-name.is-selected{outline:2px solid var(--tt-brand-600);outline-offset:2px}.tree-card{border:1px solid var(--tt-border);border-radius:var(--tt-radius);background:var(--tt-surface-muted);margin-top:.75rem;padding:.8rem .9rem .5rem}.tree-card-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.tree-card-title{color:var(--tt-text);font-size:.9rem;font-weight:600}.tree-card-title .math-text{font-family:STIX Two Math,Cambria Math,Latin Modern Math,serif;font-size:1.05rem;font-weight:400}.tree-card-close{color:var(--tt-text-muted);cursor:pointer;border-radius:var(--tt-radius-sm);background:0 0;border:0;padding:4px;display:inline-flex}.tree-card-close:hover{color:var(--tt-text);background:var(--tt-slate-100)}.tree-card-row{grid-template-columns:6.5rem minmax(0,1fr);align-items:center;gap:.6rem;padding:.32rem 0;display:grid}.tree-card-label{color:var(--tt-text-muted);font-size:.8rem}.tree-card-control{flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;display:flex}.tree-card-input{width:100%;max-width:16rem}.tree-card-swatches{flex-wrap:wrap;gap:6px;display:flex}.tree-card-swatch{border:1px solid var(--tt-border-strong);cursor:pointer;border-radius:50%;width:22px;height:22px;padding:0}.tree-card-swatch.is-none{background:var(--tt-surface);width:auto;color:var(--tt-text-muted);border-radius:999px;padding:0 8px;font-family:inherit;font-size:.72rem}.tree-card-swatch.is-active{outline:2px solid var(--tt-brand-600);outline-offset:2px}.tree-card-swatch.is-none.is-active{color:var(--tt-brand-700);background:var(--tt-brand-50)}.tree-card-product{color:var(--tt-text);font-family:STIX Two Math,Cambria Math,Latin Modern Math,serif;font-size:1rem}.tree-card-product strong{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.88rem}
