@font-face{font-family:Uncial Antiqua;font-style:normal;font-display:swap;font-weight:400;src:url(./uncial-antiqua-latin-400-normal-DPalS0aZ.woff2)format("woff2"),url(./uncial-antiqua-latin-400-normal-WePRk9CT.woff)format("woff")}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-latin-400-normal-BLlBRtDv.woff2)format("woff2"),url(./alegreya-latin-400-normal-BuQWlRPA.woff)format("woff")}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-latin-400-italic-BXpar-rJ.woff2)format("woff2"),url(./alegreya-latin-400-italic-CJvUQvZT.woff)format("woff")}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-latin-700-normal-Vpz_43wJ.woff2)format("woff2"),url(./alegreya-latin-700-normal-BS7r-qZs.woff)format("woff")}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-sc-latin-400-normal-nTGC35F9.woff2)format("woff2"),url(./alegreya-sc-latin-400-normal-eVOwGI7S.woff)format("woff")}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-sc-latin-700-normal-ztAmjLTs.woff2)format("woff2"),url(./alegreya-sc-latin-700-normal-C1NSl7Ln.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url(./chakra-petch-latin-500-normal-BR1ody1F.woff2)format("woff2"),url(./chakra-petch-latin-500-normal-CnUQnZ4D.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(./chakra-petch-latin-600-normal-DVQm9bgb.woff2)format("woff2"),url(./chakra-petch-latin-600-normal-DQKfcdKo.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(./chakra-petch-latin-700-normal-CnDBPjkL.woff2)format("woff2"),url(./chakra-petch-latin-700-normal-D1s_c2du.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(./barlow-latin-400-normal-fsAxiSwU.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(./barlow-latin-500-normal-C1h8hMer.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(./barlow-latin-600-normal-CNwfPWQD.woff)format("woff")}@font-face{font-family:Marcellus;font-style:normal;font-display:swap;font-weight:400;src:url(./marcellus-latin-400-normal-86dSXJnk.woff2)format("woff2"),url(./marcellus-latin-400-normal-AvMY561b.woff)format("woff")}@font-face{font-family:Marcellus SC;font-style:normal;font-display:swap;font-weight:400;src:url(./marcellus-sc-latin-400-normal-BVWXGf4k.woff2)format("woff2"),url(./marcellus-sc-latin-400-normal-BE55TSha.woff)format("woff")}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(./spectral-latin-400-normal-CTVgUekv.woff2)format("woff2"),url(./spectral-latin-400-normal-D34IWA1h.woff)format("woff")}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:400;src:url(./spectral-latin-400-italic-CDO25mTW.woff2)format("woff2"),url(./spectral-latin-400-italic-Ds-NcNVC.woff)format("woff")}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(./spectral-latin-600-normal-DE3OxvnQ.woff2)format("woff2"),url(./spectral-latin-600-normal-DXnQJnYb.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#0e0b08;--ink-2:#16120d;--ink-3:#1f1912;--ink-4:#2a2217;--gold:#d9b35b;--gold-bright:#f2d78f;--gold-dim:#6b5423;--gold-line:#6b54238c;--gold-faint:#d9b35b24;--parch:#ebdfc4;--parch-muted:#a8977a;--blood:#9b2f24;--blood-bright:#d4574a;--verdigris:#7fb39a;--warning:#e0a44a;--hp-good:#8fbf6a;--hp-mid:#e0a44a;--hp-bad:#d4574a;--font-display:"Uncial Antiqua", "Alegreya", Georgia, serif;--font-body:"Alegreya", Georgia, "Times New Roman", serif;--font-caps:"Alegreya SC", "Alegreya", Georgia, serif;--radius:4px;--gap:14px;--tabbar-h:62px;--header-h:68px;--ease:cubic-bezier(.2, .7, .2, 1);--diamond:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0L10 5L5 10L0 5Z' fill='%23d9b35b'/%3E%3C/svg%3E");--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23d9b35b' stroke-width='1.6'/%3E%3C/svg%3E");--grain: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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .85 0 0 0 0 .7 0 0 0 0 .45 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");font-family:var(--font-body);color:var(--parch);font-size:17px;line-height:1.45}*{box-sizing:border-box}html{background:var(--ink)}body{min-height:100dvh;color:var(--parch);background:var(--grain), radial-gradient(ellipse 120% 70% at 50% -10%, #2a1f12 0%, #2a1f1200 60%), radial-gradient(ellipse 90% 60% at 50% 110%, #1a0f0b 0%, #1a0f0b00 70%), var(--ink);margin:0}::selection{color:var(--gold-bright);background:#d9b35b59}a{color:var(--gold);-webkit-text-decoration-color:var(--gold-dim);text-decoration-color:var(--gold-dim);text-underline-offset:3px}a:hover{color:var(--gold-bright)}h1,h2,h3{font-family:var(--font-display);color:var(--gold);margin:0;font-weight:400}h1{letter-spacing:.02em;text-shadow:0 0 24px #d9b35b40;font-size:2rem}h2{letter-spacing:.01em;font-size:1.25rem}h3{color:var(--gold);opacity:.85;margin:18px 0 8px;font-size:1.05rem}output,.stat-value,input{font-variant-numeric:lining-nums tabular-nums}.page{max-width:760px;margin:0 auto;padding:24px 16px 40px}.card{border:1px solid var(--gold-dim);border-radius:var(--radius);box-shadow:inset 0 0 0 3px var(--ink-2), inset 0 0 0 4px var(--gold-line), 0 12px 32px #00000080;background:linear-gradient(#1e1810f5,#14100bf5);padding:18px 16px 16px;position:relative}.card:before{content:"";pointer-events:none;background-image:var(--diamond), var(--diamond), var(--diamond), var(--diamond);background-position:0 0,100% 0,0 100%,100% 100%;background-repeat:no-repeat;background-size:10px 10px;position:absolute;inset:-5px}.inset{background:var(--ink-3);box-shadow:inset 0 0 0 3px var(--ink-3), inset 0 0 0 4px var(--gold-line);margin-top:14px}.inset:before{display:none}.section{margin-bottom:20px}.section-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.ornament{color:var(--gold-dim);align-items:center;gap:10px;margin:6px 0 14px;font-size:.8rem;line-height:1;display:flex}.ornament:before,.ornament:after{content:"";flex:1;height:1px}.ornament:before{background:linear-gradient(90deg, transparent, var(--gold-dim))}.ornament:after{background:linear-gradient(90deg, var(--gold-dim), transparent)}.field{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.field-label{font-family:var(--font-caps);letter-spacing:.04em;text-transform:lowercase;color:var(--parch-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.field.narrow{flex:0 0 76px}.row>.field:not(.narrow){min-width:120px}input[type=text],select,textarea{width:100%;min-height:42px;font:inherit;font-variant-numeric:lining-nums tabular-nums;color:var(--parch);background:linear-gradient(180deg, #120e0a, var(--ink-3));border:1px solid var(--gold-line);border-radius:var(--radius);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);padding:8px 11px;box-shadow:inset 0 1px 3px #0000008c}input[type=text]::placeholder,textarea::placeholder{color:#6e6250;font-style:italic}textarea{resize:vertical;line-height:1.5}select{appearance:none;background-image:var(--chevron), linear-gradient(180deg, #120e0a, var(--ink-3));cursor:pointer;background-position:right 11px center,0 0;background-repeat:no-repeat;background-size:12px 8px,100% 100%;padding-right:32px}select option{background:var(--ink-3);color:var(--parch)}input[type=text]:hover,select:hover,textarea:hover{border-color:var(--gold-dim)}input[type=text]:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:inset 0 1px 3px #0000008c, 0 0 0 3px var(--gold-faint);outline:none}input[type=checkbox]{appearance:none;border:1.5px solid var(--gold-dim);background:var(--ink-3);cursor:pointer;width:15px;height:15px;transition:background .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);border-radius:2px;flex-shrink:0;margin:5px;transform:rotate(45deg)}input[type=checkbox]:hover{border-color:var(--gold)}input[type=checkbox]:checked{border-color:var(--gold-bright);background:radial-gradient(circle at 35% 35%, var(--gold-bright), var(--gold) 55%, #8f6e28);box-shadow:0 0 10px #d9b35b80}input[type=checkbox]:active{transform:rotate(45deg)scale(.88)}input[type=checkbox]:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.check{cursor:pointer;align-items:center;gap:8px;min-height:42px;display:inline-flex}.btn{min-height:42px;font-family:var(--font-caps);letter-spacing:.04em;text-transform:lowercase;color:var(--parch);border:1px solid var(--gold-dim);border-radius:var(--radius);cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease), transform .1s var(--ease);background:linear-gradient(#2a2117,#1a140e);justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:1rem;text-decoration:none;display:inline-flex;box-shadow:inset 0 1px #f2d78f14,0 2px 6px #0006}.btn:hover{color:var(--gold-bright);border-color:var(--gold);box-shadow:inset 0 1px 0 #f2d78f1f, 0 0 14px var(--gold-faint)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default;box-shadow:none}.btn.small{min-height:34px;padding:4px 12px;font-size:.92rem}.btn.primary{color:#1c1406;border-color:var(--gold-bright);text-shadow:0 1px #fff0c866;background:linear-gradient(#f0d48a,#c89c45 60%,#a47c30);font-weight:700}.btn.primary:hover{color:#1c1406;box-shadow:0 0 18px #d9b35b73}.btn.danger{color:var(--blood-bright);border-color:#9b2f24bf}.btn.danger:hover{color:#f0776a;border-color:var(--blood-bright);box-shadow:0 0 14px #d4574a40}.btn.ok{color:var(--verdigris);border-color:#7fb39a80}.btn.ok:hover{color:#a3d6bd;border-color:var(--verdigris);box-shadow:0 0 14px #7fb39a33}.row{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:10px;display:flex}.grid-2,.grid-3{grid-template-columns:1fr 1fr;align-items:end;gap:10px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.stats-row{flex-wrap:wrap;gap:10px;margin:10px 0;display:flex}.stat{background:radial-gradient(circle at 50% 25%, var(--ink-4), var(--ink-2) 75%);border:1px solid var(--gold-dim);min-width:88px;box-shadow:inset 0 0 0 2px var(--ink-2), inset 0 0 0 3px #6b542359;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:8px 14px;display:flex}.stat-label{font-family:var(--font-caps);letter-spacing:.05em;text-transform:lowercase;color:var(--parch-muted);font-size:.8rem}.stat-value{color:var(--gold-bright);text-shadow:0 0 12px #d9b35b4d;font-size:1.55rem;font-weight:700;line-height:1.15}.stat.shield{isolation:isolate;min-width:92px;box-shadow:none;background:linear-gradient(180deg, var(--gold), var(--gold-dim));clip-path:polygon(0 0,100% 0,100% 58%,50% 100%,0 58%);border:0;border-radius:0;padding:10px 14px 26px;position:relative}.stat.shield:before{content:"";z-index:-1;background:radial-gradient(circle at 50% 30%, #33291b, var(--ink-2) 75%);clip-path:polygon(0 0,100% 0,100% 58%,50% 100%,0 58%);position:absolute;inset:2px 2px 3px}.stat.shield .stat-value{font-size:1.9rem}.abilities{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.ability{background:radial-gradient(circle at 50% 22%, #30261a, var(--ink-2) 72%);border:1px solid var(--gold-dim);box-shadow:inset 0 0 0 3px var(--ink-2), inset 0 0 0 4px #6b542366, 0 6px 16px #00000059;transition:box-shadow .25s var(--ease);border-radius:48% 48% 10px 10px/26% 26% 10px 10px;flex-direction:column;align-items:center;gap:2px;padding:12px 8px 8px;display:flex}.ability:focus-within{box-shadow:inset 0 0 0 3px var(--ink-2), inset 0 0 0 4px var(--gold-dim), 0 0 18px var(--gold-faint)}.ability-name{font-family:var(--font-caps);letter-spacing:.06em;text-transform:lowercase;color:var(--parch-muted);font-size:.85rem}.ability-mod{color:var(--gold-bright);text-shadow:0 0 16px #d9b35b59;font-size:2.1rem;font-weight:700;line-height:1.1}.field.ability-score{flex:none;width:64px}.field.ability-score input{text-align:center;border-radius:999px;min-height:34px;padding:4px 6px;font-weight:700}.ability-save{font-family:var(--font-caps);color:var(--parch-muted);align-items:center;gap:2px;margin-top:4px;font-size:.85rem;display:flex}.ability-save .check{gap:4px;min-height:30px}.ability-save output{color:var(--parch);font-weight:700}.skills{margin:10px 0;padding:0;list-style:none}.skill{border-bottom:1px dotted var(--gold-line);grid-template-columns:34px 1fr 58px 46px;align-items:center;gap:8px;padding:5px 0;display:grid}.skill:last-child{border-bottom:0}.skill input[type=text]{min-height:34px;padding-top:4px;padding-bottom:4px}.skill-name small{font-family:var(--font-caps)}.prof-toggle{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;display:grid}.prof-gem{border:1.5px solid var(--gold-dim);background:var(--ink-3);width:14px;height:14px;transition:background .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease), transform .15s var(--ease);border-radius:2px;position:relative;transform:rotate(45deg)}.prof-gem:after{content:"";border:1.5px solid var(--gold);opacity:0;transition:opacity .2s var(--ease), transform .25s var(--ease);border-radius:3px;position:absolute;inset:-6px;transform:scale(.6)}.prof-toggle:hover .prof-gem{border-color:var(--gold)}.prof-toggle:active .prof-gem{transform:rotate(45deg)scale(.85)}.prof-toggle[data-level=proficient] .prof-gem,.prof-toggle[data-level=expertise] .prof-gem{border-color:var(--gold-bright);background:radial-gradient(circle at 35% 35%, var(--gold-bright), var(--gold) 55%, #8f6e28);box-shadow:0 0 8px #d9b35b73}.prof-toggle[data-level=expertise] .prof-gem{box-shadow:0 0 14px #f2d78f99}.prof-toggle[data-level=expertise] .prof-gem:after{opacity:1;transform:none}.skill-value{text-align:right;color:var(--gold-bright);font-size:1.1rem;font-weight:700}.hp-bar{--hp-color:var(--hp-good);border:1px solid var(--gold-dim);background:#140c09;border-radius:2px;height:16px;margin:4px 0 14px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 4px #000000b3}.hp-bar[data-state=mid]{--hp-color:var(--hp-mid)}.hp-bar[data-state=bad],.hp-bar[data-state=down]{--hp-color:var(--hp-bad)}.hp-fill{z-index:2;background-color:var(--hp-color);box-shadow:0 0 10px color-mix(in srgb, var(--hp-color) 50%, transparent);transition:width .35s var(--ease), background-color .6s var(--ease), box-shadow .6s var(--ease);background-image:linear-gradient(90deg,#00000073,#0000 70%);position:relative}.hp-fill:after{content:"";background:#fff;width:3px;position:absolute;top:0;bottom:0;right:-1px;box-shadow:0 0 6px 2px #ffffffd9,0 0 14px 4px #ffffff59}.hp-bar[data-state=down] .hp-fill:after{display:none}.hp-trail{transition:width .7s var(--ease) .35s;background:#fff5e18c;position:absolute;top:0;bottom:0;left:0}.hp-temp{z-index:1;background:linear-gradient(90deg, #a47c30, var(--gold-bright));transition:width .45s var(--ease);position:relative}.hp-bar[data-state=bad] .hp-fill{animation:1.1s ease-in-out infinite alternate hp-pulse}@keyframes hp-pulse{0%{filter:brightness(.85)}to{filter:brightness(1.35)}}.hp-bar[data-hit]{animation:hp-hit .4s var(--ease)}@keyframes hp-hit{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.list-item{border:1px solid var(--gold-line);border-radius:var(--radius);background:linear-gradient(#2a22178c,#16120d8c);padding:12px}.list-summary{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:6px;display:flex}.list-summary strong{font-family:var(--font-display);color:var(--parch);font-size:1.05rem;font-weight:400}.list-summary span{color:var(--gold-bright);font-weight:700}details summary{cursor:pointer;font-family:var(--font-caps);letter-spacing:.04em;text-transform:lowercase;color:var(--parch-muted);padding:4px 0;font-size:.92rem;list-style:none}details summary::-webkit-details-marker{display:none}details summary:before{content:"▸";color:var(--gold-dim);transition:transform .2s var(--ease);margin-right:6px;display:inline-block}details[open] summary:before{transform:rotate(90deg)}details summary:hover{color:var(--gold)}details[open] summary{margin-bottom:10px}.pips-field{flex-direction:column;gap:4px;display:flex}.pips{flex-wrap:wrap;align-items:center;gap:8px;min-height:42px;padding-left:2px;display:flex}.slots{margin:0;padding:0;list-style:none}.slot-row{border-bottom:1px dotted var(--gold-line);align-items:center;gap:12px;padding:4px 0;display:flex}.slot-row:last-child{border-bottom:0}.slot-row .pips{min-height:34px}.slot-level{width:30px;font-family:var(--font-display);color:var(--gold);text-align:center}.coins{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.muted{color:var(--parch-muted);font-style:italic}.empty{color:var(--parch-muted);text-align:center;padding:28px 0;font-style:italic}.warning{color:#f0c27a;border-radius:var(--radius);background:linear-gradient(#e0a44a1f,#e0a44a0d);border:1px solid #e0a44a8c;margin:0 0 12px;padding:10px 14px;font-style:italic}.warning-text{color:var(--warning);font-style:italic}.message{white-space:pre-wrap;font:inherit;background:var(--ink-3);border:1px solid var(--gold-line);border-left:3px solid var(--gold);border-radius:0;margin:0 0 14px;padding:10px 14px;font-style:italic}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-header{text-align:center;flex-direction:column;align-items:center;margin:8px 0 22px;display:flex}.logo{width:54px;height:54px;color:var(--gold);filter:drop-shadow(0 0 12px #d9b35b59);margin-bottom:8px}.tagline{color:var(--parch-muted);margin:4px 0 0;font-style:italic}.backup-status{text-align:center;color:var(--parch-muted);margin:0 0 14px;font-size:.95rem;font-style:italic}.create-form{flex-direction:column;gap:12px;margin-bottom:18px;display:flex}.create-form h2{text-align:center}.create-form h2:after{content:"❖";font-family:var(--font-body);color:var(--gold-dim);margin-top:4px;font-size:.8rem;display:block}.toolbar{justify-content:center;gap:10px;margin-bottom:18px;display:flex}.character-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.character-row{animation:rise .35s var(--ease) both;flex-wrap:wrap;align-items:center;gap:14px;display:flex}.monogram{width:50px;height:50px;font-family:var(--font-display);color:var(--gold-bright);background:radial-gradient(circle at 40% 35%, #3a2e1d, var(--ink-2) 75%);border:1.5px solid var(--gold);box-shadow:0 0 0 3px var(--ink-2), 0 0 0 4px var(--gold-dim), 0 0 16px #d9b35b33;text-shadow:0 0 10px #d9b35b66;border-radius:50%;flex:none;place-items:center;padding-top:2px;font-size:1.6rem;display:grid}.character-info{flex-direction:column;flex:1;min-width:150px;display:flex}.character-name{font-family:var(--font-display);color:var(--parch);font-size:1.3rem;text-decoration:none}a.character-name:hover{color:var(--gold-bright)}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.sheet-header{z-index:2;background:var(--ink);border-bottom:1px solid var(--gold-dim);box-shadow:0 1px 0 var(--ink-2), 0 2px 0 var(--gold-line), 0 8px 20px #00000073;align-items:center;gap:14px;padding:10px 16px;display:flex;position:sticky;top:0}.sheet-heading{flex-direction:column;flex:1;min-width:0;display:flex}.sheet-title{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);color:var(--gold);text-shadow:0 0 14px #d9b35b4d;font-size:1.35rem;overflow:hidden}.sheet-subtitle{text-overflow:ellipsis;white-space:nowrap;color:var(--parch-muted);font-size:.9rem;font-style:italic;overflow:hidden}.save-status{font-family:var(--font-caps);text-transform:lowercase;letter-spacing:.04em;color:var(--parch-muted);font-size:.85rem}.save-status.saved{color:var(--verdigris)}.save-status.error{color:var(--blood-bright)}.sheet-panels{max-width:760px;padding:16px 16px calc(var(--tabbar-h) + 28px + env(safe-area-inset-bottom));margin:0 auto}.panel[data-active=false]{display:none}.panel[data-active=true]{animation:rise .3s var(--ease)}.tabbar{z-index:3;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--gold-dim);box-shadow:0 -1px 0 var(--ink-2), 0 -2px 0 var(--gold-line), 0 -10px 24px #00000080;background:#0e0b08fa;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{min-width:72px;min-height:var(--tabbar-h);font-family:var(--font-caps);letter-spacing:.04em;text-transform:lowercase;color:var(--parch-muted);cursor:pointer;transition:color .2s var(--ease);background:0 0;border:0;flex-direction:column;flex:1 0 auto;justify-content:center;align-items:center;gap:3px;padding:0 10px;font-size:.78rem;display:flex;position:relative;overflow:hidden}.tab:hover{color:var(--parch)}.tab[aria-selected=true]{color:var(--gold-bright)}.tab[aria-selected=true] svg{filter:drop-shadow(0 0 6px #d9b35b99)}.tab[aria-selected=true]:before{content:"";background:linear-gradient(90deg, transparent, var(--gold-bright), transparent);height:2px;position:absolute;top:-1px;left:20%;right:20%}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width>=1024px){.sheet-header{height:var(--header-h)}.sheet-panels{max-width:1440px;padding:20px 24px 40px}.panel[data-active=true]{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.panel-column{min-width:0}.sheet[data-layout=desktop] .tabbar{top:var(--header-h);box-shadow:0 1px 0 var(--ink-2), 0 2px 0 var(--gold-line), 0 10px 24px #00000073;border-top:0;border-bottom:1px solid var(--gold-dim);justify-content:center;gap:6px;padding:0 24px;position:sticky;bottom:auto}.sheet[data-layout=desktop] .tab{flex-direction:row;flex:none;gap:10px;min-height:52px;padding:0 22px;font-size:1rem}.sheet[data-layout=desktop] .tab[aria-selected=true]:before{inset:auto 12% -1px}}@media (width<=520px){.tab{flex:1 1 0;min-width:0;padding:0 4px}.tab span{display:none}.tab[aria-selected=true]{flex-grow:2.4}.tab[aria-selected=true] span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}}@media (width<=420px){.abilities{grid-template-columns:repeat(2,1fr)}.coins{grid-template-columns:repeat(3,1fr)}.grid-3{grid-template-columns:1fr 1fr}.skill{grid-template-columns:32px 1fr 52px 40px;gap:6px}h1{font-size:1.7rem}}@media (width<=1023px){body{background:radial-gradient(ellipse 120% 70% at 50% -10%, #2a1f12 0%, #2a1f1200 60%), var(--ink)}.card{box-shadow:inset 0 0 0 3px var(--ink-2), inset 0 0 0 4px var(--gold-line)}.ability{box-shadow:inset 0 0 0 3px var(--ink-2), inset 0 0 0 4px #6b542366}.btn,.btn:hover{box-shadow:none}.ability-mod,.stat-value,.sheet-title,h1{text-shadow:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.header-actions{gap:8px;display:flex}.header-actions .btn{padding:4px 10px}.modal-backdrop{z-index:10;animation:rise .2s var(--ease);background:#080604cc;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:linear-gradient(180deg, var(--ink-3), var(--ink-2));width:min(480px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.modal h2{margin-top:0}@media (width<=520px){.back-label{display:none}}#root{flex-direction:column;min-height:100dvh;display:flex}#root>.page{width:100%}.app-footer{padding:14px max(24px, calc((100% - 1392px) / 2)) calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--gold-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;display:flex}.app-footer-name{font-family:var(--font-display);color:var(--parch-muted)}.app-footer .field{flex-direction:row;flex:none;align-items:center;gap:10px}.app-footer select{width:auto;min-width:150px;min-height:36px;padding-top:4px;padding-bottom:4px}@media (width<=1023px){.app-footer{padding-inline:16px}.sheet-panels{padding-bottom:24px}.sheet-host~.app-footer{padding-bottom:calc(var(--tabbar-h) + 14px + env(safe-area-inset-bottom))}}.class-row{grid-template-columns:minmax(150px,1fr) minmax(160px,1.6fr) 90px minmax(88px,auto) auto;align-items:end;gap:10px;margin-bottom:12px;display:grid}.class-row .field.narrow{flex:none}@media (width<=600px){.class-row{grid-template-columns:90px auto 1fr}.class-row>:nth-child(-n+2){grid-column:1/-1}.class-row>:last-child{justify-self:end}}.confirm-message{white-space:pre-line;margin:14px 0 20px}.confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.sheet-state{align-items:center}:root .btn.lock-toggle[aria-pressed=true]{color:var(--ink);background:var(--gold);border-color:var(--gold)}:root .btn.lock-toggle[aria-pressed=true]:hover{color:var(--ink);background:var(--gold-bright)}.locked-mark{vertical-align:-1px;color:var(--gold);margin-left:8px}fieldset.sheet-panels{border:0;min-width:0}.sheet[data-locked] :is(input,select,textarea):disabled{opacity:1;color:var(--parch);-webkit-text-fill-color:var(--parch);cursor:default}.sheet[data-locked] input[type=checkbox]:disabled,.sheet[data-locked] .prof-toggle:disabled{cursor:default}.btn.remove-btn{flex:none;padding-inline:10px}.list-summary .remove-btn{align-self:center;margin-left:auto}.list-item .row{align-items:flex-end}.hit-dice-left{color:var(--gold-bright);margin-left:auto;font-weight:700}.ritual-mark{width:26px;height:26px;font-family:var(--font-display);color:var(--ink);background:var(--gold);border-radius:var(--radius);box-shadow:0 0 10px var(--gold-faint);flex:none;place-items:center;margin-bottom:8px;font-size:.85rem;font-weight:700;display:grid}:root[data-theme=grimoire]{background:var(--grain), radial-gradient(ellipse 120% 70% at 50% -10%, #2a1f12 0%, #2a1f1200 60%), radial-gradient(ellipse 90% 60% at 50% 110%, #1a0f0b 0%, #1a0f0b00 70%), var(--ink);scrollbar-color:var(--gold-dim) transparent}@media (width<=1023px){:root[data-theme=grimoire]{background:radial-gradient(ellipse 120% 70% at 50% -10%, #2a1f12 0%, #2a1f1200 60%), var(--ink)}}:root[data-theme=grimoire] body{background:0 0}:root[data-theme=grimoire] body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(55% 45% at 12% 0,#ffaa5029,#0000 70%),radial-gradient(45% 35% at 92% 8%,#ff963c17,#0000 70%);animation:5.5s infinite candle;position:fixed;inset:0}@keyframes candle{0%,to{opacity:1}12%{opacity:.82}20%{opacity:.95}38%{opacity:.78}46%{opacity:1}63%{opacity:.86}71%{opacity:.97}88%{opacity:.8}}:root[data-theme=grimoire] body:after{content:"";z-index:-1;pointer-events:none;opacity:.55;will-change:transform;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='260'%20height='260'%20viewBox='0%200%20260%20260'%20fill='%23f2a64a'%3e%3ccircle%20cx='61.9'%20cy='141.5'%20r='1.1'%20fill-opacity='0.66'/%3e%3ccircle%20cx='123.3'%20cy='151.0'%20r='1.8'%20fill-opacity='0.21'/%3e%3ccircle%20cx='217.7'%20cy='67.4'%20r='0.9'%20fill-opacity='0.30'/%3e%3ccircle%20cx='186.5'%20cy='140.7'%20r='1.8'%20fill-opacity='0.44'/%3e%3ccircle%20cx='166.2'%20cy='39.2'%20r='0.9'%20fill-opacity='0.63'/%3e%3ccircle%20cx='136.0'%20cy='192.7'%20r='0.7'%20fill-opacity='0.28'/%3e%3ccircle%20cx='248.9'%20cy='11.1'%20r='0.7'%20fill-opacity='0.61'/%3e%3ccircle%20cx='70.1'%20cy='154.6'%20r='1.4'%20fill-opacity='0.56'/%3e%3ccircle%20cx='239.5'%20cy='102.7'%20r='1.8'%20fill-opacity='0.42'/%3e%3ccircle%20cx='243.3'%20cy='228.5'%20r='0.7'%20fill-opacity='0.22'/%3e%3ccircle%20cx='128.7'%20cy='67.1'%20r='1.4'%20fill-opacity='0.59'/%3e%3ccircle%20cx='222.4'%20cy='109.5'%20r='1.4'%20fill-opacity='0.49'/%3e%3ccircle%20cx='138.9'%20cy='106.0'%20r='0.9'%20fill-opacity='0.65'/%3e%3ccircle%20cx='177.3'%20cy='241.5'%20r='1.1'%20fill-opacity='0.70'/%3e%3ccircle%20cx='174.5'%20cy='42.4'%20r='1.1'%20fill-opacity='0.68'/%3e%3ccircle%20cx='235.2'%20cy='148.0'%20r='0.9'%20fill-opacity='0.52'/%3e%3ccircle%20cx='256.9'%20cy='69.4'%20r='0.7'%20fill-opacity='0.23'/%3e%3ccircle%20cx='222.0'%20cy='257.3'%20r='0.7'%20fill-opacity='0.37'/%3e%3c/svg%3e");animation:70s linear infinite ember-rise;position:fixed;inset:0 0 -260px}@keyframes ember-rise{to{transform:translateY(-260px)}}:root[data-theme=grimoire] .card{background:radial-gradient(90% 60% at 50% 0,#d9b35b12,#0000 70%),linear-gradient(#1e1810f5,#14100bf5)}:root[data-theme=grimoire] .card:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cg%20%3e%3cg%20fill='none'%20stroke='%23d9b35b'%3e%3cpath%20d='M1.5%2030V9Q1.5%201.5%209%201.5H30'%20stroke-width='1.4'/%3e%3cpath%20d='M6%2023V13Q6%206%2013%206H23'%20stroke-width='0.8'/%3e%3cpath%20d='M11%2019c0-4.5%203.5-8%208-8'%20stroke-width='0.7'/%3e%3c/g%3e%3cg%20fill='%23d9b35b'%3e%3ccircle%20cx='11'%20cy='11'%20r='2.2'/%3e%3ccircle%20cx='1.5'%20cy='30.5'%20r='1.5'/%3e%3ccircle%20cx='30.5'%20cy='1.5'%20r='1.5'/%3e%3ccircle%20cx='6'%20cy='24.5'%20r='1'/%3e%3ccircle%20cx='24.5'%20cy='6'%20r='1'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cg%20transform='translate(32%200)%20scale(-1%201)'%3e%3cg%20fill='none'%20stroke='%23d9b35b'%3e%3cpath%20d='M1.5%2030V9Q1.5%201.5%209%201.5H30'%20stroke-width='1.4'/%3e%3cpath%20d='M6%2023V13Q6%206%2013%206H23'%20stroke-width='0.8'/%3e%3cpath%20d='M11%2019c0-4.5%203.5-8%208-8'%20stroke-width='0.7'/%3e%3c/g%3e%3cg%20fill='%23d9b35b'%3e%3ccircle%20cx='11'%20cy='11'%20r='2.2'/%3e%3ccircle%20cx='1.5'%20cy='30.5'%20r='1.5'/%3e%3ccircle%20cx='30.5'%20cy='1.5'%20r='1.5'/%3e%3ccircle%20cx='6'%20cy='24.5'%20r='1'/%3e%3ccircle%20cx='24.5'%20cy='6'%20r='1'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cg%20transform='translate(0%2032)%20scale(1%20-1)'%3e%3cg%20fill='none'%20stroke='%23d9b35b'%3e%3cpath%20d='M1.5%2030V9Q1.5%201.5%209%201.5H30'%20stroke-width='1.4'/%3e%3cpath%20d='M6%2023V13Q6%206%2013%206H23'%20stroke-width='0.8'/%3e%3cpath%20d='M11%2019c0-4.5%203.5-8%208-8'%20stroke-width='0.7'/%3e%3c/g%3e%3cg%20fill='%23d9b35b'%3e%3ccircle%20cx='11'%20cy='11'%20r='2.2'/%3e%3ccircle%20cx='1.5'%20cy='30.5'%20r='1.5'/%3e%3ccircle%20cx='30.5'%20cy='1.5'%20r='1.5'/%3e%3ccircle%20cx='6'%20cy='24.5'%20r='1'/%3e%3ccircle%20cx='24.5'%20cy='6'%20r='1'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cg%20transform='translate(32%2032)%20scale(-1%20-1)'%3e%3cg%20fill='none'%20stroke='%23d9b35b'%3e%3cpath%20d='M1.5%2030V9Q1.5%201.5%209%201.5H30'%20stroke-width='1.4'/%3e%3cpath%20d='M6%2023V13Q6%206%2013%206H23'%20stroke-width='0.8'/%3e%3cpath%20d='M11%2019c0-4.5%203.5-8%208-8'%20stroke-width='0.7'/%3e%3c/g%3e%3cg%20fill='%23d9b35b'%3e%3ccircle%20cx='11'%20cy='11'%20r='2.2'/%3e%3ccircle%20cx='1.5'%20cy='30.5'%20r='1.5'/%3e%3ccircle%20cx='30.5'%20cy='1.5'%20r='1.5'/%3e%3ccircle%20cx='6'%20cy='24.5'%20r='1'/%3e%3ccircle%20cx='24.5'%20cy='6'%20r='1'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e");background-size:30px 30px;inset:3px}:root[data-theme=grimoire] .card{isolation:isolate;overflow:hidden}:root[data-theme=grimoire] .card.modal{overflow-y:auto}:root[data-theme=grimoire] .card:after{content:"";z-index:-1;pointer-events:none;opacity:.16;will-change:transform;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-100%20-100%20200%20200'%20fill='none'%20stroke='%23d9b35b'%3e%3cpath%20d='M0%20-64L27.77%2057.66L-50.04%20-39.9L62.4%2014.24L-62.4%2014.24L50.04%20-39.9L-27.77%2057.66L0%20-64'%20stroke-width='1'/%3e%3cpath%20d='M0%20-64L62.4%2014.24L-27.77%2057.66L-50.04%20-39.9L50.04%20-39.9L27.77%2057.66L-62.4%2014.24L0%20-64'%20stroke-width='0.5'/%3e%3ccircle%20cx='0'%20cy='-64'%20r='3.4'%20stroke-width='0.9'/%3e%3ccircle%20cx='50.04'%20cy='-39.9'%20r='3.4'%20stroke-width='0.9'/%3e%3ccircle%20cx='62.4'%20cy='14.24'%20r='3.4'%20stroke-width='0.9'/%3e%3ccircle%20cx='27.77'%20cy='57.66'%20r='3.4'%20stroke-width='0.9'/%3e%3ccircle%20cx='-27.77'%20cy='57.66'%20r='3.4'%20stroke-width='0.9'/%3e%3ccircle%20cx='-62.4'%20cy='14.24'%20r='3.4'%20stroke-width='0.9'/%3e%3ccircle%20cx='-50.04'%20cy='-39.9'%20r='3.4'%20stroke-width='0.9'/%3e%3ccircle%20r='30'%20stroke-width='0.8'/%3e%3ccircle%20r='25'%20stroke-width='0.5'%20stroke-dasharray='1.5%202.5'/%3e%3ccircle%20r='8'%20stroke-width='1'/%3e%3cline%20x1='10.5'%20y1='0'%20x2='15'%20y2='0'%20stroke-width='0.8'/%3e%3cline%20x1='9.7'%20y1='4.02'%20x2='11.55'%20y2='4.78'%20stroke-width='0.8'/%3e%3cline%20x1='7.42'%20y1='7.42'%20x2='10.61'%20y2='10.61'%20stroke-width='0.8'/%3e%3cline%20x1='4.02'%20y1='9.7'%20x2='4.78'%20y2='11.55'%20stroke-width='0.8'/%3e%3cline%20x1='0'%20y1='10.5'%20x2='0'%20y2='15'%20stroke-width='0.8'/%3e%3cline%20x1='-4.02'%20y1='9.7'%20x2='-4.78'%20y2='11.55'%20stroke-width='0.8'/%3e%3cline%20x1='-7.42'%20y1='7.42'%20x2='-10.61'%20y2='10.61'%20stroke-width='0.8'/%3e%3cline%20x1='-9.7'%20y1='4.02'%20x2='-11.55'%20y2='4.78'%20stroke-width='0.8'/%3e%3cline%20x1='-10.5'%20y1='0'%20x2='-15'%20y2='0'%20stroke-width='0.8'/%3e%3cline%20x1='-9.7'%20y1='-4.02'%20x2='-11.55'%20y2='-4.78'%20stroke-width='0.8'/%3e%3cline%20x1='-7.42'%20y1='-7.42'%20x2='-10.61'%20y2='-10.61'%20stroke-width='0.8'/%3e%3cline%20x1='-4.02'%20y1='-9.7'%20x2='-4.78'%20y2='-11.55'%20stroke-width='0.8'/%3e%3cline%20x1='-0'%20y1='-10.5'%20x2='-0'%20y2='-15'%20stroke-width='0.8'/%3e%3cline%20x1='4.02'%20y1='-9.7'%20x2='4.78'%20y2='-11.55'%20stroke-width='0.8'/%3e%3cline%20x1='7.42'%20y1='-7.42'%20x2='10.61'%20y2='-10.61'%20stroke-width='0.8'/%3e%3cline%20x1='9.7'%20y1='-4.02'%20x2='11.55'%20y2='-4.78'%20stroke-width='0.8'/%3e%3cpath%20d='M-4%20-19a6%206%200%201%200%208%200a4.6%204.6%200%201%201%20-8%200Z'%20stroke-width='0.7'/%3e%3c/svg%3e") 50%/contain no-repeat,url(./astrolabe-Duh6OwVZ.svg) 50%/contain no-repeat;width:210px;height:210px;animation:90s linear infinite ward-spin;position:absolute;top:-70px;right:-70px}:root[data-theme=grimoire] .ornament{color:#0000;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20120%2016'%20fill='none'%20stroke='%23d9b35b'%3e%3cg%3e%3cpath%20d='M53%208C46%208%2045%202.5%2038.5%202.5C33%202.5%2031.5%208%2026%208H2'%20stroke-width='1'/%3e%3cpath%20d='M38.5%202.5c-3%200-4.5%202.8-2.5%204.8'%20stroke-width='0.8'/%3e%3ccircle%20cx='2'%20cy='8'%20r='1.2'%20fill='%23d9b35b'%20stroke='none'/%3e%3c/g%3e%3cg%20transform='translate(120%200)%20scale(-1%201)'%3e%3cpath%20d='M53%208C46%208%2045%202.5%2038.5%202.5C33%202.5%2031.5%208%2026%208H2'%20stroke-width='1'/%3e%3cpath%20d='M38.5%202.5c-3%200-4.5%202.8-2.5%204.8'%20stroke-width='0.8'/%3e%3ccircle%20cx='2'%20cy='8'%20r='1.2'%20fill='%23d9b35b'%20stroke='none'/%3e%3c/g%3e%3cpath%20d='M60%202L66%208L60%2014L54%208Z'%20fill='%23d9b35b'%20stroke='none'/%3e%3ccircle%20cx='60'%20cy='8'%20r='1.4'%20fill='%2316120d'%20stroke='none'/%3e%3c/svg%3e") 50%/120px 16px no-repeat;height:16px}:root[data-theme=grimoire] .ornament:before{margin-right:60px}:root[data-theme=grimoire] .ornament:after{margin-left:60px}:root[data-theme=grimoire] .create-form h2:after{content:"";background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20120%2016'%20fill='none'%20stroke='%23d9b35b'%3e%3cg%3e%3cpath%20d='M53%208C46%208%2045%202.5%2038.5%202.5C33%202.5%2031.5%208%2026%208H2'%20stroke-width='1'/%3e%3cpath%20d='M38.5%202.5c-3%200-4.5%202.8-2.5%204.8'%20stroke-width='0.8'/%3e%3ccircle%20cx='2'%20cy='8'%20r='1.2'%20fill='%23d9b35b'%20stroke='none'/%3e%3c/g%3e%3cg%20transform='translate(120%200)%20scale(-1%201)'%3e%3cpath%20d='M53%208C46%208%2045%202.5%2038.5%202.5C33%202.5%2031.5%208%2026%208H2'%20stroke-width='1'/%3e%3cpath%20d='M38.5%202.5c-3%200-4.5%202.8-2.5%204.8'%20stroke-width='0.8'/%3e%3ccircle%20cx='2'%20cy='8'%20r='1.2'%20fill='%23d9b35b'%20stroke='none'/%3e%3c/g%3e%3cpath%20d='M60%202L66%208L60%2014L54%208Z'%20fill='%23d9b35b'%20stroke='none'/%3e%3ccircle%20cx='60'%20cy='8'%20r='1.4'%20fill='%2316120d'%20stroke='none'/%3e%3c/svg%3e") 50%/contain no-repeat;width:120px;height:16px;margin:8px auto 0}:root[data-theme=grimoire] .section-header h2:first-letter,:root[data-theme=grimoire] .create-form h2:first-letter{color:var(--gold-bright);text-shadow:0 0 14px #f2d78f99,0 2px #000;font-size:1.5em}:root[data-theme=grimoire] .ability{position:relative}:root[data-theme=grimoire] .ability:before{content:"";background:var(--gold);width:7px;height:7px;margin-left:-3.5px;position:absolute;top:5px;left:50%;transform:rotate(45deg);box-shadow:0 0 8px #d9b35b99}:root[data-theme=grimoire] .ability:focus-within:before{background:var(--gold-bright);box-shadow:0 0 14px #f2d78fe6}:root[data-theme=grimoire] input[type=checkbox]:checked,:root[data-theme=grimoire] .prof-toggle[data-level=proficient] .prof-gem,:root[data-theme=grimoire] .prof-toggle[data-level=expertise] .prof-gem{animation:gold-glint .6s var(--ease)}@keyframes gold-glint{0%{filter:brightness(2.2);transform:rotate(45deg)scale(.4)}60%{filter:brightness(1.6);transform:rotate(45deg)scale(1.3)}to{filter:none;transform:rotate(45deg)scale(1)}}:root[data-theme=grimoire] .stat.shield:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 35%,#fff0c866 50%,#0000 65%);animation:6s ease-in-out infinite gleam;position:absolute;inset:0;transform:translate(-120%)}@keyframes gleam{0%,70%{transform:translate(-120%)}to{transform:translate(120%)}}:root[data-theme=grimoire] .hp-fill{background-image:linear-gradient(90deg,#00000073,#0000 70%),linear-gradient(90deg,#0000 40%,#ffecd233 50%,#0000 60%);background-size:100% 100%,200% 100%;animation:7s linear infinite hp-flow}:root[data-theme=grimoire] .hp-bar[data-state=bad] .hp-fill{animation:7s linear infinite hp-flow,1.1s ease-in-out infinite alternate hp-pulse}@keyframes hp-flow{to{background-position:0 0,-200% 0}}:root[data-theme=grimoire] .skill{transition:background .25s var(--ease)}@media (hover:hover){:root[data-theme=grimoire] .skill:hover{background:linear-gradient(90deg,#0000,#d9b35b14,#0000)}}:root[data-theme=grimoire] .page-header{isolation:isolate;padding-top:58px;position:relative}:root[data-theme=grimoire] .page-header:before,:root[data-theme=grimoire] .page-header:after{content:"";z-index:-1;pointer-events:none;border-radius:50%;position:absolute;left:50%}:root[data-theme=grimoire] .page-header:before{background:repeating-conic-gradient(#d9b35b59 0 2deg, transparent 2deg 10deg);will-change:transform;width:250px;height:250px;margin-left:-125px;animation:140s linear infinite ward-spin;top:-39px;-webkit-mask:radial-gradient(circle,#0000 22%,#000 30%,#0000 70%);mask:radial-gradient(circle,#0000 22%,#000 30%,#0000 70%)}:root[data-theme=grimoire] .page-header:after{background:radial-gradient(circle,#f2c8784d,#0000 65%);width:140px;height:140px;margin-left:-70px;animation:5.5s infinite candle;top:16px}@keyframes ward-spin{to{transform:rotate(360deg)}}:root[data-theme=grimoire] h1{background:linear-gradient(100deg,#a47c30 20%,#f7e3a3 40%,#d9b35b 50%,#fff3c9 55%,#a47c30 75%) 0 0/250%;color:#0000;text-shadow:none;filter:drop-shadow(0 0 12px #d9b35b59);-webkit-background-clip:text;background-clip:text;animation:9s linear infinite gold-foil}@keyframes gold-foil{to{background-position:250% 0}}:root[data-theme=grimoire] .monogram{color:#ffd6c4d9;box-shadow:none;clip-path:polygon(99.1% 50%,93.9% 59.3%,94.6% 69.9%,86.1% 76.2%,82.7% 86.3%,72.3% 88.6%,65.4% 97.5%,54.7% 95.1%,44.9% 98.3%,36.1% 92.8%,25.7% 92.1%,19.3% 84.1%,10.1% 79%,8.3% 68.6%,1.9% 60.2%,4.9% 50%,1.1% 39.6%,8.3% 31.4%,9.9% 20.9%,20.1% 16.8%,25.6% 7.7%,35.9% 6.5%,44.9% 1.5%,54.8% 4.5%,65.2% 3.3%,72.9% 10.3%,83.5% 12.8%,86.2% 23.7%,95.4% 29.8%,94.7% 40.5%);text-shadow:0 -1px #0000008c,0 1px #ffb4a04d;background:radial-gradient(circle,#0000 57%,#00000047 60%,#0000 64%),radial-gradient(circle at 35% 30%,#c4473c,#8e2219 60%,#5e140e);border:0;border-radius:0}:root[data-theme=grimoire] .tab[aria-selected=true]:after{content:"";background:var(--gold-bright);width:7px;height:7px;margin-left:-3.5px;position:absolute;top:-4px;left:50%;transform:rotate(45deg);box-shadow:0 0 10px #f2d78fcc}@media (width>=1024px){:root[data-theme=grimoire] .sheet[data-layout=desktop] .tab[aria-selected=true]:after{top:auto;bottom:-4px}}:root[data-theme=heraldic]{--ink:#0f1626;--ink-2:#131c30;--ink-3:#172238;--ink-4:#1f2d48;--gold:#f2b441;--gold-bright:#ffc95c;--gold-dim:#2f4166;--gold-line:#2f4166bf;--gold-faint:#f2b44124;--parch:#e7eaf1;--parch-muted:#8e9ab5;--blood:#b8323a;--blood-bright:#e2474b;--verdigris:#38b889;--warning:#f2b441;--line-strong:#4a5e8a;--hover:#2a3b5e;--font-display:"Chakra Petch", "Barlow", system-ui, sans-serif;--font-body:"Barlow", system-ui, sans-serif;--font-caps:"Chakra Petch", "Barlow", system-ui, sans-serif;--radius:0;--tilt:16deg;--bend:repeating-linear-gradient(106deg, var(--gold-dim) 0 2px, transparent 2px 7px);--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1h10L6 7z' fill='%23f2b441'/%3E%3C/svg%3E");font-size:16px}:root[data-theme=heraldic] ::selection{color:var(--parch);background:#f2b44159}:root[data-theme=heraldic] h1,:root[data-theme=heraldic] h2,:root[data-theme=heraldic] h3{text-transform:uppercase;text-shadow:none;font-weight:700}:root[data-theme=heraldic] h1{letter-spacing:.06em;color:var(--gold);font-size:1.9rem}:root[data-theme=heraldic] h2{letter-spacing:.1em;color:var(--parch);font-size:1.02rem}:root[data-theme=heraldic] h3{letter-spacing:.1em;color:var(--gold);opacity:1;font-size:.9rem}:root[data-theme=heraldic] .field-label,:root[data-theme=heraldic] .stat-label,:root[data-theme=heraldic] .ability-name,:root[data-theme=heraldic] .ability-save,:root[data-theme=heraldic] .save-status,:root[data-theme=heraldic] .skill-name small,:root[data-theme=heraldic] details summary,:root[data-theme=heraldic] .tab,:root[data-theme=heraldic] .btn{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;font-weight:600}:root[data-theme=heraldic] .field-label{font-size:.72rem}:root[data-theme=heraldic] .stat-label,:root[data-theme=heraldic] .ability-name,:root[data-theme=heraldic] .ability-save,:root[data-theme=heraldic] .save-status{font-size:.7rem}:root[data-theme=heraldic] .skill-name small{color:var(--parch-muted);font-size:.68rem}:root[data-theme=heraldic] .muted,:root[data-theme=heraldic] .empty,:root[data-theme=heraldic] .tagline,:root[data-theme=heraldic] .backup-status,:root[data-theme=heraldic] .sheet-subtitle,:root[data-theme=heraldic] .warning,:root[data-theme=heraldic] .message,:root[data-theme=heraldic] .warning-text{font-style:normal}:root[data-theme=heraldic] .card{--cut:16px;isolation:isolate;box-shadow:none;background:var(--gold-dim);clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));border:0}:root[data-theme=heraldic] .card:before{z-index:-1;background:var(--ink-3);--c:calc(var(--cut) - .59px);clip-path:polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));background-image:none;inset:1px}:root[data-theme=heraldic] .card.modal{background:var(--line-strong)}:root[data-theme=heraldic] .ornament{display:none}:root[data-theme=heraldic] .section-header{margin-bottom:16px}:root[data-theme=heraldic] .section-header h2{flex:1;align-items:center;gap:12px;min-width:0;display:flex}:root[data-theme=heraldic] .section-header h2:after{content:"";background:var(--bend);flex:1;height:10px}:root[data-theme=heraldic] .create-form h2:after{content:"";background:var(--bend);height:10px;margin-top:10px}:root[data-theme=heraldic] input[type=text],:root[data-theme=heraldic] select,:root[data-theme=heraldic] textarea{color:var(--parch);background:var(--ink);border:1px solid var(--gold-dim);box-shadow:none;clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);border-bottom-width:2px}:root[data-theme=heraldic] select{background-image:var(--chevron);background-position:right 12px center;background-repeat:no-repeat;background-size:10px 7px}:root[data-theme=heraldic] select option{background:var(--ink-3)}:root[data-theme=heraldic] input[type=text]::placeholder,:root[data-theme=heraldic] textarea::placeholder{color:#5b6785;font-style:normal}:root[data-theme=heraldic] input[type=text]:hover,:root[data-theme=heraldic] select:hover,:root[data-theme=heraldic] textarea:hover{border-color:var(--line-strong)}:root[data-theme=heraldic] input[type=text]:focus,:root[data-theme=heraldic] select:focus,:root[data-theme=heraldic] textarea:focus{border-color:var(--gold);box-shadow:none;background-color:#121b2e}:root[data-theme=heraldic] input[type=checkbox]{border:1.5px solid var(--line-strong);background:var(--ink);width:12px;height:17px;transform:skewX(calc(-1 * var(--tilt)));border-radius:0}:root[data-theme=heraldic] input[type=checkbox]:hover{border-color:var(--gold)}:root[data-theme=heraldic] input[type=checkbox]:checked{border-color:var(--gold);background:var(--gold);box-shadow:none}:root[data-theme=heraldic] input[type=checkbox]:active{transform:skewX(calc(-1 * var(--tilt))) scale(.85)}:root[data-theme=heraldic] .pips{gap:6px}:root[data-theme=heraldic] .btn{--slant:10px;color:var(--parch);background:var(--ink-4);box-shadow:none;clip-path:polygon(var(--slant) 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%);border:0;padding:8px 24px;font-size:.85rem}:root[data-theme=heraldic] .btn:hover{color:var(--gold);background:var(--hover);box-shadow:none}:root[data-theme=heraldic] .btn:focus-visible{box-shadow:inset 0 0 0 2px var(--gold);outline:none}:root[data-theme=heraldic] .btn.small{--slant:8px;padding:4px 18px;font-size:.76rem}:root[data-theme=heraldic] .btn.primary{color:var(--ink);background:var(--gold);text-shadow:none}:root[data-theme=heraldic] .btn.primary:hover{color:var(--ink);background:var(--gold-bright);box-shadow:none}:root[data-theme=heraldic] .btn.primary:focus-visible{box-shadow:inset 0 0 0 2px var(--parch)}:root[data-theme=heraldic] .btn.danger{color:var(--blood-bright);background:#e2474b24}:root[data-theme=heraldic] .btn.danger:hover{color:#fff;background:var(--blood-bright);box-shadow:none}:root[data-theme=heraldic] .btn.ok{color:var(--verdigris);background:#38b88924}:root[data-theme=heraldic] .btn.ok:hover{color:var(--ink);background:var(--verdigris);box-shadow:none}:root[data-theme=heraldic] input[type=checkbox]:focus-visible,:root[data-theme=heraldic] a:focus-visible{outline-color:var(--gold)}:root[data-theme=heraldic] .stat{background:var(--ink-4);box-shadow:none;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);border:0;border-radius:0;padding:8px 24px}:root[data-theme=heraldic] .stat-value{font-family:var(--font-display);color:var(--gold);text-shadow:none;font-size:1.5rem}:root[data-theme=heraldic] .stat.shield{background:var(--gold);clip-path:polygon(0 0,100% 0,100% 58%,50% 100%,0 58%);padding:10px 16px 26px}:root[data-theme=heraldic] .stat.shield:before{display:none}:root[data-theme=heraldic] .stat.shield .stat-label,:root[data-theme=heraldic] .stat.shield .stat-value{color:var(--ink)}:root[data-theme=heraldic] .ability{isolation:isolate;background:var(--gold-dim);box-shadow:none;clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%,0 16px);border:0;border-radius:0;padding:14px 8px 10px;position:relative}:root[data-theme=heraldic] .ability:before{content:"";z-index:-1;background:var(--ink-3);clip-path:polygon(15.4px 0,calc(100% - 15.4px) 0,100% 15.4px,100% 100%,0 100%,0 15.4px);position:absolute;inset:1px}:root[data-theme=heraldic] .ability:focus-within{background:var(--gold);box-shadow:none}:root[data-theme=heraldic] .ability-mod{font-family:var(--font-display);color:var(--gold);text-shadow:none;font-size:2rem}:root[data-theme=heraldic] .field.ability-score input{background:var(--ink);clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);border:0;border-radius:0}:root[data-theme=heraldic] .ability-save output{font-family:var(--font-display)}:root[data-theme=heraldic] .skill{border-bottom:1px solid var(--gold-line)}:root[data-theme=heraldic] .prof-gem{border:1.5px solid var(--line-strong);background:var(--ink);width:11px;height:16px;transform:skewX(calc(-1 * var(--tilt)));border-radius:0}:root[data-theme=heraldic] .prof-gem:after{border-color:var(--gold);border-radius:0;inset:-5px}:root[data-theme=heraldic] .prof-toggle:hover .prof-gem{border-color:var(--gold)}:root[data-theme=heraldic] .prof-toggle:active .prof-gem{transform:skewX(calc(-1 * var(--tilt))) scale(.85)}:root[data-theme=heraldic] .prof-toggle[data-level=proficient] .prof-gem,:root[data-theme=heraldic] .prof-toggle[data-level=expertise] .prof-gem{border-color:var(--gold);background:var(--gold);box-shadow:none}:root[data-theme=heraldic] .prof-toggle[data-level=expertise] .prof-gem{box-shadow:none}:root[data-theme=heraldic] .skill-value{font-family:var(--font-display);color:var(--gold)}:root[data-theme=heraldic] .hp-bar{background:var(--ink);height:16px;box-shadow:none;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);border:0;border-radius:0}:root[data-theme=heraldic]{--hp-good:#38b889;--hp-mid:#f2b441;--hp-bad:#e2474b}:root[data-theme=heraldic] .hp-fill{box-shadow:none;background-image:none}:root[data-theme=heraldic] .hp-temp{background:repeating-linear-gradient(106deg, var(--parch-muted) 0 3px, transparent 3px 6px)}:root[data-theme=heraldic] .list-item{background:var(--ink-2);border:0;border-left:3px solid var(--gold-dim)}:root[data-theme=heraldic] .list-summary strong{font-family:var(--font-display);font-weight:600}:root[data-theme=heraldic] .list-summary span{font-family:var(--font-display);color:var(--gold)}:root[data-theme=heraldic] details summary:before{content:"›";color:var(--gold)}:root[data-theme=heraldic] .slot-row{border-bottom:1px solid var(--gold-line)}:root[data-theme=heraldic] .slot-level{font-family:var(--font-display);color:var(--gold);font-weight:700}:root[data-theme=heraldic] .warning{color:var(--parch);border:0;border-left:3px solid var(--gold);background:#f2b4411a}:root[data-theme=heraldic] .message{border:0;border-left:3px solid var(--gold)}:root[data-theme=heraldic] .logo{filter:none}:root[data-theme=heraldic] .monogram{font-family:var(--font-display);color:var(--ink);background:var(--gold);box-shadow:none;text-shadow:none;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border:0;border-radius:0;padding-top:0;font-weight:700}:root[data-theme=heraldic] .character-name{font-family:var(--font-display);font-size:1.2rem;font-weight:600}:root[data-theme=heraldic] .sheet-header{background:var(--ink);border-bottom:1px solid var(--gold-dim);box-shadow:none}:root[data-theme=heraldic] .sheet-title{letter-spacing:.05em;text-transform:uppercase;color:var(--parch);text-shadow:none;font-size:1.25rem;font-weight:700}:root[data-theme=heraldic] .tabbar{border-top:1px solid var(--gold-dim);box-shadow:none;background:#0f1626fa}:root[data-theme=heraldic] .tab{isolation:isolate;font-size:.7rem}:root[data-theme=heraldic] .tab[aria-selected=true]{color:var(--gold)}:root[data-theme=heraldic] .tab[aria-selected=true] svg{filter:none}:root[data-theme=heraldic] .tab[aria-selected=true]:before{z-index:-1;background:var(--ink-4);height:auto;box-shadow:inset 0 -3px 0 var(--gold);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);inset:7px 4px}:root[data-theme=heraldic] .modal-backdrop{background:#090d18cc}@media (width>=1024px){:root[data-theme=heraldic] .sheet[data-layout=desktop] .tabbar{box-shadow:none;border-bottom:1px solid var(--gold-dim)}:root[data-theme=heraldic] .sheet[data-layout=desktop] .tab{font-size:.85rem}:root[data-theme=heraldic] .sheet[data-layout=desktop] .tab[aria-selected=true]:before{inset:8px 0}}:root[data-theme=heraldic]{background:repeating-linear-gradient(60deg, #f2b44106 0 1px, transparent 1px 30px), repeating-linear-gradient(-60deg, #f2b44106 0 1px, transparent 1px 30px), radial-gradient(ellipse 110% 60% at 50% -10%, #1b2a4a 0%, #1b2a4a00 65%), var(--ink);scrollbar-color:var(--gold-dim) transparent}:root[data-theme=heraldic] body{background:0 0}:root[data-theme=heraldic] body:before{content:"";z-index:-1;pointer-events:none;will-change:transform;background:linear-gradient(90deg,#0000,#f2b4410f,#0000);width:30vw;height:200vh;animation:16s ease-in-out infinite field-sweep;position:fixed;top:-50vh;left:0;transform:translate(-60vw)rotate(16deg)}@keyframes field-sweep{0%,55%{transform:translate(-60vw)rotate(16deg)}to{transform:translate(160vw)rotate(16deg)}}:root[data-theme=heraldic] .card:after{content:"";top:1px;left:calc(var(--cut) + 1px);pointer-events:none;background:var(--gold);height:3px;position:absolute;right:1px}:root[data-theme=heraldic] .section-header h2:before{content:"";background:linear-gradient(135deg, var(--gold) 50%, #3f6fd8 50%);clip-path:polygon(0 0,100% 0,100% 60%,50% 100%,0 60%);flex:none;width:14px;height:17px}:root[data-theme=heraldic] .abilities>.ability:first-child{--tincture:#e2474b}:root[data-theme=heraldic] .abilities>.ability:nth-child(2){--tincture:#38b889}:root[data-theme=heraldic] .abilities>.ability:nth-child(3){--tincture:#f2b441}:root[data-theme=heraldic] .abilities>.ability:nth-child(4){--tincture:#3f7be0}:root[data-theme=heraldic] .abilities>.ability:nth-child(5){--tincture:#9b6bdb}:root[data-theme=heraldic] .abilities>.ability:nth-child(6){--tincture:#e7eaf1}:root[data-theme=heraldic] .ability{clip-path:polygon(0 0,100% 0,100% 68%,50% 100%,0 68%);padding:9px 8px 46px}:root[data-theme=heraldic] .ability:before{background:linear-gradient(var(--tincture,var(--gold)) 0 30px, var(--ink-3) 30px);clip-path:polygon(0 0,100% 0,100% 68%,50% 100%,0 68%)}:root[data-theme=heraldic] .ability-name{color:var(--ink);margin-bottom:8px;font-weight:700;position:relative}:root[data-theme=heraldic] .ability:focus-within{background:var(--tincture,var(--gold))}:root[data-theme=heraldic] .stat.shield{background:linear-gradient(to bottom right, transparent calc(50% - 5px), #0f162629 calc(50% - 5px) calc(50% + 5px), transparent calc(50% + 5px)) right bottom / 50% 60% no-repeat, linear-gradient(to bottom left, transparent calc(50% - 5px), #0f162629 calc(50% - 5px) calc(50% + 5px), transparent calc(50% + 5px)) left bottom / 50% 60% no-repeat, var(--gold)}:root[data-theme=heraldic] input[type=checkbox]:checked,:root[data-theme=heraldic] .prof-toggle[data-level=proficient] .prof-gem,:root[data-theme=heraldic] .prof-toggle[data-level=expertise] .prof-gem{animation:tile-flip .5s var(--ease)}@keyframes tile-flip{0%{transform:skewX(calc(-1 * var(--tilt))) rotateY(180deg) scale(.6)}to{transform:skewX(calc(-1 * var(--tilt))) rotateY(0) scale(1)}}:root[data-theme=heraldic] .page-header{isolation:isolate;padding-top:38px;position:relative}:root[data-theme=heraldic] .page-header:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(115deg, transparent 40%, #ffffff73 50%, transparent 60%) -150% 0 / 250% 100% no-repeat, conic-gradient(from 90deg at 50% 50%, #3f6fd8 0 25%, var(--gold) 0 50%, #3f6fd8 0 75%, var(--gold) 0);clip-path:polygon(0 0,100% 0,100% 58%,50% 100%,0 58%);width:118px;height:138px;margin-left:-59px;animation:7s ease-in-out infinite shield-glint;position:absolute;top:0;left:50%}@keyframes shield-glint{0%,75%{background-position:-150% 0,0 0}to{background-position:250% 0,0 0}}:root[data-theme=heraldic] .logo{color:var(--ink);filter:drop-shadow(0 0 1px #e7eaf1cc);margin:4px 0 70px;position:relative}:root[data-theme=heraldic] .monogram{background:linear-gradient(var(--blood-bright) 0 24%, var(--gold) 24%);clip-path:polygon(0 0,100% 0,100% 60%,50% 100%,0 60%);padding-top:8px}:root[data-theme=heraldic] .tab[aria-selected=true]:before{background:linear-gradient(var(--gold) 0 3px, #f2b44124 3px);box-shadow:none;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);inset:0 6px 6px}@media (width>=1024px){:root[data-theme=heraldic] .sheet[data-layout=desktop] .tab[aria-selected=true]:before{inset:0 4px 4px}}:root[data-theme=abjurer]{--ink:#1b1a2e;--ink-2:#201f35;--ink-3:#26253d;--ink-4:#312f4d;--gold:#9db8ff;--gold-bright:#c3d3ff;--gold-dim:#45436a;--gold-line:#9db8ff1a;--gold-faint:#9db8ff24;--parch:#e6e4f3;--parch-muted:#a09ebd;--blood:#a8354a;--blood-bright:#e0697c;--verdigris:#6fcfa8;--warning:#e8c27a;--hp-good:#6fcfa8;--hp-mid:#e8c27a;--hp-bad:#e0697c;--well:#17162a;--glow:#8caaff59;--soft-shadow:0 8px 24px #08071459;--bracket:#9db8ff8c;--brackets:linear-gradient(var(--bracket), var(--bracket)) top left / 14px 1.5px no-repeat, linear-gradient(var(--bracket), var(--bracket)) top left / 1.5px 14px no-repeat, linear-gradient(var(--bracket), var(--bracket)) top right / 14px 1.5px no-repeat, linear-gradient(var(--bracket), var(--bracket)) top right / 1.5px 14px no-repeat, linear-gradient(var(--bracket), var(--bracket)) bottom left / 14px 1.5px no-repeat, linear-gradient(var(--bracket), var(--bracket)) bottom left / 1.5px 14px no-repeat, linear-gradient(var(--bracket), var(--bracket)) bottom right / 14px 1.5px no-repeat, linear-gradient(var(--bracket), var(--bracket)) bottom right / 1.5px 14px no-repeat;--ruler:repeating-linear-gradient(90deg, var(--gold) 0 1px, transparent 1px 6px) top / 100% 4px no-repeat, repeating-linear-gradient(90deg, var(--gold) 0 1px, transparent 1px 6px) bottom / 100% 4px no-repeat, repeating-linear-gradient(0deg, var(--gold) 0 1px, transparent 1px 6px) left / 4px 100% no-repeat, repeating-linear-gradient(0deg, var(--gold) 0 1px, transparent 1px 6px) right / 4px 100% no-repeat;--font-display:"Marcellus", "Spectral", Georgia, serif;--font-body:"Spectral", Georgia, "Times New Roman", serif;--font-caps:"Marcellus SC", "Marcellus", Georgia, serif;--radius:2px;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239db8ff' stroke-width='1.6'/%3E%3C/svg%3E");background:radial-gradient(ellipse 80% 50% at 50% -5%, #5860be73, transparent 70%), radial-gradient(ellipse 60% 45% at 0% 100%, #7846aa38, transparent 70%), linear-gradient(#9db8ff09 1px, transparent 1px) 0 0 / 44px 44px, linear-gradient(90deg, #9db8ff09 1px, transparent 1px) 0 0 / 44px 44px, var(--ink);scrollbar-color:var(--gold-dim) transparent}:root[data-theme=abjurer] body{background:0 0}:root[data-theme=abjurer] body:before{content:"";z-index:-1;pointer-events:none;will-change:transform;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='320'%20height='320'%20viewBox='0%200%20320%20320'%20fill='%23c3d3ff'%3e%3crect%20x='144.76'%20y='179.13'%20width='1.8'%20height='1.8'%20fill-opacity='0.31'/%3e%3crect%20x='273.61'%20y='60.77'%20width='1.8'%20height='1.8'%20fill-opacity='0.37'/%3e%3crect%20x='253.75'%20y='30.12'%20width='1.4'%20height='1.4'%20fill-opacity='0.2'/%3e%3crect%20x='172.38'%20y='284.92'%20width='0.9'%20height='0.9'%20fill-opacity='0.36'/%3e%3crect%20x='126.77'%20y='144.96'%20width='1.1'%20height='1.1'%20fill-opacity='0.37'/%3e%3crect%20x='266.14'%20y='20.21'%20width='0.9'%20height='0.9'%20fill-opacity='0.22'/%3e%3crect%20x='77.42'%20y='9.63'%20width='1.8'%20height='1.8'%20fill-opacity='0.26'/%3e%3crect%20x='189.11'%20y='62.5'%20width='1.1'%20height='1.1'%20fill-opacity='0.37'/%3e%3crect%20x='159.93'%20y='211.98'%20width='1.8'%20height='1.8'%20fill-opacity='0.38'/%3e%3crect%20x='130.17'%20y='176.41'%20width='0.9'%20height='0.9'%20fill-opacity='0.4'/%3e%3crect%20x='100.89'%20y='73.49'%20width='1.4'%20height='1.4'%20fill-opacity='0.16'/%3e%3crect%20x='180.21'%20y='34.54'%20width='0.9'%20height='0.9'%20fill-opacity='0.45'/%3e%3crect%20x='123.68'%20y='306.57'%20width='0.9'%20height='0.9'%20fill-opacity='0.22'/%3e%3crect%20x='296.65'%20y='16.74'%20width='1.8'%20height='1.8'%20fill-opacity='0.49'/%3e%3crect%20x='127.18'%20y='23.37'%20width='1.1'%20height='1.1'%20fill-opacity='0.42'/%3e%3crect%20x='86.33'%20y='27.89'%20width='1.4'%20height='1.4'%20fill-opacity='0.16'/%3e%3crect%20x='131.22'%20y='295.31'%20width='1.1'%20height='1.1'%20fill-opacity='0.24'/%3e%3crect%20x='32.33'%20y='19.17'%20width='1.8'%20height='1.8'%20fill-opacity='0.21'/%3e%3crect%20x='178.97'%20y='143.18'%20width='1.1'%20height='1.1'%20fill-opacity='0.49'/%3e%3crect%20x='246.25'%20y='134.15'%20width='1.8'%20height='1.8'%20fill-opacity='0.19'/%3e%3crect%20x='134.64'%20y='68.12'%20width='1.4'%20height='1.4'%20fill-opacity='0.45'/%3e%3crect%20x='311.95'%20y='189.68'%20width='0.9'%20height='0.9'%20fill-opacity='0.22'/%3e%3crect%20x='126.17'%20y='273.4'%20width='0.9'%20height='0.9'%20fill-opacity='0.16'/%3e%3crect%20x='46.83'%20y='141.29'%20width='0.9'%20height='0.9'%20fill-opacity='0.42'/%3e%3crect%20x='105.27'%20y='94.82'%20width='0.9'%20height='0.9'%20fill-opacity='0.18'/%3e%3crect%20x='66.79'%20y='203.71'%20width='0.9'%20height='0.9'%20fill-opacity='0.36'/%3e%3crect%20x='118.95'%20y='145.03'%20width='1.8'%20height='1.8'%20fill-opacity='0.44'/%3e%3crect%20x='43.44'%20y='123.55'%20width='1.1'%20height='1.1'%20fill-opacity='0.26'/%3e%3crect%20x='73.08'%20y='195.34'%20width='1.1'%20height='1.1'%20fill-opacity='0.21'/%3e%3crect%20x='201.27'%20y='177.26'%20width='1.8'%20height='1.8'%20fill-opacity='0.46'/%3e%3cpath%20d='M185.49%20138.01H192.49M188.99%20134.51V141.51'%20stroke='%23c3d3ff'%20stroke-opacity='0.4'%20stroke-width='0.8'/%3e%3cpath%20d='M45.58%2030.84H52.58M49.08%2027.34V34.34'%20stroke='%23c3d3ff'%20stroke-opacity='0.4'%20stroke-width='0.8'/%3e%3cpath%20d='M286.05%2086.75H293.05M289.55%2083.25V90.25'%20stroke='%23c3d3ff'%20stroke-opacity='0.4'%20stroke-width='0.8'/%3e%3cpath%20d='M213.78%2091.95H220.78M217.28%2088.45V95.45'%20stroke='%23c3d3ff'%20stroke-opacity='0.4'%20stroke-width='0.8'/%3e%3cpath%20d='M247.14%20187.01H254.14M250.64%20183.51V190.51'%20stroke='%23c3d3ff'%20stroke-opacity='0.4'%20stroke-width='0.8'/%3e%3c/svg%3e");animation:140s linear infinite star-drift;position:fixed;inset:0 0 -320px}:root[data-theme=abjurer] body:after{content:"";z-index:-1;pointer-events:none;opacity:.06;will-change:transform;background:url(./sigil-DGwTfuUk.svg) 50%/contain no-repeat;width:720px;height:720px;animation:300s linear infinite ward-spin;position:fixed;bottom:-260px;right:-260px}@keyframes star-drift{to{transform:translateY(-320px)}}:root[data-theme=abjurer] ::selection{color:var(--parch);background:#9db8ff47}:root[data-theme=abjurer] .stat-value,:root[data-theme=abjurer] .ability-mod,:root[data-theme=abjurer] .skill-value,:root[data-theme=abjurer] .slot-level,:root[data-theme=abjurer] .ability-save output,:root[data-theme=abjurer] .list-summary span{font-family:var(--font-body);font-variant-numeric:lining-nums tabular-nums}:root[data-theme=abjurer] h1,:root[data-theme=abjurer] .section-header h2,:root[data-theme=abjurer] .create-form h2,:root[data-theme=abjurer] .sheet-title,:root[data-theme=abjurer] .app-footer-name{background:linear-gradient(90deg,#f1eeff,#a9bcff);color:#0000;-webkit-background-clip:text;background-clip:text}:root[data-theme=abjurer] h1{text-shadow:none;filter:drop-shadow(0 0 14px #8caaff73)}:root[data-theme=abjurer] h2{letter-spacing:.04em}:root[data-theme=abjurer] h3{color:var(--gold)}:root[data-theme=abjurer] .section-header h2:before{content:"◈";-webkit-text-fill-color:var(--gold);text-shadow:0 0 10px var(--gold);margin-right:10px;font-size:.8em}:root[data-theme=abjurer] .card{isolation:isolate;background:linear-gradient(180deg, #9db8ff12, #9db8ff00 140px), var(--ink-3);box-shadow:var(--soft-shadow);border-color:#0000;overflow:hidden}:root[data-theme=abjurer] .card.modal{overflow-y:auto}:root[data-theme=abjurer] .card:before{z-index:-1;opacity:.1;width:190px;height:190px;transition:transform 1.4s var(--ease), opacity .6s var(--ease);background:url(./sigil-DGwTfuUk.svg) 50%/contain no-repeat;inset:-50px -50px auto auto}:root[data-theme=abjurer] .card:after{content:"";pointer-events:none;background:var(--brackets);transition:inset .4s var(--ease);position:absolute;inset:6px}@media (hover:hover){:root[data-theme=abjurer] .card:hover:before{opacity:.18;transform:rotate(45deg)}:root[data-theme=abjurer] .card:hover:after{inset:3px}}:root[data-theme=abjurer] .ornament{color:#0000;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-50%20-50%20100%20100'%20fill='none'%20stroke='%239db8ff'%20stroke-opacity='0.3'%20stroke-width='1.2'%3e%3crect%20x='-33'%20y='-33'%20width='66'%20height='66'/%3e%3cpath%20d='M0%20-46.7L46.7%200L0%2046.7L-46.7%200Z'/%3e%3crect%20x='-16.5'%20y='-16.5'%20width='33'%20height='33'%20stroke-dasharray='2%203'/%3e%3c/svg%3e") 50%/20px no-repeat;height:20px}:root[data-theme=abjurer] .ornament:before{background:linear-gradient(90deg,#0000,#9db8ff59)}:root[data-theme=abjurer] .ornament:after{background:linear-gradient(90deg,#9db8ff59,#0000)}:root[data-theme=abjurer] .create-form h2:after{content:"";background:var(--gold);width:6px;height:6px;box-shadow:0 0 8px var(--glow);margin:10px auto 0;transform:rotate(45deg)}:root[data-theme=abjurer] input[type=text],:root[data-theme=abjurer] select,:root[data-theme=abjurer] textarea{background:var(--well);border-color:#0000;box-shadow:inset 0 1px 3px #00000059}:root[data-theme=abjurer] select{background-image:var(--chevron);background-position:right 11px center;background-repeat:no-repeat;background-size:12px 8px}:root[data-theme=abjurer] select option{background:var(--ink-3)}:root[data-theme=abjurer] input[type=text]::placeholder,:root[data-theme=abjurer] textarea::placeholder{color:#6c6a8c}:root[data-theme=abjurer] input[type=text]:hover,:root[data-theme=abjurer] select:hover,:root[data-theme=abjurer] textarea:hover{border-color:#0000}:root[data-theme=abjurer] input[type=text]:focus,:root[data-theme=abjurer] select:focus,:root[data-theme=abjurer] textarea:focus{box-shadow:inset 0 1px 3px #00000059, 0 0 0 1px var(--gold), 0 0 14px var(--glow);border-color:#0000}:root[data-theme=abjurer] input[type=checkbox]{background:var(--well);width:14px;height:14px;box-shadow:inset 0 0 0 1.5px var(--gold-dim);border:0;border-radius:0;margin:7px;transform:rotate(45deg)}:root[data-theme=abjurer] input[type=checkbox]:hover{box-shadow:inset 0 0 0 1.5px var(--gold)}:root[data-theme=abjurer] input[type=checkbox]:checked{background:var(--gold);box-shadow:inset 0 0 0 3px var(--well), inset 0 0 0 4.5px var(--gold), 0 0 10px var(--glow);animation:ward-pop .45s var(--ease)}:root[data-theme=abjurer] input[type=checkbox]:active{transform:rotate(45deg)scale(.85)}@keyframes ward-pop{0%{transform:rotate(-45deg)scale(.2)}60%{transform:rotate(60deg)scale(1.35)}to{transform:rotate(45deg)}}:root[data-theme=abjurer] .btn{color:var(--parch);background:linear-gradient(#3a3864,#2d2b4a);border-color:#0000;box-shadow:inset 0 1px #c3d3ff14,0 2px 8px #0807144d}:root[data-theme=abjurer] .btn:hover{color:var(--gold-bright);box-shadow:0 0 12px var(--gold-faint);background:#3a3860;border-color:#0000}:root[data-theme=abjurer] .btn.primary{color:#15142a;text-shadow:none;box-shadow:0 0 16px var(--glow);background:linear-gradient(#b3c8ff,#87a5f5);border-color:#0000}:root[data-theme=abjurer] .btn.primary:hover{color:#15142a;box-shadow:0 0 22px #8caaff8c}:root[data-theme=abjurer] .btn.primary{position:relative;overflow:hidden}:root[data-theme=abjurer] .btn.primary:after{content:"";pointer-events:none;transition:transform .8s var(--ease);background:linear-gradient(110deg,#0000 30%,#ffffff8c 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}:root[data-theme=abjurer] .btn.primary:hover:after{transform:translate(120%)}:root[data-theme=abjurer] .btn.danger{color:var(--blood-bright);background:#e0697c1f;border-color:#0000}:root[data-theme=abjurer] .btn.danger:hover{color:#f3a0ad;box-shadow:none;background:#e0697c33;border-color:#0000}:root[data-theme=abjurer] .btn.ok{color:var(--verdigris);background:#6fcfa81f;border-color:#0000}:root[data-theme=abjurer] .btn.ok:hover{color:#9fe3c7;box-shadow:none;background:#6fcfa833;border-color:#0000}:root[data-theme=abjurer] .stat{border-radius:var(--radius);background:linear-gradient(#37355a,#2c2a47);border-color:#0000;box-shadow:inset 0 1px #c3d3ff12}:root[data-theme=abjurer] .stat-value{color:var(--gold);text-shadow:0 0 12px var(--glow);font-weight:600}:root[data-theme=abjurer] .stats-row{align-items:center}:root[data-theme=abjurer] .stat.shield{clip-path:none;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-50%20-50%20100%20100'%20fill='none'%20stroke='%239db8ff'%20stroke-opacity='0.3'%20stroke-width='1.2'%3e%3crect%20x='-33'%20y='-33'%20width='66'%20height='66'/%3e%3cpath%20d='M0%20-46.7L46.7%200L0%2046.7L-46.7%200Z'/%3e%3crect%20x='-16.5'%20y='-16.5'%20width='33'%20height='33'%20stroke-dasharray='2%203'/%3e%3c/svg%3e") center / 100% no-repeat, radial-gradient(circle at 50% 40%, #3a3868 0%, var(--ink-4) 75%);width:92px;min-width:0;height:92px;box-shadow:0 0 24px var(--glow), inset 0 0 18px #9db8ff2e;margin:12px;padding:0}:root[data-theme=abjurer] .stat.shield:before{clip-path:none;background:var(--ruler);opacity:.45;display:block;inset:-10px}:root[data-theme=abjurer] .stat.shield:after{content:"";z-index:-1;animation:3.6s ease-in-out infinite alternate ward-breathe;position:absolute;inset:0;box-shadow:0 0 34px 8px #8caaff80}@keyframes ward-breathe{0%{opacity:.25}to{opacity:1}}:root[data-theme=abjurer] .stat.shield .stat-value{font-size:1.8rem}:root[data-theme=abjurer] .ability{background:var(--ink-4);border-radius:var(--radius);box-shadow:none;border-color:#0000;gap:4px;padding:14px 8px 10px}:root[data-theme=abjurer] .field.ability-score input{border-radius:var(--radius)}:root[data-theme=abjurer] .ability:focus-within{box-shadow:0 0 0 1px var(--gold-faint), 0 0 20px var(--glow)}:root[data-theme=abjurer] .ability-mod{width:52px;height:52px;color:var(--gold);text-shadow:0 0 12px var(--glow);background:radial-gradient(circle, #34325a 30%, var(--ink-4) 80%);place-items:center;margin:12px 0 10px;font-size:1.45rem;font-weight:600;display:grid;position:relative;box-shadow:inset 0 0 0 1px #9db8ff73}:root[data-theme=abjurer] .ability-mod:before{content:"";z-index:-1;background:var(--ink-4);transition:transform .6s var(--ease);position:absolute;inset:0;transform:rotate(45deg);box-shadow:inset 0 0 0 1px #9db8ff73}:root[data-theme=abjurer] .ability-mod{isolation:isolate}:root[data-theme=abjurer] .ability-mod:after{content:"";pointer-events:none;background:var(--ruler);opacity:.25;transition:opacity .4s var(--ease);position:absolute;inset:-12px}:root[data-theme=abjurer] .ability:focus-within .ability-mod:before{box-shadow:inset 0 0 0 1px var(--gold), 0 0 14px var(--glow);animation:ward-step 4s var(--ease) infinite}:root[data-theme=abjurer] .ability:focus-within .ability-mod:after{opacity:.7}@keyframes ward-step{0%,20%{transform:rotate(45deg)}25%,45%{transform:rotate(135deg)}50%,70%{transform:rotate(225deg)}75%,95%{transform:rotate(315deg)}to{transform:rotate(405deg)}}:root[data-theme=abjurer] .ability-save output{color:var(--parch)}:root[data-theme=abjurer] .skill{border-bottom:1px solid var(--gold-line);transition:background .25s var(--ease)}@media (hover:hover){:root[data-theme=abjurer] .skill:hover{background:linear-gradient(90deg,#0000,#9db8ff12,#0000)}}:root[data-theme=abjurer] .prof-toggle{border-radius:0;position:relative}:root[data-theme=abjurer] .prof-gem{background:var(--well);width:13px;height:13px;box-shadow:inset 0 0 0 1.5px var(--gold-dim);border:0;border-radius:0}:root[data-theme=abjurer] .prof-gem:after{display:none}:root[data-theme=abjurer] .prof-toggle:hover .prof-gem{box-shadow:inset 0 0 0 1.5px var(--gold)}:root[data-theme=abjurer] .prof-toggle[data-level=proficient] .prof-gem,:root[data-theme=abjurer] .prof-toggle[data-level=expertise] .prof-gem{background:var(--gold);box-shadow:inset 0 0 0 3px var(--well), inset 0 0 0 4.5px var(--gold), 0 0 10px var(--glow);animation:ward-pop .45s var(--ease)}:root[data-theme=abjurer] .prof-toggle[data-level=expertise]:after{content:"";pointer-events:none;box-shadow:inset 0 0 0 1px var(--gold), 0 0 8px var(--glow);position:absolute;inset:7px}:root[data-theme=abjurer] .skill-value{color:var(--gold);text-shadow:0 0 10px var(--glow)}:root[data-theme=abjurer] .hp-bar{background:var(--well);border-color:#0000;border-radius:0;position:relative;box-shadow:inset 0 1px 3px #0006}:root[data-theme=abjurer] .hp-bar:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 1px),#0a09168c calc(10% - 1px) 10%);position:absolute;inset:0}:root[data-theme=abjurer] .hp-fill{background-image:linear-gradient(90deg,#0a091680,#0a091600 70%)}:root[data-theme=abjurer] .hp-trail{background:#d6e2ff8c}:root[data-theme=abjurer] .hp-temp{background:linear-gradient(90deg, #6d8de0, var(--gold-bright));box-shadow:0 0 10px var(--glow)}:root[data-theme=abjurer] .list-item{background:var(--ink-2);border-color:#0000}:root[data-theme=abjurer] .list-summary strong{font-family:var(--font-display)}:root[data-theme=abjurer] .list-summary span{color:var(--gold)}:root[data-theme=abjurer] .slot-row{border-bottom-color:var(--gold-line);border-bottom-style:solid}:root[data-theme=abjurer] .slot-level,:root[data-theme=abjurer] details summary:before{color:var(--gold)}:root[data-theme=abjurer] .warning{color:var(--warning);background:#e8c27a14;border-color:#0000}:root[data-theme=abjurer] .message{background:var(--ink-2);border-color:#0000;border-left-color:var(--gold)}:root[data-theme=abjurer] .logo{filter:drop-shadow(0 0 12px var(--glow))}:root[data-theme=abjurer] .page-header{isolation:isolate;margin-bottom:30px;padding-top:111px;position:relative}:root[data-theme=abjurer] .page-header:before,:root[data-theme=abjurer] .page-header:after{content:"";z-index:-1;pointer-events:none;will-change:transform;position:absolute;left:50%}:root[data-theme=abjurer] .page-header:before{opacity:.5;filter:drop-shadow(0 0 10px #8caaff8c);background:url(./sigil-DGwTfuUk.svg) 50%/contain no-repeat;width:300px;height:300px;margin-left:-150px;animation:120s linear infinite ward-spin;top:-12px}:root[data-theme=abjurer] .page-header:after{opacity:.9;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-50%20-50%20100%20100'%20fill='none'%20stroke='%239db8ff'%20stroke-opacity='0.3'%20stroke-width='1.2'%3e%3crect%20x='-33'%20y='-33'%20width='66'%20height='66'/%3e%3cpath%20d='M0%20-46.7L46.7%200L0%2046.7L-46.7%200Z'/%3e%3crect%20x='-16.5'%20y='-16.5'%20width='33'%20height='33'%20stroke-dasharray='2%203'/%3e%3c/svg%3e") 50%/contain no-repeat;width:160px;height:160px;margin-left:-80px;animation:60s linear infinite reverse ward-spin;top:58px}:root[data-theme=abjurer] .monogram{font-family:var(--font-display);color:var(--gold);background:radial-gradient(circle, #34325a 30%, var(--ink-4) 80%);box-shadow:0 0 16px var(--glow), inset 0 0 0 1px #9db8ff73;text-shadow:0 0 10px var(--glow);border-color:#0000;border-radius:0;position:relative}:root[data-theme=abjurer] .monogram:after{content:"";background:var(--ruler);opacity:.4;transition:opacity .4s var(--ease), inset .4s var(--ease);position:absolute;inset:-7px}:root[data-theme=abjurer] .character-row:hover .monogram:after{opacity:.9;inset:-4px}:root[data-theme=abjurer] .sheet-header{background:var(--ink);border-bottom-color:#0000;box-shadow:0 6px 20px #08071459}:root[data-theme=abjurer] .sheet-header:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#9db8ff80,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}:root[data-theme=abjurer] .sheet-title{text-shadow:none}:root[data-theme=abjurer] .tabbar{background:#201f35fa;border-top-color:#0000;box-shadow:0 -6px 20px #08071459}:root[data-theme=abjurer] .tab[aria-selected=true] svg{filter:drop-shadow(0 0 6px var(--glow))}:root[data-theme=abjurer] .tab[aria-selected=true]:before{background:var(--gold);width:30px;height:3px;box-shadow:0 0 14px 3px var(--glow);top:-1px;left:50%;right:auto;transform:translate(-50%)}:root[data-theme=abjurer] .tab[aria-selected=true]:after{content:"";pointer-events:none;--b:#9db8ff99;background:linear-gradient(var(--b), var(--b)) left top / 6px 1.5px no-repeat, linear-gradient(var(--b), var(--b)) left top / 1.5px 100% no-repeat, linear-gradient(var(--b), var(--b)) left bottom / 6px 1.5px no-repeat, linear-gradient(var(--b), var(--b)) right top / 6px 1.5px no-repeat, linear-gradient(var(--b), var(--b)) right top / 1.5px 100% no-repeat, linear-gradient(var(--b), var(--b)) right bottom / 6px 1.5px no-repeat;position:absolute;inset:9px 6px}:root[data-theme=abjurer] .modal-backdrop{background:#0a0916b3}:root[data-theme=abjurer] .modal{background:var(--ink-3)}:root[data-theme=abjurer] .app-footer{background:var(--ink-2);border-top-color:#0000}@media (width>=1024px){:root[data-theme=abjurer] .sheet[data-layout=desktop] .tabbar{border-bottom-color:#0000;box-shadow:0 6px 20px #08071459}:root[data-theme=abjurer] .sheet[data-layout=desktop] .tab[aria-selected=true]:before{inset:auto auto -1px 50%}}
