:root{--aho-color-bg:#f7f7f5;--aho-color-fg:#1a1a1a;--aho-color-accent:#1a1a1a;--aho-color-danger:#1a1a1a;--aho-color-success:#1a1a1a;--aho-color-warning:#1a1a1a;--aho-fg-muted:#737373;--aho-fg-dim:#a0a09c;--aho-fg-subtle:#c4c4c0;--aho-fg-ghost:#d9d9d5;--aho-bg-elevated:#fff;--aho-bg-surface:#eeeeec;--aho-bg-subtle:#f2f2f0;--aho-bg-inset:#e8e8e6;--aho-border:#2a2a2a;--aho-border-subtle:#d4d4d0;--aho-border-ghost:#e4e4e0;--aho-border-hover:#4a4a4a;--aho-font-ui:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--aho-font-mono:"SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--aho-text-xs:.65rem;--aho-text-sm:.75rem;--aho-text-md:.85rem;--aho-text-base:.95rem;--aho-text-lg:1.1rem;--aho-text-xl:1.5rem;--aho-text-2xl:2.4rem;--aho-text-3xl:3.2rem;--aho-weight-normal:400;--aho-weight-medium:500;--aho-weight-semibold:600;--aho-weight-bold:700;--aho-weight-extrabold:800;--aho-leading-tight:1.1;--aho-leading-snug:1.3;--aho-leading-normal:1.5;--aho-leading-relaxed:1.7;--aho-tracking-tight:-.03em;--aho-tracking-normal:0;--aho-tracking-wide:.04em;--aho-tracking-wider:.08em;--aho-tracking-widest:.12em;--aho-space-0:0px;--aho-space-1:4px;--aho-space-2:8px;--aho-space-3:12px;--aho-space-4:16px;--aho-space-5:20px;--aho-space-6:24px;--aho-space-7:32px;--aho-space-8:48px;--aho-space-9:64px;--aho-space-10:96px;--aho-radius-none:0px;--aho-radius-sm:0px;--aho-radius-md:0px;--aho-radius-lg:0px;--aho-shadow-none:none;--aho-shadow-sm:inset 0 0 0 1px var(--aho-border-subtle);--aho-shadow-md:inset 0 0 0 1px var(--aho-border);--aho-shadow-lg:4px 4px 0px 0px #1a1a1a2e;--aho-shadow-xl:8px 8px 0px 0px #1a1a1a1f;--aho-transition-fast:.1s;--aho-transition-base:.15s;--aho-transition-slow:.2s;--aho-z-base:0;--aho-z-dropdown:50;--aho-z-sticky:100;--aho-z-modal-backdrop:200;--aho-z-modal:300;--aho-z-toast:400}@media (prefers-color-scheme:dark){:root{--aho-color-bg:#121212;--aho-color-fg:#e8e8e6;--aho-color-accent:#e8e8e6;--aho-color-danger:#e8e8e6;--aho-color-success:#e8e8e6;--aho-color-warning:#e8e8e6;--aho-fg-muted:#8a8a88;--aho-fg-dim:#6a6a68;--aho-fg-subtle:#4a4a48;--aho-fg-ghost:#3a3a38;--aho-bg-elevated:#1a1a1a;--aho-bg-surface:#1c1c1a;--aho-bg-subtle:#181818;--aho-bg-inset:#0e0e0e;--aho-border:#e0e0de;--aho-border-subtle:#333332;--aho-border-ghost:#2a2a28;--aho-border-hover:#c0c0be;--aho-shadow-lg:4px 4px 0px 0px #e8e8e61a;--aho-shadow-xl:8px 8px 0px 0px #e8e8e612}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--aho-font-ui);color:var(--aho-color-fg);background:var(--aho-color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:var(--aho-leading-normal);font-feature-settings:"kern" 1, "liga" 1}body{background-color:var(--aho-color-bg);background-image:radial-gradient(circle, var(--aho-border-subtle) 1px, transparent 1px);background-size:24px 24px;min-height:100vh}a{color:var(--aho-color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,textarea{font:inherit;color:inherit;background:0 0;border:none;outline:none}code,pre{font-family:var(--aho-font-mono)}::selection{background:var(--aho-bg-inset);color:var(--aho-color-fg)}:focus-visible{outline:1px solid var(--aho-border-hover);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.aho-btn{justify-content:center;align-items:center;gap:var(--aho-space-2);font-size:var(--aho-text-sm);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);border:1px solid var(--aho-border-subtle);border-radius:var(--aho-radius-md);background:var(--aho-bg-surface);color:var(--aho-color-fg);cursor:pointer;transition:all var(--aho-transition-base);padding:6px 16px;line-height:1;display:inline-flex}.aho-btn:hover{background:var(--aho-bg-inset);border-color:var(--aho-border-hover)}.aho-btn:disabled{opacity:.4;cursor:not-allowed}.aho-input{border:1px solid var(--aho-border);border-radius:var(--aho-radius-lg);background:var(--aho-color-bg);width:100%;color:var(--aho-color-fg);font-size:var(--aho-text-md);font-family:var(--aho-font-mono);transition:all var(--aho-transition-base);padding:12px 16px}.aho-input::placeholder{color:var(--aho-fg-muted);font-family:var(--aho-font-ui)}.aho-input:focus{border-color:var(--aho-color-fg);box-shadow:var(--aho-shadow-lg)}.aho-card{background:var(--aho-bg-elevated);border:1px solid var(--aho-border-subtle);border-radius:var(--aho-radius-lg);padding:var(--aho-space-4);gap:var(--aho-space-3);transition:all var(--aho-transition-slow) ease;color:inherit;flex-direction:column;text-decoration:none;display:flex;position:relative}.aho-card:before,.aho-card:after{content:"";border-color:var(--aho-color-fg);width:8px;height:8px;transition:all var(--aho-transition-slow) ease;opacity:0;border-style:solid;position:absolute}.aho-card:before{border-width:1px 0 0 1px;top:-1px;left:-1px}.aho-card:after{border-width:0 1px 1px 0;bottom:-1px;right:-1px}.aho-card:hover{border-color:var(--aho-border);box-shadow:var(--aho-shadow-lg);transform:translate(-2px,-2px)}.aho-card:hover:before,.aho-card:hover:after{opacity:1}.aho-badge{font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);border-radius:var(--aho-radius-sm);background:var(--aho-bg-inset);color:var(--aho-color-fg);border:1px solid var(--aho-border-subtle);align-items:center;gap:4px;padding:3px 8px;line-height:1.4;display:inline-flex}.aho-badge--secondary{background:var(--aho-color-bg);color:var(--aho-color-fg);border-color:var(--aho-border-subtle)}.aho-badge--outline{color:var(--aho-color-fg);border-color:var(--aho-border-hover);background:0 0}.aho-badge--striped{background:repeating-linear-gradient(45deg, var(--aho-border-subtle), var(--aho-border-subtle) 1px, transparent 1px, transparent 4px);color:var(--aho-color-fg);border-color:var(--aho-border-subtle)}.aho-badge--dashed{color:var(--aho-color-fg);border-style:dashed;border-color:var(--aho-border-hover);background:0 0}.aho-badge--double{background:var(--aho-bg-inset);color:var(--aho-color-fg);border:2px double var(--aho-border-subtle)}.aho-tag{font-size:var(--aho-text-xs);border-radius:var(--aho-radius-sm);background:var(--aho-bg-surface);color:var(--aho-fg-muted);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);font-weight:var(--aho-weight-semibold);border:1px solid var(--aho-border-subtle);padding:2px 6px}.aho-modal-overlay{backdrop-filter:blur(3px);z-index:200;background:#12121259;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.aho-modal{background:var(--aho-color-bg);border:1px solid var(--aho-border);border-radius:var(--aho-radius-lg);padding:var(--aho-space-6);min-width:360px;max-width:420px;box-shadow:var(--aho-shadow-xl);position:relative}.aho-modal__title{font-size:var(--aho-text-lg);margin-bottom:var(--aho-space-4);font-weight:var(--aho-weight-extrabold);letter-spacing:var(--aho-tracking-tight)}.aho-modal__close{top:var(--aho-space-3);right:var(--aho-space-3);color:var(--aho-fg-muted);cursor:pointer;width:28px;height:28px;transition:all var(--aho-transition-base);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:flex;position:absolute}.aho-modal__close:hover{border-color:var(--aho-border);color:var(--aho-color-fg)}.layout-root{flex-direction:column;min-height:100vh;display:flex;position:relative}main{width:100%;max-width:1200px;padding:var(--aho-space-6);flex:1;margin:0 auto}footer{padding:var(--aho-space-4) var(--aho-space-6);color:var(--aho-fg-muted);font-size:var(--aho-text-sm);text-transform:uppercase;letter-spacing:var(--aho-tracking-widest);font-weight:var(--aho-weight-medium);border-top:1px solid var(--aho-border-subtle);justify-content:space-between;align-items:center;display:flex}.footer-nav{align-items:center;gap:var(--aho-space-4);display:flex}footer a{color:var(--aho-fg-muted);font-size:var(--aho-text-sm);text-transform:uppercase;letter-spacing:var(--aho-tracking-widest);font-weight:var(--aho-weight-medium);transition:color var(--aho-transition-base);text-decoration:none}footer a:hover{color:var(--aho-color-fg);text-decoration:none}.loading{text-align:center;padding:var(--aho-space-8);color:var(--aho-fg-muted);font-family:var(--aho-font-mono);font-size:var(--aho-text-sm);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider)}.hero{padding:var(--aho-space-10) var(--aho-space-6) var(--aho-space-8);border-bottom:1px solid var(--aho-border-subtle);margin-bottom:var(--aho-space-6);position:relative;overflow:hidden}.hero-bg{pointer-events:none;position:absolute;inset:0}.hero-grid{background-image:linear-gradient(var(--aho-border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--aho-border-subtle) 1px, transparent 1px);opacity:.5;background-size:64px 64px;position:absolute;inset:0;mask-image:linear-gradient(#0000,#000 20% 80%,#0000)}.hero-grid:after{content:"";background:repeating-linear-gradient(45deg, transparent, transparent 10px, color-mix(in srgb, var(--aho-border) 5%, transparent) 10px, color-mix(in srgb, var(--aho-border) 5%, transparent) 11px);position:absolute;inset:0}.hero-cross{opacity:.3;width:48px;height:48px;position:absolute;top:32px;right:32px}.hero-cross line{stroke:var(--aho-color-fg);stroke-width:1px}.hero-box{border:1px solid var(--aho-border-subtle);opacity:.4;width:96px;height:96px;position:absolute;bottom:24px;left:24px}.hero-box:before{content:"";border:1px solid var(--aho-border-subtle);position:absolute;inset:8px}.hero-box:after{content:"";border:1px solid var(--aho-border-subtle);position:absolute;inset:16px}.hero-inner{text-align:center;max-width:640px;margin:0 auto;position:relative}.hero-title{font-size:var(--aho-text-2xl);font-weight:var(--aho-weight-extrabold);letter-spacing:var(--aho-tracking-tight);line-height:var(--aho-leading-tight);margin-bottom:var(--aho-space-3);color:var(--aho-color-fg)}.hero-subtitle{font-size:var(--aho-text-base);font-weight:var(--aho-weight-medium);color:var(--aho-fg-muted);letter-spacing:var(--aho-tracking-wider);text-transform:uppercase;margin-bottom:var(--aho-space-6)}.hero-mcp{align-items:center;gap:var(--aho-space-3);padding:var(--aho-space-2) var(--aho-space-4);background:var(--aho-bg-surface);border:1px solid var(--aho-border-subtle);border-radius:var(--aho-radius-lg);font-size:var(--aho-text-md);cursor:pointer;color:inherit;transition:all var(--aho-transition-base);font-family:inherit;display:inline-flex}.hero-mcp:hover{border-color:var(--aho-border);box-shadow:2px 2px 0px 0px var(--aho-color-fg)}.hero-mcp.copied{background:var(--aho-bg-inset);border-color:var(--aho-border-hover)}.hero-mcp.copied .hero-mcp-label{background:var(--aho-bg-inset);color:var(--aho-color-fg);border-color:var(--aho-border-subtle)}.hero-mcp.copied .hero-mcp-cmd{color:var(--aho-color-fg)}.hero-mcp.copied .hero-mcp-hint{color:var(--aho-fg-muted)}.hero-mcp-label{font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);color:var(--aho-fg-muted);background:var(--aho-color-bg);border:1px solid var(--aho-border-subtle);padding:2px 8px}.hero-mcp-cmd{font-family:var(--aho-font-mono);font-weight:var(--aho-weight-bold);font-size:var(--aho-text-sm);color:var(--aho-color-fg);text-overflow:ellipsis;white-space:nowrap;max-width:360px;display:inline-block;overflow:hidden}.hero-mcp-hint{color:var(--aho-fg-muted);font-size:var(--aho-text-sm)}.search-form{align-items:center;max-width:520px;margin:0 auto;display:flex;position:relative}.search-icon{color:var(--aho-fg-muted);pointer-events:none;z-index:1;font-size:1rem;position:absolute;left:14px}.search-input{border:1px solid var(--aho-border);border-radius:var(--aho-radius-lg);background:var(--aho-color-bg);width:100%;color:var(--aho-color-fg);font-size:var(--aho-text-md);transition:all var(--aho-transition-base);font-family:var(--aho-font-mono);outline:none;padding:14px 120px 14px 40px}.search-input:focus{border-color:var(--aho-color-fg);box-shadow:var(--aho-shadow-lg)}.search-input::placeholder{color:var(--aho-fg-muted);font-family:var(--aho-font-ui)}.search-submit{background:var(--aho-bg-inset);color:var(--aho-color-fg);border:1px solid var(--aho-border-subtle);border-radius:var(--aho-radius-md);font-weight:var(--aho-weight-bold);font-size:var(--aho-text-xs);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);cursor:pointer;transition:all var(--aho-transition-base);padding:8px 20px;position:absolute;right:6px}.search-submit:hover{background:var(--aho-bg-surface);border-color:var(--aho-border-hover)}.catalog{margin-top:var(--aho-space-4);display:block}.sidebar{align-self:start;position:sticky;top:60px}.sidebar-loading{color:var(--aho-fg-muted);font-size:var(--aho-text-sm);padding:var(--aho-space-4);font-family:var(--aho-font-mono);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider)}.filter-group{margin-bottom:var(--aho-space-6)}.filter-group-head{margin-bottom:var(--aho-space-3);padding-bottom:var(--aho-space-2);border-bottom:1px solid var(--aho-border-subtle);justify-content:space-between;align-items:baseline;display:flex}.filter-group-title{font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-widest);color:var(--aho-fg-muted)}.filter-group-count{font-size:var(--aho-text-xs);color:var(--aho-fg-muted);font-family:var(--aho-font-mono)}.filter-list{list-style:none}.filter-item{margin-bottom:1px}.filter-link{border-radius:var(--aho-radius-sm);font-size:var(--aho-text-sm);color:var(--aho-color-fg);transition:all var(--aho-transition-fast);cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:center;padding:5px 8px;text-decoration:none;display:flex}.filter-link:hover{background:var(--aho-bg-surface);border-color:var(--aho-border-subtle);text-decoration:none}.filter-link.active{background:var(--aho-bg-inset);color:var(--aho-color-fg);border-color:var(--aho-border-hover)}.filter-link.active .filter-count{color:var(--aho-fg-muted)}.filter-name{align-items:center;gap:var(--aho-space-1);display:flex}.filter-verified{color:var(--aho-color-fg);font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold)}.filter-count{font-size:var(--aho-text-xs);color:var(--aho-fg-muted);font-family:var(--aho-font-mono)}.filter-clear{width:100%;margin-top:var(--aho-space-3);font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);color:var(--aho-color-fg);background:var(--aho-color-bg);border:1px solid var(--aho-border);border-radius:var(--aho-radius-md);text-align:center;cursor:pointer;transition:all var(--aho-transition-base);padding:8px;display:block}.filter-clear:hover{background:var(--aho-bg-inset);border-color:var(--aho-border-hover)}.catalog-main{min-width:0}.catalog-toolbar{justify-content:space-between;align-items:center;gap:var(--aho-space-3);margin-bottom:var(--aho-space-5);padding-bottom:var(--aho-space-4);border-bottom:1px solid var(--aho-border-subtle);flex-wrap:wrap;display:flex}.type-tabs{gap:var(--aho-space-1);-webkit-overflow-scrolling:touch;padding-bottom:2px;display:flex;overflow-x:auto}.type-tab{border-radius:var(--aho-radius-md);color:var(--aho-fg-muted);font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);white-space:nowrap;cursor:pointer;transition:all var(--aho-transition-base);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:7px 14px;display:flex}.type-tab:hover{background:var(--aho-bg-surface);border-color:var(--aho-border-subtle);color:var(--aho-color-fg)}.type-tab.active{background:var(--aho-bg-inset);color:var(--aho-color-fg);border-color:var(--aho-border-hover)}.type-tab-icon{font-size:var(--aho-text-sm)}.type-tab-count{min-width:18px;height:18px;font-size:10px;font-weight:var(--aho-weight-bold);font-family:var(--aho-font-mono);color:var(--aho-fg-dim);background:var(--aho-bg-surface);border:1px solid var(--aho-border-ghost);justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.type-tab.active .type-tab-count{color:var(--aho-color-fg);background:var(--aho-bg-surface);border-color:var(--aho-border-subtle)}.type-tab--clear{border-color:var(--aho-border-hover);color:var(--aho-fg-muted);padding:7px 10px}.type-tab--clear:hover{background:var(--aho-bg-inset);color:var(--aho-color-fg)}.catalog-count{font-size:var(--aho-text-xs);color:var(--aho-fg-muted);font-variant-numeric:tabular-nums;font-family:var(--aho-font-mono);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider)}.catalog-grid{gap:var(--aho-space-4);grid-template-columns:repeat(4,minmax(260px,1fr));display:grid}.catalog-grid>.card{height:100%}@media (width<=1100px){.catalog-grid{grid-template-columns:repeat(3,minmax(260px,1fr))}}@media (width<=820px){.catalog-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}@media (width<=560px){.catalog-grid{grid-template-columns:1fr}}.catalog-empty{text-align:center;padding:var(--aho-space-8) var(--aho-space-4);color:var(--aho-fg-muted);border:1px solid var(--aho-border-subtle)}.catalog-empty button{margin-top:var(--aho-space-3);font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);color:var(--aho-color-fg);background:var(--aho-bg-surface);border:1px solid var(--aho-border-subtle);cursor:pointer;transition:all var(--aho-transition-base);padding:8px 20px}.catalog-empty button:hover{background:var(--aho-bg-inset);border-color:var(--aho-border-hover)}.catalog-more{margin-top:var(--aho-space-6);justify-content:center;display:flex}.btn-load-more{background:var(--aho-bg-surface);color:var(--aho-color-fg);border:1px solid var(--aho-border-subtle);border-radius:var(--aho-radius-md);font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);cursor:pointer;transition:all var(--aho-transition-base);padding:10px 28px}.btn-load-more:hover{background:var(--aho-bg-inset);border-color:var(--aho-border-hover);box-shadow:var(--aho-shadow-lg)}.card{background:var(--aho-bg-elevated);border:1px solid var(--aho-border-subtle);border-radius:var(--aho-radius-lg);padding:var(--aho-space-4);gap:var(--aho-space-3);transition:all var(--aho-transition-slow) ease;color:inherit;flex-direction:column;text-decoration:none;display:flex;position:relative}.card:before,.card:after{content:"";border-color:var(--aho-border-hover);width:8px;height:8px;transition:all var(--aho-transition-slow) ease;opacity:0;border-style:solid;position:absolute}.card:before{border-width:1px 0 0 1px;top:-1px;left:-1px}.card:after{border-width:0 1px 1px 0;bottom:-1px;right:-1px}.card:hover{border-color:var(--aho-border);box-shadow:var(--aho-shadow-lg);transform:translate(-2px,-2px)}.card:hover:before,.card:hover:after{opacity:1}.card:hover .card-title{text-underline-offset:3px;text-decoration:underline}.card-external{font-size:var(--aho-text-sm);color:var(--aho-fg-muted);vertical-align:top;margin-left:4px;text-decoration:none;display:inline-block}.card-head{align-items:center;gap:var(--aho-space-2);display:flex}.type-badge{font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);border-radius:var(--aho-radius-sm);background:var(--aho-bg-inset);color:var(--aho-color-fg);border:1px solid var(--aho-border-subtle);align-items:center;gap:4px;padding:3px 8px;line-height:1.4;display:inline-flex}.type-badge-icon{font-size:var(--aho-text-xs)}.type-plugin{background:var(--aho-bg-inset);color:var(--aho-color-fg);border-color:var(--aho-border-subtle)}.type-parser{color:var(--aho-color-fg);border-color:var(--aho-border-hover);background:0 0}.type-ui-control{background:var(--aho-bg-surface);color:var(--aho-color-fg);border-color:var(--aho-border-ghost)}.type-skin{background:repeating-linear-gradient(45deg, var(--aho-border-subtle), var(--aho-border-subtle) 1px, transparent 1px, transparent 4px);color:var(--aho-color-fg);border-color:var(--aho-border-subtle)}.type-skill{color:var(--aho-color-fg);border-style:dashed;border-color:var(--aho-border-hover);background:0 0}.type-fork{background:var(--aho-bg-inset);color:var(--aho-color-fg);border:2px double var(--aho-border-subtle)}.card-verified{color:var(--aho-color-fg);font-size:var(--aho-text-sm);font-weight:var(--aho-weight-bold)}.card-title{font-weight:var(--aho-weight-bold);font-size:var(--aho-text-base);color:var(--aho-color-fg);line-height:var(--aho-leading-snug);letter-spacing:var(--aho-tracking-tight);text-decoration:none}.card-desc{font-size:var(--aho-text-sm);color:var(--aho-fg-muted);line-height:var(--aho-leading-normal);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-tags{gap:var(--aho-space-1);flex-wrap:wrap;display:flex}.tag{font-size:var(--aho-text-xs);border-radius:var(--aho-radius-sm);background:var(--aho-bg-surface);color:var(--aho-fg-muted);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);font-weight:var(--aho-weight-semibold);border:1px solid var(--aho-border-subtle);padding:2px 6px}.card-foot{font-size:var(--aho-text-sm);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.card-author{color:var(--aho-color-fg);font-weight:var(--aho-weight-bold);font-size:var(--aho-text-sm);text-decoration:none}.card-version{font-family:var(--aho-font-mono);font-size:var(--aho-text-xs);color:var(--aho-fg-muted);border:1px solid var(--aho-border-subtle);padding:1px 6px}.card-stats{gap:var(--aho-space-3);font-size:var(--aho-text-xs);color:var(--aho-fg-muted);padding-top:var(--aho-space-3);border-top:1px solid var(--aho-border-subtle);font-family:var(--aho-font-mono);display:flex}.card-stats-date{margin-left:auto}.asset-header{margin-bottom:var(--aho-space-4);padding-bottom:var(--aho-space-4);border-bottom:1px solid var(--aho-border);justify-content:space-between;align-items:flex-start;display:flex}.asset-header h1{font-size:var(--aho-text-xl);margin-top:var(--aho-space-2);letter-spacing:var(--aho-tracking-tight);font-weight:var(--aho-weight-extrabold)}.asset-author{color:var(--aho-fg-muted);font-size:var(--aho-text-sm);font-family:var(--aho-font-mono);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider)}.asset-stats{align-items:flex-end;gap:var(--aho-space-1);font-size:var(--aho-text-sm);color:var(--aho-fg-muted);font-family:var(--aho-font-mono);flex-direction:column;display:flex}.asset-desc{font-size:var(--aho-text-base);line-height:var(--aho-leading-relaxed);margin-bottom:var(--aho-space-4);color:var(--aho-fg-muted)}.asset-tags{gap:var(--aho-space-2);margin-bottom:var(--aho-space-4);display:flex}.asset-actions{gap:var(--aho-space-3);margin-bottom:var(--aho-space-6);display:flex}.asset-actions button,.asset-actions .btn-download{padding:var(--aho-space-2) var(--aho-space-4);border-radius:var(--aho-radius-md);font-weight:var(--aho-weight-bold);font-size:var(--aho-text-xs);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);border:1px solid var(--aho-border-subtle);transition:all var(--aho-transition-base)}.asset-actions button{background:var(--aho-bg-inset);color:var(--aho-color-fg);border-color:var(--aho-border-subtle)}.asset-actions button:hover{background:var(--aho-bg-surface);border-color:var(--aho-border-hover)}.asset-actions .btn-download{background:var(--aho-bg-elevated);color:var(--aho-color-fg);border-color:var(--aho-border-subtle)}.asset-actions .btn-download:hover{background:var(--aho-bg-surface);border-color:var(--aho-border-hover)}table{border-collapse:collapse;width:100%;margin:var(--aho-space-4) 0}th,td{padding:var(--aho-space-2) var(--aho-space-3);text-align:left;border-bottom:1px solid var(--aho-border-subtle);font-size:var(--aho-text-sm)}th{font-weight:var(--aho-weight-bold);color:var(--aho-fg-muted);font-size:var(--aho-text-xs);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);border-bottom:2px solid var(--aho-border)}tr.yanked{opacity:.4;text-decoration:line-through}.fork-list{gap:var(--aho-space-2);flex-direction:column;display:flex}.fork-card{align-items:center;gap:var(--aho-space-3);padding:var(--aho-space-2) var(--aho-space-3);border:1px solid var(--aho-border-subtle);border-radius:var(--aho-radius-md);font-size:var(--aho-text-sm);transition:all var(--aho-transition-base);display:flex}.fork-card:hover{border-color:var(--aho-border);background:var(--aho-bg-surface)}.fork-author{color:var(--aho-fg-muted);font-family:var(--aho-font-mono);font-size:var(--aho-text-xs)}.author-header{margin-bottom:var(--aho-space-4);padding-bottom:var(--aho-space-4);border-bottom:1px solid var(--aho-border);justify-content:space-between;align-items:center;display:flex}.author-header h1{font-size:var(--aho-text-xl);letter-spacing:var(--aho-tracking-tight);font-weight:var(--aho-weight-extrabold)}.author-stats{gap:var(--aho-space-4);color:var(--aho-fg-muted);font-size:var(--aho-text-sm);font-family:var(--aho-font-mono);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);display:flex}.author-bio{font-size:var(--aho-text-base);line-height:var(--aho-leading-relaxed);color:var(--aho-fg-muted);margin-bottom:var(--aho-space-4)}section h2{font-size:var(--aho-text-lg);margin:var(--aho-space-6) 0 var(--aho-space-4);padding-bottom:var(--aho-space-2);border-bottom:2px solid var(--aho-border);font-weight:var(--aho-weight-extrabold);letter-spacing:var(--aho-tracking-tight);text-transform:uppercase;font-size:var(--aho-text-sm);letter-spacing:var(--aho-tracking-wider)}.login-buttons{gap:var(--aho-space-3);flex-direction:column;display:flex}.btn-github{padding:var(--aho-space-2) var(--aho-space-4);border-radius:var(--aho-radius-md);font-weight:var(--aho-weight-bold);font-size:var(--aho-text-xs);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);background:var(--aho-bg-inset);color:var(--aho-color-fg);border:1px solid var(--aho-border-subtle);cursor:pointer;transition:all var(--aho-transition-base)}.btn-github:hover{background:var(--aho-bg-surface);border-color:var(--aho-border-hover)}.btn-email{padding:var(--aho-space-2) var(--aho-space-4);border-radius:var(--aho-radius-md);font-weight:var(--aho-weight-bold);font-size:var(--aho-text-xs);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);background:var(--aho-bg-elevated);color:var(--aho-color-fg);border:1px solid var(--aho-border-subtle);cursor:pointer;transition:all var(--aho-transition-base)}.btn-email:hover{background:var(--aho-bg-surface);border-color:var(--aho-border-hover)}.login-form{gap:var(--aho-space-2);margin-top:var(--aho-space-3);display:flex}.login-form input{padding:var(--aho-space-2) var(--aho-space-3);border:1px solid var(--aho-border);border-radius:var(--aho-radius-md);background:var(--aho-color-bg);color:var(--aho-color-fg);font-family:var(--aho-font-mono);font-size:var(--aho-text-sm);flex:1}.login-form input:focus{box-shadow:2px 2px 0px 0px var(--aho-color-fg)}.login-form button{padding:var(--aho-space-2) var(--aho-space-3);background:var(--aho-bg-inset);color:var(--aho-color-fg);border:1px solid var(--aho-border-subtle);border-radius:var(--aho-radius-md);font-weight:var(--aho-weight-bold);font-size:var(--aho-text-xs);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);white-space:nowrap;cursor:pointer;transition:all var(--aho-transition-base)}.login-form button:hover{background:var(--aho-bg-surface);border-color:var(--aho-border-hover)}.login-hint{color:var(--aho-fg-muted);font-size:var(--aho-text-sm);margin-top:var(--aho-space-3);font-family:var(--aho-font-mono)}.login-error{color:var(--aho-color-danger);font-size:var(--aho-text-sm);margin-top:var(--aho-space-3);font-weight:var(--aho-weight-semibold)}.vector-grid-bg{pointer-events:none;z-index:0;opacity:.03;position:fixed;inset:0}.vector-corner{border-color:var(--aho-color-fg);opacity:.12;pointer-events:none;z-index:0;border-style:solid;width:24px;height:24px;position:fixed}.vector-corner--tl{border-width:1px 0 0 1px;top:0;left:0}.vector-corner--tr{border-width:1px 1px 0 0;top:0;right:0}.vector-corner--bl{border-width:0 0 1px 1px;bottom:0;left:0}.vector-corner--br{border-width:0 1px 1px 0;bottom:0;right:0}.lineage-tree{gap:var(--aho-space-5);padding:var(--aho-space-4);border:1px solid var(--aho-border-subtle);flex-direction:column;display:flex}.lineage-section{gap:var(--aho-space-2);flex-direction:column;display:flex}.lineage-label{font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);color:var(--aho-fg-muted)}.lineage-count{color:var(--aho-fg-muted);font-weight:var(--aho-weight-normal)}.lineage-chain{align-items:center;gap:var(--aho-space-2);flex-wrap:wrap;display:flex}.lineage-node{align-items:center;gap:var(--aho-space-1);border:1px solid var(--aho-border-subtle);font-size:var(--aho-text-sm);color:var(--aho-color-fg);transition:all var(--aho-transition-base);padding:4px 10px;text-decoration:none;display:inline-flex}.lineage-node:hover{border-color:var(--aho-border);background:var(--aho-bg-surface)}.lineage-node--ancestor{background:var(--aho-color-bg)}.lineage-node--root{background:var(--aho-bg-inset);color:var(--aho-color-fg);border-color:var(--aho-border-hover);font-weight:var(--aho-weight-bold)}.lineage-node--descendant{flex-direction:column;align-items:flex-start;gap:2px}.lineage-node-name{font-weight:var(--aho-weight-semibold)}.lineage-node-author{font-size:var(--aho-text-xs);color:var(--aho-fg-muted)}.lineage-arrow{color:var(--aho-fg-muted);font-size:var(--aho-text-sm)}.lineage-descendants{gap:var(--aho-space-2);flex-wrap:wrap;display:flex}.invocation-grid{gap:var(--aho-space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.invocation-stat{gap:var(--aho-space-1);padding:var(--aho-space-3);border:1px solid var(--aho-border-subtle);flex-direction:column;display:flex}.invocation-value{font-size:var(--aho-text-xl);font-weight:var(--aho-weight-extrabold);letter-spacing:var(--aho-tracking-tight)}.invocation-label{font-size:var(--aho-text-xs);color:var(--aho-fg-muted);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider)}.reward-grid{gap:var(--aho-space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.reward-stat{gap:var(--aho-space-1);padding:var(--aho-space-3);border:1px solid var(--aho-border-subtle);flex-direction:column;display:flex}.reward-value{font-size:var(--aho-text-xl);font-weight:var(--aho-weight-extrabold);letter-spacing:var(--aho-tracking-tight)}.reward-label{font-size:var(--aho-text-xs);color:var(--aho-fg-muted);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider)}.composition-list{gap:var(--aho-space-2);flex-wrap:wrap;display:flex}.composition-card{align-items:center;gap:var(--aho-space-2);padding:var(--aho-space-2) var(--aho-space-3);border:1px solid var(--aho-border-subtle);color:var(--aho-color-fg);font-size:var(--aho-text-sm);transition:all var(--aho-transition-base);text-decoration:none;display:flex}.composition-card:hover{border-color:var(--aho-border);background:var(--aho-bg-surface)}.composition-name{font-weight:var(--aho-weight-semibold)}.composition-author{font-size:var(--aho-text-xs);color:var(--aho-fg-muted)}.composition-version{font-size:var(--aho-text-xs);font-family:var(--aho-font-mono);color:var(--aho-fg-muted);border:1px solid var(--aho-border-subtle);padding:1px 4px}.asset-derived{font-size:var(--aho-text-sm);color:var(--aho-fg-muted);margin-top:var(--aho-space-1)}.asset-derived a{color:var(--aho-color-fg);font-weight:var(--aho-weight-semibold)}.card-derivative-mark{color:var(--aho-color-fg);font-weight:var(--aho-weight-bold)}.playground{gap:var(--aho-space-4);flex-direction:column;height:calc(100vh - 60px);display:flex}.playground__header{align-items:center;gap:var(--aho-space-3);padding:var(--aho-space-3) var(--aho-space-4);border-bottom:1px solid var(--aho-border-subtle);flex-shrink:0;display:flex}.playground__header h1{font-size:var(--aho-text-lg);font-weight:var(--aho-weight-extrabold);letter-spacing:var(--aho-tracking-tight)}.playground__meta{align-items:center;gap:var(--aho-space-2);margin-left:auto;display:flex}.playground__name{font-weight:var(--aho-weight-semibold)}.playground__layout{gap:var(--aho-space-3);min-height:0;padding:0 var(--aho-space-4) var(--aho-space-4);flex:1;grid-template-columns:260px 1fr 260px;display:grid}@media (width<=1024px){.playground__layout{grid-template-rows:auto 1fr auto;grid-template-columns:1fr}}.playground__sidebar{gap:var(--aho-space-3);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.playground__sidebar--left{border-right:1px solid var(--aho-border-subtle);padding-right:var(--aho-space-3)}.playground__sidebar--right{border-left:1px solid var(--aho-border-subtle);padding-left:var(--aho-space-3)}.playground__canvas{flex-direction:column;min-width:0;display:flex}.preview-pane{border:1px solid var(--aho-border-subtle);background:var(--aho-color-bg);flex:1;position:relative;overflow:hidden}.preview-frame{width:100%;height:100%;transition:opacity var(--aho-transition-base);border:none;display:block}.preview-frame--loading{opacity:.3}.preview-loading{justify-content:center;align-items:center;gap:var(--aho-space-4);z-index:10;pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.preview-loading__grid{grid-template-columns:repeat(2,8px);gap:4px;display:grid}.preview-loading__dot{background:var(--aho-color-fg);width:8px;height:8px;animation:1.2s ease-in-out infinite preview-dot}.preview-loading__dot:nth-child(2){animation-delay:.15s}.preview-loading__dot:nth-child(3){animation-delay:.3s}.preview-loading__dot:nth-child(4){animation-delay:.45s}@keyframes preview-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.4)}}.preview-loading__text{font-size:var(--aho-text-xs);text-transform:uppercase;letter-spacing:var(--aho-tracking-widest);color:var(--aho-fg-muted);font-family:var(--aho-font-mono)}.compositor{gap:var(--aho-space-3);flex-direction:column;display:flex}.compositor__search{background:var(--aho-color-bg);padding-bottom:var(--aho-space-2);z-index:1;position:sticky;top:0}.compositor__selection{gap:var(--aho-space-2);flex-wrap:wrap;min-height:32px;display:flex}.compositor__empty{font-size:var(--aho-text-xs);color:var(--aho-fg-muted);font-style:italic}.compositor__chip{align-items:center;gap:var(--aho-space-1);border:1px solid var(--aho-border-subtle);background:var(--aho-bg-inset);color:var(--aho-color-fg);font-size:var(--aho-text-xs);padding:3px 8px;animation:.2s chip-in;display:inline-flex}@keyframes chip-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.compositor__chip-type{font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:.05em;font-size:.6rem}.compositor__chip-name{font-weight:var(--aho-weight-medium)}.compositor__chip-remove{color:inherit;cursor:pointer;opacity:.7;transition:opacity var(--aho-transition-fast);background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1}.compositor__chip-remove:hover{opacity:1}.compositor__chip-arrow{color:var(--aho-fg-muted);font-size:var(--aho-text-xs);margin-left:2px}.compositor__list{flex-direction:column;gap:2px;display:flex}.compositor__item{align-items:center;gap:var(--aho-space-2);color:var(--aho-color-fg);font-size:var(--aho-text-sm);text-align:left;cursor:pointer;transition:all var(--aho-transition-fast);background:0 0;border:1px solid #0000;padding:6px 8px;font-family:inherit;display:flex}.compositor__item:hover{background:var(--aho-bg-surface);border-color:var(--aho-border-subtle)}.compositor__item--active{background:var(--aho-bg-inset);color:var(--aho-color-fg);border-color:var(--aho-border-hover)}.compositor__item--active .compositor__item-version,.compositor__item--active .compositor__item-link{color:var(--aho-fg-muted)}.compositor__item-name{font-weight:var(--aho-weight-medium);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.compositor__item-version{font-size:var(--aho-text-xs);color:var(--aho-fg-muted);font-family:var(--aho-font-mono)}.compositor__item-link{font-size:var(--aho-text-xs);color:var(--aho-fg-muted);padding:2px;text-decoration:none}.compositor__item-link:hover{color:var(--aho-color-fg)}.skin-selector{gap:var(--aho-space-2);padding-bottom:var(--aho-space-3);border-bottom:1px solid var(--aho-border-subtle);flex-direction:column;display:flex}.skin-selector__title{font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);color:var(--aho-fg-muted)}.skin-selector__option{align-items:center;gap:var(--aho-space-2);color:var(--aho-color-fg);font-size:var(--aho-text-sm);cursor:pointer;transition:all var(--aho-transition-fast);background:0 0;border:1px solid #0000;padding:6px 8px;font-family:inherit;display:flex}.skin-selector__option:hover{background:var(--aho-bg-surface);border-color:var(--aho-border-subtle)}.skin-selector__option--active{border-color:var(--aho-border);background:var(--aho-bg-surface)}.skin-selector__swatch{border:1px solid var(--aho-border);flex-shrink:0;width:14px;height:14px}.skin-selector__swatch--none{background:repeating-linear-gradient(45deg, var(--aho-border-subtle), var(--aho-border-subtle) 2px, transparent 2px, transparent 4px)}.skin-selector__author{font-size:var(--aho-text-xs);color:var(--aho-fg-muted);font-family:var(--aho-font-mono);margin-left:auto}.config-panel{gap:var(--aho-space-4);padding-top:var(--aho-space-3);flex-direction:column;display:flex}.config-panel__title{font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);color:var(--aho-fg-muted)}.config-field{gap:var(--aho-space-2);flex-direction:column;display:flex}.config-field__label{font-size:var(--aho-text-xs);font-weight:var(--aho-weight-semibold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);color:var(--aho-fg-muted)}.config-field__stacks{gap:var(--aho-space-1);flex-wrap:wrap;display:flex}.config-field__stack{border:1px solid var(--aho-border-subtle);background:var(--aho-color-bg);color:var(--aho-fg-muted);font-size:var(--aho-text-xs);font-weight:var(--aho-weight-semibold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);cursor:pointer;transition:all var(--aho-transition-fast);padding:4px 10px;font-family:inherit}.config-field__stack:hover{border-color:var(--aho-border);color:var(--aho-color-fg)}.config-field__stack--active{background:var(--aho-bg-inset);color:var(--aho-color-fg);border-color:var(--aho-border-hover)}.config-field--toggle{align-items:center;gap:var(--aho-space-2) var(--aho-space-3);flex-flow:wrap}.config-toggle{border:1px solid var(--aho-border-subtle);background:var(--aho-bg-surface);cursor:pointer;width:36px;height:20px;transition:all var(--aho-transition-fast);padding:0;position:relative}.config-toggle--on{background:var(--aho-bg-inset);border-color:var(--aho-border-hover)}.config-toggle__knob{background:var(--aho-color-bg);border:1px solid var(--aho-border);width:14px;height:14px;transition:transform var(--aho-transition-fast);display:block;position:absolute;top:2px;left:2px}.config-toggle--on .config-toggle__knob{transform:translate(16px)}.config-field__hint{font-size:var(--aho-text-xs);color:var(--aho-fg-muted);width:100%}.config-field__toggle-btn{font-size:var(--aho-text-xs);color:var(--aho-color-accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.config-bindings{padding:var(--aho-space-2);border:1px solid var(--aho-border-subtle);background:var(--aho-bg-surface);font-size:var(--aho-text-xs);font-family:var(--aho-font-mono);flex-direction:column;gap:4px;display:flex}.config-binding{align-items:center;gap:var(--aho-space-2);display:flex}.config-binding__key{color:var(--aho-fg-muted)}.config-binding__arrow{color:var(--aho-border-subtle)}.config-binding__val{color:var(--aho-color-fg)}.config-actions{gap:var(--aho-space-2);margin-top:var(--aho-space-2);flex-direction:column;display:flex}.config-actions__save,.config-actions__fork{font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);border:1px solid var(--aho-border);cursor:pointer;transition:all var(--aho-transition-fast);padding:8px 16px;font-family:inherit}.config-actions__save{background:var(--aho-bg-inset);color:var(--aho-color-fg)}.config-actions__save:hover:not(:disabled){background:var(--aho-bg-surface);border-color:var(--aho-border-hover)}.config-actions__save:disabled,.config-actions__fork:disabled{opacity:.4;cursor:not-allowed}.config-actions__fork{background:var(--aho-bg-elevated);color:var(--aho-color-fg)}.config-actions__fork:hover:not(:disabled){background:var(--aho-bg-surface);border-color:var(--aho-border-hover)}.config-hint{font-size:var(--aho-text-xs);color:var(--aho-fg-muted);padding-top:var(--aho-space-2);border-top:1px solid var(--aho-border-subtle);line-height:1.5}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-border{0%,to{border-color:var(--aho-border-subtle)}50%{border-color:var(--aho-color-fg)}}.playground__sidebar,.playground__canvas{animation:.3s fade-in}.compositor__item,.skin-selector__option,.config-field__stack{animation:.15s fade-in}.preview-pane:empty:before{content:"Select a work to preview";font-size:var(--aho-text-sm);color:var(--aho-fg-muted);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.playground__canvas{gap:var(--aho-space-3);grid-template-rows:1fr 1fr;min-height:0;display:grid}.playground__editor{border:1px solid var(--aho-border-subtle);background:var(--aho-bg-elevated);flex-direction:column;min-height:0;display:flex}.playground__preview{border:1px solid var(--aho-border-subtle);background:var(--aho-color-bg);flex-direction:column;min-height:0;display:flex}.editor-tabs{flex-direction:column;flex:1;min-height:0;display:flex}.editor-tabs__bar{border-bottom:1px solid var(--aho-border-subtle);background:var(--aho-bg-surface);align-items:center;gap:1px;padding:4px 4px 0;display:flex}.editor-tabs__tab{border:1px solid #0000;border-bottom-color:var(--aho-border-subtle);color:var(--aho-fg-muted);font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);cursor:pointer;transition:all var(--aho-transition-fast);background:0 0;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;display:inline-flex}.editor-tabs__tab:hover{color:var(--aho-color-fg);background:var(--aho-bg-inset)}.editor-tabs__tab--active{background:var(--aho-bg-elevated);color:var(--aho-color-fg);border-color:var(--aho-border-subtle);border-bottom-color:var(--aho-bg-elevated);margin-bottom:-1px}.editor-tabs__dot{background:var(--aho-color-fg);width:6px;height:6px}.editor-tabs__lang{font-size:var(--aho-text-xs);color:var(--aho-fg-dim);font-family:var(--aho-font-mono);text-transform:uppercase;margin-left:auto;padding-right:10px}.editor-tabs__body{flex:1;min-height:0;position:relative}.editor-tabs__area{resize:none;width:100%;height:100%;padding:var(--aho-space-3);font-family:var(--aho-font-mono);font-size:var(--aho-text-sm);line-height:var(--aho-leading-snug);color:var(--aho-color-fg);background:var(--aho-bg-elevated);opacity:0;pointer-events:none;transition:opacity var(--aho-transition-fast);tab-size:2;border:none;outline:none;position:absolute;inset:0}.editor-tabs__area--active{opacity:1;pointer-events:auto}.editor-tabs__area:focus{background:var(--aho-color-bg)}.editor-tabs__area::selection{background:var(--aho-bg-inset);color:var(--aho-color-fg)}.arch-graph{gap:var(--aho-space-2);border:1px solid var(--aho-border-subtle);padding:var(--aho-space-3);background:var(--aho-bg-elevated);flex-direction:column;display:flex}.arch-graph__head{padding-bottom:var(--aho-space-2);border-bottom:1px solid var(--aho-border-subtle);justify-content:space-between;align-items:baseline;display:flex}.arch-graph__title{font-size:var(--aho-text-xs);font-weight:var(--aho-weight-bold);text-transform:uppercase;letter-spacing:var(--aho-tracking-wider);color:var(--aho-fg-muted)}.arch-graph__meta{font-size:var(--aho-text-xs);color:var(--aho-fg-dim);font-family:var(--aho-font-mono)}.arch-graph__svg{width:100%;height:220px;color:var(--aho-border-hover)}.arch-graph__edges line{stroke:currentColor;stroke-width:1px}.arch-graph__edges text{fill:var(--aho-fg-dim);font-size:9px;font-family:var(--aho-font-mono);text-transform:uppercase;letter-spacing:.04em}.arch-graph__node rect{fill:var(--aho-bg-surface);stroke:var(--aho-border-subtle);stroke-width:1px;transition:all var(--aho-transition-fast)}.arch-graph__node:hover rect,.arch-graph__node--hovered rect{fill:var(--aho-bg-inset);stroke:var(--aho-border-hover)}.arch-graph__node--active rect{fill:var(--aho-bg-inset);stroke:var(--aho-color-fg)}.arch-graph__node--selected rect{fill:var(--aho-color-fg);stroke:var(--aho-color-fg)}.arch-graph__node--selected text{fill:var(--aho-color-bg)}.arch-graph__node--pinned rect{stroke-dasharray:3 2}.arch-graph__icon{fill:var(--aho-color-fg);dominant-baseline:middle;font-size:12px}.arch-graph__label{font-size:10px;font-weight:var(--aho-weight-bold);fill:var(--aho-color-fg);dominant-baseline:middle}.arch-graph__type{font-size:8px;font-family:var(--aho-font-mono);text-transform:uppercase;letter-spacing:.04em;fill:var(--aho-fg-muted);dominant-baseline:middle}.arch-graph__legend{gap:var(--aho-space-3);padding-top:var(--aho-space-2);border-top:1px solid var(--aho-border-subtle);display:flex}.arch-graph__legend-item{font-size:var(--aho-text-xs);color:var(--aho-fg-muted);align-items:center;gap:4px;display:inline-flex}.arch-graph__dot{border:1px solid var(--aho-border-subtle);width:8px;height:8px;display:inline-block}.arch-graph__dot--base{background:var(--aho-bg-inset);border-color:var(--aho-color-fg)}.arch-graph__dot--compose{background:var(--aho-bg-surface);border-color:var(--aho-border-subtle)}.arch-graph__dot--external{background:var(--aho-bg-surface);border-style:dashed}
