:root{color-scheme:dark;--bg: #0b0d10;--fg: #0b0d10;--fg2: #e5e9f0;--muted: #97a1ad;--accent: #79ffe1;--ascii-fg: #d8dee9;--ascii-opacity: .8;--hint-bg: color-mix(in lab, var(--fg) 9%, transparent);--hint-border: color-mix(in lab, var(--fg) 24%, transparent);--hint-fg: var(--fg)}:root[data-theme=light]{color-scheme:light;--bg: #f6f7f9;--fg: #f6f7f9;--fg2: #111418;--muted: #5a606a;--accent: #0ea5e9;--ascii-fg: #333842;--ascii-opacity: .8;--hint-bg: color-mix(in lab, var(--fg) 8%, white 0%);--hint-border: color-mix(in lab, var(--fg) 20%, transparent)}*{box-sizing:border-box}html,body{height:100%}.header-row{position:fixed;top:1.25rem;right:1.25rem;display:flex;align-items:center;gap:1rem;z-index:2}.copyright{color:var(--muted);font-size:.875rem;text-decoration:none;transition:color .2s ease}.copyright:hover{color:var(--accent)}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}#ascii{position:fixed;inset:0;z-index:0;pointer-events:none;font:11px/10px ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,DejaVu Sans Mono,Monaco,Courier New,monospace;white-space:pre;letter-spacing:.6px;line-height:1;color:var(--ascii-fg);opacity:var(--ascii-opacity);filter:blur(.6px);will-change:contents;contain:layout style paint}main{position:relative;z-index:1;min-height:100dvh;display:grid;place-items:center;padding:6rem 1.25rem}.hero{text-align:center;max-width:720px;width:100%}.logo-link{position:relative;display:inline-block;text-decoration:none;cursor:pointer;outline-offset:6px}.logo{font-weight:900;letter-spacing:0em;font-size:clamp(48px,14vw,96px);color:var(--fg);display:inline-block;transition:transform .22s ease,text-shadow .22s ease,opacity .22s ease}.logo:after{content:"";display:block;height:2px;width:0%;margin:10px auto 0;border-radius:9999px;background:linear-gradient(90deg,var(--accent),transparent);opacity:.9;transition:width .22s ease}.logo-link:hover .logo,.logo-link:focus-visible .logo{transform:translateY(-1px);text-shadow:0 0 24px color-mix(in lab,var(--accent) 40%,transparent)}.logo-link:hover .logo:after,.logo-link:focus-visible .logo:after{width:100%}.logo-link:focus-visible{outline:2px solid var(--accent);border-radius:12px}.logo-hint{position:absolute;left:50%;top:100%;transform:translate(-50%,10px) scale(.98);padding:6px 10px;margin-top:8px;border-radius:10px;font-size:14px;line-height:1;color:var(--hint-fg);background:var(--hint-bg);background-clip:padding-box;border:1px solid var(--hint-border);box-shadow:0 8px 24px color-mix(in lab,var(--fg) 10%,transparent);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;white-space:nowrap}.logo-hint:before,.logo-hint:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:0;height:0;pointer-events:none}.logo-hint:before{top:-8px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--hint-border);filter:drop-shadow(0 2px 2px color-mix(in lab,var(--fg) 10%,transparent))}.logo-hint:after{top:-7px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid var(--hint-bg)}.logo-link:hover .logo-hint,.logo-link:focus-visible .logo-hint{opacity:1;transform:translate(-50%,4px) scale(1)}footer{position:relative;z-index:1;display:flex;gap:12px;justify-content:center;align-items:center;padding:24px;color:var(--muted)}.theme-toggle{appearance:none;border:1px solid color-mix(in lab,var(--fg2) 20%,transparent);background:color-mix(in lab,var(--fg2) 6%,transparent);color:var(--fg2);border-radius:9999px;padding:8px 12px;font:inherit;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform 80ms ease;position:relative}.theme-toggle:hover{background:color-mix(in lab,var(--fg2) 10%,transparent)}.theme-toggle:active{transform:translateY(1px)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.copyright{opacity:.8}@media (prefers-reduced-motion: reduce){.logo,.logo-hint,.theme-toggle,.logo:after{transition:none}.logo-link:hover .logo{transform:none}#ascii{animation-play-state:paused}}
