:root{--bg: #0b0c0f;--panel: #11131a;--muted: #8e95a3;--text: #e8ecf1;--accent: #50b3ff;--border: #232833;--radius: 12px;--card-min-width: 200px;--card-grid-spacer: 1em}@media (prefers-color-scheme: light){:root{--bg: #f6f7fb;--panel: #ffffff;--muted: #5a6578;--text: #0b0c0f;--accent: #0d6efd;--border: #e7eaf0}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,rgba(80,179,255,.15),transparent 50%),radial-gradient(1000px 500px at 120% 0%,rgba(80,179,255,.1),transparent 50%),var(--bg)}input[type=checkbox]{accent-color:var(--accent)}input[type=checkbox]:disabled{opacity:25%}input[type=checkbox]:disabled:checked{opacity:75%}.conjoined-checkbox:has(+.conjoined-checkbox){margin-right:0}.conjoined-checkbox+.conjoined-checkbox{margin-left:0}.app{display:flex;flex-direction:column;min-height:100dvh;max-height:100%}.site-header{border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--panel),transparent 20%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:sticky;top:0;z-index:10}.site-header .nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;max-width:1000px;margin:0 auto}.site-header .nav .brand{font-weight:700;letter-spacing:.2px}.site-header .nav .links a{color:var(--muted);text-decoration:none;margin-left:1rem;padding:.25rem .5rem;border-radius:10px}.site-header .nav .links a.active,.site-header .nav .links a:hover{color:var(--text);background:color-mix(in oklab,var(--accent),transparent 88%)}.hamburger-btn,.mobile-nav{display:none}@media (max-width: 800px){.site-header .nav .links,.site-header .nav .auth-section{display:none}.site-header .nav .hamburger-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;font-size:1.4em;background:transparent;border:none;color:var(--text);padding:.2em .4em;cursor:pointer}.mobile-nav{display:flex;flex-direction:column;padding:.75rem 1rem;border-top:1px solid var(--border);background:color-mix(in oklab,var(--panel),transparent 3%);max-width:1000px;margin:0 auto;width:100%;position:absolute}.mobile-nav a{display:block;padding:.6rem .5rem;color:var(--muted);text-decoration:none;border-radius:8px}.mobile-nav a.active,.mobile-nav a:hover{color:var(--text);background:color-mix(in oklab,var(--accent),transparent 88%)}.mobile-nav .mobile-auth{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}}.container{padding:1.25rem;display:flex;gap:.5rem;min-height:0;flex-grow:1;overflow:hidden}@media (max-width: 800px){.container{flex-direction:column;gap:.2rem;padding:.5rem}h2,h3{margin-block-start:.1em;margin-block-end:.1em}}.home-page{grid-area:main}.panel{background:color-mix(in oklab,var(--panel),transparent 8%);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:0 10px 30px #0000001a}@media (max-width: 800px){.panel{padding:.5rem}}.main-container{display:flex;flex-direction:column;overflow:hidden;grid-area:main;flex-basis:2px;flex-grow:2}.main-panel{overflow:auto;flex-grow:1}.grid{display:flex;gap:.5rem;flex-direction:column}.column{display:flex;flex-direction:column;gap:.75rem;align-items:start}.row{display:flex;gap:.75rem;align-items:center}.row>input[type=number]{flex-basis:6em;min-width:6em;flex-grow:unset}label{font-size:.9em;color:var(--muted)}input,select,textarea{padding:.6rem .7rem;border:1px solid var(--border);background:color-mix(in oklab,var(--panel),transparent 5%);color:var(--text);outline:none}textarea{min-height:120px;resize:vertical}.shrinking-input{flex-shrink:1;min-width:9rem;flex-grow:1}button{padding:.6rem .9rem;border-radius:10px;border:1px solid var(--border);background:color-mix(in oklab,var(--accent),transparent 88%);color:var(--text);cursor:pointer;font-size:1em;transition:transform .5s;transform:rotate(0)}button.ghost{background:transparent}button.ghost[disabled]{cursor:not-allowed}button.primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.slim-button{padding:.3em .7em}.icon-btn{padding:.3em .5em;font-size:1.1em;line-height:1;min-width:unset;border-radius:8px}.tiny-button{padding:.1em}.no-button{background-color:transparent;border-color:transparent}.rotate-button-180{transform:rotate(180deg)}.btn-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.site-footer{border-top:1px solid var(--border);padding:.15rem;text-align:center;color:var(--muted);background:var(--bg)}.daggerheart-compatible-logo{height:2em}@media (max-width: 800px){.site-footer{font-size:.9em;padding:.5rem}}code.kbd{background:color-mix(in oklab,var(--panel),transparent 5%);padding:.1rem .4rem;border-radius:6px;border:1px solid var(--border)}h4{margin-block-end:.5em}p{margin-block-start:.5em;margin-block-end:.5em}.tab-row{padding:0 .6em;gap:0em}.tab{border-radius:1em 1em 0 0;border:1px solid var(--border);border-bottom:0px;background-color:var(--panel);cursor:pointer;padding:.45em}.tab.selected{background-color:var(--border)}.display-none.display-none{display:none}.character-list{padding-inline-start:0}.character-list-entry{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--border);gap:.5rem}.character-list-action-buttons{flex-wrap:nowrap}.auth-section{margin-left:auto}.auth-user{display:flex;align-items:center;gap:.5rem}.auth-name{font-size:.9rem;color:var(--muted, #999);display:flex;align-items:center}.login-dropdown{position:absolute;top:100%;right:0;background:var(--panel, #1e1e1e);border:1px solid var(--border, #333);border-radius:4px;padding:.25rem 0;min-width:180px;z-index:100}.login-dropdown a{display:block;padding:.5rem 1rem;color:inherit;text-decoration:none}.login-dropdown a:hover{background:var(--border, #333)}.subclass-feature,.feature-preview{text-align:initial}.effect-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000a6;display:flex;align-items:center;justify-content:center;animation:effect-picker-fade-in .15s ease}@keyframes effect-picker-fade-in{0%{opacity:0}to{opacity:1}}.effect-picker-modal{background:var(--panel);border:1px solid var(--border);border-radius:.5em;width:90vw;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;animation:effect-picker-slide-in .15s ease}@keyframes effect-picker-slide-in{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.effect-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75em 1em;border-bottom:1px solid var(--border);flex-shrink:0}.effect-picker-title{margin:0;font-size:1.1em;font-weight:600}.effect-picker-close{background:none;border:none;color:var(--color-text-muted);font-size:1.4em;cursor:pointer;padding:0 .2em;line-height:1}.effect-picker-close:hover{color:inherit}.effect-picker-list{flex:1;overflow-y:auto;padding:.5em}.effect-picker-tier-group{margin-bottom:.5em}.effect-picker-tier-header{font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);padding:.3em .5em;margin-bottom:.25em}.effect-picker-entity{padding:.5em .6em;border:1px solid transparent;border-radius:.35em;cursor:pointer;transition:background .1s ease,border-color .1s ease}.effect-picker-entity:hover{background:#ffffff0a;border-color:var(--border)}.effect-picker-entity--selected{background:rgba(var(--color-accent-rgb, 74, 144, 217),.15);border-color:var(--color-accent)}.effect-picker-entity-header{display:flex;align-items:baseline;gap:.5em;margin-bottom:.2em}.effect-picker-entity-name{font-weight:600;font-size:.95em}.effect-picker-entity-desc{font-size:.8em;color:var(--color-text-muted);font-style:italic}.effect-picker-entity-stats{display:flex;gap:.75em;font-size:.8em;margin-bottom:.15em}.effect-picker-stat{color:var(--color-accent, #4a90d9);font-weight:500}.effect-picker-entity-advantages{font-size:.75em;color:var(--color-text-muted)}.effect-picker-entity-features{font-size:.75em;color:var(--color-text-muted);font-style:italic}.effect-picker-footer{border-top:1px solid var(--border);padding:.75em 1em;flex-shrink:0}.effect-picker-selection-preview{margin-bottom:.5em;padding:.5em;background:#ffffff08;border-radius:.3em;max-height:120px;overflow-y:auto}.effect-picker-selection-name{font-weight:600;display:block;margin-bottom:.3em}.effect-picker-preview-feature{font-size:.8em;margin-bottom:.2em;line-height:1.3;color:var(--color-text-muted)}.effect-picker-preview-feature strong{color:inherit;filter:brightness(1.3)}.effect-picker-actions{display:flex;justify-content:flex-end;gap:.5em}.effect-picker-btn{padding:.4em 1em;border-radius:.3em;border:1px solid var(--border);cursor:pointer;font-size:.85em;transition:background .1s ease}.effect-picker-btn--cancel{background:transparent;color:var(--color-text-muted)}.effect-picker-btn--cancel:hover{background:#ffffff0f;color:inherit}.effect-picker-btn--confirm{background:var(--color-accent, #4a90d9);color:#fff;border-color:transparent}.effect-picker-btn--confirm:hover:not(:disabled){filter:brightness(1.15)}.effect-picker-btn--confirm:disabled{opacity:.4;cursor:not-allowed}.effect-picker-empty{text-align:center;padding:2em 1em;color:var(--color-text-muted);font-style:italic}.roll-result{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text, #e8ecf1)}.roll-result-dice{display:flex;flex-direction:column;gap:.3rem}.roll-result-die-group{display:flex;align-items:center;gap:.4rem}.roll-result-die-label{font-size:.8rem;font-weight:600;min-width:4.5rem}.roll-result-die-values{display:flex;gap:.25rem}.roll-result-die-value{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:4px;font-weight:700;font-size:.85rem}.roll-result-die-value--max{background:#50c87833;border-color:#50c87866;color:#50c878}.roll-result-die-value--min{background:#ff6b6b26;border-color:#ff6b6b4d;color:#ff6b6b}.roll-result-die-subtotal{color:var(--muted, #8e95a3);font-size:.8rem;margin-left:.15rem}.roll-result-modifier-label{color:var(--muted, #8e95a3)!important}.roll-result-die-value--modifier{background:#ffffff0a;border-color:#ffffff1f;color:var(--muted, #8e95a3);font-weight:600}.roll-result-total{display:flex;align-items:center;gap:.5rem;border-top:1px solid var(--border, #232833);padding-top:.35rem;margin-top:.1rem}.roll-result-total-label{color:var(--muted, #8e95a3);font-size:.8rem}.roll-result-total-value{font-size:1.1rem;font-weight:700}.roll-result-total-value--success{color:#50c878}.roll-result-total-value--failure{color:#ff6b6b}.roll-result-difficulty{color:var(--muted, #8e95a3);font-size:.8rem}.roll-result-label{color:var(--muted, #8e95a3);font-size:.75rem;font-style:italic}.roll-result-outcomes{display:flex;flex-direction:column;gap:.25rem;border-top:1px solid var(--border, #232833);padding-top:.35rem;margin-top:.1rem}.roll-result-outcome{display:flex;flex-direction:column;gap:.1rem;padding:.25rem .5rem;border-radius:4px;font-size:.8rem}.roll-result-outcome--success{background:#50c8781a;border-left:2px solid #50c878}.roll-result-outcome--failure{background:#ff6b6b1a;border-left:2px solid #ff6b6b}.roll-result-outcome--critical{background:#e8a54b26;border-left:2px solid #e8a54b}.roll-result-outcome--neutral{background:#ffffff0a;border-left:2px solid var(--muted, #8e95a3)}.roll-result-outcome-name{font-weight:700}.roll-result-outcome-desc{color:var(--muted, #8e95a3);font-size:.75rem}@media (prefers-color-scheme: light){.roll-result-die-value{background:#0000000a;border-color:#0000001f}.roll-result-die-value--modifier{background:#00000008;border-color:#0000001a}.roll-result-outcome--success{background:#50c87814}.roll-result-outcome--failure{background:#ff6b6b14}.roll-result-outcome--critical{background:#e8a54b1a}}.tooltip-content{background:var(--panel, #11131a);border:1px solid var(--border, #232833);color:var(--text, #e8ecf1);border-radius:8px;padding:.5rem .75rem;font-size:.8rem;line-height:1.4;max-width:300px;z-index:9999;box-shadow:0 4px 12px #0006;animation:tooltip-fade-in .15s ease-out}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.token-clickable,.token-effect,.token-resource,.token-trait--rollable,.token-dice{padding:.05em .1em;border-radius:4px;border:1px solid transparent;line-height:1.1em;cursor:pointer;transition:background .15s,border-color .15s,color .15s;vertical-align:baseline}.token-clickable:active,.token-effect:active,.token-resource:active,.token-trait--rollable:active,.token-dice:active{transform:scale(.97)}.token-dice{color:#e8a54b;background:#e8a54b14;border-color:#e8a54b33}.token-dice:hover{color:#f0b65c;background:#e8a54b26;border-color:#e8a54b59}.token-dice--rolling{color:#f0b65c;background:#e8a54b33;border-color:#e8a54b80;animation:dice-pulse .3s ease-out}.token-dice--magic{color:#5b8def;background:#5b8def14;border-color:#5b8def33}.token-dice--magic:hover{color:#7aa3f5;background:#5b8def26;border-color:#5b8def59}.token-dice--magic.token-dice--rolling{color:#7aa3f5;background:#5b8def33;border-color:#5b8def80}@keyframes dice-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.token-trait{color:var(--accent, #50b3ff);cursor:help;font-weight:500}.token-trait:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.token-trait--rollable{color:var(--accent, #50b3ff);background:#50b3ff14;border-color:#50b3ff33;font-weight:500;cursor:pointer}.token-trait--rollable:hover{text-decoration:none;color:#6bc1ff;background:#50b3ff26;border-color:#50b3ff59}.token-trait--active{color:#6bc1ff;background:#50b3ff33;border-color:#50b3ff80}.token-resource{color:#c77dff;background:#c77dff14;border-color:#c77dff33}.token-resource:hover{color:#d49bff;background:#c77dff26;border-color:#c77dff59}.token-resource--active{color:#d49bff;background:#a882ff40;border-color:#a882ff99}.token-resource--hope{color:#f0d050;background:#f0d05014;border-color:#f0d05033}.token-resource--hope:hover{color:#f5dc6e;background:#f0d05026;border-color:#f0d05059}.token-resource--hope.token-resource--active{color:#f5dc6e;background:#f0d05040;border-color:#f0d05099}.token-resource--stress{color:#9ca3af;background:#9ca3af14;border-color:#9ca3af33}.token-resource--stress:hover{color:#b0b7c3;background:#9ca3af26;border-color:#9ca3af59}.token-resource--stress.token-resource--active{color:#b0b7c3;background:#9ca3af40;border-color:#9ca3af99}.token-resource--armor{color:#9ca3af;background:#9ca3af14;border-color:#9ca3af33}.token-resource--armor:hover{color:#b0b7c3;background:#9ca3af26;border-color:#9ca3af59}.token-resource--armor.token-resource--active{color:#b0b7c3;background:#9ca3af40;border-color:#9ca3af99}.token-condition{color:#ff6b6b;cursor:help;font-weight:500}.token-condition:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.token-range{color:#63e6be;cursor:help}.token-range:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.token-expr{color:var(--muted, #8e95a3);cursor:help;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:.9em}.token-entity-ref{color:var(--accent, #50b3ff);cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.token-entity-ref:hover{text-decoration-style:solid}.tooltip-label{font-size:.85rem;line-height:1.4}.dice-roll-popover{background:var(--panel, #11131a);border:1px solid var(--border, #232833);border-radius:8px;padding:.75rem 1rem;z-index:9999;box-shadow:0 4px 16px #00000080;min-width:120px;animation:tooltip-fade-in .15s ease-out}.dice-roll-result{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text, #e8ecf1)}.dice-roll-group{display:flex;align-items:center;gap:.4rem}.dice-roll-label{color:var(--muted, #8e95a3);font-size:.8rem;min-width:2.5rem}.dice-roll-individual{display:flex;gap:.25rem}.dice-roll-die{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;background:#e8a54b26;border:1px solid rgba(232,165,75,.3);border-radius:4px;font-weight:600;font-size:.8rem;color:#e8a54b}.dice-roll-die--max{background:#50c87833;border-color:#50c87866;color:#50c878}.dice-roll-die--min{background:#ff6b6b26;border-color:#ff6b6b4d;color:#ff6b6b}.dice-roll-subtotal{color:var(--muted, #8e95a3);font-size:.8rem;margin-left:.25rem}.dice-roll-modifier{color:var(--muted, #8e95a3);font-size:.8rem;padding-left:2.9rem}.dice-roll-total{display:flex;align-items:center;gap:.5rem;border-top:1px solid var(--border, #232833);padding-top:.35rem;margin-top:.1rem}.dice-roll-total-label{color:var(--muted, #8e95a3);font-size:.8rem}.dice-roll-total-value{font-size:1.1rem;font-weight:700;color:#e8a54b}.dice-roll-damage-type{color:var(--muted, #8e95a3);font-size:.75rem;font-style:italic}.resource-action-popover{background:var(--bg-surface, #1e1e2e);border:1px solid var(--border-color, #333);border-radius:8px;padding:8px 12px;box-shadow:0 4px 16px #0006;z-index:1000;font-size:.85rem;animation:popover-in .15s ease-out}.resource-action-confirm{display:flex;flex-direction:column;gap:6px}.resource-action-header{display:flex;align-items:center;gap:10px}.resource-action-label{color:var(--text-primary, #e0e0e0);font-weight:600;white-space:nowrap}.resource-action-buttons{display:flex;gap:4px}.resource-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid transparent;cursor:pointer;font-size:.9rem;font-weight:700;transition:background .15s,border-color .15s}.resource-action-btn--confirm{background:#50c87826;color:#50c878;border-color:#50c8784d}.resource-action-btn--confirm:hover:not(:disabled){background:#50c8784d;border-color:#50c87880}.resource-action-btn--confirm:disabled{opacity:.4;cursor:not-allowed}.resource-action-btn--cancel{background:#ff64641f;color:#ff6464;border-color:#ff646440}.resource-action-btn--cancel:hover{background:#ff646440;border-color:#ff646473}.resource-action-feedback{text-align:center;font-weight:600;padding:2px 0}.resource-action-feedback--applied{color:#50c878}.resource-action-feedback--rejected{color:#ff9f43}.resource-action-grid{display:flex;gap:3px;justify-content:center;--grid-color: #9ca3af}.resource-action-cell{width:12px;height:12px;border-radius:2px;border:1px solid var(--grid-color);transition:background .1s ease}.resource-action-cell--active{background:var(--grid-color)}.resource-action-cell--disabled{border-style:dashed;opacity:.3}.resource-action-grid--hope{--grid-color: #f0d050}.resource-action-grid--hope .resource-action-cell{border-radius:50%}.resource-action-grid--hp{--grid-color: var(--hp-color, #e05050)}.resource-action-grid--stress,.resource-action-grid--armor{--grid-color: #9ca3af}.roll-popover{background:var(--panel, #11131a);border:1px solid var(--border, #232833);border-radius:8px;padding:.75rem 1rem;z-index:9999;box-shadow:0 4px 16px #00000080;min-width:140px;animation:popover-in .15s ease-out}.weapon-roll-chip{display:inline-block;padding:.05em .1em;line-height:1.1em;border-radius:4px;border:1px solid rgba(80,179,255,.2);background:#50b3ff14;color:var(--accent, #50b3ff);cursor:pointer;font-weight:500;transition:background .15s,border-color .15s,color .15s}.weapon-roll-chip:hover{background:#50b3ff26;border-color:#50b3ff59;color:#6bc1ff}.weapon-roll-chip:active{transform:scale(.97)}.weapon-roll-chip--damage{border-color:#e8a54b33;background:#e8a54b14;color:#e8a54b}.weapon-roll-chip--damage:hover{background:#e8a54b26;border-color:#e8a54b59;color:#f0b65c}.weapon-roll-chip--magical{border-color:#5b8def33;background:#5b8def14;color:#5b8def}.weapon-roll-chip--magical:hover{background:#5b8def26;border-color:#5b8def59;color:#7aa3f5}.weapon-roll-chip--magical.weapon-roll-chip--active{background:#5b8def33;border-color:#5b8def80}.weapon-roll-chip--active{background:#50b3ff33;border-color:#50b3ff80}.weapon-roll-chip--damage.weapon-roll-chip--active{background:#e8a54b33;border-color:#e8a54b80}@keyframes popover-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-color-scheme: light){.token-dice{color:#b57a1a;background:#b57a1a14;border-color:#b57a1a33}.token-dice:hover{color:#9a6815;background:#b57a1a1f;border-color:#b57a1a4d}.token-dice--magic{color:#3b6bcf;background:#3b6bcf0f;border-color:#3b6bcf33}.token-dice--magic:hover{color:#2b55ab;background:#3b6bcf1f;border-color:#3b6bcf4d}.token-resource{color:#9b4dca;background:#9b4dca0f;border-color:#9b4dca33}.token-resource:hover{color:#832bb5;background:#9b4dca1f;border-color:#9b4dca59}.token-resource--hope{color:#b8960a;background:#b8960a0f;border-color:#b8960a33}.token-resource--hope:hover{color:#9a7e08;background:#b8960a1f;border-color:#b8960a4d}.token-resource--stress{color:#5a6578;background:#5a65780f;border-color:#5a657833}.token-resource--stress:hover{color:#4a5568;background:#5a65781f;border-color:#5a65784d}.token-resource--armor{color:#5a6578;background:#5a65780f;border-color:#5a657833}.token-resource--armor:hover{color:#4a5568;background:#5a65781f;border-color:#5a65784d}.token-condition{color:#e03131}.token-range{color:#0ca678}.roll-popover{background:#fff;border-color:#ddd;box-shadow:0 4px 16px #0000001a}.token-trait--rollable{color:#2979c9;background:#2979c90f;border-color:#2979c933}.token-trait--rollable:hover{color:#1a5da0;background:#2979c91f;border-color:#2979c959}.weapon-roll-chip{color:#2979c9;background:#2979c90f;border-color:#2979c933}.weapon-roll-chip--damage{color:#b57a1a;background:#b57a1a0f;border-color:#b57a1a33}.weapon-roll-chip--magical{color:#3b6bcf;background:#3b6bcf0f;border-color:#3b6bcf33}.resource-action-popover{background:#fff;border-color:#ddd;box-shadow:0 4px 16px #0000001a}.resource-action-label{color:#333}}.token-effect{cursor:pointer;color:green;background:#00800014;border-color:#00800033}.token-effect:hover,.token-effect--active{background-color:#6c5ce726;border-radius:2px}.token-effect--readonly{cursor:default;text-decoration-color:var(--muted)}.token-effect--readonly:hover{background-color:transparent}.effect-action-popover{background:var(--panel, #1e1e2e);border:1px solid var(--border, #333);border-radius:.5em;padding:.6em;box-shadow:0 4px 12px #0000004d;z-index:1000;max-width:280px;font-size:.85em}.effect-action-confirm{display:flex;flex-direction:column;gap:.3em}.effect-action-header{display:flex;align-items:center;gap:.4em}.effect-action-name{font-weight:700}.effect-action-mods{font-family:monospace;font-size:.9em;color:var(--accent, #6c5ce7)}.effect-action-ends{font-size:.85em;color:var(--muted);font-style:italic}.effect-action-buttons{display:flex;gap:.3em;margin-top:.3em}.effect-action-btn{padding:.2em .6em;border-radius:.3em;border:1px solid var(--border, #333);cursor:pointer;font-size:.9em}.effect-action-btn--confirm{background:var(--accent, #6c5ce7);color:#fff;border-color:var(--accent, #6c5ce7)}.effect-action-btn--cancel{background:transparent;color:var(--muted)}.effect-action-feedback{text-align:center;padding:.4em;font-weight:700}.effect-action-feedback--applied{color:var(--success, #2ecc71)}.effect-action-feedback--rejected{color:var(--warning, #f39c12)}.card{aspect-ratio:2.5/3.5;display:flex;flex-direction:column;max-width:300px;padding:0;container-type:inline-size}@media (max-width: 800px){.card{aspect-ratio:unset}}.card-top{position:relative;flex:1;font-size:5cqw;display:flex;justify-content:space-between;align-items:baseline}@media (max-width: 800px){.card-top:has(.card-level-domain){min-height:3.2em}}.card-image{width:100%;height:100%;object-fit:cover}.card-level-domain{position:relative;top:0%;left:5%;font-weight:700;display:flex;flex-direction:column;text-align:center;border:1px solid var(--border);border-radius:0 0 .5em .5em;padding:.2em .4em;border-top-width:0;width:fit-content}.card-recall-cost{position:absolute;top:0%;right:5%;font-weight:700;border:1px solid var(--border);border-radius:0 0 .5em .5em;padding:.2em .4em;border-top-width:0;text-align:center}.card-bottom{position:relative;padding:5%;display:flex;flex-direction:column;align-items:center;border-top:1px solid var(--border);font-size:4.2cqw;white-space:pre-wrap;min-height:50%}.card-feature-type{position:absolute;max-width:100%;left:50%;top:0%;transform:translate(-50%,-50%);white-space:nowrap;border-radius:1em;background:var(--panel);border:1px solid var(--border);padding:.2em .5em}.card-title{font-weight:700;text-align:center;margin:.1em 0}.card-subtitle{font-weight:400;text-align:center;margin:.1em 0}.domain-card{min-width:var(--card-min-width)}.domain-card-preview{aspect-ratio:2.5/3.5;display:flex;flex-direction:column;max-width:500px}.domain-card-top{position:relative;flex:1}.domain-image{width:100%;height:100%;object-fit:cover}.domain-level-domain{position:absolute;top:0%;left:5%;font-weight:700;display:flex;flex-direction:column}.domain-recall-cost{position:absolute;top:0%;right:5%;font-weight:700}.domain-card-bottom{padding:5%;display:flex;flex-direction:column;align-items:center}.preview{font-size:.75em;overflow-y:scroll;overflow-x:hidden;max-height:calc(100vh - 8rem);min-height:0;flex-shrink:1;position:sticky;top:0;grid-area:preview;flex-basis:1px;flex-grow:1}*:has(>.under-labeled-entry+.under-labeled-entry){white-space:nowrap}.under-labeled-entry{line-height:1.5em;position:relative;margin-top:.3em}.under-labeled-entry .label{text-transform:uppercase;font-size:.5em;position:relative;top:3.3em;line-height:0}.under-labeled-entry+.under-labeled-entry{border-left:1px dotted currentColor;padding-left:.5em}.asset-text.clickable{cursor:help}.weapon,.armor,.inventory{align-items:stretch;text-align:initial}.weapon-section,.armor-section,.inventory-section{display:flex}.weapon-section>*,.armor-section>*,.inventory-section>*{flex-grow:1;padding-left:.2em}.weapon-section .rich-description{white-space:pre-line}.weapon-stats,.armor-stats{text-transform:capitalize}.weapon-entry,.armor-entry{padding-bottom:.5em}.armor-stats{text-align:center}.weapon-entry--override{border-left:2px solid #c9a33e;padding-left:.3em}.weapon-override-badge{font-size:.7em;padding:.1em .4em;margin-bottom:.2em;background:#c9a33e33;color:#c9a33e;border-radius:.2em;font-weight:500;white-space:nowrap;display:inline-block}.hub-page{overflow-y:auto;flex-basis:2px;flex-grow:2;display:flex;flex-direction:column;gap:1.5rem;padding:1rem;max-width:1200px;margin:0 auto}.hub-title{margin:0;font-size:2rem;font-weight:700;color:var(--text)}.hub-subtitle{margin:.25rem 0 0;font-size:1rem;color:var(--muted)}.hub-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%}.hub-tile{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:color-mix(in oklab,var(--panel),transparent 8%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 30px #0000001a;text-decoration:none;color:inherit;transition:all .3s ease;cursor:pointer}.hub-tile:hover{transform:translateY(-4px);box-shadow:0 15px 40px #0003;border-color:var(--accent)}.hub-tile:active{transform:translateY(-2px)}.hub-tile-icon{font-size:3rem;line-height:1;display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:color-mix(in oklab,var(--accent),transparent 85%);border-radius:12px}.hub-tile-content{display:flex;flex-direction:column;gap:.5rem}.hub-tile-title{margin:0;font-size:1.3rem;font-weight:600;color:var(--text)}.hub-tile-subtitle{margin:0;font-size:.95rem;color:var(--muted);line-height:1.4}@media (max-width: 800px){.hub-page{padding:.75rem;gap:1rem}.hub-title{font-size:1.5rem}.hub-tiles{grid-template-columns:1fr;gap:1rem}.hub-tile{padding:1.25rem}.hub-tile-icon{width:70px;height:70px;font-size:2.5rem}.hub-tile-title{font-size:1.1rem}.hub-tile-subtitle{font-size:.9rem}}.character-list-page{overflow-y:auto;flex-basis:2px;flex-grow:2}.cs{position:relative;display:inline-block;cursor:pointer}.cs__native{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.cs__button{display:inline-flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;border:1px solid var(--panel);border-radius:4px;background:var(--panel)}.cs__button:focus-visible{outline:2px solid #2684ff;outline-offset:2px}.cs__label{margin-right:8px;opacity:.75}.cs__value--placeholder{opacity:.7}.cs__chev{margin-left:8px;opacity:.7}.cs__list{position:absolute;cursor:pointer;left:0;right:0;top:calc(100% + 4px);max-height:240px;overflow:auto;border:1px solid var(--panel);border-radius:4px;background:var(--panel);box-shadow:0 4px 18px #00000014;z-index:1000;padding:4px 0}.cs__opt{padding:6px 10px;line-height:1.35}.cs__opt:hover,.cs__opt.is-active{background:color-mix(in oklab,var(--accent),transparent 88%)}.cs__opt.is-selected{font-weight:600;background:var(--accent)}.cs__opt.is-disabled{opacity:.5;pointer-events:none}.heritage-container{display:flex;flex-direction:column;gap:.5rem;height:100%;overflow:visible}.heritage-selection{flex-shrink:1;min-height:0;padding-bottom:unset}.heritage-selection-button{flex-grow:1}.ancestry-selection{gap:.2rem;position:relative;align-items:start;flex-shrink:1;color:var(--text)}.ancestry-selection-list{display:flex;flex-direction:column;flex-grow:1;gap:.5rem;flex-shrink:1;min-height:0;max-height:240px;position:absolute}.builder-equipment-starter-item{padding-left:.9em}.identity-section{display:flex;flex-direction:column;align-items:start;justify-content:start;border:1px solid var(--border);border-radius:.5em;padding:.2em .5em;flex-grow:1;min-width:min-content;flex-shrink:1;min-height:2.2em}.identity-section .identity-label{font-weight:700;font-size:.5em}.identity-section .identity-value{width:100%;line-height:.9em}.description-category{margin-bottom:1em}.description-option{display:inline-block;font-size:1em;margin:0 .1em}input.description-option{border-radius:.2em}.builder-container{display:flex;flex-direction:row;gap:1.5rem}.builder-container h2{font-size:1.2em;font-weight:700;margin:0 .5em .5em}.builder-panel{min-height:0;flex-shrink:1;overflow-x:hidden}.step-selector{flex-basis:fit-content;flex-shrink:0;display:flex;flex-direction:column;gap:.2em;overflow:auto;grid-area:menu;width:fit-content;height:fit-content;top:1rem}.step-selector button{padding:.5em}@media (max-width: 800px){.step-selector{flex-direction:row;overflow-x:auto;overflow-y:hidden;width:100%;height:fit-content;position:relative;top:0}.step-selector button{padding:.3em;white-space:nowrap}}.builder-identity{display:flex;flex-direction:row;gap:.5em}.builder-identity>*{flex-grow:1}.builder-identity-input{width:100%;border:none;padding:0}.builder-identity-level{flex-shrink:1;min-width:min-content}.step-selection{flex:1;display:flex;flex-direction:column;gap:1rem;min-width:200px;grid-area:main;flex-basis:2px;flex-grow:2;flex-shrink:1;min-height:0}@media (max-width: 800px){.step-selection{gap:.1rem;flex-basis:3px;flex-grow:3}}.builder-entry{align-items:stretch}.character-sheet{display:flex;flex-direction:column;align-items:stretch;background:color-mix(in oklab,var(--panel),transparent 8%);border:1px solid var(--border);border-radius:var(--radius);font-size:1.1vw;padding:1em;box-shadow:0 10px 30px #0000001a}.character-sheet section{border:1px solid var(--border);border-radius:.5em;padding:.5em}.character-sheet .flex-expand{flex-grow:1;align-items:stretch}.character-sheet .sheet-row{display:flex;flex-direction:row;justify-content:stretch}.character-sheet .class-block{display:flex;flex-direction:column;align-items:start;justify-content:center;text-transform:uppercase;grid-area:class-block}.character-sheet .class-name{font-size:1.5em;font-weight:700;color:var(--text-primary)}.character-sheet .identity-block{display:flex;flex-direction:column;align-items:start;justify-content:center;flex-grow:1;grid-area:identity-block}.character-sheet .identity-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%}.character-sheet .identity-row>*{flex-grow:1}.character-sheet .badge-block{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:.5em;flex-shrink:1;padding:.5em}.character-sheet .badge-block .value{font-size:2em;font-weight:700}.character-sheet .badge-block.inverted .value{order:2}.character-sheet .badge-block .label{font-size:.75em;color:var(--text-secondary);text-transform:uppercase}.character-sheet .badge-block.inverted .label{order:1}.character-sheet .traits-section{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr}.character-sheet .trait-block{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:.5em;flex-shrink:1;padding:.5em}.character-sheet .trait-block .value{font-size:2em;font-weight:700}.character-sheet .trait-block .label{font-size:.7em;color:var(--text-secondary);text-transform:uppercase;white-space:nowrap}.character-sheet .trait-block .application{font-size:.7em;color:var(--text-secondary)}.character-sheet .armor-grid{display:grid;grid-template-columns:repeat(3,1em);gap:.5em .2em;align-self:center}.character-sheet .armor-grid .armor-cell{aspect-ratio:1;border:1px solid grey;border-radius:50%;cursor:pointer}.character-sheet .armor-grid .armor-cell.active{background:gray}.character-sheet .armor-grid .armor-cell.disabled{border-color:var(--border);border-style:dashed;pointer-events:none;cursor:not-allowed}.character-sheet .damage-thresholds{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-top:.5em}.character-sheet .damage-thresholds button{padding:.2em;flex-grow:0;flex-basis:content}.character-sheet .hope-grid{display:grid;margin:0 1em;grid-template-columns:repeat(6,1fr);gap:1.5em;justify-self:center}.character-sheet .hope-grid .hope-cell{aspect-ratio:1;width:2em;border:1px solid yellow;border-radius:50%;cursor:pointer}.character-sheet .hope-grid .hope-cell.active{background:#ff0}.character-sheet .hope-grid .hope-cell.disabled{border-color:var(--border);border-style:dashed;pointer-events:none;cursor:not-allowed}.character-sheet .hp-stress-section{display:flex;flex-direction:row;align-items:stretch}.character-sheet .hp-stress-grid{display:grid;flex-grow:1;min-width:1px;padding:.3em .5em;grid-template-columns:repeat(12,1fr);gap:.2em}.character-sheet .hp-stress-grid .value-cell{border:1px solid var(--grid-value-color, grey);border-radius:.2em;flex-grow:0;flex-shrink:1;min-width:1px;height:100%}.character-sheet .hp-stress-grid .value-cell.active{background:var(--grid-value-color, grey)}.character-sheet .hp-stress-grid .value-cell.disabled{border-color:var(--border)}.character-sheet .hp-grid{--grid-value-color: var(--hp-color, red)}.character-sheet div:has(+.headered-section),.character-sheet span:has(+.headered-section),.character-sheet section:has(+.headered-section){padding-bottom:1em}.character-sheet *:has(>.under-labeled-entry+.under-labeled-entry){white-space:nowrap}.character-sheet .experience-entry{display:flex;flex-direction:row}.character-sheet .experience-entry .experience-text{flex-grow:1;text-align:initial;text-decoration:underline}.character-sheet .experience-entry .experience-value{font-weight:700;text-decoration:underline;margin-left:.5em}.character-sheet .weapon,.character-sheet .armor,.character-sheet .inventory{align-items:stretch;text-align:initial}.character-sheet .weapon-section,.character-sheet .armor-section,.character-sheet .inventory-section{display:flex}.character-sheet .weapon-section>*,.character-sheet .armor-section>*,.character-sheet .inventory-section>*{flex-grow:1;padding-left:.2em}.character-sheet .weapon-stats,.character-sheet .armor-stats{text-transform:capitalize}.character-sheet .armor-stats,.character-sheet .gold-title{text-align:center}.headered-section{position:relative;padding:1em .5em .5em;text-align:center;border:1px solid var(--border);border-radius:.5em;margin:.1em;flex-grow:1}.headered-section:first-child{margin-top:1em}.headered-section .header{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);white-space:nowrap;border-radius:1em;background:var(--panel);border:1px solid var(--border);padding:.2em .5em;text-align:center}.headered-section .header-bottom-container{position:relative;bottom:0;left:0;height:0;display:flex;justify-content:center}.headered-section .header-bottom{position:relative;display:flex;align-items:center;bottom:0;left:50%;height:fit-content;transform:translate(-50%,.2em);border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0 0 .5em .5em;padding:0 .2em}.inventory{flex-grow:5}.inventory-entry{display:flex;align-items:center;justify-content:space-between}.inventory-entry:hover{background-color:var(--border)}.class-identity{display:grid;grid-template-areas:"class-block identity-block level-block";grid-template-columns:auto 1fr auto}@media (max-width: 800px){.class-identity{grid-template-areas:"class-block level-block" "identity-block identity-block";grid-template-columns:1fr auto}}.level-block{grid-area:level-block}.defense-traits{display:grid;grid-template-areas:"defense-block traits-block";grid-template-columns:auto 1fr;gap:1em}@media (max-width: 800px){.defense-traits{grid-template-areas:"defense-block" "traits-block";grid-template-columns:1fr;gap:.5em}}.defense-block{grid-area:defense-block;display:flex;flex-direction:row;align-items:stretch;justify-content:center}.sheet-contents{grid-area:sheet-contents;display:grid;grid-template-areas:"resources-features equipment";grid-template-columns:6fr 5fr;align-items:stretch}@media (max-width: 800px){.sheet-contents{grid-template-areas:"resources-features" "equipment";grid-template-columns:1fr}}.sheet-resources-features{grid-area:resources-features;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:1em}.sheet-equipment{grid-area:equipment;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:1em}.sheet-column{display:flex;flex-direction:column;align-items:stretch;justify-content:center;flex-grow:1}.value-grid{display:flex}.value-grid .value-cell{border:1px solid var(--border);border-radius:999999em;text-align:center;cursor:pointer}.value-grid .value-cell.active{background:gray}.value-grid .value-cell.disabled{border-style:dashed;pointer-events:none;cursor:not-allowed}.gold-section{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:.5em;padding:.5em;gap:.3em}.gold-unit-row{display:flex;align-items:center;gap:.3em}.gold-unit-label{min-width:5em;font-size:.85rem}.gold-btn{width:1.5em;height:1.5em;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:.3em;background:transparent;cursor:pointer;font-size:.85rem;color:var(--text)}.gold-btn:hover{background:var(--hover, rgba(255, 255, 255, .1))}.gold-grid{display:grid;flex-grow:1;min-width:5px;padding:.1em 0;grid-template-columns:repeat(var(--num-items),1fr);height:1.8em;gap:.1em}.gold-grid .value-cell{border:1px solid var(--grid-value-color, grey);border-radius:.2em;min-width:5px;height:100%}.gold-grid .value-cell.active{background:var(--grid-value-color, gold);border-color:var(--grid-value-color, gold)}.gold-grid .value-cell.disabled{border-color:var(--border)}.proficiency-grid{display:-moz-inline-grid;color:gray;width:100%;flex-grow:1;min-width:5px;padding:.1em .3em;grid-template-columns:repeat(var(--num-items),1fr);height:1em;gap:.1em}.proficiency-grid .value-cell{border:1px solid var(--grid-value-color, currentColor);cursor:unset;border-radius:50%;min-width:5px;aspect-ratio:1/1}.proficiency-grid .value-cell.active{background:var(--grid-value-color, currentColor);border-color:var(--grid-value-color, currentColor)}.proficiency-grid .value-cell.disabled{border-color:currentColor}@media (max-width: 800px){.character-sheet{font-size:3.5vw;padding:.3em}}.character-cards-container{container:cards/inline-size}.character-cards{display:grid;gap:.35em;grid-template-columns:1fr}.character-cards>h3{grid-column:1/-1}@container cards (width > calc(400px + 1em)){.character-cards{grid-template-columns:repeat(min(2,var(--highest-card-count)),1fr)}}@container cards (width > calc(600px + 2em)){.character-cards{grid-template-columns:repeat(min(3,var(--highest-card-count)),1fr)}}@container cards (width > calc(800px + 3em)){.character-cards{grid-template-columns:repeat(min(4,var(--highest-card-count)),1fr)}}@container cards (width > calc(1000px + 4em)){.character-cards{grid-template-columns:repeat(min(5,var(--highest-card-count)),1fr)}}@container cards (width > calc(1200px + 5em)){.character-cards{grid-template-columns:repeat(min(6,var(--highest-card-count)),1fr)}}.character-cards-card{min-width:var(--card-min-width);flex-grow:1}.character-cards-card--inactive{opacity:.55;filter:saturate(.5);transition:opacity .2s ease,filter .2s ease}.character-cards-card--inactive:hover{opacity:.85;filter:saturate(.8)}.character-cards-card--suppressed{opacity:.35;filter:saturate(.2) brightness(.7);pointer-events:none;transition:opacity .2s ease,filter .2s ease;cursor:not-allowed}.character-cards-card--suppressed:hover{opacity:.5;filter:saturate(.3) brightness(.8);pointer-events:auto}.character-cards-empty-slot{display:flex;align-items:center;justify-content:center;min-height:8em;border:2px dashed var(--color-border, rgba(255, 255, 255, .15));background:transparent;border-radius:var(--border-radius, .5em)}.character-cards-empty-label{color:var(--color-text-muted, rgba(255, 255, 255, .3));font-style:italic;font-size:.9em;-webkit-user-select:none;user-select:none}.character-cards-zone-header{grid-column:1/-1;display:flex;align-items:baseline;gap:.4em;margin:0;padding:.3em 0 .1em;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.25em}.character-cards-zone-header:hover{background:#ffffff08}.character-cards-zone-header:not(:first-child){margin-top:.3em}.character-cards-zone-header--inactive{opacity:.6}.character-cards-zone-chevron{font-size:.55em;display:inline-block;transition:transform .15s ease;transform:rotate(0);opacity:.5;position:relative;top:-.1em}.character-cards-zone-chevron--open{transform:rotate(90deg)}.character-cards-zone-capacity{font-size:.75em;font-weight:400;color:var(--color-text-muted, rgba(255, 255, 255, .5))}.character-cards-card-cell{position:relative;overflow:visible}.character-cards-suppression-wrapper{position:relative;cursor:not-allowed}.character-cards-card-cell--transferable>.character-cards-card{position:relative}.character-cards-transfer-tab{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(100%);display:flex;flex-direction:column;gap:.3em;padding:.3em .5em;background:var(--panel, rgba(30, 30, 40, .95));border:1px solid var(--border, rgba(255, 255, 255, .12));border-bottom:none;border-radius:.4em .4em 0 0;opacity:0;pointer-events:none;transition:transform .15s ease,opacity .15s ease;white-space:nowrap}.character-cards-card-cell--transferable:hover .character-cards-transfer-tab{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}.character-cards-transfer-btn{padding:.2em .6em;font-size:.7em;font-weight:600;border:none;border-radius:.3em;cursor:pointer;white-space:nowrap;transition:filter .1s ease}.character-cards-transfer-btn:hover{filter:brightness(1.15)}.character-cards-transfer-btn--move{background:var(--color-accent, #4a90d9);color:#fff}.character-cards-transfer-btn--rest{background:var(--color-success-bg, rgba(60, 180, 60, .2));color:var(--color-success, #60c060)}.character-cards-transfer-resources{display:flex;flex-direction:column;gap:.25em;margin-bottom:.3em}.character-items-container{display:flex;flex-direction:column}.character-items-items-container{flex-shrink:1;min-height:0;overflow:auto}.companion-sheet{display:flex;flex-direction:column;gap:1em;padding:1em;background:color-mix(in oklab,var(--panel),transparent 8%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 30px #0000001a}.companion-sheet .companion-identity{display:flex;gap:1em;flex-wrap:wrap}.companion-sheet .companion-field{display:flex;flex-direction:column;flex:1;min-width:10em}.companion-sheet .companion-field .field-label{font-size:.8em;text-transform:uppercase;opacity:.7;margin-bottom:.25em}.companion-sheet .companion-field .field-value{font-size:1em}.companion-sheet .companion-field input{padding:.4em .6em;border:1px solid var(--border);border-radius:var(--radius, 4px);background:var(--input-bg, transparent);color:inherit;font-size:1em}.companion-sheet .companion-combat{display:flex;align-items:center;gap:2em;flex-wrap:wrap}.companion-sheet .companion-stat{display:flex;flex-direction:column;align-items:center}.companion-sheet .companion-stat .stat-label{font-size:.8em;text-transform:uppercase;opacity:.7}.companion-sheet .companion-stat .stat-value{font-size:1.4em;font-weight:700}.companion-sheet .companion-stress-section{display:flex;flex-direction:row;align-items:stretch}.companion-sheet .stress-label{font-size:.8em;text-transform:uppercase;opacity:.7;display:flex;align-items:center;padding-right:.5em}.companion-sheet .companion-stress-grid{display:grid;flex-grow:1;min-width:1px;padding:.3em .5em;grid-template-columns:repeat(6,1fr);gap:.2em;height:2em}.companion-sheet .companion-stress-grid .value-cell{border:1px solid var(--grid-value-color, grey);border-radius:.2em;min-width:1px;height:100%;cursor:pointer}.companion-sheet .companion-stress-grid .value-cell.active{background:var(--grid-value-color, grey)}.companion-sheet .companion-stress-grid .value-cell.disabled{border-color:var(--border);border-style:dashed;pointer-events:none;cursor:not-allowed}.companion-sheet .companion-attack{display:flex;align-items:flex-end;gap:1.5em;flex-wrap:wrap}.companion-sheet .companion-experiences{display:flex;flex-direction:column;gap:.5em}.companion-sheet .companion-experience-row{display:flex;align-items:center;gap:.75em}.companion-sheet .companion-experience-row .experience-name{flex:1;padding:.4em .6em;border:1px solid var(--border);border-radius:var(--radius, 4px);background:var(--input-bg, transparent);color:inherit;font-size:1em}.companion-sheet .companion-experience-row .experience-bonus{font-weight:700;min-width:2em;text-align:center}.companion-sheet .companion-abilities{display:flex;flex-direction:column;gap:.75em}.companion-sheet .companion-ability{padding:.5em;border:1px solid var(--border);border-radius:var(--radius, 4px)}.companion-sheet .companion-hope-grid{margin-top:.5em;display:flex;justify-content:center;gap:.5em}.companion-sheet .companion-hope-grid .hope-cell{width:1.5em;height:1.5em;border:1px solid yellow;border-radius:50%;cursor:pointer}.companion-sheet .companion-hope-grid .hope-cell.active{background:#ff0}.companion-sheet .companion-hope-grid .hope-cell.disabled{border-color:var(--border);border-style:dashed;pointer-events:none;cursor:not-allowed}.companion-sheet .companion-notes{width:100%;padding:.5em;border:1px solid var(--border);border-radius:var(--radius, 4px);background:var(--input-bg, transparent);color:inherit;font-family:inherit;font-size:1em;resize:vertical}.companion-sheet .companion-notes-display{white-space:pre-wrap;font-size:.95em;opacity:.9}.effects-panel{padding:.5em}.effects-empty{text-align:center;padding:2em 1em;color:var(--muted)}.effects-empty p{margin:.25em 0}.effects-empty .effects-empty-hint{font-size:.85em}.effects-list{display:flex;flex-direction:column;gap:.5em}.effect-entry{border:1px solid var(--border);border-radius:.5em;padding:.6em;background:var(--panel)}.effect-header{display:flex;align-items:center;gap:.4em}.effect-name{font-weight:700;flex:1}.effect-stacks{font-size:.85em;color:var(--muted);font-weight:700}.effect-remove{padding:.1em .4em;font-size:.8em;line-height:1}.effect-source{font-size:.8em;color:var(--muted);margin-top:.2em}.effect-modifiers{display:flex;flex-wrap:wrap;gap:.3em;margin-top:.4em}.effect-modifier-chip{display:inline-block;background:var(--border);border-radius:.3em;padding:.15em .4em;font-size:.85em;font-family:monospace}.effect-description{font-size:.85em;margin-top:.3em;color:var(--muted)}.effect-end-conditions{font-size:.8em;margin-top:.4em;color:var(--muted)}.effect-end-label{font-weight:700;margin-right:.3em}.effect-end-condition{font-style:italic}.tab-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--accent, #6c5ce7);color:#fff;border-radius:1em;font-size:.7em;font-weight:700;min-width:1.4em;height:1.4em;padding:0 .3em;margin-left:.3em;vertical-align:middle}.account-page{max-width:600px;margin:0 auto;padding:2rem 1rem;overflow-y:auto;flex-grow:2;flex-basis:2px}.account-page h1{margin:0 0 2rem;font-size:2rem;font-weight:700;color:var(--text)}.account-page h2{margin:0 0 1.5rem;font-size:1.3rem;font-weight:600;color:var(--text)}.account-section{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text);font-size:.95rem}.username-input-wrapper{display:flex;gap:.5rem;align-items:flex-start}.username-input{flex:1;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--input-bg, var(--panel));color:var(--text);font-size:1rem;font-family:inherit;transition:border-color .2s ease}.username-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab,var(--accent),transparent 80%)}.username-input.invalid{border-color:var(--error, #ff4444)}.validation-message{font-size:.85rem;padding:.5rem 0;transition:color .2s ease}.validation-message.error{color:var(--error, #ff4444)}.validation-message.success{color:var(--success, #44ff44)}.validation-message.checking{color:var(--muted);font-style:italic}.save-button{align-self:flex-start;margin-top:.5rem;padding:.75rem 1.5rem;border:none;border-radius:var(--radius);background:var(--accent);color:var(--accent-text, white);font-weight:600;cursor:pointer;transition:all .2s ease}.save-button:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.save-button:active:not(:disabled){transform:translateY(0)}.save-button:disabled{opacity:.5;cursor:not-allowed}.save-message{font-size:.9rem;padding:.75rem;border-radius:var(--radius);margin-top:.5rem}.save-message.success{background:color-mix(in oklab,var(--success, #44ff44),transparent 85%);color:var(--success, #44ff44);border:1px solid color-mix(in oklab,var(--success, #44ff44),transparent 50%)}.save-message.error{background:color-mix(in oklab,var(--error, #ff4444),transparent 85%);color:var(--error, #ff4444);border:1px solid color-mix(in oklab,var(--error, #ff4444),transparent 50%)}.readonly-field{padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab,var(--panel),transparent 50%);color:var(--muted);font-size:1rem;word-break:break-word}.field-note{margin:.25rem 0 0;font-size:.8rem;color:var(--muted);font-style:italic}@media (max-width: 800px){.account-page{padding:1rem .75rem}.account-page h1{font-size:1.5rem;margin-bottom:1.5rem}.account-page h2{font-size:1.1rem;margin-bottom:1rem}.form-group{gap:.4rem}.username-input{font-size:16px}}
