*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{min-height:100vh;font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,svg,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}a{color:inherit}h1,h2,h3,h4{line-height:1.12;text-wrap:balance;font-weight:600}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}::selection{background:var(--select-bg);color:var(--select-ink)}:root{--font-display: "Fraunces", "Iowan Old Style", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-read: "Source Serif 4", Georgia, "Times New Roman", serif;--step--1: clamp(.83rem, .8rem + .15vw, .9rem);--step-0: clamp(1rem, .96rem + .2vw, 1.08rem);--step-1: clamp(1.2rem, 1.1rem + .5vw, 1.45rem);--step-2: clamp(1.5rem, 1.3rem + 1vw, 2.1rem);--step-3: clamp(1.95rem, 1.5rem + 2.1vw, 3.1rem);--step-4: clamp(2.6rem, 1.7rem + 4.2vw, 5.4rem);--gutter: clamp(1.15rem, 4vw, 2.5rem);--measure: 68ch;--radius: 18px;--radius-sm: 12px}.theme-fan{--bg: #0c0409;--bg-soft: #180911;--bg-raise: #24101c;--ink: #f8edf2;--ink-soft: #d3b6c5;--ink-faint: #9a7c8e;--line: rgba(255, 214, 233, .13);--hairline: rgba(230, 199, 154, .26);--accent: #ff8fb1;--accent-deep: #e0568a;--gold: #e6c79a;--focus: #ffc9dc;--select-bg: #ff8fb1;--select-ink: #0c0409;--glow: radial-gradient(120% 90% at 50% 0%, rgba(224, 86, 138, .32), transparent 62%)}.theme-fan body:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}.frame{position:relative;padding:9px;border-radius:26px;background:linear-gradient(150deg,#ff8fb138,#e6c79a17 48%,#ffffff08);border:1px solid var(--hairline);box-shadow:0 1px #ffffff12 inset,0 48px 90px -56px #000000f2}.frame img{display:block;width:100%;border-radius:8px}.theme-guide{--bg: #0b0713;--bg-soft: #150e22;--bg-raise: #1b1230;--ink: #f5f1fb;--ink-soft: #c3b6d9;--ink-faint: #9184ab;--line: rgba(167, 139, 250, .17);--hairline: rgba(240, 171, 252, .28);--accent: #a78bfa;--accent-deep: #7c3aed;--gold: #f0abfc;--good: #6ee7b7;--warn: #fbbf24;--focus: #c4b5fd;--select-bg: rgba(167, 139, 250, .2);--select-ink: #f5f1fb;--grad: linear-gradient(100deg, #8b5cf6, #c026d3);--grad-soft: linear-gradient(100deg, #a78bfa, #f0abfc)}.theme-guide body:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}.theme-guide body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(70% 45% at 12% 0%,rgba(139,92,246,.22),transparent 60%),radial-gradient(60% 40% at 92% 18%,rgba(192,38,211,.16),transparent 62%)}.wrap{width:min(100% - (var(--gutter) * 2),1120px);margin-inline:auto}.wrap-narrow{width:min(100% - (var(--gutter) * 2),760px);margin-inline:auto}.skip{position:absolute;left:-9999px;top:0;z-index:999;padding:.75rem 1.25rem;background:var(--bg-raise);color:var(--ink);border-radius:0 0 var(--radius-sm) 0}.skip:focus{left:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
