*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0e14;--surface: #14161f;--surface-2: #1c1f2e;--surface-dark: #181428;--border: #2a2d42;--accent: #8b6cf7;--accent-hover: #a688ff;--accent-dim: #3d2f8f33;--accent-bg: rgba(139, 108, 247, .15);--gold: #e8b84b;--red: #e05a5a;--green: #56c97b;--blue: #4da6e8;--danger: #e05a5a;--danger-bg: rgba(224, 90, 90, .12);--hope-stress: #c45c5c;--spellcast: #7c6bb8;--tier: #5a9fb8;--major-bg: #2d250a;--major-border: #5a4a14;--severe-bg: #2d0e0e;--severe-border: #6b1a1a;--weapon-trait: #5ab8d8;--weapon-range: #6ab86a;--text: #e4e6ef;--text-muted: #8b90a8;--text-dim: #5a5f7a;--radius: 8px;--radius-lg: 14px;--shadow: 0 2px 12px rgba(0,0,0,.5)}html,body,#root{height:100%;font-family:Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.container--py{padding-top:2rem;padding-bottom:2rem}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.2rem;color:var(--text-muted)}.page-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.page-center-inner{width:100%;max-width:400px}.page-title{font-size:1.45rem;font-weight:700;color:var(--text)}.page-title--gold{color:var(--gold)}.page-title--large{font-size:2rem}.page-subtitle{color:var(--text-muted);font-size:.9rem}.page-subtitle--center{text-align:center}.page-header{text-align:center;margin-bottom:2rem}.page-header .page-title{margin-bottom:.5rem}.wizard-step-title{padding:1.5rem 2rem .5rem;max-width:860px;margin:0 auto;width:100%}.wizard-step-title h2{font-size:1.3rem;font-weight:700}.wizard-step-title .page-subtitle{margin-top:.3rem}.flex-row{display:flex;align-items:center}.flex-row--gap{gap:.75rem}.flex-row--gap-sm{gap:.5rem}.flex-row--gap-md{gap:1rem}.flex-row--between{justify-content:space-between}.flex-row--wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-col{display:flex;flex-direction:column}.gap-2{gap:1rem}.align-center{align-items:center}.list-none{list-style:none}.text-muted{color:var(--text-muted)}.text-red{color:var(--red)}.text-success{color:var(--green)}.text-xs{font-size:.8rem}.text-sm{font-size:.9rem}.empty-hint{color:var(--text-dim);font-size:.85rem;font-style:italic}.label-sm{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.label-xs{font-size:.6rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em}.relative{position:relative}.mb-1{margin-bottom:1rem}.mb-1_5{margin-bottom:1.5rem}.mb-2{margin-bottom:2rem}.mb-075{margin-bottom:.75rem}.mb-05{margin-bottom:.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.2rem;border-radius:var(--radius);border:none;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{opacity:.85}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{color:var(--text);background:var(--surface-2)}.btn-sm{padding:.3rem .8rem;font-size:.8rem}.btn-lg{padding:.75rem 2rem;font-size:1rem}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible,a:focus-visible,.wizard-step-dot:focus-visible,.tab-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow)}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.form-group--sm{margin-bottom:0;gap:.15rem}.form-label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.35rem;font-weight:600}.form-label--sm{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);margin-bottom:.15rem}.form-input,.form-select,.form-textarea{width:100%;padding:.55rem .8rem;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;outline:none;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent)}.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form-textarea{resize:vertical;min-height:80px;font-family:inherit}.form-error{font-size:.8rem;color:var(--red);margin-top:.3rem}.input{padding:.55rem .8rem;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.6rem .75rem;text-align:left}.table th{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:2px solid var(--border)}.table td{border-bottom:1px solid var(--border)}.table tbody tr:hover{background:var(--surface-2)}.table select{min-width:100px}.badge,.role-pill{display:inline-block;padding:.2rem .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius)}.role-pill--gm{background:var(--accent-bg);color:var(--gold)}.role-pill--player{background:var(--surface-2);color:var(--text-muted)}.admin-section .section-title{font-size:.8rem}.stat-pill{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);min-width:64px}.stat-pill .pill-label,.stat-pill .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-pill .pill-value,.stat-pill .value{font-size:1.4rem;font-weight:700}.tracker{display:flex;flex-direction:column;gap:.75rem}.tracker-slots{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.tracker-slot{width:18px;height:18px;border-radius:3px;border:2px solid var(--border);cursor:pointer;transform:rotate(45deg);transition:background .12s,border-color .12s}.tracker-slot.filled{background:var(--accent);border-color:var(--accent)}.tracker-slot.hp.filled{background:var(--red);border-color:var(--red)}.tracker-slot.stress.filled{background:var(--gold);border-color:var(--gold)}.tracker-slot.hope.filled{background:var(--blue);border-color:var(--blue)}.tracker-slot.armor.filled.armor-consumed{background:var(--red);border-color:var(--red)}.tracker-slot--extra{opacity:.4;cursor:default;pointer-events:none;background:var(--surface-2);border-color:var(--border)}.armor-slots-grid{display:grid;grid-template-columns:repeat(3,18px);gap:.6rem;justify-content:start}.wizard{display:flex;flex-direction:column;min-height:100vh}.wizard-header{background:var(--surface);border-bottom:1px solid var(--border);padding:1rem 2rem;display:flex;align-items:center;gap:1rem}.wizard-steps{display:flex;gap:.5rem;flex:1;overflow-x:auto}.wizard-step-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.wizard-step-dot.active{background:var(--accent);border-color:var(--accent);color:#fff}.wizard-step-dot.done{background:var(--green);border-color:var(--green);color:#fff}.wizard-body{flex:1;padding:2rem;max-width:860px;margin:0 auto;width:100%}.wizard-brand{font-weight:700;color:var(--gold);white-space:nowrap}.wizard-error{padding:.5rem 2rem;max-width:860px;margin:0 auto;width:100%}.wizard-error p{color:var(--red);font-size:.9rem}.wizard-footer{background:var(--surface);border-top:1px solid var(--border);padding:1rem 2rem;display:flex;justify-content:space-between;gap:1rem}.option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.option-card{border:2px solid var(--border);border-radius:var(--radius-lg);padding:1rem;cursor:pointer;transition:border-color .15s,background .15s;background:var(--surface-2)}.option-card:hover{border-color:var(--accent)}.option-card.selected{border-color:var(--accent);background:var(--accent-dim)}.option-card h4{font-size:.95rem;margin-bottom:.25rem}.option-card p{font-size:.8rem;color:var(--text-muted)}.option-card-image{cursor:pointer;border-radius:var(--radius);overflow:hidden;border:3px solid transparent;box-shadow:0 2px 6px #0006;transition:border-color .15s,box-shadow .15s;background:var(--surface-2)}.option-card-image.selected{border-color:var(--gold);box-shadow:0 0 14px #d4aa5380}.option-card-image img{width:100%;display:block}.option-card-image-caption{padding:.4rem .6rem;text-align:center;font-weight:600;font-size:.9rem;color:var(--text);transition:color .15s}.option-card-image.selected .option-card-image-caption{color:var(--gold)}.trait-row{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.trait-name{width:100px;font-size:.9rem;font-weight:600}.trait-btn{width:32px;height:32px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;font-size:.9rem;font-weight:700;transition:background .12s}.trait-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.trait-btn:hover:not(.active){border-color:var(--accent)}.navbar{background:var(--surface);border-bottom:1px solid var(--border);padding:.75rem 2rem;display:flex;align-items:center;gap:1.5rem}.navbar-brand,a.navbar-brand{font-size:1.1rem;font-weight:700;color:var(--gold);text-decoration:none}a.navbar-brand:hover{color:var(--gold);opacity:.9}.navbar-link{font-size:.9375rem;font-weight:500;text-decoration:none;color:var(--text-muted);padding:.25rem .5rem;border-radius:var(--radius);transition:color .15s,background .15s}.navbar-link:hover{color:var(--text)}.navbar-link--active{color:var(--accent);font-weight:600}.navbar-link--active:hover{color:var(--accent)}.navbar-spacer{flex:1}.navbar-mobile{display:none}.char-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.char-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;cursor:pointer;transition:border-color .15s,transform .12s;text-decoration:none;color:var(--text);display:block}.char-card:hover{border-color:var(--accent);transform:translateY(-2px)}.char-card-link{display:block;text-decoration:none;color:inherit}.char-card-name{font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.char-card-sub{font-size:.85rem;color:var(--text-muted)}.char-card-delete{position:absolute;top:.75rem;right:.75rem;color:var(--red);opacity:.6}.char-card-hp-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.char-card-hp-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.char-card-hp-fill{height:100%;border-radius:3px;transition:width .3s}.card--centered{text-align:center;padding:3rem}.party-dashboard{display:flex;flex-direction:column;min-height:100vh;background:var(--bg)}.party-dashboard-banner{flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border);padding:1.25rem 1.5rem}.party-dashboard-banner-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--text)}.party-dashboard-content{flex:1;padding:1.5rem;width:100%;box-sizing:border-box}.party-dashboard-empty{margin:0}.party-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem}.party-overview-member-card{display:flex;flex-direction:column;gap:0}.party-overview-member-card.card{padding:0;box-shadow:none}.party-overview-username{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding-bottom:.35rem;border-bottom:1px solid var(--border)}.party-overview-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem}.party-overview-card-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin-bottom:.45rem}.party-overview-char-name{font-size:1.05rem;font-weight:700;color:var(--accent);text-decoration:none}.party-overview-char-name:hover{text-decoration:underline}.party-overview-char-meta{font-size:.85rem;color:var(--text-muted)}.party-overview-stats{display:flex;flex-direction:column;gap:.4rem}.party-overview-group{display:flex;flex-direction:column;gap:.15rem}.party-overview-group--inline{flex-direction:row;align-items:baseline;gap:.4rem}.party-overview-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.party-overview-value{font-size:.9rem;font-weight:600}.party-overview-traits{display:flex;flex-wrap:wrap;gap:.25rem}.party-overview-trait{font-size:.75rem;font-weight:700;min-width:1.75rem;text-align:center;padding:.15rem .3rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.party-overview-card .tracker{gap:.4rem}.party-overview-card .tracker-slots{gap:.45rem}.party-overview-card .section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.party-name-link{color:inherit;text-decoration:none}.party-name-link:hover{text-decoration:underline}.sheet-page{display:flex;flex-direction:column;min-height:100vh}.sheet-nav{background:var(--surface);border-bottom:1px solid var(--border);padding:.4rem 1rem;display:flex;align-items:center;gap:1rem}.sheet-header{display:flex;align-items:stretch;height:100px;background:var(--surface);border-bottom:2px solid var(--border)}.sheet-header-class{display:flex;flex-direction:row;align-items:stretch;background:var(--surface-dark);border-right:2px solid var(--border);flex-shrink:0}.sheet-header-art{width:200px;flex-shrink:0;object-fit:cover;object-position:top left;display:block}.sheet-header-class-info{padding:.5rem .85rem;border-left:1px solid var(--border);display:flex;flex-direction:column;justify-content:center}.sheet-class-name{font-size:.9rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;line-height:1.15}.sheet-class-domains{font-size:.6rem;color:var(--gold);text-transform:uppercase;letter-spacing:.07em;margin-top:.1rem}.sheet-subclass-name{font-size:.72rem;font-weight:600;color:var(--text-muted);margin-top:.15rem;text-transform:uppercase}.sheet-header-identity-row{display:flex;flex:1;min-width:0;align-items:stretch}.sheet-header-info{display:flex;flex-direction:column;justify-content:center;padding:1rem 1.5rem;flex:1;gap:.65rem}.sheet-header-name-row{display:flex;align-items:baseline;gap:.75rem}.sheet-name-value{font-size:1.6rem;font-weight:700;letter-spacing:.01em;line-height:1.1;text-transform:uppercase}.sheet-name-pronouns{font-size:.7rem;color:var(--text-muted);font-weight:600;border:1px solid var(--border);border-radius:var(--radius);padding:.1rem .45rem;white-space:nowrap;flex-shrink:0}.sheet-header-fields{display:flex;gap:2.5rem}.sheet-header-field{display:flex;flex-direction:column;gap:.18rem}.sheet-field-label{font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-weight:700}.sheet-field-value{font-size:.92rem;font-weight:600;text-transform:uppercase}.sheet-header-level{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:0;width:100px;border-radius:0;background:var(--surface-dark);border-left:2px solid var(--border);flex-shrink:0}.sheet-level-label{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-weight:700}.sheet-level-value{font-size:2.2rem;font-weight:900;color:var(--gold);line-height:1}.sheet-tier-label{font-size:.9rem;font-weight:800;color:var(--accent-hover);letter-spacing:.04em}.sheet-pinned{display:grid;grid-template-columns:1fr minmax(calc(216px + 9.1rem),1fr);grid-template-rows:1fr 1fr 1fr 1fr;gap:0;border-bottom:2px solid var(--border);background:var(--surface)}.sheet-pinned-section{display:flex;flex-direction:column;justify-content:center;min-height:0;gap:.5rem;padding:.4rem .75rem}.sheet-pinned-left-row1{grid-column:1;grid-row:1 / 3}.sheet-pinned-left-row2{grid-column:1;grid-row:3 / 5}.sheet-pinned-right:nth-child(3){grid-column:2;grid-row:1}.sheet-pinned-right:nth-child(4){grid-column:2;grid-row:2}.sheet-pinned-right:nth-child(5){grid-column:2;grid-row:3}.sheet-pinned-right:nth-child(6){grid-column:2;grid-row:4}.sheet-pinned-right{min-width:360px}.sheet-pinned-right .tracker-slots{flex-wrap:nowrap}.sheet-pinned-hope-proficiency{flex-direction:row;align-items:center;justify-content:left;gap:1rem;flex-wrap:wrap}.content-col{display:flex;flex-direction:column;gap:.75rem;padding:0;justify-content:center}.evasion-dt-row{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.evasion-dt-item{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.evasion-dt-item .section-title{white-space:nowrap}.traits-bar{display:flex;flex-direction:column;gap:.75rem;padding:0}.traits-bar-pills{display:flex;gap:.5rem;flex-wrap:nowrap}.traits-bar-secondary{padding-left:.75rem;border-left:1px solid var(--border)}.trait-pill,.evasion-pill,.gold-pill{display:flex;flex-direction:column;align-items:center;background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius)}.trait-pill{gap:.1rem;padding:.4rem .6rem;min-width:75px}.gold-pill{gap:.25rem;padding:.4rem .6rem;min-width:58px}.trait-pill-secondary{background:transparent;border-color:transparent}.pill-label,.pill-name{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.pill-value{font-size:1.25rem;font-weight:800;line-height:1}.survival-meta{display:flex;align-items:center;gap:1rem}.hope-feature{display:flex;flex-direction:column;gap:.2rem}.hope-feature-name{font-size:.72rem;font-weight:700;color:var(--accent)}.hope-feature-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4;margin:0}.defense-block{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.defense-proficiency-grid{display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto auto;column-gap:.5rem;row-gap:1rem;align-items:start;width:fit-content}.defense-proficiency-grid>.defense-section:nth-child(1){grid-column:1;grid-row:1}.defense-proficiency-grid>.defense-section:nth-child(2){grid-column:2;grid-row:1;margin-left:0}.defense-proficiency-grid>.defense-section--armor-span{grid-column:3;grid-row:1 / -1;margin-left:1rem;display:flex;flex-direction:column;min-height:0}.defense-proficiency-grid>.defense-section{align-items:flex-start}.defense-proficiency-grid .tracker{flex:1;display:flex;flex-direction:column;min-height:0}.defense-proficiency-grid .tracker-slots{flex:1;min-height:0}.defense-proficiency-grid .tracker-slots:not(.armor-slots-grid){display:flex;flex-direction:row;align-items:center}.defense-proficiency-grid>.defense-section--proficiency{grid-column:1 / -1;grid-row:2}.defense-section{display:grid;flex-direction:column;align-items:center;gap:.75rem;min-width:0}.defense-section .section-title{white-space:nowrap}.defense-empty{font-size:.9rem;color:var(--text-muted)}.evasion-pill{gap:.1rem;padding:.4rem .6rem;min-width:75px;min-height:45px;justify-content:center;flex-shrink:0}.dt-display{display:flex;flex-direction:column;gap:.35rem;width:fit-content}.dt-scale{display:flex;align-items:stretch;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.dt-tier{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.35rem .6rem;flex:1;min-height:45px;background:var(--surface-2);border:1px solid var(--border)}.dt-tier-name{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.dt-tier-subname{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.dt-minor{background:var(--surface-2)}.dt-minor .dt-tier-name,.dt-minor .dt-tier-subname{color:var(--text-muted)}.dt-major{background:var(--major-bg)}.dt-major .dt-tier-name,.dt-major .dt-tier-subname{color:var(--gold)}.dt-severe{background:var(--severe-bg)}.dt-severe .dt-tier-name,.dt-severe .dt-tier-subname{color:var(--red)}.dt-threshold{display:flex;align-items:center;justify-content:center;padding:0 .5rem;min-width:32px;background:var(--bg);border-left:1px solid var(--border);border-right:1px solid var(--border);font-size:.9rem;font-weight:900;color:var(--text-muted);font-variant-numeric:tabular-nums}.sheet-features-row{display:flex;background:var(--surface);border-bottom:2px solid var(--border)}.features-panel{width:50%;padding:0;display:flex;flex-direction:column;gap:0;border-right:1px solid var(--border);overflow-y:auto}.features-panel>.tab-bar{padding-left:1.25rem;padding-right:1.25rem}.features-tab-content,.weapons-panel-list{padding:.75rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.weapons-panel{width:50%;padding:0;display:flex;flex-direction:column;gap:0}.weapons-panel>.tab-bar{margin-left:-1.25rem;margin-right:-1.25rem;padding-left:1.25rem;padding-right:1.25rem}.weapon-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.weapon-catalog-card{background:var(--surface)}.weapon-card-header{display:flex;justify-content:flex-start;align-items:center;gap:.5rem;padding:.35rem .6rem;background:var(--surface);border-bottom:1px solid var(--border)}.weapon-catalog-card .weapon-card-header{background:var(--surface-2)}.weapon-card-name{font-size:.88rem;font-weight:700}.weapon-card-stats{display:flex;flex-wrap:wrap;white-space:nowrap;gap:0 .25rem}.weapon-stat-col{display:flex;flex-direction:column;flex:0 0 auto;padding:.3rem .5rem;border-right:1px solid var(--border)}.weapon-stat-col:last-child{border-right:none}.weapon-stat-label{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);margin-bottom:.1rem}.weapon-stat-value{font-size:.8rem;font-weight:600;color:var(--text)}.weapon-stat-damage{color:var(--gold)}.weapon-stat-trait{color:var(--weapon-trait)}.weapon-stat-range{color:var(--weapon-range)}.weapon-card-feature{display:flex;flex-direction:column;gap:.15rem;padding:.35rem .6rem;border-top:1px solid var(--border);background:var(--surface)}.weapon-catalog-card .weapon-card-feature{background:var(--surface-2)}.weapon-card-feature-text{font-size:.78rem;color:var(--text-muted);line-height:1.45}.tab-bar{display:flex;gap:0;background:var(--surface);border-bottom:2px solid var(--border);padding:0 1rem;margin-bottom:0}.sheet-tabs-wrapper .tab-bar{padding:0 1.25rem}.tab-btn{flex:1;padding:.5rem 1rem;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;background:transparent;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.35rem;transition:color .15s,border-color .15s}.tab-btn--auto{flex:0 1 auto}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-count{display:inline-block;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:0 .35rem;font-size:.6rem;font-weight:700;color:var(--text-muted);margin-left:.35rem;min-width:1.25em;text-align:center}.weapons-inventory-tab{display:flex;flex-direction:column;gap:.5rem}.weapon-inv-actions{display:flex;gap:.4rem}.weapon-form{display:flex;flex-direction:column;gap:.6rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.weapon-form-title{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.weapon-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.weapon-form-full{grid-column:1 / -1}.weapon-form-actions{display:flex;gap:.4rem;justify-content:flex-end}.weapon-catalog-browser{display:flex;flex-direction:column;gap:.5rem}.weapon-catalog-browser-header{display:flex;justify-content:space-between;align-items:center}.weapon-catalog-filters{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}.weapon-filter-full{grid-column:1 / -1}.weapon-catalog-results{display:flex;flex-direction:column;gap:.35rem;max-height:380px;overflow-y:auto;padding-right:.25rem}.weapon-catalog-results .weapon-card{flex-shrink:0}.weapon-tier-above-label{color:var(--text-dim);font-style:italic}.weapon-equip-warn{font-size:.75rem;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger);border-radius:var(--radius);padding:.35rem .6rem;line-height:1.4}.weapon-panel-actions{display:flex;gap:.15rem;align-items:flex-start;flex-shrink:0}.weapon-slot-group{display:flex;flex-direction:column;gap:.3rem}.weapon-slot-group+.weapon-slot-group{padding-top:.5rem}.section-header{display:flex;justify-content:space-between;align-items:center}.section-title{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);text-align:left;align-self:flex-start}.card>.section-title{margin-bottom:.75rem}.weapon-slot-inventory{opacity:.8}.weapon-inventory-category{display:flex;flex-direction:column;gap:.3rem}.weapon-inventory-category+.weapon-inventory-category{padding-top:.4rem;border-top:1px dashed var(--border)}.weapon-inventory-cat-label{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.weapon-slot-locked{opacity:.4;pointer-events:none}.weapon-slot-empty{font-size:.8rem;color:var(--text-dim);font-style:italic;padding:.15rem 0}.weapon-equip-picker{display:flex;flex-direction:column;gap:.2rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.35rem}.weapon-equip-pick-btn{background:transparent;border:none;text-align:left;padding:.3rem .5rem;border-radius:4px;cursor:pointer;color:var(--text);font-size:.82rem}.weapon-equip-pick-btn:hover{background:var(--surface)}.confirm-modal-backdrop{position:fixed;inset:0;background:#0000008c;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}.confirm-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(380px,100%);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.confirm-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.weapon-modal-backdrop{position:fixed;inset:0;background:#0000008c;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}.weapon-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(520px,100%);max-height:85vh;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem}.feature-group{display:flex;flex-direction:column;gap:.45rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.feature-group:first-child{padding-top:0}.feature-group:last-child{border-bottom:none;padding-bottom:0}.feature-entry{display:flex;flex-direction:column;gap:.15rem}.feature-entry-name{font-size:.75rem;font-weight:700;color:var(--text)}.feature-entry-tier{font-weight:500;color:var(--text-muted)}.feature-entry-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4;margin:0}.feature-cards-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.5rem}.feature-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;min-width:0}.feature-card-art-wrap{overflow:hidden;border-radius:var(--radius) var(--radius) 0 0}.feature-card-art{width:100%;display:block;max-height:120px;object-fit:cover;object-position:top}.feature-card-body{padding:.5rem .75rem}.feature-card-title{font-weight:700;font-size:.8rem;margin-bottom:.25rem}.feature-card-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4;margin:0}.feature-entry-gap{margin-top:.5rem}.features-tab-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:1.5rem;align-items:start;width:100%}.features-tab-col{min-width:0;display:flex;flex-direction:column;gap:0}.experiences-block{padding:.75rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.experiences-block .section-title{font-size:.7rem;margin-bottom:.35rem}.experience-lines{display:flex;flex-direction:column;gap:.5rem}.experience-line{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.95rem;line-height:1.4;padding:.4rem .5rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border)}.experience-name{font-weight:700;color:var(--text)}.experience-modifier{font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent);min-width:2ch;text-align:right}.experience-line .experience-modifier[data-negative=true]{color:var(--red)}.dmg-btn-row{display:flex;gap:.4rem}.dmg-btn{padding:.3rem .6rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:filter .1s}.dmg-btn:hover{filter:brightness(1.3)}.dmg-btn:active{filter:brightness(.9)}.dmg-minor{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.dmg-major{background:var(--major-bg);color:var(--gold);border-color:var(--major-border)}.dmg-severe{background:var(--severe-bg);color:var(--red);border-color:var(--severe-border)}.sheet-tabs-wrapper{display:flex;flex-direction:column;flex:1}.sheet-tab-content{padding:1.25rem;flex:1}.tab-content-grid{display:grid;grid-template-columns:1fr 320px;gap:1.25rem;align-items:start}@media(max-width:860px){.tab-content-grid{grid-template-columns:1fr}.tab-content-side{order:-1}}.tab-content-main,.tab-content-side{display:flex;flex-direction:column;gap:1.25rem}.section-heading{font-size:1rem;font-weight:700;margin-bottom:1rem;color:var(--text)}.section-heading--sm{margin-bottom:.75rem}.section-heading--no-margin{margin-bottom:0}.section-heading--accent{color:var(--accent)}.gold-display{display:flex;gap:1rem}.gold-unit{display:flex;flex-direction:column;align-items:center;gap:.2rem}.gold-unit .label{font-size:.7rem;color:var(--text-muted)}.gold-unit .val{font-size:1.1rem;font-weight:700;color:var(--gold)}.gold-pills{display:flex;gap:.5rem;flex-wrap:wrap}.gold-pill-controls{display:flex;align-items:center;gap:.25rem}.gold-pill-btn{font-size:.75rem!important;padding:.15rem .3rem!important;min-width:auto}.feature-card.domain-card{padding:0;overflow:hidden}.feature-card-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.4rem;margin-bottom:.25rem}.feature-card-header-row .feature-card-title{margin-bottom:0}.domain-card-title{font-weight:700;margin-bottom:.2rem}.domain-card-action{font-size:.7rem!important;padding:.15rem .4rem!important;flex-shrink:0}.domain-card-meta{font-size:.75rem;color:var(--text-muted);margin-bottom:.35rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.domain-card-recall-badge{font-size:.7rem;background:var(--danger-bg);color:var(--danger);border-radius:3px;padding:.05rem .35rem;font-weight:600}.domain-card-recall-badge--downtime{background:var(--accent-bg);color:var(--accent)}.dice-emphasis{color:var(--gold);font-weight:700}.resource-emphasis{color:var(--hope-stress);font-weight:700}.spellcast-emphasis{color:var(--spellcast);font-weight:700}.tier-emphasis{color:var(--tier);font-weight:700}.game-text-list{margin:0;padding-left:1.25rem;font-size:inherit;line-height:1.4}.game-text-list li{margin-bottom:.2rem}.game-text-list li:last-child{margin-bottom:0}.domain-card.vault{opacity:.55}@media(max-width:860px){.container{padding:0 1rem}.container--py{padding-top:1.25rem;padding-bottom:1.25rem}.page-center{padding:1rem}.page-title--large{font-size:1.5rem}.navbar{display:none}.sheet-nav{padding:.35rem .75rem;gap:.5rem}.navbar-mobile{display:flex;align-items:center;justify-content:center;gap:0;position:fixed;bottom:0;left:0;right:0;height:56px;background:var(--surface);border-top:1px solid var(--border);z-index:100;padding:0 .5rem}.navbar-mobile-item{flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.35rem .5rem;font-size:.7rem;font-weight:500;color:var(--text-muted);text-decoration:none;border-radius:var(--radius);transition:color .15s,background .15s;background:none;border:none;cursor:pointer;font-family:inherit}.navbar-mobile-item:hover{color:var(--text);background:var(--surface-2)}.navbar-mobile-item--active{color:var(--accent);font-weight:600}.navbar-mobile-item--active:hover{color:var(--accent)}.navbar-mobile-icon{font-size:1.25rem;line-height:1}.navbar-mobile-account{position:relative;display:flex;flex:1;max-width:120px;justify-content:center}.navbar-mobile-account .navbar-mobile-item{max-width:none}.navbar-mobile-popover{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.35rem;padding:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:140px}.page-with-nav{padding-bottom:64px}.party-dashboard-banner{padding:.85rem 1rem}.party-dashboard-banner-title{font-size:1.2rem}.party-dashboard-content{padding:1rem}.party-overview-grid{gap:.6rem}.party-overview-card{padding:.5rem .6rem}.party-overview-card-header{margin-bottom:.35rem}.party-overview-stats{gap:.35rem}.party-overview-traits{gap:.2rem}.party-overview-trait{min-width:1.6rem;font-size:.7rem;padding:.1rem .25rem}.party-dashboard-empty.card--centered{padding:2rem 1rem}.sheet-header{flex-direction:column;height:auto;min-height:0}.sheet-header-class{flex-direction:row;border-right:none;border-bottom:1px solid var(--border);width:100%}.sheet-header-art{width:180px;height:80px;object-fit:cover}.sheet-header-class-info{padding:.4rem .6rem}.sheet-class-name{font-size:.8rem}.sheet-class-domains{font-size:.55rem}.sheet-subclass-name{font-size:.65rem}.sheet-header-identity-row{display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;width:100%;padding:0;border-bottom:1px solid var(--border);gap:0}.sheet-header-info{padding:.5rem 1rem;gap:.4rem;border-bottom:none;flex:1;min-width:0}.sheet-name-value{font-size:1.25rem}.sheet-header-fields{gap:1.25rem}.sheet-header-level{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.5rem 1rem;min-width:80px;flex-shrink:0;background:var(--surface);border-left:2px solid var(--border);border-top:none}.sheet-header-level .sheet-level-label{margin-right:0}.sheet-header-level .sheet-tier-label{margin-left:0}.sheet-pinned{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.sheet-pinned-left-row1,.sheet-pinned-left-row2{grid-column:auto;grid-row:auto}.sheet-pinned-right:nth-child(3),.sheet-pinned-right:nth-child(4),.sheet-pinned-right:nth-child(5),.sheet-pinned-right:nth-child(6){grid-column:auto;grid-row:auto}.sheet-pinned-left,.sheet-pinned-right{padding:.4rem 1rem}.sheet-pinned-left{border-right:none;border-bottom:1px solid var(--border)}.sheet-pinned-hope-proficiency{flex-direction:column;align-items:stretch}.sheet-pinned-right .tracker-slots{flex-wrap:wrap}.sheet-features-row{flex-direction:column}.sheet-features-row--unified .sheet-unified-tab-bar{display:flex;gap:0;width:100%;background:var(--surface);border-bottom:2px solid var(--border);padding:0}.sheet-features-row--unified .sheet-unified-tab-bar .tab-btn{flex:1;padding:.5rem .35rem;font-size:.7rem;min-width:0}.sheet-features-row--unified .sheet-unified-tab-bar .tab-count{margin-left:.2rem}.features-panel,.weapons-panel{width:100%}.sheet-features-row--unified .features-panel,.sheet-features-row--unified .weapons-panel{border:none;border-bottom:none}.features-panel>.tab-bar,.weapons-panel>.tab-bar{padding-left:1rem;padding-right:1rem}.weapons-panel>.tab-bar{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.features-tab-content,.weapons-panel-list{padding:.5rem 1rem}.features-tab-columns{grid-template-columns:1fr}.sheet-combat-tab-content{padding:.75rem 1.25rem;display:flex;flex-direction:column;gap:1rem;background:var(--surface)}.sheet-combat-tab-content .combat-tab-defense{display:flex;flex-direction:column;gap:.75rem}.sheet-combat-tab-content .weapons-panel{border:none;padding:0}.sheet-combat-tab-content .weapons-panel-list{padding:0}.traits-bar--compact .traits-bar-pills{flex-wrap:nowrap;gap:.25rem;min-width:0}.traits-bar--compact .trait-pill{flex-direction:column;flex:1 1 0;min-width:0;padding:.25rem .3rem;gap:.1rem;justify-content:center;align-items:center}.traits-bar--compact .trait-pill .pill-label{font-size:.55rem;white-space:nowrap}.traits-bar--compact .trait-pill .pill-value{font-size:.95rem;font-weight:800}.traits-bar-secondary{padding-left:0;padding-top:.5rem;border-left:none;border-top:1px solid var(--border);margin-top:.25rem}.defense-block{flex-direction:column;gap:1rem;width:100%}.defense-proficiency-grid{display:flex;flex-direction:column;gap:1rem;width:100%}.defense-proficiency-grid .defense-section:nth-child(1),.defense-proficiency-grid .defense-section:nth-child(2),.defense-proficiency-grid .defense-section--armor-span,.defense-proficiency-grid .defense-section--proficiency{grid-column:auto;grid-row:auto;margin-left:0}.defense-section{display:flex;flex-direction:column;gap:.75rem;width:100%;min-width:0}.defense-proficiency-grid .tracker,.defense-proficiency-grid .tracker-slots{flex:none;min-height:0}.defense-proficiency-grid .tracker-slots:not(.armor-slots-grid){flex-direction:row;flex-wrap:wrap}.armor-slots-grid{justify-content:flex-start}.wizard-header{padding:.6rem 1rem;gap:.5rem}.wizard-steps{gap:.35rem}.wizard-step-dot{width:26px;height:26px;font-size:.7rem}.wizard-step-title{padding:1rem 1rem .4rem}.wizard-step-title h2{font-size:1.15rem}.wizard-body{padding:1rem}.wizard-error{padding:.4rem 1rem}.wizard-footer{padding:.75rem 1rem;gap:.5rem;flex-wrap:wrap}.wizard-footer .btn{min-height:44px}.char-list{grid-template-columns:1fr;gap:1rem}.flex-row--between{flex-wrap:wrap;gap:.5rem}.flex-row--between .page-title{margin-bottom:0}.flex-row--between .btn{flex:1 1 auto;min-width:140px}.tab-content-grid{grid-template-columns:1fr}.tab-content-side{order:-1}.sheet-tab-content{padding:1rem}.option-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.gold-pills{gap:.35rem}.section-heading{font-size:.9rem;margin-bottom:.75rem}}@media(max-width:560px){.party-dashboard-banner{padding:.65rem .75rem}.party-dashboard-banner-title{font-size:1.1rem}.party-dashboard-content{padding:.75rem}.party-overview-card{padding:.45rem .55rem}.sheet-pinned{grid-template-columns:1fr;grid-template-rows:repeat(4,auto)}.sheet-pinned-left-row1,.sheet-pinned-left-row2{grid-column:auto;grid-row:auto}.sheet-pinned-right:nth-child(3),.sheet-pinned-right:nth-child(4),.sheet-pinned-right:nth-child(5),.sheet-pinned-right:nth-child(6){grid-column:auto;grid-row:auto}.sheet-pinned-left{border-right:none;border-bottom:1px solid var(--border)}.sheet-pinned-hope-proficiency{flex-direction:column;align-items:stretch}.sheet-pinned-right .tracker-slots{flex-wrap:wrap}.trait-pill{min-width:60px;padding:.3rem .5rem}.traits-bar--compact .trait-pill{min-width:0;padding:.2rem .25rem}.traits-bar--compact .trait-pill .pill-value{font-size:.85rem}.evasion-pill{min-width:60px;min-height:40px;padding:.3rem .5rem}.pill-value{font-size:1.1rem}.stat-pill{min-width:56px;padding:.4rem .5rem}.stat-pill .value,.stat-pill .pill-value{font-size:1.2rem}.wizard-step-dot{width:24px;height:24px;font-size:.65rem}.option-grid{grid-template-columns:1fr}.tab-btn{padding:.5rem .6rem;font-size:.7rem}.dt-scale{flex-wrap:wrap}.dt-tier{min-width:0;flex:1 1}.dt-threshold{min-width:28px;padding:0 .35rem;font-size:.8rem}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
