:root,[data-theme=classic]{--panel-line-strong:#5a4c3a;--page-bg:radial-gradient(1200px 500px at 70% -10%,#2a2117 0%,#14110e 60%);--page-base:#14110e;--page-text:#efe6d4;--page-soft:#cdbfa6;--page-muted:#a8997f;--line:#3a3127;--line-strong:#5a4c3a;--nav-bg:#0f0d0a;--panel-bg:#1d1914;--panel-text:#efe6d4;--panel-soft:#cdbfa6;--panel-muted:#a8997f;--panel-line:#3a3127;--panel-shadow:none;--field:#14110e;--track:#2c251d;--inset:#241e17;--panel-field:#14110e;--panel-track:#2c251d;--panel-inset:#241e17;--font-display:Cinzel,Georgia,serif;--font-heading:Cinzel,Georgia,serif;--font-body:Inter,system-ui,-apple-system,sans-serif;--display-spacing:.12em;--radius-panel:14px;--radius-control:8px;--secondary:#6fc2b4;--on-secondary:#0e1f1c;--secret-bg:#17201e;--accent:#e0b054;--on-accent:#141010;--accent-text:#e0b054;--accent-ink:#e0b054;--accent-tint:color-mix(in srgb,#e0b054 16%,transparent);--danger:#e2735f;--danger-bg:#3a1d17;--danger-text:#f7c9bc;--ok-bg:#1f3531;--ok-text:#bfe9e1;--warn-bg:#3a2f1c;--warn-text:#f0cb7e}[data-theme=gothic]{--panel-line-strong:#5a4f49;--page-bg:radial-gradient(ellipse 1100px 520px at 50% -12%,#2b1414 0%,#0b0a0a 62%);--page-base:#0b0a0a;--page-text:#e8e0d0;--page-soft:#c9bfb2;--page-muted:#a79d92;--line:#3b3532;--line-strong:#5a504b;--nav-bg:#080707;--panel-bg:#131111;--panel-text:#e8e0d0;--panel-soft:#c9bfb2;--panel-muted:#a79d92;--panel-line:#3b3532;--panel-shadow:inset 0 0 0 4px #131111,inset 0 0 0 5px #2a2422;--field:#0e0c0c;--track:#241f1e;--inset:#1a1716;--panel-field:#0e0c0c;--panel-track:#241f1e;--panel-inset:#1a1716;--font-display:UnifrakturMaguntia,Georgia,serif;--font-heading:"Cormorant Garamond",Georgia,serif;--font-body:"Crimson Pro",Georgia,serif;--display-spacing:.02em;--radius-panel:0px;--radius-control:0px;--secondary:#a79d92;--on-secondary:#141010;--secret-bg:#1c1313}[data-theme=eldritch]{--panel-line-strong:#4a3f70;--page-bg:radial-gradient(900px 600px at 50% 0%,#241a3d 0%,#0a0812 65%);--page-base:#0a0812;--page-text:#e6e0f5;--page-soft:#c7bee3;--page-muted:#a69dc4;--line:#2e2745;--line-strong:#4a3f6e;--nav-bg:#07060d;--panel-bg:rgba(22,18,34,.9);--panel-text:#e6e0f5;--panel-soft:#c7bee3;--panel-muted:#a69dc4;--panel-line:#2e2745;--panel-shadow:0 0 40px rgba(80,60,140,.18);--field:#120e1e;--track:#1e1830;--inset:#1a1530;--panel-field:#120e1e;--panel-track:#1e1830;--panel-inset:#1a1530;--font-display:"Cinzel Decorative",Cinzel,serif;--font-heading:Cinzel,serif;--font-body:"Alegreya Sans",system-ui,sans-serif;--display-spacing:.06em;--radius-panel:22px;--radius-control:999px;--secondary:#8a6fd1;--on-secondary:#fff;--secret-bg:#181232}[data-theme=cursed]{--panel-line-strong:#2b1a0e;--page-bg:radial-gradient(700px 400px at 15% 105%,#3a1a0a 0%,transparent 70%),#0d0906;--page-base:#0d0906;--page-text:#ebd9b4;--page-soft:#d2bd96;--page-muted:#b99e7a;--line:#3a2414;--line-strong:#6b4a30;--nav-bg:#090604;--panel-bg:radial-gradient(circle at 85% 10%,rgba(120,70,20,.22),transparent 40%),#dcc9a3;--panel-text:#2b1a0e;--panel-soft:#4a3423;--panel-muted:#5c4330;--panel-line:#8a6e52;--panel-shadow:inset 0 0 50px rgba(70,35,10,.55),0 10px 30px rgba(0,0,0,.6);--field:#170f09;--track:#2a1a0e;--inset:#1c120a;--panel-field:rgba(255,245,220,.4);--panel-track:#c4ad84;--panel-inset:rgba(90,55,25,.14);--font-display:"IM Fell English",Georgia,serif;--font-heading:"IM Fell English SC",Georgia,serif;--font-body:Spectral,Georgia,serif;--display-spacing:.04em;--radius-panel:2px;--radius-control:0px;--secondary:#5c4330;--on-secondary:#ebd9b4;--secret-bg:rgba(90,55,25,.2)}*,:after,:before{box-sizing:border-box}html{background:var(--page-base);color-scheme:dark}body{background:var(--page-bg);background-attachment:fixed;background-color:var(--page-base);color:var(--page-text);font-family:var(--font-body);font-size:16px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}body,h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--font-heading);font-weight:600;line-height:1.2}a{color:var(--accent-text)}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}.sr-only{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0 0 0 0);white-space:nowrap}.page{display:flex;flex-direction:column;gap:40px;margin:0 auto;max-width:1240px;padding:40px clamp(16px,4vw,48px) 64px;width:100%}.page--narrow{max-width:880px}.page-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.page-head h1{font-size:clamp(30px,4vw,42px);letter-spacing:.02em}.page-head p{color:var(--page-soft);margin-top:8px;max-width:62ch}.section{display:flex;flex-direction:column;gap:18px}.section-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.section-head h2{font-size:22px}.muted{color:var(--page-muted)}.small{font-size:14px}.row{align-items:center;flex-wrap:wrap;gap:12px}.row,.stack{display:flex}.stack{flex-direction:column;gap:16px}.grow{flex:1 1 0;min-width:0}.panel{background:var(--panel-bg);border:1px solid var(--panel-line);border-radius:var(--radius-panel);box-shadow:var(--panel-shadow);color:var(--panel-text);padding:24px;--page-text:var(--panel-text);--page-soft:var(--panel-soft);--page-muted:var(--panel-muted);--line:var(--panel-line);--line-strong:var(--panel-line-strong);--field:var(--panel-field);--track:var(--panel-track);--inset:var(--panel-inset);--accent-text:var(--accent-ink)}.panel h2,.panel h3{font-size:18px}.panel--flush{overflow:hidden;padding:0}.panel-title{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;margin-bottom:16px}.eyebrow{color:var(--page-muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.btn{align-items:center;background:var(--accent);border:1px solid transparent;border-radius:var(--radius-control);color:var(--on-accent);display:inline-flex;font-size:15px;font-weight:600;gap:10px;justify-content:center;min-height:44px;padding:0 20px;text-decoration:none;transition:filter .15s ease,background .15s ease;white-space:nowrap}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn--ghost{background:transparent;border-color:var(--line-strong);color:var(--page-text)}.btn--ghost:hover:not(:disabled){background:var(--accent-tint);filter:none}.btn--quiet{background:transparent;color:var(--accent-text);padding:0 12px}.btn--quiet:hover:not(:disabled){background:var(--accent-tint);filter:none}.btn--danger{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger-text)}.btn--sm{font-size:14px;min-height:36px;padding:0 14px}.btn--block{width:100%}.btn--icon{font-size:20px;padding:0;width:44px}.field{display:flex;flex-direction:column;gap:6px}.field>.label,.field>label{font-weight:600;letter-spacing:.04em}.field .hint,.field>.label,.field>label{color:var(--page-muted);font-size:13px}.field .error{color:var(--danger);font-size:13px}.input{background:var(--field);border:1px solid var(--line);border-radius:min(var(--radius-control),12px);color:var(--page-text);min-height:44px;padding:10px 14px;width:100%}.input::-moz-placeholder{color:var(--page-muted);opacity:.8}.input::placeholder{color:var(--page-muted);opacity:.8}.input:focus-visible{border-color:var(--accent-text);outline-offset:0}textarea.input{line-height:1.5;min-height:120px;resize:vertical}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:36px}.notice{background:var(--warn-bg);border-radius:min(var(--radius-control),12px);color:var(--warn-text);font-size:14px;padding:12px 16px}.notice--error{background:var(--danger-bg);color:var(--danger-text)}.notice--ok{background:var(--ok-bg);color:var(--ok-text)}.notice strong{display:block;font-size:15px;margin-bottom:2px}.badge{align-items:center;border-radius:999px;display:inline-flex;font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;padding:4px 8px;white-space:nowrap}.badge--dnd5e{background:#e0b054;color:#1a140b}.badge--pf2e{background:#6fc2b4;color:#0e1f1c}.badge--nimble{background:#14110e;box-shadow:inset 0 0 0 1px #8a7b63;color:#efe6d4}.badge--any{background:#27211a;box-shadow:inset 0 0 0 1px #3a3127;color:#cdbfa6}.badge--active{background:var(--ok-bg);color:var(--ok-text)}.badge--restricted{background:var(--warn-bg);color:var(--warn-text)}.badge--suspended{background:var(--danger-bg);color:var(--danger-text)}.badge--accent{background:var(--accent);color:var(--on-accent)}.badge--outline{background:transparent;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--page-soft)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{align-items:center;background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--page-soft);display:inline-flex;font-size:14px;font-weight:500;gap:8px;min-height:36px;padding:0 14px}.chip.is-active,.chip[aria-pressed=true],.chip[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.tabs{border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px}.tabs button{background:none;border:0;color:var(--page-soft);font-weight:500;min-height:44px;padding:0 16px}.tabs button[aria-selected=true]{box-shadow:inset 0 -2px 0 var(--accent-text);color:var(--page-text);font-weight:600}.table-wrap{background:linear-gradient(90deg,var(--scroll-cover,transparent) 30%,transparent) 0/40px 100% no-repeat local,linear-gradient(270deg,var(--scroll-cover,transparent) 30%,transparent) 100%/40px 100% no-repeat local,linear-gradient(90deg,rgba(0,0,0,.45),transparent) 0/14px 100% no-repeat scroll,linear-gradient(270deg,rgba(0,0,0,.45),transparent) 100%/14px 100% no-repeat scroll;overflow-x:auto;position:relative}.table{border-collapse:collapse;font-size:15px;width:100%}.table th{color:var(--page-muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--line);padding:12px 16px}.table td{vertical-align:middle}.table tr:last-child td{border-bottom:0}.avatar{align-items:center;background:var(--line);border-radius:50%;color:var(--accent-text);display:inline-flex;flex:none;font-size:14px;font-weight:700;height:36px;justify-content:center;overflow:hidden;width:36px}.avatar img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.empty{border:1px dashed var(--line-strong);border-radius:var(--radius-panel);color:var(--page-muted);padding:28px 20px;text-align:center}.spinner{animation:spin .8s linear infinite;border:3px solid var(--line);border-radius:50%;border-top-color:var(--accent-text);height:28px;margin:40px auto;width:28px}@keyframes spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.tile{background:var(--field);border:1px solid var(--line);border-radius:min(var(--radius-panel),10px);display:flex;flex-direction:column;gap:4px;padding:12px 14px}.tile__label{color:var(--page-muted);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.tile__value{font-size:22px;font-weight:700}.caps{color:var(--page-muted);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.step{background:var(--panel-bg);border:1px solid var(--line);border-radius:min(var(--radius-control),8px);color:var(--page-text);flex:none;font-size:20px;font-weight:600;height:44px;line-height:1;width:44px}.meter{background:var(--track);border-radius:min(var(--radius-control),4px);height:8px;overflow:hidden}.meter>span{background:var(--secondary);display:block;height:100%;transition:width .2s ease}.meter--accent>span{background:var(--accent)}.meter--thin{height:6px}.roll-status{align-self:flex-start;background:var(--ok-bg);border-radius:min(var(--radius-control),8px);color:var(--ok-text);font-size:14px;font-weight:600;padding:10px 14px}.dmg{background:var(--accent-tint);border:1px solid var(--line-strong);border-radius:6px;color:var(--accent-text);display:inline-block;font-variant-numeric:tabular-nums;font-weight:700;padding:4px 10px}.list-row{border-bottom:1px solid var(--track);display:flex;font-size:15px;gap:12px;justify-content:space-between;padding:12px 0}.pip{background:transparent;border:2px solid var(--line-strong);border-radius:50%;height:32px;padding:0;width:32px}.pip[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}.pip--secondary[aria-pressed=true]{background:var(--secondary);border-color:var(--secondary)}.btn-dashed{align-items:center;background:transparent;border:1px dashed var(--line-strong);border-radius:var(--radius-control);color:var(--page-text);display:inline-flex;font-size:14px;font-weight:600;gap:8px;min-height:44px;padding:0 16px}@media(pointer:coarse){.btn--sm,.chip{min-height:44px}.step,.step.step--sm{height:44px;width:44px}.pip{position:relative}.pip:after{content:"";top:-6px;right:-6px;bottom:-6px;left:-6px;position:absolute}}.toast-host[data-v-c489ebe2]{bottom:24px;display:flex;justify-content:center;left:0;padding:0 16px;pointer-events:none;position:fixed;right:0;z-index:200}.toast[data-v-c489ebe2]{align-items:center;background:var(--ok-bg);border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:10px;box-shadow:0 12px 32px #00000080;color:var(--ok-text);display:flex;font-size:15px;gap:12px;max-width:560px;padding:12px 12px 12px 18px;pointer-events:auto}.toast--error[data-v-c489ebe2]{background:var(--danger-bg);color:var(--danger-text)}.toast--info[data-v-c489ebe2]{background:var(--warn-bg);color:var(--warn-text)}.toast button[data-v-c489ebe2]{background:none;border:0;border-radius:6px;flex:none;font-size:20px;height:32px;line-height:1;width:32px}.toast-enter-active[data-v-c489ebe2],.toast-leave-active[data-v-c489ebe2]{transition:opacity .2s ease,transform .2s ease}.toast-enter-from[data-v-c489ebe2],.toast-leave-to[data-v-c489ebe2]{opacity:0;transform:translateY(8px)}
