:root{--el-nature: #6ee83f;--el-fire: #ff5a2e;--el-water: #2e9fff;--el-air: #c8f2ff;--el-light: #ffe45c;--el-dark: #a05eff;--el-stone: #a68b62;--el-psi: #5fd9bc;--el-chaos: #b784c9;--el-energy: #e84fd0;--el-ice: #7fdcf0;--el-metal: #c6cfd8;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--wrap: 68rem;--pad: clamp(1.1rem, 4vw, 2rem)}[data-theme=glow]{--bg: #08090d;--bg-lift: #10121a;--edge: rgba(255, 255, 255, .1);--fg: #f4f6fb;--fg-dim: #b3bccd;--fg-faint: #8b95a8;--accent: var(--el-fire);--body-font: var(--sans);--head-font: var(--sans)}[data-theme=plate]{--bg: #0b0a09;--bg-lift: #14120f;--edge: rgba(201, 163, 78, .28);--fg: #f2e6d0;--fg-dim: #cbbb9d;--fg-faint: #a1937b;--accent: #d4ae5c;--body-font: var(--serif);--head-font: var(--serif)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body-font);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3{font-family:var(--head-font);line-height:1.1;margin:0 0 .6em}h1{font-size:clamp(2.2rem,8vw,4rem);letter-spacing:-.02em}h2{font-size:clamp(1.6rem,5vw,2.4rem);letter-spacing:-.01em}h3{font-size:clamp(1.1rem,3.4vw,1.35rem)}p{margin:0 0 1.1em}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-underline-offset:.2em}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}.lede{font-size:clamp(1.05rem,3.2vw,1.22rem);color:var(--fg-dim);max-width:36rem}.kicker{font:600 .72rem/1 var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin:0 0 1.2rem}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--fg);color:var(--bg);padding:.7rem 1.1rem;font:600 .9rem/1 var(--sans)}.skip-link:focus{left:.5rem;top:.5rem}.nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--edge)}.nav-in{max-width:var(--wrap);margin-inline:auto;padding:.75rem var(--pad);display:flex;align-items:center;gap:.4rem 1.1rem;flex-wrap:wrap}.nav-brand{font:700 .9rem/1.2 var(--head-font);color:var(--fg);text-decoration:none;margin-right:auto;letter-spacing:.01em}.nav nav{display:flex;flex-wrap:wrap;gap:.2rem 1.15rem}.nav a:not(.nav-brand){font:500 .86rem/1 var(--sans);color:var(--fg-dim);text-decoration:none;padding:.45rem .1rem}.nav a:not(.nav-brand):hover{color:var(--fg)}.nav a[aria-current=page]{color:var(--accent)}.btn{display:inline-block;text-decoration:none;font:700 .88rem/1 var(--sans);padding:.9rem 1.5rem;border-radius:.6rem;border:1px solid transparent}.btn-primary{background:var(--accent);color:#150703}[data-theme=plate] .btn-primary{color:#17130a}.btn-ghost{border-color:var(--edge);color:var(--fg)}.btn-ghost:hover{border-color:var(--fg-faint)}[data-theme=plate] .btn{font-family:var(--mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;border-radius:0}.el-chip{display:inline-flex;align-items:center;gap:.4rem;font:600 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:.32rem .6rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--el) 45%,transparent);background:color-mix(in srgb,var(--el) 12%,transparent);color:color-mix(in srgb,var(--el) 82%,white)}.el-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--el);flex:none}.foot{border-top:1px solid var(--edge);margin-top:5rem;padding:2.5rem var(--pad) 3rem;color:var(--fg-faint);font-size:.86rem}.foot-in{max-width:var(--wrap);margin-inline:auto;display:grid;gap:1.2rem}.foot nav{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem}.foot a{color:var(--fg-dim);text-decoration:none}.foot a:hover{color:var(--fg);text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
