:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f1ea;--surface:#fffdf8;--surface-2:#efe9dd;--text:#1d1b18;--muted:#6b645a;--border:#d8cfbf;--accent:#8f5410;--accent-contrast:#fff;--accent-soft:#f3e2c7;--danger:#a3271f;--ok:#2f6b2f;--on-status:#fff;--warn-bg:#fff1d6;--warn-border:#d99a2b;--error-bg:#fde4e1;--focus:#1f5fbf;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #0000000f, 0 2px 8px #0000000d;--tap:44px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bottom-nav-h:64px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#15171d;--surface:#1e2129;--surface-2:#272b35;--text:#ece7de;--muted:#a59d90;--border:#353a46;--accent:#e0a458;--accent-contrast:#1b1407;--accent-soft:#3a2e1c;--danger:#f0776c;--ok:#7fc37f;--on-status:#1b1407;--warn-bg:#3a2f17;--warn-border:#c58b26;--error-bg:#3d1f1d;--focus:#8ab4ff;--shadow:0 1px 2px #0006}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.45}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.05rem}h3{margin:.75rem 0 .35rem;font-size:.95rem}p{margin:.35rem 0}a{color:var(--accent)}ul{padding-left:1.1rem}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.muted{color:var(--muted)}.small{font-size:.85rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--surface);padding:.5rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:.5rem;left:.5rem}.btn{min-height:var(--tap);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:0 1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--ghost{color:var(--text);border-color:var(--border);background:0 0}.btn--danger{background:var(--danger);border-color:var(--danger);color:var(--on-status)}.btn--ok{background:var(--ok);border-color:var(--ok);color:var(--on-status)}.btn--small{min-height:36px;padding:0 .7rem;font-size:.9rem}.btn--round{width:var(--tap);border-radius:50%;padding:0;font-size:1.4rem}.btn--wide{width:100%;margin-top:.75rem}.icon-btn{width:var(--tap);height:var(--tap);color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.field{flex:12rem;gap:.25rem;margin:.4rem 0;display:grid}.field>span:first-child{color:var(--muted);font-size:.85rem}.field--narrow{flex:0 8rem}.input{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;padding:0 .7rem}.input--number{max-width:7rem}.check{min-height:var(--tap);align-items:center;gap:.5rem;display:inline-flex}.check input{width:20px;height:20px;accent-color:var(--accent)}.radios{border:0;margin:0;padding:0;display:grid}.row{align-items:center;gap:.5rem;margin:.4rem 0;display:flex}.row--wrap{flex-wrap:wrap;align-items:flex-end}.tag{background:var(--surface-2);border-radius:999px;padding:.05rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.tag--manual{background:var(--accent-soft);color:var(--accent)}.tag--warn{background:var(--warn-bg);border:1px solid var(--warn-border)}.callout{border-radius:var(--radius-sm);border:1px solid var(--border);margin:.5rem 0;padding:.6rem .8rem}.callout--warn{background:var(--warn-bg);border-color:var(--warn-border)}.callout--error{background:var(--error-bg);border-color:var(--danger)}.switch-row{padding:.25rem 0}.switch{width:100%;min-height:var(--tap);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.6rem;padding:0;display:flex}.switch__track{background:var(--border);border-radius:999px;flex:none;width:44px;height:26px;transition:background .15s;position:relative}.switch__thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch[aria-checked=true] .switch__track{background:var(--accent)}.switch[aria-checked=true] .switch__thumb{transform:translate(18px)}.switch__label{flex:1;font-weight:600}.switch__state{color:var(--muted);font-size:.8rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:.9rem 1rem 1rem}.panel__header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.stack{gap:.75rem;display:grid}.stat{width:100%;min-height:var(--tap);border-radius:var(--radius-sm);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:1fr auto;align-items:center;gap:0 .5rem;padding:.35rem .6rem;display:grid}.stat:hover{background:var(--surface-2)}.stat.is-selected{border-color:var(--accent);background:var(--accent-soft)}.stat__label{font-weight:600}.stat__value{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700}.stat__sub{color:var(--muted);grid-column:1/-1;font-size:.78rem}.stat__flags{flex-wrap:wrap;grid-column:1/-1;gap:.3rem;display:flex}.stat--ability,.stat--big{text-align:center;border-color:var(--border);background:var(--surface-2);grid-template-columns:1fr;justify-items:center;padding:.6rem .4rem}.stat--ability .stat__value,.stat--big .stat__value{font-size:1.6rem}.stat--inline{width:auto;min-height:32px;padding:0 .4rem;display:inline-grid}.abilities{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.stat-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.stat-row{margin-top:.5rem}.list-stats{margin:0;padding:0;list-style:none;display:grid}.list-stats li+li{border-top:1px solid var(--border)}.hp__value{font-variant-numeric:tabular-nums;margin:0;font-size:2rem;font-weight:700}.hp__max,.hp__temp{color:var(--muted);font-size:1.1rem;font-weight:600}.hp__bar{background:var(--surface-2);border-radius:999px;height:10px;margin:.4rem 0 .6rem;overflow:hidden}.hp__bar span{background:var(--ok);height:100%;display:block}.resources{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.resources__head{justify-content:space-between;display:flex}.pips{flex-wrap:wrap;gap:4px;margin:.3rem 0;display:flex}.pip{border:2px solid var(--accent);border-radius:50%;width:14px;height:14px}.pip.is-full{background:var(--accent)}.features,.inventory,.warnings{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.feature,.inventory li{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem}.feature__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.feature h3{margin:0}.warnings li{background:var(--warn-bg);border-radius:var(--radius-sm);padding:.4rem .6rem}.slots{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.slots th,.slots td{border:1px solid var(--border);text-align:center;padding:.35rem}.ability-inputs{flex-wrap:wrap;gap:0 .75rem;display:flex}.level{text-align:center;min-width:5.5rem;font-weight:700}.detail__header{border-bottom:1px solid var(--border);margin-bottom:.5rem;padding-bottom:.5rem}.detail__value{margin:.2rem 0;font-size:2.2rem;font-weight:800}.sources{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.sources li{border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:auto 1fr auto;align-items:center;gap:.1rem .5rem;padding:.4rem .6rem;display:grid}.sources li.is-ignored{opacity:.7;border:1px dashed var(--border);background:0 0}.sources li.is-ignored .sources__amount{text-decoration:line-through}.sources__kind{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem}.sources__amount{font-variant-numeric:tabular-nums;font-weight:700}.sources__status{color:var(--muted);grid-column:1/-1;font-size:.8rem}.cards{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;box-shadow:var(--shadow);gap:.25rem;padding:1rem;text-decoration:none;display:grid}.card:hover{border-color:var(--accent)}.card-item{position:relative}.card-item>.card{padding-right:calc(var(--tap) + .5rem)}.card-item__menu{font-size:1.3rem;position:absolute;top:.4rem;right:.4rem}.card-item__actions{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:.4rem;padding:.6rem}.card__title{font-size:1.1rem}.card__stats{font-variant-numeric:tabular-nums;gap:.75rem;display:flex}.empty{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);margin-top:1rem;padding:2rem 1rem}.preview{grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));gap:.5rem;margin:0;display:grid}.preview div{background:var(--surface-2);border-radius:var(--radius-sm);padding:.4rem .6rem}.preview dt{color:var(--muted);font-size:.8rem}.preview dd{margin:0;font-size:1.3rem;font-weight:700}.sync-badge{color:var(--muted);align-items:center;gap:.4rem;margin:0;font-size:.8rem;display:inline-flex}.sync-badge__dot{background:var(--ok);border-radius:50%;flex:none;width:9px;height:9px}.sync-badge.is-offline .sync-badge__dot{background:var(--warn-border)}.page{max-width:1400px;padding:1rem}.page__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.page__title{margin-bottom:.75rem;font-size:1.15rem}.shell--mobile .topbar{z-index:10;min-height:56px;padding:0 .5rem;padding-top:env(safe-area-inset-top);background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:.25rem;display:flex;position:sticky;top:0}.topbar__title{white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0 .25rem;font-weight:700;overflow:hidden}.shell--mobile.has-bottom-nav .shell__main{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom) + 1rem)}.page--mobile{padding:.75rem}.bottom-nav{z-index:20;height:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav__item{color:var(--muted);align-content:center;place-items:center;gap:2px;font-size:.72rem;font-weight:600;text-decoration:none;display:grid}.bottom-nav__item.active{color:var(--accent)}.bottom-nav__item.active svg{stroke-width:2.4px}.sheet-overlay{z-index:50;background:#00000073;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-height:88vh;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;position:relative;overflow:auto}.sheet__close{position:absolute;top:.5rem;right:.5rem}.shell--desktop{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.shell--desktop.is-compact{grid-template-columns:88px minmax(0,1fr)}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:1rem;height:100vh;padding:1rem .75rem;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar__brand{align-items:center;gap:.5rem;margin:0 .25rem;font-weight:800;display:flex}.sidebar__nav{gap:2px;display:grid}.sidebar__heading{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:.25rem .5rem;font-size:.75rem;font-weight:700;overflow:hidden}.sidebar__item{border-radius:var(--radius-sm);min-height:40px;color:var(--text);align-items:center;gap:.6rem;padding:0 .6rem;font-weight:600;text-decoration:none;display:flex}.sidebar__item:hover{background:var(--surface-2)}.sidebar__item.active{background:var(--accent-soft);color:var(--accent)}.sidebar__footer{margin-top:auto}.shell--desktop.is-compact .sidebar__brand span,.shell--desktop.is-compact .sidebar__heading{display:none}.shell--desktop.is-compact .sidebar__item{text-align:center;flex-direction:column;justify-content:center;gap:2px;min-height:56px;font-size:.68rem}.shell--desktop.is-compact .sidebar__nav--character{border-top:1px solid var(--border);padding-top:.5rem}.workspace{grid-template-columns:minmax(0,1fr);min-height:100vh;display:grid}.workspace.has-aside{grid-template-columns:minmax(0,1fr) 380px}.workspace__main{min-width:0;padding:1.25rem 1.5rem}.context-panel{background:var(--surface);border-left:1px solid var(--border);align-content:start;gap:.75rem;height:100vh;padding:1.25rem 1rem;display:grid;position:sticky;top:0;overflow-y:auto}.context-panel__close{justify-self:end;margin-bottom:-.5rem}.workspace.is-tablet.has-aside{grid-template-columns:minmax(0,1fr)}.workspace.is-tablet .context-panel{z-index:30;width:min(380px,85vw);position:fixed;top:0;right:0;box-shadow:-8px 0 24px #0003}.sections-grid{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));align-items:start;gap:1rem;display:grid}.sections-grid--single{grid-template-columns:minmax(0,60rem)}@media (width>=1200px){.sections-grid--fiche{grid-template-columns:repeat(3,minmax(0,1fr))}.sections-grid--fiche>.panel:nth-child(2){grid-row:span 2}}.create-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));align-items:start;gap:1rem;display:grid}.panel--preview{position:sticky;top:1rem}.editor-grid{grid-template-columns:minmax(0,1fr) minmax(300px,400px);align-items:start;gap:1rem;display:grid}.editor-grid__aside{max-height:calc(100vh - 2rem);position:sticky;top:1rem;overflow-y:auto}.input--area{resize:vertical;min-height:6rem;padding:.5rem .7rem}.field.has-issue .input{border-color:var(--warn-border)}.field-issues{gap:.2rem;margin:.25rem 0;padding:0;font-size:.82rem;list-style:none;display:grid}.field-issues .is-error{color:var(--danger)}.field-issues code{font-size:.75rem}.effects-editor__list,.value-editor__args{gap:.6rem;margin:.4rem 0;padding:0;list-style:none;display:grid}.effect-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:.6rem .75rem}.effect-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.effect-card__actions{gap:.25rem;display:flex}.value-editor{border-left:3px solid var(--accent-soft);margin:.4rem 0;padding-left:.6rem}.value-editor.is-nested{border-left-color:var(--border)}.value-editor__formula{background:var(--surface-2);border-radius:var(--radius-sm);padding:.3rem .5rem}.value-editor__kind{max-width:16rem}.preview-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.preview-table th,.preview-table td{border-bottom:1px solid var(--border);text-align:left;padding:.3rem}.library-item{color:inherit;gap:.15rem;text-decoration:none;display:grid}@media (width<=1199px){.editor-grid{grid-template-columns:minmax(0,1fr)}.editor-grid__aside{max-height:none;position:static}}.progression-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.progression-table{border-collapse:collapse;width:100%;font-size:.88rem}.progression-table th,.progression-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.25rem .35rem}.progression-table tr.is-selected{background:var(--accent-soft)}.level-detail{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface);padding:.6rem .75rem}.level-detail h4{margin:.8rem 0 .3rem}.level-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.level-list__item{width:100%;min-height:var(--tap);text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:inherit;font:inherit;cursor:pointer;padding:.4rem .6rem;display:grid}.level-list__item.is-selected{border-color:var(--accent);background:var(--accent-soft)}.slots-editor{flex-wrap:wrap;gap:0 .4rem;display:flex}.slots-editor .field--narrow{flex:0 0 4.5rem}.feature-ref__name{flex:1;font-weight:600}@media (width<=1199px){.progression-grid{grid-template-columns:minmax(0,1fr)}}.attribution blockquote{border-left:3px solid var(--accent);background:var(--surface-2);border-radius:var(--radius-sm);overflow-wrap:anywhere;margin:.4rem 0;padding:.5rem .75rem}.attacks,.slots-list,.spells,.choices{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.attack,.spell,.choice{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem}.attack__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.attack__stats{grid-template-columns:repeat(2,1fr);gap:.5rem;margin:.4rem 0;display:grid}.spell h3,.choice h3{margin:0}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.row--between{justify-content:space-between}.segmented{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.segmented .btn{background:var(--surface);color:var(--text);border:0;border-radius:0}.segmented .btn[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast)}.stepper{gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex;overflow-x:auto}.stepper__step{min-height:var(--tap);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .8rem;display:inline-flex}.stepper__step[aria-current=step]{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.stepper__number{background:var(--surface-2);border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;font-size:.85em;display:inline-grid}.stepper__step[aria-current=step] .stepper__number{background:var(--accent);color:var(--accent-contrast)}.summary div{gap:.5rem;padding:.2rem 0;display:flex}.summary dt{min-width:7rem;color:var(--muted)}.summary dd{margin:0}.spell-results{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.spell-results li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.4rem;padding:.25rem 0;display:flex}.spell-details{border-left:3px solid var(--accent-soft);background:var(--surface-2);border-radius:var(--radius-sm);flex-basis:100%;padding:.5rem .75rem}.spell-text{white-space:pre-line;line-height:1.5}.updates{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.update{border-bottom:1px solid var(--border);padding-bottom:.75rem}.update h4{margin:.75rem 0 .25rem}.temp-effects{margin:0 0 var(--space-2,.5rem);gap:.5rem;padding:0;list-style:none;display:grid}.temp-effects__form{gap:.5rem;margin-block:.5rem;display:grid}.future-levels{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.future-levels ul{margin:.25rem 0 0;padding-left:1.25rem}.campaign__sections{flex-wrap:wrap;margin-block:.75rem}.hub-items{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.hub-item{border:1px solid var(--border,#ccc);border-radius:.5rem;padding:.75rem}.hub-item.is-archived{opacity:.7}.hub-item__body{white-space:pre-wrap}.hub-editor{gap:.5rem;display:grid}.dashboard{gap:.75rem;display:grid;container:dashboard/inline-size}.dashboard__top{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}@container dashboard (width>=960px){.dashboard__top{grid-template-columns:minmax(0,1.25fr) minmax(20rem,1fr);align-items:start}}.dashboard__combat{align-content:start;gap:.75rem;display:grid}.dashboard__body{grid-template-columns:minmax(0,1fr);align-items:start;gap:.75rem;display:grid}@container dashboard (width>=860px){.dashboard__body:has(>.dashboard__side){grid-template-columns:minmax(0,2fr) minmax(16rem,1fr)}}.dashboard__side{gap:.75rem;display:grid}.dashboard .panel{padding:.75rem .9rem .85rem}.vitals{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;gap:.4rem;padding:.6rem;display:grid}.stat--vital{text-align:center;border-color:var(--border);background:var(--surface-2);grid-template-columns:1fr;align-content:center;justify-items:center;min-height:4.6rem;padding:.45rem .3rem .4rem}.stat--vital .stat__label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);order:2;font-size:.72rem;font-weight:600}.stat--vital .stat__value{order:1;font-size:1.45rem;line-height:1.1}.stat--vital .stat__sub{order:3;font-size:.7rem}.stat--vital-ac{border-color:var(--accent);background:var(--accent-soft)}.stat--vital-ac .stat__value{font-size:1.75rem}.vitals__note{grid-column:1/-1;justify-self:start;margin:0}.ability-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;display:grid}.ability-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;overflow:hidden}.ability-card .stat--ability{background:0 0;border:0;border-radius:0;padding:.5rem .3rem .35rem}.ability-card .stat--ability .stat__label{letter-spacing:.06em;color:var(--muted);font-size:.78rem}.ability-card .stat--ability .stat__value{font-size:1.7rem;line-height:1.1}.stat--save{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"marker label value";min-height:36px;padding:.2rem .5rem;font-size:.8rem}.stat--save .stat__label{color:var(--muted);grid-area:label;font-weight:500}.stat--save .stat__value{grid-area:value;font-size:.95rem}.stat--save .stat__sub{display:none}.stat__marker{color:var(--accent);text-align:center;grid-area:marker;width:1em;font-size:.8rem}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));column-gap:1rem;margin:0;padding:0;list-style:none;display:grid}.skills-grid li{border-bottom:1px solid var(--border)}.stat--skill{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"marker label sub value";gap:0 .45rem;min-height:36px;padding:.15rem .4rem}.stat--skill .stat__label{white-space:nowrap;text-overflow:ellipsis;grid-area:label;font-weight:500;overflow:hidden}.stat--skill .stat__sub{text-transform:uppercase;grid-area:sub/auto;font-size:.7rem}.stat--skill .stat__value{text-align:right;grid-area:value;min-width:2.2em;font-size:1rem}.stat--skill .stat__flags,.stat--save .stat__flags{grid-column:1/-1}.skills-legend{margin:.4rem 0 0}.hp__head{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.hp__max-detail{margin-left:auto;font-size:.8rem}.hp__temp-tag{background:var(--accent-soft);font-weight:700}.hp__bar.is-mid span{background:var(--warn-border)}.hp__bar.is-low span{background:var(--danger)}.hp__form{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:.4rem;display:grid}.hp__amount{grid-column:2/4;margin:0}.hp__amount .input{width:100%}.hp__form .btn--danger{min-height:var(--tap);grid-column:1/3}.hp__form .btn--ok{min-height:var(--tap);grid-column:3/5}.hp__secondary{margin-top:.4rem}.hp__hint{min-height:1.2em;margin:.3rem 0 0}.dashboard__hp .hp__value{font-size:1.8rem}.resources-compact{gap:.35rem;margin:0 0 .4rem;padding:0;list-style:none;display:grid}.resources-compact li{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;display:grid}.resources-compact__name{text-overflow:ellipsis;font-weight:600;overflow:hidden}.resources-compact__count{font-variant-numeric:tabular-nums;font-weight:700}.pending-choices{margin:0}@container dashboard (width<=719px){.ability-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.vitals{grid-template-columns:repeat(6,minmax(0,1fr))}.vitals>.stat--vital{grid-column:span 2}.vitals>.stat--vital:nth-of-type(n+4){grid-column:span 3}.stat--vital .stat__value{font-size:1.4rem}.stat--vital-ac .stat__value{font-size:1.7rem}}@container dashboard (width<=459px){.skills-grid{grid-template-columns:minmax(0,1fr)}}.stat--save .stat__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stat{transition:background-color .12s,border-color .12s}.stat:hover .stat__value,.stat:focus-visible .stat__value{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1px}.stat:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.stat--vital:hover,.stat--ability:hover,.stat--vital:focus-visible{border-color:var(--accent)}.hpbar{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:999px;height:2.25rem;margin:.35rem 0 .15rem;position:relative}.hpbar:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.hpbar__track{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;position:absolute;inset:.65rem 0;overflow:hidden}.hpbar__track>span{position:absolute;top:0;bottom:0}.hpbar__fill{background:var(--ok);left:0}.hpbar.is-mid .hpbar__fill{background:var(--warn-border)}.hpbar.is-low .hpbar__fill{background:var(--danger)}.hpbar__temp{background:var(--focus);opacity:.55}.hpbar__gain{background:repeating-linear-gradient(45deg, var(--ok), var(--ok) 4px, transparent 4px, transparent 8px);opacity:.7}.hpbar__loss{background:repeating-linear-gradient(45deg, var(--danger), var(--danger) 4px, transparent 4px, transparent 8px);opacity:.6}.hpbar__handle{background:var(--surface);border:2px solid var(--accent);width:1.15rem;height:1.15rem;box-shadow:var(--shadow);pointer-events:none;border-radius:50%;margin:-.575rem 0 0 -.575rem;transition:transform .1s;position:absolute;top:50%}.hpbar:hover .hpbar__handle,.hpbar.is-dragging .hpbar__handle,.hpbar:focus-visible .hpbar__handle{transform:scale(1.2)}.hpbar__bubble{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--on-status);border-radius:999px;padding:.05rem .4rem;font-size:.8rem;font-weight:700;position:absolute;bottom:calc(100% + .3rem);left:50%;transform:translate(-50%)}.hpbar__bubble.is-damage{background:var(--danger)}.hpbar__bubble.is-heal{background:var(--ok)}.inline-number__value{font:inherit;color:inherit;border-radius:var(--radius-sm);cursor:text;background:0 0;border:1px dashed #0000;padding:0 .2rem}.inline-number__value:hover,.inline-number__value:focus-visible{border-color:var(--border);background:var(--surface-2)}.inline-number__value:focus-visible{outline:2px solid var(--focus);outline-offset:1px}input.inline-number{width:4.5rem;font:inherit;min-height:0;padding:0 .3rem}.hp__value input.inline-number{font-size:1.6rem;font-weight:700}.hp__temp-chip{background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:.2rem;padding:0 .4rem;display:inline-flex}.hp__temp-chip.has-temp{background:var(--accent-soft);color:var(--text);font-weight:700}.hp__temp-value{min-width:1.5em;font-weight:700}.hp__actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.hp__actions .btn--danger,.hp__actions .btn--ok{min-width:5.5rem}.hp__actions .btn.is-suggested{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px currentColor}.hp__actions .hp__hint{flex:12rem;margin:0}.combat{gap:.75rem;display:grid;container:combat/inline-size}.combat .panel{padding:.7rem .85rem .8rem}.combat__status,.combat__main{grid-template-columns:minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.combat__state{align-content:start;gap:.5rem;display:grid}.combat__side{align-content:start;gap:.75rem;display:grid}@container combat (width>=900px){.combat__status{grid-template-columns:minmax(20rem,1fr) minmax(0,1.2fr)}.combat__main{grid-template-columns:minmax(0,2fr) minmax(17rem,1fr)}}.vitals--combat{grid-template-columns:repeat(auto-fit,minmax(6rem,1fr))}.tracker{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}section.tracker:not(.panel){background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .6rem}.tracker--turn{display:grid}.tracker__head{flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;display:flex}.tracker__head .btn{margin-left:auto}.tracker--concentration{border-color:var(--accent)!important;background:var(--accent-soft)!important}.tracker--concentration.has-check{border-color:var(--warn-border)!important;background:var(--warn-bg)!important}.tracker__check{width:100%}.tracker__check p{margin:0 0 .35rem}.tracker__move{align-items:center}.tracker-list{gap:.15rem;margin:0 0 .4rem;padding:0;list-style:none;display:grid}.tracker-row{grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:.35rem;min-height:36px;display:grid}.tracker-row__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.tracker-row__count{font-variant-numeric:tabular-nums;text-align:right;min-width:2.6em;font-weight:700}.tracker-row .btn{min-width:36px;padding-inline:.5rem}.pips--inline{gap:3px;margin:0;display:inline-flex}.chip{border:1px solid var(--border);background:var(--surface-2);min-height:32px;color:inherit;font:inherit;border-radius:999px;align-items:center;gap:.25rem;padding:.1rem .6rem;font-size:.85rem;display:inline-flex}button.chip{cursor:pointer}.chip--filter[aria-pressed=true],.chip--toggle.is-used{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.chip--toggle.is-used{text-decoration:line-through}.chip__remove{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 .15rem;font-size:1rem}.chip__level{font:inherit;background:0 0;border:0}.input--small{width:auto;min-height:32px;padding:.1rem .4rem;font-size:.85rem}.action-filters{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.actions-list{margin:0;padding:0;list-style:none}.action-row{border-bottom:1px solid var(--border)}.action-row__line{grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.action-row__fav{color:var(--muted);cursor:pointer;background:0 0;border:0;min-width:36px;min-height:44px;font-size:1.1rem}.action-row__fav.is-on{color:var(--accent)}.action-row__main{border-radius:var(--radius-sm);width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.1rem .5rem;padding:.3rem .4rem;display:grid}.action-row__main:hover{background:var(--surface-2)}.action-row__main:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.action-row__name{align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.action-row__meta{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.3rem;font-size:.8rem;display:flex}.action-row__summary{font-variant-numeric:tabular-nums}.action-row__state{color:var(--danger);grid-area:1/2}.action-row.is-unavailable .action-row__name{color:var(--muted)}.action-row.is-open{background:var(--surface-2);border-radius:var(--radius-sm)}.action-row__detail{gap:.4rem;padding:.2rem .75rem .75rem 2.6rem;display:grid}.tag--small{padding:0 .35rem;font-size:.7rem}.tag--attack{background:var(--error-bg)}.tag--spell{background:var(--accent-soft)}.spell-cast{justify-items:start;gap:.4rem;display:grid}.preserve-lines{white-space:pre-line}.actions-unspecified{margin-top:.6rem}.actions-unspecified summary{cursor:pointer;font-weight:600}@container combat (width<=520px){.action-row__detail{padding-left:.6rem}}@container combat (width<=560px){.vitals--combat{grid-template-columns:repeat(auto-fit,minmax(3.7rem,1fr));padding:.4rem}.vitals--combat .stat--vital{min-height:3.6rem;padding:.3rem .2rem}.vitals--combat .stat--vital .stat__value{font-size:1.2rem}.vitals--combat .stat--vital-ac .stat__value{font-size:1.4rem}.vitals--combat .stat--vital .stat__label{font-size:.62rem}.vitals--combat .stat__sub{display:none}}.charge-list{gap:.3rem;margin-bottom:.4rem;display:grid}.charge-track{grid-template-columns:minmax(5.5rem,auto) minmax(0,1fr) auto auto;align-items:center;gap:.4rem;min-height:40px;display:grid}.charge-track__label{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.charge-track__pips{flex-wrap:wrap;gap:.3rem;display:flex}.charge{border:2px solid var(--accent);cursor:pointer;background:0 0;border-radius:50%;width:28px;height:28px;padding:0;transition:transform .1s,background-color .1s}.charge.is-full{background:var(--accent)}.charge:hover{transform:scale(1.12)}.charge:not(.is-full):hover{background:var(--accent-soft)}.charge:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (pointer:coarse){.charge{width:34px;height:34px}}.charge-track__count{font-variant-numeric:tabular-nums;text-align:right;min-width:2.6em;font-weight:700}.charge-track__undo{border:1px solid var(--border);background:var(--surface-2);color:inherit;cursor:pointer;border-radius:999px;min-width:32px;min-height:32px}.slot-row{align-items:center}.slot-row .charge-track{flex:16rem}.conditions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;padding-top:.6rem;display:flex}.condition-badge{border-radius:var(--radius-sm);border:1px solid var(--warn-border);background:var(--warn-bg);align-items:center;font-weight:700;display:inline-flex;overflow:hidden}.condition-badge__name{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;min-height:36px;padding:.3rem .55rem}.condition-badge__name:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.condition-badge__level{font:inherit;background:0 0;border:0;font-weight:400}.condition-badge__remove{border:0;border-left:1px solid var(--warn-border);color:inherit;cursor:pointer;background:0 0;min-width:36px;min-height:36px;font-size:1.1rem}.conditions__add{min-height:36px}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:.15rem 0;text-decoration:underline}.action-detail{justify-items:start;gap:.5rem;display:grid}.action-detail .charge-list{width:100%}.action-row.is-open .action-row__main{box-shadow:inset 3px 0 0 var(--accent)}.grimoire{align-items:start;gap:.75rem;display:grid}.grimoire--wide{grid-template-columns:minmax(15rem,18rem) minmax(0,1fr)}.grimoire__summary{align-content:start;gap:.6rem;display:grid}.grimoire__summary .panel{padding:.65rem .8rem .75rem}.grimoire--wide .grimoire__summary{max-height:calc(100vh - 1.5rem);position:sticky;top:.75rem;overflow-y:auto}.grimoire__counter{font-variant-numeric:tabular-nums;margin:.35rem 0 .1rem}.grimoire__news{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm);margin-top:.4rem;padding:.4rem .55rem}.grimoire__news ul,.grimoire__always{margin:.2rem 0 0;padding-left:1.1rem}.grimoire__library{min-width:0}.grimoire__filters{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.grimoire__search{flex:14rem;margin:0}.grimoire__toggles{flex-wrap:wrap;gap:.35rem;margin:.5rem 0 .2rem;display:flex}.chip--new[aria-pressed=false]{border-color:var(--accent);color:var(--accent);font-weight:700}.spell-list{margin:0;padding:0;list-style:none}.grimoire__group{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:2px solid var(--border);margin-top:.6rem;padding:.2rem .4rem;font-size:.78rem;font-weight:700}.spell-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem;display:grid}.spell-row__main{border-radius:var(--radius-sm);min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.1rem .5rem;padding:.3rem .4rem;display:grid}.spell-row__main:hover{background:var(--surface-2)}.spell-row__main:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.spell-row.is-open .spell-row__main{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}.spell-row__name{align-items:center;gap:.3rem;font-weight:600;display:inline-flex}.spell-row__meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:.78rem;overflow:hidden}.spell-row__badges{flex-wrap:wrap;grid-area:1/2/span 2;justify-content:flex-end;gap:.25rem;display:flex}.spell-row.is-future .spell-row__name,.spell-row.is-future .spell-row__meta,.spell-row.is-off-list .spell-row__name{opacity:.6}.tag--new{background:var(--accent);color:var(--accent-contrast)}.tag--status-prepared,.tag--status-always{background:var(--accent-soft);border:1px solid var(--accent)}.tag--status-available{border:1px solid var(--ok);background:0 0}.tag--status-future,.tag--status-off-list{border:1px dashed var(--border);color:var(--muted);background:0 0}.grimoire-detail{gap:.5rem;display:grid}@media (width<=700px){.spell-row__main{grid-template-columns:minmax(0,1fr)}.spell-row__badges{grid-area:auto/1;justify-content:flex-start}}.grimoire__summary .charge-track{grid-template-columns:auto minmax(0,1fr) auto auto}.grimoire__stats{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.grimoire__counters{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem .9rem;margin:.3rem 0 0;display:flex}.grimoire__count.is-over{color:var(--danger)}.grimoire__news-levels{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.2rem 0;display:flex}.grimoire__more summary{cursor:pointer;align-items:center;min-height:36px;font-weight:600;display:flex}.grimoire__more[open] summary{margin-bottom:.35rem}.grimoire__banner{margin:.35rem 0}.spell-row{border-left:3px solid #0000}.spell-row.is-prepared,.spell-row.is-always{border-left-color:var(--accent)}.spell-row.is-known{border-left-color:var(--accent-soft)}.spell-row__name{font-size:1rem;font-weight:650}.spell-row__flag{color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:0 .25rem;font-size:.68rem;font-weight:700;text-decoration:none}.spell-row.is-off-list .spell-row__name{font-style:italic}.spell-row.is-future .spell-row__main{background-image:repeating-linear-gradient(-45deg, transparent, transparent 6px, var(--surface-2) 6px, var(--surface-2) 7px)}.tag--unlock{border:1px dashed var(--muted);background:0 0}.spell-row .btn--small{min-width:6.2rem}.grimoire-detail__sub{color:var(--muted);margin:-.3rem 0 0}.spell-text p{margin:0 0 .7rem;line-height:1.55}.grimoire__group{padding:0}.grimoire__group-toggle{width:100%;min-height:40px;color:inherit;font:inherit;text-transform:uppercase;letter-spacing:.05em;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:.2rem .4rem;font-size:.78rem;font-weight:700;display:flex}.grimoire__group-toggle:hover{color:var(--text);background:var(--surface-2)}.grimoire__group-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.grimoire__chevron{width:1em}.grimoire__group-count{text-transform:none;letter-spacing:0;background:var(--surface-2);border-radius:999px;margin-left:auto;padding:0 .45rem;font-weight:600}.grimoire__listbar{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.grimoire__listbar p{margin:.3rem 0}.abilities-tab{gap:.75rem;display:grid}.abilities-tab__bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ability-group+.ability-group{margin-top:.35rem}.ability-group__toggle{border-bottom:2px solid var(--border);color:var(--muted)}.ability-rows{margin:0;padding:0;list-style:none}.ability-rows li{border-bottom:1px solid var(--border)}.ability-row{border-radius:var(--radius-sm);width:100%;min-height:42px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.2rem .75rem;padding:.3rem .5rem;display:grid}.ability-row:hover{background:var(--surface-2)}.ability-row:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.ability-row.is-open{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}.ability-row__name{font-weight:650}.ability-row__meta{color:var(--muted);align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.ability-row__kinds{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:inline-flex}.tag--kind-passive{border:1px solid var(--border);background:0 0}.tag--kind-resource{background:var(--accent-soft)}.tag--kind-conditional{background:var(--warn-bg)}@media (width<=600px){.ability-row{grid-template-columns:minmax(0,1fr) auto}.ability-row__kinds{grid-column:1/-1;justify-content:flex-start}}.abilities-progression{align-items:start;gap:.75rem;display:grid}@media (width>=1100px){.abilities-progression{grid-template-columns:minmax(0,2fr) minmax(16rem,1fr)}}.timeline{border-left:2px solid var(--border);gap:.6rem;margin:0 0 .5rem;padding:0 0 0 .9rem;list-style:none;display:grid}.timeline__step{border-radius:var(--radius-sm);padding:.35rem .6rem;position:relative}.timeline__step:before{content:"";background:var(--surface);border:2px solid var(--border);border-radius:50%;width:10px;height:10px;position:absolute;top:.7rem;left:calc(-.9rem - 6px)}.timeline__step.is-next{background:var(--accent-soft)}.timeline__step.is-next:before{border-color:var(--accent);background:var(--accent)}.timeline__head{align-items:center;gap:.4rem;display:flex}.timeline__items{margin:.25rem 0 0;padding-left:1.1rem}.timeline__items li{margin:.1rem 0}.timeline__choice{color:var(--accent);font-weight:600}.ability-detail,.ability-add{gap:.5rem;display:grid}.ability-detail__resource{width:100%}
