@import "https://fonts.googleapis.com/css2?family=Geist+Mono:wght@100..900&display=swap";html{width:100%;overflow-x:hidden}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none;margin:0;padding:0}::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}::-webkit-scrollbar-track{background:0 0;width:0;height:0;display:none}::-webkit-scrollbar-thumb{background:0 0;width:0;height:0;display:none}body{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;margin:0;overflow-x:hidden}#root{flex-direction:column;width:100%;max-width:100%;min-height:100vh;margin:0;display:flex;overflow-x:clip}.dialkit-root{--dial-surface:#ffffff0d;--dial-surface-hover:#ffffff1a;--dial-surface-active:#ffffff1c;--dial-surface-subtle:#ffffff0f;--dial-text-root:#fff;--dial-text-section:#ffffffb3;--dial-text-label:#ffffffb3;--dial-text-focus:#fff;--dial-text-primary:#fffffff2;--dial-text-secondary:#fff9;--dial-text-tertiary:#fff6;--dial-border:#ffffff1a;--dial-border-hover:#ffffff26;--dial-glass-bg:#212121;--dial-dropdown-bg:#2a2a2a;--dial-backdrop-blur:20px;--dial-radius:8px;--dial-row-height:36px;--dial-shadow:0 8px 32px #00000080;--dial-shadow-collapsed:0 4px 16px #00000040;--dial-shadow-dropdown:0 8px 24px #0006;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,SF Pro Display,sans-serif}.dialkit-panel{z-index:9999;max-height:calc(100vh - 32px);position:fixed;overflow:visible}.dialkit-root[data-mode=inline]{height:100%}.dialkit-panel[data-mode=inline]{z-index:auto;height:100%;max-height:100%;position:static;overflow:hidden}.dialkit-panel-inner{background:var(--dial-glass-bg);border:1px solid var(--dial-border);-webkit-backdrop-filter:blur(var(--dial-backdrop-blur));transform-origin:100% 0;border-radius:14px;padding:10px 12px 0;transform:translateZ(0)}.dialkit-panel[data-position=top-left] .dialkit-panel-inner{transform-origin:0 0;max-height:calc(100vh - 80px);overflow-y:auto}.dialkit-panel-inner[data-collapsed=true]{box-sizing:border-box;border-radius:50%;padding:12px}.dialkit-panel-inner[data-collapsed=true] .dialkit-panel-header{border-bottom:none;margin-bottom:0;padding-bottom:0}.dialkit-panel-inner[data-collapsed=true] .dialkit-folder-title-row{display:none}.dialkit-panel-inner[data-collapsed=true] .dialkit-folder-header-top{justify-content:center;padding:0}.dialkit-panel-inner::-webkit-scrollbar{display:none}.dialkit-panel-inner{-ms-overflow-style:none;scrollbar-width:none}.dialkit-panel-inline{width:100%;height:100%;max-height:none;box-shadow:none;box-sizing:border-box;border:none;border-radius:0;overflow-y:auto}.dialkit-panel[data-mode=inline] .dialkit-panel-wrapper{flex-direction:column;width:100%;height:100%;display:flex}.dialkit-panel[data-position=top-right]{top:16px;right:16px}.dialkit-panel[data-position=top-left]{top:16px;left:16px}.dialkit-panel[data-position=bottom-right]{bottom:16px;right:16px}.dialkit-panel[data-position=bottom-left]{bottom:16px;left:16px}.dialkit-folder{border-bottom:1px solid var(--dial-surface-subtle);margin-bottom:8px;padding-bottom:8px}.dialkit-folder:last-child:not(.dialkit-folder-root){margin-bottom:0;padding-bottom:0}.dialkit-folder-root{border-bottom:none;margin-bottom:0;padding-bottom:0}.dialkit-panel-header{border-bottom:1px solid var(--dial-surface-subtle);margin-bottom:12px;padding-bottom:6px}.dialkit-folder-header{cursor:pointer;-webkit-user-select:none;user-select:none}.dialkit-folder-header-top{justify-content:space-between;align-items:center;padding:0 0 8px;display:flex}.dialkit-folder-title{color:var(--dial-text-section);letter-spacing:-.01em;font-size:13px;font-weight:600;transition:color .15s;transform:translateY(-.5px)}.dialkit-folder-title-root{color:var(--dial-text-root);font-size:15px;font-weight:600;transform:translateZ(0)}.dialkit-folder-title-row{white-space:nowrap;flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}.dialkit-folder-copy{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex}.dialkit-folder-copy svg{width:14px;height:14px;color:var(--dial-text-section)}.dialkit-folder-icon{box-sizing:border-box;width:20px;height:20px;color:var(--dial-text-label);opacity:.6;flex-shrink:0;padding:2px}.dialkit-panel-icon{width:16px;height:16px;color:var(--dial-text-focus);z-index:1;position:absolute;top:12px;right:12px}.dialkit-folder-content{will-change:transform}.dialkit-folder-inner{flex-direction:column;gap:6px;padding-bottom:10px;display:flex}.dialkit-folder:not(.dialkit-folder-root){border-top:1px solid var(--dial-surface-subtle);border-bottom:1px solid var(--dial-surface-subtle);margin-top:4px;margin-bottom:4px;padding-bottom:0}.dialkit-folder:not(.dialkit-folder-root)+.dialkit-folder:not(.dialkit-folder-root){border-top:none;margin-top:-10px}.dialkit-folder:not(.dialkit-folder-root)>.dialkit-folder-header{height:var(--dial-row-height);padding:0}.dialkit-folder:not(.dialkit-folder-root)>.dialkit-folder-header>.dialkit-folder-header-top{height:100%;padding:0}.dialkit-folder-root>.dialkit-folder-content>.dialkit-folder-inner{padding-bottom:0}.dialkit-slider-wrapper{height:var(--dial-row-height);position:relative}.dialkit-slider{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--dial-surface);border-radius:var(--dial-radius);touch-action:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.dialkit-slider-hashmarks{pointer-events:none;position:absolute;inset:0}.dialkit-slider-hashmark{background:#fff0;border-radius:999px;width:1px;height:8px;transition:background .2s;position:absolute;top:50%;transform:translate(-50%)translateY(-50%)}.dialkit-slider-active .dialkit-slider-hashmark{background:var(--dial-border-hover)}.dialkit-slider-active .dialkit-slider-value{color:var(--dial-text-focus)}.dialkit-slider-fill{background:var(--dial-surface-active);pointer-events:none;transition:background .15s;position:absolute;top:0;bottom:0;left:0}.dialkit-slider-active .dialkit-slider-fill{background:var(--dial-border-hover)}.dialkit-slider-handle{background:var(--dial-text-primary);pointer-events:none;border-radius:999px;width:3px;height:20px;position:absolute;top:50%}.dialkit-slider-label{color:var(--dial-text-label);pointer-events:none;align-items:center;font-size:13px;font-weight:500;transition:color .15s;display:inline-flex;position:absolute;top:50%;left:10px;transform:translateY(calc(-50% - .5px))}.dialkit-slider-value{color:var(--dial-text-label);pointer-events:auto;border-bottom:1px solid #0000;padding-bottom:1px;font-family:Geist Mono,monospace;font-size:13px;font-weight:500;transition:color .15s,border-color .15s;position:absolute;top:50%;right:10px;transform:translateY(calc(.5px - 50%))}.dialkit-slider-value-editable{border-bottom-color:var(--dial-text-label)}.dialkit-slider-input{width:4ch;min-width:3ch;max-width:6ch;color:var(--dial-text-label);border:none;border-bottom:1px solid var(--dial-text-label);text-align:right;background:0 0;outline:none;padding:0 0 1px;font-family:Geist Mono,monospace;font-size:13px;font-weight:500;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.dialkit-slider-input:focus{color:var(--dial-text-focus)}.dialkit-segmented{border-radius:var(--dial-radius);background:0 0;padding:2px;display:flex;position:relative}.dialkit-segmented-pill{background:var(--dial-surface-active);z-index:0;pointer-events:none;border-radius:6px;position:absolute;top:2px;bottom:2px}.dialkit-segmented-button{z-index:1;cursor:pointer;background:0 0;border:none;flex:none;padding:6px 8px;font-family:inherit;font-size:13px;font-weight:500;transition:color .15s;position:relative}.dialkit-segmented-button[data-active=true]{color:var(--dial-text-primary)}.dialkit-segmented-button[data-active=false]{color:var(--dial-text-label)}.dialkit-toggle{background:var(--dial-surface);border-radius:var(--dial-radius);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 16px;transition:background .15s;display:flex}.dialkit-toggle:hover{background:var(--dial-surface-hover)}.dialkit-toggle-label{color:var(--dial-text-label);font-size:13px;font-weight:500;transition:color .15s}.dialkit-toggle[data-checked=true] .dialkit-toggle-label{color:var(--dial-text-primary)}.dialkit-toggle-track{background:var(--dial-surface-active);border-radius:10px;width:36px;height:20px;transition:background .2s;position:relative}.dialkit-toggle[data-checked=true] .dialkit-toggle-track{background:var(--dial-border-hover)}.dialkit-toggle-thumb{background:var(--dial-text-primary);border-radius:8px;width:16px;height:16px;position:absolute;top:2px}.dialkit-button-group{flex-direction:column;gap:6px;display:flex}.dialkit-button{color:var(--dial-text-secondary);background:var(--dial-surface);border-radius:var(--dial-radius);cursor:pointer;border:none;flex:1;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s}.dialkit-button:hover{background:var(--dial-surface-hover);color:var(--dial-text-primary)}.dialkit-button:active{background:var(--dial-surface-active)}.dialkit-labeled-control{height:var(--dial-row-height);background:var(--dial-surface);border-radius:var(--dial-radius);justify-content:space-between;align-items:center;gap:12px;padding:2px 10px 2px 12px;display:flex}.dialkit-labeled-control-label{color:var(--dial-text-label);flex-shrink:0;align-items:center;font-size:13px;font-weight:500;line-height:17px;display:flex}.dialkit-labeled-control .dialkit-segmented{flex-shrink:0;margin-right:-6px}.dialkit-action-button{width:160px;color:var(--dial-text-secondary);background:var(--dial-surface);border-radius:var(--dial-radius);cursor:pointer;border:none;flex-shrink:0;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s}.dialkit-action-button:hover{background:var(--dial-surface-hover);color:var(--dial-text-primary)}.dialkit-action-button:active{background:var(--dial-surface-active)}.dialkit-actions-group{align-items:flex-start}.dialkit-actions-stack{flex-direction:column;gap:6px;width:160px;display:flex}.dialkit-spring-viz{border-radius:var(--dial-radius);background:var(--dial-surface);width:100%;overflow:visible}.dialkit-easing-viz{aspect-ratio:256/140;width:100%}.dialkit-panel-wrapper{flex-direction:column;display:inline-flex}.dialkit-panel-toolbar{height:var(--dial-row-height);align-items:center;gap:6px;min-width:0;margin-bottom:6px;display:flex;overflow:hidden}.dialkit-toolbar-add{width:var(--dial-row-height);height:var(--dial-row-height);background:var(--dial-surface);border-radius:var(--dial-radius);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s;display:flex}.dialkit-toolbar-add:hover{background:var(--dial-surface-hover)}.dialkit-toolbar-add svg{width:16px;height:16px;color:var(--dial-text-label)}.dialkit-toolbar-copy{height:var(--dial-row-height);color:var(--dial-text-label);background:var(--dial-surface);border-radius:var(--dial-radius);cursor:pointer;border:none;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s;display:flex;position:relative}.dialkit-toolbar-copy:hover{background:var(--dial-surface-hover)}.dialkit-toolbar-copy-icon-wrap{flex-shrink:0;width:16px;height:16px;position:relative}.dialkit-toolbar-copy-icon{width:16px;height:16px;position:absolute;inset:0}.dialkit-text-control{height:var(--dial-row-height);background:var(--dial-surface);border-radius:var(--dial-radius);justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex}.dialkit-text-label{color:var(--dial-text-label);flex-shrink:0;font-size:13px;font-weight:500}.dialkit-text-input{min-width:0;color:var(--dial-text-label);text-align:right;cursor:text;background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:13px;font-weight:500}.dialkit-text-input:focus{color:var(--dial-text-focus)}.dialkit-text-input::placeholder{color:var(--dial-text-tertiary)}.dialkit-select-trigger{width:100%;height:var(--dial-row-height);color:var(--dial-text-label);background:var(--dial-surface);border-radius:var(--dial-radius);cursor:pointer;border:none;justify-content:space-between;align-items:center;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s;display:flex}.dialkit-select-trigger:hover{background:var(--dial-surface-hover)}.dialkit-select-trigger[data-open=true]{background:var(--dial-surface-active)}.dialkit-select-label{color:var(--dial-text-label);flex-shrink:0;font-size:13px;font-weight:500;transform:translateY(-.5px)}.dialkit-select-right{align-items:center;gap:8px;display:flex}.dialkit-select-value{color:var(--dial-text-label);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden;transform:translateY(-.5px)}.dialkit-select-chevron{box-sizing:border-box;opacity:.6;flex-shrink:0;width:20px;height:20px;padding:2px}.dialkit-select-dropdown{background:var(--dial-glass-bg);border:1px solid var(--dial-border);border-radius:var(--dial-radius);z-index:10000;box-shadow:var(--dial-shadow-dropdown);padding:4px}.dialkit-select-option{width:100%;color:var(--dial-text-label);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:block}.dialkit-select-option:hover{background:var(--dial-surface-hover)}.dialkit-select-option[data-selected=true]{color:var(--dial-text-primary);background:var(--dial-surface-active)}.dialkit-color-control{height:var(--dial-row-height);background:var(--dial-surface);border-radius:var(--dial-radius);justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex}.dialkit-color-label{color:var(--dial-text-label);flex-shrink:0;font-size:13px;font-weight:500;transform:translateY(-.5px)}.dialkit-color-inputs{align-items:center;gap:8px;display:flex}.dialkit-color-hex{color:var(--dial-text-label);cursor:text;font-family:Geist Mono,monospace;font-size:13px;font-weight:500;transform:translateY(-.5px)}.dialkit-color-hex-input{width:7ch;color:var(--dial-text-label);text-transform:uppercase;background:0 0;border:none;outline:none;padding:0;font-family:Geist Mono,monospace;font-size:13px;font-weight:500;transform:translateY(-.5px)}.dialkit-color-hex-input:focus{color:var(--dial-text-focus)}.dialkit-color-swatch{border:1px solid var(--dial-border-hover);cursor:pointer;border-radius:4px;width:20px;height:20px;transition:transform .15s}.dialkit-color-swatch:hover{transform:scale(1.1)}.dialkit-color-picker-native{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.dialkit-preset-manager{flex:1;position:relative}.dialkit-preset-trigger{width:100%;height:var(--dial-row-height);color:var(--dial-text-label);background:var(--dial-surface);border-radius:var(--dial-radius);cursor:pointer;border:none;justify-content:space-between;align-items:center;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s;display:flex}.dialkit-preset-trigger:hover{background:var(--dial-surface-hover)}.dialkit-preset-trigger[data-disabled=true]{cursor:default}.dialkit-preset-trigger[data-disabled=true]:hover{background:var(--dial-surface)}.dialkit-preset-trigger[data-open=true]{background:var(--dial-surface-active)}.dialkit-preset-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dialkit-preset-dropdown{background:var(--dial-dropdown-bg);border:1px solid var(--dial-border);z-index:10000;width:max-content;box-shadow:var(--dial-shadow-dropdown);border-radius:12px;padding:4px}.dialkit-preset-list{border-bottom:1px solid var(--dial-border);flex-direction:column;gap:2px;margin-bottom:4px;padding-bottom:4px;display:flex}.dialkit-preset-item{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;transition:background .15s;display:flex}.dialkit-preset-item:hover{background:var(--dial-surface-hover)}.dialkit-preset-item[data-active=true]{background:var(--dial-surface-active)}.dialkit-preset-name{color:var(--dial-text-label);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.dialkit-preset-item[data-active=true] .dialkit-preset-name{color:var(--dial-text-primary)}.dialkit-preset-delete{cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:opacity .15s;display:flex}.dialkit-preset-item:hover .dialkit-preset-delete{opacity:.6}.dialkit-preset-delete:hover{opacity:1!important}.dialkit-preset-delete svg{width:14px;height:14px;color:var(--dial-text-focus);pointer-events:none}.dialkit-preset-save-btn{width:100%;color:var(--dial-text-label);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.dialkit-preset-save-btn:hover{background:var(--dial-surface-hover);color:var(--dial-text-primary)}.dialkit-preset-save-btn svg{width:12px;height:12px}.dialkit-preset-save-row{align-items:center;gap:6px;padding:4px;display:flex}.dialkit-preset-input{min-width:0;color:var(--dial-text-primary);background:var(--dial-surface);border:1px solid var(--dial-border);border-radius:6px;outline:none;flex:1;padding:6px 8px;font-family:inherit;font-size:13px}.dialkit-preset-input:focus{border-color:var(--dial-text-label)}.dialkit-preset-input::placeholder{color:var(--dial-text-tertiary)}.dialkit-preset-confirm{background:var(--dial-surface);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background .15s;display:flex}.dialkit-preset-confirm:hover:not(:disabled){background:var(--dial-surface-hover)}.dialkit-preset-confirm:disabled{opacity:.4;cursor:not-allowed}.dialkit-preset-confirm svg{width:14px;height:14px;color:var(--dial-text-label)}.dialkit-shortcut-pill{color:var(--dial-text-tertiary);background:var(--dial-surface-subtle);letter-spacing:.02em;white-space:nowrap;vertical-align:middle;border-radius:4px;margin-left:6px;padding:1px 5px;font-family:system-ui,-apple-system,sans-serif;font-size:10px;font-weight:600;line-height:16px;transition:color .15s,background .15s;display:inline-block}.dialkit-shortcut-pill-active{color:var(--dial-text-primary);background:var(--dial-border-hover)}.dialkit-shortcuts-trigger{width:var(--dial-row-height);height:var(--dial-row-height);background:var(--dial-surface);border-radius:var(--dial-radius);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s;display:flex}.dialkit-shortcuts-trigger:hover{background:var(--dial-surface-hover)}.dialkit-shortcuts-trigger svg{width:16px;height:16px;color:var(--dial-text-label)}.dialkit-shortcuts-dropdown{background:var(--dial-dropdown-bg);border:1px solid var(--dial-border);z-index:10000;box-shadow:var(--dial-shadow-dropdown);border-radius:12px;min-width:200px;padding:8px}.dialkit-shortcuts-title{color:var(--dial-text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:4px 8px 8px;font-size:11px;font-weight:600}.dialkit-shortcuts-list{flex-direction:column;gap:2px;display:flex}.dialkit-shortcuts-row{border-radius:6px;align-items:center;gap:10px;padding:6px 8px;display:flex}.dialkit-shortcuts-row-key{color:var(--dial-text-secondary);background:var(--dial-surface-subtle);text-align:center;border-radius:4px;min-width:28px;padding:2px 6px;font-family:ui-monospace,SF Mono,Courier New,monospace;font-size:11px;font-weight:600}.dialkit-shortcuts-row-label{color:var(--dial-text-label);flex:1;font-size:13px;font-weight:500}.dialkit-shortcuts-row-mode{color:var(--dial-text-tertiary);font-size:11px;font-style:italic;font-weight:500}.dialkit-shortcuts-hint{color:var(--dial-text-tertiary);border-top:1px solid var(--dial-border);margin-top:4px;padding:6px 8px 2px;font-size:11px}.dialkit-root[data-theme=light]{--dial-surface:#0000000a;--dial-surface-hover:#00000014;--dial-surface-active:#0000001a;--dial-surface-subtle:#0000000f;--dial-text-root:#000;--dial-text-section:#000000a6;--dial-text-label:#0009;--dial-text-focus:#000;--dial-text-primary:#000000e6;--dial-text-secondary:#0000008c;--dial-text-tertiary:#00000059;--dial-border:#0000001a;--dial-border-hover:#00000026;--dial-glass-bg:#fafafa;--dial-dropdown-bg:#fff;--dial-shadow:0 4px 20px #00000014;--dial-shadow-collapsed:0 2px 10px #0000000f;--dial-shadow-dropdown:0 4px 16px #00000014}.dialkit-root[data-theme=light] .dialkit-spring-viz line{stroke:#00000014}.dialkit-root[data-theme=light] .dialkit-spring-viz line[stroke-dasharray]{stroke:#00000026}.dialkit-root[data-theme=light] .dialkit-spring-viz path{stroke:#00000080}.dialkit-root[data-theme=light] .dialkit-toggle-thumb{box-shadow:0 0 0 1px #0000000f,0 1px 2px #00000014}@media (prefers-color-scheme:light){.dialkit-root[data-theme=system]{--dial-surface:#0000000a;--dial-surface-hover:#00000014;--dial-surface-active:#0000001a;--dial-surface-subtle:#0000000f;--dial-text-root:#000;--dial-text-section:#000000a6;--dial-text-label:#0009;--dial-text-focus:#000;--dial-text-primary:#000000e6;--dial-text-secondary:#0000008c;--dial-text-tertiary:#00000059;--dial-border:#0000001a;--dial-border-hover:#00000026;--dial-glass-bg:#fafafa;--dial-dropdown-bg:#fff;--dial-shadow:0 4px 20px #00000014;--dial-shadow-collapsed:0 2px 10px #0000000f;--dial-shadow-dropdown:0 4px 16px #00000014}.dialkit-root[data-theme=system] .dialkit-spring-viz line{stroke:#00000014}.dialkit-root[data-theme=system] .dialkit-spring-viz line[stroke-dasharray]{stroke:#00000026}.dialkit-root[data-theme=system] .dialkit-spring-viz path{stroke:#00000080}.dialkit-root[data-theme=system] .dialkit-toggle-thumb{box-shadow:0 0 0 1px #0000000f,0 1px 2px #00000014}}:root{--bg:#0f110e;--fg:#d8ded4;--accent:#a0a89a;--mid:#404a3d;--font-main:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--space-label-gap:16px;--space-section-x:40px;--space-about-top:40px;--space-about-bottom:140px;--space-work-top:0px;--space-work-bottom:100px;--space-signal-top:0px;--space-signal-bottom:180px;--space-artifacts-top:120px;--space-artifacts-bottom:60px;--space-footer-top:60px;--space-footer-bottom:60px;--space-artifacts-inline:max(40px, calc((100vw - 640px) / 2 + 40px));--nav-scroll-offset:88px}*{box-sizing:border-box;cursor:crosshair;margin:0;padding:0}body{background-color:var(--bg);color:var(--fg);font-family:var(--font-main);-webkit-font-smoothing:antialiased;line-height:1.4;overflow-x:hidden}.app{isolation:isolate;width:100%;max-width:100%;overflow-x:clip}main{position:relative}section{padding:var(--space-about-top) var(--space-section-x) var(--space-about-bottom);max-width:640px;scroll-margin-top:var(--nav-scroll-offset);margin:0 auto;position:relative}section.full-width{max-width:100%;padding-left:0;padding-right:0}[data-section=artifacts]{padding-top:var(--space-artifacts-top);padding-bottom:var(--space-artifacts-bottom)}.section-label{letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--space-label-gap);align-items:center;gap:15px;font-size:10px;display:flex}nav{z-index:1000;gap:24px;display:flex;position:fixed;top:40px;left:50%;transform:translate(-50%)}nav a{color:var(--fg);letter-spacing:.1em;text-transform:uppercase;font-size:10px;text-decoration:none;transition:opacity .3s}nav a:hover{opacity:.5}.project-grid{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.project-card{grid-column:span 6;margin-bottom:48px}.project-card.large{grid-column:span 8}.project-card.small{grid-column:4/span 4}.img-container{aspect-ratio:4/5;background:var(--mid);width:100%;position:relative;overflow:hidden}.img-container img{object-fit:cover;filter:saturate(.8)contrast(1.05);width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1)}.project-card:hover img{transform:scale(1.03)}.project-meta{justify-content:space-between;align-items:flex-start;margin-top:20px;display:flex}.project-title{letter-spacing:-.02em;font-size:18px;font-weight:400}.project-tags{text-transform:uppercase;letter-spacing:.05em;color:var(--fg);opacity:.6;text-align:right;font-size:11px}.grid-typography{padding:var(--space-work-top) var(--space-section-x) var(--space-work-bottom)}[data-section=about]{padding-top:var(--space-about-top);padding-bottom:var(--space-about-bottom);max-width:none;scroll-padding-left:max(var(--space-section-x), calc((100vw - 640px) / 2 + var(--space-section-x)));scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0;padding-left:0;padding-right:0;overflow:auto hidden}.grid-list{flex-direction:column;display:flex}.grid-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #d8ded40f;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:14px 0;text-decoration:none;transition:color .3s;display:grid}.grid-item:first-child{border-top:1px solid #d8ded414}.grid-item:hover{color:var(--accent)}.project-grid-trigger[data-tile-meta-state=cooldown]:hover{color:inherit}.grid-item:focus,.grid-item:focus-visible{box-shadow:none;outline:none}.project-grid-trigger[data-tile-meta-state=hidden] .grid-name,.project-grid-trigger[data-tile-meta-state=restoring] .grid-name{visibility:hidden}.grid-id{display:none}.grid-name{letter-spacing:-.01em;font-size:16px;font-weight:400}.grid-cat{color:var(--fg);opacity:.45;white-space:nowrap;font-size:13px;font-weight:400;transition:opacity .2s}.grid-right{align-items:center;display:flex;position:relative}.grid-status{text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;opacity:0;color:var(--fg);align-items:center;gap:6px;font-size:11px;transition:opacity .2s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.grid-item:hover .grid-cat{opacity:0}.grid-item:hover .grid-status{opacity:1}.project-grid-trigger[data-tile-meta-state=cooldown]:hover .grid-cat{opacity:.45}.project-grid-trigger[data-tile-meta-state=cooldown]:hover .grid-status{opacity:0}.status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-active .status-dot{background:#4caf50;box-shadow:0 0 6px #4caf50b3}.status-prototype .status-dot{background:#ffc107;box-shadow:0 0 6px #ffc107b3}.status-archived .status-dot{background:var(--mid)}.philosophy-track{width:max-content;padding-left:max(var(--space-section-x), calc((100vw - 640px) / 2 + var(--space-section-x)));padding-right:max(var(--space-section-x), calc(100vw - max(var(--space-section-x), calc((100vw - 640px) / 2 + var(--space-section-x))) - min(560px, calc(100vw - var(--space-section-x) * 2))));gap:128px;display:flex}.philosophy-slide{flex:0 0 min(560px, calc(100vw - (var(--space-section-x) * 2)));scroll-snap-align:start}.philosophy-copy{min-width:0}.manifesto{letter-spacing:-.02em;opacity:.85;padding:0 0 24px;font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.5}.intro-prose{letter-spacing:-.02em;color:var(--fg);opacity:.85;flex-direction:column;gap:20px;padding-bottom:24px;font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.5;display:flex}.intro-prose p{margin:0}.intro-emphasis{color:var(--fg);opacity:1;font-weight:500}.philosophy-panel{max-width:min(560px, calc(100vw - (var(--space-section-x) * 2)));min-height:156px}.philosophy-panel-title{margin-bottom:var(--space-label-gap);letter-spacing:.2em;text-transform:uppercase;font-size:10px;font-weight:400;line-height:1.4}.philosophy-table{letter-spacing:.01em;color:var(--fg);grid-template-columns:max-content 48px minmax(0,1fr) auto;gap:14px 18px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:clamp(.9rem,1.2vw,1rem);line-height:1.45;display:grid}.philosophy-table-row{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;display:grid;position:relative}.philosophy-table-left,.philosophy-table-right{white-space:nowrap;align-items:center;min-height:22px;display:flex}.philosophy-table-left{color:var(--fg);opacity:.62}.philosophy-table-right{color:var(--fg);opacity:.92}.philosophy-table-hint{color:var(--accent);opacity:0;white-space:nowrap;letter-spacing:.06em;pointer-events:none;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78em;transition:opacity .18s}.philosophy-table-row:hover .philosophy-table-hint{opacity:.7}.philosophy-table-arrow{width:48px;height:16px;color:var(--fg);opacity:.55;place-self:center;display:block;overflow:visible}@media (width<=600px){.philosophy-table{grid-template-columns:max-content 36px minmax(0,1fr);column-gap:10px}.philosophy-table-hint{display:none}}.philosophy-arrow-line,.philosophy-arrow-head{fill:none;stroke:currentColor;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.philosophy-table-right{min-width:0}.philosophy-list{letter-spacing:.02em;color:var(--fg);gap:8px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:1.45;list-style:none;display:grid}.philosophy-list-row{grid-template-columns:32px minmax(0,1fr);column-gap:12px;min-height:20px;display:grid}.philosophy-list-number{color:var(--accent);opacity:.7}.philosophy-list-link{color:inherit;text-decoration:none;transition:opacity .2s;display:inline}.philosophy-list-link:hover{opacity:1}.philosophy-list-author{color:#d8ded485}.philosophy-list-sep{color:#d8ded44d}.philosophy-list-title{color:var(--fg);font-style:italic}.philosophy-pill-list{flex-wrap:wrap;gap:10px;max-width:420px;margin-left:-12px;display:flex}.philosophy-subpanel-title{margin-top:36px;margin-bottom:var(--space-label-gap);letter-spacing:.2em;text-transform:uppercase;border-top:1px solid #d8ded414;padding-top:20px;font-size:10px;font-weight:400;line-height:1.4}.philosophy-pill{letter-spacing:.02em;min-height:30px;color:var(--fg);opacity:1;white-space:nowrap;border:1px solid #d8ded438;border-radius:999px;align-items:center;padding:7px 12px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:11px;line-height:1;display:inline-flex}.dim{color:var(--mid)}.carousel-dots{display:none}footer{max-width:640px;padding:var(--space-footer-top) var(--space-section-x) var(--space-footer-bottom);border-top:1px solid #d8ded414;grid-template-columns:1fr 1fr;gap:40px;margin:0 auto;display:grid}.contact-large{letter-spacing:-.05em;color:var(--fg);font-size:4vw;text-decoration:none;display:block}.status-pill{text-transform:uppercase;white-space:nowrap;border:1px solid var(--mid);border-radius:20px;align-items:center;gap:10px;margin-left:-32px;padding:8px 16px;font-size:11px;display:inline-flex}.dot{background:var(--fg);border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px #d8ded480}.signal-stream-section{padding-top:var(--space-signal-top);padding-bottom:var(--space-signal-bottom)}.newsletter-block{border-top:1px solid #d8ded41a;border-bottom:1px solid #d8ded41a;padding:16px 0}.newsletter-inner{grid-template-columns:1fr 1fr;align-items:center;gap:32px;display:grid}.newsletter-desc{letter-spacing:-.01em;margin-bottom:8px;font-size:.85rem;font-weight:300}.newsletter-tagline{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);opacity:.8;font-size:10px}.newsletter-form{gap:8px;display:flex}.newsletter-input{border:1px solid var(--mid);color:var(--fg);font-family:var(--font-main);letter-spacing:.02em;background:0 0;outline:none;flex:1;padding:10px 12px;font-size:11px;transition:border-color .3s}.newsletter-input:focus{border-color:var(--fg)}.newsletter-btn{background:var(--fg);color:var(--bg);font-family:var(--font-main);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border:none;padding:10px 18px;font-size:10px;font-weight:500;transition:background .3s}.newsletter-btn:hover{background:var(--accent)}.masonry-grid{padding-left:var(--space-artifacts-inline);scroll-padding-left:var(--space-artifacts-inline);align-items:flex-start;gap:12px;padding-right:80px;display:flex;overflow:auto visible}.masonry-column{flex-direction:column;flex:0 0 260px;gap:12px;display:flex}.masonry-card{flex-shrink:0;overflow:hidden}.artifact-trigger{background-color:var(--mid);width:100%;color:inherit;font:inherit;text-align:left;contain:layout paint;will-change:transform;border:0;outline:none;padding:0;display:block;position:relative}.artifact-trigger:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0f110e00,#0f110ebd);height:58%;position:absolute;inset:auto 0 0}.artifact-trigger:focus,.artifact-trigger:focus-visible,.artifact-popup:focus,.artifact-popup:focus-visible,.artifact-close:focus,.artifact-close:focus-visible{box-shadow:none;outline:none}.artifact-tile-meta{color:var(--fg);opacity:1;visibility:visible;z-index:2;justify-content:flex-start;align-items:flex-end;padding:18px;display:flex;position:absolute;inset:auto 0 0}.artifact-tile-title{line-height:1.2;display:inline-block}.masonry-card .img-container{height:100%;aspect-ratio:unset}.masonry-card .img-container img{height:100%}.artifacts-label{padding-left:var(--space-artifacts-inline);margin-bottom:16px}.artifact-overlay{z-index:1800;pointer-events:none;--artifact-modal-duration:.24s;position:fixed;inset:0}.artifact-backdrop{z-index:0;opacity:0;pointer-events:auto;background:#0f110ead;border:0;padding:0;transition:opacity .26s;position:fixed;inset:0}.artifact-overlay[data-open=true] .artifact-backdrop{opacity:1}.artifact-overlay[data-open=true]:not([data-closing=true]){--artifact-modal-duration:.44s}.artifact-overlay[data-open=true] .artifact-title-layer{letter-spacing:-.04em;font-size:clamp(3rem,8vw,8rem);font-weight:400;line-height:.92}.artifact-overlay[data-ready=true]:not([data-closing=true]) .artifact-title-layer{visibility:hidden}.artifact-overlay[data-open=true]:not([data-closing=true]) .artifact-article{visibility:visible}.artifact-overlay[data-closing=true] .artifact-article{opacity:0;visibility:visible;transition:opacity .12s}.artifact-overlay[data-ready=true] .artifact-article-title{visibility:visible}.artifact-overlay[data-ready=true] .artifact-popup{overflow:auto}.artifact-overlay[data-open=true]:not([data-closing=true]) .artifact-popup{border-color:#d8ded438}.artifact-overlay[data-closing=true] .artifact-close{opacity:0;transition-duration:80ms}.artifact-overlay[data-closing=true] .artifact-title-layer{opacity:1;visibility:visible;transition:top var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1), left var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1), font-size var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1), letter-spacing var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1), line-height var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1)}.artifact-overlay[data-title-returning=true] .artifact-title-layer{letter-spacing:-.02em;font-size:18px;line-height:1.2}.artifact-popup{z-index:1;background-color:var(--bg);color:var(--fg);box-shadow:none;contain:paint;pointer-events:auto;transition:top var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1), left var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1), width var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1), height var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1), border-color .22s ease;will-change:top, left, width, height;border:1px solid #0000;outline:0;position:fixed;overflow:hidden}.artifact-popup::-webkit-scrollbar{width:0;height:0}.artifact-modal-meta{color:var(--fg);z-index:2;opacity:0;background:linear-gradient(#0000 0%,#0f110eb8 100%);justify-content:space-between;align-items:flex-end;gap:20px;padding:24px;transition:opacity .3s;display:flex;position:absolute;inset:auto 0 0}.artifact-modal-meta-title{letter-spacing:-.02em;font-size:18px;font-weight:400;line-height:1.2}.artifact-modal-meta-tags{text-transform:uppercase;letter-spacing:.05em;color:var(--fg);opacity:.6;white-space:nowrap;text-align:right;font-size:11px}.artifact-overlay[data-ready=true]:not([data-closing=true]) .artifact-modal-meta{opacity:1}.artifact-continuity-image{object-fit:cover;object-position:50% 50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.artifact-article{z-index:1;background:linear-gradient(to bottom, #0f110e00 0, #0f110e00 min(620px, 80vh), var(--bg) min(620px, 80vh));opacity:1;visibility:hidden;min-height:100%;position:relative}.artifact-article-hero{height:min(620px,80vh);position:relative}.artifact-article-body{background:var(--bg)}.artifact-article .metadata-grid{background:var(--bg);border-bottom:1px solid #d8ded41a;grid-template-columns:2fr 1fr 1fr 1fr;padding:40px 80px;display:grid}.artifact-article .metadata-grid.reveal,.artifact-article .content-section.reveal{--reveal-y:0px;filter:none;transition:opacity .26s}.artifact-article-title{z-index:2;max-width:calc(100% - 160px);color:var(--fg);letter-spacing:-.04em;visibility:hidden;font-size:clamp(3rem,8vw,8rem);font-weight:400;line-height:.92;position:absolute;top:calc(min(620px,80vh) - 180px);left:80px}.artifact-article .meta-item .label{text-transform:uppercase;letter-spacing:.1em;opacity:.6;margin-bottom:8px;font-size:10px;display:block}.artifact-article .meta-item .value{color:var(--fg);font-size:14px;font-weight:500}.artifact-article .content-section{background:var(--bg);grid-template-columns:repeat(12,1fr);gap:40px;max-width:1400px;margin:0 auto;padding:120px 80px;display:grid}.artifact-article .narrative{grid-column:4/span 6}.artifact-article .narrative p{margin-bottom:40px;font-size:22px;font-weight:300;line-height:1.5}.artifact-article .sketch-container{background:#d8ded405;border:1px solid #d8ded41a;grid-column:1/-1;justify-content:center;align-items:center;height:500px;margin:80px 0;display:flex;position:relative}.artifact-article .sketch-svg{width:80%;height:80%}.artifact-article .img-spread{grid-column:1/-1;grid-template-columns:1fr 1.5fr;gap:20px;margin:80px 0;display:grid}.artifact-article .img-spread img{filter:saturate(.8)contrast(1.05);width:100%}.artifact-article .section-label{letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--space-label-gap);color:var(--fg);grid-column:1/span 3;align-items:center;gap:15px;font-size:10px;display:flex}.artifact-article .section-label:after{content:"";background:#d8ded466;width:40px;height:1px}.media-placeholder{text-align:center;background:#d8ded405;border:1px solid #d8ded41a;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;margin:80px 0;display:flex;position:relative}.media-placeholder-tag{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);opacity:.65;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:10px}.media-placeholder-caption{color:var(--fg);opacity:.45;letter-spacing:.01em;font-size:12px}.img-spread.media-placeholder-pair{grid-template-columns:1fr 1fr;gap:20px;margin:80px 0;display:grid}.img-spread.media-placeholder-pair .media-placeholder{grid-column:auto;margin:0;height:280px!important}@media (width<=900px){.media-placeholder{margin:40px 0;height:200px!important}.img-spread.media-placeholder-pair{grid-template-columns:1fr;gap:12px;margin:40px 0}.img-spread.media-placeholder-pair .media-placeholder{height:180px!important}}.artifact-popup *,.artifact-popup:focus,.artifact-popup:focus-visible,.artifact-popup :focus,.artifact-popup :focus-visible{box-shadow:none!important;border-color:#0000!important;outline:none!important}.artifact-title-layer{z-index:2;color:var(--fg);letter-spacing:-.02em;pointer-events:none;opacity:1;transform-origin:0 0;transition:top var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1), left var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1), font-size var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1), letter-spacing var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1), line-height var(--artifact-modal-duration) cubic-bezier(.4, 0, .2, 1);will-change:top, left, font-size;font-size:18px;font-weight:400;line-height:1.2;position:fixed}@media (prefers-reduced-motion:reduce){.artifact-backdrop,.artifact-popup,.artifact-title-layer{transition-duration:1ms}}.artifact-close{z-index:3;width:30px;height:30px;color:var(--fg);font:inherit;text-align:center;text-transform:none;opacity:1;background:#0f110ea8;border:0;border-radius:50%;padding:0;font-size:20px;line-height:28px;transition:opacity .16s;position:absolute;top:12px;right:12px}@media (width<=900px){:root{--space-artifacts-inline:20px}.project-card,.project-card.large,.project-card.small{grid-column:span 12}section{padding:80px 20px}[data-section=about]{padding:80px 0;scroll-padding-left:20px}.philosophy-track{gap:40px;padding-left:20px;padding-right:20px}.carousel-dots{z-index:1;align-items:center;gap:7px;margin-top:-56px;margin-bottom:24px;padding-left:20px;display:flex;position:relative}.carousel-dot{background:var(--fg);opacity:.2;border-radius:50%;width:4px;height:4px;transition:opacity .35s}.carousel-dot.active{opacity:.6}.philosophy-slide{flex-basis:calc(100vw - 40px)}.philosophy-copy{padding-right:0}.grid-typography{padding:0 20px 80px}.newsletter-inner{grid-template-columns:1fr}.masonry-grid{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-right:40px}.masonry-column{scroll-snap-align:start;min-width:200px;scroll-margin-left:var(--space-artifacts-inline);flex:0 0 200px}.masonry-card{flex-shrink:0}.artifact-trigger{min-height:0}.masonry-card .img-container{aspect-ratio:4/5;height:auto}.artifact-article .metadata-grid{grid-template-columns:repeat(2,1fr);gap:20px;padding:40px 20px}.artifact-article .content-section{gap:24px;padding:60px 20px}.artifact-article .narrative,.artifact-article .section-label,.artifact-article .sketch-container,.artifact-article .img-spread{grid-column:1/-1}.artifact-article .narrative p{font-size:17px}.artifact-article .sketch-container{height:240px;margin:40px 0}.artifact-article .img-spread{grid-template-columns:1fr;margin:40px 0}.artifact-article-hero{height:min(320px,55vh);padding:0}.artifact-article{background:linear-gradient(to bottom, #0f110e00 0, #0f110e00 min(320px, 55vh), var(--bg) min(320px, 55vh));overflow-x:hidden}.artifact-article-title{max-width:calc(100% - 40px);font-size:clamp(2rem,10vw,4rem);top:calc(min(320px,55vh) - 120px);left:20px}}@media (width<=480px){.masonry-column{flex:0 0 72vw;min-width:72vw}}.reveal{opacity:0;--reveal-y:30px;--parallax-y:0px;transform:translateY(calc(var(--reveal-y) + var(--parallax-y)));filter:blur(10px);transition:all 1s cubic-bezier(.2,0,.2,1)}.reveal.reveal-reverse{--reveal-y:-30px}.reveal.active{opacity:1;--reveal-y:0px;filter:blur()}.app[data-debug=true] .section-label{z-index:0;position:relative}.app[data-debug=true] .section-label:after{content:"";height:var(--space-label-gap);pointer-events:none;z-index:9996;background:#ff963c47;position:absolute;top:100%;left:0;right:0}.app[data-debug=true] [data-section=about]{background-image:linear-gradient(to right, #f0648c47 var(--space-section-x), transparent var(--space-section-x), transparent calc(100% - var(--space-section-x)), #f0648c47 calc(100% - var(--space-section-x))), linear-gradient(to bottom, #5082ff47 var(--space-about-top), transparent var(--space-about-top)), linear-gradient(to top, #3cc8a047 var(--space-about-bottom), transparent var(--space-about-bottom))}.app[data-debug=true] [data-section=work]{background-image:linear-gradient(to right, #f0648c47 var(--space-section-x), transparent var(--space-section-x), transparent calc(100% - var(--space-section-x)), #f0648c47 calc(100% - var(--space-section-x))), linear-gradient(to bottom, #5082ff47 var(--space-work-top), transparent var(--space-work-top)), linear-gradient(to top, #3cc8a047 var(--space-work-bottom), transparent var(--space-work-bottom))}.app[data-debug=true] [data-section=signal]{background-image:linear-gradient(to right, #f0648c47 var(--space-section-x), transparent var(--space-section-x), transparent calc(100% - var(--space-section-x)), #f0648c47 calc(100% - var(--space-section-x))), linear-gradient(to bottom, #5082ff47 var(--space-signal-top), transparent var(--space-signal-top)), linear-gradient(to top, #3cc8a047 var(--space-signal-bottom), transparent var(--space-signal-bottom))}.app[data-debug=true] [data-section=artifacts]{background-image:linear-gradient(to bottom, #5082ff47 var(--space-artifacts-top), transparent var(--space-artifacts-top)), linear-gradient(to top, #3cc8a047 var(--space-artifacts-bottom), transparent var(--space-artifacts-bottom))}.app[data-debug=true] [data-section=footer]{background-image:linear-gradient(to right, #f0648c47 var(--space-section-x), transparent var(--space-section-x), transparent calc(100% - var(--space-section-x)), #f0648c47 calc(100% - var(--space-section-x))), linear-gradient(to bottom, #5082ff47 var(--space-footer-top), transparent var(--space-footer-top)), linear-gradient(to top, #3cc8a047 var(--space-footer-bottom), transparent var(--space-footer-bottom))}.citation{white-space:nowrap;vertical-align:baseline;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;display:inline;position:relative}.citation-mark{font:inherit;color:inherit;cursor:help;vertical-align:middle;opacity:.7;background:0 0;border:0;align-items:center;gap:.04em;margin:0 .04em;padding:0 .08em;line-height:1;transition:opacity .18s;display:inline-flex;transform:translateY(-.32em)}.citation-mark:hover,.citation-mark:focus-visible,.citation[data-open=true] .citation-mark{opacity:1}.citation-mark:focus-visible{outline:none}.citation-bracket{opacity:.7;font-size:.55em;font-weight:400}.citation-glyph{font-size:.62em;line-height:1;display:inline-block}.citation-media{object-fit:cover;vertical-align:middle;filter:saturate(.8)contrast(1.05);border-radius:1px;width:.85em;height:.85em;display:inline-block}.citation-popover{width:max-content;max-width:min(280px,100vw - 32px);font-family:var(--font-main);letter-spacing:.005em;text-transform:none;color:var(--fg);text-align:left;white-space:normal;pointer-events:auto;cursor:default;-webkit-backdrop-filter:blur(8px);background:#0f110ef5;border:1px solid #d8ded424;flex-direction:column;font-size:12px;font-weight:400;line-height:1.55;animation:.14s citation-fade;display:flex;overflow:hidden;box-shadow:0 16px 36px #0000008c}@keyframes citation-fade{0%{opacity:0}to{opacity:1}}.citation-popover-image{filter:saturate(.8)contrast(1.05);flex-shrink:0;width:100%;height:auto;display:block}.citation-popover-note{opacity:.92;padding:12px 14px 0;display:block}.citation-popover[data-has-media=false] .citation-popover-note,.citation-popover:not([data-has-media]) .citation-popover-note{padding-top:14px}.citation-popover-link{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border-top:1px solid #d8ded41a;justify-content:space-between;align-items:baseline;gap:12px;margin:10px 14px 12px;padding-top:9px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:9px;text-decoration:none;transition:color .18s;display:flex}.citation-popover-link:hover{color:var(--fg)}.citation-popover-link-id{opacity:.6}.hero{justify-content:center;align-items:center;width:100vw;max-width:none;height:92vh;display:flex;position:relative;overflow:visible;-webkit-mask-image:linear-gradient(#000 0% 52%,#000000f0 62%,#000000c2 72%,#0000006b 83%,#0000001a 93%,#0000 100%);mask-image:linear-gradient(#000 0% 52%,#000000f0 62%,#000000c2 72%,#0000006b 83%,#0000001a 93%,#0000 100%)}.hero,.deconstructed-title,.diagram-container{overflow:visible}.deconstructed-title{z-index:10;width:100%;height:100%;position:relative;transform:translateY(10vh)}.word{letter-spacing:-.05em;white-space:nowrap;pointer-events:none;font-size:clamp(2rem,5vw,6rem);font-weight:500;position:absolute}.word-inner{will-change:transform;display:inline-block}.word .reveal{display:inline-block;position:relative}.diagram-container{pointer-events:none;z-index:15;will-change:transform;width:100%;height:100%;position:absolute;top:0;left:0}.state-diagram{display:block;position:absolute;top:0;left:0;overflow:visible}.edges,.system-groups{pointer-events:none}.system-group-boundary{fill:#d8ded405;stroke:#d8ded46b;stroke-width:1px}.system-group-label{fill:#d8ded4ad;letter-spacing:0;-webkit-user-select:none;user-select:none;font-family:monospace;font-size:10px;font-weight:400}.edge-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.edge-head{fill:none;stroke:var(--fg);stroke-width:2px;stroke-linecap:round;opacity:.5;vector-effect:non-scaling-stroke}.nodes{pointer-events:all}.node-group{cursor:pointer;transform-box:fill-box;transform-origin:50%;transform:rotate(var(--node-rotation,0deg)) scale(1);transition:transform .28s cubic-bezier(.22,1,.36,1)}.node-group:hover{transform:rotate(0)scale(1.08)}.node-group:active{transform:rotate(0)scale(1.03)}@keyframes node-pulse{0%,to{opacity:.3}50%{opacity:.7}}.node-circle{fill:#0000;stroke:var(--fg);stroke-width:1.5px;transition:fill .28s,stroke .28s,stroke-dasharray .28s,opacity .28s;animation:2.5s cubic-bezier(.4,0,.6,1) infinite both node-pulse}.node-box{fill:#0000;stroke:var(--fg);stroke-width:1.5px;stroke-dasharray:none;transition:fill .28s,stroke .28s,opacity .28s;animation:2.5s cubic-bezier(.4,0,.6,1) infinite both node-pulse}.node-box-divider{stroke:var(--fg);stroke-width:1px;opacity:.56;transition:stroke .28s,opacity .28s}.word-citation{pointer-events:auto;margin-left:.08em;font-size:.62em;line-height:1;position:absolute;top:0;left:100%}.word-citation .citation-mark{vertical-align:top;opacity:1;transform:translateY(.3em)}.word-citation .citation-bracket{opacity:.35}.word-citation .citation-glyph{opacity:1}.node-group:hover .node-circle{fill:var(--fg);stroke:var(--fg);stroke-dasharray:none;opacity:1;animation:none}.node-group:hover .node-box{fill:var(--fg);stroke:var(--fg);opacity:1;animation:none}.node-group:hover .node-box-divider{stroke:var(--bg);opacity:.56}.node-label{fill:var(--fg);letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:monospace;font-size:10px;font-weight:400;transition:fill .28s}.node-box-label{font-size:9px}.node-stack-label{fill:#d8ded4c7;font-size:9px}.node-group:hover .node-label{fill:var(--bg)}.node-group:hover .node-stack-label{fill:var(--fg)}.node-group:active .node-circle{opacity:1}.debug-panel{z-index:9999;border:1px solid var(--mid);width:300px;font-family:var(--font-main);color:var(--fg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:default;background:#0f110eeb;padding:16px;font-size:10px;position:relative;bottom:24px;right:24px}.dp-header{letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid var(--mid);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.dp-redraw{border:1px solid var(--mid);color:var(--accent);letter-spacing:.08em;cursor:pointer;font-size:10px;font-family:var(--font-main);background:0 0;padding:3px 8px;transition:border-color .2s}.dp-redraw:hover{border-color:var(--fg);color:var(--fg)}.dp-section-label{text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin:10px 0 6px;font-size:9px}.dp-row{grid-template-columns:78px 1fr 36px;align-items:center;gap:8px;margin-bottom:5px;display:grid}.dp-label{letter-spacing:.05em;opacity:.7;white-space:nowrap}.dp-row input[type=range]{appearance:none;background:var(--mid);cursor:ew-resize;outline:none;width:100%;height:2px}.dp-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--fg);cursor:ew-resize;border-radius:50%;width:10px;height:10px}.dp-val{text-align:right;opacity:.6;font-variant-numeric:tabular-nums;font-size:9px}.dp-hint{border-top:1px solid var(--mid);opacity:.3;letter-spacing:.1em;text-align:center;margin-top:12px;padding-top:8px}.dp-bg-picker{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px;display:grid}.dp-bg-btn{border:1px solid var(--mid);color:var(--fg);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-family:var(--font-main);cursor:pointer;background:0 0;padding:6px 0;transition:border-color .2s,color .2s,background-color .2s}.dp-bg-btn:hover{border-color:var(--fg)}.dp-bg-btn.active{border-color:var(--fg);background:#d8ded424}.project-overlay{z-index:2000;opacity:0;visibility:hidden;pointer-events:none;background:#0f110e00;justify-content:center;align-items:center;width:100%;height:100%;padding:40px;transition:opacity .24s ease-out,background .24s ease-out,visibility 0s linear .28s;display:flex;position:fixed;top:0;left:0}.project-overlay.active{opacity:1;visibility:visible;pointer-events:auto;background:#0f110eeb;transition:opacity .24s ease-out,background .24s ease-out,visibility linear}.mockup-frame{opacity:0;background:#1a1a1a;border:1px solid #d8ded414;border-radius:12px;width:80%;height:80%;transition:transform .32s cubic-bezier(.34,1.2,.64,1),opacity .24s ease-out;position:relative;overflow:hidden;transform:scale(.92);box-shadow:0 32px 80px #0009,0 0 0 .5px #ffffff0a}.mockup-frame.active{opacity:1;transform:scale(1)}.mockup-frame.mobile{width:320px;height:600px}.mockup-frame.mobile.active{opacity:1;transform:scale(1)}.mockup-frame img{object-fit:cover;width:100%;height:100%}.close-btn{color:var(--fg);text-transform:uppercase;letter-spacing:2px;cursor:pointer;z-index:2001;font-size:12px;position:absolute;top:40px;right:40px}.debug-overlay{pointer-events:none;z-index:9990;position:fixed;inset:0}.debug-col-guide{background:#ffffff03;border-left:1px dashed #ffffff1a;border-right:1px dashed #ffffff1a;position:absolute;inset:0 max(0px,50vw - 320px)}.debug-axis{background:#ff3c3ca6;width:1px;position:absolute;top:0;bottom:0}.debug-axis-l{left:max(40px,50vw - 280px)}.debug-axis-r{right:max(40px,50vw - 280px)}.debug-legend{color:#d8ded4cc;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f110eeb;border:1px solid #d8ded41f;padding:12px 14px;font-family:monospace;font-size:10px;line-height:1.6;position:fixed;bottom:20px;right:20px}.debug-legend-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.debug-legend-swatch{border-radius:1px;flex-shrink:0;width:8px;height:8px}.debug-legend-divider{background:#d8ded41f;height:1px;margin:8px 0 6px}.debug-legend-note{opacity:.45;text-transform:none;letter-spacing:.04em;margin-top:8px;font-size:9px}.debug-legend-note kbd{background:#d8ded41a;border:1px solid #d8ded433;border-radius:2px;padding:0 4px}.debug-frame-panel{color:#d8ded4e0;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f110eeb;border:1px solid #d8ded429;width:220px;padding:12px 14px 14px;font-family:monospace;position:fixed;top:20px;right:20px}.debug-frame-heading{letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:10px;display:flex}.debug-frame-live,.debug-frame-idle{letter-spacing:.08em;font-size:9px}.debug-frame-live{color:#8ff0b3}.debug-frame-idle{color:#d8ded46b}.debug-frame-grid{grid-template-columns:1fr auto;align-items:baseline;gap:5px 16px;font-size:10px;line-height:1.35;display:grid}.debug-frame-grid span{color:#d8ded47a;letter-spacing:.06em;text-transform:uppercase}.debug-frame-grid strong{color:#d8ded4f0;text-align:right;font-size:12px;font-weight:600}@media (width<=640px){.debug-frame-panel{width:190px;top:12px;right:12px}.debug-legend{bottom:12px;right:12px}}
