@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap";
@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.h-screen{height:100vh}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}}*,:before,:after{box-sizing:border-box}:root{--hud-bg:#050510b8;--hud-border:#ffffff0f;--hud-text:#ffffffd9;--hud-text-dim:#ffffff73;--hud-accent:#0fc;--hud-accent-dim:#00ffcc26;--hud-radius:12px;--hud-blur:16px;--mono:"JetBrains Mono", "SF Mono", "Fira Code", monospace;--sans:"Inter", system-ui, -apple-system, sans-serif;--panel-width:320px;--sidebar-width:320px;--transition-fast:.18s cubic-bezier(.4, 0, .2, 1);--transition-medium:.25s ease-in-out;--sidebar-transition:.28s ease-in-out}body{font-family:var(--sans);color:var(--hud-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;margin:0;padding:0;overflow:hidden}.canvas-layer{z-index:0;width:100vw;height:100vh;position:fixed;inset:0}.glass-panel{background:var(--hud-bg);-webkit-backdrop-filter:blur(var(--hud-blur));border:1px solid var(--hud-border);border-radius:var(--hud-radius)}[data-overlay],.leva-container{transition:opacity .3s}body.zen-mode [data-overlay],body.zen-mode .leva-container,body.zen-mode .right-sidebar{opacity:0!important;pointer-events:none!important}.zen-toggle{z-index:100;cursor:pointer;border:1px solid var(--hud-border);background:var(--hud-bg);width:36px;height:36px;-webkit-backdrop-filter:blur(var(--hud-blur));backdrop-filter:blur(var(--hud-blur));color:var(--hud-text-dim);transition:all var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex;position:fixed;bottom:80px;right:24px}.zen-toggle:hover{color:var(--hud-accent);border-color:#00ffcc4d;opacity:1!important}body.zen-mode .zen-toggle{opacity:.08;color:var(--hud-accent);border-color:#00ffcc40}body.zen-mode .zen-toggle:hover{opacity:1}.zen-tooltip{z-index:101;font-family:var(--mono);color:var(--hud-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;white-space:nowrap;background:#050510e6;border:1px solid #0fc3;border-radius:8px;padding:6px 12px;font-size:11px;animation:3s forwards zenTooltipFade;position:fixed;bottom:124px;right:16px}.zen-tooltip kbd{font-family:var(--mono);color:var(--hud-accent);background:#00ffcc1a;border:1px solid #00ffcc40;border-radius:3px;margin:0 2px;padding:1px 5px;font-size:10px;display:inline-block}@keyframes zenTooltipFade{0%{opacity:0;transform:translateY(4px)}10%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.collapse-chevron{cursor:pointer;color:var(--hud-text-dim);transition:color var(--transition-fast), transform var(--transition-medium);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex;transform:rotate(0)}.collapse-chevron:hover{color:var(--hud-accent)}.collapse-chevron.rotated{transform:rotate(-90deg)}.hud-overlay{z-index:20;pointer-events:auto;max-width:420px;padding:0;position:fixed;top:24px;left:24px;overflow:hidden}.hud-title-bar{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;min-height:36px;padding:10px 16px;display:flex}.hud-overlay h1{font-family:var(--sans);letter-spacing:-.02em;color:#fff;white-space:nowrap;margin:0;font-size:14px;font-weight:700;line-height:1.2}.hud-content{max-height:400px;transition:max-height var(--transition-medium), padding var(--transition-medium), opacity var(--transition-medium);opacity:1;padding:0 16px 16px;overflow:hidden}.hud-overlay.collapsed .hud-content{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.hud-overlay .hud-subtitle{font-family:var(--mono);color:var(--hud-accent);text-transform:uppercase;letter-spacing:.08em;opacity:.9;margin-bottom:12px;font-size:10px;font-weight:400}.hud-overlay .hud-description{color:var(--hud-text-dim);margin-bottom:12px;font-size:12px;font-weight:400;line-height:1.6}.hud-overlay .hud-features{margin:0 0 14px;padding:0;list-style:none}.hud-overlay .hud-features li{font-family:var(--mono);color:var(--hud-text);align-items:flex-start;gap:8px;padding:4px 0;font-size:10px;line-height:1.45;display:flex}.hud-overlay .hud-features li:before{content:"▸";color:var(--hud-accent);flex-shrink:0;margin-top:1px;font-size:10px}.hud-overlay .hud-features .feature-label{color:var(--hud-accent);font-weight:600}.hud-link{font-family:var(--mono);color:var(--hud-text-dim);transition:color var(--transition-fast);border-top:1px solid var(--hud-border);align-items:center;gap:6px;width:100%;padding-top:10px;font-size:10px;text-decoration:none;display:inline-flex}.hud-link:hover{color:var(--hud-accent)}.hud-link svg{opacity:.6;width:13px;height:13px}.right-sidebar{height:100vh;width:var(--sidebar-width);z-index:30;-webkit-backdrop-filter:blur(16px);transform:translateX(var(--sidebar-width));transition:transform var(--sidebar-transition);background:#08080cd9;border-left:1px solid #ffffff0f;flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow:hidden}.right-sidebar.open{transform:translate(0)}.sidebar-toggle{z-index:31;cursor:pointer;-webkit-backdrop-filter:blur(16px);width:28px;height:64px;color:var(--hud-text-dim);transition:color var(--transition-fast), border-color var(--transition-fast);font-size:18px;line-height:1;font-family:var(--sans);background:#08080cd9;border:1px solid #ffffff14;border-right:none;border-radius:8px 0 0 8px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;left:-28px;transform:translateY(-50%)}.sidebar-toggle:hover{color:var(--hud-accent);border-color:#00ffcc4d}.sidebar-content{flex-direction:column;flex:1;display:flex;overflow:hidden auto}.sidebar-divider{background:#ffffff14;flex-shrink:0;height:1px}.dag-sidebar-header{-webkit-user-select:none;user-select:none;border-bottom:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:8px;min-height:24px;padding:6px 14px;display:flex}.dag-header-left{align-items:center;gap:7px;display:flex}.dag-header-dot{opacity:.7;background:#1d9e75;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite dagDotPulse}@keyframes dagDotPulse{0%,to{opacity:.4}50%{opacity:1}}.dag-sidebar-header h2{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#1d9e75;margin:0;font-size:11px;font-weight:600}.dag-panel-meta{font-family:var(--mono);color:var(--hud-text-dim);letter-spacing:.05em;text-align:right;flex:1;padding-right:4px;font-size:9px}.dag-sidebar-body{flex-shrink:0;height:320px;position:relative;overflow:hidden}.dag-controls{z-index:3;background:#080814cc;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;display:flex;position:absolute;bottom:10px;right:10px}.dag-zoom-label{font-family:var(--mono);color:var(--hud-text-dim);letter-spacing:.02em;text-align:right;min-width:30px;font-size:11px}.dag-reset-btn{width:24px;height:24px;color:var(--hud-text-dim);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff14;border-radius:5px;justify-content:center;align-items:center;font-size:13px;display:flex}.dag-reset-btn:hover{color:var(--hud-accent);background:#00ffcc0f;border-color:#00ffcc4d}.dag-svg-viewport{cursor:grab;width:100%;height:100%;display:block}.dag-svg-viewport:active{cursor:grabbing}.dag-edge{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:6 4;animation:1.2s linear infinite dagEdgeFlow}@keyframes dagEdgeFlow{0%{stroke-dashoffset:10px}to{stroke-dashoffset:0}}.dag-node-rect{fill:#0c0c1cf2}.dag-node-group{cursor:default}.dag-node-group:hover .dag-node-border{stroke:#0fc6!important}.dag-node-id-text{font-family:var(--mono);fill:var(--hud-text);dominant-baseline:auto;font-size:10px}.dag-node-type-text{font-family:var(--mono);fill:var(--hud-text-dim);dominant-baseline:auto;font-size:7.5px}.dag-node-badge-text{font-family:var(--mono);letter-spacing:.03em;dominant-baseline:auto;font-size:7px;font-weight:500}.sidebar-leva-section{flex:1;min-height:0;overflow-y:auto}.sidebar-leva-section .leva-container,.sidebar-leva-section>div{z-index:auto!important;width:100%!important;max-width:100%!important;position:relative!important;inset:auto!important}.preset-bar{z-index:20;transition:transform var(--transition-medium), max-width var(--sidebar-transition);flex-direction:column;align-items:center;max-width:calc(100vw - 360px);padding:0;display:flex;position:fixed;bottom:24px;left:50%;overflow:visible;transform:translate(-50%)translateY(0)}body.sidebar-closed .preset-bar{max-width:calc(100vw - 40px)}.preset-bar.collapsed{transform:translate(-50%)translateY(80%)}.preset-bar-toggle{cursor:pointer;color:var(--hud-text-dim);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;transition:color var(--transition-fast);-webkit-user-select:none;user-select:none;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:6px 14px;font-size:9px;display:flex}.preset-bar-toggle:hover{color:var(--hud-accent)}.preset-bar-toggle-label{font-family:var(--mono);font-size:9px}.preset-bar-chevron{transition:transform var(--transition-medium);transform:rotate(0)}.preset-bar-chevron.rotated{transform:rotate(180deg)}.preset-bar-content{opacity:1;transition:opacity var(--transition-medium);gap:8px;padding:4px 12px 8px;display:flex;overflow:hidden}.preset-bar.collapsed .preset-bar-content{opacity:0;pointer-events:none}.preset-card{cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:6px;min-width:76px;padding:8px 10px;display:flex}.preset-card:hover{background:#ffffff0a;border-color:#ffffff14}.preset-card.active{background:var(--hud-accent-dim);border-color:#00ffcc40}.preset-card .preset-thumb{border:1px solid #ffffff14;border-radius:6px;width:44px;height:44px;overflow:hidden}.preset-card .preset-label{font-family:var(--mono);color:var(--hud-text-dim);text-transform:uppercase;letter-spacing:.06em;text-align:center;white-space:nowrap;transition:color var(--transition-fast);font-size:9px}.preset-card.active .preset-label{color:var(--hud-accent)}.compile-badge{z-index:25;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--hud-accent);opacity:0;pointer-events:none;padding:6px 16px;font-size:10px;transition:opacity .15s,transform .15s;position:fixed;bottom:90px;left:50%;transform:translate(-50%)translateY(10px)}.compile-badge.visible{opacity:1;transform:translate(-50%)translateY(0)}.compile-badge .badge-dot{background:var(--hud-accent);border-radius:50%;width:5px;height:5px;margin-right:8px;animation:.6s ease-in-out infinite badgePulse;display:inline-block}@keyframes badgePulse{0%,to{opacity:.4}50%{opacity:1}}.error-panel{z-index:30;border-color:#ff3c3c40;max-width:500px;padding:16px 20px;position:fixed;bottom:100px;left:24px}.error-panel-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.error-panel-header .error-icon{color:#f44;width:16px;height:16px}.error-panel-header span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#f44;font-size:11px;font-weight:600}.error-panel pre{font-family:var(--mono);color:#ff6464e6;white-space:pre-wrap;word-break:break-all;max-height:150px;margin:0;font-size:10.5px;line-height:1.5;overflow-y:auto}.export-bar{z-index:20;gap:6px;display:flex;position:fixed;bottom:24px;right:24px}.export-btn{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--hud-text-dim);border:1px solid var(--hud-border);cursor:pointer;background:var(--hud-bg);-webkit-backdrop-filter:blur(var(--hud-blur));backdrop-filter:blur(var(--hud-blur));transition:all var(--transition-fast);border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:10px;display:flex}.export-btn:hover{color:var(--hud-accent);border-color:#00ffcc4d}.export-btn.copied{color:var(--hud-accent);border-color:var(--hud-accent)}.export-btn svg{opacity:.7;width:13px;height:13px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#fff3}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
