@font-face{font-family:Syne Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/syne-latin-wght-normal.BVsvWWA4.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Courier New),local(Liberation Mono),local(Cousine);ascent-override:102.517%;descent-override:27.5045%;line-gap-override:0%;size-adjust:99.9837%}@font-face{font-family:DM Sans Variable Fallback;src:local(Arial),local(Liberation Sans),local(Arimo),local(Helvetica);ascent-override:94.9001%;descent-override:29.6563%;line-gap-override:0%;size-adjust:104.531%}@font-face{font-family:Syne Variable Fallback;src:local(Arial),local(Liberation Sans),local(Arimo),local(Helvetica);ascent-override:93.933%;descent-override:27.926%;line-gap-override:0%;size-adjust:98.4745%}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root,html[data-theme=dark]{color-scheme:dark;--bg:#12151c;--bg-elevated:#1a1e28;--fg:#eceae4;--muted:#9a9aa3;--line:#eceae41f;--accent:#d6ff4b;--accent-ink:#12151c;--danger:#ff6b5a;--ok:#5dffb0;--font-display:"Syne Variable", "Syne Variable Fallback", "Syne", "Segoe UI", sans-serif;--font-body:"DM Sans Variable", "DM Sans Variable Fallback", "DM Sans", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback", ui-monospace, monospace;--space:clamp(1rem, 2vw, 1.5rem);--max:72rem;--header-h:4rem;--ease:cubic-bezier(.22, 1, .36, 1)}html[data-theme=light]{color-scheme:light;--bg:#e8edf2;--bg-elevated:#f7f9fb;--fg:#12151c;--muted:#5c6573;--line:#12151c1f;--accent:#556f00;--accent-ink:#f7f9fb;--danger:#c23b2e;--ok:#0f7a4d}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}body{min-height:100dvh;font-family:var(--font-body);color:var(--fg);background:radial-gradient(ellipse 80% 50% at 10% -10%, #d6ff4b14, transparent 55%), radial-gradient(ellipse 60% 40% at 100% 0%, #5dffb00d, transparent 50%), var(--bg);margin:0;font-size:1.05rem;line-height:1.6;overflow-x:clip}@media (hover:hover) and (pointer:fine){body{background-attachment:fixed}}body:before{content:"";pointer-events:none;z-index:0;opacity:.32;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:48px 48px;position:fixed;inset:0;mask-image:radial-gradient(120% 90% at 50% 35%,#000 25%,#0000 78%)}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent)}img,svg{max-width:100%;display:block}button,input,select{font:inherit}.skip-link{z-index:100;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);padding:.6rem 1rem;font-size:.85rem;font-weight:500;text-decoration:none;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:1rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell{z-index:1;flex-direction:column;min-height:100dvh;display:flex;position:relative}.site-main{width:min(100% - 2 * var(--space), var(--max));flex:1;margin-inline:auto;padding-block:2rem 4rem;overflow:visible}.site-header{z-index:20;height:var(--header-h);backdrop-filter:blur(12px);background:color-mix(in srgb, var(--bg) 82%, transparent);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header__inner,.site-footer__inner{width:min(100% - 2 * var(--space), var(--max));justify-content:space-between;align-items:center;gap:1rem;height:100%;margin-inline:auto;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.03em;text-transform:uppercase;font-size:1.15rem;font-weight:800;text-decoration:none}.nav-toggle{appearance:none;border:1px solid var(--line);color:var(--fg);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;padding:.45rem .75rem;font-size:.78rem;display:none}.nav{align-items:center;gap:1.25rem;font-size:.95rem;display:flex}.nav a{color:var(--muted);text-decoration:none}.nav a[aria-current=page],.nav a:hover{color:var(--fg)}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding-block:1.5rem;font-size:.9rem}.site-footer__inner{flex-wrap:wrap;align-items:start;gap:1.25rem;height:auto}.site-footer__prefs{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem 1.25rem;display:flex}.site-footer__links{flex-wrap:wrap;gap:.25rem .5rem;margin:0;display:flex}.pref{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.pref__label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-right:.15rem;font-size:.72rem}.pref__btn{appearance:none;border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);letter-spacing:.03em;cursor:pointer;background:0 0;padding:.35rem .55rem;font-size:.75rem;text-decoration:none}.pref__btn:hover,.pref__btn[aria-pressed=true]{color:var(--fg);border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}a.pref__btn:hover{color:var(--fg)}.site-footer a{color:var(--fg);text-decoration:none}.site-footer a:hover{color:var(--accent)}@media (width<=720px){.nav-toggle{display:inline-flex}.nav{top:calc(var(--header-h) - 1px);padding:.5rem var(--space) 1rem;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;left:0;right:0}.nav[data-open=true]{display:flex}.nav a{border-top:1px solid var(--line);padding:.85rem 0}.site-header{position:sticky}.site-header__inner{position:relative}.site-footer__inner{flex-direction:column}.site-footer__prefs{justify-content:flex-start}}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .75rem;font-size:.8rem}.page-title{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 .75rem;font-size:clamp(2.2rem,6vw,4rem);line-height:1.05}.lede{max-width:38rem;color:var(--muted);margin:0;font-size:1.1rem}.section{margin-top:3.5rem}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.section-head h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.5rem,3vw,2rem)}.btn{background:var(--accent);color:var(--accent-ink);transition:transform .35s var(--ease), background .2s ease, box-shadow .35s var(--ease);border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{color:var(--accent-ink);box-shadow:0 10px 28px color-mix(in srgb, var(--accent) 28%, transparent);transform:translateY(-2px)}.btn--ghost{border-color:var(--line);color:var(--fg);box-shadow:none;background:0 0}.btn--ghost:hover{border-color:var(--accent);color:var(--accent);box-shadow:none}.cta-row{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.item-list{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.item{background:var(--bg-elevated);gap:.35rem;padding:1.25rem 1.35rem;text-decoration:none;transition:background .25s;display:grid}.item:hover{background:color-mix(in srgb, var(--bg-elevated) 70%, var(--accent) 8%);color:inherit}.item__meta{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.item__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.35rem}.item__desc{color:var(--muted);margin:0;font-size:.98rem}@media (width>=720px){.item{grid-template-columns:7rem 1fr;align-items:baseline;column-gap:1.5rem}.item__title,.item__desc{grid-column:2}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/cormorant-sc-latin-500-normal.DKsS8ykr.woff2)format("woff2"),url(/_astro/cormorant-sc-latin-500-normal.DEFRA2y3.woff)format("woff")}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/cormorant-sc-latin-600-normal.wS6gaVTd.woff2)format("woff2"),url(/_astro/cormorant-sc-latin-600-normal.CtbbO-J9.woff)format("woff")}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/cormorant-sc-latin-700-normal.DbXnBeCd.woff2)format("woff2"),url(/_astro/cormorant-sc-latin-700-normal.ukfxaLH3.woff)format("woff")}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/libre-baskerville-latin-400-normal.C42RasBZ.woff2)format("woff2"),url(/_astro/libre-baskerville-latin-400-normal.BTm3cn9P.woff)format("woff")}@font-face{font-family:Libre Baskerville;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/libre-baskerville-latin-400-italic.Dx5Rrf3o.woff2)format("woff2"),url(/_astro/libre-baskerville-latin-400-italic.DvfstiAl.woff)format("woff")}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/libre-baskerville-latin-700-normal.CLGq6Yj4.woff2)format("woff2"),url(/_astro/libre-baskerville-latin-700-normal.D1DCMXWx.woff)format("woff")}@font-face{font-family:Alegreya Sans SC;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/alegreya-sans-sc-latin-500-normal.CHX8q7Az.woff2)format("woff2"),url(/_astro/alegreya-sans-sc-latin-500-normal.DJbCrtC9.woff)format("woff")}@font-face{font-family:Alegreya Sans SC;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/alegreya-sans-sc-latin-700-normal.B3GxztBF.woff2)format("woff2"),url(/_astro/alegreya-sans-sc-latin-700-normal.BexxmWhY.woff)format("woff")}@font-face{font-family:Nodesto Caps Condensed;src:url(/fonts/nodesto-caps-condensed-bold.woff2)format("woff2");font-weight:400 900;font-display:swap}@font-face{font-family:Mr Eaves Small Caps;src:url(/fonts/mr-eaves-small-caps.woff2)format("woff2");font-weight:400 900;font-display:swap}@font-face{font-family:Bookinsanity;src:url(/fonts/bookinsanity.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Bookinsanity;src:url(/fonts/bookinsanity-bold.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Bookinsanity;src:url(/fonts/bookinsanity-italic.woff2)format("woff2");font-style:italic;font-display:swap}@font-face{font-family:Scaly Sans Caps;src:url(/fonts/scaly-sans-caps.woff2)format("woff2");font-weight:400 500;font-display:swap}@font-face{font-family:Scaly Sans Caps;src:url(/fonts/scaly-sans-caps-bold.woff2)format("woff2");font-weight:600 900;font-display:swap}@font-face{font-family:Solbera Imitation;src:url(/fonts/solbera-imitation.woff2)format("woff2");font-display:swap}:root{color-scheme:light;--bg:#f1e6cc;--bg-elevated:#faf3e1;--bg-soft:#e7d8b6;--fg:#2a1d14;--muted:#6b5843;--line:#2a1d142e;--accent:#9b2c1f;--accent-ink:#faf3e1;--accent-soft:#9b2c1f1a;--gold:#d9a441;--ink-on-gold:#2a1d14;--ok:#3f7a35;--danger:#b3261e;--font-title:"Nodesto Caps Condensed", "Cormorant SC", Georgia, serif;--font-display:"Mr Eaves Small Caps", "Cormorant SC", Georgia, serif;--font-body:"Bookinsanity", "Libre Baskerville", Georgia, serif;--font-ui:"Scaly Sans Caps", "Alegreya Sans SC", "Segoe UI", sans-serif;--heading:#58180d;--fs-label:.92rem;--fs-small:.95rem;--dragon:#7d1a12;--dragon-deep:#4f0f0a;--on-dragon:#f5e3bf;--radius:10px;--shadow:0 1px 2px #2a1d1414, 0 6px 20px #2a1d1414;--max:72rem}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#1b1410;--bg-elevated:#261c16;--bg-soft:#33261d;--fg:#efe3c8;--muted:#b3a185;--line:#efe3c824;--accent:#ec8a5c;--accent-ink:#1b1410;--accent-soft:#ec8a5c24;--gold:#e2b357;--ink-on-gold:#241812;--ok:#8cc47a;--danger:#ff7a6b;--shadow:0 1px 0 #0000004d, 0 10px 30px #00000040;--heading:#f0b48a}}body{background:var(--bg);color:var(--fg);font-variant-numeric:lining-nums;background-image:radial-gradient(70% 50% at 15% 0,#ffbe5a29,#0000 60%),radial-gradient(120% 90%,#0000 55%,#50280a2e);background-attachment:fixed;font-size:1rem;line-height:1.7}body:before{opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8 .12' numOctaves='3' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .22 0 0 0 0 .1 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:240px 240px;mask-image:none}@media (prefers-color-scheme:dark){body{background-image:radial-gradient(60% 45% at 12% 0,#ff963c21,#0000 60%),radial-gradient(120% 90%,#0000 50%,#0006)}body:before{opacity:.7;filter:invert();mix-blend-mode:soft-light}}input,button,select,textarea{font-variant-numeric:lining-nums tabular-nums}[hidden]{display:none!important}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;color:var(--heading);text-wrap:balance;font-weight:700;line-height:1.05}p{text-wrap:pretty}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}:root{accent-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rh{z-index:20;padding:.6rem var(--space);background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--dragon), var(--dragon-deep));box-shadow:0 2px 0 var(--gold), 0 6px 18px #280a0559;color:var(--on-dragon);view-transition-name:cabecera;border-bottom:0;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.rh__brand{font-family:var(--font-display);color:var(--on-dragon);letter-spacing:.04em;flex:none;align-items:center;gap:.5rem;font-size:1.55rem;font-weight:700;text-decoration:none;display:flex}.rh__brand:hover{color:var(--gold)}.rh__brand:hover .mark{animation:wobble .6s var(--ease)}@keyframes wobble{30%{transform:rotate(-25deg)scale(1.1)}60%{transform:rotate(12deg)}}.rh__nav{scrollbar-width:none;gap:.15rem;margin-left:auto;display:flex;overflow-x:auto}.rh__nav a{font-family:var(--font-ui);letter-spacing:.02em;color:var(--on-dragon);white-space:nowrap;border-radius:6px;padding:.3rem .7rem;font-size:.95rem;text-decoration:none}.rh__nav a:hover{color:var(--gold);background:#ffdca01f}.rh__nav a[aria-current=page]{background:var(--gold);color:var(--ink-on-gold);box-shadow:inset 0 0 0 1px #fff5dc80}@media (width<=760px){.rh{flex-wrap:wrap;gap:.3rem}.rh__nav{flex-wrap:wrap;width:100%;margin:0;overflow:visible}.rh__nav a{padding:.35rem .6rem;font-size:.9rem}}.rm{max-width:var(--max);padding:clamp(1.5rem, 4vw, 3rem) var(--space) 4rem;min-height:70vh;margin:0 auto}.kicker{font-family:var(--font-ui);color:var(--accent);letter-spacing:.08em;margin:0 0 .3rem;font-size:1.02rem}.page-head{align-items:flex-start;gap:1.1rem;max-width:48rem;margin-bottom:2rem;display:flex}.page-head h1{width:fit-content;margin:0 0 .4rem;font-size:clamp(2rem,5vw,3.2rem)}.page-head h1:after,.flourish:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 14'%3E%3Cg fill='none' stroke='%239b2c1f' stroke-width='1.4'%3E%3Cpath d='M2 7h60M98 7h60'/%3E%3Cpath d='M66 7c4-5 8-5 12 0 4 5 8 5 12 0' /%3E%3C/g%3E%3Cpath d='M80 2l5 5-5 5-5-5z' fill='%23d9a441'/%3E%3C/svg%3E") 0/contain no-repeat;width:min(16rem,100%);height:14px;margin-top:.35rem;display:block}.page-head__lede{color:var(--muted);margin:.4rem 0 0;font-size:1.15rem}.medal{background:radial-gradient(circle at 35% 30%, #f6d58a, var(--gold) 55%, #a8741f);width:2.8rem;height:2.8rem;color:var(--dragon);box-shadow:inset 0 0 0 2px #fff0c880, 0 0 0 2px var(--dragon), 0 3px 8px #280a054d;border-radius:50%;flex:none;place-items:center;display:inline-grid}.medal--big{width:3.8rem;height:3.8rem;margin-top:.4rem}@media (width<=560px){.page-head{flex-direction:column;gap:.6rem}.medal--big{width:3.2rem;height:3.2rem;margin:0}}.panel{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem;position:relative}.panel--framed:before{content:"";border:1px solid var(--line);border-radius:calc(var(--radius) - 3px);pointer-events:none;position:absolute;inset:4px}.panel h2{letter-spacing:.02em;border-bottom:1.5px solid color-mix(in srgb, var(--gold) 70%, transparent);color:var(--heading);align-items:center;gap:.55rem;margin:0 0 .9rem;padding-bottom:.25rem;font-size:1.45rem;display:flex}.panel--framed>h2:before,.panel--framed>h2:after{content:"";background:var(--gold);flex:none;width:6px;height:6px;transform:rotate(45deg)}.panel--framed>h2:after{display:none}.panel--framed{background-image:radial-gradient(circle at 4px 4px, var(--gold) 2.2px, transparent 2.6px), radial-gradient(circle at calc(100% - 4px) 4px, var(--gold) 2.2px, transparent 2.6px), radial-gradient(circle at 4px calc(100% - 4px), var(--gold) 2.2px, transparent 2.6px), radial-gradient(circle at calc(100% - 4px) calc(100% - 4px), var(--gold) 2.2px, transparent 2.6px)}.btn{border:1px solid color-mix(in srgb, var(--fg) 28%, transparent);background:linear-gradient(180deg, var(--bg-elevated), color-mix(in srgb, var(--bg-soft) 60%, var(--bg-elevated)));cursor:pointer;color:var(--fg);font-family:var(--font-ui);letter-spacing:.02em;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;min-height:2.5rem;padding:.4rem 1rem;font-size:1.05rem;font-weight:500;line-height:1.2;text-decoration:none;transition:border-color .15s,transform .1s;display:inline-flex;box-shadow:inset 0 1px #ffffff59,0 1px 2px #28140a1f}.btn:hover{border-color:var(--accent);color:var(--fg);transform:none;box-shadow:inset 0 1px #ffffff59,0 2px 6px #28140a29}.btn:active{transform:translateY(1px)}.btn--primary{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 88%, white), var(--accent) 45%, color-mix(in srgb, var(--accent) 78%, black));color:var(--accent-ink);border-color:color-mix(in srgb, var(--accent) 60%, black);font-weight:700;box-shadow:inset 0 0 0 1px #ffd78c59,0 2px 4px #3c0f0540}.btn--primary:hover{color:var(--accent-ink);border-color:var(--gold);box-shadow:inset 0 0 0 1px #ffd78c99,0 3px 8px #3c0f054d}.btn--small{min-height:2.1rem;font-size:var(--fs-small);padding:.15rem .7rem}.btn--danger:hover{border-color:var(--danger);color:var(--danger)}.field{font-family:var(--font-ui);font-size:var(--fs-label);letter-spacing:.02em;color:var(--muted);gap:.15rem;min-width:0;display:grid}.field input,.field select,.field textarea{font-family:var(--font-body);letter-spacing:0}.field input,.field select,.field textarea,.input{border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;color:var(--fg);border-radius:8px;padding:.45rem .6rem;font-size:1rem}textarea{resize:vertical;min-height:5rem;line-height:1.45}.toast{background:var(--fg);color:var(--bg);z-index:60;box-shadow:var(--shadow);border-radius:999px;padding:.55rem 1rem;font-size:.95rem;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%)}.rf{border-top:1px solid var(--line);padding:2rem var(--space) 6rem;max-width:var(--max);color:var(--muted);gap:.6rem;margin:0 auto;font-size:.9rem;display:grid}.rf p{flex-wrap:wrap;gap:.4rem 1rem;margin:0;display:flex}.rf__srd{max-width:50rem;font-size:.8rem}.rf__langs [aria-current]{color:var(--fg);font-weight:600}.die{flex:none;width:3.4rem;height:3.4rem;overflow:visible}.die__body{fill:var(--gold)}.die__facets{fill:none;stroke:var(--ink-on-gold);stroke-width:1.5px;opacity:.35;stroke-linejoin:round}.die__edge{fill:none;stroke:var(--ink-on-gold);stroke-width:2.5px;stroke-linejoin:round;opacity:.8}.die__num{fill:var(--ink-on-gold);font-family:var(--font-display);paint-order:stroke;stroke:var(--gold);stroke-width:5px;font-weight:700}.die--d20 .die__body,.die--d100 .die__body{fill:var(--accent)}.die--d20 .die__num,.die--d100 .die__num{fill:var(--accent-ink);stroke:var(--accent)}.die--d20 .die__facets,.die--d20 .die__edge,.die--d100 .die__facets,.die--d100 .die__edge{stroke:var(--accent-ink)}.die.is-dropped{opacity:.35;filter:grayscale()}.is-hit .die:not(.is-dropped){filter:drop-shadow(0 0 10px var(--gold)) drop-shadow(0 0 4px var(--gold));animation:1.2s ease-in-out 2 glow}@keyframes glow{50%{transform:scale(1.12)rotate(-4deg)}}.is-miss .die:not(.is-dropped){filter:grayscale(.6);animation:.5s ease-in-out sulk}@keyframes sulk{20%,60%{transform:translate(-5px)rotate(-6deg)}40%,80%{transform:translate(5px)rotate(6deg)}}.dice-more{font-family:var(--font-display);color:var(--muted);align-self:center}.tray{background:linear-gradient(180deg, var(--bg-elevated), var(--bg-soft));border-top:3px solid var(--dragon);right:max(.8rem, env(safe-area-inset-right));bottom:max(.8rem, env(safe-area-inset-bottom));z-index:50;background:var(--bg-elevated);border:1px solid var(--line);border-radius:14px;width:min(22rem,100vw - 1.6rem);padding:.7rem .8rem .8rem;position:fixed;box-shadow:0 12px 40px #0000004d}.tray.is-shown{animation:tray-in .3s var(--ease)}@keyframes tray-in{0%{opacity:0;transform:translateY(20px)}}.tray__top{align-items:center;gap:.3rem;display:flex}.tray__mode{background:var(--bg);border:1px solid var(--line);border-radius:999px;flex:1;min-width:0;padding:2px;display:flex}.tray__mode label{cursor:pointer;flex:1;min-width:0}.tray__mode input{opacity:0;pointer-events:none;position:absolute}.tray__mode span{text-align:center;font-family:var(--font-ui);overflow-wrap:anywhere;border-radius:999px;padding:.3rem .2rem;font-size:.85rem;display:block}.tray__mode input:focus-visible+span{outline:2px solid var(--accent)}.tray__icon{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;width:2.1rem;height:2.1rem;display:grid}.tray__3d{font-family:var(--font-display);color:var(--fg);font-size:.72rem;font-weight:700}.tray__3d[aria-pressed=false]{opacity:.4;text-decoration:line-through}.dice3d{z-index:45;pointer-events:none;opacity:0;visibility:hidden;width:100vw;height:100vh;transition:opacity .6s;position:fixed;inset:0}.dice3d.is-on{opacity:1;visibility:visible}.dice3d.is-fading{opacity:0}.tray__icon[aria-pressed=false] .tray__wave{opacity:.15}.tray__label{color:var(--muted);margin:.6rem 0 0;font-size:.85rem}.tray__dice{flex-wrap:wrap;gap:.35rem;min-height:3.6rem;margin:.4rem 0;display:flex}.tray__total{font-family:var(--font-display);align-items:baseline;gap:.6rem;margin:0;font-size:3rem;font-weight:700;line-height:1;display:flex}.tray__total small{color:var(--accent);font-size:.95rem}.tray__detail{color:var(--muted);font-variant-numeric:tabular-nums;margin:.3rem 0 0;font-size:.85rem}.tray__history{border-top:1px dashed var(--line);color:var(--muted);flex-wrap:wrap;gap:.2rem .8rem;margin:.5rem 0 0;padding:.4rem 0 0;font-size:.75rem;list-style:none;display:flex}.tray__history:empty,.tray__history li:first-child,.tray__history:has(li:only-child){display:none}@media print{.rh,.rf,.tray,.no-print{display:none!important}body{color:#000;background:#fff}}.die-btn{cursor:pointer;transition:transform .15s var(--ease);background:0 0;border:0;border-radius:12px;place-items:center;padding:.2rem;display:grid}.die-btn:hover{transform:rotate(-8deg)scale(1.08)}.die-btn:active{transform:rotate(14deg)scale(.92)}.die-btn .die{width:3rem;height:3rem}@view-transition{navigation:auto}::view-transition-old(root){animation:.18s both vt-out}::view-transition-new(root){animation:.32s cubic-bezier(.2,.8,.3,1) both vt-in}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}::view-transition-group(*){animation-duration:.4s;animation-timing-function:cubic-bezier(.2,.8,.3,1)}.notation{font-family:var(--font-mono);font-size:.95em}.sheet .field input:not([type=checkbox]),.sheet .field select{border:0;border-bottom:1.5px solid var(--line);background:0 0;border-radius:0;padding-left:.15rem;padding-right:.15rem;font-size:1.08rem}.sheet .field textarea{background:color-mix(in srgb, var(--bg) 55%, transparent);border-color:#0000;border-left:3px solid var(--line);border-radius:0 6px 6px 0}.sheet .field input:not([type=checkbox]):hover,.sheet .field select:hover,.sheet .field textarea:hover{border-bottom-color:var(--gold)}.sheet .field input:not([type=checkbox]):focus,.sheet .field select:focus,.sheet .field textarea:focus{background:var(--bg);border-bottom-color:var(--accent);outline:none}.sheet .field{font-size:var(--fs-label)}.sheet input[type=checkbox]:where(:not(.stat--toggle input)){appearance:none;border:1.6px solid color-mix(in srgb, var(--fg) 70%, transparent);cursor:pointer;width:1.05rem;height:1.05rem;transition:background .15s, transform .2s var(--ease);background:0 0;border-radius:50%;flex:none;margin:0}.sheet input[type=checkbox]:where(:not(.stat--toggle input)):checked{background:radial-gradient(circle, var(--fg) 45%, transparent 50%)}.sheet .ability__save input[type=checkbox]{border-radius:1px;width:.85rem;height:.85rem;transform:rotate(45deg)}.sheet .ability__save input[type=checkbox]:checked{background:var(--fg);box-shadow:inset 0 0 0 2px var(--bg)}.sheet [data-death-ko]:checked{background:radial-gradient(circle, var(--danger) 50%, transparent 55%)!important;border-color:var(--danger)!important}.sheet [data-death-ok]:checked{background:radial-gradient(circle, var(--ok) 50%, transparent 55%)!important;border-color:var(--ok)!important}.felt{background:radial-gradient(at 50% 40%,#ff78502e,#0000 70%),repeating-radial-gradient(circle at 30% 20%,#0000000d 0 2px,#0000 2px 4px),linear-gradient(160deg,#6e1810,#3d0b07);border:10px solid #5a3a22;border-image:linear-gradient(135deg,#8a5a32,#4a2c16 40%,#7a4c28 70%,#3e2412) 1;border-radius:18px;padding:1.4rem 1.2rem 1.6rem;position:relative;box-shadow:inset 0 6px 18px #0000008c,0 14px 30px #280f0559}.felt .die__body{fill:var(--gold)}.felt .die__num{fill:var(--dragon);stroke:var(--gold)}.felt .die__facets,.felt .die__edge{stroke:var(--dragon)}.modes{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:3px;display:inline-flex}.modes input{opacity:0;pointer-events:none;position:absolute}.modes span{font-family:var(--font-ui);cursor:pointer;border-radius:6px;padding:.2rem .85rem;font-size:1rem;display:block}.modes input:checked+span{background:var(--dragon);color:var(--on-dragon);box-shadow:inset 0 0 0 1px #ffd78c59}.modes input:focus-visible+span{outline:2px solid var(--accent)}form[data-mode=play] :is([data-add],[data-del],.hint,.row__x){display:none!important}form[data-mode=play] .field:has(>:is(input,textarea):placeholder-shown){display:none}form[data-mode=play] .field :is(input,textarea):read-only{cursor:default;padding-left:0;background:0 0!important;border-color:#0000!important}form[data-mode=play] .field textarea:read-only{field-sizing:content;resize:none;border-radius:0;min-height:0;border-left:0!important}form[data-mode=play] select:disabled{appearance:none;color:inherit;opacity:1;background:0 0;border-color:#0000}form[data-mode=play] input[type=checkbox]:disabled,form[data-mode=play] button[data-skill]:disabled{cursor:default;opacity:1}form[data-mode=play] .ability__score:read-only{background:0 0;border-color:#0000}form[data-mode=play] :is(.feature,.log__entry) .field{gap:0;font-size:0}form[data-mode=play] :is(.feature,.log__entry) .field--tiny{display:none}form[data-mode=play] :is(.feature,.log__entry) .field input{font-family:var(--font-display);color:var(--heading);padding:0;font-size:1.35rem;font-weight:700}form[data-mode=play] :is(.feature,.log__entry) .field textarea{margin-top:0;padding:0;font-size:1rem}form[data-mode=play] .log__entry .field--date input{font-family:var(--font-ui);color:var(--muted);font-size:.95rem;font-weight:500}form[data-mode=play] .feature,form[data-mode=play] .log__entry{padding-bottom:.6rem}form[data-mode=play] .who__name input{border-bottom-color:#0000}form[data-mode=play] .row--attack .field{gap:0;font-size:0}form[data-mode=play] .row--attack{align-items:baseline;column-gap:.6rem}form[data-mode=play] .row--attack .field input{padding:0;font-size:1.05rem}form[data-mode=play] .row--attack .field--wide{flex:8rem}form[data-mode=play] .row--attack .field--wide input{font-family:var(--font-display);color:var(--heading);font-size:1.3rem;font-weight:700}form[data-mode=play] .row--attack .field:not(.field--wide){flex:0 5.5rem}form[data-mode=play] .row--attack .field:last-of-type input{color:var(--muted);font-style:italic}form[data-mode=play] .slot input:read-only{background:0 0;border-color:#0000;font-weight:700}form[data-mode=play] .texts:not(:has(:is(input,textarea):not([type=number]):not(:placeholder-shown))){display:none}@media (width<=700px){.sheet__cols .col{display:contents}.sheet__cols>.col>section{order:10;margin-bottom:0!important}.sheet__cols>.col>section.hp{order:1}.sheet__cols>.col>section:has([data-attacks]){order:2}.sheet__cols>.col>section:has(.abilities){order:3}.sheet__cols>.col>section:has(.skills){order:4}.sheet__cols>.col>section:has([data-slots]){order:5}.sheet__cols>.col>section:has([data-features]){order:6}}.tray{color:#f5e3bf;background:radial-gradient(at 50% 30%,#ff78502e,#0000 70%),repeating-radial-gradient(circle at 30% 20%,#0000000d 0 2px,#0000 2px 4px),linear-gradient(160deg,#6e1810,#3d0b07);border:6px solid #5a3a22;border-image:linear-gradient(135deg,#8a5a32,#4a2c16 40%,#7a4c28 70%,#3e2412) 1;border-radius:0;box-shadow:inset 0 4px 14px #00000080,0 14px 40px #14050073}.tray__mode{background:#00000040;border-color:#ffdca033;border-radius:6px}.tray__mode span{color:#f5e3bf;border-radius:4px}.tray__mode input:checked+span{background:var(--gold);color:#2a1d14}.tray__icon{color:#f5e3bf;border-color:#ffdca040;border-radius:6px}.tray__icon:hover{border-color:var(--gold)}.tray__3d{color:#f5e3bf}.tray__label{color:#f2c25c;font-family:var(--font-ui)}.tray__total{color:#fff2d6;text-shadow:0 2px 6px #0006}.tray__total small{color:#f2c25c;font-family:var(--font-ui);text-shadow:none}.tray__detail,.tray__history{color:#f5e3bfbf;border-color:#ffdca033}.tray .die__body{fill:var(--gold)}.tray .die__num{fill:var(--dragon);stroke:var(--gold)}.tray .die__facets,.tray .die__edge{stroke:var(--dragon)}.hpbar{background:color-mix(in srgb, var(--fg) 12%, transparent);border-radius:4px;height:7px;margin-top:.3rem;display:block;overflow:hidden;box-shadow:inset 0 1px 2px #0003}.hpbar span{height:100%;width:var(--pct);background:linear-gradient(180deg, #6fae5c, var(--ok));transition:width .4s var(--ease), background .3s;display:block}.hpbar[data-low] span,.hpbar--big[data-low] span{background:linear-gradient(180deg, #e0574a, var(--danger))}.hpbar[data-mid] span{background:linear-gradient(#e8c25a,#b8892a)}.tray__top{flex-wrap:wrap;justify-content:flex-end;row-gap:.5rem}.tray__mode{flex:1 0 100%;order:2}.tray__mode span{overflow-wrap:normal;padding:.3rem .2rem;font-size:.95rem}.spell-links{flex-wrap:wrap;gap:.4rem;margin:0;display:flex}form[data-mode=play] .spell-links [data-add]{display:none}h1,.rh__brand{font-family:var(--font-title);letter-spacing:.02em;font-weight:700}h1{line-height:1}.die__num{font-family:var(--font-title)}.page-head__lede:first-letter,.hero__lede:first-letter{font-family:"Solbera Imitation", var(--font-title);float:left;color:var(--heading);margin:.08em .1em 0 0;font-size:3.6em;line-height:.8}
