/* The source frame is sliced at 32px: only edges and center stretch.
   Three border widths express panel, control, and socket hierarchy. */
:root{--armory-ink:#e2d5b9;--armory-muted:#b1a68f;--armory-gold:#d4b777;--armory-frame:url('/assets/ui/frame.png')}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.armory-button,.game-window .close-button{border:8px solid transparent;border-image:var(--armory-frame) 32 fill / 8px stretch;background:none;border-radius:0;color:var(--armory-muted);box-shadow:none;padding:3px 9px;font-size:11px;min-height:34px;transition:filter .12s}
.armory-button:hover:not(:disabled),.game-window .close-button:hover{background:none;border-color:transparent;filter:brightness(1.3);color:#f1dfb4}
.armory-button:active:not(:disabled),.menu-slot:active{filter:brightness(.82)}
.armory-button.active{color:#f6d69c;filter:brightness(1.25);outline:1px solid #b1945f;outline-offset:-5px}
.armory-button:disabled{opacity:.38;cursor:not-allowed}
.armory-button:focus-visible,.gear-cell:focus-visible,.menu-slot:focus-visible,.game-window .close-button:focus-visible{outline:2px solid #e6cc8c;outline-offset:2px}
.game-window .close-button{min-height:32px;width:34px;height:34px;line-height:12px;padding:0;font-size:22px}
.utilitybar.nine{display:flex;gap:3px;bottom:25px;right:22px;border-width:10px;border-image-width:10px;padding:1px;box-shadow:0 5px 14px #0009}
.menu-slot.nine{position:relative;width:50px;height:61px;min-width:50px;border-width:6px;border-image-width:6px;padding:0;background:none;box-shadow:none;transition:filter .12s}
.menu-slot .ui-icon{width:48px;height:48px;background-size:192px 192px;background-position:calc(var(--ix) * -48px) calc(var(--iy) * -48px);top:-3px}
.menu-slot:hover{background:none;border-color:transparent;filter:brightness(1.3)}
.menu-caption{position:absolute;bottom:0;left:-3px;right:-3px;text-align:center;font-size:10px;color:#e2d5b9;text-shadow:0 1px 3px #000;background:#14130faa}
.menu-slot kbd{position:absolute;top:-14px;left:50%;transform:translateX(-50%);font-size:8px;line-height:12px;border:1px solid #67593d;background:#151510;color:#c7b48b;padding:0 3px;margin:0;z-index:2}
.menu-badge{position:absolute;top:-9px;right:-4px;font:8px/13px Georgia,serif;color:#eac87d;background:#1c1b13;padding:0 3px;border:1px solid #806b43}
dialog.game-window.inventory-window,dialog.game-window.character-window{width:min(1140px,calc(var(--game-width) - 48px));max-width:none;max-height:calc(var(--game-height) - 36px)}
.inventory-window .window-heading,.character-window .window-heading{height:45px;padding:0 16px}
.armory-nav{display:flex;gap:6px;padding:10px 15px 0;align-items:center}
.armory-nav .armory-button{min-width:106px}
.inventory-window .window-body,.character-window .window-body{padding:12px;max-height:calc(var(--game-height) - 148px);overflow:auto}
.armory-layout{display:grid;grid-template-columns:222px minmax(300px,1fr) 306px;gap:10px;height:min(580px,calc(var(--game-height) - 212px));min-height:430px;color:var(--armory-ink)}
.loadout-pane.nine,.bag-pane.nine,.inspect-pane.nine{border-width:10px;border-image-width:10px;box-shadow:0 3px 9px #0005;min-width:0;min-height:0}
.loadout-pane{padding:4px 8px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#675b40 #151510}
.armory-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:29px;padding-bottom:8px;border-bottom:1px solid #79664466}
.armory-heading h3{font:16px var(--serif);margin:0;color:#e0c999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.armory-heading>span{font-size:11px;color:#dcc48f;white-space:nowrap}.armory-heading i{font-style:normal;color:var(--armory-muted)}
.paperdoll{height:138px;display:flex;justify-content:center;align-items:center;margin:8px 0 12px}
.portrait-plinth.nine{position:relative;width:138px;height:138px;border-width:8px;border-image-width:8px;box-shadow:none;display:flex;justify-content:center;align-items:center}
.armory-portrait{display:block;width:128px;height:128px;background:url('/assets/sprites/hero_rabbit.png') 0 0 / 1024px 1024px;image-rendering:pixelated;filter:drop-shadow(0 5px 3px #0009)}
.portrait-plinth small{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:9px;color:var(--armory-muted);background:#13130eba;padding:2px}
.loadout-slots{display:flex;flex-direction:column;gap:7px}
.loadout-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;align-items:center}
.loadout-row>div{min-width:0}.loadout-row small{display:block;font-size:9px;color:var(--armory-muted);margin-bottom:4px}.loadout-row strong{display:block;font-size:11px;font-weight:500;line-height:1.45;overflow-wrap:anywhere}.loadout-row>div>span{display:block;font-size:9px;color:var(--armory-muted);margin-top:4px}
.gear-cell.nine{position:relative;display:block;width:100%;aspect-ratio:1;min-width:0;padding:0;border-width:7px;border-image-width:7px;background:none;box-shadow:none;color:var(--rarity,#b9b6a5);cursor:pointer;isolation:isolate;transition:filter .12s}
.gear-cell.common,.inspect-emblem.common{--rarity:#b9bdac}.gear-cell.magic,.inspect-emblem.magic{--rarity:#8fc2e6}.gear-cell.rare,.inspect-emblem.rare{--rarity:#dfc173}.gear-cell.epic,.inspect-emblem.epic{--rarity:#c7a0df}.gear-cell.legendary,.inspect-emblem.legendary{--rarity:#efa568}
.gear-cell::before{content:'';position:absolute;inset:1px;background:var(--rarity,#434532);opacity:.12;z-index:-1}
.gear-cell:not(.empty-cell):not(.empty-gear)::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--rarity);opacity:.85}
.gear-cell .gear-icon,.inspect-emblem .gear-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.gear-cell .gear-icon{width:56px;height:56px;background-size:224px 224px;background-position:calc(var(--ix) * -56px) calc(var(--iy) * -56px)}
.gear-cell:hover:not(:disabled){background:none;border-color:transparent;filter:brightness(1.25)}
.gear-cell.chosen{outline:2px solid #e6d5a9;outline-offset:-2px;filter:brightness(1.17)}
.gear-cell.empty-cell{cursor:default;opacity:.5}.gear-cell.empty-cell::before{display:none}.empty-gear .gear-icon{opacity:.22;filter:grayscale(1)}
.gear-tier{position:absolute;bottom:0;left:0;font:8px Georgia,serif;text-shadow:0 1px 3px #000}.gear-upgrade{position:absolute;top:-3px;right:-2px;font:11px Georgia,serif;color:#f7e2b1;text-shadow:0 1px 2px #000,0 0 3px #000}.gear-lock{position:absolute;left:-2px;top:-3px;font-size:8px;color:#eee4c7;text-shadow:0 1px 3px #000}.gear-effect{position:absolute;bottom:-1px;right:0;font-size:10px;color:var(--rarity);text-shadow:0 1px 3px #000}
.gear-cell.drop-compatible{outline:2px dashed #b7c69a;outline-offset:1px}
.loadout-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:13px 0 0;padding:12px 0 0;border-top:1px solid #79664466}.loadout-stats dt{font-size:10px;color:var(--armory-muted)}.loadout-stats dd{font:19px/1.3 Georgia,serif;color:#dbcba6;margin:3px 0 0}
.loadout-memories{font-size:10px;margin-top:10px;border-top:1px solid #79664466;padding:8px 0;color:var(--armory-muted)}.loadout-memories summary{cursor:pointer}.loadout-memories p{margin-top:8px;line-height:1.6}.loadout-memories b{color:#d0bc88;display:block;font-weight:500}.loadout-memories span{display:block}
.bag-pane{display:flex;flex-direction:column;padding:4px 8px}.bag-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:10px}.bag-tabs button{min-width:0;padding:1px 0;font-size:10px;white-space:nowrap}
.bag-sort{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 1px;color:var(--armory-muted);font-size:10px}.bag-sort select{color:#d1c1a0;border:1px solid #62543d;background:#171810;padding:3px 4px;font-size:10px;max-width:116px}
.bag-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#675b40 #151510;scroll-padding:5px;padding:4px}
.bag-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;align-content:start;min-height:150px;padding-bottom:25px}.bag-grid .gear-cell{min-height:48px}
.bag-empty{font-size:11px;color:var(--armory-muted);text-align:center;margin:8px 0;line-height:1.7}
.bag-footer{border-top:1px solid #79664466;margin-top:8px;padding:10px 0 0;flex-shrink:0}.bag-footer p{font-size:10px;line-height:1.8;color:var(--armory-muted);margin:0 0 8px}.bag-footer button{width:100%;font-size:10px}
.inspect-pane{padding:9px 12px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#675b40 #151510;scroll-padding:10px}
.inspect-heading{text-align:center}.inspect-emblem.nine{position:relative;width:68px;height:68px;margin:0 auto 10px;border-width:8px;border-image-width:8px;box-shadow:none}
.inspect-heading>small{font-size:10px}.inspect-heading h3{font:19px/1.4 var(--serif);margin:5px 0;overflow-wrap:anywhere}.inspect-heading>span{font-size:10px;color:var(--armory-muted)}
.inspect-power{display:flex;align-items:center;gap:9px;justify-content:center;margin:12px 0;border-top:1px solid #79664466;border-bottom:1px solid #79664466;padding:10px 0}.inspect-power>b{font:30px/1 Georgia,serif;color:#e5d5ab}.inspect-power>span{font-size:10px;color:var(--armory-muted)}
.item-properties{font-size:11px;line-height:1.7;margin:9px 0}.item-properties>p{margin:4px 0}.affix-line{color:#afc1d2}.affix-line>span{color:#d0e0e8}.relic-effect.nine{border-width:7px;border-image-width:7px;padding:5px 7px;margin:9px 0;box-shadow:none;color:#d2b480}.relic-effect b{font-size:11px;font-weight:500}.relic-effect p{font-size:10px;line-height:1.7;margin-top:4px;color:#c4b596}
.equipped-compare.nine{border-width:7px;border-image-width:7px;padding:5px 7px;margin:12px 0;box-shadow:none}.equipped-compare small,.equipped-compare span{display:block;font-size:9px;color:var(--armory-muted);line-height:1.7}.equipped-compare strong{display:block;font-size:12px;font-weight:500;margin:4px 0}
.stat-comparison h4{font-size:11px;font-weight:500;color:#cebb8f;margin:12px 0 8px}.stat-comparison>div{display:flex;align-items:center;gap:5px;min-height:24px;font-size:10px}.stat-comparison>div>span{color:var(--armory-muted);margin-right:auto}.stat-comparison b{font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-comparison b i{font-style:normal;color:#887c62;padding:0 2px}.stat-comparison em{font-style:normal;min-width:37px;text-align:right;font-size:9px}
.armory-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:13px}.armory-actions .armory-primary{grid-column:1/-1;color:#f0d297;filter:brightness(1.18);min-height:41px}.armory-actions .armory-salvage{grid-column:1/-1;color:#cbaa8c}
.inspect-empty{display:flex;min-height:100%;flex-direction:column;align-items:center;justify-content:center;text-align:center}.inspect-empty>.gear-icon{opacity:.6;margin-bottom:20px}.inspect-empty h3{font:18px var(--serif);color:#cdb78b;margin-bottom:13px}.inspect-empty p{color:var(--armory-muted);font-size:11px;line-height:1.9}.inspect-empty small{color:#cbb88e;font-size:10px;margin-top:23px}
.armory-wallet.nine{display:flex;align-items:center;gap:24px;border-width:8px;border-image-width:8px;margin-top:9px;padding:5px 10px;box-shadow:none;font-size:10px;color:var(--armory-muted);min-height:38px}.armory-wallet b{font:14px Georgia,serif;margin-left:8px;color:#e0bf7c}.armory-wallet small{margin-left:auto;font-size:9px;max-width:320px;text-align:right;line-height:1.6}
/* Extend the same asset-backed frame to the forge and secondary game windows. */
.forge-window .panel,.game-window .map-destination,.game-window .primary,.game-window .secondary,.game-window .quiet,.forge-window .filter-row button,.forge-window .item-row{border:8px solid transparent;border-image:var(--armory-frame) 32 fill / 8px stretch;border-radius:0;background:none;box-shadow:none}
.forge-window .item-row{margin:4px;width:calc(100% - 8px);padding:3px;grid-template-columns:58px minmax(0,1fr) 30px 10px}.forge-window .item-row.selected{outline:1px solid #cbb277;outline-offset:-4px;filter:brightness(1.15)}
.forge-window .item-detail{padding:15px}.forge-window .item-token{width:56px;height:56px;border:0;background:none}.forge-window .filter-row{gap:4px;padding:8px}.forge-window .filter-row button{font-size:11px;padding:2px 8px}.forge-window .filter-row .selected{color:#efd298;filter:brightness(1.2)}.forge-window .inventory-bottom{display:none}.forge-window .forge-guide{font-size:11px}.game-window .map-destination.chosen{filter:brightness(1.2);outline:1px solid #c7af76;outline-offset:-5px}


@media(prefers-reduced-motion:reduce){.gear-cell,.armory-button,.menu-slot{transition:none}}

.armory-nav{justify-content:flex-start;height:auto;min-height:0;background:none;border:0}
.inspect-pane{display:flex;flex-direction:column;overflow:hidden}
.inspect-content{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#675b40 #151510;scroll-padding:8px;padding-right:5px}
.armory-actions{flex-shrink:0;padding-top:10px;border-top:1px solid #79664466;margin-top:8px}
.armory-layout{height:min(580px,calc(var(--game-height) - 246px));min-height:410px}

.inspect-heading{display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:10px;text-align:left;align-items:center;min-height:70px}
.inspect-heading .inspect-emblem.nine{grid-row:1/4;width:58px;height:58px;margin:0}
.inspect-heading h3{font-size:17px;margin:3px 0}
.inspect-heading>span{font-size:10px}.inspect-power{justify-content:flex-start;margin:9px 0;padding:8px 0}
.equipped-compare.nine{margin:9px 0;padding:3px 6px}.equipped-compare strong{margin:2px 0}.equipped-compare>span{display:none}
.stat-comparison>div{min-height:22px}.stat-comparison h4{margin:8px 0 5px}
.utilitybar.nine{height:83px;min-height:83px;align-items:center;justify-content:flex-start}
.forge-window .detail-title{padding-bottom:6px;margin-bottom:8px}
.forge-window .detail-title h2{font-size:19px;margin:5px 0}
.forge-window .detail-title p{font-size:10px;margin:4px 0}
.forge-window .detail-title .item-token.big{margin:0 auto 6px;display:block;position:relative}
.forge-window .detail-title .gear-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.forge-window .main-stat{margin:6px 0;padding:7px 0}.forge-window .main-stat b{font-size:27px}
.forge-window .affixes{margin:0;padding:8px 0;font-size:11px;line-height:1.6}
.forge-window .forge-preview{padding-top:10px;margin-top:7px}.forge-window .forge-level{font-size:30px;margin:0 0 9px}
.forge-window .chance b{font-size:27px}.forge-window .chance{margin:8px 0}.forge-window .protect{margin:9px 0}
.forge-window .forge-guide{display:none}
.forge-window .inventory-layout{align-items:stretch}
.forge-window .window-body{padding-top:12px}
.forge-window .item-detail{min-height:0}
.forge-window .cost{font-size:11px;padding:8px 0}

/* The frame's dark center replaces the old gold primary background, so its
   foreground must also change in every state (including the legacy hover rule). */
.game-window .primary{color:#f4d9a3;background:none;text-shadow:0 1px 2px #0008}
.game-window .primary:hover:not(:disabled),.game-window .primary:active:not(:disabled),.game-window .primary:focus-visible{color:#fff0c8;background:none;border-color:transparent}
.game-window :is(.primary,.secondary,.quiet,.armory-button):disabled{color:#afb5ae;opacity:1;filter:grayscale(.7);text-shadow:none}
