#inventory{position:absolute;inset:0;z-index:15;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);backdrop-filter:blur(3px)}
.inv-panel{background:#101010;border:1px solid #444;padding:24px;width:640px;max-width:95vw;display:grid;grid-template-columns:1fr 220px;grid-template-rows:auto auto auto;gap:16px;position:relative}
.inv-panel h2{grid-column:1/3;font-size:16px;letter-spacing:6px;color:#c22}
.inv-panel h3{font-size:11px;letter-spacing:3px;color:#888;margin-bottom:6px}
#inv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.inv-slot{aspect-ratio:1;background:#1a1a1a;border:1px solid #333;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;position:relative;font-size:11px;letter-spacing:1px;text-align:center;padding:4px}
.inv-slot:hover,.inv-slot.selected{border-color:#c22;background:#221414}
.inv-slot.equipped{outline:1px solid #6c6}
.inv-slot .icon{font-size:26px;margin-bottom:4px}
.inv-slot .qty{position:absolute;right:4px;bottom:2px;font-size:11px;color:#ccc}
#inv-keys{grid-row:2}
#inv-keys ul{list-style:none;font-size:12px;color:#ddd}
#inv-keys li{padding:3px 0;border-bottom:1px solid #222;cursor:pointer}
#inv-keys li:hover{color:#fc3}
#inv-detail{grid-column:1/3;min-height:48px;border-top:1px solid #333;padding-top:10px}
#inv-detail-name{font-weight:700;letter-spacing:2px;font-size:13px;color:#fff}
#inv-detail-desc{font-size:12px;color:#999;margin-top:4px}
#inv-menu{position:absolute;background:#181818;border:1px solid #555;z-index:2;min-width:140px}
#inv-menu button{display:block;width:100%;background:none;border:0;color:#ddd;text-align:left;padding:8px 14px;font-size:12px;letter-spacing:2px;cursor:pointer}
#inv-menu button:hover{background:#c22;color:#fff}
#inv-menu button:disabled{color:#555;cursor:default}
#inv-menu button:disabled:hover{background:none}
.inv-hint{grid-column:1/3;font-size:11px;color:#555;letter-spacing:1px;text-align:right}

#inventory[hidden]{display:none}
/* Keep the equipment grid inside the panel at desktop and compact viewport sizes. */
#inventory{overflow:auto;padding:120px 20px 20px;align-items:flex-start}
#inventory .inv-panel{margin:0;width:min(1080px,100%);max-width:none;grid-template-columns:minmax(200px,280px) minmax(0,1fr);grid-template-rows:auto auto 1fr auto auto;gap:14px 24px;box-sizing:border-box}
.inv-panel>*{min-width:0}
.inv-panel h2{grid-column:1/-1}
#inv-profile{grid-column:1;grid-row:2/6}
#inv-toolbar{grid-column:2;display:flex;gap:8px;align-items:center;font:11px monospace;color:#a3b8bc;flex-wrap:wrap}
#inv-capacity{margin-right:auto}
#inv-grid{grid-column:2;grid-row:3;grid-template-columns:repeat(6,minmax(0,1fr));align-content:start;gap:7px}
.inv-slot{min-width:0;min-height:75px;width:100%;overflow-wrap:anywhere;color:#ddd;letter-spacing:.2px;padding:8px 5px 18px;aspect-ratio:1}
.inv-slot[data-kind=consumable]{border-bottom-color:#78ad9e}.inv-slot[data-kind=ammo]{border-bottom-color:#9d9064}
.inv-slot:focus-visible{outline:2px solid #8ed9e8;outline-offset:2px}
#inv-detail,.inv-hint{grid-column:2;min-width:0}.inv-hint{text-align:left;color:#89969a;line-height:1.6}
#inv-menu{position:fixed;z-index:30;max-width:calc(100vw - 16px)}
#inv-preview{height:250px;position:relative;margin-top:8px;border:1px solid #35434a;border-radius:3px;overflow:hidden}
#inv-preview canvas{width:100%;height:100%;display:block;touch-action:none}
.inv-preview-title{font:11px monospace;color:#a6d6df;letter-spacing:1px}
.inv-preview-controls{display:flex;gap:8px;margin:8px 0}
#inv-profile small{font:10px monospace;color:#94a4ad}
#inv-toolbar button,.inv-preview-controls button{background:#203039;border:1px solid #52636a;color:#d1e4e9;padding:7px 10px;cursor:pointer;font:11px monospace}
.inv-badge{background:#dddccd;color:#23343d;margin:16px 0 10px;padding:13px;display:grid;gap:5px;border-left:5px solid #718f9a;font:11px monospace;box-shadow:0 4px 10px #0005}
.inv-badge b{letter-spacing:4px}.inv-badge strong{font-size:19px;letter-spacing:3px}.inv-badge span{font-size:10px}
#inv-player-status{font:11px monospace;color:#9ec29c;margin:10px 0 18px}#inv-keys{margin-top:12px}
@media(max-width:800px){#inventory{padding:130px 12px 12px}#inventory .inv-panel{padding:16px;gap:12px;grid-template-columns:minmax(160px,210px) minmax(0,1fr)}#inv-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.inv-slot{font-size:10px}#inv-preview{height:230px}}
@media(max-width:540px){#inventory .inv-panel{grid-template-columns:minmax(0,1fr)}#inv-profile{grid-column:1;grid-row:auto}#inv-toolbar,#inv-grid,#inv-detail,.inv-hint{grid-column:1;grid-row:auto}#inv-preview{height:230px}#inv-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

#inventory{padding-top:20px}
#inventory #quickbar{position:static;grid-column:1/-1;grid-row:6;width:100%;max-width:none;margin:0;background:#162026;border:1px solid #35434a;box-sizing:border-box}
#inventory #quickbar .quick-slots{flex-wrap:wrap}
@media(max-width:540px){#inventory #quickbar{grid-row:auto}}
/* Equipment uses photographed in-game models; names remain in tooltips and details. */
.item-model-icon{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 3px #0007)}
#quickbar{border:0;border-left:2px solid #87cbd0;border-radius:0;background:linear-gradient(100deg,#11252be8,#11252bc9);padding:9px 11px;color:#e5dfc9}
#quickbar small{color:#a6c4c5;font:9px monospace;letter-spacing:.11em}.quick-slots{gap:5px}.quick-slot{position:relative;width:62px;height:46px;box-sizing:border-box;padding:5px 4px 2px;border:1px solid #46646a70;background:#0b19207d;max-width:none}.quick-slot .quick-number{position:absolute;top:3px;left:5px;color:#b6d6d6;font:10px monospace;z-index:1}.quick-slot .quick-empty{font:13px monospace;color:#819795;text-align:center;margin-top:9px}.quick-slot.active{border-color:#85e0e7;background:#33535b85;box-shadow:inset 0 -2px #85e0e7}.quick-slot .item-model-icon{padding-left:5px;box-sizing:border-box}.quick-slot select{width:100%;max-width:none;background:#15272d;color:#e3e0ce;border:1px solid #496168;padding:5px;font:10px monospace}
#inventory #quickbar .quick-slot{width:138px;height:98px;padding-bottom:28px}#inventory #quickbar .quick-slot select{position:absolute;bottom:3px;left:3px;width:calc(100% - 6px);margin:0}#inventory #quickbar .quick-number{font-size:11px}
.inv-slot{background:linear-gradient(145deg,#203139,#111c22);border-color:#3e555b;color:#dddcca}.inv-slot:hover,.inv-slot.selected{border-color:#7ad4dd;background:#29434b}.inv-slot.equipped{outline:1px solid #98d9cf}.inv-slot[data-kind=weapon]{padding:8px 4px}.inv-slot .item-model-icon{max-height:95px}.inv-slot .qty{color:#cbd9d5}
@media(max-width:540px){.quick-slot{width:48px;height:39px}#quickbar{left:10px;top:10px;max-width:calc(100vw - 20px)}#inventory #quickbar .quick-slot{width:120px}}
.inv-panel h2{color:#d8ddcc;font:600 16px monospace;letter-spacing:.26em}.inv-panel h3{color:#93b4b8}#inv-menu{background:#15272d;border-color:#59777c}#inv-menu button:hover{background:#31515a;color:#e8e2cd}#inv-detail-name{color:#e6dfc9}#inv-detail-desc{color:#b0c0bd}

/* An open attaché case: felt compartments, stitched leather and a paper notebook. */
#inventory{padding:34px 22px;background:radial-gradient(ellipse at 50% 60%,#2d3938b8,#091215ed);backdrop-filter:blur(4px)}
#inventory .inv-panel{width:min(1250px,100%);padding:22px 23px 18px;grid-template-columns:190px minmax(280px,1fr) 300px;gap:12px 20px;border:7px solid #665543;border-radius:20px;background:repeating-linear-gradient(45deg,#243832 0 1px,#263a34 1px 4px);box-shadow:0 24px 70px #0009,inset 0 0 0 2px #ad95726b,0 0 0 2px #312b25;}
#inventory .inv-panel:before{content:'';position:absolute;width:150px;height:20px;left:calc(50% - 75px);top:-29px;border:7px solid #71604e;border-bottom:0;border-radius:14px 14px 0 0;box-shadow:inset 0 2px #c2ab8550}
#inventory .inv-panel:after{content:'';position:absolute;left:14%;right:14%;bottom:-11px;height:12px;background:linear-gradient(90deg,#aa9572 0 30px,transparent 30px calc(100% - 30px),#aa9572 calc(100% - 30px));border-radius:3px;pointer-events:none}
#inventory .inv-panel h2{margin:0;padding:1px 0 12px;border-bottom:1px dashed #9baf9070;font-size:12px;letter-spacing:.28em;color:#d8d2b6}
#inv-profile{padding:11px;border:1px solid #84967d45;border-radius:9px;background:#15282165}#inv-preview{height:220px;border:0;border-radius:7px;background:radial-gradient(ellipse,#455c51,#172b25)}
.inv-preview-title{font-size:9px;color:#c4cfb6}.inv-preview-controls button,#inv-toolbar button{border-radius:5px;border:1px solid #899b8055;background:#425848;color:#e3dfc5;font-size:10px}.inv-preview-controls{gap:5px;flex-wrap:wrap}.inv-badge{transform:rotate(-2deg);background:linear-gradient(115deg,#e7dfbd,#ceceb2);border-left-color:#6b927d;border-radius:4px;margin:15px 0;font-size:10px}.inv-badge strong{font-size:17px}#inv-player-status{font-size:10px;line-height:1.7;color:#c1d4b6}#inv-keys ul{font:10px/1.6 monospace;color:#cbd4bf}#inv-keys li{border-color:#71877655}
#inv-toolbar{color:#c8d0b7;font-size:10px}#inv-grid{padding:10px;box-sizing:border-box;background:#11271c80;border:1px solid #0c1c1770;border-radius:10px;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;box-shadow:inset 0 3px 8px #0004}
.inv-slot,.inv-slot[data-kind=weapon]{min-height:60px;aspect-ratio:1;padding:7px 4px 15px;border:1px solid #617d5f60;border-radius:7px;background:radial-gradient(ellipse,#3b5140,#263b2e);box-shadow:inset 0 2px 5px #0005,0 1px #a2b89625;color:#d2dbc1}.inv-slot:hover,.inv-slot.selected{background:#4c6550;border-color:#b6ce9e;box-shadow:inset 0 0 0 1px #b6ce9e70}.inv-slot.equipped{outline:2px solid #a0cabc;outline-offset:1px}.inv-slot .qty{font:10px monospace;right:6px;bottom:4px;background:#19352de0;padding:1px 4px;border-radius:3px}.inv-slot .name{font-size:9px}
#inv-detail{border-top:1px dashed #9baf9070;min-height:54px}#inv-detail-name{font-size:12px;color:#e5ddbb}#inv-detail-desc{font-size:11px;color:#bfcbb4}.inv-hint{font:9px/1.6 monospace;color:#bbccb1}
#inventory #quickbar{grid-column:1/3;grid-row:6;border:1px solid #73866b60;border-radius:8px;background:#12271d80;padding:9px}#inventory #quickbar .quick-slot{width:clamp(88px,8.8vw,117px);height:83px;border-radius:5px;border-color:#6a8e7350;background:#304735}#inventory #quickbar .quick-slot select{font-size:9px;background:#263e31;border-color:#5a785f;border-radius:3px}#inventory #quickbar .quick-slots{gap:6px}
.field-notebook{color:#414839;background:repeating-linear-gradient(transparent 0 23px,#8fa89728 23px 24px),linear-gradient(100deg,#e5ddbd,#f0e9ce 8%,#e3dcc0);border:1px solid #b7ad8d;border-radius:3px 10px 10px 3px;padding:19px 14px 12px 24px;box-shadow:-5px 0 #999379,0 7px 13px #0004;position:relative;font:11px/1.5 monospace;min-width:0;box-sizing:border-box}
.field-notebook:before{content:'';position:absolute;left:7px;top:13px;bottom:13px;width:5px;background:repeating-linear-gradient(#747c6e 0 3px,transparent 3px 18px);border-radius:3px;pointer-events:none}
#inv-notebook{grid-column:3;grid-row:2/7;transform:rotate(.7deg);align-self:stretch}.field-notebook header{display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline;border-bottom:1px solid #9ba18780;padding-bottom:8px}.field-notebook header>span{font:8px monospace;letter-spacing:.2em;color:#7e8269;width:100%}.field-notebook header h3{font:italic 25px Georgia,serif;letter-spacing:-.03em;color:#465347;margin:2px 0 3px}.field-notebook header small{font-size:9px;color:#7b806b}
.field-notebook nav{display:flex;gap:4px;margin:10px 0}.field-notebook button{font:10px monospace;cursor:pointer}.field-notebook nav button{flex:1;padding:7px 2px;background:#d3d5b8;border:1px solid #a7b095;border-radius:4px 4px 0 0;color:#4f5e4a}.field-notebook nav button[aria-pressed=true]{background:#788e75;color:#fff8dc;border-color:#788e75}.field-notebook .notebook-search{width:100%;box-sizing:border-box;background:#f4edd568;border:0;border-bottom:1px solid #9caa8d;padding:7px 0;font:10px monospace;color:#364a3d;border-radius:0}
.notebook-list{display:flex;flex-direction:column;gap:3px;max-height:104px;overflow:auto;margin:9px 0}.notebook-list button{background:transparent;border:0;text-align:left;padding:5px 7px;color:#526148;border-radius:3px;overflow-wrap:anywhere}.notebook-list button.selected{background:#c4d0b3;color:#304736}.notebook-page{max-height:285px;overflow:auto;scrollbar-width:thin;overflow-wrap:anywhere}.notebook-page h4{font:600 12px/1.5 monospace;margin:7px 0;color:#334a3a}.notebook-source{font-size:8px;color:#747965;display:block;line-height:1.6;overflow-wrap:anywhere}.field-notebook .notebook-pin{background:transparent;border:0;border-bottom:1px dashed #899771;color:#66784f;padding:5px 0;margin:4px 0 9px}.notebook-facts{margin:0 0 8px;padding-left:15px;font-size:10px;line-height:1.75}.notebook-facts li{padding:4px 0}.notebook-document{white-space:pre-wrap;font-size:10px;line-height:1.8}.notebook-empty{font:italic 15px/1.7 Georgia,serif;color:#848970;margin:22px 0}.field-notebook summary{cursor:pointer;font-size:9px;color:#677d56}.field-notebook footer{margin-top:15px;font-size:8px;color:#888b74;border-top:1px solid #9ba18780;padding-top:9px}.notebook-memo{background:transparent;width:100%;min-height:315px;border:0;resize:vertical;color:#3e5742;font:13px/24px Georgia,serif;box-sizing:border-box;outline-offset:2px}.field-notebook [hidden]{display:none!important}
.os-page>.field-notebook{width:min(640px,100%);margin:12px auto}.os-page .notebook-page{max-height:330px}.os-page .notebook-list{max-height:130px}
@media(max-width:1050px){#inventory .inv-panel{grid-template-columns:155px minmax(220px,1fr) 250px;gap:10px;padding:17px 14px}#inv-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:7px}#inv-preview{height:190px}.field-notebook{padding-right:10px;padding-left:20px}#inventory #quickbar .quick-slot{width:84px;height:80px}.notebook-page{max-height:350px}}
@media(max-width:780px){#inventory{padding:30px 10px}#inventory .inv-panel{grid-template-columns:150px minmax(0,1fr)}#inv-notebook{grid-column:1/-1;grid-row:7;transform:none}.notebook-list{max-height:110px}.notebook-page{max-height:260px}#inventory #quickbar{grid-column:1/-1}#inv-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:470px){#inventory .inv-panel{grid-template-columns:minmax(0,1fr)}#inv-profile,#inv-toolbar,#inv-grid,#inv-detail,.inv-hint,#inventory #quickbar,#inv-notebook{grid-column:1;grid-row:auto}#inv-profile{display:grid;grid-template-columns:1fr 1fr;gap:7px}#inv-preview{grid-column:1;grid-row:2/5;height:170px}.inv-preview-title{grid-column:1/-1}.inv-badge{margin:4px 0;grid-column:2}.inv-preview-controls{grid-column:2}#inv-profile>small{grid-column:2}#inv-player-status,#inv-keys{grid-column:1/-1}#inventory #quickbar .quick-slot{width:83px}}
.briefcase-certificate{display:grid;place-items:center;width:75%;aspect-ratio:1.35;border:3px double #64745a;border-radius:2px;background:#dbd8b3;color:#46614e;font:700 12px Georgia,serif;transform:rotate(-8deg);box-shadow:2px 3px 3px #0004}.briefcase-certificate:after{content:'EQUITY';font:6px monospace;letter-spacing:.12em}
#inventory #quickbar select,#inventory #quickbar button{background:#304735;color:#e1dec3;border:1px solid #78957580;border-radius:4px;padding:5px;font:10px monospace}#inventory #quickbar .quick-number{color:#d2e0c3}
@media(min-width:471px) and (max-width:780px){#inv-profile{grid-column:1;grid-row:2/6}#inv-toolbar{grid-column:2;grid-row:2}#inv-grid{grid-column:2;grid-row:3}#inv-detail{grid-column:2;grid-row:4}.inv-hint{grid-column:2;grid-row:5}#inventory #quickbar{grid-row:6}#inv-notebook{grid-row:7}}
.notebook-page,.notebook-memo,.notebook-search{user-select:text;-webkit-user-select:text}

/* Essential equipment/device bindings stay visible after learned hints fade. */
#quickbar .quick-controls{display:block;margin-top:5px;color:#a9dacf;animation:none;font:10px/1.6 monospace;letter-spacing:.04em}
#inventory #quickbar>.consumable-slot{margin:0 0 12px;padding:9px;border:1px dashed #87ac9277;border-radius:6px}
#inventory #quickbar>.consumable-slot select{display:inline-block;margin-right:8px;max-width:100%}
.phone-objective{padding:6px 0 10px;border-bottom:1px solid #6f999940;color:#d3dfbd;font-size:10px;line-height:1.5}
/* Put assignment controls above the long item grid, including on short screens. */
@media(min-width:471px){
 #inventory #quickbar{grid-row:2}
 #inv-profile{grid-row:3/7}
 #inv-toolbar{grid-row:3}
 #inv-grid{grid-row:4}
 #inv-detail{grid-row:5}
 .inv-hint{grid-row:6}
}
@media(max-height:850px) and (min-width:781px){#inventory .inv-slot{aspect-ratio:auto;height:62px;min-height:62px}#inv-preview{height:160px}}
@media(min-width:781px){
 #inventory #quickbar{display:grid;grid-template-columns:180px minmax(0,1fr);gap:4px 12px;align-items:start}
 #inventory #quickbar>.consumable-slot{grid-column:1;grid-row:1/5;margin:0;height:100%;box-sizing:border-box}
 #inventory #quickbar>.quick-slots,#inventory #quickbar>small{grid-column:2}
 #inventory #quickbar .quick-slots{margin:0}
}
