/* Character dossier. Every displayed value is supplied by the shared progression data. */
.character-entry{width:100%;display:flex;align-items:center;gap:11px;min-height:62px;margin:10px 0 0;padding:10px 12px;text-align:left;background:#fff1c8;border:1.5px solid var(--ink);border-radius:8px;box-shadow:2px 3px 0 #292c222a}
.character-entry-icon{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:50%;background:var(--yellow);font-size:21px;font-weight:900}
.character-entry-copy{flex:1;min-width:0}.character-entry-copy b{display:block;font-size:12px}.character-entry-copy small{display:block;margin-top:5px;font-size:9px;line-height:1.5;color:#78613e}.character-entry-arrow{font-size:25px;font-weight:900}
.character-overlay{--character-space-top:max(22px,env(safe-area-inset-top));--character-space-bottom:max(22px,env(safe-area-inset-bottom));z-index:92;display:flex;align-items:center;justify-content:center;padding:max(22px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow:hidden;background:#252b1fb8;backdrop-filter:blur(8px)}
.character-modal{position:relative;width:1120px;max-width:100%;max-height:calc(100dvh - var(--character-space-top) - var(--character-space-bottom));padding:28px 30px 20px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--cream);border:2px solid var(--ink);border-radius:18px;box-shadow:7px 8px 0 #182012a8;scrollbar-width:thin;scrollbar-color:#beb48e transparent;color:var(--ink)}
.character-modal [hidden]{display:none!important}.character-modal button{touch-action:manipulation}.character-modal button:focus-visible,.character-modal summary:focus-visible,.character-modal:focus-visible{outline:3px solid #e56832;outline-offset:4px}.character-modal h2,.character-modal h3,.character-modal h4,.character-modal p{margin:0}.character-modal button:disabled{opacity:1}
.character-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;border-bottom:1px solid #d9ceb0}.character-eyebrow{font-size:9px;font-weight:900;line-height:1.7;letter-spacing:1.8px;color:#7a6d49}.character-header h2{display:flex;align-items:center;gap:15px;font-size:34px;letter-spacing:-1.5px;line-height:1.25;margin:6px 0 9px}.character-header h2>span{color:#dba82c;font-size:29px;-webkit-text-stroke:1px var(--ink)}.character-header p{color:#7a7053;font-size:11px;line-height:1.7}.character-close{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:50%;background:#fffdf2;box-shadow:2px 2px 0 #292c2233;font-size:27px;line-height:1}
.character-overview{display:grid;grid-template-columns:minmax(245px,.78fr) minmax(0,1.7fr);gap:24px;margin-top:22px;align-items:start}.character-identity{border:1.5px solid #c7bd98;border-radius:13px;overflow:hidden;background:#f1eacb}.character-identity-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 14px 0}.character-file-label{font-size:8px;letter-spacing:1.4px;font-weight:900;color:#81744e}.character-permanent-badge{font-size:8px;font-weight:800;line-height:1.5;padding:3px 6px;border:1px solid #b4ac83;border-radius:4px;color:#73653f;background:#fffae5}
.character-stage{height:268px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#d2bd7655,transparent 65%)}.character-stage::after{content:"";position:absolute;left:18%;right:12%;bottom:22px;height:17px;background:#65573728;border-radius:50%;filter:blur(4px);z-index:-1}.character-stage-orbit{position:absolute;inset:24px 30px 32px;border:1.5px solid #b49d4f;border-radius:50%;transform:rotate(-13deg);background:#f5d061;box-shadow:0 0 0 12px #fff7d660,0 0 0 13px #baa35c50;z-index:-1}.character-portrait{position:absolute;left:calc(50% - 123px);bottom:10px;width:232px;height:252px;object-fit:contain;transform:rotate(-4deg);filter:drop-shadow(3px 5px 0 #252b1f16)}.character-equipped-art{position:absolute;width:125px;height:186px;object-fit:contain;bottom:31px;right:1px;transform:rotate(14deg);filter:drop-shadow(0 6px 3px #252b1f22)}.character-stage-star{position:absolute;top:23px;right:24px;font-size:33px;color:#ed7850;-webkit-text-stroke:1px var(--ink);transform:rotate(12deg)}.character-stage-stamp{position:absolute;top:31px;left:17px;font-size:9px;color:#9b854a;line-height:1.65;letter-spacing:2px;z-index:2}.character-stage-caption{position:absolute;left:15px;bottom:10px;font-size:7px;font-weight:900;letter-spacing:1.4px;color:#8d7b46}
.character-person{padding:15px 17px 14px;border-top:1px solid #d1c49a;background:#fffaf0}.character-person h3{font-size:23px;line-height:1.4;font-weight:1000;letter-spacing:-.7px;overflow-wrap:anywhere}.character-profession{display:flex;align-items:center;gap:7px;margin-top:8px;flex-wrap:wrap}.character-profession>span:first-child{font-size:17px}.character-profession b{font-size:12px}.character-profession>span:last-child{font-size:9px;color:#716c51;border-left:1px solid #d6cfb4;padding-left:8px;line-height:1.5}.character-person p{font-size:10px;line-height:1.8;color:#85785b;margin-top:7px}.character-person p:empty{display:none}.character-equipped{padding:13px 17px 15px;background:#e8edcd;border-top:1px solid #cbd1a8}.character-equipped-label{font-size:8px;font-weight:900;letter-spacing:1px;color:#78824f}.character-equipped>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:6px;flex-wrap:wrap}.character-equipped b{font-size:13px}.character-equipped strong{font-size:12px;color:#536d2e;font-variant-numeric:tabular-nums}.character-equipped small{display:block;margin-top:8px;font-size:8px;line-height:1.6;color:#808765}
.character-data{min-width:0;display:grid;gap:22px}.character-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 10px}.character-section-heading h3{font-size:14px;font-weight:900;line-height:1.5}.character-section-heading>span{font-size:8px;line-height:1.6;color:#8b7b57;text-align:right}.character-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.character-stat{position:relative;min-width:0;padding:12px 12px 11px;border:1px solid #d5c9a7;background:#fffdf3;border-radius:9px;overflow:hidden}.character-stat>span{display:block;color:#857452;font-size:9px;font-weight:700;line-height:1.5}.character-stat>strong{display:block;margin-top:5px;font-size:27px;font-weight:1000;line-height:1.3;letter-spacing:-.7px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.character-stat>small{display:block;font-size:8px;line-height:1.6;color:#8a8067;margin-top:4px}.character-stat>p{font-size:8px;line-height:1.6;color:#5f7438;margin-top:5px}.character-stat>p:empty{display:none}.character-scope-note{font-size:8px;line-height:1.7;color:#908466;margin-top:8px!important}.character-bonuses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.character-bonus{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:9px;row-gap:4px;border:1px solid #d2ccb1;border-radius:7px;background:#f0f1dc;padding:10px 11px}.character-bonus>b{font-size:10px;font-weight:800;line-height:1.6}.character-bonus>strong{font-size:15px;font-weight:900;line-height:1.5;color:#526c2f;font-variant-numeric:tabular-nums}.character-bonus>small{grid-column:1/-1;font-size:8px;line-height:1.65;color:#858168}.character-abilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.character-ability{min-width:0;border:1px solid #c7c5a5;border-radius:9px;background:#faf8e9;padding:12px}.character-ability>header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.character-ability>header b{font-size:12px;line-height:1.6}.character-ability>header span{padding:3px 5px;background:#e7eccd;border:1px solid #bec994;border-radius:4px;color:#627545;font-size:8px;font-weight:800;white-space:nowrap}.character-ability>p{color:#8a7c5c;font-size:9px;line-height:1.7;margin:7px 0 9px}.character-ability dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;margin:0;padding-top:9px;border-top:1px dashed #d5cbaa}.character-ability dt{font-size:9px;line-height:1.6;color:#837659}.character-ability dd{font-size:10px;line-height:1.5;margin:0;text-align:right;font-weight:800;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.character-ability dd small{font-size:8px;font-weight:400;color:#8a7c5c}
.character-loadout{padding-top:23px;margin-top:25px;border-top:1px solid #d7ccab}.character-loadout-heading{margin-bottom:13px;align-items:flex-end}.character-loadout-heading h3{font-size:21px;margin-top:3px;letter-spacing:-.5px}.character-weapon-choices{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;padding:0 3px 5px 0}.character-weapon-card{--weapon-accent:#b89b51;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:177px;padding:11px 8px 10px;border:1.5px solid #d2c7a7;border-radius:10px;background:#fffdf3;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:0 2px 0 #292c2212}.character-weapon-card img,.character-weapon-card .unarmed-symbol{display:block;width:100%;height:85px;object-fit:contain;margin:2px auto 8px;filter:drop-shadow(0 4px 2px #252b1f12)}.character-weapon-card .unarmed-symbol{display:grid;place-items:center;font-size:43px;filter:none}.character-weapon-card>b{font-size:11px;line-height:1.6;overflow-wrap:anywhere}.character-weapon-card>small{font-size:8px;line-height:1.6;color:#8a8064;margin-top:3px}.character-weapon-card>strong{font-size:12px;font-weight:900;line-height:1.5;color:#62713a;margin-top:5px;font-variant-numeric:tabular-nums}.character-weapon-card.selected{border-color:var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff6d7}.character-weapon-card.equipped{background:#edf2d7;border-color:#92a365}.character-weapon-card.equipped::after{content:"✓";position:absolute;right:7px;top:7px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#607939;color:#fffdf1;font-size:11px;font-weight:900}.character-weapon-card.equipped.selected{border-color:var(--ink)}.character-weapon-card.locked{background:#f3f0e2}.character-weapon-card.locked img{opacity:.55;filter:grayscale(.45)}.character-weapon-card.locked>strong{color:#8c8265}.character-weapon-card.locked>small{color:#876947}.character-weapon-card.selected.locked{border-color:var(--ink);background:#faf3dc}.character-weapon-card:active{transform:translateY(2px)}
.character-preview{--weapon-accent:#b89b51;display:grid;grid-template-columns:74px minmax(0,1fr) minmax(140px,auto);align-items:center;gap:17px;border:1px solid #d2c39c;border-radius:10px;background:#f4e8bd;padding:14px 17px;margin-top:12px}.character-preview-visual{height:82px;display:grid;place-items:center;background:#fff9e1;border:1px solid #d9c78e;border-radius:8px;position:relative}.character-preview-visual img{width:62px;height:75px;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 3px 1px #252b1f12)}.character-preview-unarmed{font-size:35px;line-height:1}.character-preview-visual:has(img:not([hidden])) .character-preview-unarmed{display:none}.character-preview-copy{min-width:0}.character-preview-label{display:block;font-size:8px;color:#8e7848;letter-spacing:1px;font-weight:800;line-height:1.6}.character-preview-copy h4{font-size:16px;font-weight:900;line-height:1.5;margin:3px 0 2px}.character-preview-copy>b{font-size:13px;line-height:1.6;color:#5e7135;font-variant-numeric:tabular-nums}.character-preview-copy p{font-size:9px;color:#857247;line-height:1.8;margin-top:5px;white-space:pre-line;overflow-wrap:anywhere}.character-preview-copy p strong{color:#526b31}.character-equip-btn{min-height:46px;min-width:140px;background:var(--ink);color:var(--cream);border:1.5px solid var(--ink);border-radius:7px;padding:11px 16px;font-size:12px;font-weight:900;box-shadow:2px 3px 0 #292c2236;line-height:1.5}.character-equip-btn:disabled{background:#e2dec8;color:#8a8060;border-color:#c9c0a1;box-shadow:none}.character-loadout-note{font-size:8px;line-height:1.8;color:#8e8161;margin:9px 0 0!important}
.character-formula-details{margin-top:19px;padding-top:11px;border-top:1px solid #ded3b5}.character-formula-details summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;font-size:10px;font-weight:800;color:#7f7150}.character-formula-details summary::-webkit-details-marker{display:none}.character-formula-details summary>span{font-size:19px;font-weight:400}.character-formula-details[open] summary>span{transform:rotate(45deg)}.character-formula-details p{white-space:pre-line;font-size:9px;line-height:1.9;color:#8a7b5a;padding:2px 0 10px}.character-footer{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding-top:13px;margin-top:4px;border-top:1px solid #ded3b5}.character-next-game{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:800;line-height:1.7;color:#708043;white-space:nowrap}.character-next-game i{width:6px;height:6px;border-radius:50%;background:#8ca94c;flex-shrink:0}.character-footer p{font-size:8px;line-height:1.8;color:#97896b;text-align:right;max-width:450px}
@media(hover:hover){.character-weapon-card:hover{border-color:var(--weapon-accent)}.character-weapon-card.selected:hover{border-color:var(--ink)}.character-entry:hover{background:#ffeab0}.character-equip-btn:not(:disabled):hover{background:#3f4e2c}}
@media(max-width:900px){.character-overview{grid-template-columns:minmax(210px,.75fr) minmax(0,1.5fr);gap:17px}.character-modal{padding:24px 23px 19px}.character-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.character-stat>strong{font-size:25px}.character-abilities{grid-template-columns:1fr}.character-stage{height:248px}.character-portrait{height:234px;width:217px;left:calc(50% - 113px)}.character-equipped-art{width:110px;height:166px;right:-2px}.character-person{padding:13px}.character-equipped{padding:12px 13px}.character-weapon-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.character-weapon-card{min-height:156px}.character-weapon-card img,.character-weapon-card .unarmed-symbol{height:68px}.character-weapon-card>small{font-size:9px}}
@media(max-width:620px){.character-entry{min-height:59px;padding:9px 10px;gap:9px}.character-entry-copy b{font-size:11px}.character-entry-copy small{font-size:8px}.character-overlay{--character-space-top:max(10px,env(safe-area-inset-top));--character-space-bottom:max(10px,env(safe-area-inset-bottom));padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.character-modal{padding:20px 15px 17px;max-height:calc(100dvh - var(--character-space-top) - var(--character-space-bottom));border-radius:13px;box-shadow:4px 5px 0 #182012a8}.character-header{gap:9px;padding-bottom:15px}.character-eyebrow{font-size:7px;letter-spacing:1.2px}.character-header h2{font-size:28px;gap:10px;letter-spacing:-1px;margin:6px 0 7px}.character-header h2>span{font-size:25px}.character-header p{font-size:9px;line-height:1.8}.character-close{width:44px;height:44px;font-size:26px;box-shadow:1px 2px 0 #292c2228}.character-overview{grid-template-columns:1fr;gap:21px;margin-top:16px}.character-identity{display:grid;grid-template-columns:41% minmax(0,1fr);position:relative;overflow:hidden}.character-identity-heading{grid-column:1/-1;padding:11px 12px 0}.character-stage{height:180px;grid-column:1;grid-row:2/4;align-self:center;min-width:0}.character-stage-orbit{inset:18px 3px 25px 11px;box-shadow:0 0 0 6px #fff7d660,0 0 0 7px #baa35c50}.character-portrait{width:156px;height:174px;left:calc(50% - 78px);bottom:1px}.character-equipped-art{width:75px;height:119px;bottom:15px;right:-6px}.character-stage-star{font-size:20px;top:6px;right:7px}.character-stage-stamp{display:none}.character-stage-caption{left:9px;bottom:2px;font-size:5px;letter-spacing:.4px}.character-person{border-top:0;background:transparent;align-self:end;padding:17px 11px 11px}.character-person h3{font-size:20px;line-height:1.35}.character-profession{margin-top:7px;gap:5px}.character-profession b{font-size:11px}.character-profession>span:first-child{font-size:15px}.character-profession>span:last-child{font-size:8px;padding-left:5px}.character-person p{font-size:9px;line-height:1.7;margin-top:5px}.character-equipped{grid-column:2;padding:10px 11px 12px;border-top:1px solid #d0c596;border-left:1px solid #d0c596;background:#e9edcf;border-radius:10px 0 0 0}.character-equipped>div{gap:5px;margin-top:4px}.character-equipped b{font-size:11px}.character-equipped strong{font-size:11px}.character-equipped small{font-size:7px;margin-top:4px;line-height:1.5}.character-equipped-label{font-size:7px}.character-data{gap:21px}.character-section-heading{gap:9px;margin-bottom:9px}.character-section-heading h3{font-size:13px}.character-section-heading>span{font-size:7px}.character-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.character-stat{padding:11px 11px 10px}.character-stat>strong{font-size:27px;margin-top:4px}.character-stat>span{font-size:9px}.character-stat>small,.character-stat>p{font-size:8px}.character-bonuses{gap:7px}.character-bonus{grid-template-columns:1fr;gap:3px;padding:10px}.character-bonus>b{font-size:9px}.character-bonus>strong{font-size:17px}.character-bonus>small{font-size:8px;grid-column:auto}.character-abilities{grid-template-columns:1fr;gap:9px}.character-ability{padding:12px}.character-ability>p{font-size:9px}.character-ability dl{gap:6px 10px}.character-ability dt{font-size:9px}.character-ability dd{font-size:10px}.character-loadout{padding-top:21px;margin-top:23px}.character-loadout-heading{gap:8px;align-items:flex-end}.character-loadout-heading h3{font-size:19px;margin-top:4px}.character-loadout-heading>span{max-width:95px;text-align:right;font-size:8px}.character-weapon-choices{gap:8px;padding-right:3px}.character-weapon-card{min-height:151px;padding:9px 5px 9px;border-radius:8px}.character-weapon-card img,.character-weapon-card .unarmed-symbol{height:66px;margin:4px auto 7px}.character-weapon-card .unarmed-symbol{font-size:35px}.character-weapon-card>b{font-size:10px}.character-weapon-card>small{font-size:7px}.character-weapon-card>strong{font-size:11px;margin-top:4px}.character-weapon-card.equipped::after{width:16px;height:16px;top:5px;right:5px;font-size:10px}.character-preview{grid-template-columns:62px minmax(0,1fr);gap:11px 13px;padding:12px;margin-top:11px}.character-preview-visual{height:77px}.character-preview-visual img{height:70px;width:52px}.character-preview-copy h4{font-size:14px}.character-preview-copy>b{font-size:12px}.character-preview-copy p{font-size:9px}.character-equip-btn{grid-column:1/-1;min-height:46px;font-size:11px;margin-top:2px}.character-loadout-note{font-size:8px;line-height:1.85}.character-formula-details{margin-top:16px}.character-formula-details p{font-size:8px;line-height:1.9}.character-footer{flex-direction:column;gap:7px;margin-top:3px;padding-top:11px}.character-footer p{text-align:left;font-size:8px;max-width:none}.character-next-game{font-size:8px}}
@media(max-width:360px){.character-modal{padding:19px 12px 16px}.character-header h2{font-size:25px}.character-identity{grid-template-columns:40% minmax(0,1fr)}.character-stage{height:165px}.character-portrait{width:140px;height:160px;left:calc(50% - 70px)}.character-equipped-art{width:63px;height:105px}.character-person{padding:13px 9px 9px}.character-person h3{font-size:18px}.character-person p{font-size:8px}.character-equipped{padding:9px}.character-profession>span:last-child{border:0;padding:0}.character-weapon-card>b{font-size:9px}.character-weapon-choices{gap:6px}.character-weapon-card{min-height:145px}.character-weapon-card img,.character-weapon-card .unarmed-symbol{height:61px}.character-stat>strong{font-size:25px}}
@media(max-height:540px) and (orientation:landscape){.character-overlay{--character-space-top:max(10px,env(safe-area-inset-top));--character-space-bottom:max(10px,env(safe-area-inset-bottom));padding:var(--character-space-top) max(16px,env(safe-area-inset-right)) var(--character-space-bottom) max(16px,env(safe-area-inset-left))}.character-modal{max-height:calc(100dvh - var(--character-space-top) - var(--character-space-bottom));padding-top:21px}.character-header h2{font-size:27px}.character-overview{margin-top:17px}.character-stage{height:224px}.character-portrait{width:196px;height:220px;left:calc(50% - 103px)}.character-equipped-art{width:105px;height:155px}.character-weapon-choices{grid-template-columns:repeat(6,minmax(112px,1fr));overflow-x:auto;padding-bottom:8px;overscroll-behavior-x:contain;scrollbar-width:thin}}
@media(prefers-reduced-motion:reduce){.character-weapon-card{transition:none}.character-stage-orbit,.character-portrait,.character-equipped-art{animation:none}}

/* Keep the full sixteen-stat dossier legible; long units and notes stay inside their cards. */
.character-header p{font-size:12px;line-height:1.8}
.character-eyebrow{font-size:10px;line-height:1.7}
.character-file-label,.character-permanent-badge{font-size:10px}
.character-person p{font-size:12px;line-height:1.85}
.character-profession b{font-size:13px}
.character-profession>span:last-child{font-size:11px}
.character-equipped-label{font-size:10px}
.character-equipped b{font-size:14px;overflow-wrap:anywhere}
.character-equipped strong{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.character-equipped small{font-size:10px;line-height:1.8}
.character-section-heading h3{font-size:15px}
.character-section-heading>span{font-size:10px;line-height:1.7;overflow-wrap:anywhere}
.character-stats{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px}
.character-stat{padding:13px 12px 12px;overflow:visible;display:flex;flex-direction:column;align-items:flex-start}
.character-stat>span{font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.character-stat>strong{max-width:100%;font-size:clamp(18px,1.9vw,26px);line-height:1.45;letter-spacing:-.4px;overflow-wrap:anywhere;word-break:normal}
.character-stat>small{font-size:10px;line-height:1.8;overflow-wrap:anywhere}
.character-stat>p{font-size:10px;line-height:1.8;overflow-wrap:anywhere}
.character-scope-note{font-size:11px;line-height:1.85}
.character-bonus{grid-template-columns:minmax(0,1fr);align-items:start;row-gap:5px;padding:12px}
.character-bonus>b{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.character-bonus>strong{max-width:100%;font-size:18px;line-height:1.6;overflow-wrap:anywhere;word-break:normal}
.character-bonus>small{grid-column:auto;font-size:11px;line-height:1.85;overflow-wrap:anywhere}
.character-ability>header b{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.character-ability>header span{font-size:10px;line-height:1.6}
.character-ability>p{font-size:11px;line-height:1.85}
.character-ability dl{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:9px 12px;align-items:start}
.character-ability dt{min-width:0;font-size:11px;line-height:1.8;overflow-wrap:anywhere}
.character-ability dd{min-width:0;max-width:100%;font-size:12px;line-height:1.75;overflow-wrap:anywhere;word-break:normal}
.character-ability dd small{display:block;font-size:10px;line-height:1.85;margin-top:3px;overflow-wrap:anywhere}
.character-weapon-card{min-height:194px}
.character-weapon-card>b{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.character-weapon-card>small{max-width:100%;font-size:10px;line-height:1.75;overflow-wrap:anywhere}
.character-weapon-card>strong{max-width:100%;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.character-preview-label{font-size:10px;line-height:1.7}
.character-preview-copy>b{display:block;font-size:14px;line-height:1.75;overflow-wrap:anywhere}
.character-preview-copy p{font-size:11px;line-height:1.9}
.character-loadout-note{font-size:11px;line-height:1.9}
.character-formula-details summary{font-size:12px}
.character-formula-details p{font-size:11px;line-height:1.95;overflow-wrap:anywhere}
.character-next-game{font-size:11px;white-space:normal}
.character-footer p{font-size:10px;line-height:1.85;overflow-wrap:anywhere}
@media(min-width:621px) and (max-width:900px){
  .character-overview{grid-template-columns:minmax(190px,.65fr) minmax(0,1.5fr);gap:16px}
  .character-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .character-stat{padding:11px 9px}
  .character-stat>strong{font-size:20px}
  .character-bonuses{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .character-header p{font-size:11px;line-height:1.85}
  .character-eyebrow{font-size:9px;letter-spacing:1px}
  .character-file-label,.character-permanent-badge{font-size:9px}
  .character-person p{font-size:11px;line-height:1.85}
  .character-profession b{font-size:12px}
  .character-profession>span:last-child{font-size:10px}
  .character-equipped-label{font-size:10px}
  .character-equipped b,.character-equipped strong{font-size:12px;line-height:1.7}
  .character-equipped small{font-size:10px;line-height:1.8}
  .character-section-heading{align-items:baseline;flex-wrap:wrap;gap:4px 10px}
  .character-section-heading h3{font-size:14px}
  .character-section-heading>span{font-size:10px;line-height:1.7;text-align:left}
  .character-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .character-stat{padding:12px 11px}
  .character-stat>span{font-size:11px;line-height:1.7}
  .character-stat>strong{font-size:clamp(19px,5.5vw,25px);line-height:1.45}
  .character-stat>small,.character-stat>p{font-size:10px;line-height:1.85}
  .character-scope-note{font-size:10px;line-height:1.85}
  .character-bonus{padding:11px;gap:5px}
  .character-bonus>b{font-size:11px}
  .character-bonus>strong{font-size:17px;line-height:1.6}
  .character-bonus>small{font-size:10px;line-height:1.85}
  .character-ability{padding:13px}
  .character-ability>header b{font-size:13px}
  .character-ability>header span{font-size:10px}
  .character-ability>p{font-size:11px;line-height:1.85}
  .character-ability dl{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:9px 11px}
  .character-ability dt{font-size:11px;line-height:1.85}
  .character-ability dd{font-size:12px;line-height:1.8}
  .character-ability dd small{display:block;font-size:10px;line-height:1.85}
  .character-loadout-heading>span{max-width:none;font-size:10px;text-align:left}
  .character-loadout-heading h3{font-size:20px}
  .character-weapon-card{min-height:171px;padding:10px 6px}
  .character-weapon-card>b{font-size:11px;line-height:1.7}
  .character-weapon-card>small{font-size:10px;line-height:1.7}
  .character-weapon-card>strong{font-size:12px;line-height:1.7}
  .character-preview-label{font-size:10px}
  .character-preview-copy h4{font-size:15px;line-height:1.7;overflow-wrap:anywhere}
  .character-preview-copy>b{font-size:13px;line-height:1.8}
  .character-preview-copy p{font-size:11px;line-height:1.9}
  .character-equip-btn{font-size:12px;min-height:46px}
  .character-loadout-note{font-size:10px;line-height:1.9}
  .character-formula-details summary{font-size:11px}
  .character-formula-details p{font-size:10px;line-height:1.95}
  .character-next-game{font-size:10px}
  .character-footer p{font-size:10px;line-height:1.85}
}
@media(max-width:360px){
  .character-stat{padding:11px 9px}
  .character-stat>strong{font-size:19px}
  .character-bonus{padding:10px}
  .character-bonus>strong{font-size:16px}
  .character-equipped{padding:10px 9px}
  .character-person p{font-size:11px}
  .character-weapon-card>b{font-size:10px}
  .character-weapon-card>small{font-size:10px}
  .character-weapon-card>strong{font-size:11px}
}

.character-switch-link{display:block;margin-top:10px;padding:8px 0;min-height:44px;border:0;background:transparent;color:#455d28;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.character-done-btn{display:block;width:100%;min-height:48px;margin:15px 0 10px;padding:12px 16px;border:1.5px solid var(--ink);border-radius:8px;background:#e8edcd;color:var(--ink);font-size:13px;font-weight:900}

/* Opening stats are a compact list; expanded explanations retain the same data. */
.character-modal .character-stats{display:block;margin:0;padding:0;border:0;border-top:1px solid #d5c9a7;background:transparent}
.character-modal .character-stats .character-stat{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;min-height:28px;padding:5px 1px;margin:0;border:0;border-bottom:1px solid #e3d9bf;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.character-modal .character-stat>dt{margin:0;color:#746b51;font-size:11px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}
.character-modal .character-stat>dd{margin:0;max-width:100%;color:var(--ink);font-size:13px;font-weight:800;line-height:1.4;letter-spacing:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.character-modal .character-stat-details{margin-top:5px;border-bottom:1px solid #e3d9bf}
.character-modal .character-stat-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;cursor:pointer;list-style:none;color:#827451;font-size:10px;font-weight:700}
.character-modal .character-stat-details>summary::-webkit-details-marker{display:none}
.character-modal .character-stat-details>summary>span{font-size:17px;font-weight:400}
.character-modal .character-stat-details[open]>summary>span{transform:rotate(45deg)}
.character-modal .character-stat-notes{margin:0;padding:0 0 10px}
.character-modal .character-stat-note{margin:0;padding:7px 0;border-top:1px dashed #ded3b4}
.character-modal .character-stat-note>dt{margin:0;font-size:11px;font-weight:800;line-height:1.6;color:#5b6147}
.character-modal .character-stat-note>dd{margin:2px 0 0;font-size:10px;line-height:1.7;color:#8a7b5a;overflow-wrap:anywhere}
.character-modal .character-stat-details>summary:focus-visible{outline:3px solid #e56832;outline-offset:3px}
.character-modal .character-scope-note{margin-top:7px!important;font-size:10px;line-height:1.7}
