:root{--moon:#ecd07f;--moon-soft:#f5e6b4;--teal:#67c3af;--moss:#84ad6c;--panel:#18291fe0;--panel-solid:#18291f;--blood:maroon;--blood-bright:#9a1414;--blood-moon:#f05545;--vitality:#3e8e45;--muted:#a9bbae;--heading:#c2d2c4;--bg-top:#20342a;--bg-bottom:#16241c;--text:#eef2ee;--secondary:#ebf0eba3;--orange:#ff9f0a;--red:#ff453a;--fill:#ffffff0f;--fill-strong:#ffffff1a;--hairline:#ffffff38;--shadow:#00000059;--ink-on-gold:#142319;--pale-ink:#fff0eb;--bar-bg:#16241cd1;--serif:ui-serif, "New York", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif;--rounded:ui-rounded, "SF Pro Rounded", -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;--radius:16px;--gap:16px;--pad:16px;--control:44px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--moon:#8a6d1f;--moon-soft:#6d5512;--teal:#1e6e5c;--moss:#4a7034;--panel:#fffbf0eb;--panel-solid:#fffbf0;--blood-moon:#8e2018;--vitality:#2f6b33;--muted:#55605a;--heading:#4a5b50;--bg-top:#f2ecdc;--bg-bottom:#e9e2cf;--text:#1b201c;--secondary:#1e2620a8;--orange:#b35c00;--red:#c4141b;--fill:#0000000d;--fill-strong:#00000014;--hairline:#ffffffb3;--shadow:#0000001f;--bar-bg:#f2ecdcd9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (min-width:1000px){:root{--gap:22px;--pad:24px;--control:50px}}*,:before,:after{box-sizing:border-box}html{background:var(--bg-bottom);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{min-height:100vh;min-height:100dvh;font-family:var(--sans);color:var(--text);background:var(--bg-bottom);margin:0;font-size:15px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{touch-action:manipulation;cursor:pointer}button:disabled{cursor:default}img{max-width:100%;display:block}.icon{flex:none;width:1.15em;height:1.15em}a{color:var(--teal)}:focus-visible{outline:2px solid var(--moon);outline-offset:2px;border-radius:8px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.backdrop{z-index:-1;pointer-events:none;background:radial-gradient(ellipse 420px 420px at 50% 0, color-mix(in srgb, var(--moon) 16%, transparent), transparent 100%), linear-gradient(var(--bg-top), var(--bg-bottom));transition:background .5s;position:fixed;inset:0}.backdrop.transformed{background:radial-gradient(ellipse 520px 520px at 50% 0, color-mix(in srgb, var(--moon) 34%, transparent), transparent 100%), linear-gradient(var(--bg-top), var(--bg-bottom))}.druid-art{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.druid-art img{object-fit:cover;object-position:top;opacity:.5;width:100%;height:100%;-webkit-mask-image:linear-gradient(#000 0%,#000000d9 34%,#00000040 62%,#0000 88%);mask-image:linear-gradient(#000 0%,#000000d9 34%,#00000040 62%,#0000 88%)}:root[data-theme=light] .druid-art img{opacity:.21}.topbar{z-index:20;min-height:52px;padding:0 8px;padding-top:env(safe-area-inset-top);background:var(--bar-bg);-webkit-backdrop-filter:saturate(160%)blur(18px);backdrop-filter:saturate(160%)blur(18px);border-bottom:.5px solid color-mix(in srgb, var(--muted) 22%, transparent);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:sticky;top:0}.topbar .lead,.topbar .trail{align-items:center;gap:2px;display:flex}.topbar .trail{justify-content:flex-end}.topbar .title{text-align:center;justify-content:center;align-items:center;gap:7px;min-width:0;font-size:17px;font-weight:600;display:flex}.topbar .title .name{font-family:var(--serif);color:var(--moon-soft);white-space:nowrap;text-overflow:ellipsis;max-width:46vw;font-size:20px;font-weight:700;overflow:hidden}.level-chip{color:var(--teal);font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--teal) 15%, transparent);white-space:nowrap;border-radius:99px;padding:2px 6px;font-size:12px;font-weight:600}.bar-button{min-width:44px;min-height:44px;color:var(--teal);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:17px;display:inline-flex}.bar-button:hover{background:var(--fill)}.bar-button.strong{font-weight:600}.bar-button:disabled{opacity:.4}.bar-button svg{width:22px;height:22px}.page{padding:var(--pad);padding-bottom:calc(var(--pad) + env(safe-area-inset-bottom) + 96px)}.column{gap:var(--gap);flex-direction:column;min-width:0;display:flex}.single{max-width:640px;margin-inline:auto}.two-col{gap:var(--gap);grid-template-columns:1fr 1fr;align-items:start;display:grid}.split{min-height:100vh;grid-template-columns:340px 1fr;min-height:100dvh;display:grid}.split>aside{height:100vh;border-right:.5px solid color-mix(in srgb, var(--muted) 25%, transparent);background:color-mix(in srgb, var(--bg-bottom) 70%, transparent);flex-direction:column;height:100dvh;display:flex;position:sticky;top:0;overflow-y:auto}.split>main{min-width:0;position:relative}.surface{isolation:isolate;border-radius:var(--radius);background:var(--panel);box-shadow:0 6px 20px var(--shadow), inset 0 0 0 .75px color-mix(in srgb, var(--hairline) 100%, transparent);padding:16px;position:relative;overflow:hidden}@media (min-width:1000px){.surface{padding:20px}}.surface.recessed{box-shadow:0 2px 8px var(--shadow), inset 0 .75px 0 var(--hairline)}.surface.featured{box-shadow:0 6px 36px var(--shadow), inset 0 0 0 1.25px color-mix(in srgb, var(--moon) 28%, transparent)}.surface>.art-layer{z-index:-1;pointer-events:none;position:absolute;inset:0}.section-heading{font-family:var(--serif);color:var(--moon);text-transform:uppercase;letter-spacing:.09em;margin:0;font-size:15px;font-weight:700}.section-heading:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--moon) 55%, transparent), color-mix(in srgb, var(--moon) 5%, transparent));height:1px;margin-top:5px;display:block}.small-heading{letter-spacing:.05em;text-transform:uppercase;color:var(--heading);margin:0;font-size:12px;font-weight:600}.chip{white-space:nowrap;color:var(--teal);background:color-mix(in srgb, var(--teal) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--teal) 45%, transparent);border-radius:99px;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:500;line-height:1.2;display:inline-flex}.chip.gold{color:var(--moon);background:color-mix(in srgb, var(--moon) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--moon) 45%, transparent)}.badge-active{color:var(--moon);white-space:nowrap;background:color-mix(in srgb, var(--moon) 20%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--moon) 50%, transparent);border-radius:99px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-block}.muted{color:var(--muted)}.secondary{color:var(--secondary)}.caption{font-size:12px}.caption2{font-size:11px}.footnote{font-size:13px}.subhead{font-size:15px}.body{font-size:17px}.serif{font-family:var(--serif)}.tnum{font-variant-numeric:tabular-nums}.warning{color:var(--orange)}.row{align-items:center;gap:10px;display:flex}.spacer{flex:1}.stack{flex-direction:column;display:flex}.btn{min-height:var(--control);text-align:center;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex}.btn svg{flex:none;width:18px;height:18px}.btn.prominent{background:var(--moon);color:var(--ink-on-gold)}:root[data-theme=light] .btn.prominent{color:#fff}.btn.teal{background:var(--teal);color:#fff}:root[data-theme=dark] .btn.teal{color:var(--ink-on-gold)}.btn.bordered{background:var(--fill-strong);color:var(--teal);font-weight:500}.btn.bordered.moss{color:var(--moss);background:color-mix(in srgb, var(--moss) 16%, transparent)}.btn.plain{color:var(--teal);background:0 0;font-weight:500}.btn.capsule{border-radius:99px}.btn.wide{width:100%}.btn:disabled{opacity:.4}.btn.prominent:not(:disabled):hover,.btn.teal:not(:disabled):hover{filter:brightness(1.06)}.btn.bordered:not(:disabled):hover{background:color-mix(in srgb, var(--teal) 18%, transparent)}.link-button{color:var(--teal);background:0 0;border:0;align-items:center;gap:6px;min-height:44px;padding:0;font-weight:500;display:inline-flex}.link-button:disabled{opacity:.4}.link-button.destructive{color:var(--red)}.segmented{background:var(--fill-strong);border-radius:9px;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:2px;display:grid}.segmented button{min-height:32px;color:var(--text);background:0 0;border:0;border-radius:7px;padding:0 8px;font-size:13px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--panel-solid);box-shadow:0 1px 4px var(--shadow);font-weight:600}.pill{white-space:nowrap;min-height:32px;color:var(--muted);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--teal) 28%, transparent);background:0 0;border:0;border-radius:99px;padding:6px 11px;font-size:12px}.pill.prominent{color:var(--teal);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--teal) 55%, transparent);font-weight:600}.pill[aria-pressed=true]{color:var(--moon);background:color-mix(in srgb, var(--moon) 22%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--moon) 60%, transparent)}.pill-row{scrollbar-width:none;gap:8px;padding:2px 0;display:flex;overflow-x:auto}.pill-row::-webkit-scrollbar{display:none}.pill-divider{background:color-mix(in srgb, var(--muted) 35%, transparent);flex:none;align-self:stretch;width:1px;margin:6px 0}.field{background:var(--fill-strong);width:100%;min-height:44px;box-shadow:inset 0 0 0 1px var(--fill);border:0;border-radius:10px;padding:10px 12px}.field:focus{outline:2px solid color-mix(in srgb, var(--teal) 70%, transparent);outline-offset:0}.search{background:var(--fill-strong);border-radius:10px;align-items:center;gap:8px;min-height:38px;padding:0 10px;display:flex}.search svg{width:16px;height:16px;color:var(--muted);flex:none}.search input{background:0 0;border:0;outline:none;flex:1;min-width:0;min-height:38px;font-size:16px}.search button{color:var(--muted);background:0 0;border:0;padding:4px;display:flex}.form-section{flex-direction:column;gap:6px;display:flex}.form-section>.label{color:var(--heading);padding:0 4px;font-size:13px;font-weight:600}.form-group{background:var(--panel);box-shadow:0 2px 8px var(--shadow);border-radius:12px;overflow:hidden}.form-row{align-items:center;gap:10px;min-height:48px;padding:6px 14px;display:flex}.form-row+.form-row,.form-group>*+*{border-top:.5px solid color-mix(in srgb, var(--muted) 22%, transparent)}.form-row>.label{flex:none}.form-row input[type=text],.form-row input[inputmode=numeric]{text-align:right;background:0 0;border:0;outline:none;flex:1;min-width:0;min-height:40px}.form-row select{color:var(--muted);text-align:right;background:0 0;border:0;max-width:60%;min-height:40px;margin-left:auto;padding-right:4px}.form-footer{color:var(--muted);padding:2px 6px 0;font-size:13px}.stepper{background:var(--fill-strong);border-radius:9px;flex:none;display:inline-flex;overflow:hidden}.stepper button{width:46px;height:32px;color:var(--text);background:0 0;border:0;place-items:center;display:grid}.stepper button+button{border-left:.5px solid color-mix(in srgb, var(--muted) 35%, transparent)}.stepper button:disabled{opacity:.3}.stepper svg{width:14px;height:14px}.toggle{appearance:none;background:var(--fill-strong);cursor:pointer;width:51px;height:31px;box-shadow:inset 0 0 0 1px var(--fill);border-radius:99px;flex:none;margin:0;transition:background .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #00000040}.toggle:checked{background:var(--teal)}.toggle.gold:checked{background:var(--moon)}.toggle:checked:after{transform:translate(20px)}.sheet-scrim{z-index:50;background:#00000073;justify-content:center;align-items:stretch;animation:.18s fade-in;display:flex;position:fixed;inset:0}.sheet{background:linear-gradient(var(--bg-top), var(--bg-bottom));flex-direction:column;width:100%;animation:.26s cubic-bezier(.2,.9,.3,1) sheet-up;display:flex;position:relative;overflow:hidden}.sheet>.sheet-body{overscroll-behavior:contain;flex:1;overflow-y:auto}@media (min-width:760px){.sheet-scrim{align-items:center;padding:3vh 24px}.sheet{border-radius:16px;max-width:720px;max-height:94vh;box-shadow:0 20px 60px #00000080}.sheet.size-page{max-width:900px;height:94vh}.sheet.size-compact{max-width:560px;height:auto}}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.dialog-scrim{z-index:80;padding:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:#00000073;justify-content:center;align-items:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}@media (min-width:760px){.dialog-scrim{align-items:center}}.dialog{flex-direction:column;gap:8px;width:100%;max-width:420px;animation:.2s sheet-up;display:flex}.dialog .card{background:var(--panel-solid);border-radius:14px;overflow:hidden;box-shadow:0 12px 40px #0006}.dialog .head{text-align:center;padding:14px 16px}.dialog .head h2{color:var(--muted);margin:0;font-size:13px;font-weight:600}.dialog .head p{color:var(--muted);white-space:pre-line;margin:4px 0 0;font-size:13px}.dialog .head.alert h2{color:var(--text);font-size:17px}.dialog .head.alert p{color:var(--text);font-size:13px}.dialog .choice{border:0;border-top:.5px solid color-mix(in srgb, var(--muted) 25%, transparent);width:100%;min-height:56px;color:var(--teal);background:0 0;font-size:18px;display:block}.dialog .choice:hover{background:var(--fill)}.dialog .choice.destructive{color:var(--red)}.dialog .choice.cancel{border-top:0;font-weight:600}.menu{z-index:90;background:var(--panel-solid);min-width:240px;max-width:min(320px,100vw - 20px);box-shadow:0 16px 48px #00000073, inset 0 0 0 .5px var(--hairline);border-radius:13px;padding:6px 0;animation:.12s fade-in;position:fixed}.menu .menu-title{color:var(--muted);padding:6px 16px 4px;font-size:12px}.menu hr{background:var(--fill);border:0;height:6px;margin:4px 0}.menu button{text-align:left;width:100%;min-height:44px;color:var(--text);background:0 0;border:0;align-items:center;gap:12px;padding:0 16px;font-size:16px;display:flex}.menu button:hover,.menu button:focus-visible{background:var(--fill-strong);border-radius:0;outline:none}.menu button svg{width:18px;height:18px;color:var(--muted);margin-left:auto}.menu-catcher{z-index:89;position:fixed;inset:0}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:100;background:var(--panel-solid);border-radius:99px;padding:10px 16px;font-size:14px;animation:.2s fade-in;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0006}.edition-toggle{background:color-mix(in srgb, var(--panel-solid) 75%, transparent);width:calc(100% - 40px);max-width:340px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 18%, transparent);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;margin:8px auto;padding:4px;display:grid}.edition-toggle button{font-variant-numeric:tabular-nums;min-height:36px;color:color-mix(in srgb, var(--muted) 70%, transparent);background:0 0;border:0;border-radius:10px;font-size:15px;font-weight:500}.edition-toggle button .year{color:var(--muted)}.edition-toggle button[aria-pressed=true]{background:color-mix(in srgb, var(--moss) 22%, transparent);color:color-mix(in srgb, var(--muted) 95%, transparent);font-weight:600}.edition-toggle button[aria-pressed=true] .year{color:var(--moon)}.roster-list{flex-direction:column;gap:6px;padding:0 16px;display:flex}.druid-row{text-align:left;background:var(--panel);width:100%;min-height:64px;box-shadow:0 2px 8px var(--shadow);color:var(--text);border:0;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.druid-row:hover{background:color-mix(in srgb, var(--panel-solid) 92%, var(--moon))}.druid-row[aria-current=page]{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--moon) 60%, transparent), 0 2px 8px var(--shadow)}.druid-row .name{font-family:var(--serif);font-size:17px;font-weight:600}.druid-row .chev{width:14px;height:14px;color:var(--muted);flex:none}.thumb{background:var(--fill);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--moon) 18%, transparent);border-radius:8px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.thumb svg{width:42%;height:42%;color:color-mix(in srgb, var(--moon) 50%, transparent)}.thumb.active:after{content:"";box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--moon) 75%, transparent);border-radius:8px;position:absolute;inset:0}.roster-footer{text-align:center;color:var(--secondary);padding:16px 20px;padding-bottom:calc(10px + env(safe-area-inset-bottom));font-size:12px}.roster-footer p{margin:2px 0}.welcome{text-align:center;flex-direction:column;align-items:center;gap:20px;padding:12px 20px 32px;display:flex}.welcome .wordmark{height:52px}.welcome h1{font-family:var(--serif);color:var(--moon-soft);margin:0;font-size:21px;font-weight:700}.welcome .lede{color:var(--secondary);max-width:420px;margin:0}.welcome .supports{color:var(--moon-soft);margin:0;font-weight:500}.purpose{text-align:left;flex-direction:column;gap:16px;width:100%;max-width:480px;display:flex}.purpose .item{align-items:flex-start;gap:12px;display:flex}.purpose .item svg{width:24px;height:24px;color:var(--teal);flex:none;margin-top:1px}.purpose .item strong{font-size:15px;display:block}.purpose .item span{color:var(--secondary);font-size:12px}@media (min-width:1000px){.welcome .wordmark{height:78px}.welcome h1{font-size:30px}.welcome .lede{max-width:620px}.purpose{max-width:700px}}.empty-edition{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:0 24px;display:flex}.empty-edition .ornament{color:var(--moon);align-items:center;gap:12px;display:flex}.empty-edition .ornament i{background:color-mix(in srgb, var(--muted) 35%, transparent);width:56px;height:1px}.empty-edition .ornament svg{width:14px;height:14px}.empty-edition h2{font-family:var(--serif);color:var(--moon-soft);margin:0;font-size:24px;font-weight:700}.empty-edition p{color:var(--secondary);white-space:pre-line;margin:0}.wordmark{width:auto;max-width:100%;display:block}.wordmark-bar{height:22px}.form-card{text-align:left;width:100%;color:var(--text);cursor:pointer;border:0;align-items:flex-start;gap:8px;display:flex}.form-card .kicker{color:var(--teal);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.form-card .form-name{font-family:var(--serif);color:var(--moon-soft);margin:4px 0;font-size:20px;font-weight:600}@media (min-width:1000px){.form-card .form-name{font-size:26px}}.form-card .chev{width:16px;height:16px;color:var(--muted);margin-top:4px}.eye-band{position:absolute;inset:0;overflow:hidden}.eye-band img{opacity:.5;width:220%;max-width:none;height:auto;position:absolute;left:50%;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000059 34%,#000 72% 100%);mask-image:linear-gradient(90deg,#0000 0%,#00000059 34%,#000 72% 100%)}:root[data-theme=light] .eye-band img{opacity:.2}.eye-band:after{content:"";mix-blend-mode:multiply;background:linear-gradient(#0000001a,#00000057);position:absolute;inset:0}.watermark{pointer-events:none;position:absolute;inset:0 0 auto}.watermark img{aspect-ratio:5/3;object-fit:cover;opacity:.5;filter:brightness(.82);width:100%;-webkit-mask-image:linear-gradient(#000 0%,#000000eb 40%,#00000073 72%,#0000 100%);mask-image:linear-gradient(#000 0%,#000000eb 40%,#00000073 72%,#0000 100%)}:root[data-theme=light] .watermark img{opacity:.2;filter:none}.watermark.crest{justify-content:flex-end;padding:16px;display:flex}.watermark.crest img{aspect-ratio:auto;opacity:.045;width:150px;-webkit-mask-image:none;mask-image:none}.notice-card{flex-direction:column;gap:10px;display:flex}.combat{flex-direction:column;gap:12px;display:flex}.hp-readout{align-items:flex-start;display:flex}.hp-readout>div{text-align:center;flex:1}.metric-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.metric-value{font-family:var(--rounded);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.2}@media (min-width:1000px){.metric-value{font-size:34px}}.metric-of{color:var(--muted);margin-left:2px;font-size:12px}.banner{border-radius:8px;align-items:flex-start;gap:8px;padding:10px;font-size:15px;font-weight:500;display:flex}.banner svg{flex:none;width:18px;height:18px;margin-top:1px}.banner.red{color:var(--red);background:color-mix(in srgb, var(--red) 12%, transparent)}.banner.orange{color:var(--orange);background:color-mix(in srgb, var(--orange) 12%, transparent)}.divider{background:color-mix(in srgb, var(--muted) 30%, transparent);border:0;height:.5px;margin:0}.amount{background:var(--fill);height:38px;box-shadow:inset 0 0 0 1px var(--fill);border-radius:10px;align-items:center;padding:0 4px;display:flex}.amount button{width:44px;height:38px;color:var(--text);background:0 0;border:0;place-items:center;display:grid}.amount button:disabled{opacity:.3}.amount button svg{width:14px;height:14px}.amount .value{flex:1;justify-content:center;align-items:baseline;gap:6px;display:flex}.amount input{text-align:center;width:4ch;font-family:var(--rounded);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;font-size:20px;font-weight:700}.hp-actions{gap:10px;display:flex}.hp-actions button{min-height:var(--control);color:#fff;font-variant-numeric:tabular-nums;border:0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex;box-shadow:inset 0 0 0 1px #00000040}.hp-actions button svg{width:16px;height:16px}.hp-actions .damage{background:linear-gradient(var(--blood-bright), var(--blood))}.hp-actions .heal{background:linear-gradient(var(--moss), var(--vitality))}.hp-actions button:disabled{opacity:.4}.uses-row{flex-wrap:wrap;align-items:center;gap:10px;margin:-6px 0;display:flex}.uses{align-items:center;gap:4px;display:flex}.uses button{background:0 0;border:0;place-items:center;min-width:28px;min-height:34px;padding:0;display:grid}.uses svg{width:18px;height:18px}.uses .available{color:var(--moon)}.uses .spent{color:color-mix(in srgb, var(--muted) 55%, transparent)}.utility{gap:10px;margin-left:auto;display:flex}.utility button{color:var(--teal);background:0 0;border:0;align-items:center;gap:5px;min-height:44px;padding:0 2px;font-size:12px;font-weight:500;display:inline-flex}.utility svg{width:16px;height:16px}.transform{flex-direction:column;align-items:center;gap:6px;display:flex}.transform .start{width:56.25%;min-width:220px}.transform .group{flex-direction:column;gap:8px;width:100%;max-width:400px;display:flex}.undo-row{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.undo-row button{color:var(--teal);background:0 0;border:0;min-height:44px;margin-left:auto;padding:0 4px;font-size:12px;font-weight:600}.notice{color:var(--orange);align-items:flex-start;gap:6px;font-size:12px;display:flex}.notice svg{flex:none;width:14px;height:14px;margin-top:1px}.statblock{flex-direction:column;gap:14px;display:flex}@media (min-width:1000px){.statblock{gap:20px}}.statblock h2.beast-name{font-family:var(--serif);color:var(--moon-soft);margin:0;font-weight:700;line-height:1.15}.statblock .typeline{font-family:var(--serif);color:var(--muted);font-style:italic}.statblock .tags{flex-wrap:wrap;gap:6px;display:flex}.labeled{font-size:15px}.labeled b{color:var(--teal);font-weight:600}.line-head{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.line-head b{color:var(--teal);font-weight:600}.ability-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.ability{color:var(--text);background:var(--fill);box-shadow:inset 0 0 0 1px var(--fill-strong);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:0;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:7px 4px;display:flex}.ability.kept{background:color-mix(in srgb, var(--teal) 14%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--teal) 40%, transparent)}button.ability:hover{filter:brightness(1.12)}.ability .abbr{letter-spacing:.07em;color:var(--moon);font-size:11px;font-weight:700}.ability.kept .abbr,.ability.kept .src{color:var(--teal)}.ability .score{font-size:17px;font-weight:600}.ability .mod{color:var(--secondary);font-size:12px}.ability .src{letter-spacing:.04em;color:var(--moon);background:color-mix(in srgb, currentColor 18%, transparent);border-radius:99px;margin-top:1px;padding:1px 5px;font-size:11px;font-weight:700}@media (min-width:1000px){.ability{padding:12px 4px}.ability .score{font-size:22px}}.attack{flex-direction:column;gap:3px;display:flex}.attack .head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attack .short{letter-spacing:.05em;color:var(--moon-soft);text-transform:uppercase;font-size:12px;font-weight:700}.attack .rolls{gap:6px;margin-left:auto;display:flex}.roll-capsule{white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-height:30px;color:var(--c);background:color-mix(in srgb, var(--c) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 45%, transparent);border:0;border-radius:99px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex;position:relative}.roll-capsule:before{content:"";position:absolute;inset:-7px -2px}.roll-capsule svg{width:14px;height:14px}.roll-capsule:hover{background:color-mix(in srgb, var(--c) 26%, transparent)}.moss-text{color:var(--moss)}.trait{font-family:var(--serif);font-size:15px}.trait b{font-style:italic}.tip{background:var(--fill-strong);border-radius:12px;gap:12px;padding:12px;display:flex}.tip svg.lead{width:26px;height:26px;color:var(--teal);flex:none}.tip strong{font-size:15px;display:block}.tip p{color:var(--secondary);white-space:pre-line;margin:2px 0 0;font-size:13px}.tip .close{color:var(--muted);background:0 0;border:0;align-self:flex-start;margin-left:auto;padding:2px;display:flex}.tip .close svg{width:18px;height:18px}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:26px 16px;display:flex}.empty svg.big{width:40px;height:40px;color:var(--muted)}.empty h3{margin:0;font-size:20px;font-weight:700}.empty p{color:var(--secondary);margin:0;font-size:15px}.summary-rows{flex-direction:column;gap:9px;font-size:15px;display:flex}.summary-rows .r{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.summary-rows .r span:first-child{color:var(--teal)}.summary-rows .r span:last-child{text-align:right;font-weight:500}.notes-toggle{width:100%;min-height:32px;color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:500;display:flex}.notes-toggle svg{width:14px;height:14px}.notes-toggle .dot{background:var(--teal);border-radius:50%;width:5px;height:5px}.notes-toggle .end{margin-left:auto}.notes textarea{resize:vertical;background:color-mix(in srgb, var(--muted) 8%, transparent);border:0;border-radius:8px;outline:none;width:100%;min-height:4.5em;padding:10px;font-size:15px}.delete-link{color:var(--muted);background:0 0;border:0;align-self:center;align-items:center;gap:6px;min-height:44px;margin-top:8px;font-size:13px;display:inline-flex}.delete-link svg{width:15px;height:15px}.result-dock{z-index:40;pointer-events:none;padding:0 14px calc(8px + env(safe-area-inset-bottom));justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.split .result-dock{left:340px}.result-bar{pointer-events:auto;background:var(--panel-solid);width:100%;max-width:640px;box-shadow:0 6px 20px #00000059, inset 0 0 0 .75px var(--hairline);border-radius:16px;align-items:center;gap:14px;padding:10px 14px;animation:.28s cubic-bezier(.2,.9,.3,1) bar-in;display:flex}.result-bar.flash{animation:.28s cubic-bezier(.2,.9,.3,1) bar-in,1.1s ease-out bar-flash}@keyframes bar-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes bar-flash{0%{box-shadow:0 0 0 var(--glow)}20%{box-shadow:0 0 22px var(--glow);transform:scale(1.025)}to{transform:none;box-shadow:0 6px 20px #00000059}}.result-bar .words{flex:1;min-width:0}.result-bar .label{color:var(--moon-soft);font-size:15px;font-weight:700;line-height:1.25}.result-bar .breakdown{font-family:var(--rounded);color:var(--muted);font-variant-numeric:tabular-nums;font-size:15px}.result-bar .total{flex-direction:column;flex:none;align-items:center;gap:1px;display:flex}.result-bar .total b{font-family:var(--rounded);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.result-bar .tag{letter-spacing:.06em;white-space:nowrap;border-radius:99px;padding:2px 7px;font-size:11px;font-weight:900}.result-bar .dismiss{color:color-mix(in srgb, var(--muted) 70%, transparent);background:0 0;border:0;flex:none;padding:4px;display:flex}.result-bar .dismiss svg{width:22px;height:22px}.result-bar.stacked{flex-wrap:wrap;row-gap:6px}.result-bar.stacked .words{flex-basis:100%;order:5}.result-bar.stacked .dice-row{flex:1}.dice-row{align-items:center;gap:6px;display:flex}.dice-row .more{font-family:var(--rounded);color:var(--muted);font-weight:700}.throw-layer{z-index:35;cursor:pointer;transition:opacity .55s;position:fixed;inset:0}.split .throw-layer{left:340px}.throw-layer.fading{opacity:0}.throw-stage{flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;top:26%;left:20px;right:20px;transform:translateY(-50%)}.throw-dice{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.crit-banner{font-family:var(--rounded);letter-spacing:.16em;white-space:nowrap;box-shadow:0 0 22px var(--glow), 0 4px 8px #00000080, inset 0 0 0 1.5px #ffffff47;border-radius:99px;padding:10px 22px;font-size:15px;font-weight:900;animation:.32s cubic-bezier(.3,1.6,.5,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.thrown{will-change:transform;position:relative}.thrown .glow{background:var(--glow);filter:blur(var(--blur));opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:0;transform:scale(.78)}.thrown.demoted{opacity:.4;filter:saturate(.25);transition:transform .45s,opacity .45s,filter .45s;transform:scale(.68)}.die-svg{display:block;overflow:visible}.die-face{flex:none;display:inline-block;position:relative}.die-face .die-art{position:relative}.die-glow{opacity:.5;border-radius:50%;position:absolute;inset:0}.die-art{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none;display:block}.list-section{flex-direction:column;display:flex}.list-section>.head{width:100%;color:var(--heading);text-transform:uppercase;letter-spacing:.03em;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:14px 4px 6px;font-size:13px;font-weight:600;display:flex}.list-section>.head svg{width:11px;height:11px;color:var(--muted)}.list-section>.head .count{color:var(--muted);text-transform:none;letter-spacing:0;margin-left:auto;font-weight:400}.list-group{background:var(--panel);box-shadow:0 2px 8px var(--shadow);border-radius:12px;overflow:hidden}.list-group>*+*{border-top:.5px solid color-mix(in srgb, var(--muted) 20%, transparent)}.list-row{text-align:left;width:100%;color:var(--text);background:0 0;border:0;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}button.list-row:not(:disabled):hover{background:var(--fill)}.list-row:disabled{opacity:.45;cursor:default}.list-row .title{font-size:17px;font-weight:500}.list-row .cr{color:var(--secondary);font-size:11px}.list-row .line{color:var(--secondary);font-size:12px}.list-row .metric{color:var(--moon-soft);font-size:12px}.list-row .tagline{color:var(--teal);font-size:11px}.list-row .lock{color:var(--moon);align-items:flex-start;gap:5px;font-size:12px;display:flex}.list-row .lock svg{flex:none;width:12px;height:12px;margin-top:2px}.list-row .seal{width:13px;height:13px;color:var(--teal)}.list-row .picked{width:20px;height:20px;color:var(--moon);flex:none;align-self:center}.picker-controls{flex-direction:column;gap:10px;display:flex}.sticky-search{z-index:5;padding:10px var(--pad);background:color-mix(in srgb, var(--bg-top) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0}.section-footer{color:var(--muted);padding:6px 4px;font-size:13px}.comp-row{text-align:left;width:100%;color:var(--text);border:0;align-items:center;gap:12px;padding:8px 10px;display:flex}.comp-row .name{font-family:var(--serif);color:var(--moon-soft);font-size:17px;font-weight:600}.comp-row .req{color:var(--moon);font-size:11px;font-weight:500}.comp-row .metric-chip{color:var(--moon-soft);background:color-mix(in srgb, var(--moon) 16%, transparent);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:99px;padding:3px 8px;font-size:12px;font-weight:600}.comp-row.compact{border-bottom:.5px solid color-mix(in srgb, var(--muted) 18%, transparent);background:0 0;min-height:40px;padding:4px 6px}.comp-row.compact .name{font-family:var(--sans);font-size:15px;font-weight:500}.comp-row .chev{width:12px;height:12px;color:var(--muted);flex:none}.cr-header{z-index:3;letter-spacing:.05em;text-transform:uppercase;color:var(--heading);background:color-mix(in srgb, var(--bg-bottom) 92%, transparent);padding:6px 2px;font-size:12px;font-weight:600;position:sticky;top:58px}.req-banner{color:var(--moon);background:color-mix(in srgb, var(--moon) 12%, transparent);border-radius:10px;align-items:flex-start;gap:8px;padding:10px;font-size:13px;font-weight:500;display:flex}.req-banner svg{flex:none;width:16px;height:16px}.check-row{text-align:left;width:100%;min-height:48px;color:var(--text);background:0 0;border:0;align-items:center;gap:12px;padding:6px 14px;display:flex}.check-row svg.check{flex:none;width:22px;height:22px}.check-row .on{color:var(--teal)}.check-row .off{color:color-mix(in srgb, var(--muted) 70%, transparent)}.tray-stage{background:color-mix(in srgb, var(--panel-solid) 50%, transparent);border-bottom:.5px solid color-mix(in srgb, var(--muted) 25%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:230px;padding:16px;display:flex;overflow:hidden}@media (min-width:760px){.tray-stage{min-height:300px}}.tray-stage .placeholder{color:var(--muted);flex-direction:column;align-items:center;gap:8px;font-size:13px;display:flex}.tray-stage .placeholder svg{opacity:.5;width:34px;height:34px}.tray-total{font-family:var(--rounded);text-align:center;font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;transition:opacity .25s}.die-types{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.die-types button{height:42px;color:var(--muted);font-family:var(--rounded);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 30%, transparent);background:0 0;border:0;border-radius:10px;font-size:15px}.die-types button[aria-pressed=true]{color:var(--moon-soft);background:color-mix(in srgb, var(--moon) 18%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--moon) 70%, transparent);font-weight:700}.tray-stepper{align-items:center;gap:10px;display:flex}.tray-stepper .lbl{color:var(--moon-soft)}.tray-stepper .val{text-align:center;min-width:46px;font-family:var(--rounded);color:var(--moon-soft);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.pad{background:var(--panel-solid);width:40px;height:34px;color:var(--moon-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 30%, transparent);border:0;border-radius:9px;place-items:center;display:grid}.pad:disabled{opacity:.35}.pad svg{width:13px;height:13px}.adv-option{color:var(--muted);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 30%, transparent);background:0 0;border:0;border-radius:99px;padding:6px 10px;font-size:11px}.adv-option[aria-pressed=true]{color:var(--c);background:color-mix(in srgb, var(--c) 18%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 70%, transparent);font-weight:700}.history{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.history>div{background:var(--panel-solid);border-radius:9px;flex-direction:column;flex:none;align-items:center;padding:6px 10px;display:flex}.history b{font-family:var(--rounded);color:var(--moon-soft);font-variant-numeric:tabular-nums;font-weight:600}.history span{color:var(--muted);font-size:11px}.swatches{grid-template-columns:repeat(3,1fr);gap:16px 10px;display:grid}.swatches button{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:7px;padding:4px;font-size:12px;display:flex}.swatches button[aria-pressed=true]{color:var(--moon-soft);font-weight:700}.swatches .ring{border-radius:50%;padding:2px;box-shadow:inset 0 0 0 2.5px #0000}.swatches button[aria-pressed=true] .ring{box-shadow:inset 0 0 0 2.5px var(--accent)}.nav-row{width:100%;min-height:44px;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-weight:500;display:flex}.nav-row svg{width:16px;height:16px}.nav-row .chev{color:var(--muted);width:13px;height:13px;margin-left:auto}.license p{color:var(--muted);margin:0 0 10px;font-size:12px}.log-entry{background:var(--panel);box-shadow:0 2px 6px var(--shadow);border-radius:12px;gap:12px;padding:9px 11px;display:flex}.log-entry>svg{flex:none;width:16px;height:16px;margin-top:2px}.log-entry .when{color:color-mix(in srgb, var(--muted) 80%, transparent);font-size:11px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.bar-title{white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:600;overflow:hidden}@media (max-width:480px){.wide-only{display:none}}.demo-banner{width:min(640px, calc(100% - 2 * var(--pad)));background:color-mix(in srgb, var(--moon) 12%, var(--panel-solid));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--moon) 40%, transparent);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px auto 0;padding:10px 14px;display:flex}.druid-page .demo-banner+.page{padding-top:12px}.demo-pill{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-on-gold);background:var(--moon);border-radius:99px;padding:3px 8px;font-size:11px;font-weight:800}.demo-text{color:var(--secondary);flex:220px;font-size:13px}.demo-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.demo-actions .link-button{min-height:36px;font-size:13px}.demo-create{min-height:36px;padding:0 14px;font-size:13px}.demo-banner.wide{width:auto;margin:12px var(--pad) 0}.keep-card{gap:8px;margin:12px 16px 8px}.keep-card>strong{font-family:var(--serif);color:var(--moon-soft);gap:7px;font-size:17px}.keep-card>strong svg{width:18px;height:18px;color:var(--moon)}.keep-card>p{color:var(--secondary);margin:0;line-height:1.45}.keep-card .inline-icon{vertical-align:-2px;width:15px;height:15px;color:var(--teal)}.keep-actions{flex-wrap:wrap;gap:6px;margin-top:4px}.keep-actions .btn{min-height:36px;padding-inline:14px;text-decoration:none}
