:root{color-scheme:light;--font-title:"Cinzel",serif;--font-body:"Inter",Arial,sans-serif;--font-display:var(--font-title);--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--clr-midnight:#101526;--clr-gold:#f6cc57;--clr-ivory:#f7f3eb;--clr-white:#fff;--clr-slate:#283148;--clr-accent:#7b5b1c;--bg:var(--clr-ivory);--bg-elev:hsla(40,43%,95%,.9);--surface:var(--clr-white);--surface-strong:#f1eadf;--surface-1:var(--surface);--surface-2:#f5efe5;--text:var(--clr-midnight);--text-muted:#3f4a66;--muted:#3f4a66;--border:rgba(16,21,38,.2);--border-subtle:rgba(16,21,38,.12);--border-strong:rgba(16,21,38,.35);--brand:var(--clr-gold);--brand-strong:#ddb84d;--accent:var(--clr-accent);--ink-900:var(--clr-midnight);--error:#b3261e;--success:#2f6f4d;--shadow:0 14px 34px rgba(16,21,38,.12);--color-border:var(--border);--color-border-muted:var(--border-subtle);--color-surface-2:var(--surface-2);--color-text-muted:var(--text-muted);--color-accent:var(--accent);--color-accent-subtle:color-mix(in srgb,var(--accent) 16%,#fff);--radius:14px;--radius-sm:10px;--radius-md:14px;--shell-header-height:4.5rem;--sidebar-top-offset:var(--shell-header-height);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem}.combat-tracker-layout,.encounter-builder-layout{display:grid;grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start}.combat-tracker-controls{display:grid;grid-gap:.5rem;gap:.5rem}.combat-hero-header-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.combat-hero-action-row{align-items:flex-start}.combat-hero-action-row .outline-button{padding:.35rem .72rem;font-size:.84rem;line-height:1.05}.combat-ribbon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));grid-gap:.75rem;gap:.75rem}.combat-quick-actions-row{display:grid;grid-template-columns:7rem minmax(6rem,9rem) auto;grid-gap:.75rem;gap:.75rem;align-items:center}.combat-quick-actions-grid{display:grid;grid-template-columns:8rem minmax(0,1fr);grid-gap:.5rem .75rem;gap:.5rem .75rem;align-items:start}.combat-quick-actions-grid .field-label{padding-top:.55rem}.combat-event-list,.combat-initiative-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.65rem;gap:.65rem}.combat-event-row,.combat-initiative-row{border:1px solid var(--color-border-muted);border-radius:.85rem;padding:.8rem;background:color-mix(in srgb,var(--color-surface-2) 88%,#fff 12%)}.combat-event-row{border-left-width:.35rem}.combat-event-row-side-ally{border-left-color:#2f7d59}.combat-event-row-side-enemy{border-left-color:#b0372c}.combat-event-row-side-neutral{border-left-color:#a57a2f}.combat-event-row-side-system{border-left-color:#5a6481}.combat-event-badge-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:.2rem 0 .3rem}.combat-event-side-badge,.combat-event-source-badge{display:inline-flex;align-items:center;padding:.08rem .5rem;border-radius:999px;border:1px solid var(--border-subtle);font-size:.74rem;font-weight:700;letter-spacing:.02em}.combat-event-side-badge.is-ally{color:#1f6846;border-color:color-mix(in srgb,#2f7d59 42%,var(--border-subtle) 58%);background:color-mix(in srgb,#2f7d59 18%,transparent)}.combat-event-side-badge.is-enemy{color:#8e281f;border-color:color-mix(in srgb,#b0372c 45%,var(--border-subtle) 55%);background:color-mix(in srgb,#b0372c 18%,transparent)}.combat-event-side-badge.is-neutral{color:#79561f;border-color:color-mix(in srgb,#a57a2f 45%,var(--border-subtle) 55%);background:color-mix(in srgb,#a57a2f 18%,transparent)}.combat-event-side-badge.is-system{border-color:var(--border-subtle)}.combat-event-side-badge.is-system,.combat-event-source-badge{color:var(--text-muted);background:color-mix(in srgb,var(--surface-2) 75%,#fff)}.combat-initiative-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.85rem}.combat-initiative-row.is-current-turn{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-surface-2) 78%,var(--color-accent-subtle) 22%)}.encounter-builder-list-controls{display:grid;grid-gap:.5rem;gap:.5rem}.encounter-builder-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));grid-gap:.75rem;gap:.75rem}.encounter-wave-card{border-style:dashed}.encounter-participant-card{display:grid;grid-gap:.75rem;gap:.75rem;padding:.85rem;border:1px solid var(--color-border-muted);border-radius:.85rem;background:color-mix(in srgb,var(--color-surface-2) 85%,#fff 15%)}.encounter-participant-grid{display:grid;grid-template-columns:8rem minmax(0,1fr);grid-gap:.5rem .75rem;gap:.5rem .75rem;align-items:start}.encounter-participant-grid .field-label{padding-top:.55rem}@media (max-width:1024px){.combat-tracker-layout,.encounter-builder-layout{grid-template-columns:1fr}}@media (max-width:700px){.combat-hero-header-row{flex-direction:column}.encounter-participant-grid{grid-template-columns:1fr}.encounter-participant-grid .field-label{padding-top:0}.combat-quick-actions-grid,.combat-quick-actions-row{grid-template-columns:1fr}.combat-quick-actions-grid .field-label{padding-top:0}}:root[data-theme=dark]{color-scheme:dark;--bg:#0f1424;--bg-elev:rgba(16,21,38,.9);--surface:#171e33;--surface-strong:#202a44;--surface-1:var(--surface);--surface-2:#202941;--text:#f7f3eb;--text-muted:#d9d0bf;--muted:#d9d0bf;--border:hsla(40,43%,95%,.2);--border-subtle:hsla(40,43%,95%,.13);--border-strong:rgba(246,204,87,.5);--brand:#f6cc57;--brand-strong:#ffe07a;--accent:#d1a84d;--ink-900:#090e1a;--error:#ff9c91;--success:#89d3ac;--shadow:0 16px 40px rgba(0,0,0,.44);--color-border:var(--border);--color-border-muted:var(--border-subtle);--color-surface-2:var(--surface-2);--color-text-muted:var(--text-muted);--color-accent:var(--accent);--color-accent-subtle:color-mix(in srgb,var(--accent) 26%,transparent)}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%;overscroll-behavior-y:none}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at 12% 4%,color-mix(in srgb,var(--clr-gold) 22%,transparent) 0,transparent 34%),radial-gradient(circle at 88% 14%,color-mix(in srgb,var(--clr-slate) 24%,transparent) 0,transparent 42%),linear-gradient(180deg,color-mix(in srgb,var(--clr-white) 82%,var(--clr-ivory) 18%) 0,var(--bg) 52%);line-height:1.4}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-title);letter-spacing:.03em;line-height:1.12}.app-shell{min-height:100dvh;display:grid;grid-template-rows:auto 1fr}.shell-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 86%,var(--clr-midnight) 14%),color-mix(in srgb,var(--surface) 92%,var(--clr-gold) 8%));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-strong);box-shadow:0 8px 22px rgba(16,21,38,.11)}.shell-header-inner{max-width:1200px;margin:0 auto;padding:var(--space-3) var(--space-4);display:flex;gap:var(--space-4);align-items:center;min-height:var(--shell-header-height);min-width:0}.brand-mark{display:inline-flex;align-items:center;min-width:0;flex-shrink:0}.brand-mark-logo{display:block;height:2.1rem;width:auto;max-width:min(42vw,220px);object-fit:contain;filter:drop-shadow(0 2px 4px rgba(16,21,38,.22))}.shell-nav-desktop{display:none}.shell-actions,.shell-nav-desktop{margin-left:auto;gap:var(--space-2)}.shell-actions{display:flex;align-items:center}.shell-campaign-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .68rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--brand) 54%,var(--border) 46%);background:color-mix(in srgb,var(--brand) 14%,var(--surface) 86%);color:var(--text);font-size:.72rem;font-weight:600;white-space:nowrap;cursor:pointer;font-family:inherit;line-height:1.1}.shell-campaign-chip-label{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--text-muted) 82%,var(--text) 18%)}.shell-campaign-chip-value{max-width:min(16ch,22vw);overflow:hidden;text-overflow:ellipsis}.shell-campaign-chip.is-active{border-color:color-mix(in srgb,var(--brand) 78%,var(--border));background:color-mix(in srgb,var(--brand) 26%,var(--surface))}.shell-campaign-chip:hover{text-decoration:none;background:color-mix(in srgb,var(--brand) 30%,var(--surface) 70%)}.shell-icon-button{width:2.35rem;height:2.35rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.shell-icon-button svg{width:1.6rem;height:1.6rem;display:block}.shell-icon-button[aria-expanded=true]{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent)}.header-profile-trigger{overflow:hidden;border-radius:.72rem;border-color:color-mix(in srgb,var(--border) 70%,var(--clr-gold) 30%);background:color-mix(in srgb,var(--surface) 84%,var(--clr-gold) 16%)}.header-profile-trigger[aria-expanded=true]{border-color:color-mix(in srgb,var(--brand) 78%,var(--border));background:color-mix(in srgb,var(--brand) 20%,var(--surface))}.header-profile-avatar{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.header-profile-fallback{width:100%;height:100%;display:grid;place-items:center;border-radius:inherit;color:color-mix(in srgb,var(--clr-ivory) 90%,var(--brand) 10%);background:linear-gradient(145deg,color-mix(in srgb,var(--clr-slate) 72%,var(--clr-midnight) 28%),var(--clr-midnight))}.header-profile-fallback svg{width:1.18rem;height:1.18rem;display:block}.pin-heart-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:2.4rem}.pin-heart-button-icon{width:2.35rem;height:2.35rem;min-width:2.35rem;padding:0}.pin-heart-icon{display:inline-block;font-size:1.05rem;line-height:1;vertical-align:middle}.pin-heart-icon.is-active{color:#b42318}.shell-search-form{display:none;align-items:stretch}.shell-search-input{width:100%;border-radius:999px 0 0 999px;border:1px solid color-mix(in srgb,var(--border) 78%,var(--clr-gold) 22%);border-right:0;background:color-mix(in srgb,var(--surface) 86%,var(--clr-gold) 14%);color:var(--text);padding:.52rem .86rem;font-family:inherit;font-size:.9rem}.shell-search-input:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 65%,#fff 35%);outline-offset:2px}.shell-search-submit{border-top-left-radius:0;border-bottom-left-radius:0;min-width:2.35rem;padding-inline:.65rem;flex-shrink:0}.shell-search-submit svg{width:1.05rem;height:1.05rem;display:block}.shell-nav-link{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .75rem;border-radius:999px;border:1px solid transparent;color:color-mix(in srgb,var(--text) 78%,var(--clr-slate) 22%);transition:all .16s ease}.shell-nav-link:hover{border-color:var(--border);color:var(--text)}.shell-nav-link.is-active{color:color-mix(in srgb,var(--clr-midnight) 88%,var(--clr-gold) 12%);border-color:color-mix(in srgb,var(--brand) 72%,var(--border));background:color-mix(in srgb,var(--brand) 30%,transparent)}.shell-subheader{display:none}@keyframes shell-subheader-slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.shell-subheader-inner{max-width:1200px;margin:0 auto;padding:var(--space-2) var(--space-4) var(--space-3);display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.shell-subheader-link{display:inline-flex;align-items:center;justify-content:center;padding:.38rem .75rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 84%,var(--clr-gold) 16%);color:color-mix(in srgb,var(--text) 72%,var(--clr-slate) 28%);background:color-mix(in srgb,var(--surface) 84%,var(--clr-gold) 16%);transition:all .16s ease;font-size:.84rem}.shell-subheader-link:hover{color:var(--text);border-color:var(--brand)}.shell-subheader-link.is-active{color:var(--brand-strong);border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent)}.ghost-button,.outline-button,.solid-button,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 80%,var(--clr-gold) 20%);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);padding:.5rem .85rem;font-family:inherit;font-size:.9rem;font-weight:600;line-height:1.15;letter-spacing:.01em;text-align:center;vertical-align:middle;cursor:pointer}.ghost-button:hover,.outline-button:hover,.theme-toggle:hover{border-color:color-mix(in srgb,var(--brand) 72%,var(--border));background:color-mix(in srgb,var(--brand) 16%,transparent)}.solid-button{background:var(--brand);color:var(--clr-midnight);border-color:var(--brand)}.solid-button:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.character-hero-icon-button{min-width:2.35rem;padding-inline:.6rem}.character-hero-icon{width:1.05rem;height:1.05rem;display:block}.shell-icon-button{padding:0;box-sizing:border-box}.ghost-button.header-profile-trigger{border-radius:.72rem}.shell-search-form .shell-search-submit{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:999px;border-bottom-right-radius:999px;border-left:0;min-width:2.35rem;padding-inline:.65rem;flex-shrink:0}.shell-main{padding-bottom:5rem}.shell-nav-mobile{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-1);gap:var(--space-1);padding:var(--space-2);border-top:1px solid var(--border);background:var(--bg-elev);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom))}.shell-nav-mobile .shell-nav-link{font-size:.74rem;padding:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:3rem;display:grid;justify-items:center;align-content:center;grid-gap:.16rem;gap:.16rem;border-radius:.78rem}.shell-nav-mobile-icon{width:1.08rem;height:1.08rem;display:inline-flex;align-items:center;justify-content:center}.shell-nav-mobile-icon svg{width:100%;height:100%;display:block}.shell-nav-mobile-label{max-width:100%;overflow:hidden;text-overflow:ellipsis}.shell-nav-mobile .shell-nav-link.is-active{color:color-mix(in srgb,var(--text) 88%,var(--brand) 12%);border-color:color-mix(in srgb,var(--brand) 82%,var(--border) 18%);background:color-mix(in srgb,var(--brand) 30%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 42%,transparent)}.page-container{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-4)}.page-container-has-backdrop{position:relative}.page-container-has-backdrop:before{content:"";position:fixed;inset:0;background-image:var(--page-backdrop-image,var(--page-backdrop-image-light));background-position:50%;background-size:cover;background-repeat:no-repeat;opacity:var(--page-backdrop-opacity,.22);z-index:0;pointer-events:none}:root[data-theme=dark] .page-container-has-backdrop:before{background-image:var(
    --page-backdrop-image-dark,var(--page-backdrop-image,var(--page-backdrop-image-light))
  )}.page-container-has-backdrop>*{position:relative;z-index:1}.stack{display:grid}.stack-sm{gap:var(--space-2)}.stack-md{gap:var(--space-4)}.stack-lg{gap:var(--space-6)}.responsive-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.responsive-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.responsive-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.responsive-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.surface-card{border:1px solid color-mix(in srgb,var(--border) 82%,var(--clr-gold) 18%);border-radius:var(--radius);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,var(--clr-gold) 8%) 0,color-mix(in srgb,var(--surface) 98%,var(--clr-ivory) 2%) 100%);padding:var(--space-4);box-shadow:0 14px 30px rgba(16,21,38,.1),inset 0 1px 0 hsla(0,0%,100%,.7)}.stack>.surface-card:has(>.surface-card-header>.surface-card-header-main>h1),.stack>.surface-card:has(>h1){padding:var(--space-3);gap:var(--space-2)}.stack>.surface-card:has(>.surface-card-header>.surface-card-header-main>h1) h1,.stack>.surface-card:has(>h1) h1{margin:0;font-size:clamp(1.35rem,2.4vw,1.85rem)}.stack>.surface-card:has(>.surface-card-header>.surface-card-header-main>h1) .muted-copy,.stack>.surface-card:has(>h1) .muted-copy{margin:0}.home-hero-card{position:relative;overflow:hidden;isolation:isolate;color:var(--clr-white);background:linear-gradient(135deg,rgba(8,12,22,.82) 0,rgba(8,12,22,.52) 44%,rgba(8,12,22,.3) 100%),var(--home-hero-image) center /cover no-repeat}.home-hero-card:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 75% 12%,rgba(246,204,87,.28) 0,rgba(246,204,87,0) 52%)}.home-hero-card .muted-copy,.home-hero-card h1{color:color-mix(in srgb,var(--clr-white) 92%,var(--clr-gold) 8%)}.home-hero-card .outline-button{background:hsla(0,0%,100%,.09);color:color-mix(in srgb,var(--clr-white) 94%,var(--clr-gold) 6%);border-color:hsla(0,0%,100%,.32)}.home-hero-card .outline-button:hover{background:hsla(0,0%,100%,.18);border-color:hsla(0,0%,100%,.48)}.home-hero-logo{display:block;width:min(180px,37.5%);height:auto;filter:drop-shadow(0 4px 10px rgba(8,12,22,.6))}.library-visual-card{display:flex;flex-direction:column;min-height:100%;position:relative;overflow:hidden;isolation:isolate;color:color-mix(in srgb,var(--clr-white) 95%,var(--clr-gold) 5%)}.library-visual-card:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(140deg,rgba(8,12,22,.88) 0,rgba(8,12,22,.58) 52%,rgba(8,12,22,.33) 100%),var(--library-card-image) center /cover no-repeat}.library-visual-card>*{position:relative;z-index:1}.library-visual-card .muted-copy,.library-visual-card h2{color:color-mix(in srgb,var(--clr-white) 94%,var(--clr-gold) 6%)}.library-visual-card :is(.outline-button,.solid-button){margin-top:auto;align-self:flex-start}.library-visual-card .outline-button{background:hsla(0,0%,100%,.1);color:color-mix(in srgb,var(--clr-white) 95%,var(--clr-gold) 5%);border-color:hsla(0,0%,100%,.35)}.library-visual-card .outline-button:hover{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.5)}.node-tree-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2)}.node-tree-filter-grid{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.node-tree-filter-field{display:grid;grid-gap:.35rem;gap:.35rem}.node-tree-toggle-row{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.45rem}.node-tree-toggle-button{gap:.5rem}.node-tree-toggle-check{width:1rem;height:1rem;border-radius:.22rem;border:1px solid color-mix(in srgb,var(--border) 75%,var(--clr-gold) 25%);background:color-mix(in srgb,var(--surface) 86%,transparent);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;line-height:1;color:transparent;flex-shrink:0}.node-tree-toggle-check.is-checked{color:color-mix(in srgb,var(--text) 82%,var(--brand) 18%);border-color:color-mix(in srgb,var(--brand) 72%,var(--border));background:color-mix(in srgb,var(--brand) 20%,transparent)}.node-tree-toggle-button.is-active{border-color:color-mix(in srgb,var(--brand) 86%,var(--border) 14%);background:color-mix(in srgb,var(--brand) 20%,transparent)}.node-tree-legend{display:grid;grid-gap:.35rem;gap:.35rem}.node-tree-legend-items{display:flex;flex-wrap:wrap;gap:.5rem .75rem}.node-tree-legend-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-muted)}.node-tree-legend-dot{width:.86rem;height:.86rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--clr-ivory) 75%,var(--border));display:inline-block}.node-tree-legend-line{width:1.35rem;height:0;display:inline-block;border-top:2px solid color-mix(in srgb,var(--clr-gold) 44%,var(--border))}.node-tree-zoom-label{margin:0;font-size:.8rem;color:var(--color-text-muted)}.node-tree-hover-tooltip{position:absolute;z-index:6;pointer-events:none;transform:translate(-50%,-100%);padding:.4rem .52rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--border) 58%,var(--clr-gold) 42%);background:color-mix(in srgb,var(--surface) 94%,#081723 6%);color:var(--color-text);font-size:.75rem;font-weight:500;max-width:min(24rem,calc(100vw - 2rem));white-space:normal;box-shadow:0 10px 24px color-mix(in srgb,var(--surface-strong) 68%,transparent);display:grid;grid-gap:.28rem;gap:.28rem}.node-tree-hover-tooltip-title{margin:0;font-size:.75rem;font-weight:700;line-height:1.2}.node-tree-requirements{display:grid;grid-gap:.35rem;gap:.35rem}.node-tree-requirement-chip-list{display:flex;flex-wrap:wrap;gap:.35rem}.node-tree-requirement-chip{display:inline-flex;align-items:center;justify-content:center;min-height:1.3rem;padding:.06rem .45rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border-subtle) 78%,transparent);background:color-mix(in srgb,var(--surface-2) 70%,transparent);color:color-mix(in srgb,var(--color-text) 90%,var(--clr-ivory) 10%);font-size:.72rem;font-weight:600;line-height:1.2;white-space:nowrap}.node-tree-requirement-chip.is-attribute{border-color:color-mix(in srgb,var(--clr-gold) 44%,var(--border-subtle));background:color-mix(in srgb,var(--surface-2) 72%,var(--clr-gold) 14%)}.node-tree-requirement-chip.is-core{border-color:color-mix(in srgb,#72b697 52%,var(--border-subtle));background:color-mix(in srgb,var(--surface-2) 68%,#72b697 18%)}.node-tree-requirement-chip.is-logic{border-style:dashed;border-color:color-mix(in srgb,var(--border-subtle) 85%,transparent);background:color-mix(in srgb,var(--surface-1) 82%,transparent);color:color-mix(in srgb,var(--color-text) 72%,var(--clr-ivory) 28%)}.node-tree-requirement-chip.is-overflow{border-style:dashed;opacity:.88}.node-tree-canvas-shell{position:relative;min-height:640px;border:1px solid color-mix(in srgb,var(--border) 74%,var(--clr-gold) 26%);border-radius:var(--radius);overflow:hidden;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab;background:radial-gradient(circle at 30% 24%,rgba(246,204,87,.16) 0,rgba(246,204,87,0) 52%),radial-gradient(circle at 70% 80%,rgba(99,141,122,.14) 0,rgba(99,141,122,0) 58%),linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,#102536 8%) 0,color-mix(in srgb,var(--surface) 96%,#0b1622 4%) 100%)}.node-tree-canvas-controls{position:absolute;top:.65rem;right:.65rem;z-index:9;display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.35rem;padding:.38rem;border-radius:.85rem;border:1px solid color-mix(in srgb,var(--border) 74%,var(--clr-gold) 26%);background:color-mix(in srgb,var(--surface) 84%,rgba(16,21,38,.16));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.node-tree-control-button{min-width:2rem;height:2rem;padding:0;border-radius:.55rem;border:1px solid color-mix(in srgb,var(--border) 70%,var(--clr-gold) 30%);background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text);font-size:1rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.node-tree-control-button:hover{border-color:color-mix(in srgb,var(--brand) 72%,var(--border));background:color-mix(in srgb,var(--brand) 16%,transparent)}.node-tree-fullscreen-footer{display:none}.node-tree-canvas-shell:active{cursor:-webkit-grabbing;cursor:grabbing}.node-tree-canvas-shell:-webkit-full-screen{width:100%;height:100%;min-height:100%;border-radius:0}.node-tree-canvas-shell:fullscreen{width:100%;height:100%;min-height:100%;border-radius:0}.node-tree-canvas-shell:-webkit-full-screen .node-tree-canvas{height:100%;min-height:100%}.node-tree-canvas-shell:fullscreen .node-tree-canvas{height:100%;min-height:100%}.node-tree-canvas-shell:-webkit-full-screen .node-tree-canvas-controls{display:none}.node-tree-canvas-shell:fullscreen .node-tree-canvas-controls{display:none}.node-tree-canvas-shell:-webkit-full-screen .node-tree-fullscreen-footer{position:absolute;left:0;right:0;bottom:0;z-index:10;display:grid;grid-gap:.5rem;gap:.5rem;padding:.7rem .85rem calc(.7rem + env(safe-area-inset-bottom));border-top:1px solid color-mix(in srgb,var(--border) 68%,var(--clr-gold) 32%);background:color-mix(in srgb,var(--surface) 78%,rgba(8,14,26,.36));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.node-tree-canvas-shell:fullscreen .node-tree-fullscreen-footer{position:absolute;left:0;right:0;bottom:0;z-index:10;display:grid;grid-gap:.5rem;gap:.5rem;padding:.7rem .85rem calc(.7rem + env(safe-area-inset-bottom));border-top:1px solid color-mix(in srgb,var(--border) 68%,var(--clr-gold) 32%);background:color-mix(in srgb,var(--surface) 78%,rgba(8,14,26,.36));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.node-tree-fullscreen-footer-controls{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.35rem}.node-tree-legend-footer .field-label{margin:0}.node-tree-legend-footer .node-tree-legend-items{justify-content:center}.node-tree-canvas{display:block;width:100%;height:100%;min-height:640px}.node-tree-edge{stroke-linecap:round;stroke-linejoin:round}.node-tree-edge-dimmed{opacity:.16}.node-tree-edge-attribute-ring{stroke:color-mix(in srgb,var(--clr-gold) 35%,var(--border));stroke-width:3;opacity:.82}.node-tree-edge-attribute-ladder{stroke:color-mix(in srgb,var(--clr-gold) 22%,var(--border));stroke-width:2;opacity:.5}.node-tree-edge-prerequisite{stroke:color-mix(in srgb,var(--clr-gold) 42%,var(--border));stroke-width:2;opacity:.7}.node-tree-edge-branch{stroke:color-mix(in srgb,#67b88e 65%,var(--border));stroke-width:1.5;stroke-dasharray:3 5;opacity:.78}.node-tree-node{cursor:pointer;outline:none}.node-tree-node-dimmed{opacity:.22}.node-tree-node-circle{stroke:color-mix(in srgb,var(--clr-ivory) 75%,var(--border));stroke-width:1.8;transition:transform .12s ease,stroke-width .12s ease,filter .12s ease;transform-origin:center}.node-tree-node:focus-visible .node-tree-node-circle,.node-tree-node:hover .node-tree-node-circle{filter:brightness(1.1);stroke-width:2.8}.node-tree-node-selected{stroke:var(--clr-gold);stroke-width:3.2}.node-tree-node-branch{stroke:color-mix(in srgb,#73c28f 72%,var(--clr-ivory));stroke-width:2.4}.node-tree-node-branch-outline{fill:none;stroke:color-mix(in srgb,#73c28f 72%,var(--clr-ivory));stroke-width:2;opacity:.5;pointer-events:none}.node-tree-node-locked-outline{fill:none;stroke:color-mix(in srgb,#e7a15f 78%,var(--clr-ivory));stroke-width:1.8;opacity:.9;pointer-events:none}.node-tree-node-attribute-root{fill:color-mix(in srgb,#386c8a 60%,#11263a)}.node-tree-node-attribute-value{fill:color-mix(in srgb,#3e5376 58%,#111d31)}.node-tree-node-combat{fill:color-mix(in srgb,#b46843 70%,#2b1c15)}.node-tree-node-knowledge{fill:color-mix(in srgb,#4976b7 70%,#15253d)}.node-tree-node-mystic{fill:color-mix(in srgb,#5f8e8d 70%,#172f2e)}.node-tree-node-social{fill:color-mix(in srgb,#a6687f 70%,#351a24)}.node-tree-node-survival{fill:color-mix(in srgb,#6f8a4c 72%,#1f2f16)}.node-tree-node-core{fill:color-mix(in srgb,#8a7ca4 66%,#272138)}.node-tree-node-proficiency{fill:color-mix(in srgb,#4f9e7f 72%,#153528)}.node-tree-node-generic{fill:color-mix(in srgb,#6d7a91 72%,#202838)}.node-tree-attribute-label{fill:color-mix(in srgb,var(--clr-ivory) 92%,var(--clr-gold) 8%);font-size:10px;font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}.node-tree-branch-panel-shell{fill:color-mix(in srgb,var(--surface) 94%,#071a27 6%);stroke:color-mix(in srgb,var(--border) 66%,var(--clr-gold) 34%);stroke-width:1.2}.node-tree-branch-panel-title{fill:color-mix(in srgb,var(--color-text) 86%,var(--clr-gold) 14%);font-size:14px;font-weight:700}.node-tree-branch-panel-subtitle{fill:var(--color-text-muted);font-size:11px}.node-tree-branch-panel-item-label{fill:var(--color-text);font-size:11px}.node-tree-branch-panel-item-requirements{fill:var(--color-text-muted);font-size:10px}.node-tree-sidebar-grid{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.3rem .75rem;gap:.3rem .75rem;align-items:baseline}.surface-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.surface-card-header.has-aside{align-items:stretch}.surface-card-header-main{min-width:0;display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.surface-card-header-aside h2,.surface-card-header-aside h3,.surface-card-header-main h2,.surface-card-header-main h3,.surface-card-header-main p{margin:0}.surface-card-header-aside{flex:0 0 auto;min-width:160px}.character-detail-hero-layout{align-items:start;grid-template-columns:minmax(0,1.55fr) minmax(240px,1fr)}.character-detail-hero-shell{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:start}.character-detail-hero-card{min-width:0;padding:var(--space-3)}.character-portrait-placeholder{width:132px;min-height:132px;display:grid;place-items:center;text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border)}.character-portrait-placeholder span{font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}.character-detail-top-stat-grid{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.character-detail-top-stat-grid-main{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.character-detail-top-stat-grid-secondary{display:grid;grid-template-columns:minmax(0,1fr)}.character-combat-header-stats,.character-inventory-header-stats{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.character-defense-inline-cards{min-width:0}.character-inventory-header-stats.character-defense-inline-cards{grid-template-columns:repeat(3,minmax(0,1fr));width:min(18rem,100%)}.character-conflict-panel .surface-card-header-aside{min-width:min(18rem,100%)}.character-defense-stat-button{padding:var(--space-2) var(--space-2);min-height:0}.character-defense-stat-button h3{font-size:.76rem}.character-defense-stat-button .character-stat-card-value{font-size:.92rem;line-height:1.05}.character-status-tabs{min-width:0}.character-status-tabs>[role=tablist]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.character-status-tabs>[role=tablist] .inventory-tab-button{width:100%;text-align:center}.character-status-tabs [role=tabpanel]{min-width:0}.character-conflict-panel{min-height:100%}.character-survival-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.45rem}.character-survival-stage-pill{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-2) 70%,transparent);font-size:.82rem;font-weight:600}.character-survival-controls{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}.character-survival-select{min-width:8.25rem}.character-disease-form-grid,.character-disease-row-form-grid{grid-template-columns:minmax(0,1fr) minmax(160px,.8fr)}.character-disease-row-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.45rem}.character-disease-actions{display:grid;grid-gap:.4rem;gap:.4rem;align-content:start;flex:0 0 auto}.character-disease-events{margin-top:var(--space-2);border:1px solid var(--border-subtle);border-radius:.75rem;padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--surface-2) 42%,transparent)}.character-disease-events>summary{cursor:pointer;font-weight:600;list-style:none}.character-disease-events>summary::-webkit-details-marker{display:none}.character-disease-events[open]>summary{margin-bottom:var(--space-2)}.character-detail-combat-skills-grid{align-items:start}@media (min-width:860px){.character-detail-combat-skills-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}}.character-list-filter-row{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:minmax(0,1.8fr) minmax(220px,.9fr);align-items:end}.compact-stat-card{padding:var(--space-2) var(--space-3)}.compact-stat-card h2,.compact-stat-card h3{font-size:.85rem}.compact-stat-card p{margin:0}.character-stat-card-thin{padding-top:.35rem;padding-bottom:.35rem}.character-stat-card-thin h2,.character-stat-card-thin h3{font-size:.78rem}.character-stat-card-thin .character-stat-card-value{font-size:1rem}.character-stat-card-value{margin:0;font-weight:700;font-size:1.15rem}.character-special-grid{align-items:stretch}.character-special-card{align-items:center;text-align:center;padding:var(--space-3)}.character-special-score{margin:0;font-weight:800;font-size:1.45rem;line-height:1}.realm-primary-grid{--realm-primary-module-width:150px;display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(3,minmax(var(--realm-primary-module-width),1fr));justify-items:center;align-items:start}.realm-primary-shell{gap:var(--space-3)}.realm-primary-module{--realm-label-noise-opacity:0.16;position:relative;width:min(100%,var(--realm-primary-module-width));min-height:149px;isolation:isolate}.realm-primary-module--body{--realm-core-texture:url(/images/character-sheet/primary-attributes/core/body.svg);--realm-core-main:#ff6f73;--realm-core-glow:#ff9a9e;--realm-core-shadow:#b9464e;--realm-derived-left-texture:url(/images/character-sheet/primary-attributes/derived/body-left.svg);--realm-derived-right-texture:url(/images/character-sheet/primary-attributes/derived/body-right.svg);--realm-derived-bottom-texture:url(/images/character-sheet/primary-attributes/derived/body-bottom.svg)}.realm-primary-module--mind{--realm-core-texture:url(/images/character-sheet/primary-attributes/core/mind.svg);--realm-core-main:#6e74f2;--realm-core-glow:#95a2ff;--realm-core-shadow:#3f4ab5;--realm-derived-left-texture:url(/images/character-sheet/primary-attributes/derived/mind-left.svg);--realm-derived-right-texture:url(/images/character-sheet/primary-attributes/derived/mind-right.svg);--realm-derived-bottom-texture:url(/images/character-sheet/primary-attributes/derived/mind-bottom.svg)}.realm-primary-module--spirit{--realm-core-texture:url(/images/character-sheet/primary-attributes/core/spirit.svg);--realm-core-main:#f4ec64;--realm-core-glow:#fff89f;--realm-core-shadow:#b6a53e;--realm-derived-left-texture:url(/images/character-sheet/primary-attributes/derived/spirit-left.svg);--realm-derived-right-texture:url(/images/character-sheet/primary-attributes/derived/spirit-right.svg);--realm-derived-bottom-texture:url(/images/character-sheet/primary-attributes/derived/spirit-bottom.svg)}.realm-primary-module-title{position:absolute;top:0;left:50%;transform:translateX(-50%);margin:0;width:75px;min-height:25px;border:1px solid color-mix(in srgb,#000 72%,transparent);border-radius:5px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fcf5e8,#e7ddc9);box-shadow:0 4px 4px rgba(0,0,0,.25),5px -3px 10px rgba(0,0,0,.25);font-family:var(--font-title);font-size:1rem;line-height:1;text-transform:uppercase;letter-spacing:.015em;overflow:hidden;isolation:isolate;z-index:4}.realm-primary-derived-label:before,.realm-primary-module-title:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-radial-gradient(circle at 18% 20%,hsla(0,0%,100%,.18) 0 1px,transparent 1px 3.8px),repeating-linear-gradient(28deg,rgba(0,0,0,.055) 0 1px,transparent 1px 4.4px);mix-blend-mode:multiply;opacity:var(--realm-label-noise-opacity)}.realm-primary-core-glyph{position:absolute;top:9px;left:25px;width:100px;height:100px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.32));isolation:isolate;z-index:1}.realm-primary-core-glyph:before{content:"";position:absolute;inset:-16%;pointer-events:none;background:var(--realm-core-texture) center /100% 100% no-repeat;z-index:0}.realm-primary-core-glyph:after{content:"";position:absolute;inset:6% 8% 8% 8%;pointer-events:none;background:radial-gradient(circle at 30% 22%,hsla(0,0%,100%,.32) 0,transparent 45%),radial-gradient(circle at 70% 78%,rgba(0,0,0,.22) 0,transparent 50%);opacity:.34;z-index:1}.realm-primary-core-value{margin:0;position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-size:3rem;line-height:1;color:#111;font-weight:700;text-shadow:0 1px 0 hsla(0,0%,100%,.55),0 2px 2px rgba(0,0,0,.5),0 4px 7px rgba(0,0,0,.35)}.realm-primary-core-value.is-na{font-size:1.3rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.realm-primary-derived{position:absolute;width:50px;height:60px;display:grid;justify-items:center;align-content:start;z-index:3}.realm-primary-derived--left{top:59px;left:0;--realm-derived-texture:var(--realm-derived-left-texture)}.realm-primary-derived--right{top:59px;right:0;--realm-derived-texture:var(--realm-derived-right-texture)}.realm-primary-derived--bottom{top:89px;left:50px;--realm-derived-texture:var(--realm-derived-bottom-texture)}.realm-primary-derived-value{position:relative;width:50px;height:50px;filter:drop-shadow(0 4px 7px rgba(0,0,0,.28));display:flex;align-items:center;justify-content:center;isolation:isolate}.realm-primary-derived-value:before{content:"";position:absolute;inset:-26% -32% -14% -8%;pointer-events:none;background:var(--realm-derived-texture) center /100% 100% no-repeat;z-index:0}.realm-primary-derived-value:after{content:"";position:absolute;inset:8% 10% 12% 12%;pointer-events:none;background:radial-gradient(circle at 28% 24%,hsla(0,0%,100%,.34) 0,transparent 42%),radial-gradient(circle at 72% 78%,rgba(0,0,0,.2) 0,transparent 48%);opacity:.35;z-index:1}.realm-primary-derived-value-text{position:relative;z-index:2;font-family:var(--font-title);font-size:1.5rem;line-height:1;color:#111;font-weight:700;text-shadow:0 1px 0 hsla(0,0%,100%,.45),0 2px 2px rgba(0,0,0,.45),0 3px 5px rgba(0,0,0,.25)}.realm-primary-derived-value-text.is-na{font-size:.7rem;line-height:1;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.realm-primary-derived-label{position:relative;margin-top:-1px;min-width:40px;padding:.08rem .32rem;border:1px solid color-mix(in srgb,#000 72%,transparent);border-radius:5px;background:linear-gradient(180deg,#fcf5e8,#e7ddc9);box-shadow:7px -4px 10px rgba(0,0,0,.25);text-align:center;font-family:var(--font-title);font-size:.72rem;line-height:1.1;color:#111;text-transform:uppercase}:root[data-theme=dark] .realm-primary-core-value,:root[data-theme=dark] .realm-primary-derived-label,:root[data-theme=dark] .realm-primary-derived-value-text,:root[data-theme=dark] .realm-primary-module-title{color:#f7f3eb;text-shadow:0 1px 0 hsla(0,0%,100%,.32),0 2px 3px rgba(0,0,0,.92),0 4px 9px rgba(0,0,0,.78)}:root[data-theme=dark] .realm-primary-module{--realm-label-noise-opacity:0.14}:root[data-theme=dark] .realm-primary-derived-label,:root[data-theme=dark] .realm-primary-module-title{background:linear-gradient(180deg,#2a3556,#1a223b);border-color:color-mix(in srgb,#9fb2df 38%,#000);box-shadow:0 4px 4px rgba(0,0,0,.5),5px -3px 10px rgba(0,0,0,.45)}.character-skill-list{gap:var(--space-1)}.character-skillset-grid{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.character-skillset-card{padding:.35rem .6rem}.character-skillset-summary{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-1);flex-wrap:wrap;cursor:pointer;list-style:none}.character-skillset-summary::-webkit-details-marker{display:none}.character-skillset-summary-title{font-family:var(--font-title);font-size:.92rem;letter-spacing:.02em}.character-skillset-summary-meta{margin:0;font-size:.76rem}.character-skillset-card[open] .character-skill-list{margin-top:.35rem}.character-skillset-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.character-skillset-header h3{margin:0}.character-skill-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;grid-gap:.45rem;gap:.45rem;padding:.16rem .45rem}.character-skill-name-line{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.character-skill-name{margin:0}.character-skill-attribute-chip{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.08rem .4rem;border-radius:999px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-2) 72%,transparent);font-size:.67rem;font-weight:700;letter-spacing:.04em}.character-skill-meta,.character-skill-total{margin:0;text-align:right}.character-skill-total{min-width:2.5rem;font-weight:800;font-size:.95rem;line-height:1}.character-skill-roll-button{border:1px solid var(--border-subtle);background:var(--surface-1);border-radius:var(--radius-sm);padding:.2rem .5rem;cursor:pointer}.character-skill-roll-button:focus-visible,.character-skill-roll-button:hover{border-color:var(--border-strong)}.character-hit-location-row{width:100%;display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:center}.character-hit-location-dr-grid{display:grid;grid-gap:.15rem var(--space-2);gap:.15rem var(--space-2);grid-template-columns:repeat(2,auto);justify-items:end}.collapsible-option-list{border:1px solid var(--border);border-radius:10px;padding:var(--space-2);background:color-mix(in srgb,var(--surface-strong) 22%,transparent)}.collapsible-option-list-summary{cursor:pointer;font-weight:600;color:var(--muted);list-style:none}.collapsible-option-list-summary::-webkit-details-marker{display:none}.collapsible-option-list-summary:before{content:"▸ "}.collapsible-option-list[open] .collapsible-option-list-summary:before{content:"▾ "}.collapsible-option-list>.stack,.collapsible-option-list>[role=radiogroup]{margin-top:var(--space-2)}.character-creator-shell-card{padding:var(--space-3);box-shadow:none}.character-creator-title-row{display:grid;grid-gap:.2rem;gap:.2rem}.character-creator-title-row h1{margin:0}.character-creator-step-grid{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.character-creator-step-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;font-family:inherit;color:inherit;cursor:pointer;border:1px solid var(--border-subtle);border-radius:10px;background:color-mix(in srgb,var(--surface-2) 72%,#fff 28%);padding:var(--space-2);display:grid;grid-gap:.2rem;gap:.2rem;box-shadow:none}.character-creator-step-chip:hover:not(:disabled){border-color:var(--border);background:color-mix(in srgb,var(--surface-2) 85%,#fff 15%)}.character-creator-step-chip.is-current{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,var(--surface-2))}.character-creator-step-chip.is-complete{border-color:color-mix(in srgb,var(--success) 42%,var(--border-subtle))}.character-creator-step-chip.is-locked{border-color:color-mix(in srgb,var(--border-subtle) 88%,transparent);background:color-mix(in srgb,var(--surface-2) 44%,#fff 56%);color:color-mix(in srgb,var(--text-muted) 70%,var(--text) 30%)}.character-creator-step-chip:disabled{cursor:not-allowed}.character-creator-form{gap:var(--space-3)}.character-creator-subpanel{border:1px solid var(--border-subtle);border-radius:10px;background:color-mix(in srgb,var(--surface-2) 58%,#fff 42%);padding:var(--space-3);box-shadow:none}.character-creator-subpanel-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap}.character-creator-attribute-grid{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.character-creator-attribute-card{border:1px solid var(--border-subtle);border-radius:10px;background:color-mix(in srgb,var(--surface-2) 66%,#fff 34%);padding:var(--space-2);box-shadow:none}.character-creator-review-grid{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.character-creator-review-list{margin:0;padding-left:1.1rem;display:grid;grid-gap:.2rem;gap:.2rem}.character-creator-panel{gap:var(--space-3)}.character-creator-perk-card{padding:var(--space-2)}.character-creator-node-row{display:grid;grid-gap:.3rem .75rem;gap:.3rem .75rem;grid-template-columns:auto minmax(8rem,.9fr) auto minmax(12rem,1fr) minmax(14rem,1.2fr);align-items:center;padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:10px;background:color-mix(in srgb,var(--surface-2) 64%,#fff 36%);box-shadow:none}.character-creator-node-row.is-selected{border-color:var(--border-strong);background:color-mix(in srgb,var(--brand) 10%,var(--surface-2))}.character-creator-node-toggle{margin:0}.character-creator-node-description,.character-creator-node-effects,.character-creator-node-name,.character-creator-node-warning{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}.character-creator-node-name{font-weight:600}.character-creator-node-cost{display:inline-flex;align-items:center;justify-content:center;min-width:3.1rem;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-2) 74%,#fff 26%);font-size:.78rem;font-weight:700}.character-creator-node-warning{grid-column:2/-1;color:color-mix(in srgb,var(--error) 85%,var(--text) 15%);white-space:normal}.character-sheet-node-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.25rem .75rem;gap:.25rem .75rem;align-items:center;padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:10px;background:color-mix(in srgb,var(--surface-2) 64%,#fff 36%);box-shadow:none}.character-sheet-node-row-main{min-width:0;display:grid;grid-gap:.18rem;gap:.18rem}.character-sheet-node-row .character-creator-node-description,.character-sheet-node-row .character-creator-node-name{margin:0}.character-node-type-tabs{display:flex;flex-wrap:wrap;gap:.35rem;width:-moz-fit-content;width:fit-content;max-width:100%;padding:.3rem;border-radius:999px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-2) 72%,#fff 28%)}.character-node-type-tabs .inventory-tab-button{min-height:2rem;padding:.35rem .72rem;font-size:.82rem;line-height:1.1;border-color:color-mix(in srgb,var(--border) 86%,transparent);background:color-mix(in srgb,var(--surface) 88%,transparent);white-space:nowrap}.character-node-type-tabs .inventory-tab-button.is-active,.character-node-type-tabs .inventory-tab-button[data-state=active]{border-color:color-mix(in srgb,var(--brand) 75%,var(--border-subtle));background:color-mix(in srgb,var(--brand) 16%,var(--surface-2));color:var(--text)}.character-node-list-controls{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(11rem,1fr));grid-gap:.6rem;gap:.6rem;align-items:end}.character-creator-origin-selection-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.character-creator-origin-selection-card{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.character-creator-origin-selection-controls,.character-creator-origin-selection-details{min-width:0}.character-creator-origin-selection-details{border-left:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface-2) 52%,#fff 48%);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3)}.origin-node-tree-canvas{overflow-x:auto;padding-bottom:var(--space-1)}.origin-node-tree-children,.origin-node-tree-roots{list-style:none;margin:0;padding:0;display:flex;align-items:flex-start;justify-content:center;gap:var(--space-2)}.origin-node-tree-roots{min-width:max-content}.origin-node-tree-branch{position:relative;display:flex;flex-direction:column;align-items:center;min-width:12.5rem}.origin-node-tree-origin-card{width:100%;border:1px solid var(--border-subtle);border-radius:10px;background:color-mix(in srgb,var(--surface-2) 68%,#fff 32%);padding:var(--space-1) var(--space-2);box-shadow:none}.origin-node-tree-children{position:relative;margin-top:var(--space-2);padding-top:var(--space-2)}.origin-node-tree-children:before{content:"";position:absolute;top:0;left:1.4rem;right:1.4rem;border-top:1px solid color-mix(in srgb,var(--border) 76%,transparent)}.origin-node-tree-children>li{position:relative;padding-top:var(--space-2)}.origin-node-tree-children>li:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);height:var(--space-2);border-left:1px solid color-mix(in srgb,var(--border) 76%,transparent)}.origin-node-tree-node-card{width:100%;border:1px solid var(--border-subtle);border-radius:10px;background:color-mix(in srgb,var(--surface-2) 62%,#fff 38%);padding:var(--space-1) var(--space-2);box-shadow:none;display:grid;grid-gap:.2rem;gap:.2rem}.origin-node-tree-node-card.is-selected{border-color:var(--border-strong);background:color-mix(in srgb,var(--brand) 10%,var(--surface-2))}.origin-node-tree-node-card.is-disabled{opacity:.72}.origin-node-tree-node-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.45rem;gap:.45rem;align-items:center}.origin-node-tree-node-toggle-readonly{grid-template-columns:minmax(0,1fr)}.origin-node-tree-node-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.5rem;gap:.5rem;align-items:start}.origin-node-tree-node-toggle-label{min-width:0;display:grid;grid-gap:.12rem;gap:.12rem}.origin-node-tree-node-name{font-weight:600;line-height:1.25}.origin-node-tree-node-meta{color:var(--muted);font-size:.8rem;line-height:1.2}.origin-node-tree-info-button{border:1px solid color-mix(in srgb,var(--border) 76%,transparent);border-radius:999px;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:700;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface-2) 86%,#fff 14%);color:var(--muted);cursor:pointer}.origin-node-tree-info-button:focus-visible,.origin-node-tree-info-button:hover{border-color:color-mix(in srgb,var(--brand) 74%,var(--border-subtle));color:var(--text);background:color-mix(in srgb,var(--brand) 16%,var(--surface-2))}.origin-node-tree-warning{color:color-mix(in srgb,var(--error) 85%,var(--text) 15%)}@media (max-width:720px){.character-node-type-tabs{width:100%;border-radius:12px}.character-node-type-tabs .inventory-tab-button{flex:1 1 auto;text-align:center}.character-creator-origin-selection-card,.character-node-list-controls{grid-template-columns:minmax(0,1fr)}.character-creator-origin-selection-details{border-left:0;border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent);padding-left:var(--space-2);padding-right:var(--space-2);padding-top:var(--space-2)}.origin-node-tree-branch{min-width:10.5rem}}.sticky-bottom-action-bar{position:-webkit-sticky;position:sticky;bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:8;border-radius:10px;padding:var(--space-2);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.character-creator-sticky-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.character-creator-node-points-inline{margin:0;font-weight:600}.character-creator-node-points-badge{margin:0;padding:.48rem .75rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--brand) 74%,var(--border));background:color-mix(in srgb,var(--brand) 20%,var(--surface-2));color:var(--text);font-weight:800;font-size:.92rem;line-height:1.1}.muted-copy{color:var(--muted);overflow-wrap:anywhere}.form-shell{max-width:480px;margin:var(--space-7) auto;padding:var(--space-5);border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--border) 78%,var(--clr-gold) 22%);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 88%,var(--clr-gold) 12%) 0,var(--surface) 100%);box-shadow:var(--shadow)}.form-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.field-label{font-weight:600}.field-input{width:100%;border-radius:10px;border:1px solid color-mix(in srgb,var(--border) 80%,var(--clr-gold) 20%);background:color-mix(in srgb,var(--surface) 86%,var(--clr-ivory) 14%);padding:.65rem .8rem;color:var(--text);font-family:inherit;font-size:.95rem}.field-input-with-action{display:flex;align-items:center;gap:.5rem}.field-input-with-action .field-input{flex:1 1 auto;min-width:0}.field-input-action{border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 76%,var(--clr-gold) 24%);background:color-mix(in srgb,var(--surface) 88%,var(--clr-gold) 12%);color:var(--text);padding:.42rem .74rem;font-family:inherit;font-size:.78rem;font-weight:700;line-height:1;cursor:pointer;flex-shrink:0}.field-input-action:hover{border-color:color-mix(in srgb,var(--brand) 74%,var(--border));background:color-mix(in srgb,var(--brand) 18%,transparent)}.field-input-action:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 70%,var(--accent) 30%);outline-offset:2px}.field-help-copy{margin:-.4rem 0 0;color:var(--text-muted);font-size:.82rem}.field-error-copy{margin:-.4rem 0 0;color:color-mix(in srgb,var(--error) 80%,var(--text) 20%);font-size:.84rem;font-weight:600}.search-filter-chip-row{display:flex;flex-wrap:wrap;gap:.45rem}.search-filter-chip{border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 78%,var(--clr-gold) 22%);background:color-mix(in srgb,var(--surface) 92%,var(--clr-ivory) 8%);color:var(--text);padding:.35rem .68rem;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.search-filter-chip:hover{border-color:color-mix(in srgb,var(--brand) 74%,var(--border));background:color-mix(in srgb,var(--brand) 16%,transparent)}.search-filter-chip.is-active{border-color:color-mix(in srgb,var(--brand) 86%,var(--border) 14%);background:color-mix(in srgb,var(--brand) 30%,transparent);color:color-mix(in srgb,var(--clr-midnight) 90%,var(--brand) 10%)}.content-rail-row.is-active-result{border-color:color-mix(in srgb,var(--brand) 78%,var(--border) 22%);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 42%,transparent)}mark{background:color-mix(in srgb,var(--brand) 38%,transparent);color:inherit;border-radius:4px;padding-inline:.16rem}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--border) 82%,var(--clr-gold) 18%);background:color-mix(in srgb,var(--surface-2) 78%,#fff 22%);color:var(--text);font-size:.74rem;font-weight:700;padding:.08rem .28rem}.field-input:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 70%,var(--accent) 30%);outline-offset:2px}.textarea-input{min-height:6.5rem;resize:vertical}.checkbox-row{display:inline-flex;align-items:center;gap:.55rem;color:var(--muted)}.feedback-banner{padding:.7rem .9rem;border:1px solid var(--border);border-radius:10px}.feedback-banner-title{margin:0;font-weight:700}.feedback-banner-message{margin:.35rem 0 0;color:var(--muted);overflow-wrap:anywhere}.feedback-banner-info{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 11%,transparent)}.feedback-banner-success{border-color:color-mix(in srgb,var(--success) 55%,var(--border));background:color-mix(in srgb,var(--success) 12%,transparent)}.feedback-banner-error{border-color:color-mix(in srgb,var(--error) 65%,var(--border));background:color-mix(in srgb,var(--error) 13%,transparent)}.empty-state,.error-state,.loading-state{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);padding:var(--space-4)}.loading-state{display:inline-flex;align-items:center;gap:var(--space-2)}.loading-spinner{width:.9rem;height:.9rem;border-radius:999px;border:2px solid var(--brand);border-top:2px solid transparent;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.toast-viewport{position:fixed;top:var(--space-4);right:var(--space-4);z-index:40;display:grid;grid-gap:var(--space-2);gap:var(--space-2);width:min(360px,calc(100vw - 2rem))}.toast{display:flex;justify-content:space-between;gap:var(--space-3);border-radius:10px;border:1px solid var(--border);padding:.65rem .75rem;box-shadow:var(--shadow);background:var(--surface)}.toast-title{margin:0;font-weight:700;overflow-wrap:anywhere}.toast-description{margin:.25rem 0 0;color:var(--muted);font-size:.88rem;overflow-wrap:anywhere}.toast-close{border:none;background:transparent;color:var(--muted);cursor:pointer}.toast-success{border-color:color-mix(in srgb,var(--success) 65%,var(--border))}.toast-error{border-color:color-mix(in srgb,var(--error) 65%,var(--border))}.toast-info{border-color:color-mix(in srgb,var(--accent) 65%,var(--border))}.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.profile-page-stack{align-content:start}.profile-account-overview{display:grid;grid-template-columns:minmax(5.5rem,7rem) minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4);align-items:center}.profile-avatar-preview-shell{width:min(100%,6.2rem);aspect-ratio:1/1;border-radius:1.1rem;border:1px solid color-mix(in srgb,var(--border) 70%,var(--clr-gold) 30%);background:color-mix(in srgb,var(--surface) 84%,var(--clr-gold) 16%);display:grid;place-items:center;overflow:hidden}.profile-avatar-preview-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;cursor:pointer}.profile-avatar-preview-button:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 70%,var(--accent) 30%);outline-offset:2px}.profile-avatar-preview-image{width:100%;height:100%;object-fit:cover}.profile-avatar-fallback-icon{width:100%;height:100%;display:grid;place-items:center;color:color-mix(in srgb,var(--text) 74%,var(--clr-gold) 26%)}.profile-avatar-fallback-icon svg{width:2rem;height:2rem;display:block}.profile-account-overview-list{margin:0;display:grid;grid-gap:.6rem;gap:.6rem}.profile-account-overview-row{display:grid;grid-template-columns:8.25rem minmax(0,1fr) auto;grid-gap:.65rem;gap:.65rem;align-items:center}.profile-account-overview-row dt{color:var(--text-muted);font-size:.83rem;text-transform:uppercase;letter-spacing:.04em}.profile-account-overview-row dd{margin:0;font-weight:600;overflow-wrap:anywhere}.profile-overview-action-link{border:0;background:none;padding:0;color:var(--accent);font-family:inherit;font-size:.85rem;font-weight:600;text-decoration:underline;cursor:pointer;white-space:nowrap}.profile-overview-action-link:hover{color:var(--brand-strong)}.profile-overview-action-link:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 62%,var(--accent) 38%);outline-offset:2px;border-radius:4px}.profile-avatar-grid{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(7.1rem,1fr))}.profile-avatar-option{border-radius:10px;border:1px solid color-mix(in srgb,var(--border) 84%,var(--clr-gold) 16%);background:color-mix(in srgb,var(--surface) 92%,transparent);color:inherit;cursor:pointer;padding:.55rem;display:grid;grid-gap:.4rem;gap:.4rem;justify-items:center;text-align:center}.profile-avatar-option img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.profile-avatar-option span{color:var(--text-muted);font-size:.78rem;font-weight:600;line-height:1.2}.profile-avatar-option:hover{border-color:color-mix(in srgb,var(--brand) 68%,var(--border));background:color-mix(in srgb,var(--brand) 14%,transparent)}.profile-avatar-option.is-selected{border-color:color-mix(in srgb,var(--brand) 92%,var(--border));background:color-mix(in srgb,var(--brand) 18%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 52%,transparent)}.profile-avatar-option:disabled{opacity:.72;cursor:not-allowed}.profile-danger-zone{border-color:color-mix(in srgb,var(--error) 52%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,var(--error) 8%) 0,color-mix(in srgb,var(--surface) 100%,transparent) 100%)}.profile-danger-checklist{margin:-.2rem 0 0;padding-left:1.1rem;display:grid;grid-gap:.3rem;gap:.3rem;color:color-mix(in srgb,var(--error) 70%,var(--text) 30%);font-size:.9rem}.profile-danger-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid color-mix(in srgb,var(--error) 78%,var(--border));background:color-mix(in srgb,var(--error) 82%,#000 18%);color:color-mix(in srgb,var(--clr-white) 94%,var(--clr-ivory) 6%);padding:.5rem .85rem;font-family:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.profile-danger-button:hover{background:color-mix(in srgb,var(--error) 70%,#000 30%);border-color:color-mix(in srgb,var(--error) 88%,var(--border))}.profile-danger-button:disabled{opacity:.74;cursor:not-allowed}.breadcrumbs{margin-bottom:var(--space-2);display:inline-flex;max-width:100%;padding:.34rem .64rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 72%,var(--clr-gold) 28%);background:color-mix(in srgb,var(--surface) 76%,var(--bg) 24%);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 55%,transparent)}.breadcrumbs-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.22rem;align-items:center;color:var(--muted);font-size:.8rem}.breadcrumbs-item:not(:last-child):after{content:"/";margin-left:.35rem;color:var(--border)}.breadcrumbs-link{color:var(--muted);text-decoration:underline}.breadcrumbs-link:hover{color:var(--text)}.breadcrumbs-current{color:var(--text);font-weight:600}.content-rail-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.virtualized-content-rail-scroll{max-height:min(68vh,52rem);overflow-y:auto;overscroll-behavior:contain;padding-right:.1rem}.virtualized-content-rail-list{position:relative;display:block}.virtualized-content-rail-item{position:absolute;top:0;left:0;width:100%}.content-rail-row{border:1px solid color-mix(in srgb,var(--border) 84%,var(--clr-gold) 16%);border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 72%,var(--clr-gold) 8%) 0,color-mix(in srgb,var(--surface-2) 92%,transparent) 100%);padding:var(--space-3);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.content-rail-row-wrap{flex-wrap:wrap}.content-rail-row>div{min-width:0}.content-rail-list.character-skill-list{gap:var(--space-1)}.content-rail-row.character-skill-row{gap:var(--space-1);padding:var(--space-1)}.content-rail-main{min-width:0;flex:1 1 auto}.content-rail-actions{flex:0 0 auto;align-self:center}.home-rails-grid{align-items:start}.home-rails-grid>.surface-card{align-self:start}.home-rails-heading{margin:0}.content-rail-title-line{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.content-rail-title-line .content-rail-meta,.content-rail-title-line .content-rail-title{margin:0}.content-rail-caret-button{min-width:2.2rem;padding-inline:.65rem}.content-rail-caret-button span{font-size:1rem;line-height:1}.content-rail-expanded-panel{flex:1 0 100%;margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px dashed var(--border)}.item-list-expanded-panel{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:start}.list-card-expanded-image{width:100%;height:100px}.content-rail-title{margin:0;font-weight:700;overflow-wrap:anywhere}.content-rail-title-link{color:inherit;text-decoration:underline;text-underline-offset:.15em}.content-rail-title-link:hover{color:var(--brand-strong)}.content-rail-meta{margin:.25rem 0 0;font-size:.86rem;color:var(--muted);overflow-wrap:anywhere}.loot-roller-grid,.scavenging-scene-grid{align-items:start}.scavenging-scene-filter-grid{grid-template-columns:minmax(0,1.2fr) minmax(180px,.75fr) auto;align-items:end}.loot-roller-filter-grid{grid-template-columns:minmax(0,1.5fr) minmax(180px,.8fr);align-items:end}.loot-table-row-selected{border-color:color-mix(in srgb,var(--brand) 52%,var(--border));background:color-mix(in srgb,var(--brand) 8%,var(--surface-strong))}.loot-roller-actions{align-items:center}.loot-repeat-select{width:auto;min-width:5rem}.loot-table-entry-preview{border:1px solid var(--border-subtle);border-radius:.75rem;background:color-mix(in srgb,var(--surface-strong) 20%,transparent);padding:var(--space-2) var(--space-3) var(--space-3)}.loot-table-entry-preview>summary{cursor:pointer;list-style:none;font-weight:700;margin:calc(var(--space-2) * -1) calc(var(--space-3) * -1) 0;padding:var(--space-2) var(--space-3)}.loot-table-entry-preview>summary::-webkit-details-marker{display:none}.loot-table-entry-preview[open]>summary{margin-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.loot-roll-history{display:grid;grid-gap:var(--space-3);gap:var(--space-3);max-height:36rem;overflow:auto}.loot-roll-history-entry{border:1px solid var(--border-subtle);border-radius:.75rem;padding:var(--space-3);background:color-mix(in srgb,var(--surface-strong) 18%,transparent)}.loot-roll-history-entry,.loot-roll-history-results{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.loot-roll-history-result-surface{border:1px dashed var(--border);border-radius:.6rem;padding:var(--space-2);background:color-mix(in srgb,var(--surface) 84%,transparent)}.loot-roll-result-node{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.loot-roll-result-node.depth-1,.loot-roll-result-node.depth-2,.loot-roll-result-node.depth-3,.loot-roll-result-node.depth-4{margin-left:var(--space-3)}.loot-roll-result-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.loot-roll-entry-surface{border:1px solid var(--border-subtle);border-radius:.75rem;padding:var(--space-3);background:color-mix(in srgb,var(--surface-strong) 24%,transparent);display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.loot-roll-leaf-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.rules-chapter-grid{align-items:start}.rules-chapter-card{min-width:0}.rules-chapter-card .surface-card-header{align-items:flex-start}.rules-chapter-card-aside{min-width:0;text-align:right}.rules-chapter-card-aside .content-rail-meta{margin:0}.rules-section-link-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}.rules-section-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:.55rem .7rem;border-radius:.6rem;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-2) 58%,transparent);color:inherit;text-decoration:none}.rules-section-link:hover{border-color:var(--border);background:color-mix(in srgb,var(--surface-2) 82%,transparent)}.rules-reader-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start}.rules-reader-layout,.rules-reader-main{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.rules-reader-main{min-width:0}.rules-section-sidebar{display:flex;flex-direction:column;gap:var(--space-2);position:-webkit-sticky;position:sticky;top:calc(var(--shell-header-height, 4rem) + 1rem);max-height:calc(100vh - var(--shell-header-height, 4rem) - 1.6rem);overflow:hidden}.rules-section-sidebar-header h2{margin:0;font-size:1.02rem}.rules-section-sidebar-header p{margin:.2rem 0 0;font-size:.86rem}.rules-section-sidebar-list{list-style:none;margin:0;display:grid;flex:1 1 auto;grid-gap:.45rem;gap:.45rem;overflow-y:auto;min-height:0;padding:0 .2rem 0 0}.rules-section-sidebar-item{border:1px solid var(--border-subtle);border-radius:.66rem;padding:.5rem .62rem;background:color-mix(in srgb,var(--surface-2) 56%,transparent);display:grid;grid-gap:.22rem;gap:.22rem}.rules-section-sidebar-link{font-weight:700;color:inherit;text-decoration:none;font-size:.9rem;line-height:1.25}.rules-section-sidebar-link:hover{color:var(--brand-strong);text-decoration:underline}.rules-section-sidebar-summary{margin:0;color:var(--muted);font-size:.78rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rules-section-sidebar-sublist{list-style:none;margin:.35rem 0 0;padding:0 0 0 .55rem;border-left:1px dashed color-mix(in srgb,var(--border-subtle) 80%,transparent);display:grid;grid-gap:.35rem;gap:.35rem}.rules-section-sidebar-subitem{display:grid;grid-gap:.15rem;gap:.15rem}.rules-section-sidebar-sublink{font-weight:600;color:inherit;text-decoration:none;font-size:.82rem;line-height:1.25}.rules-section-sidebar-sublink:hover{color:var(--brand-strong);text-decoration:underline}.rules-section-nav-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.rules-section-nav-item{border:1px solid var(--border-subtle);border-radius:.75rem;padding:var(--space-3);background:color-mix(in srgb,var(--surface-2) 52%,transparent);display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.rules-section-nav-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.rules-section-nav-link{font-weight:700;color:inherit;text-decoration:none}.rules-section-nav-link:hover{color:var(--brand-strong);text-decoration:underline}.rules-section-excerpt{margin:0}.rules-page-chip-list{display:flex;flex-wrap:wrap;gap:.4rem}.rules-page-chip{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-2) 65%,transparent);color:inherit;text-decoration:none;font-size:.82rem}.rules-page-chip:hover{border-color:var(--border);background:color-mix(in srgb,var(--surface-2) 88%,transparent)}.rules-section-card{scroll-margin-top:calc(var(--shell-header-height, 4rem) + 1rem)}.rules-section-header-actions{min-width:0}.rules-page-stack{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.rules-page-block{border:1px solid var(--border-subtle);border-radius:.75rem;padding:var(--space-3);background:color-mix(in srgb,var(--surface-2) 42%,transparent);scroll-margin-top:calc(var(--shell-header-height, 4rem) + 1rem)}.rules-page-block-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.rules-page-block-header h3{margin:0;font-size:1rem}.rules-page-block-header h3 a{color:inherit;text-decoration:none}.rules-page-block-header h3 a:hover{color:var(--brand-strong);text-decoration:underline}.rules-page-block-header .content-rail-meta{margin:0}.rules-inline-link{color:var(--brand-strong);text-decoration:underline;text-underline-offset:.12em}.rules-inline-link:hover{color:var(--brand)}.rules-page-text{display:grid;grid-gap:.65rem;gap:.65rem}.rules-page-text p{margin:0;line-height:1.55}.rules-source-note-stack{display:grid;grid-gap:.55rem;gap:.55rem}.rules-source-note{margin:0;padding:.55rem .7rem;border-radius:.65rem;border:1px solid color-mix(in srgb,var(--brand) 34%,var(--border-subtle));background:color-mix(in srgb,var(--brand) 14%,transparent);font-size:.92rem}.rules-source-list{margin:0;padding-left:1.15rem;display:grid;grid-gap:.45rem;gap:.45rem}.rules-source-list li{line-height:1.45}.rules-source-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:.75rem}.rules-source-table{width:100%;min-width:640px;border-collapse:collapse;background:color-mix(in srgb,var(--surface-2) 36%,transparent)}.rules-source-table thead th{text-align:left;font-size:.86rem;letter-spacing:.01em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb,var(--surface-2) 88%,#000)}.rules-source-table td,.rules-source-table th{padding:.55rem .62rem;border-bottom:1px solid var(--border-subtle);vertical-align:top;line-height:1.45}.rules-source-table tr:last-child td{border-bottom:0}@media (max-width:1024px){.rules-reader-layout{grid-template-columns:minmax(0,1fr)}.rules-section-sidebar{position:static;max-height:none}.rules-section-sidebar-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);overflow-x:auto;overflow-y:hidden;padding-bottom:.2rem}.rules-section-sidebar-item{min-width:210px}}.rules-appendix-index-filter-grid{grid-template-columns:minmax(0,1.8fr) minmax(180px,.9fr)}.rules-appendix-index-list{border:1px solid var(--border-subtle);border-radius:.75rem;padding:var(--space-2) var(--space-3) var(--space-3);background:color-mix(in srgb,var(--surface-2) 42%,transparent)}.rules-appendix-index-list>summary{cursor:pointer;font-weight:700;margin:calc(var(--space-2) * -1) calc(var(--space-3) * -1) 0;padding:var(--space-2) var(--space-3);list-style:none}.rules-appendix-index-list>summary::-webkit-details-marker{display:none}.rules-appendix-index-list[open]>summary{margin-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.list-card-thumb{flex:0 0 auto}.list-card-thumb-actor,.list-card-thumb-character{width:72px;height:72px}.list-card-thumb-item{width:64px;height:64px}.presentation-image-frame{position:relative;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-2) 78%,#000)}.presentation-image-frame-media,.presentation-image-frame-placeholder{position:absolute;inset:0}.presentation-image-frame-media{background-position:50%;background-size:cover}.presentation-image-frame-media.is-contain{background-size:contain}.presentation-image-frame-placeholder{display:grid;place-items:center;color:var(--muted);text-align:center;padding:var(--space-2)}.presentation-image-frame-placeholder span{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.character-portrait-trigger{width:132px;min-height:132px;padding:0;display:block;cursor:pointer}.character-portrait-trigger:focus-visible,.character-portrait-trigger:hover{border-color:var(--border-strong)}.character-portrait-frame{width:132px;height:132px;border:0;border-radius:inherit}.creator-portrait-inline-preview{width:100%;max-width:160px;height:160px}.gm-character-card-portrait{width:100%;height:140px}.sidebar-item-quick-image{width:100%;height:180px}.group-banner-card{position:relative;overflow:hidden;background-repeat:no-repeat;background-size:cover;background-position:50%}.group-banner-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--ink-900) 20%,transparent) 0,color-mix(in srgb,var(--ink-900) 58%,transparent) 100%);pointer-events:none}.group-banner-card>*{position:relative;z-index:1}.group-detail-banner-card{min-height:140px}.group-detail-banner-card .muted-copy,.group-detail-banner-card h1{color:color-mix(in srgb,#fff 92%,var(--text));text-shadow:0 1px 10px color-mix(in srgb,var(--ink-900) 25%,transparent)}.group-detail-banner-content{display:grid;grid-gap:var(--space-1);gap:var(--space-1);min-width:0}.group-detail-banner-content h1{margin:0}.group-detail-banner-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);grid-gap:var(--space-3);gap:var(--space-3);align-items:stretch}.group-detail-banner-meta{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.group-detail-summary-grid{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.group-summary-stat-card{min-height:84px;justify-content:space-between}.group-summary-stat-card-banner{min-height:0;box-shadow:none;border-color:color-mix(in srgb,#fff 28%,transparent);background:color-mix(in srgb,var(--ink-900) 40%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--space-2)}.group-summary-stat-card-banner .group-summary-stat-subvalue,.group-summary-stat-card-banner h2{color:color-mix(in srgb,#fff 92%,var(--text));text-shadow:0 1px 8px color-mix(in srgb,var(--ink-900) 40%,transparent)}.group-summary-stat-card-inline{min-height:0;box-shadow:none;padding:var(--space-2);border-radius:10px}.group-summary-stat-card h2{margin:0;font-size:.85rem}.group-summary-stat-card-inline h2,.group-summary-stat-card-inline h3{margin:0;font-size:.72rem;line-height:1.1}.group-summary-stat-value{margin:0;font-size:1.35rem;font-weight:800;line-height:1}.group-summary-stat-card-inline .group-summary-stat-value{font-size:1rem}.group-summary-stat-subvalue{margin:0;font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}.group-summary-stat-card-inline .group-summary-stat-subvalue{display:none}.group-detail-overview-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);align-items:start}.group-inline-resource-cards{min-width:min(300px,100%)}.group-detail-inline-meta-grid,.group-inline-resource-cards{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.group-detail-disclosure{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-strong) 35%,transparent);overflow:hidden}.group-detail-disclosure>summary{cursor:pointer;list-style:none;padding:var(--space-3);font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.group-detail-disclosure>summary::-webkit-details-marker{display:none}.group-detail-disclosure>summary:after{content:"▸";width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--muted);flex:0 0 auto}.group-detail-disclosure[open]>summary:after{content:"▾"}.group-detail-disclosure[open]>summary{border-bottom:1px solid var(--border-subtle)}.group-detail-disclosure-body{padding:var(--space-3);display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.group-banner-preset-grid{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.group-banner-preset-button{display:grid;grid-template-columns:64px minmax(0,1fr);grid-gap:var(--space-2);gap:var(--space-2);align-items:center;text-align:left;border:1px solid var(--border);background:var(--surface-1);border-radius:var(--radius-md);padding:var(--space-2);cursor:pointer}.group-banner-preset-button.is-active{border-color:var(--brand)}.group-banner-preset-preview{width:64px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);display:block;background-size:cover;background-position:50%}.item-detail-overview-layout{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);align-items:start}.item-detail-hero-shell{gap:var(--space-4)}.item-detail-hero-copy{min-width:0}.item-detail-stat-grid{align-items:stretch}.item-detail-stat-card{box-shadow:none;padding:var(--space-3)}.item-detail-stat-card p{margin:0}.item-detail-stat-card p:last-child{font-weight:700}.library-detail-image-frame{width:100%;min-height:220px}.actor-detail-stat-cards{align-items:stretch}.actor-attribute-cluster{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:var(--space-3)}.actor-attribute-module{position:relative;width:150px;height:150px;flex:0 0 auto}.actor-attribute-pill{border:1px solid rgba(16,21,38,.75);border-radius:5px;background:color-mix(in srgb,var(--clr-ivory) 94%,#fff);box-shadow:0 1px 2px rgba(0,0,0,.35);color:var(--clr-midnight)}.actor-attribute-core-label{position:absolute;top:0;left:50%;transform:translateX(-50%);min-width:4.2rem;padding:.15rem .45rem;text-align:center;font-family:var(--font-title);font-size:.95rem;line-height:1;z-index:2}.actor-attribute-orb{display:flex;align-items:center;justify-content:center;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;text-shadow:0 2px 2px rgba(0,0,0,.5);color:#f9f6eb}.actor-attribute-core-orb{position:absolute;top:9px;left:25px;width:100px;height:100px;filter:drop-shadow(0 4px 4px rgba(0,0,0,.35))}.actor-attribute-core-value{font-family:var(--font-title);font-size:3.1rem;line-height:1}.actor-attribute-derived{position:absolute;width:50px;height:50px}.actor-attribute-derived-left{left:0;top:60px}.actor-attribute-derived-right{right:0;top:60px}.actor-attribute-derived-bottom{left:50%;bottom:0;transform:translateX(-50%)}.actor-attribute-derived-orb{width:50px;height:50px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.actor-attribute-derived-value{font-family:var(--font-title);font-size:1.75rem;line-height:1}.actor-attribute-derived-label{position:absolute;top:35px;left:50%;transform:translateX(-50%);min-width:2.2rem;padding:.05rem .35rem;text-align:center;font-family:var(--font-title);font-size:.78rem;line-height:1}.actor-attribute-module-body .actor-attribute-core-orb{background-image:url(/images/character-sheet/primary-attributes/core/body.svg)}.actor-attribute-module-mind .actor-attribute-core-orb{background-image:url(/images/character-sheet/primary-attributes/core/mind.svg)}.actor-attribute-module-spirit .actor-attribute-core-orb{background-image:url(/images/character-sheet/primary-attributes/core/spirit.svg)}.actor-attribute-module-body .actor-attribute-derived-left .actor-attribute-derived-orb{background-image:url(/images/character-sheet/primary-attributes/derived/body-left.svg)}.actor-attribute-module-body .actor-attribute-derived-right .actor-attribute-derived-orb{background-image:url(/images/character-sheet/primary-attributes/derived/body-right.svg)}.actor-attribute-module-body .actor-attribute-derived-bottom .actor-attribute-derived-orb{background-image:url(/images/character-sheet/primary-attributes/derived/body-bottom.svg)}.actor-attribute-module-mind .actor-attribute-derived-left .actor-attribute-derived-orb{background-image:url(/images/character-sheet/primary-attributes/derived/mind-left.svg)}.actor-attribute-module-mind .actor-attribute-derived-right .actor-attribute-derived-orb{background-image:url(/images/character-sheet/primary-attributes/derived/mind-right.svg)}.actor-attribute-module-mind .actor-attribute-derived-bottom .actor-attribute-derived-orb{background-image:url(/images/character-sheet/primary-attributes/derived/mind-bottom.svg)}.actor-attribute-module-spirit .actor-attribute-derived-left .actor-attribute-derived-orb{background-image:url(/images/character-sheet/primary-attributes/derived/spirit-left.svg)}.actor-attribute-module-spirit .actor-attribute-derived-right .actor-attribute-derived-orb{background-image:url(/images/character-sheet/primary-attributes/derived/spirit-right.svg)}.actor-attribute-module-spirit .actor-attribute-derived-bottom .actor-attribute-derived-orb{background-image:url(/images/character-sheet/primary-attributes/derived/spirit-bottom.svg)}.actor-defense-panel{align-items:center}.actor-defense-module{width:min(100%,220px);display:flex;justify-content:center}.actor-defense-shield{position:relative;width:180px;aspect-ratio:5/6;border:2px solid hsla(40,43%,95%,.9);box-shadow:0 8px 12px rgba(0,0,0,.25);-webkit-clip-path:polygon(50% 100%,9% 78%,2% 25%,50% 0,98% 25%,91% 78%);clip-path:polygon(50% 100%,9% 78%,2% 25%,50% 0,98% 25%,91% 78%);overflow:hidden;background:linear-gradient(180deg,transparent 0 43%,#60151a 43% 100%),linear-gradient(90deg,#1c236d 0 50%,#5d5a1c 50% 100%)}.actor-defense-shield:before{content:"";position:absolute;left:8%;right:8%;top:43%;border-top:2px solid hsla(40,43%,95%,.82)}.actor-defense-shield:after{content:"";position:absolute;top:0;bottom:56%;left:50%;border-left:2px solid hsla(40,43%,95%,.82)}.actor-defense-slot{position:absolute;display:flex;flex-direction:column;align-items:center}.actor-defense-slot-md{top:11%;left:0;width:50%}.actor-defense-slot-sd{top:11%;right:0;width:50%}.actor-defense-slot-pd{left:0;right:0;bottom:8%}.actor-defense-value{color:#f9f6eb;font-family:var(--font-title);text-shadow:0 2px 3px rgba(0,0,0,.45);line-height:1}.actor-defense-value-sm{font-size:2rem}.actor-defense-value-lg{font-size:3.45rem}.actor-defense-label{margin-top:.22rem;min-width:2rem;border:1px solid rgba(16,21,38,.75);border-radius:5px;background:color-mix(in srgb,var(--clr-ivory) 94%,#fff);box-shadow:0 1px 2px rgba(0,0,0,.35);color:var(--clr-midnight);text-align:center;font-family:var(--font-title);font-size:.78rem;line-height:1;padding:.14rem .3rem}.actor-defense-label-bottom{margin-top:.14rem}.actor-item-list{list-style:none;padding:0;grid-gap:var(--space-2)}.actor-item-box-row,.actor-item-list{margin:0;display:grid;gap:var(--space-2)}.actor-item-box-row{grid-template-columns:auto minmax(0,1fr) auto;grid-gap:var(--space-2);align-items:center;padding:.35rem .55rem .35rem .35rem;border:2px solid color-mix(in srgb,var(--accent) 80%,#39260d);border-radius:7px;background:color-mix(in srgb,var(--clr-ivory) 92%,#fff);box-shadow:0 3px 7px rgba(0,0,0,.18)}.actor-item-box-row.is-stored{border-color:color-mix(in srgb,var(--border-strong) 75%,var(--accent) 25%);background:color-mix(in srgb,var(--clr-ivory) 78%,var(--surface-2))}.actor-item-box-thumb{width:54px;height:54px;border-radius:5px}.actor-item-box-content{min-width:0;display:grid;grid-gap:.1rem;gap:.1rem}.actor-item-box-category,.actor-item-box-meta,.actor-item-box-name,.actor-item-box-note{margin:0}.actor-item-box-name{font-family:var(--font-title);font-size:.95rem;color:var(--clr-midnight)}.actor-item-box-category,.actor-item-box-name{line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actor-item-box-category{font-size:.72rem;color:var(--clr-slate)}.actor-item-box-meta,.actor-item-box-note{font-size:.72rem;line-height:1.1;color:var(--text-muted)}.actor-item-box-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actor-item-box-marker{width:11px;height:11px;border-radius:999px;border:2px solid color-mix(in srgb,var(--accent) 75%,#5c4a24);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.45)}.actor-item-box-marker.is-equipped{background:radial-gradient(circle at 30% 30%,#f9d56a 0 35%,#9f6f1c 35% 100%)}.actor-item-box-marker.is-stored{background:transparent;border-color:color-mix(in srgb,var(--border-strong) 75%,var(--accent) 25%)}.actor-chip-list{display:flex;flex-wrap:wrap;gap:.4rem}.actor-chip{display:inline-flex;align-items:center;border:1px solid var(--border-subtle);background:var(--surface-1);border-radius:999px;padding:.2rem .55rem;font-size:.78rem;line-height:1.2}.actor-ability-card,.actor-attack-card{box-shadow:none}@media (max-width:700px){.actor-attribute-module{width:136px;height:136px}.actor-attribute-core-orb{top:10px;left:22px;width:92px;height:92px}.actor-attribute-core-value{font-size:2.5rem}.actor-attribute-derived-left,.actor-attribute-derived-right{top:54px}.actor-attribute-derived-value{font-size:1.5rem}.actor-defense-shield{width:165px}.actor-defense-value-sm{font-size:1.75rem}.actor-defense-value-lg{font-size:3rem}.actor-item-box-row{gap:.45rem;padding:.3rem .45rem .3rem .3rem}.actor-item-box-thumb{width:48px;height:48px}}.inventory-tab-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.inventory-tab-button{border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:inherit;font-size:.9rem;padding:.45rem .8rem;cursor:pointer}.inventory-tab-button:hover{border-color:var(--brand);color:var(--text)}.inventory-tab-button.is-active,.inventory-tab-button[data-state=active]{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand-strong)}.inventory-container-tab-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.inventory-container-label{margin:0;font-weight:600}.group-detail-tabbed-panel-body{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.group-detail-tabbed-panel-body>.surface-card{box-shadow:none}.inventory-section-shell{border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface-strong) 32%,transparent);padding:var(--space-3)}.inventory-section-shell.is-compact{padding:var(--space-2)}.inventory-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.inventory-section-header h3{margin:0}.inventory-panel-title{font-size:1rem;line-height:1.2}.inventory-add-panel{border:1px dashed var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 80%,transparent);padding:var(--space-3)}.inventory-equip-control{display:inline-flex;align-items:stretch}.inventory-equip-main-button{border-top-right-radius:0;border-bottom-right-radius:0}.inventory-equip-menu-trigger{border-top-left-radius:0;border-bottom-left-radius:0;min-width:2.1rem;padding-inline:.65rem}.inventory-equip-menu-trigger span{font-size:.95rem;line-height:1}.inventory-transfer-menu-trigger{min-width:2.2rem;padding-inline:.55rem}.inventory-transfer-menu-trigger span{font-size:.95rem;line-height:1}.inventory-remove-control{display:inline-flex;align-items:stretch}.inventory-remove-main-button{border-top-right-radius:0;border-bottom-right-radius:0}.inventory-remove-menu-trigger{border-top-left-radius:0;border-bottom-left-radius:0;min-width:2.05rem;padding-inline:.5rem}.inventory-remove-menu-trigger span{font-size:.9rem;line-height:1}.pagination-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.pagination-meta{margin:0;color:var(--muted);font-size:.9rem}.key-value-grid{margin:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.key-value-row{display:grid;grid-template-columns:160px minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);padding-bottom:.4rem;border-bottom:1px dashed var(--border)}.key-value-row dt{margin:0;color:var(--muted)}.key-value-row dd{margin:0}.json-preview{margin:var(--space-2) 0 0;padding:var(--space-3);border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 30%,transparent);overflow:auto;max-height:380px}.code-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.85rem;line-height:1.4;min-height:8rem}.rule-sandbox-preset-button{border-radius:10px;padding:var(--space-3);display:grid;grid-gap:.35rem;gap:.35rem;text-align:left;justify-items:start;align-content:start;height:100%}.rule-sandbox-preset-button strong{color:var(--text);font-weight:700}.rule-sandbox-preset-button span{color:var(--muted);font-size:.88rem;line-height:1.3}.workbench-source-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.workbench-craft-grid,.workbench-repair-grid{align-items:start}.workbench-repair-form-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.workbench-craft-grid .content-rail-list,.workbench-repair-grid .content-rail-list{max-height:30rem;overflow:auto}@media (min-width:860px){.shell-nav-desktop{display:flex}.shell-subheader{display:block;position:absolute;left:0;right:0;top:100%;z-index:22;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-elev);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 24px rgba(24,16,10,.16);animation:shell-subheader-slide-down .18s ease-out}.shell-search-form{display:flex;align-items:stretch;gap:0;width:min(380px,34vw)}.shell-nav-mobile{display:none}.shell-main{padding-bottom:0}}@media (prefers-reduced-motion:reduce){.shell-subheader,.sidebar-overlay[data-state=closed],.sidebar-overlay[data-state=open],.sidebar-panel[data-state=closed],.sidebar-panel[data-state=open]{animation:none}}@media (max-width:859px){.shell-header-inner{flex-wrap:nowrap;gap:var(--space-2)}.brand-mark{order:1}.brand-mark-logo{height:1.85rem;max-width:min(30vw,132px)}.shell-actions{order:3;width:auto;margin-left:0;justify-content:flex-end;gap:var(--space-1);flex-shrink:0}.shell-campaign-chip{display:none}.shell-search-form{order:2;display:flex;width:auto;flex:1 1 auto;min-width:0;align-items:stretch;gap:0}.shell-search-input{min-width:0}.page-container{padding:var(--space-5) var(--space-3)}.toast-viewport{top:calc(var(--space-3) + env(safe-area-inset-top));right:var(--space-3);left:var(--space-3);width:auto}.character-detail-top-stat-grid-main,.realm-primary-grid,.responsive-grid-2,.responsive-grid-3,.responsive-grid-4{grid-template-columns:minmax(0,1fr)}.realm-primary-grid{justify-items:stretch}.realm-primary-module{margin-inline:auto}.character-detail-hero-shell,.character-list-filter-row{grid-template-columns:minmax(0,1fr)}.character-detail-hero-shell{align-items:stretch}.character-portrait-placeholder{width:100%;min-height:120px}.character-inventory-header-stats{grid-template-columns:minmax(0,1fr)}.character-inventory-header-stats.character-defense-inline-cards{width:100%}.character-combat-header-stats,.character-status-tabs>[role=tablist]{grid-template-columns:minmax(0,1fr)}.character-status-tabs>[role=tablist] .inventory-tab-button{text-align:left}.surface-card-header{flex-direction:column}.surface-card-header-aside{min-width:0;width:100%}.content-rail-row{flex-direction:column;align-items:stretch}.character-creator-node-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.character-creator-attribute-grid,.character-creator-review-grid,.character-creator-step-grid{grid-template-columns:minmax(0,1fr)}.character-creator-attribute-card,.character-creator-subpanel,.sticky-bottom-action-bar{padding:var(--space-2)}.character-creator-sticky-actions{align-items:stretch}.character-creator-node-description,.character-creator-node-effects,.character-creator-node-warning{grid-column:2/-1;white-space:normal;overflow:visible;text-overflow:clip}.content-rail-actions{align-self:stretch}.item-list-expanded-panel{grid-template-columns:minmax(0,1fr)}.list-card-expanded-image{height:160px}.loot-roller-filter-grid,.scavenging-scene-filter-grid{grid-template-columns:minmax(0,1fr)}.loot-roll-leaf-meta{align-items:stretch}.character-skill-row{grid-template-columns:minmax(0,1fr);gap:var(--space-1)}.character-skillset-summary{align-items:flex-start}.character-skillset-summary-meta{width:100%}.character-skill-meta,.character-skill-total{text-align:left}.character-hit-location-row{grid-template-columns:minmax(0,1fr);align-items:start}.character-hit-location-dr-grid{justify-items:start}.pagination-controls{flex-direction:column;align-items:stretch}.profile-account-overview{grid-template-columns:1fr;justify-items:start}.profile-account-overview-row{grid-template-columns:1fr;gap:.25rem}.profile-overview-action-link{justify-self:start}.inventory-container-tab-row{overflow-x:auto;padding-bottom:.15rem}.key-value-row{grid-template-columns:minmax(0,1fr);gap:var(--space-1)}}@media (min-width:860px){.character-special-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}.sidebar-shell{position:fixed;inset:var(--sidebar-top-offset,0) 0 0 0;z-index:1200;display:grid;grid-template-columns:minmax(0,1fr)}.sidebar-overlay{position:absolute;inset:0;border:0;background:color-mix(in srgb,var(--ink-900) 62%,transparent);cursor:pointer}.sidebar-overlay[data-state=open]{animation:sidebar-overlay-fade-in .17s ease-out}.sidebar-overlay[data-state=closed]{animation:sidebar-overlay-fade-out .14s ease-in}.sidebar-panel{position:absolute;top:0;right:0;height:100%;width:min(42rem,100%);padding:var(--space-3) max(var(--space-3),env(safe-area-inset-right)) var(--space-3) var(--space-3);display:flex;align-items:stretch;justify-content:flex-end}.sidebar-panel[data-state=open]{animation:sidebar-panel-slide-in .19s ease-out}.sidebar-panel[data-state=closed]{animation:sidebar-panel-slide-out .15s ease-in}@keyframes sidebar-overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sidebar-overlay-fade-out{0%{opacity:1}to{opacity:0}}@keyframes sidebar-panel-slide-in{0%{transform:translateX(1.15rem);opacity:.25}to{transform:translateX(0);opacity:1}}@keyframes sidebar-panel-slide-out{0%{transform:translateX(0);opacity:1}to{transform:translateX(.95rem);opacity:.18}}.sidebar-card{width:100%;height:calc(100% - (var(--space-3) * 2));display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0;overflow:hidden;background:color-mix(in srgb,var(--surface) 100%,#fff);border:1px solid var(--border);box-shadow:-18px 0 44px color-mix(in srgb,var(--ink-900) 28%,transparent),var(--shadow)}.sidebar-header{display:flex;gap:var(--space-3);align-items:flex-start;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-subtle)}.sidebar-header-copy{min-width:0}.sidebar-header-copy h2{margin:0}.sidebar-header-copy p{margin:var(--space-1) 0 0}.sidebar-body{overflow-y:auto;padding:var(--space-4);display:grid;grid-gap:var(--space-4);gap:var(--space-4);align-content:start}.sidebar-footer{border-top:1px solid var(--border-subtle);padding:var(--space-4);display:flex;gap:var(--space-2);justify-content:flex-end;flex-wrap:wrap}.ui-dropdown-content,.ui-popover-content,.ui-tooltip-content{z-index:1300;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 100%,#fff);box-shadow:var(--shadow);color:var(--text)}.ui-dropdown-content,.ui-popover-content{min-width:12rem;padding:var(--space-2)}.ui-dropdown-item{display:flex;align-items:center;width:100%;border-radius:8px;padding:.45rem .6rem;font-size:.9rem;line-height:1.25;color:var(--text);outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.ui-dropdown-item[data-highlighted]{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand-strong)}.ui-dropdown-separator{height:1px;margin:var(--space-2) 0;background:var(--border-subtle)}.ui-tooltip-content{max-width:min(20rem,75vw);padding:.4rem .55rem;font-size:.78rem;line-height:1.3}.content-rail-title-button{border:0;background:none;padding:0;margin:0;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer}.content-rail-title-button:focus-visible,.content-rail-title-button:hover{text-decoration:underline}.stat-card-button{width:100%;text-align:left;border:1px solid var(--border-subtle);background:var(--surface-1);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer}.stat-card-button:focus-visible,.stat-card-button:hover{border-color:var(--border-strong)}.sidebar-json-block{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.8rem;line-height:1.35;padding:var(--space-3);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 80%,#fff);border:1px solid var(--border-subtle)}.image-editor-preview-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.image-editor-full-preview{width:100%;min-height:220px}.image-editor-drag-shell{border-radius:var(--radius-md);border:1px dashed var(--border);padding:var(--space-1);cursor:-webkit-grab;cursor:grab}.image-editor-drag-shell.is-dragging{cursor:-webkit-grabbing;cursor:grabbing}.image-editor-card-preview{width:100%;border:0}.image-editor-preview-portrait .image-editor-card-preview{height:220px}.image-editor-preview-square .image-editor-card-preview{aspect-ratio:1/1}.image-editor-preview-banner .image-editor-card-preview{aspect-ratio:2.8/1}.content-rail-summary{margin:0;line-height:1.35}.lore-chip-grid{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.cluster-row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.lore-chip-card{display:grid;grid-gap:.2rem;gap:.2rem;padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 80%,#fff)}.lore-chip-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.lore-section-body{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.lore-section-body p{margin:0;line-height:1.5}.lore-rich-content{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.lore-rich-block{margin:0;line-height:1.65}.lore-rich-block.is-centered{text-align:center}.lore-rich-heading{margin:.3rem 0 0}.lore-rich-rule{border:0;border-top:1px solid var(--border-subtle);margin:.2rem 0}.lore-rich-list{margin:0;padding-left:1.2rem;display:grid;grid-gap:.45rem;gap:.45rem}.lore-rich-list-item{line-height:1.55}.lore-rich-list-item.is-nested{margin-left:1rem;list-style-type:circle}.lore-inline-link{color:var(--brand);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--brand) 75%,transparent);text-decoration-color:color-mix(in srgb,var(--brand) 75%,transparent);text-underline-offset:.14em}.lore-inline-link:hover{color:color-mix(in srgb,var(--brand) 85%,#fff 15%)}.lore-inline-emphasis{color:color-mix(in srgb,var(--clr-gold) 72%,var(--text) 28%)}.lore-inline-underline{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}.lore-inline-tooltip{border-bottom:1px dashed color-mix(in srgb,var(--brand) 65%,var(--border));cursor:help}.lore-rich-embed-frame{width:100%;min-height:420px;background:var(--surface-2)}.lore-rich-embed-card,.lore-rich-embed-frame{border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.lore-rich-embed-card{display:grid;grid-gap:.35rem;gap:.35rem;padding:var(--space-3);background:color-mix(in srgb,var(--surface-2) 82%,#fff)}.lore-rich-embed-card code{font-family:var(--font-mono);font-size:.78rem;word-break:break-all}.lore-quest-seed-list{margin:0;padding-left:1.15rem;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.lore-quest-seed-list li{line-height:1.4}.lore-debug-details{padding:var(--space-3)}.lore-debug-details>summary{cursor:pointer;font-weight:600}.lore-debug-details[open]>summary{margin-bottom:var(--space-3)}.lore-compact-count{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;padding:0 var(--space-2);border-radius:999px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-2) 80%,#fff);font-weight:700}.vault-inline-heading{margin:0;font-size:1rem}.vault-tools-controls{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.vault-roll-result{padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-2) 75%,#fff);display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.vault-roll-result p{margin:0}.vault-roll-result-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.vault-d20-button{min-width:2.4rem;height:2rem;padding:0 .55rem;font-size:.75rem}.vault-roll-result-empty{background:color-mix(in srgb,var(--surface-2) 45%,#fff)}.vault-tools-output{min-height:220px}.vault-table-details{padding:var(--space-2)}.vault-table-summary{cursor:pointer;display:flex;gap:var(--space-2);align-items:center;justify-content:space-between;flex-wrap:wrap;font-weight:600}.vault-table-details[open] .vault-table-summary{margin-bottom:var(--space-2)}.vault-table-entry-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.vault-table-entry-list li{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:var(--space-2);gap:var(--space-2);align-items:start;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 70%,#fff)}.vault-table-entry-roll{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;padding:.15rem .4rem;border-radius:999px;font-weight:700;font-size:.85rem;border:1px solid var(--border-subtle);background:var(--surface-1)}.vault-table-entry-list li p{margin:.2rem 0 0}.vault-guidance-list,.vault-hook-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.vault-guidance-list li,.vault-hook-list li{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2);background:color-mix(in srgb,var(--surface-2) 75%,#fff);display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.vault-guidance-list li p,.vault-hook-list li p{margin:0}.vault-guidance-preview{line-height:1.4}.adventure-module-layout,.vault-section-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.adventure-module-layout{align-items:start;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr)}.adventure-scene-nav-panel{position:-webkit-sticky;position:sticky;top:calc(var(--shell-header-height, 0px) + 1rem);max-height:calc(100dvh - var(--shell-header-height, 0px) - 2rem);overflow:auto}.adventure-scene-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.4rem;gap:.4rem}.adventure-scene-list-button{width:100%;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-1);padding:.65rem .75rem;text-align:left;cursor:pointer;display:grid;grid-gap:.2rem;gap:.2rem}.adventure-scene-list-button:hover{border-color:var(--border-strong);background:var(--surface-2)}.adventure-scene-list-button.is-active{border-color:var(--border-strong);background:color-mix(in srgb,var(--surface-2) 70%,#fff)}.adventure-scene-list-label{margin:0;font-weight:600;line-height:1.2}.adventure-scene-header-aside{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(2,minmax(6.5rem,1fr))}.adventure-branch-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.adventure-branch-card{border-style:dashed}.adventure-inline-subheading{margin:0;font-size:.95rem}.encounter-preset-list{display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.encounter-preset-button{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-1);color:inherit;text-align:left;padding:.6rem .75rem;cursor:pointer}.encounter-preset-button:hover{border-color:var(--border-strong);background:var(--surface-2)}.encounter-runner-json-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.code-block,.code-input{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);font-size:.82rem}.code-block{margin:0;padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-1);overflow:auto;max-height:18rem;white-space:pre-wrap;word-break:break-word}.encounter-session-log-list{display:grid;grid-gap:.5rem;gap:.5rem}.encounter-session-log-entry{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-1);padding:.25rem .4rem}.encounter-session-log-entry>summary{cursor:pointer;display:grid;grid-gap:.2rem;gap:.2rem;list-style:none}.encounter-session-log-entry>summary::-webkit-details-marker{display:none}@media (max-width:860px){.node-tree-canvas-controls{top:.45rem;right:.45rem;gap:.25rem;padding:.28rem}.node-tree-control-button{min-width:1.85rem;height:1.85rem}.node-tree-canvas,.node-tree-canvas-shell{min-height:460px}.lore-rich-embed-frame{min-height:300px}.node-tree-branch-panel-item-label{font-size:10px}.sidebar-panel{width:100%;padding:0}.sidebar-card{height:100%;border-radius:0;border-left:0;border-right:0;border-top:0}.sidebar-header{flex-direction:column}.group-detail-banner-shell,.group-detail-summary-grid,.item-detail-overview-layout,.workbench-repair-form-grid,.workbench-source-grid{grid-template-columns:minmax(0,1fr)}.group-detail-banner-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.group-inline-resource-cards{min-width:0}.group-detail-inline-meta-grid,.group-inline-resource-cards{grid-template-columns:minmax(0,1fr)}.character-portrait-trigger{width:100%;min-height:120px}.character-portrait-frame{width:100%;height:120px}.vault-table-summary{align-items:flex-start}.adventure-module-layout,.vault-table-entry-list li{grid-template-columns:minmax(0,1fr)}.adventure-scene-nav-panel{position:static;max-height:none;overflow:visible}.adventure-scene-header-aside{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.encounter-runner-json-grid{grid-template-columns:1fr}}.character-sheet-density-compact .surface-card{padding:.72rem}.character-sheet-density-compact .content-rail-row{padding-top:.35rem;padding-bottom:.35rem}.character-sheet-density-compact .character-skill-row{padding-top:.12rem;padding-bottom:.12rem}.character-sheet-inventory-highlight{border:1px solid var(--color-accent);border-radius:.75rem;padding:.35rem;background:color-mix(in srgb,var(--color-accent-subtle) 28%,transparent)}.maps-layout{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(18rem,23rem) minmax(0,1fr);align-items:start}.maps-tool-grid{display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(4,minmax(0,1fr))}.maps-event-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.55rem;gap:.55rem}.maps-event-row{border:1px solid var(--color-border-muted);border-radius:.65rem;padding:.6rem;background:color-mix(in srgb,var(--color-surface-elevated) 78%,transparent)}@media (max-width:980px){.maps-layout{grid-template-columns:minmax(0,1fr)}.maps-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.visibility-selector{display:flex;flex-direction:column;gap:var(--space-2)}.visibility-option{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .9rem;border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;transition:border-color .15s ease,background .15s ease}.visibility-option:hover{border-color:var(--brand)}.visibility-option.is-selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent)}.visibility-option-label{font-weight:600;font-size:.9rem;color:var(--text)}.visibility-option.is-selected .visibility-option-label{color:var(--brand-strong)}.visibility-option-description{font-size:.8rem}.creator-accordion{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface-card)}.creator-accordion-section{border-bottom:1px solid var(--border)}.creator-accordion-section:last-child{border-bottom:none}.creator-accordion-summary{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;cursor:pointer;font-weight:600;font-size:.95rem;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--text)}.creator-accordion-summary::-webkit-details-marker{display:none}.creator-accordion-summary:hover{background:color-mix(in srgb,var(--brand) 6%,transparent)}.creator-accordion-chevron{font-size:.8rem;color:var(--muted);transition:transform .2s ease}details[open]>.creator-accordion-summary .creator-accordion-chevron{transform:rotate(90deg)}.creator-accordion-body{padding:1rem;border-top:1px solid var(--border)}.maps-page-shell{position:relative;width:100%;height:calc(100vh - var(--shell-header-height));overflow:hidden;background:var(--clr-midnight);display:flex;flex-direction:column}.maps-toolbar{position:absolute;top:var(--space-3);left:50%;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow)}.maps-toolbar-tool{display:flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.maps-toolbar-tool:hover{background:var(--surface-2);color:var(--text)}.maps-toolbar-tool.is-active{background:color-mix(in srgb,var(--clr-gold) 18%,transparent);border-color:var(--clr-gold);color:var(--clr-midnight)}.maps-toolbar-divider{width:1px;height:1.5rem;background:var(--border);flex-shrink:0}.maps-combat-bar{position:absolute;top:0;left:0;right:0;z-index:15;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:color-mix(in srgb,var(--clr-midnight) 94%,transparent);border-bottom:1px solid color-mix(in srgb,var(--clr-gold) 30%,transparent);overflow-x:auto}.maps-combat-bar-round{flex-shrink:0;font-family:var(--font-title);font-size:.85rem;color:var(--clr-gold);white-space:nowrap;padding-right:var(--space-3);border-right:1px solid var(--border)}.maps-combat-bar-chips{display:flex;gap:var(--space-2);flex:1 1;overflow-x:auto}.maps-combat-turn-chip{flex-shrink:0;padding:.2rem .65rem;border-radius:999px;border:1px solid var(--border);font-size:.78rem;color:var(--text-muted);white-space:nowrap;cursor:default}.maps-combat-turn-chip.is-active{border-color:var(--clr-gold);background:color-mix(in srgb,var(--clr-gold) 16%,transparent);color:var(--clr-gold);font-weight:600}.maps-canvas-svg{display:block;width:100%;height:100%;cursor:default;touch-action:none;flex:1 1}.maps-canvas-svg.tool-fog-conceal,.maps-canvas-svg.tool-fog-reveal{cursor:crosshair}.maps-canvas-svg.tool-ruler{cursor:cell}.maps-canvas-svg.tool-ping{cursor:pointer}.maps-token-popup{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);box-shadow:var(--shadow);min-width:14rem;max-width:22rem;z-index:50}.maps-token-popup-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.maps-token-popup-name{font-weight:600;font-size:.95rem}.maps-token-stat-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.maps-token-stat-chip{display:flex;flex-direction:column;align-items:center;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:3.5rem;text-align:center}.maps-token-stat-value{font-size:1.2rem;font-weight:700;font-family:var(--font-mono);color:var(--text)}.maps-token-stat-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.1rem}.maps-token-stat-chip.hp .maps-token-stat-value{color:#c0392b}.maps-token-stat-chip.rp .maps-token-stat-value{color:#27ae60}.maps-token-stat-chip.cp .maps-token-stat-value{color:#2980b9}.maps-token-stat-chip.pd .maps-token-stat-value{color:#8e44ad}.maps-token-stat-chip.md .maps-token-stat-value{color:#2471a3}.maps-token-stat-chip.sd .maps-token-stat-value{color:#1a8a6e}.maps-session-drawer{position:absolute;top:0;bottom:0;left:0;width:22rem;z-index:30;background:var(--surface);border-right:1px solid var(--border);transform:translateX(-100%);transition:transform .22s ease;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.maps-session-drawer.is-open{transform:translateX(0)}.maps-session-drawer-overlay{position:absolute;inset:0;z-index:29;background:rgba(0,0,0,.35);display:none}.maps-session-drawer-overlay.is-open{display:block}.maps-fog-overlay{fill:rgba(8,12,24,.82);pointer-events:none}.maps-token-ghost{opacity:.4;pointer-events:none}@keyframes maps-token-active-pulse{0%,to{stroke-opacity:1}50%{stroke-opacity:.35}}.maps-token-active-ring{stroke:var(--clr-gold);stroke-width:3;fill:none;animation:maps-token-active-pulse 1.8s ease-in-out infinite}.maps-ruler-line{stroke:var(--clr-gold);stroke-width:2;stroke-dasharray:6 4;pointer-events:none}.maps-ruler-label{fill:var(--clr-gold);font-family:var(--font-mono);font-size:12px;paint-order:stroke;stroke:var(--clr-midnight);stroke-width:3px;pointer-events:none}@keyframes maps-ping-expand{0%{r:.3;opacity:1}to{r:2.5;opacity:0}}.maps-ping-ring{animation:maps-ping-expand 1.4s ease-out forwards;fill:none;stroke:var(--clr-gold);stroke-width:.12;pointer-events:none}.maps-no-session{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-4);color:hsla(40,43%,95%,.5)}.maps-no-session h2{font-family:var(--font-title);color:var(--clr-ivory);font-size:1.4rem}.maps-list-layout{display:grid;grid-template-columns:minmax(18rem,28rem) minmax(0,1fr);grid-gap:var(--space-5);gap:var(--space-5);align-items:start}.maps-fog-preview{pointer-events:none}.maps-token-hover-ring{fill:none;stroke:rgba(246,204,87,.55);stroke-width:2;pointer-events:none}.maps-token-selected-ring{fill:none;stroke:var(--clr-gold);stroke-width:2.5;pointer-events:none}.maps-token-tray{position:fixed;top:0;right:0;bottom:0;width:300px;background:var(--surface-1);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;z-index:40;transform:translateX(100%);transition:transform .22s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 24px rgba(0,0,0,.35)}.maps-token-tray.is-open{transform:translateX(0)}.maps-token-tray-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.maps-token-tray-title{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.maps-token-tray-tabs{display:flex;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.maps-token-tray-tab{flex:1 1;padding:var(--space-2) var(--space-3);background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s}.maps-token-tray-tab:hover{color:var(--text-primary)}.maps-token-tray-tab.is-active{color:var(--clr-gold);border-bottom-color:var(--clr-gold)}.maps-token-tray-search{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.maps-token-tray-search input{width:100%;padding:var(--space-1) var(--space-2);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.8125rem;outline:none;box-sizing:border-box}.maps-token-tray-search input:focus{border-color:var(--clr-gold)}.maps-token-tray-list{flex:1 1;overflow-y:auto;padding:var(--space-2) var(--space-2) var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.maps-token-tray-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-subtle);transition:border-color .12s}.maps-token-tray-row:hover{border-color:rgba(246,204,87,.5)}.maps-token-tray-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:var(--surface-3);overflow:hidden}.maps-token-tray-avatar img{width:100%;height:100%;object-fit:cover}.maps-token-tray-avatar-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;color:hsla(0,0%,100%,.92);letter-spacing:.02em}.maps-token-tray-info{flex:1 1;min-width:0}.maps-token-tray-name{font-size:.8125rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.maps-token-tray-meta{font-size:.6875rem;color:var(--text-muted);margin-top:1px}.maps-token-tray-place-btn{padding:3px 10px;background:var(--clr-gold);color:#0b0f1d;border:none;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:700;cursor:pointer;flex-shrink:0;transition:opacity .12s;letter-spacing:.02em}.maps-token-tray-place-btn:hover{opacity:.82}.maps-token-tray-empty{color:var(--text-muted);font-size:.8125rem;text-align:center;padding:var(--space-5) var(--space-3)}.maps-token-tray-error{color:var(--error,#e05353);font-size:.8125rem;padding:var(--space-2) var(--space-3)}