:root{--ground: #E8DECB;--ground-deep: #DFCFB8;--ink: #2A1228;--ink-soft: #5A4A57;--ink-faint: #9A8A97;--purple: #6D2168;--purple-bright: #9A3D93;--purple-deep: #1C0C1E;--code-bg: #241026;--amber: #7A5015;--amber-soft: #9B6A22;--sage: #4A8A78;--terracotta: #8B4A30;--sheen-cyan: #CCE8DF;--sheen-lilac: #DED0E7;--sheen-mint: #D7EAD0;--sheen-blush: #F0D1CF;--sheen-gold: #EAD9AF;--shadow-soft: 0 24px 80px rgba(42, 18, 40, .14);--shadow-small: 0 14px 36px rgba(42, 18, 40, .1);--max: 1180px;--font-display: "Fredoka", "Trebuchet MS", system-ui, sans-serif;--font-inscription: "Cinzel", "Trajan Pro", serif;--font-body: "Quicksand", "Avenir Next", system-ui, sans-serif;--font-code: "JetBrains Mono", "Fira Code", "SFMono-Regular", ui-monospace, monospace;--glass-edge: rgba(255, 255, 255, .55);--glass-fill: rgba(255, 255, 255, .35);--glass-bg-inner: linear-gradient(135deg, rgba(255, 253, 247, .58), rgba(255, 248, 236, .26));--nav-fill: rgba(232, 222, 203, .76);--nav-fill-shown: rgba(232, 222, 203, .92);--nav-link-hover: rgba(255, 255, 255, .44);--surface-float: rgba(255, 255, 255, .42);--surface-hover: rgba(255, 255, 255, .56);--surface-input: rgba(255, 255, 255, .36);--button-border: rgba(255, 255, 255, .78);--elsewhere-fill: rgba(90, 74, 87, .07);--elsewhere-fill-head: rgba(90, 74, 87, .11);--section-border: rgba(109, 33, 104, .1);--footer-border: rgba(109, 33, 104, .14);--pearl-opacity: .22;--sheen-opacity: .86;--accent-inline: var(--purple);--copy-btn-color: var(--purple);--copy-btn-bg: rgba(109, 33, 104, .08);--copy-btn-border: rgba(109, 33, 104, .24);--body-spot1: rgba(220, 180, 160, .22);--body-spot2: rgba(200, 175, 120, .24);--body-mid: #EDE0C4;--sheen-a: rgba(240, 209, 207, .16);--sheen-b: rgba(234, 217, 175, .18);--sheen-c: rgba(215, 234, 208, .14);--sheen-d: rgba(204, 232, 223, .09);--heading-shadow: 0 1px 2px rgba(42, 18, 40, .07), 0 2px 4px rgba(42, 18, 40, .04)}:root[data-theme=dark]{--ground: #100B16;--ground-deep: #0C0810;--ink: #EDE5D4;--ink-soft: #AFA090;--ink-faint: #686050;--amber: #C96B5E;--amber-soft: #D8847A;--sage: #7BBDAA;--terracotta: #C47B52;--glass-edge: rgba(255, 255, 255, .08);--glass-fill: rgba(255, 255, 255, .05);--glass-bg-inner: linear-gradient(135deg, rgba(40, 20, 55, .68), rgba(28, 10, 40, .58));--shadow-soft: 0 24px 80px rgba(0, 0, 0, .55);--shadow-small: 0 14px 36px rgba(0, 0, 0, .42);--nav-fill: rgba(16, 11, 22, .86);--nav-fill-shown: rgba(16, 11, 22, .96);--nav-link-hover: rgba(255, 255, 255, .09);--surface-float: rgba(255, 255, 255, .07);--surface-hover: rgba(255, 255, 255, .12);--surface-input: rgba(255, 255, 255, .05);--button-border: rgba(255, 255, 255, .14);--elsewhere-fill: rgba(255, 255, 255, .05);--elsewhere-fill-head: rgba(255, 255, 255, .09);--section-border: rgba(154, 61, 147, .14);--footer-border: rgba(154, 61, 147, .18);--pearl-opacity: .09;--sheen-opacity: .65;--accent-inline: var(--purple-bright);--copy-btn-color: var(--purple-bright);--copy-btn-bg: rgba(154, 61, 147, .12);--copy-btn-border: rgba(154, 61, 147, .3);--body-spot1: rgba(80, 20, 70, .28);--body-spot2: rgba(50, 15, 65, .22);--body-mid: #18102A;--sheen-a: rgba(100, 30, 90, .1);--sheen-b: rgba(60, 15, 80, .12);--sheen-c: rgba(80, 20, 70, .08);--sheen-d: rgba(40, 10, 55, .06);--heading-shadow: 0 1px 0 rgba(255, 255, 255, .04)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #100B16;--ground-deep: #0C0810;--ink: #EDE5D4;--ink-soft: #AFA090;--ink-faint: #686050;--amber: #C8922E;--amber-soft: #D4A448;--glass-edge: rgba(255, 255, 255, .08);--glass-fill: rgba(255, 255, 255, .05);--glass-bg-inner: linear-gradient(135deg, rgba(40, 20, 55, .68), rgba(28, 10, 40, .58));--shadow-soft: 0 24px 80px rgba(0, 0, 0, .55);--shadow-small: 0 14px 36px rgba(0, 0, 0, .42);--nav-fill: rgba(16, 11, 22, .86);--nav-fill-shown: rgba(16, 11, 22, .96);--nav-link-hover: rgba(255, 255, 255, .09);--surface-float: rgba(255, 255, 255, .07);--surface-hover: rgba(255, 255, 255, .12);--surface-input: rgba(255, 255, 255, .05);--button-border: rgba(255, 255, 255, .14);--elsewhere-fill: rgba(255, 255, 255, .05);--elsewhere-fill-head: rgba(255, 255, 255, .09);--section-border: rgba(154, 61, 147, .14);--footer-border: rgba(154, 61, 147, .18);--pearl-opacity: .09;--sheen-opacity: .65;--accent-inline: var(--purple-bright);--copy-btn-color: var(--purple-bright);--copy-btn-bg: rgba(154, 61, 147, .12);--copy-btn-border: rgba(154, 61, 147, .3);--body-spot1: rgba(80, 20, 70, .28);--body-spot2: rgba(50, 15, 65, .22);--body-mid: #18102A;--sheen-a: rgba(100, 30, 90, .1);--sheen-b: rgba(60, 15, 80, .12);--sheen-c: rgba(80, 20, 70, .08);--sheen-d: rgba(40, 10, 55, .06);--heading-shadow: 0 1px 0 rgba(255, 255, 255, .04)}}*{box-sizing:border-box}html{color:var(--ink);background:var(--ground);font-family:var(--font-body);scroll-behavior:smooth;color-scheme:light dark;transition:background-color .26s ease,color .26s ease}body{min-width:320px;margin:0;background:radial-gradient(circle at 18% 8%,var(--body-spot1),transparent 27rem),radial-gradient(circle at 84% 2%,var(--body-spot2),transparent 28rem),linear-gradient(135deg,var(--ground),var(--body-mid) 48%,var(--ground-deep));color:var(--ink);font-size:18px;line-height:1.65;text-rendering:optimizeLegibility;transition:background .26s ease,color .26s ease}body:before{position:fixed;inset:-18vmax;z-index:-2;display:block;content:"";background:linear-gradient(112deg,transparent 12%,var(--sheen-a),transparent 34%),linear-gradient(63deg,transparent 24%,var(--sheen-b),transparent 48%),linear-gradient(148deg,transparent 42%,var(--sheen-c),transparent 72%),linear-gradient(88deg,transparent 56%,var(--sheen-d),transparent 82%);filter:blur(22px);opacity:var(--sheen-opacity);animation:sheen-drift 34s ease-in-out infinite alternate;pointer-events:none;transition:opacity .26s ease}body:after{position:fixed;inset:0;z-index:-3;display:block;content:"";background-image:url(/images/pearl-sheen.png);background-size:cover;background-position:center;opacity:var(--pearl-opacity);pointer-events:none;transition:opacity .26s ease}img,svg{max-width:100%}a{color:inherit;text-decoration-color:#6d216852;text-underline-offset:.22em}a:hover{color:var(--purple);text-decoration-color:#6d216899}:focus-visible{outline:3px solid rgba(154,61,147,.5);outline-offset:4px;border-radius:8px}::selection{background:#6d21682e}.code-card{display:block;overflow-x:auto;background:var(--code-bg);border-radius:12px;padding:1.5rem 1.75rem;color:#ece3f2;font-family:var(--font-code);font-size:clamp(.82rem,1.15vw,.95rem);line-height:1.78;box-shadow:0 24px 64px #1c0c1e5c,0 0 0 1px #9a3d931f;white-space:pre}.code-card+.code-caption{display:block;margin-top:10px;color:var(--ink-faint);font-size:.82rem;font-style:italic}.kw{color:#d9a8ff}.danger{color:var(--amber);font-weight:700}.str{color:var(--amber)}.fail{color:var(--terracotta)}.cmt{color:#7a6a80;font-style:italic}.site-shell{min-height:100vh}.glass{border:1px solid var(--glass-edge);background:var(--glass-bg-inner),var(--glass-fill);box-shadow:var(--shadow-small);backdrop-filter:blur(22px) saturate(122%);transition:background .26s ease,border-color .26s ease}.nav{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--glass-edge);background:var(--nav-fill);backdrop-filter:blur(24px) saturate(126%);transition:background .26s ease,border-bottom-color .26s ease}.nav--immersive{position:fixed;top:0;left:0;right:0;opacity:0;pointer-events:none;background:transparent;border-bottom-color:transparent;backdrop-filter:none;transition:opacity .38s ease,background .38s ease,border-bottom-color .38s ease}.nav--immersive.nav--shown{opacity:1;pointer-events:auto;background:var(--nav-fill-shown);border-bottom-color:var(--glass-edge);backdrop-filter:blur(24px) saturate(126%)}.nav__inner{display:flex;align-items:center;width:min(var(--max),calc(100% - 32px));min-height:72px;margin:0 auto;gap:20px}.brand-lockup{display:inline-flex;align-items:baseline;gap:8px;min-width:max-content}.brand{display:inline-flex;align-items:baseline;gap:8px;color:var(--ink);font-family:var(--font-display);font-size:1.1rem;font-weight:600;text-decoration:none}.brand:hover{color:var(--ink)}.brand__logo{display:inline-block;width:26px;height:26px;border-radius:50%;object-fit:cover;flex-shrink:0;align-self:center}.brand__name{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--ink);line-height:1}.byline{color:var(--ink-faint);font-family:var(--font-body);font-size:.68rem;font-weight:700;letter-spacing:.02em;line-height:1;text-decoration:none}.byline:hover{color:var(--ink-soft)}.nav__links{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}.nav__links a{display:inline-flex;min-height:40px;align-items:center;border-radius:999px;padding:0 14px;color:var(--ink-soft);font-size:.95rem;font-weight:600;text-decoration:none}.nav__links a:hover,.nav__links a[aria-current=page]{background:var(--nav-link-hover);color:var(--ink)}h1,h2{text-shadow:var(--heading-shadow)}.eyebrow{color:var(--amber);font-size:.76rem;font-variant:small-caps;font-weight:700;letter-spacing:.2em;text-transform:lowercase}.button-row{display:flex;flex-wrap:wrap;gap:12px}.button{position:relative;display:inline-flex;min-height:48px;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--button-border);border-radius:999px;padding:0 22px;background:var(--surface-float);box-shadow:0 12px 30px #2a12281a;color:var(--ink);font-weight:700;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:before{position:absolute;inset:0;display:block;content:"";background:linear-gradient(108deg,transparent 18%,rgba(240,209,207,.32),rgba(234,217,175,.28),transparent 68%);transform:translate(-100%);transition:transform .52s ease}.button span{position:relative}.button:hover{transform:translateY(-2px);background:var(--surface-hover);box-shadow:0 18px 38px #2a122821;color:var(--ink)}.button:hover:before{transform:translate(100%)}.button--primary{background:var(--purple);border-color:#9a3d9380;color:#fff;box-shadow:0 12px 30px #6d216847}.button--primary:hover{background:var(--purple-bright);color:#fff;box-shadow:0 18px 38px #6d21685c}.button--quiet{color:var(--ink-soft)}.install-line{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(109,33,104,.2);border-radius:999px;padding:8px 16px 8px 20px;background:var(--surface-input)}.install-line code{font-family:var(--font-code);font-size:.88rem;color:var(--accent-inline)}.copy-btn{min-height:28px;border:1px solid var(--copy-btn-border);border-radius:999px;padding:0 10px;background:var(--copy-btn-bg);color:var(--copy-btn-color);font-family:var(--font-body);font-size:.76rem;font-weight:700;cursor:pointer;transition:background .14s ease}.copy-btn:hover{background:#6d216829}.site-footer{width:min(var(--max),calc(100% - 32px));margin:0 auto;padding:56px 0 42px;color:var(--ink-soft);font-size:.88rem}.site-footer__inner{display:grid;grid-template-columns:1fr auto;gap:24px 48px;border-top:1px solid var(--footer-border);padding-top:24px}.site-footer__left{display:grid;gap:6px}.site-footer__right{display:flex;gap:20px;align-items:start;flex-wrap:wrap}.site-footer a{color:var(--ink-soft);font-weight:700;text-decoration:none}.site-footer a:hover{color:var(--purple)}.site-footer__note{color:var(--ink-faint);font-size:.78rem}.lineage{margin-top:10px;color:var(--ink-faint);font-size:.74rem;letter-spacing:.07em;opacity:.75}.lineage .phoen{font-size:1.08em;vertical-align:-.05em}.lineage__word{font-family:var(--font-code);font-size:.88em;color:var(--accent-inline);opacity:.9}.phoen{font-family:Segoe UI Historic,Segoe UI Symbol,Apple Symbols,serif}[data-enter]{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,.9,.22,1),transform .7s cubic-bezier(.22,.9,.22,1)}[data-enter].entered{opacity:1;transform:translateY(0)}@keyframes sheen-drift{0%{transform:translate3d(-2%,-1%,0) rotate(-2deg) scale(1)}to{transform:translate3d(2%,1%,0) rotate(2deg) scale(1.03)}}@media(max-width:760px){body{font-size:16px}.nav__inner{width:min(100% - 24px,var(--max));min-height:64px;gap:10px}.brand-lockup,.brand{gap:8px}.nav__links{gap:2px}.nav__links a{min-height:36px;padding:0 9px;font-size:.86rem}.button{min-width:0}.site-footer__inner{grid-template-columns:1fr}.site-footer__right{gap:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}[data-enter]{opacity:1;transform:none;transition:none}}
