#characterDialog { width:min(760px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow-y:auto; }
.character-loadout { text-align:left; clear:both; margin-block:1rem 1.5rem; }
.character-loadout-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:12px; }
.character-loadout-card { border:1px solid #8f846d; border-radius:10px; padding:14px; background:#182329; color:#f5efdf; min-width:0; }
.character-loadout-card h4 { margin:0 0 10px; color:#ecd39d; }
.character-loadout-card p { margin:8px 0; line-height:1.5; overflow-wrap:anywhere; font-size:14px; }
.character-loadout-card canvas { float:right; margin:0 0 8px 8px; image-rendering:pixelated; }
.character-loadout .character-item-name { font-size:17px; font-weight:700; }
.character-loadout summary { cursor:pointer; min-height:32px; padding-block:8px; }
.character-loadout button { min-height:44px; white-space:normal; overflow-wrap:anywhere; text-align:left; }
.character-loadout button:focus-visible,.character-loadout summary:focus-visible { outline:3px solid #ffc974; outline-offset:3px; }
.character-bag-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:8px; margin-block:12px; }
.character-portrait-note { clear:both; border-top:1px solid #8f846d; padding-top:16px; line-height:1.5; }
@media(max-width:480px) { .character-loadout-grid { grid-template-columns:1fr; } #characterDialog { padding:16px; } }

.character-equipped-avatar { display:block; width:min(240px,100%); height:auto; margin:0 auto 16px; border-radius:12px; background:radial-gradient(ellipse at center,#40565c,#172329); }
.character-progression {margin:16px 0;padding:14px;border:1px solid #a48d61;border-radius:12px;background:#0b2530ed;color:#fff1d2;}
.character-progression progress {width:100%;height:12px;accent-color:#9fe6d8;}
.character-attribute {display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid #78877c55;padding:10px 0;}
.character-attribute small {display:block;line-height:1.5;color:#d4e0dc;}
.character-attribute button {flex:0 0 48px;min-width:48px;padding:10px 6px;white-space:nowrap;text-align:center;}

#characterDialog.character-inventory-dialog {width:min(1140px,calc(100vw - 20px));max-width:calc(100vw - 20px);background:linear-gradient(#071c25b8,#071c25f5),url('/assets/interface/character-armory-v1.png') center top/cover fixed;}
.character-inventory-dialog .character-loadout-card canvas {width:96px;height:96px;image-rendering:auto;float:none;display:block;margin:0 auto;}
.character-inventory-dialog .character-equipped-avatar {width:min(320px,100%);background:radial-gradient(ellipse,#344751a0,#07192330);}
.character-inventory-dialog .character-inventory-bag {clear:both;min-width:0;}
.character-inventory-dialog #bag {display:block;min-width:0;}
.character-inventory-dialog #bag .bag-heading {background:none;}
.character-inventory-dialog #bag .inspect-equipment {display:none;}
.character-inventory-dialog #itemDetails {position:static;max-height:none;overflow:visible;}
.character-inventory-dialog .character-loadout-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
.character-inventory-dialog .character-loadout-card {padding:10px;background:#0b2530ed;}
@media(min-width:900px){
 .character-inventory-dialog .character-loadout {float:left;width:43%;clear:left;}
 .character-inventory-dialog .character-inventory-bag {margin-left:46%;clear:none;padding-top:16px;}
 .character-inventory-dialog .character-loadout-grid {grid-template-columns:1fr;}
 .character-inventory-dialog .character-loadout-card canvas {float:right;}
}
@media(max-width:540px){.character-inventory-dialog .character-loadout-grid {grid-template-columns:1fr;}.character-inventory-dialog .character-loadout-card canvas {float:right;}.character-inventory-dialog .character-equipped-avatar {width:220px;}}
/* Armory presentation: generated architecture, real equipment models, readable UI. */
#characterDialog.character-inventory-dialog{padding:0;width:min(1180px,calc(100vw - 20px));background:#071c25;isolation:isolate;border:1px solid #b89b61;border-radius:20px;}
#characterDialog .sanctuary-heading{box-sizing:border-box;min-height:240px;padding:110px 28px 20px;background:linear-gradient(0deg,#071c25,transparent 95%),url('/assets/interface/character-armory-v2.webp') center 24%/cover;border-bottom:1px solid #ab91544d;text-align:left;}
#characterDialog .sanctuary-heading h2{font:600 clamp(27px,4vw,42px) Georgia,serif;color:#ffe4a7;text-shadow:0 3px 9px #000;margin:6px 0;}
#characterDialog .sanctuary-heading p{color:#e4eee9;text-shadow:0 2px 5px #000;}
#characterDialog .sanctuary-heading .eyebrow{font-size:11px;letter-spacing:.2em;color:#99e5de;}
#characterDialog .character-close{position:sticky;float:right;top:10px;margin:10px 12px -60px 0;z-index:10;min-height:44px;background:#092530ed;border:1px solid #b89b61;color:#ffebbe;border-radius:10px;}
#characterDialog .character-loadout{float:none;width:auto;margin:0;padding:22px;}
#characterDialog .character-loadout>h3{font:600 23px Georgia,serif;color:#f1d49c;margin:0 0 14px;}
#characterDialog .character-showcase{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1fr);gap:22px;align-items:stretch;margin-bottom:20px;}
#characterDialog .character-equipped-avatar{box-sizing:border-box;width:100%;max-width:360px;height:auto;align-self:center;margin:auto;image-rendering:auto;border:1px solid #9c88524d;background:radial-gradient(ellipse,#507e7c55,#071c25bb),url('/assets/interface/character-armory-v2.webp') center/cover;box-shadow:inset 0 0 40px #0008;border-radius:50% 50% 16px 16px;}
#characterDialog .character-progression{margin:0;background:linear-gradient(130deg,#19383de8,#0a222cee);border-color:#baa06866;}
#characterDialog .character-loadout-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
#characterDialog .character-loadout-card{padding:16px;background:radial-gradient(ellipse at 50% 15%,#35575d,#0c2530 68%);border:1px solid #b39a6566;border-radius:14px;box-shadow:inset 0 1px #ebd6a51a;text-align:center;}
#characterDialog .character-loadout-card h4{font:600 15px Georgia,serif;letter-spacing:.04em;color:#f8d898;}
#characterDialog .character-loadout-card canvas{float:none;display:block;width:128px;height:128px;max-width:100%;margin:0 auto;image-rendering:auto;filter:drop-shadow(0 8px 9px #0008);}
#characterDialog .character-loadout-card p{font-size:13px;line-height:1.45;}
#characterDialog .character-loadout-card .character-item-name{font:600 18px Georgia,serif;}
#characterDialog .character-loadout-card details{text-align:left;padding-top:5px;border-top:1px solid #b39a6544;}
#characterDialog .character-loadout-card button{width:100%;text-align:center;background:linear-gradient(#25454c,#102a35);border:1px solid #b9a56c77;color:#f9e4b9;margin-top:8px;}
#characterDialog .character-inventory-bag{margin:0;padding:22px;clear:both;border-top:1px solid #b39a6577;background:linear-gradient(#0b222ce8,#0b222cf5),url('/assets/interface/character-armory-v2.webp') center bottom/cover;}
#characterDialog button:focus-visible{outline:3px solid #ffda88;outline-offset:3px;}
@media(max-width:600px){
 #characterDialog .sanctuary-heading{padding:90px 18px 14px;min-height:205px;}
 #characterDialog .character-loadout,#characterDialog .character-inventory-bag{padding:14px;}
 #characterDialog .character-showcase{grid-template-columns:1fr;gap:14px;}
 #characterDialog .character-equipped-avatar{width:210px;}
 #characterDialog .character-loadout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
 #characterDialog .character-loadout-card{padding:10px;}
 #characterDialog .character-loadout-card canvas{width:105px;height:105px;}
 #characterDialog .character-loadout-card .character-item-name{font-size:16px;}
}
#characterDialog #characterStats{display:inline-block;background:#09252bd9;border:1px solid #b99d6255;border-radius:9px;padding:9px 13px;}
#characterDialog .character-attributes-expand summary{cursor:pointer;min-height:44px;padding:12px 0;color:#f4d79e;box-sizing:border-box;}
#characterDialog .character-attributes-expand summary:focus-visible{outline:3px solid #ffda88;outline-offset:2px;}
