/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base{*{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--canopy-focus-ring);outline-offset:2px}button:focus-visible,.action-btn:focus-visible,.tab:focus-visible,.tree-toggle:focus-visible{outline:2px solid var(--canopy-focus-ring);outline-offset:1px;border-radius:var(--radius-sm)}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.right-0{right:calc(var(--spacing) * 0)}.z-\[2\]{z-index:2}.z-\[50\]{z-index:50}.z-\[51\]{z-index:51}.mt-auto{margin-top:auto}.mt-canopy-sm{margin-top:var(--space-sm)}.mt-canopy-xs{margin-top:var(--space-xs)}.mr-canopy-sm{margin-right:var(--space-sm)}.flex{display:flex}.inline{display:inline}.inline-flex{display:inline-flex}.h-\[7px\]{height:7px}.h-\[22px\]{height:22px}.h-\[36px\]{height:36px}.h-\[48px\]{height:48px}.max-h-\[4\.5em\]{max-height:4.5em}.max-h-\[360px\]{max-height:360px}.min-h-\[32px\]{min-height:32px}.w-\[7px\]{width:7px}.w-\[8px\]{width:8px}.w-\[22px\]{width:22px}.w-\[76px\]{width:76px}.max-w-\[280px\]{max-width:280px}.min-w-\[44px\]{min-width:44px}.min-w-\[52px\]{min-width:52px}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.animate-\[pulse-connected_2s_ease-in-out_infinite\]{animation:2s ease-in-out infinite pulse-connected}.animate-\[pulse-connecting_1s_ease-in-out_infinite\]{animation:1s ease-in-out infinite pulse-connecting}.animate-canopy-overlay-enter{animation:overlay-enter var(--duration-fast) var(--ease-out-quart)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-canopy-sm{gap:var(--space-sm)}.gap-canopy-xs{gap:var(--space-xs)}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-canopy-lg{border-radius:var(--radius-lg)}.rounded-canopy-md{border-radius:var(--radius-md)}.rounded-canopy-sm{border-radius:var(--radius-sm)}.rounded-full{border-radius:3.40282e38px}.rounded-none{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-canopy-accent{border-color:var(--canopy-accent)}.border-canopy-border{border-color:var(--canopy-border)}.border-transparent{border-color:#0000}.border-b-canopy-accent{border-bottom-color:var(--canopy-accent)}.border-b-transparent{border-bottom-color:#0000}.bg-\[rgba\(0\,0\,0\,0\.3\)\]{background-color:#0000004d}.bg-\[rgba\(130\,80\,223\,0\.2\)\]{background-color:#8250df33}.bg-canopy-accent{background-color:var(--canopy-accent)}.bg-canopy-header{background-color:var(--canopy-header-bg)}.bg-canopy-muted{background-color:var(--canopy-muted)}.bg-canopy-number{background-color:var(--canopy-number)}.bg-canopy-operator{background-color:var(--canopy-operator)}.bg-canopy-panel{background-color:var(--canopy-panel-bg)}.bg-canopy-string{background-color:var(--canopy-string)}.bg-canopy-surface{background-color:var(--canopy-surface)}.bg-transparent{background-color:#0000}.p-canopy-lg{padding:var(--space-lg)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-canopy-lg{padding-inline:var(--space-lg)}.px-canopy-md{padding-inline:var(--space-md)}.py-\[2px\]{padding-block:2px}.py-canopy-md{padding-block:var(--space-md)}.py-canopy-sm{padding-block:var(--space-sm)}.py-canopy-xs{padding-block:var(--space-xs)}.pt-canopy-lg{padding-top:var(--space-lg)}.pt-canopy-sm{padding-top:var(--space-sm)}.pb-\[calc\(var\(--space-sm\)_-_2px\)\]{padding-bottom:calc(var(--space-sm) - 2px)}.pb-canopy-md{padding-bottom:var(--space-md)}.pb-canopy-xs{padding-bottom:var(--space-xs)}.text-left{text-align:left}.font-canopy-mono{font-family:var(--canopy-font-mono)}.font-canopy-ui{font-family:var(--canopy-font-ui)}.text-canopy-body{font-size:var(--text-body)}.text-canopy-caption{font-size:var(--text-caption)}.text-canopy-label{font-size:var(--text-label)}.text-canopy-small{font-size:var(--text-small)}.leading-\[var\(--leading-normal\)\]{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-\[var\(--leading-relaxed\)\]{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-\[var\(--leading-tight\)\]{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-canopy-accent{color:var(--canopy-accent)}.text-canopy-accent-text{color:var(--canopy-accent-text)}.text-canopy-dim{color:var(--canopy-text-dim)}.text-canopy-error-text{color:var(--canopy-error-text)}.text-canopy-fg{color:var(--canopy-fg)}.text-canopy-fg-inverse{color:var(--canopy-fg-inverse)}.text-canopy-identifier{color:var(--canopy-identifier)}.text-canopy-muted{color:var(--canopy-muted)}.text-canopy-secondary{color:var(--canopy-text-secondary)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.opacity-60{opacity:.6}.shadow-\[0_0_4px_var\(--canopy-number\)\]{--tw-shadow:0 0 4px var(--tw-shadow-color,var(--canopy-number));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_6px_var\(--canopy-operator\)\]{--tw-shadow:0 0 6px var(--tw-shadow-color,var(--canopy-operator));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_6px_var\(--canopy-string\)\]{--tw-shadow:0 0 6px var(--tw-shadow-color,var(--canopy-string));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_0_var\(--canopy-glow\)\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,var(--canopy-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_32px_rgba\(0\,0\,0\,0\.4\)\,0_0_0_1px_rgba\(130\,80\,223\,0\.15\)\]{--tw-shadow:0 8px 32px var(--tw-shadow-color,#0006), 0 0 0 1px var(--tw-shadow-color,#8250df26);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-\(--duration-fast\){--tw-duration:var(--duration-fast);transition-duration:var(--duration-fast)}.ease-canopy-out{--tw-ease:var(--ease-out-quart);transition-timing-function:var(--ease-out-quart)}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:text-canopy-dim::placeholder{color:var(--canopy-text-dim)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:left-\[3px\]:after{content:var(--tw-content);left:3px}.after\:w-px:after{content:var(--tw-content);width:1px}.after\:bg-canopy-border:after{content:var(--tw-content);background-color:var(--canopy-border)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-\[opacity\,background\,box-shadow\]:after{content:var(--tw-content);transition-property:opacity,background,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:duration-\(--duration-fast\):after{content:var(--tw-content);--tw-duration:var(--duration-fast);transition-duration:var(--duration-fast)}.after\:ease-canopy-out:after{content:var(--tw-content);--tw-ease:var(--ease-out-quart);transition-timing-function:var(--ease-out-quart)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}@media (hover:hover){.hover\:border-canopy-accent-border:hover{border-color:var(--canopy-accent-border)}.hover\:border-canopy-error-border:hover{border-color:var(--canopy-error-border)}.hover\:bg-\[rgba\(130\,80\,223\,0\.15\)\]:hover{background-color:#8250df26}.hover\:bg-canopy-accent:hover{background-color:var(--canopy-accent)}.hover\:bg-canopy-accent-hover:hover{background-color:var(--canopy-accent-hover)}.hover\:bg-canopy-error-bg:hover{background-color:var(--canopy-error-bg)}.hover\:bg-canopy-surface:hover{background-color:var(--canopy-surface)}.hover\:text-canopy-accent-text:hover{color:var(--canopy-accent-text)}.hover\:text-canopy-error-text:hover{color:var(--canopy-error-text)}.hover\:text-canopy-fg:hover{color:var(--canopy-fg)}.hover\:text-canopy-fg-inverse:hover{color:var(--canopy-fg-inverse)}.hover\:text-canopy-secondary:hover{color:var(--canopy-text-secondary)}.hover\:after\:bg-canopy-accent:hover:after{content:var(--tw-content);background-color:var(--canopy-accent)}.hover\:after\:opacity-100:hover:after{content:var(--tw-content);opacity:1}.hover\:after\:shadow-\[0_0_12px_rgba\(130\,80\,223\,0\.45\)\]:hover:after{content:var(--tw-content);--tw-shadow:0 0 12px var(--tw-shadow-color,#8250df73);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-canopy-accent:focus{border-color:var(--canopy-accent)}.focus\:shadow-\[0_0_0_2px_rgba\(130\,80\,223\,0\.2\)\]:focus{--tw-shadow:0 0 0 2px var(--tw-shadow-color,#8250df33);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-\[-2px\]:focus-visible{outline-offset:-2px}.focus-visible\:outline-canopy-focus-ring:focus-visible{outline-color:var(--canopy-focus-ring)}.focus-visible\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid}.focus-visible\:after\:bg-canopy-accent:focus-visible:after{content:var(--tw-content);background-color:var(--canopy-accent)}.focus-visible\:after\:opacity-100:focus-visible:after{content:var(--tw-content);opacity:1}.focus-visible\:after\:shadow-\[0_0_12px_rgba\(130\,80\,223\,0\.45\)\]:focus-visible:after{content:var(--tw-content);--tw-shadow:0 0 12px var(--tw-shadow-color,#8250df73);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[active\=true\]\:bg-\[rgba\(130\,80\,223\,0\.15\)\][data-active=true]{background-color:#8250df26}.data-\[active\=true\]\:bg-canopy-error-bg[data-active=true]{background-color:var(--canopy-error-bg)}@media not all and (min-width:768px){.max-\[768px\]\:hidden{display:none}.max-\[768px\]\:h-auto{height:auto}.max-\[768px\]\:min-h-\[44px\]{min-height:44px}.max-\[768px\]\:max-w-\[min\(320px\,90vw\)\]{max-width:min(320px,90vw)}.max-\[768px\]\:min-w-\[44px\]{min-width:44px}.max-\[768px\]\:min-w-\[240px\]{min-width:240px}.max-\[768px\]\:flex-\[0_0_var\(--space-xs\)\]{flex:0 0 var(--space-xs)}.max-\[768px\]\:\[scrollbar-width\:none\]{scrollbar-width:none}.max-\[768px\]\:gap-canopy-xs{gap:var(--space-xs)}.max-\[768px\]\:overflow-x-auto{overflow-x:auto}.max-\[768px\]\:px-canopy-lg{padding-inline:var(--space-lg)}.max-\[768px\]\:px-canopy-md{padding-inline:var(--space-md)}.max-\[768px\]\:py-canopy-md{padding-block:var(--space-md)}.max-\[768px\]\:pr-\[max\(var\(--space-sm\)\,env\(safe-area-inset-right\)\)\]{padding-right:max(var(--space-sm),env(safe-area-inset-right))}.max-\[768px\]\:pb-\[calc\(var\(--space-md\)_-_2px\)\]{padding-bottom:calc(var(--space-md) - 2px)}.max-\[768px\]\:pl-\[max\(var\(--space-sm\)\,env\(safe-area-inset-left\)\)\]{padding-left:max(var(--space-sm),env(safe-area-inset-left))}.max-\[768px\]\:text-canopy-body{font-size:var(--text-body)}.max-\[768px\]\:text-canopy-small{font-size:var(--text-small)}.max-\[768px\]\:\[-webkit-overflow-scrolling\:touch\]{-webkit-overflow-scrolling:touch}}@media not all and (min-width:480px){.max-\[480px\]\:hidden{display:none}}@media not all and (min-width:768px){@media (orientation:landscape){.max-\[768px\]\:landscape\:h-\[40px\]{height:40px}}.max-\[768px\]\:\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}@media (max-width:768px){.\[\@media\(max-width\:768px\)\]\:hidden{display:none}}}:root{--canopy-bg:#161625;--canopy-header-bg:#12121f;--canopy-panel-bg:#1a1a2c;--canopy-surface:#222238;--canopy-border:#28283e;--canopy-glow:#8250df0f;--canopy-fg:#e4e4f0;--canopy-text-secondary:#b8b8d0;--canopy-muted:#8888a8;--canopy-text-dim:#8a8aaa;--canopy-accent:#8250df;--canopy-accent-hover:#8250df1f;--canopy-accent-text:#b090e0;--canopy-focus-ring:#a070ef;--canopy-keyword:#c792ea;--canopy-identifier:#82aaff;--canopy-number:#f78c6c;--canopy-string:#c3e88d;--canopy-operator:#ff5370;--canopy-error:#cf222e;--canopy-error-text:#ef4444;--canopy-success:#34d058;--canopy-peer-blue:#58a6ff;--canopy-frontier:#ffcb6b;--canopy-shadow-heavy:#00000080;--canopy-hover-overlay:#ffffff08;--canopy-accent-border:#8250df33;--canopy-error-bg:#cf222e1a;--canopy-error-border:#cf222e33;--canopy-scrollbar:#ffffff14;--canopy-scrollbar-hover:#ffffff26;--canopy-fg-inverse:#fff;--canopy-font-mono:"Iosevka", "Iosevka Web", monospace;--canopy-font-ui:"Manrope", system-ui, sans-serif;--text-label:.6875rem;--text-caption:.8125rem;--text-small:.875rem;--text-body:1rem;--text-code:1.125rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--leading-tight:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--bottom-content-max-height:160px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s}body{background:var(--canopy-bg);color:var(--canopy-fg);font-family:var(--canopy-font-ui);font-size:var(--text-body);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{flex-direction:column;width:100%;height:100dvh;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{height:100dvh;animation:fade-in var(--duration-slow) var(--ease-out-quart);flex-direction:column;display:flex;overflow:hidden}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.workspace{flex:1;display:flex;overflow:hidden}.outline-panel{width:var(--outline-panel-width,220px);background:var(--canopy-panel-bg);border-right:1px solid var(--canopy-border);transition:opacity var(--duration-normal) var(--ease-out-quart),transform var(--duration-normal) var(--ease-out-quart),width 0s var(--duration-normal);flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.tree-rows{padding:0 var(--space-sm);flex:1;min-height:0;overflow-y:auto}.tree-item{flex-direction:column;display:flex}.tree-row{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-small);color:var(--canopy-text-secondary);line-height:var(--leading-tight);transition:background var(--duration-fast) var(--ease-out-quart);display:flex}.tree-row:hover{background:var(--canopy-hover-overlay)}.tree-row.selected{background:var(--canopy-accent-hover);color:var(--canopy-accent-text)}.tree-accent{opacity:.7;width:3px;height:16px;transition:opacity var(--duration-fast) var(--ease-out-quart);border-radius:1px;flex-shrink:0}.tree-row:hover .tree-accent,.tree-row.selected .tree-accent{opacity:1}.tree-row.kind-lambda .tree-accent{background:var(--canopy-keyword)}.tree-row.kind-module .tree-accent{background:var(--canopy-accent)}.tree-row.kind-app .tree-accent{background:var(--canopy-text-dim)}.tree-row.kind-int .tree-accent{background:var(--canopy-number)}.tree-row.kind-var .tree-accent{background:var(--canopy-identifier)}.tree-row.kind-if .tree-accent{background:var(--canopy-keyword)}.tree-row.kind-binop .tree-accent{background:var(--canopy-operator)}.tree-row.kind-error .tree-accent{background:var(--canopy-error)}.tree-row.kind-unit .tree-accent{background:var(--canopy-text-dim)}.tree-row.kind-unbound .tree-accent{background:var(--canopy-error)}.tree-row.kind-hole .tree-accent{background:var(--canopy-text-dim)}.tree-toggle{font-size:var(--text-label);text-align:center;width:16px;color:var(--canopy-text-dim);cursor:pointer;transition:color var(--duration-fast) var(--ease-out-quart);background:0 0;border:none;flex-shrink:0;padding:0}.tree-toggle:hover{color:var(--canopy-text-secondary)}.tree-label-text{font-family:var(--canopy-font-mono);font-size:var(--text-small);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tree-row.depth-1{padding-left:24px}.tree-row.depth-2{padding-left:40px}.tree-row.depth-3{padding-left:56px}.tree-row.depth-4{padding-left:72px}.tree-row.depth-5{padding-left:88px}.tree-row.depth-6{padding-left:104px}.tree-row.depth-7{padding-left:120px}.tree-row.outline-dragging{opacity:.4}.tree-row.outline-drop-before{border-top:2px solid var(--canopy-accent)}.tree-row.outline-drop-after{border-bottom:2px solid var(--canopy-accent)}.tree-row.outline-drop-inside{outline:2px solid var(--canopy-accent);outline-offset:-2px}.collapsed-badge{font-size:var(--text-label);color:var(--canopy-text-dim);background:var(--canopy-surface);padding:2px var(--space-sm);border-radius:var(--radius-sm);flex-shrink:0;margin-left:auto}.eval-badge{font-family:var(--canopy-font-mono);font-size:var(--text-label);color:var(--canopy-accent-text);opacity:.7;margin-left:var(--space-sm);flex-shrink:0;font-style:italic}.eval-badge.eval-error{color:var(--canopy-error)}@keyframes pulse-connected{0%,to{opacity:1}50%{opacity:.6}}@keyframes pulse-connecting{0%,to{opacity:1}50%{opacity:.3}}.inactive-pane{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.editor-wrapper{background:var(--canopy-bg);flex:1;position:relative;overflow:hidden}canopy-editor{width:100%;height:100%;display:block}#canopy-text-editor:not(.inactive-pane){width:100%;height:100%;min-height:0;display:block}.inspector-panel{background:var(--canopy-panel-bg);border-left:1px solid var(--canopy-border);width:240px;transition:opacity var(--duration-normal) var(--ease-out-quart),transform var(--duration-normal) var(--ease-out-quart),width 0s var(--duration-normal);flex-shrink:0;overflow-y:auto}.inspector-actions{gap:var(--space-xs);flex-direction:column;display:flex}.bottom-panel{background:var(--canopy-panel-bg);border-top:1px solid var(--canopy-border);max-height:200px;transition:opacity var(--duration-normal) var(--ease-out-quart),transform var(--duration-normal) var(--ease-out-quart),grid-template-rows var(--duration-normal) var(--ease-out-quart);flex-shrink:0;grid-template-rows:1fr;display:grid}.bottom-content{padding:var(--space-md) var(--space-lg);max-height:var(--bottom-content-max-height);font-size:var(--text-small);line-height:var(--leading-normal);overflow-y:auto}.no-problems{font-size:var(--text-small);color:var(--canopy-success)}.problem-item{padding:var(--space-xs) 0;font-size:var(--text-small)}.problem-text{color:var(--canopy-error-text);font-family:var(--canopy-font-mono);letter-spacing:-.01em}.state-row{gap:var(--space-sm);padding:var(--space-xs) 0;display:flex}.state-label{font-size:var(--text-small);font-weight:var(--weight-regular);color:var(--canopy-muted);width:88px}.state-value{font-size:var(--text-small);color:var(--canopy-fg);font-family:var(--canopy-font-mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.op-log{flex-direction:column;gap:2px;display:flex}.op-log-row{gap:var(--space-sm);padding:var(--space-xs) 0;align-items:baseline;display:flex}.op-log-index{font-size:var(--text-small);color:var(--canopy-muted);font-family:var(--canopy-font-mono);font-variant-numeric:tabular-nums;text-align:right;min-width:32px}.op-log-intent{font-size:var(--text-small);color:var(--canopy-fg);font-family:var(--canopy-font-mono);letter-spacing:-.01em;word-break:break-all}.patch-log{gap:var(--space-sm);flex-direction:column;display:flex}.patch-log-row{padding:var(--space-xs) 0;border-left:2px solid var(--canopy-border);padding-left:var(--space-sm);flex-direction:column;display:flex}.patch-log-header{gap:var(--space-sm);align-items:baseline;display:flex}.patch-log-index{font-size:var(--text-small);color:var(--canopy-muted);font-family:var(--canopy-font-mono);font-variant-numeric:tabular-nums;text-align:right;min-width:32px}.patch-log-op{font-size:var(--text-small);color:var(--canopy-fg);font-family:var(--canopy-font-mono);letter-spacing:-.01em;word-break:break-all}.patch-log-edits{flex-direction:column;gap:2px;padding-top:2px;padding-left:40px;display:flex}.patch-log-edit{font-size:var(--text-small);color:var(--canopy-muted);font-family:var(--canopy-font-mono);word-break:break-all}.graphviz-content{padding:var(--space-md);justify-content:center;align-items:center;display:flex;overflow:auto}.graphviz-content svg{max-width:100%;max-height:calc(var(--bottom-content-max-height) - var(--space-md) * 2);width:auto;height:auto}.history-content{flex-direction:column;align-items:stretch;padding:0;display:flex;overflow:hidden}.history-legend{gap:var(--space-md);padding:var(--space-xs) var(--space-md);font-size:var(--text-label);color:var(--canopy-muted);border-bottom:1px solid var(--canopy-border);flex-wrap:wrap;flex-shrink:0;display:flex}.history-legend-item{align-items:center;gap:var(--space-xs);white-space:nowrap;display:inline-flex}.history-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.history-legend-frontier{border:2px solid var(--canopy-frontier);background:0 0;border-radius:2px;flex-shrink:0;width:10px;height:10px}.history-graph{min-height:0;padding:var(--space-md);flex:1;justify-content:center;align-items:center;display:flex;overflow:auto}.history-graph svg{width:auto;max-width:100%;height:auto;max-height:100%}.history-empty{padding:var(--space-md);font-size:var(--text-small);color:var(--canopy-muted);display:block}.incr-graph-content{flex-direction:column;align-items:stretch;padding:0;display:flex;overflow:hidden}.incr-graph-content .no-problems{padding:var(--space-md);color:var(--canopy-muted)}.incr-legend{gap:var(--space-md);padding:var(--space-xs) var(--space-md);font-size:var(--text-label);color:var(--canopy-muted);border-bottom:1px solid var(--canopy-border);flex-wrap:wrap;flex-shrink:0;display:flex}.incr-legend-item{align-items:center;gap:var(--space-xs);white-space:nowrap;display:inline-flex}.incr-legend-swatch{border:1.5px solid;border-radius:2px;flex-shrink:0;width:12px;height:9px}.incr-graph{min-height:0;padding:var(--space-md);flex:1;justify-content:center;align-items:center;display:flex;overflow:auto}.incr-graph svg{width:auto;max-width:100%;height:auto;max-height:100%}.panel-scrim{display:none}.panel-visible{opacity:1;pointer-events:auto;transition:opacity var(--duration-normal) var(--ease-out-quart),transform var(--duration-normal) var(--ease-out-quart),width 0s 0s;transform:translate(0)translateY(0)}.outline-panel.panel-hidden{opacity:0;pointer-events:none;width:0;transition:opacity var(--duration-normal) var(--ease-out-quart),transform var(--duration-normal) var(--ease-out-quart),width 0s var(--duration-normal),padding 0s var(--duration-normal),border-color 0s var(--duration-normal);border-color:#0000;padding:0;overflow:hidden;transform:translate(-16px)}.inspector-panel.panel-hidden{opacity:0;pointer-events:none;width:0;transition:opacity var(--duration-normal) var(--ease-out-quart),transform var(--duration-normal) var(--ease-out-quart),width 0s var(--duration-normal),padding 0s var(--duration-normal),border-color 0s var(--duration-normal);border-color:#0000;padding:0;overflow:hidden;transform:translate(16px)}.bottom-panel.panel-hidden{opacity:0;pointer-events:none;border:none;grid-template-rows:0fr;display:grid;overflow:hidden;transform:translateY(8px)}.bottom-panel.panel-hidden>*{min-height:0;overflow:hidden}@media (max-width:1024px){.outline-panel{width:var(--outline-panel-width,180px)}.inspector-panel{width:200px}}@media (max-width:768px){.app-shell{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.outline-panel,.inspector-panel{top:calc(48px + env(safe-area-inset-top,0px));z-index:20;opacity:1;pointer-events:auto;width:min(280px,80vw);position:fixed;bottom:0;overflow-y:auto}.panel-scrim{inset:0;top:calc(48px + env(safe-area-inset-top,0px));z-index:15;background:var(--canopy-shadow-heavy);opacity:1;pointer-events:auto;transition:opacity var(--duration-normal) var(--ease-out-quart);display:block;position:fixed}.panel-scrim.scrim-hidden{opacity:0;pointer-events:none}.outline-panel{border-right:1px solid var(--canopy-border);box-shadow:8px 0 32px var(--canopy-shadow-heavy);transition:transform var(--duration-normal) var(--ease-out-quart);left:0;transform:translate(0)}.outline-panel.panel-hidden{box-shadow:none;pointer-events:none;opacity:1;border:none;width:min(280px,80vw);padding:0;overflow:hidden;transform:translate(-100%)}.inspector-panel{border-left:1px solid var(--canopy-border);box-shadow:-8px 0 32px var(--canopy-shadow-heavy);transition:transform var(--duration-normal) var(--ease-out-quart);right:0;transform:translate(0)}.inspector-panel.panel-hidden{box-shadow:none;pointer-events:none;opacity:1;border:none;width:min(280px,80vw);padding:0;overflow:hidden;transform:translate(100%)}.bottom-panel{max-height:45vh}.bottom-content{--bottom-content-max-height:40vh}.tree-row.depth-1{padding-left:20px}.tree-row.depth-2{padding-left:32px}.tree-row.depth-3{padding-left:44px}.tree-row.depth-4{padding-left:56px}.tree-row.depth-5,.tree-row.depth-6,.tree-row.depth-7{padding-left:64px}.tree-row{min-height:44px;padding-top:10px;padding-bottom:10px}.tree-toggle{width:28px;min-height:28px;font-size:var(--text-small)}}@media (max-width:480px){.outline-panel,.inspector-panel,.outline-panel.panel-hidden,.inspector-panel.panel-hidden{width:100vw}}@media (hover:none){.tree-row:hover{background:0 0}}@media (max-width:768px) and (orientation:landscape){.outline-panel,.inspector-panel,.outline-panel.panel-hidden,.inspector-panel.panel-hidden,.panel-scrim{top:calc(40px + env(safe-area-inset-top,0px))}.bottom-panel{max-height:30vh}.bottom-content{--bottom-content-max-height:25vh}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--canopy-scrollbar);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--canopy-scrollbar-hover)}.app-shell,.app-shell *{scrollbar-width:thin;scrollbar-color:var(--canopy-scrollbar) transparent}@keyframes overlay-enter{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
