:root{color-scheme:light;font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.45;font-weight:500;color:var(--ink);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--radius-xs: 10px;--radius-sm: 14px;--radius-md: 18px;--radius-lg: 24px;--accent-rgb: 155 61 35;--background-hue: 210deg;--background-saturation: 50%;--background-text-saturation: 35%;--surface-rgb: 250 252 255;--paper: hsl(var(--background-hue) var(--background-saturation) 98% / .95);--paper-soft: hsl(var(--background-hue) var(--background-saturation) 95% / .88);--ink: hsl(var(--background-hue) var(--background-text-saturation) 18%);--muted: hsl(var(--background-hue) var(--background-text-saturation) 40%);--accent: #9b3d23;--accent-deep: #6d2314;--danger: #8b1e1e;--border: hsl(var(--background-hue) var(--background-text-saturation) 30% / .18);--shadow: 0 18px 40px hsl(var(--background-hue) var(--background-text-saturation) 16% / .14);--page-background: radial-gradient( circle at top left, hsl(var(--background-hue) var(--background-saturation) 58% / .18), transparent 30% ), radial-gradient( circle at bottom right, hsl(var(--background-hue) var(--background-saturation) 46% / .14), transparent 34% ), linear-gradient( 180deg, hsl(var(--background-hue) var(--background-saturation) 94%) 0%, hsl(var(--background-hue) var(--background-saturation) 84%) 100% );--card-background: linear-gradient( 180deg, hsl(var(--background-hue) var(--background-saturation) 99% / .9), hsl(var(--background-hue) var(--background-saturation) 94% / .96) ), repeating-linear-gradient( 0deg, hsl(var(--background-hue) var(--background-saturation) 30% / .016), hsl(var(--background-hue) var(--background-saturation) 30% / .016) 1px, transparent 1px, transparent 8px );--panel-background: hsl(var(--background-hue) var(--background-saturation) 97% / .9);--panel-background-strong: hsl(var(--background-hue) var(--background-saturation) 99% / .96);--panel-background-soft: hsl(var(--background-hue) var(--background-saturation) 93% / .74);--input-background: hsl(var(--background-hue) var(--background-saturation) 99% / .96);--surface-tint: rgb(var(--accent-rgb) / .08);--surface-tint-strong: rgb(var(--accent-rgb) / .14);--line-soft: hsl(var(--background-hue) var(--background-text-saturation) 30% / .08);--line-strong: hsl(var(--background-hue) var(--background-text-saturation) 30% / .14);--overlay-background: hsl(var(--background-hue) var(--background-text-saturation) 10% / .48);--text-on-accent: #ffffff;--glow-left: hsl(var(--background-hue) var(--background-saturation) 55% / .22);--glow-right: hsl(var(--background-hue) var(--background-saturation) 45% / .18);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{color-scheme:dark;color:var(--ink);--paper: hsl(var(--background-hue) var(--background-saturation) 14% / .95);--paper-soft: hsl(var(--background-hue) var(--background-saturation) 18% / .92);--surface-rgb: 31 36 42;--ink: hsl(var(--background-hue) var(--background-text-saturation) 92%);--muted: hsl(var(--background-hue) var(--background-text-saturation) 72%);--border: hsl(var(--background-hue) var(--background-text-saturation) 86% / .14);--shadow: 0 18px 40px hsl(var(--background-hue) var(--background-text-saturation) 3% / .35);--page-background: radial-gradient( circle at top left, hsl(var(--background-hue) var(--background-saturation) 55% / .16), transparent 30% ), radial-gradient( circle at bottom right, hsl(var(--background-hue) var(--background-saturation) 42% / .16), transparent 34% ), linear-gradient( 180deg, hsl(var(--background-hue) var(--background-saturation) 8%) 0%, hsl(var(--background-hue) var(--background-saturation) 16%) 100% );--card-background: linear-gradient( 180deg, hsl(var(--background-hue) var(--background-saturation) 20% / .9), hsl(var(--background-hue) var(--background-saturation) 12% / .96) ), repeating-linear-gradient( 0deg, rgba(255, 255, 255, .016), rgba(255, 255, 255, .016) 1px, transparent 1px, transparent 8px );--panel-background: hsl(var(--background-hue) var(--background-saturation) 24% / .88);--panel-background-strong: hsl(var(--background-hue) var(--background-saturation) 17% / .96);--panel-background-soft: hsl(var(--background-hue) var(--background-saturation) 22% / .78);--input-background: hsl(var(--background-hue) var(--background-saturation) 14% / .96);--surface-tint: rgb(var(--accent-rgb) / .16);--surface-tint-strong: rgb(var(--accent-rgb) / .24);--line-soft: hsl(var(--background-hue) var(--background-text-saturation) 86% / .08);--line-strong: hsl(var(--background-hue) var(--background-text-saturation) 86% / .14);--overlay-background: hsl(var(--background-hue) var(--background-text-saturation) 3% / .74);--text-on-accent: #ffffff;--glow-left: hsl(var(--background-hue) var(--background-saturation) 55% / .16);--glow-right: hsl(var(--background-hue) var(--background-saturation) 42% / .16)}:root[data-performance-mode=on]{--shadow: 0 6px 14px hsl(var(--background-hue) var(--background-text-saturation) 16% / .08);--page-background: linear-gradient( 180deg, hsl(var(--background-hue) var(--background-saturation) 94%) 0%, hsl(var(--background-hue) var(--background-saturation) 84%) 100% );--card-background: var(--paper);--panel-background: var(--paper-soft);--panel-background-strong: var(--paper)}:root[data-theme=dark][data-performance-mode=on]{--page-background: linear-gradient( 180deg, hsl(var(--background-hue) var(--background-saturation) 8%) 0%, hsl(var(--background-hue) var(--background-saturation) 16%) 100% )}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;color:var(--ink);background:var(--page-background)}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:.48rem .62rem;background:var(--input-background);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:none;border-color:rgb(var(--accent-rgb) / .6);box-shadow:0 0 0 4px rgb(var(--accent-rgb) / .12)}textarea{min-height:6rem;resize:vertical}a{color:inherit;text-decoration:none}*{scrollbar-color:rgb(var(--accent-rgb) / .34) transparent}*::-webkit-scrollbar{width:.72rem;height:.72rem}*::-webkit-scrollbar-track{background:transparent;border-radius:999px}*::-webkit-scrollbar-thumb{border:.2rem solid transparent;border-radius:999px;background-clip:padding-box;background-color:rgb(var(--accent-rgb) / .34)}*::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--accent-rgb) / .48)}.app-shell{position:relative;overflow:hidden;padding:clamp(.55rem,1vw,.95rem)}.app-shell-character-select{min-height:100vh;overflow:auto;background:radial-gradient(circle at 50% 12%,rgb(var(--accent-rgb) / .18),transparent 28rem),linear-gradient(180deg,#070808,#111314 52%,#080909);color:#f6f6f6}.background-glow{position:fixed;width:28rem;height:28rem;border-radius:999px;filter:blur(70px);opacity:.65;pointer-events:none}.background-glow-left{top:-9rem;left:-7rem;background:var(--glow-left)}.background-glow-right{right:-4rem;bottom:-10rem;background:var(--glow-right)}.sheet{position:relative;isolation:isolate;max-width:1560px;margin:0 auto;padding-bottom:4.4rem}.character-select-screen{position:relative;isolation:isolate;min-height:calc(100vh - 1.9rem);display:grid;place-items:center;padding:clamp(2rem,5vw,5rem) var(--space-4)}.character-select-content{width:min(100%,980px);display:grid;justify-items:center;gap:clamp(1.5rem,3vw,2.4rem)}.character-select-content h1{margin:0;color:#f7f7f7;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:500;letter-spacing:0}.character-select-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));width:min(100%,860px);gap:clamp(1rem,2.4vw,1.6rem);align-items:start}.character-select-entry{display:grid;gap:.7rem;justify-items:center;min-width:0}.character-select-card{width:100%;aspect-ratio:1;border:.18rem solid transparent;border-radius:4px;padding:0;overflow:hidden;background:#ffffff1a;color:#f7f7f7;box-shadow:none}.character-select-card:hover,.character-select-card:focus-visible,.character-select-card-active{border-color:#f7f7f7;transform:translateY(-2px)}.character-select-card-add{display:grid;place-items:center;background:#ffffff14;color:#ffffffad}.character-select-card-add:hover,.character-select-card-add:focus-visible{color:#f7f7f7}.character-select-image,.character-select-fallback{width:100%;height:100%}.character-select-image{display:block;object-fit:cover}.character-select-fallback{display:grid;place-items:center;background:linear-gradient(135deg,rgb(var(--accent-rgb) / .86),#ffffff1f),#2a2d30;font-size:clamp(2rem,5vw,3.6rem);font-weight:700}.character-select-plus{width:clamp(2.6rem,6vw,4rem);height:clamp(2.6rem,6vw,4rem);stroke-width:1.5}.character-select-name{display:grid;gap:.15rem;justify-items:center;max-width:100%;color:#fff9;text-align:center}.character-select-name strong{max-width:100%;overflow-wrap:anywhere;color:#ffffffc7;font-size:1.05rem;font-weight:600}.character-select-name span{max-width:100%;overflow-wrap:anywhere;font-size:.82rem}.character-manage-toggle,.character-manage-button{border:1px solid rgba(255,255,255,.46);border-radius:0;background:transparent;color:#ffffff9e;text-transform:uppercase;letter-spacing:.18em}.character-manage-toggle{min-width:12rem;padding:.7rem 1.4rem}.character-manage-toggle:hover,.character-manage-toggle-active,.character-manage-button:hover:not(:disabled){border-color:#f7f7f7;color:#f7f7f7}.character-manage-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.character-manage-button{padding:.38rem .58rem;font-size:.68rem}.character-manage-button:disabled{opacity:.35;cursor:not-allowed}.dice-surface-overlay{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:16;opacity:0;transition:opacity .18s ease}.dice-surface-overlay-active{opacity:1}.dice-surface-result{position:fixed;top:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.6rem;min-width:min(28rem,calc(100% - 2rem));max-width:min(34rem,calc(100% - 2rem));padding:.82rem 2.6rem .82rem .92rem;border:1px solid var(--border);border-radius:20px;background:var(--card-background);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:1;pointer-events:auto}.dice-surface-result-type{display:inline-flex;align-items:center;justify-content:center;min-width:6rem;padding:.38rem .66rem;border-radius:999px;border:1px solid rgb(var(--accent-rgb) / .16);background:rgb(var(--accent-rgb) / .1);color:var(--accent-deep);font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;align-self:flex-start}.dice-surface-result-icon{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;min-width:1.9rem;height:1.9rem;border-radius:999px;border:1px solid rgb(var(--accent-rgb) / .14);background:rgb(var(--accent-rgb) / .08);color:var(--accent-deep);align-self:flex-start}.dice-surface-result-copy{min-width:0;display:grid;gap:.14rem;flex:1 1 auto}.dice-surface-result-label,.dice-surface-result-detail{margin:0}.dice-surface-result-label{color:var(--ink);font-size:.94rem;font-weight:700;line-height:1.1}.dice-surface-result-detail{color:var(--muted);font-size:.77rem;line-height:1.2}.dice-surface-result-total{font-size:2rem;line-height:1;color:var(--accent-deep);align-self:flex-start;padding-top:.12rem}.dice-surface-result-close{position:absolute;top:.5rem;right:.5rem;display:inline-flex;align-items:center;justify-content:center;width:1.55rem;min-width:1.55rem;height:1.55rem;padding:0;color:var(--accent-deep);cursor:pointer;background-color:transparent;border:0;transition:transform .14s ease}.dice-surface-slot{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .36s ease}.dice-surface-slot canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important}.dice-surface-slot-active{opacity:1}.dice-surface-slot-settled{opacity:0;transition-duration:.78s}.card{background:var(--card-background);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);padding:.68rem;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3)}.hero-content{min-width:0}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--accent)}h1,h2,h3{margin:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,serif;font-weight:700}h1{margin-top:.25rem;font-size:clamp(1.75rem,2.5vw,2.5rem);line-height:.98}.hero-copy,.section-header p,.history-formula,.history-detail,.history-time,.empty-state,.preview-summary,.tab-caption{color:var(--muted)}.hero-copy{max-width:34rem;margin:.4rem 0 0;font-size:.9rem}.hero-summary{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.hero-pill{background:var(--surface-tint)}.hero-actions,.button-row,.lookup-actions,.lookup-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hero-actions{justify-content:flex-end}.identity-bar{display:grid;gap:0;margin-bottom:var(--space-2);padding:.58rem .72rem}.identity-bar-content{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center}.identity-bar-primary{display:flex;align-items:center;gap:var(--space-3);min-width:0}.identity-bar-side{display:grid;justify-items:end;gap:.4rem;flex:0 0 auto}.identity-portrait-frame{width:4.75rem;height:6.75rem;flex:0 0 4.75rem;border-radius:16px;overflow:hidden;border:1px solid var(--line-strong);background:linear-gradient(135deg,rgb(var(--accent-rgb) / .18),rgb(var(--accent-rgb) / .3));box-shadow:inset 0 0 0 1px #fff8ee33}.identity-portrait-image,.identity-portrait-fallback{width:100%;height:100%}.identity-portrait-image{display:block;object-fit:cover}.identity-portrait-fallback{display:grid;place-items:center;color:var(--text-on-accent);font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,serif;font-size:1.5rem;font-weight:700;letter-spacing:.08em}.identity-bar-main{min-width:0}.identity-subtitle{margin:.08rem 0 0;color:var(--muted);font-size:.9rem;font-weight:600}.identity-summary{display:flex;flex-wrap:wrap;gap:.25rem .65rem;margin-top:.22rem}.identity-status{display:grid;justify-items:end;gap:.08rem;flex-shrink:0}.identity-meta-item{color:var(--muted);font-size:.75rem;white-space:nowrap}.identity-actions{justify-content:flex-end;gap:.35rem}.identity-actions .action-button,.identity-actions .subtle-button{padding:.36rem .6rem}.identity-actions .identity-icon-button{width:2.02rem;min-width:2.02rem;justify-content:center;padding-inline:0}.identity-icon-button i{font-size:.78rem;line-height:1}.profile-media-actions{margin-top:var(--space-3)}.action-button,.roll-button,.mode-button,.subtle-button,.tab-button,.lookup-result,.utility-launcher{border:0;border-radius:999px;padding:.46rem .74rem;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease}.action-button,.roll-button,.mode-button,.subtle-button,.tab-button,.utility-launcher,.toast-close{display:inline-flex;align-items:center;justify-content:center;gap:.42rem}.action-button,.roll-button,.mode-button-active,.tab-button-active,.utility-launcher-active{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:var(--text-on-accent);box-shadow:0 12px 24px #6d23142e}.action-button-danger{background:linear-gradient(135deg,#7b1e16,#4f0f12)}.action-button-ghost,.subtle-button,.mode-button,.tab-button,.lookup-result,.link-button{background:var(--surface-tint);color:var(--ink)}.action-button:hover,.roll-button:hover,.subtle-button:hover,.mode-button:hover,.tab-button:hover,.lookup-result:hover,.utility-launcher:hover{transform:translateY(-1px)}.action-button:disabled,.subtle-button:disabled,.roll-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.tabs{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);position:sticky;top:.55rem;z-index:5}.tab-nav{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tab-button{text-transform:none}.tab-panel{min-width:0}.play-dashboard,.pane-stack,.setup-action-list,.setup-generated-list{display:grid;gap:var(--space-2)}.stat-ribbon{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(350px,1.5fr);gap:var(--space-2);padding:.42rem;align-items:start}.metric-ribbon,.ability-ribbon{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.32rem;height:100%}.ability-ribbon-card,.metric-ribbon-card,.sense-pill,.feature-entry-card,.setup-action-card,.setup-generated-card{border-radius:16px;padding:.42rem .46rem;background:var(--panel-background);border:1px solid var(--line-strong)}.setup-action-card,.setup-generated-card{display:grid;gap:.45rem}.setup-action-card h3,.setup-action-card p,.setup-generated-card h3,.setup-generated-card p{margin:0}.setup-action-card p,.setup-generated-card p{color:var(--muted);line-height:1.5;white-space:pre-wrap}.setup-generated-card{background:rgb(var(--accent-rgb) / .06)}.rules-managed-notice{display:grid;gap:.15rem;padding:.7rem .8rem;border-left:3px solid var(--accent);border-radius:var(--radius-xs);background:var(--surface-tint)}.rules-operation-panel{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;padding:.85rem;border:1px solid var(--border);border-radius:.85rem;background:color-mix(in srgb,var(--surface-muted) 72%,transparent)}.rules-operation-panel .field{min-width:12rem;margin:0}.status-pill-active{color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.rules-managed-notice span{color:var(--muted);font-size:.88rem}.source-reference-details{display:grid;gap:0;margin:0 0 var(--space-4);border:1px solid var(--line-soft);border-radius:var(--radius-sm);overflow:hidden}.source-reference-details>div{display:grid;grid-template-columns:minmax(7rem,.42fr) minmax(0,1fr);gap:var(--space-3);padding:.62rem .72rem;background:rgb(var(--surface-rgb) / .52)}.source-reference-details>div+div{border-top:1px solid var(--line-soft)}.source-reference-details dt{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.source-reference-details dd{margin:0;color:var(--ink);font-weight:700}.source-reference-explanation{margin:0;color:var(--ink);line-height:1.55}.source-reference-link{width:fit-content}.rules-managed-details :disabled{cursor:not-allowed;opacity:.62}.ability-ribbon-card{display:grid;gap:.24rem;text-align:center}.ability-ribbon-header,.ability-ribbon-top,.metric-ribbon-header,.surface-pane-header,.feature-entry-header,.spell-group-header,.pane-toolbar,.dashboard-row,.dashboard-row-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.ability-ribbon-header,.ability-ribbon-top{align-items:flex-start}.ability-ribbon-meta{display:inline-flex;align-items:center;gap:.12rem}.pane-toolbar-title{display:inline-flex;align-items:center;gap:.18rem}.play-section-lock{width:1.5rem;height:1.5rem;color:var(--muted)}.play-section-lock-active{background:rgb(var(--accent-rgb) / .12);color:var(--accent-deep)}.play-section-fieldset{min-inline-size:0}.ability-score-chip{justify-self:center;width:1.75rem;height:1.25rem;padding:.12rem .38rem;border-radius:999px;background:var(--surface-tint);color:var(--muted);font-weight:700;font-size:.75rem}.ability-roll-pill{min-height:2.15rem;padding:.18rem .42rem;font-size:1.05rem}.stats-layout-shell,.stats-layout-sections{display:grid;gap:var(--space-2)}.stats-layout-toolbar,.stats-layout-zone-toolbar,.stats-layout-toolbar-actions,.stats-layout-hidden-tray,.stats-layout-controls,.stats-layout-stepper{display:flex;align-items:center;gap:.42rem}.stats-layout-toolbar{justify-content:space-between}.stats-layout-customize-button{display:inline-grid;place-items:center;width:1.55rem;height:1.55rem;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted)}.stats-layout-customize-button:hover,.stats-layout-customize-button-active{background:transparent;color:var(--accent-deep)}.stats-layout-customize-button:focus-visible{outline:2px solid rgb(var(--accent-rgb) / .5);outline-offset:2px}.stats-layout-customize-icon{width:.92rem;height:.92rem}.stats-layout-zone-toolbar{justify-content:flex-start}.stats-layout-toolbar h2{margin:0;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase}.stats-top-grid,.stats-sections-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:4.75rem;grid-auto-flow:row;gap:.42rem;align-items:stretch}.stats-sections-grid{grid-auto-rows:6.25rem}.stats-layout-item{grid-column:span var(--stats-layout-width) / span var(--stats-layout-width);grid-row:span var(--stats-layout-height) / span var(--stats-layout-height);position:relative;display:grid;gap:.35rem;min-width:0;min-height:0}.stats-layout-item-customizing{border:1px dashed rgb(var(--accent-rgb) / .32);border-radius:var(--radius-sm);background:rgb(var(--accent-rgb) / .045);cursor:grab}.stats-layout-item-customizing:active{cursor:grabbing}.stats-layout-item-dragging{z-index:5;opacity:.78}.stats-layout-drag-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;border-radius:inherit;cursor:grab}.stats-layout-drag-layer:active{cursor:grabbing}.stats-layout-card-inner{min-height:100%}.stats-layout-item .metric-ribbon-card-hp,.stats-layout-item .metric-ribbon-card-rest,.stats-layout-item .metric-ribbon-card-death{grid-column:auto}.stats-layout-item .section-card,.stats-layout-item .surface-pane{min-height:100%}.stats-layout-controls{position:absolute;z-index:7;bottom:calc(100% + .32rem);left:50%;width:max-content;max-width:min(26rem,calc(100vw - 2rem));flex-wrap:wrap;justify-content:flex-start;padding:.18rem;border-radius:var(--radius-xs);background:var(--panel-background);box-shadow:inset 0 0 0 1px var(--line-soft),0 .45rem 1.2rem #222f3e1f;opacity:0;pointer-events:none;cursor:default;transform:translate(-50%,.2rem);transition:opacity .15s ease,transform .15s ease}.stats-layout-item-customizing:hover .stats-layout-controls,.stats-layout-item-customizing:focus-within .stats-layout-controls,.stats-layout-item-controls-open .stats-layout-controls{opacity:1;pointer-events:auto;transform:translate(-50%)}.stats-layout-control-button{display:inline-flex;align-items:center;justify-content:center;min-width:1.65rem;min-height:1.55rem;padding:.15rem .3rem;border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--panel-background-strong);color:var(--ink);font-size:.68rem;font-weight:800;cursor:pointer}.stats-layout-control-button:disabled{cursor:not-allowed;opacity:.45}.stats-layout-control-label,.stats-layout-width-value{min-width:1.2rem;color:var(--muted);font-size:.68rem;font-weight:800;text-align:center}.stats-layout-control-label{min-width:auto;letter-spacing:.06em;text-transform:uppercase}.stats-layout-hidden-tray{flex-wrap:wrap;padding:.36rem;border-radius:var(--radius-sm);background:var(--surface-tint)}.stats-layout-hidden-tray span,.stats-layout-zone-toolbar span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.metric-ribbon{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:.42rem;align-content:start}.metric-ribbon-card{display:grid;gap:.38rem;align-content:start;min-height:100%;padding:.46rem .5rem}.metric-ribbon-card-ac,.metric-ribbon-card-secondary,.metric-ribbon-card-status,.metric-ribbon-card-inspiration{min-height:4.75rem}.metric-ribbon-card-hp{gap:.4rem;grid-column:span 2 / span 2}.metric-ribbon-card-rest{grid-column:span 2 / span 2}.metric-ribbon-card-death{grid-column:span 1 / span 1;min-height:4.75rem}.metric-ribbon-header{align-items:center;min-height:1.1rem;gap:.35rem}.metric-ribbon-header button{height:1rem}.metric-ribbon-label,.metric-ribbon-card small{color:var(--muted);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.metric-ribbon-card strong{font-size:1rem;line-height:1}.metric-ribbon-card-ac strong{font-size:1.65rem}.metric-ribbon-card-hp strong{font-size:1.55rem;letter-spacing:-.03em}.rest-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.rest-button{min-height:2rem;justify-content:center;padding-inline:.5rem}.hit-dice-panel{display:grid;gap:.32rem}.hit-dice-summary{color:var(--muted);font-size:.72rem;font-weight:700}.hit-dice-actions{display:flex;flex-wrap:wrap;gap:.3rem}.hit-die-button{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:.28rem;min-height:1.75rem;padding:.18rem .42rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-tint);color:var(--text);font-size:.74rem;font-weight:800;cursor:pointer}.hit-die-button:disabled{cursor:not-allowed;opacity:.48}.hit-die-button strong{font-size:.72rem}.hit-dice-empty{margin:0;font-size:.72rem}.metric-roll-pill{min-height:1.95rem;padding:.18rem .42rem;font-size:1rem}.death-save-panel{display:grid;gap:.3rem;align-content:center}.death-save-row{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.play-adjust-value{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.death-save-pips{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.hp-inline-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem}.hp-readout{position:relative;display:grid;justify-items:center;min-width:0}.hp-readout-button{display:grid;justify-items:center;gap:.08rem;min-width:5.2rem;padding:.12rem .42rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:inherit;cursor:pointer}.hp-readout-button:hover{border-color:rgb(var(--accent-rgb) / .28);background:rgb(var(--accent-rgb) / .08)}.hp-readout-button span{color:var(--muted);font-size:.66rem;font-weight:800;line-height:1}.hp-popover{position:absolute;z-index:8;top:calc(100% + .34rem);left:50%;display:grid;grid-template-columns:repeat(3,minmax(3.2rem,1fr));gap:.42rem;width:max-content;min-width:12rem;padding:.48rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper);background-clip:padding-box;box-shadow:var(--shadow);transform:translate(-50%)}.hp-popover label{display:grid;gap:.18rem;color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.hp-popover input{width:3.4rem;min-height:1.85rem;padding:.18rem .34rem;border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--panel-background);color:var(--ink);font:inherit;font-size:.84rem}.hp-popover .subtle-button{grid-column:1 / -1;min-height:1.8rem;padding:.18rem .5rem;font-size:.72rem}.hp-adjust-group{display:inline-flex;align-items:center;gap:.35rem}.play-adjust-button,.death-save-pip{border:1px solid var(--line-strong);background:var(--panel-background-strong);color:var(--ink);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.play-adjust-button{min-width:2rem;padding:.26rem .45rem;border-radius:999px;font-size:.72rem;font-weight:700}.play-adjust-button:hover,.death-save-pip:hover{transform:translateY(-1px);border-color:rgb(var(--accent-rgb) / .4)}.play-adjust-button:focus-visible,.death-save-pip:focus-visible{outline:none;box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .14)}.death-save-pip{width:1rem;height:1rem;padding:0;border-radius:999px}.metric-ribbon-symbol{color:var(--muted);font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.death-save-pip-success.death-save-pip-active{background:linear-gradient(135deg,#3f8f61,#2a6846);border-color:#3f8f61}.death-save-pip-failure.death-save-pip-active{background:linear-gradient(135deg,#b14d4d,#7f2d2d);border-color:#b14d4d}.subtle-button-active{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff8f2}.inspiration-radio-single{display:grid;place-items:center;min-height:100%}.inspiration-radio-control{width:2.2rem;height:2.2rem;padding:0;border-radius:999px;border:1px solid var(--line-strong);background:var(--panel-background-strong);color:var(--muted);display:grid;place-items:center;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease}.inspiration-radio-control:hover{transform:translateY(-1px);border-color:rgb(var(--accent-rgb) / .4)}.inspiration-radio-control:focus-visible{outline:none;box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .14)}.inspiration-radio-control-active{border-color:rgb(var(--accent-rgb) / .48);background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:var(--text-on-accent);box-shadow:0 0 0 4px rgb(var(--accent-rgb) / .12)}.inspiration-radio-core{display:grid;place-items:center;width:.95rem;height:.95rem;border-radius:999px;border:1.5px solid currentColor;font-size:.62rem;font-weight:700;line-height:1}.dashboard-grid{display:grid;grid-template-columns:minmax(186px,.7fr) minmax(250px,.9fr) minmax(0,2.3fr);gap:var(--space-2);align-items:start}.dashboard-column{display:grid;gap:var(--space-2);min-width:0}.dashboard-column-skills .section-card,.dashboard-column-surface .surface-pane{min-height:100%}.dashboard-list{display:grid;gap:.14rem}.dashboard-list-scroll{max-height:54rem;overflow:auto;padding-right:.2rem}.dashboard-list-header{display:grid;align-items:center;color:var(--muted);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:0 .08rem .18rem}.dashboard-list-header-saves{grid-template-columns:1fr 1fr 58px 24px}.dashboard-list-header-skills{grid-template-columns:1fr 34px minmax(0,1.45fr) 58px 24px}.dashboard-row{padding:.18rem .12rem;border-radius:10px;border-bottom:1px solid var(--line-soft)}.dashboard-row:last-child{border-bottom:0}.dashboard-row-tier-half,.dashboard-row-tier-proficient,.dashboard-row-tier-expertise{background:rgb(var(--accent-rgb) / .08)}.dashboard-row-save{display:grid;grid-template-columns:1fr 58px 24px;align-items:center}.dashboard-row-main{justify-content:flex-start;min-width:0}.dashboard-row-label{font-weight:700;font-size:.8rem}.dashboard-row-ability{color:var(--accent);font-size:.6rem;font-weight:700;min-width:1.7rem;letter-spacing:.06em}.skill-dashboard-row{display:grid;grid-template-columns:1fr 58px 24px;align-items:center}.dashboard-copy,.summary-stack p,.feature-entry-subtitle,.pane-subtitle{margin:0;color:var(--muted)}.summary-stack{display:grid;gap:.5rem}.summary-stack h3{margin-bottom:.12rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.senses-list{display:grid;gap:.3rem;margin-bottom:.35rem}.sense-pill{display:flex;justify-content:space-between;align-items:center;padding:.34rem .48rem;font-size:.8rem}.sense-pill-note{justify-content:flex-start;align-items:flex-start;min-height:2rem;color:var(--muted);line-height:1.35}.surface-pane{display:grid;gap:var(--space-2);padding:.62rem .72rem}.surface-nav,.filter-chip-row{display:flex;flex-wrap:wrap;gap:.42rem 1rem}.surface-tab,.filter-chip{border:0;padding:.2rem 0 .5rem;background:transparent;color:var(--muted);font-weight:700}.surface-nav{border-bottom:1px solid var(--line-strong);border-radius:var(--radius-sm);background-clip:padding-box}.surface-tab{position:relative;border-radius:0}.surface-tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:999px;background:transparent}.surface-tab-active{color:var(--accent-deep)}.surface-tab-active:after{background:var(--accent)}.filter-chip{border-radius:999px;padding:.3rem .62rem;background:var(--surface-tint);font-size:.72rem;line-height:1.1}.filter-chip-active{background:var(--surface-tint-strong);color:var(--accent-deep);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / .24)}.search-filter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:start}.search-filter-spacer{display:none}.subtle-button-active{background:var(--surface-tint-strong);color:var(--accent-deep);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / .24)}.selected-filter-strip{display:flex;flex-wrap:wrap;gap:.38rem}.selected-filter-chip{display:inline-flex;align-items:center;gap:.35rem;border:0;border-radius:999px;padding:.3rem .58rem;background:var(--surface-tint);color:var(--accent-deep);font-size:.72rem;font-weight:700}.selected-filter-chip-clear{background:transparent;box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / .2)}.filter-modal-grid{display:grid;gap:.9rem}.filter-modal-section{display:grid;gap:.45rem;border-radius:var(--radius-sm)}.filter-modal-section h3{font-size:.82rem}.filter-chip-grid{display:flex;flex-wrap:wrap;gap:.36rem}.combat-summary-strip{display:flex;flex-wrap:wrap;gap:var(--space-2)}.surface-table{display:grid;gap:.5rem;min-width:0}.surface-table-head{color:var(--muted);font-size:.6rem;text-transform:uppercase;letter-spacing:.08em}.surface-table-entry{padding:.44rem 0;border-top:1px solid var(--line-strong)}.surface-table-entry-nested{margin-left:1.15rem;padding-left:.8rem;border-left:1px solid var(--line-strong)}.surface-table-details{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line-soft);border-radius:var(--radius-sm)}.compact-entry-menu{display:grid;gap:.65rem;padding:.65rem;border:1px solid var(--line-soft);background:rgb(var(--surface-rgb) / .42)}.compact-entry-menu .spell-detail-meta,.compact-entry-menu .rules-managed-notice,.compact-entry-menu .rules-operation-panel,.compact-entry-menu .field,.compact-entry-menu .checkbox-field,.compact-entry-menu p{margin:0}.compact-entry-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.55rem}.compact-entry-menu-grid .checkbox-field{align-self:end;min-height:2.2rem;padding:0 0 .22rem}.compact-entry-menu-more{border-top:1px solid var(--line-soft);padding-top:.48rem}.compact-entry-menu-more>summary{width:fit-content;color:var(--accent-deep);font-size:.76rem;font-weight:750;cursor:pointer}.compact-entry-menu-more[open]>summary{margin-bottom:.6rem}.compact-entry-menu-more>.field,.compact-entry-menu-more>.compact-entry-menu-grid+.field{margin-top:.55rem}.compact-entry-menu-actions{justify-content:flex-end}.inventory-entry-menu-actions{justify-content:flex-start}.entry-menu-note,.entry-rule-notices{color:var(--muted);font-size:.78rem}.entry-rule-notices{display:grid;gap:.2rem;padding:.48rem .58rem;border-left:3px solid var(--warning, #b7791f);background:color-mix(in srgb,var(--warning, #b7791f) 8%,transparent)}.concentration-banner{display:grid;grid-template-columns:minmax(12rem,1fr) auto;gap:.8rem;align-items:center;padding:.7rem .8rem;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-left:4px solid var(--accent);border-radius:var(--radius-md);background:linear-gradient(110deg,rgb(var(--accent-rgb) / .15),transparent 58%),var(--panel-background-soft);box-shadow:0 8px 24px rgb(var(--accent-rgb) / .08)}.concentration-banner-copy{display:grid;gap:.08rem;min-width:0}.concentration-banner-copy h3{overflow:hidden;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.concentration-banner-copy>span:last-child{color:var(--muted);font-size:.74rem}.concentration-banner-kicker{color:var(--accent-deep);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.concentration-banner-actions{display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:.42rem}.concentration-banner-actions .field{width:5.1rem;margin:0}.concentration-banner-actions .field>span{font-size:.61rem}.concentration-banner-actions .field input,.concentration-save-button{min-height:2rem}.action-row{display:grid;grid-template-columns:minmax(180px,1fr) 4.25rem 4.25rem 10rem minmax(6.9rem,max-content) 2rem;gap:.5rem;align-items:center}.resource-counter{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;gap:.14rem;min-width:0}.resource-counter-button{display:inline-grid;place-items:center;min-width:1.42rem;min-height:1.48rem;padding:.08rem .22rem;border:1px solid rgb(var(--accent-rgb) / .24);border-radius:var(--radius-xs);background:rgb(var(--surface-rgb) / .74);color:var(--accent-deep);font-size:.66rem;font-weight:800}.resource-counter-button:hover:not(:disabled){border-color:rgb(var(--accent-rgb) / .42);background:rgb(var(--accent-rgb) / .1)}.resource-counter-button:disabled{cursor:not-allowed;opacity:.42}.resource-counter-value{display:inline-flex;align-items:baseline;justify-content:center;gap:.08rem;min-width:2.9rem;min-height:1.48rem;padding:.08rem .3rem;border:1px solid var(--line);border-radius:var(--radius-xs);background:rgb(var(--accent-rgb) / .08);color:var(--ink);font-size:.72rem;white-space:nowrap;cursor:pointer}.resource-counter-value strong{color:var(--accent-deep);font-size:.84rem}.resource-counter-value:hover{border-color:rgb(var(--accent-rgb) / .34);background:rgb(var(--accent-rgb) / .14)}.resource-counter-popover{position:absolute;z-index:8;top:calc(100% + .32rem);left:50%;display:grid;grid-template-columns:repeat(2,minmax(3.4rem,1fr));gap:.42rem;width:max-content;min-width:9.2rem;padding:.48rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper);background-clip:padding-box;box-shadow:var(--shadow);transform:translate(-50%)}.resource-counter-popover label{display:grid;gap:.18rem;color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.resource-counter-popover input{width:3.8rem;min-height:1.85rem;padding:.18rem .34rem;border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--panel-background);color:var(--ink);font:inherit;font-size:.84rem}.resource-counter-popover .subtle-button{grid-column:1 / -1;min-height:1.8rem;padding:.18rem .5rem;font-size:.72rem}.spell-row{display:grid;grid-template-columns:minmax(170px,1.2fr) 52px 80px 92px 104px minmax(96px,.8fr) 74px;gap:var(--space-2);align-items:center}.spell-name-cell{display:grid;grid-template-columns:1.2rem minmax(0,1fr);gap:var(--space-2);align-items:center}.spell-preparation-marker{position:relative;display:inline-grid;place-items:center;width:1rem;height:1rem;padding:0;border:1.5px solid var(--line-strong);border-radius:999px;background:transparent;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.spell-preparation-marker:after{content:"";position:absolute;top:.14rem;right:.14rem;bottom:.14rem;left:.14rem;border-radius:inherit;background:transparent}.spell-preparation-marker:hover:not(:disabled){transform:scale(1.06);border-color:rgb(var(--accent-rgb) / .4);box-shadow:0 0 0 .15rem rgb(var(--accent-rgb) / .08)}.spell-preparation-marker-prepared:after{background:rgb(var(--accent-rgb) / .55)}.spell-preparation-marker-always{border-color:var(--line-strong);background:rgb(var(--surface-rgb) / .5);opacity:.56;cursor:not-allowed}.spell-preparation-marker-always:after{background:var(--muted)}.spell-row-subtitle{display:flex;align-items:center;gap:.36rem}.concentration-row-status{color:var(--accent-deep);font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.concentration-row-toggle-active{border-color:color-mix(in srgb,var(--accent) 52%,var(--border));background:rgb(var(--accent-rgb) / .14);color:var(--accent-deep)}.inventory-row{display:grid;grid-template-columns:42px minmax(260px,1fr) 48px 72px 96px 2.6rem;gap:.55rem;align-items:center}.surface-table-head.inventory-row>:nth-child(n+3),.inventory-row>:nth-child(n+3){justify-self:end}.surface-table-head.inventory-row>:nth-child(n+3){text-align:right}.inventory-type-cell,.inventory-row-actions{min-width:0}.inventory-row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:.18rem}.inventory-quantity-control{display:inline-grid;grid-template-columns:auto .8rem;align-items:center;justify-content:end;gap:.22rem;width:fit-content}.inventory-quantity-value{min-width:1.1rem;font-variant-numeric:tabular-nums}.inventory-quantity-stepper{display:grid;gap:1px}.inventory-quantity-stepper button{display:grid;place-items:center;width:.8rem;min-width:.8rem;height:.68rem;min-height:0;padding:0;border:0;border-radius:2px;background:rgb(var(--accent-rgb) / .1);color:var(--accent-deep);font-size:.58rem;font-weight:800;line-height:.58rem;cursor:pointer}.inventory-quantity-stepper button:hover:not(:disabled){background:rgb(var(--accent-rgb) / .2)}.inventory-quantity-stepper button:focus-visible{outline:1px solid var(--accent-deep);outline-offset:1px}.inventory-quantity-stepper button:disabled{cursor:not-allowed;opacity:.35}.inventory-row-nested{opacity:.96}.inventory-row-nested .table-primary strong:before{content:"-> ";color:var(--muted)}.inventory-weight-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:.52rem .68rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:rgb(var(--surface-rgb) / .42);color:var(--muted)}.inventory-weight-summary strong{color:var(--ink)}.inventory-weight-summary-warning,.inventory-warning{color:var(--danger)}.inventory-warning{font-size:.72rem;font-weight:700}.inventory-weight-cell{display:grid;justify-items:end;gap:.08rem;min-width:0;text-align:right}.compact-checkbox{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem}.compact-checkbox input{width:1rem;height:1rem;accent-color:var(--accent)}.table-primary{display:grid;gap:.12rem;min-width:0}.table-name-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:fit-content;max-width:100%;min-width:0;padding:0;overflow:hidden;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;line-height:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.table-name-button:focus-visible{outline:none;box-shadow:0 2px 0 var(--accent-deep)}.table-secondary{color:var(--muted);font-size:.75rem}.readonly-field output{min-height:2.35rem;display:flex;align-items:center;padding:.55rem .65rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:rgb(var(--surface-rgb) / .32);color:var(--ink)}.spell-group,.inventory-group{display:grid;gap:var(--space-2)}.spell-slots-panel{display:grid;gap:.5rem;padding:.56rem .68rem;border-radius:var(--radius-md);background:var(--panel-background-soft)}.spell-slots-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.spell-slots-header h3{font-size:.82rem}.spell-slots-list{display:flex;flex-direction:row;gap:.34rem;flex-wrap:wrap}.spell-slot-column{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.38rem;justify-items:center;align-content:start;min-width:2rem}.spell-slot-level{display:grid;min-height:1rem;place-items:center;width:100%;text-align:center}.spell-slot-level strong{font-size:.78rem;line-height:1}.spell-slot-level span{color:var(--muted);font-size:.66rem}.spell-slot-pips{display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:.25rem;width:1.75rem;min-width:1.75rem}.spell-slot-pip{width:.75rem;height:.75rem;padding:0;border-radius:3px;border:1px solid rgb(var(--accent-rgb) / .28);background:#fffcf7db;box-shadow:inset 0 1px 2px #3c24130f;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}.spell-slot-pip:hover{transform:translateY(-1px);border-color:rgb(var(--accent-rgb) / .48)}.spell-slot-pip:focus-visible{outline:none;box-shadow:0 0 0 2px #fffaf3,0 0 0 4px rgb(var(--accent-rgb) / .28)}.spell-slot-pip-filled{border-color:rgb(var(--accent-rgb) / .54);background:radial-gradient(circle at 32% 30%,rgb(255 249 242 / .95),rgb(255 249 242 / .5) 22%,transparent 23%),linear-gradient(135deg,rgb(var(--accent-rgb) / .92),var(--accent-deep));box-shadow:0 0 0 1px rgb(var(--accent-rgb) / .08),0 4px 10px rgb(var(--accent-rgb) / .16)}.spell-slot-empty{color:var(--muted);font-size:.72rem}.spell-group-header h3{font-size:.85rem}.pane-filter-row{display:grid;gap:.5rem}.lookup-filter-bar{margin-top:-.1rem}.feature-entry-list{display:grid;gap:var(--space-2)}.feature-entry-toggle-row{display:flex;align-items:center;gap:.55rem;min-width:0}.feature-entry-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:.55rem;flex:1 1 auto;width:auto;min-width:0;padding:.08rem 0;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.feature-entry-toggle:hover strong{color:var(--accent-deep)}.feature-entry-toggle:focus-visible{outline:2px solid rgb(var(--accent-rgb) / .36);outline-offset:3px}.feature-entry-identity{display:flex;align-items:baseline;flex-wrap:wrap;gap:.42rem;min-width:0}.feature-entry-identity strong{font-size:.92rem;transition:color .15s ease}.feature-entry-origin{color:var(--muted);font-size:.75rem}.feature-entry-source{flex:0 0 auto;margin-left:auto}.feature-entry-card-expanded .feature-entry-toggle-row{padding-bottom:.42rem;border-bottom:1px solid var(--line-strong)}.feature-entry-dropdown{padding-top:.58rem}.feature-entry-body{color:var(--ink);line-height:1.48}.markdown-text{display:grid;gap:.55rem;color:var(--ink);line-height:1.5;white-space:normal}.markdown-text p{margin:0}.markdown-text a,.reference-link{color:var(--accent-deep);font-weight:700;text-decoration:none;border-bottom:1px solid rgb(var(--accent-rgb) / .34)}.markdown-text a:hover,.reference-link:hover{color:var(--accent);border-bottom-color:currentColor}.detail-description{padding:.72rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:rgb(var(--surface-rgb) / .62);font-size:.9rem}.rules-detail-card{display:grid;gap:0;padding:.2rem 0 .1rem;color:var(--ink)}.rules-detail-header{display:grid;gap:.18rem;padding:.45rem .15rem .55rem;border-bottom:1px solid var(--line-strong)}.rules-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);min-width:0}.rules-detail-header h3{margin:0;min-width:0;color:var(--accent-deep);font-size:clamp(1.45rem,4vw,1.95rem);font-weight:800;line-height:1.02;overflow-wrap:anywhere}.rules-detail-source-row{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.4rem;flex:0 0 auto}.rules-detail-subtitle{margin:0;color:var(--muted);font-size:.92rem;font-style:italic;line-height:1.35}.rules-detail-header .source-tag{min-height:1.58rem;padding-inline:.42rem;border-radius:var(--radius-xs)}.rules-detail-header .reference-link{min-height:1.58rem;padding:0 .35rem;border:0;border-bottom:1px solid rgb(var(--accent-rgb) / .34);border-radius:0;background:transparent;color:var(--accent-deep);font-size:.78rem;font-weight:800}.rules-detail-header .reference-link:hover{color:var(--accent);border-bottom-color:currentColor}.rules-detail-stats{display:grid;grid-template-columns:1fr;gap:0;margin:0;padding:.35rem .15rem;border-bottom:1px solid var(--line-strong)}.rules-detail-stats div{display:grid;grid-template-columns:minmax(7rem,.28fr) minmax(0,1fr);gap:.6rem;align-items:baseline;min-width:0;padding:.22rem 0;border:0;border-bottom:1px solid var(--line-soft);background:transparent}.rules-detail-stats div:last-child{border-bottom:0}.rules-detail-stats dt{color:var(--accent-deep);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:none}.rules-detail-stats dd{min-width:0;margin:0;color:var(--ink);font-size:.88rem;font-weight:500;overflow-wrap:anywhere}.rules-detail-sections{display:grid;gap:.9rem;padding:.75rem .15rem .55rem}.rules-detail-section{display:grid;gap:.35rem}.rules-detail-section h4{margin:0;color:var(--accent-deep);font-size:.96rem;font-weight:800;line-height:1.25}.rules-detail-section .markdown-text{gap:.58rem;font-size:.92rem;line-height:1.48}.rules-detail-section .markdown-text p{text-indent:0}.reference-link{display:inline-flex;align-items:center;min-height:1.9rem;padding:.2rem .58rem;border:1px solid rgb(var(--accent-rgb) / .28);border-radius:999px;background:rgb(var(--accent-rgb) / .08)}.currency-grid-compact{grid-template-columns:repeat(5,minmax(72px,1fr));margin-bottom:0}.slots-grid-compact{grid-template-columns:repeat(9,minmax(72px,1fr));margin:0}.slot-card-compact{padding:.46rem .56rem}.slot-values{display:flex;align-items:center;justify-content:center;gap:.2rem;font-weight:700}.roll-pill{border:1px solid rgb(var(--accent-rgb) / .2);border-radius:12px;background:var(--panel-background-strong);color:var(--ink);font-weight:700;padding:.22rem .48rem;min-height:1.82rem;font-size:.85rem;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}.roll-pill:hover{transform:translateY(-1px);border-color:rgb(var(--accent-rgb) / .42);box-shadow:0 10px 20px rgb(var(--accent-rgb) / .14)}.roll-pill-active{background:var(--surface-tint-strong);border-color:rgb(var(--accent-rgb) / .52);box-shadow:0 0 0 4px rgb(var(--accent-rgb) / .12)}.roll-pill-large{min-height:4.5rem;font-size:2rem}.proficiency-marker{position:relative;display:inline-grid;place-items:center;width:1.05rem;height:1.05rem;padding:0;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--panel-background-strong);color:var(--muted);overflow:hidden}.proficiency-marker:after{content:"";position:absolute;top:.14rem;right:.14rem;bottom:.14rem;left:.14rem;border-radius:999px;background:transparent;transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.proficiency-marker-button{cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.proficiency-marker-button:hover{transform:scale(1.06);border-color:rgb(var(--accent-rgb) / .38);box-shadow:0 0 0 .15rem rgb(var(--accent-rgb) / .08)}.proficiency-marker-none{background:transparent}.proficiency-marker-half:after{background:rgb(var(--accent-rgb) / .22);clip-path:inset(0 50% 0 0)}.proficiency-marker-proficient:after{background:rgb(var(--accent-rgb) / .5)}.proficiency-marker-expertise{border-color:rgb(var(--accent-rgb) / .52);box-shadow:0 0 0 .18rem rgb(var(--accent-rgb) / .14)}.proficiency-marker-expertise:after{background:linear-gradient(135deg,rgb(var(--accent-rgb) / .56),var(--accent-deep));box-shadow:0 0 0 .14rem rgb(var(--accent-rgb) / .16)}.tab-stack,.utility-stack,.catalog-table,.settings-groups,.cache-summary-list,.history-list{display:grid;gap:var(--space-4)}.vertical-stack{display:grid;grid-template-columns:1fr;gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.section-card{min-width:0;padding:.6rem .64rem}.section-header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start;margin-bottom:.42rem}.section-header p{margin:.18rem 0 0}.section-header h2,.pane-toolbar h2{font-size:.9rem;line-height:1.05}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-2)}.compact-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.field{display:grid;gap:.28rem}.field span{font-size:.75rem;color:var(--muted)}.field input{margin-bottom:.18rem}.field-wide{margin-top:var(--space-3)}.checkbox-field{display:flex;align-items:center;gap:.6rem;padding-top:1.75rem}.checkbox-field input{width:1rem;height:1rem}.summary-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2)}.summary-card-grid-dense{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.metric-card{display:flex;flex-direction:column;justify-content:space-between;min-height:4.4rem;padding:.6rem .72rem;border-radius:18px;background:var(--panel-background);border:1px solid var(--line-strong)}.metric-card span{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.metric-card strong{font-size:clamp(1rem,1.9vw,1.5rem);line-height:1}.ability-grid,.ability-dashboard{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2)}.ability-card,.ability-panel,.attack-card,.slot-card,.history-entry,.catalog-entry,.dialog-preview,.settings-card,.cache-summary-entry,.toast{border-radius:20px;padding:.72rem;background:var(--panel-background);border:1px solid var(--line-strong)}.ability-card-header,.ability-panel-top,.attack-card-header,.history-row,.attack-roll-line,.lookup-pagination,.utility-drawer-header{display:flex;justify-content:space-between;gap:var(--space-2);align-items:center}.ability-panel{display:grid;gap:.55rem}.ability-panel-actions{display:flex;align-items:center;gap:.38rem}.ability-short{margin:0 0 .25rem;font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}.ability-card-header h3,.ability-panel-top h3{font-size:.95rem}.modifier-badge{display:grid;place-items:center;min-width:2.7rem;min-height:2.7rem;border-radius:14px;background:linear-gradient(135deg,rgb(var(--accent-rgb) / .14),rgb(var(--accent-rgb) / .24));font-size:1rem;font-weight:700}.ability-readout{display:flex;flex-wrap:wrap;gap:.4rem;color:var(--muted);font-size:.75rem}.roll-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-2)}.roll-pair-compact{margin-top:0}.roll-button{width:100%}.roll-button-small{padding:.42rem .68rem}.inline-metrics{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-3);color:var(--muted)}.attack-list,.option-grid,.option-list{display:grid;gap:var(--space-3)}.option-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.origin-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-4)}.origin-panel{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:rgb(var(--surface-rgb) / .5)}.origin-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.origin-panel-header h3,.origin-panel-header p{margin:0}.origin-panel-header p,.origin-automation-summary,.origin-subrace-description{color:var(--muted);font-size:.9rem}.origin-automation-summary,.origin-subrace-description{margin:0;line-height:1.5}.origin-subrace-panel{display:grid;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line)}.class-builder-toolbar{display:grid;grid-template-columns:minmax(12rem,18rem) 1fr;gap:var(--space-3);align-items:end;margin-bottom:var(--space-3)}.class-builder-note{margin:0 0 .35rem;color:var(--muted);font-size:.86rem}.class-builder-list{display:grid;gap:var(--space-3)}.class-builder-row{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:rgb(var(--surface-rgb) / .55)}.class-builder-row-header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.class-builder-row-header h3,.class-choice-group p,.class-automation-panel h3{margin:0}.class-builder-row-header p{margin:.2rem 0 0;color:var(--muted);font-size:.86rem}.class-choice-stack{display:grid;gap:var(--space-2)}.class-choice-group{display:grid;gap:.55rem}.described-choice-chips{min-width:0}.choice-description-preview{position:fixed;z-index:40;width:min(28rem,calc(100vw - 1.25rem));padding:.72rem .82rem;border:1px solid rgb(var(--accent-rgb) / .28);border-left:3px solid var(--accent);border-radius:var(--radius-xs);background:color-mix(in srgb,rgb(var(--surface-rgb)) 92%,rgb(var(--accent-rgb)) 8%);box-shadow:0 12px 28px #1c253133;color:var(--ink);pointer-events:none}.choice-description-preview-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.2rem var(--space-3);align-items:baseline;margin-bottom:.38rem}.choice-description-preview-header strong{font-size:.92rem}.choice-description-preview-header span{color:var(--muted);font-size:.76rem;font-weight:700}.choice-description-preview-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem .8rem;margin:0 0 .58rem;padding:.48rem 0;border-block:1px solid rgb(var(--accent-rgb) / .18)}.choice-description-preview-details div{display:grid;grid-template-columns:minmax(4.8rem,auto) minmax(0,1fr);gap:.35rem;align-items:baseline}.choice-description-preview-details dt{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.choice-description-preview-details dd{min-width:0;margin:0;font-size:.78rem;font-weight:750;line-height:1.3;overflow-wrap:anywhere}.choice-description-preview-body{display:grid;gap:.5rem;font-size:.84rem;line-height:1.48}.choice-description-preview-body p{margin:0}.retained-choice-row{display:flex;justify-content:space-between;gap:var(--space-3);align-items:baseline;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius-xs);background:rgb(var(--surface-rgb) / .48)}.retained-choice-row span{color:var(--muted);text-align:right}.choice-filter-field{width:min(100%,22rem);margin:0}.setup-needed-note{padding:.65rem .75rem;border-left:3px solid var(--warning, #b7791f);border-radius:var(--radius-xs);background:color-mix(in srgb,var(--warning, #b7791f) 9%,transparent)}.class-automation-panel{display:grid;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.class-automation-panel p{margin:.2rem 0 0;color:var(--muted)}.class-automation-list{display:grid;gap:.45rem}.class-automation-update{display:grid;grid-template-columns:minmax(8rem,.45fr) 1fr;gap:var(--space-2);padding:.5rem .65rem;border-radius:var(--radius-xs);background:rgb(var(--accent-rgb) / .08)}.class-automation-update span{color:var(--muted)}.class-automation-update span b{color:var(--ink);font-weight:650}.class-automation-update--conflict{background:color-mix(in srgb,var(--danger) 10%,rgb(var(--surface-rgb)))}.class-automation-update--removeSuggestion,.class-automation-update--ignored{background:rgb(var(--surface-rgb) / .68)}.origin-heading{margin-bottom:var(--space-2)}.origin-heading h3,.origin-heading p{margin:0}.origin-heading p{color:var(--muted);font-size:.9rem;margin-top:.18rem}.attack-card-header{align-items:flex-start;margin-bottom:var(--space-2)}.attack-roll-line{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line-strong);color:var(--muted);flex-wrap:wrap}.spell-summary{margin:var(--space-3) 0}.slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--space-2);margin:var(--space-3) 0}.slot-card{display:grid;gap:var(--space-2)}.slot-card h3{font-size:1rem}.currency-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}.mode-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}.mode-toggle-compact{gap:.35rem;margin-bottom:var(--space-2)}.mode-toggle-compact .mode-button{min-height:2rem;padding:.28rem .46rem;border:1px solid var(--line);border-radius:10px;box-shadow:none;font-size:.78rem;font-weight:800;letter-spacing:0}.mode-toggle-compact .mode-button-active{border-color:rgb(var(--accent-rgb) / .52);background:var(--surface-tint-strong);color:var(--accent-deep);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / .18)}.custom-roll{display:grid;gap:var(--space-2);margin-bottom:var(--space-3)}.history-list{gap:var(--space-2)}.history-total{font-size:1.75rem;font-weight:700}.history-formula,.history-detail,.history-time,.preview-body{margin:.24rem 0 0}.table-wrap{overflow-x:auto;border-radius:var(--radius-sm);background-clip:padding-box;overscroll-behavior-inline:contain;scrollbar-width:thin}.table-shell{min-width:680px}.skill-table{display:grid;gap:.4rem}.skill-row{display:grid;grid-template-columns:minmax(0,1.4fr) 56px minmax(120px,.95fr) 84px 64px 84px;gap:.45rem;align-items:center}.skill-table-compact{min-width:0}.skill-row-compact{grid-template-columns:minmax(0,1.7fr) 52px 70px 86px 50px}.catalog-row{display:grid;gap:var(--space-2);align-items:center}.catalog-row-spell{grid-template-columns:minmax(180px,1.5fr) 88px 110px 140px 120px 130px 120px 150px}.catalog-row-item{grid-template-columns:minmax(180px,1.5fr) 110px 70px 90px 120px 150px}.table-head{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.catalog-entry{padding:.75rem}.option-summary-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2);margin-top:var(--space-3)}.option-summary-field{display:grid;gap:.16rem;min-width:0;padding:.55rem .65rem;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface-tint)}.option-summary-field span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.option-summary-field strong{min-width:0;color:var(--ink);font-size:.88rem;line-height:1.2}.option-summary-text{margin:var(--space-2) 0 0;color:var(--accent-deep);font-size:.82rem;font-weight:700;line-height:1.35}.option-description{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line-strong);color:var(--ink);font-size:.86rem;line-height:1.5}.catalog-details{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line-strong)}.skill-name,.skill-bonus{font-weight:700}.skill-ability{font-size:.75rem;color:var(--accent)}.skill-title-block{display:grid;gap:.08rem}.skill-detail{font-size:.75rem;color:var(--muted)}.icon-button{width:1.72rem;height:1.72rem;border:0;border-radius:999px;background:transparent;color:var(--ink);display:inline-grid;place-items:center;transition:transform .16s ease,color .16s ease,opacity .16s ease}.icon-button:hover{transform:translateY(-1px);color:var(--accent)}.icon-button:focus-visible{outline:none;box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .16)}.icon-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.menu-ellipsis-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;place-items:center;justify-self:end;align-self:center;width:1.15rem;min-width:1.15rem;height:1.7rem;margin-left:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);cursor:pointer;transition:color .15s ease,opacity .15s ease}.menu-ellipsis-button:hover:not(:disabled),.menu-ellipsis-button-active{background:transparent;color:var(--accent-deep)}.menu-ellipsis-button:focus-visible{outline:2px solid rgb(var(--accent-rgb) / .4);outline-offset:2px}.menu-ellipsis-button:disabled{cursor:not-allowed;opacity:.42}.menu-ellipsis-button .button-icon{width:.9rem;height:1.1rem}.button-icon{width:.82rem;height:.82rem;flex:0 0 auto}.source-line{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem;min-width:0}.spell-detail-meta{display:flex;justify-content:flex-end;margin-bottom:var(--space-2)}.spell-row-notes{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spell-damage-type-cell{display:inline-flex;align-items:center;gap:.32rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spell-row-actions{display:flex;justify-content:flex-end;gap:.22rem}.subtle-button-icon{width:1.9rem;min-width:1.9rem;height:1.9rem;padding:0}.source-tag{display:inline-flex;align-items:center;justify-content:center;min-width:3.35rem;padding:.16rem .45rem;border-radius:999px;background:rgb(var(--accent-rgb) / .16);color:var(--accent-deep);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.source-tag-button,.managed-pill-button{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.source-tag-button:hover,.managed-pill-button:hover{color:var(--accent-deep);background:rgb(var(--accent-rgb) / .24);transform:translateY(-1px)}.source-tag-button:focus-visible,.managed-pill-button:focus-visible{outline:2px solid rgb(var(--accent-rgb) / .4);outline-offset:2px}.managed-pill-button{min-height:1.42rem;padding:.12rem .42rem;border-color:rgb(var(--accent-rgb) / .26);background:rgb(var(--accent-rgb) / .08);color:var(--accent-deep);font-size:.67rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.rules-badge{--rules-rgb: var(--accent-rgb);display:inline-flex;align-items:center;gap:.34rem;width:fit-content;max-width:100%;min-height:1.82rem;min-width:0;padding:.18rem .48rem .18rem .22rem;border:1px solid rgb(var(--rules-rgb) / .22);border-radius:999px;background:rgb(var(--rules-rgb) / .1);color:rgb(var(--rules-rgb));font-size:.74rem;font-weight:750}.rules-badge-compact{justify-content:center;width:1.82rem;min-width:1.82rem;padding:0}.rules-badge-icon{display:inline-grid;place-items:center;width:1.32rem;height:1.32rem;border-radius:50%;background:rgb(var(--rules-rgb) / .18);color:var(--ink);flex:0 0 auto}.rules-badge-icon svg{width:1rem;height:1rem}.rules-badge-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rules-badge-acid{--rules-rgb: 65 142 94}.rules-badge-armor,.rules-badge-shield{--rules-rgb: 80 105 134}.rules-badge-bludgeoning,.rules-badge-gear{--rules-rgb: 122 96 74}.rules-badge-cold{--rules-rgb: 61 128 168}.rules-badge-fire{--rules-rgb: 195 75 42}.rules-badge-focus,.rules-badge-force,.rules-badge-magic{--rules-rgb: 112 77 174}.rules-badge-lightning,.rules-badge-radiant{--rules-rgb: 184 132 31}.rules-badge-necrotic{--rules-rgb: 91 103 83}.rules-badge-piercing,.rules-badge-slashing,.rules-badge-weapon{--rules-rgb: 127 82 94}.rules-badge-poison{--rules-rgb: 81 137 70}.rules-badge-psychic{--rules-rgb: 156 70 139}.rules-badge-thunder{--rules-rgb: 77 104 171}.damage-roll-cell{display:inline-flex;align-items:center;gap:.32rem;min-width:0}.damage-roll-cell .roll-pill{white-space:nowrap}.dialog-backdrop,.utility-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-background);z-index:20}.dialog-backdrop{display:grid;place-items:center;padding:var(--space-4);overflow:hidden}.dialog{display:flex;flex-direction:column;width:min(1100px,100%);max-height:min(88vh,960px);overflow:hidden;border-radius:28px;border:1px solid var(--border);background:rgb(var(--surface-rgb));background-clip:padding-box;box-shadow:var(--shadow);padding:var(--space-4)}.dialog>.section-header,.dialog>.modal-footer{flex:0 0 auto}.dialog-compact{width:min(560px,100%)}.lookup-dialog{height:min(88vh,960px)}.dialog-rules-detail{width:min(920px,calc(100vw - 2rem));height:auto;max-height:min(88vh,960px);border-radius:var(--radius-lg)}.play-entry-editor-dialog{width:min(920px,calc(100vw - 2rem))}.play-entry-editor-modal-body{margin:0}.dialog-backdrop:has(.dialog-rules-detail){padding:clamp(1rem,4vw,3rem)}.dialog-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);flex:1 1 auto;min-height:0;gap:var(--space-4);overflow:hidden}.settings-grid,.dialog-body,.filter-modal-grid,.combat-settings-grid{flex:1 1 auto;min-height:0;overflow:auto;border-radius:var(--radius-md);background-clip:padding-box;padding-inline-end:.25rem;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable}.dialog-rules-detail .dialog-body{border-radius:var(--radius-sm)}.settings-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:max-content;align-content:start;gap:var(--space-4)}.dialog-results,.dialog-preview,.settings-card{min-width:0;min-height:0}.dialog-results{display:flex;flex-direction:column;overflow:hidden}.dialog-preview{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;align-self:stretch;overflow:hidden}.lookup-results{display:grid;flex:1 1 0;align-content:start;gap:var(--space-2);margin-top:var(--space-3);min-height:0;overflow:auto;border-radius:var(--radius-md);background-clip:padding-box;padding-inline-end:.25rem;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable}.modal-footer{margin-top:var(--space-3);display:flex;gap:var(--space-2);justify-content:flex-end}.long-rest-dialog{width:min(680px,calc(100vw - 2rem))}.long-rest-content,.long-rest-choice-section{display:grid;gap:1rem}.long-rest-summary,.long-rest-choice-section{padding:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-background-soft)}.long-rest-summary p,.long-rest-choice-section p{margin:.25rem 0 0;color:var(--muted)}.long-rest-choice-section h3{margin:0}.long-rest-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.long-rest-choice-grid label{display:grid;gap:.35rem;min-width:0}.long-rest-choice-grid label>span{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}@media(max-width:560px){.long-rest-choice-grid{grid-template-columns:1fr}}.combat-settings-grid{display:grid;gap:var(--space-3)}.combat-settings-section{display:grid;gap:var(--space-2);padding:.8rem .9rem;border-radius:20px;background:var(--panel-background);border:1px solid var(--line-strong)}.combat-settings-header h3{font-size:.85rem}.combat-settings-section .checkbox-field{padding-top:1.55rem}.lookup-result{display:grid;justify-items:start;gap:.25rem;border-radius:20px;text-align:left}.lookup-result-active{background:var(--surface-tint-strong);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / .28)}.lookup-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.lookup-pagination{margin-top:var(--space-3);align-items:center;flex-wrap:wrap}.preview-header{display:flex;justify-content:space-between;gap:var(--space-2);align-items:flex-start}.preview-body{color:var(--muted);margin-top:var(--space-3);min-height:0;overflow:auto;border-radius:var(--radius-sm);background-clip:padding-box;padding-inline-end:.25rem;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;white-space:pre-wrap}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.24rem .62rem;border-radius:999px;background:var(--surface-tint);color:var(--muted);font-size:.8rem}.pill-source-tag{font-weight:700;letter-spacing:.06em}.settings-dialog{width:min(980px,100%)}.settings-card h3{margin-bottom:var(--space-3)}.settings-card .settings-audit-heading{margin-bottom:0}.settings-audit-toggle{display:inline-flex;align-items:center;gap:var(--space-2);padding:0;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.settings-audit-toggle:hover{color:var(--accent)}.settings-audit-toggle:focus-visible{outline:none;border-radius:8px;box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .16)}.settings-audit-toggle .pill{font-weight:500}.settings-audit-list{margin-top:var(--space-3)}.settings-appearance-grid{display:grid;gap:var(--space-3)}.settings-segmented-field{display:grid;gap:var(--space-2);min-width:0;margin:0;padding:0;border:0}.settings-segmented-field legend{padding:0;font-size:.75rem;color:var(--muted)}.settings-segmented{display:flex;flex-wrap:wrap;gap:var(--space-2)}.settings-help{margin:0;color:var(--muted);font-size:.8rem}.settings-provider-group{display:grid;gap:var(--space-2)}.settings-summary,.settings-toolbar{display:flex;gap:var(--space-2);align-items:flex-end;flex-wrap:wrap}.settings-toolbar{margin-bottom:var(--space-3);justify-content:space-between}.settings-toolbar .field{flex:1 1 20rem;margin:0}.settings-color-field{max-width:20rem}.settings-color-input-row{display:flex;align-items:center;gap:var(--space-2)}.settings-color-input{width:3.25rem;min-width:3.25rem;height:2.25rem;padding:.2rem;border-radius:999px;cursor:pointer}.settings-color-value{font-family:Avenir Next,Segoe UI,sans-serif;letter-spacing:.06em}.settings-color-reset{min-height:2.25rem;white-space:nowrap}.settings-danger-details{border-radius:18px;border:1px solid var(--line-strong);background:var(--panel-background-strong);overflow:hidden}.settings-danger-details summary{padding:.75rem .9rem;cursor:pointer;font-weight:700;list-style:none}.settings-danger-details summary::-webkit-details-marker{display:none}.settings-danger-details[open] summary{border-bottom:1px solid var(--line-strong)}.settings-danger-body{display:grid;gap:var(--space-3);padding:.9rem}.settings-source-list{display:grid;gap:var(--space-2);padding:var(--space-3);max-height:28rem;overflow:auto;border-radius:var(--radius-md);background:var(--panel-background-strong);background-clip:padding-box;border:1px solid var(--line-strong);overscroll-behavior:contain;scrollbar-width:thin}.settings-toggle{display:flex;gap:var(--space-2);align-items:flex-start}.settings-toggle input{width:1rem;height:1rem;margin-top:.18rem}.settings-toggle span{display:grid;gap:.15rem}.settings-toggle small{color:var(--muted)}.cache-summary-list{gap:var(--space-2)}.cache-summary-entry{padding:.85rem .95rem}.cache-summary-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.cache-summary-source{display:grid;gap:.35rem;min-width:0;flex:1 1 auto}.cache-summary-source strong{font-size:.95rem;line-height:1.2}.cache-summary-title-line{display:flex;align-items:center;gap:.45rem;min-width:0}.cache-summary-title-line strong{min-width:0}.cache-summary-meta{display:grid;justify-items:end;gap:.35rem;flex:0 0 auto}.utility-launcher{position:fixed;right:clamp(.85rem,2vw,1.4rem);bottom:clamp(.85rem,2vw,1.4rem);z-index:24;width:3.35rem;min-width:3.35rem;height:3.35rem;padding:0;border:1px solid rgb(var(--accent-rgb) / .24);background:rgb(var(--accent-rgb) / .18);color:#fff;box-shadow:0 12px 24px rgb(var(--accent-rgb) / .12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.utility-launcher-active{background:rgb(var(--accent-rgb) / .28);color:#fff;box-shadow:0 14px 28px rgb(var(--accent-rgb) / .16)}.utility-launcher .button-icon{width:1.25rem;height:1.25rem}.utility-drawer{position:fixed;top:1rem;right:1rem;bottom:5.2rem;width:min(430px,calc(100vw - 2rem));padding:var(--space-3);border-radius:30px;border:1px solid var(--border);background:var(--card-background);background-clip:padding-box;box-shadow:var(--shadow);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;z-index:25;transform:translate(calc(100% + 1.5rem));opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}.utility-drawer-open{transform:translate(0);opacity:1;pointer-events:auto}.utility-drawer-pinned{right:clamp(1rem,2vw,1.4rem)}.utility-drawer-header{align-items:flex-start;margin-bottom:var(--space-3)}.utility-style-popout{position:fixed;top:1rem;right:min(456px,calc(100vw - 21rem));z-index:26;display:grid;gap:var(--space-3);width:min(320px,calc(100vw - 2rem));padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card-background);background-clip:padding-box;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.utility-style-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.utility-style-header h3{margin:0}.utility-style-preview{display:grid;place-items:center;min-height:5rem}.utility-style-preview span{display:grid;place-items:center;width:4.2rem;height:4.2rem;border:2px solid currentColor;border-radius:18px;box-shadow:inset 0 0 0 1px #ffffff42,0 14px 28px #00000029;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,serif;font-size:1.45rem;font-weight:800}.utility-style-popout .settings-color-field{display:grid;gap:var(--space-2);max-width:none}.utility-style-popout .settings-color-field>span{color:var(--muted);font-size:.75rem}.toast-stack{position:fixed;top:1rem;right:1rem;display:grid;gap:var(--space-2);z-index:30;width:min(340px,calc(100vw - 2rem))}.toast{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);box-shadow:0 16px 30px #222c3a2e}.toast p{margin:0}.toast-success{border-color:#366d3f47}.toast-info{border-color:#3c5e8d3d}.toast-error{border-color:#90272747}.toast-close{white-space:nowrap}:root[data-performance-mode=on] .background-glow{display:none}:root[data-performance-mode=on] .card,:root[data-performance-mode=on] .dice-surface-result,:root[data-performance-mode=on] .dialog,:root[data-performance-mode=on] .utility-drawer{-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-performance-mode=on] .action-button,:root[data-performance-mode=on] .roll-button,:root[data-performance-mode=on] .mode-button,:root[data-performance-mode=on] .subtle-button,:root[data-performance-mode=on] .tab-button,:root[data-performance-mode=on] .lookup-result,:root[data-performance-mode=on] .utility-launcher,:root[data-performance-mode=on] .utility-drawer,:root[data-performance-mode=on] .toast,:root[data-performance-mode=on] .dice-surface-result{box-shadow:none}:root[data-performance-mode=on] .dice-surface-overlay,:root[data-performance-mode=on] .dice-surface-slot,:root[data-performance-mode=on] .utility-drawer,:root[data-performance-mode=on] .action-button,:root[data-performance-mode=on] .roll-button,:root[data-performance-mode=on] .subtle-button,:root[data-performance-mode=on] .mode-button,:root[data-performance-mode=on] .tab-button,:root[data-performance-mode=on] .lookup-result,:root[data-performance-mode=on] .utility-launcher{transition-duration:0ms}.visually-hidden-label span,.visually-hidden-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1120px){.ability-grid,.ability-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-ribbon{grid-template-columns:1fr}.ability-ribbon{grid-template-columns:repeat(6,minmax(0,1fr))}.metric-ribbon{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-top-grid,.stats-sections-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.stats-layout-item{grid-column:span var(--stats-layout-tablet-width) / span var(--stats-layout-tablet-width);grid-row:span var(--stats-layout-tablet-height) / span var(--stats-layout-tablet-height)}.dashboard-grid,.settings-grid{grid-template-columns:1fr}.hero,.tabs,.lookup-pagination,.preview-header{flex-direction:column;align-items:stretch}.hero-actions{justify-content:flex-start}.action-row,.spell-row,.inventory-row{grid-template-columns:1fr}}@media(max-width:860px){.app-shell{padding:.8rem}.sheet{padding-bottom:5.4rem}.card{border-radius:16px;padding:.5rem}.identity-bar{padding:.54rem;margin-bottom:.5rem}.identity-bar-content{flex-direction:column;align-items:flex-start;gap:.7rem}.identity-bar-primary{width:100%}.identity-portrait-frame{width:3.9rem;height:4.9rem;flex-basis:3.9rem;border-radius:12px}.identity-bar-main h1{font-size:1.7rem;line-height:1.02}.identity-subtitle{font-size:.82rem}.identity-bar-side{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.identity-status{align-items:center;justify-items:start}.identity-actions{flex:1 1 auto;justify-content:flex-end;gap:.32rem}.identity-actions .subtle-button{min-height:2.1rem;padding:.34rem .54rem}.identity-actions .identity-icon-button{width:2.1rem;min-width:2.1rem}.currency-grid,.summary-card-grid,.roll-pair,.mode-toggle{grid-template-columns:1fr}.ability-grid,.ability-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.ability-ribbon{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-ribbon,.stats-top-grid,.stats-sections-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-layout-item{grid-column:span var(--stats-layout-mobile-width) / span var(--stats-layout-mobile-width);grid-row:span var(--stats-layout-mobile-height) / span var(--stats-layout-mobile-height)}.stats-layout-toolbar,.stats-layout-zone-toolbar{align-items:flex-start;flex-direction:column}.metric-ribbon-card{min-height:auto}.metric-ribbon-card-ac,.metric-ribbon-card-secondary,.metric-ribbon-card-status,.metric-ribbon-card-inspiration,.metric-ribbon-card-death{min-height:4.25rem}.metric-ribbon-card-hp,.metric-ribbon-card-rest,.metric-ribbon-card-death{grid-column:span 2}.stat-ribbon{grid-template-columns:1fr}.tabs{top:.35rem}.surface-pane{padding:.56rem}.surface-nav{display:flex;flex-wrap:nowrap;gap:.35rem;margin-inline:-.18rem;padding:0 .18rem .42rem;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.surface-nav::-webkit-scrollbar{display:none}.surface-tab{flex:0 0 auto;min-height:2.2rem;padding:.4rem .68rem;border-radius:999px;background:var(--panel-background);box-shadow:inset 0 0 0 1px var(--line-soft);font-size:.82rem}.surface-tab:after{display:none}.surface-tab-active{background:var(--surface-tint-strong);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / .28)}.pane-toolbar{align-items:flex-start}.pane-toolbar .button-row{justify-content:flex-start}.identity-summary{gap:.32rem .65rem}.identity-bar-primary{align-items:flex-start}.skill-row-compact{grid-template-columns:minmax(0,1.6fr) 46px 64px 78px 46px}.toast-stack{top:auto;bottom:5.8rem}.utility-drawer{inset:auto .8rem 5.2rem .8rem;width:auto}.utility-style-popout{inset:auto .8rem 5.2rem .8rem;width:auto;max-height:min(70vh,31rem);overflow:auto}.settings-source-list{padding-left:0}.slots-grid-compact{grid-template-columns:repeat(3,minmax(72px,1fr))}.utility-launcher{right:.9rem;bottom:.9rem;min-width:0;max-width:3.35rem;min-height:3.35rem;padding:0;justify-content:center;border-radius:999px;gap:0}.utility-launcher .button-icon{width:1.15rem;height:1.15rem}}@media(max-width:640px){.dialog-grid{grid-template-columns:1fr;grid-template-rows:minmax(18rem,1fr) auto;overflow:auto}.dialog-preview{min-height:16rem}.ability-grid,.ability-dashboard{grid-template-columns:1fr}.metric-ribbon-card-hp,.metric-ribbon-card-death{grid-column:span 2}.hp-inline-row{grid-template-columns:1fr;justify-items:center}.hp-adjust-group{justify-content:center}.ability-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}.ability-ribbon-card{min-height:7rem}.roll-pill-large{min-height:3.55rem;font-size:1.55rem}.skill-row-compact{grid-template-columns:minmax(0,1.5fr) 44px 60px 74px 44px}.filter-chip-row,.identity-summary{flex-direction:column}.identity-bar-primary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem}.identity-bar-side{width:100%;justify-items:stretch}.identity-actions{justify-content:flex-end}.identity-summary,.identity-status{display:none}.identity-actions .subtle-button{flex:0 1 auto}.identity-actions .subtle-button:not(.identity-icon-button){font-size:.8rem}.pane-toolbar,.spell-group-header,.feature-entry-header{align-items:flex-start;flex-direction:column}.concentration-banner{grid-template-columns:1fr}.concentration-banner-actions{justify-content:flex-start}.search-filter-row{grid-template-columns:1fr}.surface-table-head{display:none}.action-row,.spell-row,.inventory-row{gap:.42rem;align-items:start}.surface-table-entry{padding:.64rem 0}.damage-roll-cell,.combat-summary-strip,.selected-filter-strip{flex-wrap:wrap}.rules-detail-title-row{flex-direction:column;gap:.35rem}.rules-detail-source-row{justify-content:flex-start}.rules-detail-stats div{grid-template-columns:1fr;gap:.08rem}}:root[data-sheet-style=minimal]{--shadow: none}:root[data-sheet-style=minimal] .app-shell:not(.app-shell-character-select){padding:.35rem}:root[data-sheet-style=minimal] .app-shell:not(.app-shell-character-select)>.background-glow{display:none}:root[data-sheet-style=minimal] .sheet{padding-bottom:3.8rem}:root[data-sheet-style=minimal] .sheet .card{padding:.3rem;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-sheet-style=minimal] .sheet .stats-layout-shell{padding:.4rem;border-radius:0}:root[data-sheet-style=minimal] .sheet .identity-bar{margin-bottom:.3rem;padding:.2rem 0}:root[data-sheet-style=minimal] .sheet .stats-layout-shell,:root[data-sheet-style=minimal] .sheet .play-dashboard,:root[data-sheet-style=minimal] .sheet .pane-stack,:root[data-sheet-style=minimal] .sheet .dashboard-column,:root[data-sheet-style=minimal] .sheet .surface-pane{gap:.3rem}:root[data-sheet-style=minimal] .sheet .stats-top-grid,:root[data-sheet-style=minimal] .sheet .dashboard-grid{gap:.3rem}:root[data-sheet-style=minimal] .sheet .section-card,:root[data-sheet-style=minimal] .sheet .surface-pane{padding:.3rem .2rem}:root[data-sheet-style=minimal] .sheet .ability-ribbon-card,:root[data-sheet-style=minimal] .sheet .metric-ribbon-card,:root[data-sheet-style=minimal] .sheet .sense-pill,:root[data-sheet-style=minimal] .sheet .feature-entry-card,:root[data-sheet-style=minimal] .sheet .setup-action-card,:root[data-sheet-style=minimal] .sheet .setup-generated-card{padding:.3rem;border:0;border-radius:0;background:transparent;box-shadow:none}:root[data-sheet-style=minimal] .sheet .stats-layout-shell .ability-ribbon-card,:root[data-sheet-style=minimal] .sheet .stats-layout-shell .metric-ribbon-card{border:1px solid var(--line-strong);border-radius:0}:root[data-sheet-style=minimal] .sheet .surface-nav{border-radius:0;background:transparent}@media(max-width:860px){:root[data-sheet-style=minimal] .app-shell:not(.app-shell-character-select){padding:.3rem}:root[data-sheet-style=minimal] .sheet .identity-bar,:root[data-sheet-style=minimal] .sheet .card{padding:.25rem}}
