@layer reset{*,:before,:after{box-sizing:border-box;margin:0;padding:0}button,input,textarea,select{font:inherit}}@layer base{html{background-color:var(--color-surface)}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:linear-gradient(to bottom, var(--color-deep), var(--color-bg));background-attachment:fixed;min-height:100vh;line-height:1.7}h1{font-family:var(--font-heading);font-weight:400;font-size:var(--text-h1);color:var(--color-accent);margin-bottom:var(--space-4);line-height:1.2}h1 a{text-decoration:none}p{margin-bottom:1em}a{color:var(--color-accent)}a:hover{opacity:.8}ul{padding-left:var(--space-6);margin-bottom:1em}li{margin-bottom:var(--space-1)}code{font-family:var(--font-body);font-size:var(--text-sm);background:var(--color-surface);border-radius:var(--radius-sm);padding:.1em .35em}pre{background:var(--color-surface);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);overflow-x:auto}pre code{background:0 0;padding:0}}@layer layout{main{width:var(--content-width);padding-block:var(--space-12);margin-inline:auto}}@layer components{ascii-img:not(:defined){display:none}ascii-img{background:var(--ascii-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius)}fieldset{align-items:end;gap:var(--space-4) var(--space-8);margin-bottom:var(--space-6);border:none;flex-wrap:wrap;display:flex}label{gap:var(--space-1);font-size:var(--text-sm);color:var(--color-accent);flex-direction:column;display:flex}input[type=number]{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);width:7rem;padding:var(--space-2) var(--space-3);color:var(--color-text)}input[type=number]:focus{border-color:var(--color-accent);outline:none}input[type=range]{accent-color:var(--color-accent)}input[type=file]{color:var(--color-text)}button{padding:var(--btn-pad-y) var(--btn-pad-x);border:1px solid var(--color-accent);border-radius:var(--radius);color:var(--color-accent);font:inherit;cursor:pointer;background:0 0;line-height:1.2;transition:opacity .2s ease-in-out}input[type=file]::file-selector-button{padding:var(--btn-pad-y) var(--btn-pad-x);border:1px solid var(--color-accent);border-radius:var(--radius);color:var(--color-accent);font:inherit;cursor:pointer;background:0 0;line-height:1.2;transition:opacity .2s ease-in-out}input[type=file]::file-selector-button{margin-right:var(--space-3)}button:hover{opacity:.85}input[type=file]::file-selector-button:hover{opacity:.85}}:root{--color-deep:#0a0b12;--color-surface:#161822;--color-accent:#89b9c2;--color-bg:#26293a;--color-text:#c6c8d1;--color-border-strong:color-mix(in srgb, var(--color-accent) 30%, transparent);--font-body:"Noto Sans Mono", monospace;--font-heading:"Ubuntu Mono", monospace;--text-sm:.875rem;--text-base:1.125rem;--text-h1:clamp(2.5rem, 5vw, 3.75rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius-sm:3px;--radius:4px;--radius-lg:6px;--max-width:1400px;--content-width:min(88%, var(--max-width));--btn-pad-y:var(--space-2);--btn-pad-x:var(--space-4);--ascii-bg:var(--color-deep);--ascii-color:var(--color-accent);--ascii-font-size:12px;--ascii-font-family:var(--font-heading)}@media (width<=600px){:root{--ascii-font-size:6px}}
