/* Shared illustrated inventory and free-spin panels. */
/* Keep the backpack above the room's ambient canvas and background shade. */
#adventure-hud{position:absolute;inset:0;z-index:2;pointer-events:none;color:#f5edda;font-size:1cqw;text-shadow:0 2px 3px #000}
#adventure-hud button,#adventure-hud .loot-grid{pointer-events:auto}
.illustrated-panel{position:absolute;background:url('/demo/floorbidden/assets/adventure/ui/inventory-panel.png') center/100% 100% no-repeat;pointer-events:auto;display:flex;flex-direction:column;isolation:isolate}
.illustrated-panel h2{position:absolute;top:6.5%;left:23%;width:54%;margin:0;text-align:center;color:#fff0d2;font-family:Impact,'Arial Narrow',sans-serif;font-weight:400;letter-spacing:.05em;font-size:1.35cqw;text-shadow:0 2px 2px #000}
.illustrated-panel footer{position:absolute;bottom:7.4%;left:23%;width:54%;height:auto;padding:0;display:block;text-align:center;font-size:.65cqw;font-weight:700;color:#c9e4ad;letter-spacing:.02em}
.adventure-pack{left:1.5%;bottom:8.5%;width:27%;height:auto;aspect-ratio:1064/1478;padding:0;background-image:url('/demo/floorbidden/assets/picks/ui/inventory-grid-v1.png')}
.adventure-pack h2{left:15.2256%;width:69.4549%;top:7.3072%;height:5.2774%;display:flex;align-items:center;justify-content:center;font-size:1.3cqw;letter-spacing:.02em;line-height:1;overflow:hidden}
.adventure-pack h2 .pick-bitmap-text{display:block;width:100%;height:100%}
.adventure-pack .pack-stats{position:absolute;left:14.8496%;right:14.9436%;top:15.6292%;height:5.2774%;margin:0;padding:0;gap:13.253%;align-items:center;font-size:.65cqw;border:0}
.adventure-pack .pack-stats>span{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12cqw;min-width:0}
.adventure-pack .pack-stats b{font-size:1.55cqw;line-height:1;font-variant-numeric:tabular-nums}
.adventure-pack .pack-stats small{font-size:.57cqw;line-height:1.15;white-space:nowrap;letter-spacing:.03em}
.adventure-pack .loot-grid{position:absolute;left:13.9098%;right:13.7218%;top:25.8457%;bottom:14.885%;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:6.8493% 7.013%;overflow:visible;align-content:stretch;scrollbar-width:none}
.adventure-pack footer{left:33.8346%;width:32.4248%;top:89.85%;bottom:auto;height:2.977%;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;font-size:.72cqw;white-space:nowrap}
.adventure-pack .exploration-slot>.adventure-icon{position:absolute;left:9%;top:1%;width:82%;height:71%;filter:drop-shadow(0 .12cqw .1cqw #0006)}
.free-backpack{transition:opacity .18s ease}
.flashlight-sweeping .free-backpack{pointer-events:none}
@media(prefers-reduced-motion:reduce){.free-backpack{transition:none}}
.adventure-pack .loot-card{min-height:0;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;outline-offset:.15cqw}
.adventure-pack .loot-card strong{position:absolute;left:-2%;bottom:0;width:104%;height:25%;display:flex;align-items:center;justify-content:center;font-size:.69cqw;line-height:1.1;font-weight:700;text-align:center;overflow-wrap:normal;white-space:normal}
.adventure-pack .loot-card.is-empty{opacity:1;cursor:default}.adventure-pack .loot-card.is-empty .adventure-icon{filter:grayscale(1) brightness(.5);opacity:.16}.adventure-pack .loot-card.is-empty strong{opacity:.3}
.adventure-pack .loot-card.collection-reserved .adventure-icon{opacity:.35;filter:grayscale(.3)}
.adventure-pack .loot-card:not(:disabled):hover .adventure-icon,.adventure-pack .loot-card.is-previewed .adventure-icon{filter:brightness(1.13) drop-shadow(0 .12cqw .1cqw #0006)}
.adventure-pack .loot-count{right:-.05cqw;top:-.05cqw;min-width:1.3cqw;padding:.08cqw .16cqw;font-size:.8cqw;z-index:2}
.pack-stats{display:flex;justify-content:space-between;gap:.35cqw;color:#c6e3c5;font-size:.63cqw;text-align:center;border-bottom:1px solid #496244;padding:.4cqw 0 .7cqw}
.pack-stats>span{flex:1}.pack-stats b{font-size:1.35cqw;display:block;color:#c7ff64}
.loot-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45cqw;overflow:auto;align-content:start;min-height:0;padding:.6cqw .15cqw;scrollbar-width:thin;scrollbar-color:#784d7b #07161b}
.loot-card{position:relative;min-width:0;padding:.25cqw!important;border:1px solid #345448!important;background:#07191e!important;border-radius:.35cqw!important;display:flex;flex-direction:column;align-items:center;color:#eadfcb}
.loot-card strong{font-size:.78cqw;line-height:1.1;text-align:center}.loot-card small{display:none}.loot-card:focus-visible{outline:2px solid #eb79ff}
.loot-count{position:absolute;right:.2cqw;top:.15cqw;min-width:1.5cqw;padding:.1cqw .15cqw;border:1px solid #697b60;border-radius:.25cqw;background:#10221c;font-size:.9cqw;line-height:1.2;color:#ecffba}
.loot-card.collection-reserved .adventure-icon{opacity:.24}.loot-card.collection-reserved strong{opacity:.45}
.loot-card.collection-arriving,.loot-card.is-previewed{border-color:#ddcf9b!important}.pack-stats .collection-arriving{color:#fff3bb}
.inventory-preview{position:absolute;left:16%;right:16%;bottom:16%;height:19%;border-top:1px solid #6a7456;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;gap:.25cqw .6cqw;padding:.5cqw .15cqw 0;pointer-events:none}
.inventory-preview[hidden]{display:none}.inventory-preview .preview-name{grid-column:1/-1;text-align:center;color:#f4dfb6;font-size:.82cqw;line-height:1.2}
.preview-reels{width:100%;height:100%;min-height:0;overflow:visible;grid-row:2/4;grid-column:1}
.preview-cell rect{fill:#0e2829;stroke:#395659;stroke-width:1}.preview-cell.is-target rect{fill:#286731;stroke:#c0f282;stroke-width:1.3}.preview-cell text{fill:#f1ffdb;font:bold 12px Arial,sans-serif}
.preview-description{align-self:center;font-size:.78cqw;line-height:1.35;color:#e5eedb}.inventory-preview>small{grid-column:2;font-size:.5cqw;line-height:1.3;letter-spacing:.025em;color:#a8b9b0}
.preview-brain{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.preview-brain .adventure-icon{width:100%;height:100%}
.adventure-pack .inventory-preview{left:calc(100% + .6cqw);right:auto;top:28%;bottom:auto;width:15.5cqw;height:11.5cqw;padding:.65cqw .7cqw;gap:.4cqw .6cqw;border:1px solid #667d73;border-radius:.35cqw;background:#05181df5;box-shadow:0 .25cqw .65cqw #0008;z-index:35}
.adventure-pack .inventory-preview .preview-name{font-size:1cqw}.adventure-pack .inventory-preview .preview-description{font-size:.8cqw}.adventure-pack .inventory-preview>small{font-size:.58cqw}
.free-backpack .inventory-preview{left:calc(100% + .5cqw);right:auto;top:28%;bottom:auto;width:15.5cqw;height:11.5cqw;padding:.65cqw .7cqw;gap:.4cqw .6cqw;border:1px solid #667d73;border-radius:.35cqw;background:#05181df5;box-shadow:0 .25cqw .65cqw #0008;z-index:35}
.adventure-icon{display:inline-block;flex-shrink:0;width:4.2cqw;height:4.2cqw;overflow:hidden}
.empty-backpack{grid-column:1/-1;text-align:center;font-size:.8cqw;line-height:1.6;color:#9cacaa;padding:2cqw 0;white-space:normal;overflow-wrap:anywhere;min-width:0}
#free-hud{position:absolute;inset:0;z-index:7;pointer-events:none}
/* Six painted rows of two full wells; the source illustration is retiled in
   the SVG instead of drawing a two-column grid over three-column artwork. */
/* The painted reel frame begins at x342 on the 1670-wide scene. Keep this
   panel below x327, including the requested 8px offset, to retain a gutter. */
.free-backpack{left:calc(.35% + 8px);top:calc(8% + 5px);width:18.7%;height:auto;aspect-ratio:793/1817;padding:0;background:none;filter:drop-shadow(0 .3cqw .4cqw #0008)}
.free-inventory-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:visible}
.free-backpack h2{left:20.4288%;width:59.1425%;top:5.9439%;height:4.2928%;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:1.25cqw;line-height:1;letter-spacing:0}
.free-backpack h2 .pick-bitmap-text{display:block;width:100%;height:100%}
.free-backpack .loot-grid{position:absolute;left:18.6633%;right:18.7894%;top:14.1442%;bottom:12.1079%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:4.41791% 10.8871%;min-height:0;max-height:none;padding:0;overflow:visible;align-content:stretch;scrollbar-width:none}
.free-backpack .loot-card{min-height:0;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;outline-offset:.15cqw}
.free-backpack .loot-card>.adventure-icon{position:absolute;left:8%;top:0;width:84%;height:73%;filter:drop-shadow(0 .1cqw .1cqw #0008)}
.free-backpack .loot-card strong{position:absolute;left:-2%;bottom:0;width:104%;height:25%;display:flex;align-items:center;justify-content:center;overflow-wrap:normal;white-space:normal;font-size:.64cqw;font-weight:700;line-height:1.1;text-align:center}
.free-backpack .loot-card.is-empty{opacity:1;cursor:default;pointer-events:none}
.free-backpack .loot-card:not(:disabled):hover .adventure-icon,.free-backpack .loot-card.is-previewed .adventure-icon{filter:brightness(1.12) drop-shadow(0 .1cqw .1cqw #0008)}
.free-backpack .loot-count{right:-.05cqw;top:-.05cqw;min-width:1.15cqw;padding:.04cqw .12cqw;font-size:.72cqw;z-index:2}
.free-backpack footer{left:25.473%;width:49.0542%;top:91.6896%;bottom:auto;height:2.4216%;display:flex;align-items:center;justify-content:center;padding:0;font-size:.66cqw;line-height:1;white-space:nowrap;letter-spacing:0}
.free-frame-glow{opacity:.04;animation:inventory-fluid-pressure 5.8s ease-in-out infinite}
.inventory-liquid-paused .free-frame-glow{animation-play-state:paused}
.inventory-reduced-motion .free-frame-glow{animation:none;opacity:.035}
@keyframes inventory-fluid-pressure{0%,100%{opacity:.025}42%{opacity:.13}60%{opacity:.07}}
@media(prefers-reduced-motion:reduce){.free-frame-glow{animation:none;opacity:.035}}
.free-backpack .loot-card.is-activating{z-index:2;pointer-events:none}
.free-status-strip{position:absolute;left:82.2%;top:7%;width:13.2%;height:17.8%;padding:0;border:0;pointer-events:none;isolation:isolate;background:none;font-family:ui-monospace,'Cascadia Mono',Consolas,monospace;text-shadow:none}
/* Housing and blue glass are painted into neural-lab-v2. Only live text and
   restrained HUD lines sit over its measured, stationary screen aperture. */
.free-monitor-heading{position:absolute;left:10%;right:10%;top:5%;height:10%;display:flex;align-items:center;justify-content:center;gap:.32cqw;white-space:nowrap;font-size:.49cqw;font-weight:700;line-height:1;letter-spacing:.08em;color:#c1e9ff}
.free-monitor-live{width:.27cqw;height:.27cqw;flex:none;border-radius:50%;background:#88efeb;box-shadow:0 0 .35cqw #35e5ec}
.free-monitor-screen{position:absolute;inset:3%;overflow:hidden;pointer-events:none;background:repeating-linear-gradient(0deg,#9be9ff04 0,#9be9ff04 1px,transparent 1px,transparent 3px)}
.free-monitor-screen:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,#a6eaff0a,transparent 38%,transparent 77%,#84cfff05)}
.free-monitor-scan{position:absolute;left:0;right:0;top:-25%;height:22%;background:linear-gradient(transparent,#76cfff0c,transparent);animation:free-monitor-sweep 7s linear infinite}
.free-monitor-readouts{position:absolute;left:7%;right:7%;top:23%;height:69%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:55% 45%;color:#dbf9ff}
.free-monitor-readouts>span{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.23cqw;text-align:center}
.free-monitor-readouts>span:first-child{border-right:1px solid #91d9f52b}
.free-status-strip small{display:block;font-family:inherit;font-size:.54cqw;font-weight:600;line-height:1.3;letter-spacing:.025em;color:#91cbe5;white-space:nowrap}
.free-status-strip b{display:block;max-width:100%;font-family:inherit;font-size:2.08cqw;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.05;letter-spacing:-.045em;white-space:nowrap;color:#dffaff;text-shadow:0 0 .5cqw #6bcfff55}
.free-monitor-readouts .free-monitor-win{grid-column:1/-1;display:grid;grid-template-rows:auto minmax(0,1fr);align-items:stretch;justify-content:stretch;border-top:1px solid #91d9f538;margin-top:.15cqw;padding-top:.24cqw;gap:0}
.free-monitor-win b{display:flex;align-items:center;justify-content:center;font-size:1.9cqw;line-height:1;letter-spacing:-.035em;transform:translateY(.25cqw)}
.inventory-liquid-paused .free-monitor-scan{animation-play-state:paused}
.inventory-reduced-motion .free-monitor-scan{animation:none;display:none}
@keyframes free-monitor-sweep{from{transform:translateY(0)}to{transform:translateY(590%)}}
@media(prefers-reduced-motion:reduce){.free-monitor-scan{animation:none;display:none}}
#inventory-effects{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:8}
#inventory-effect-label{position:absolute;top:19%;left:26%;width:48%;text-align:center;font-family:Impact,sans-serif;font-size:2cqw;color:#f4e3b6;opacity:0;text-shadow:0 3px #000;pointer-events:none}#inventory-effect-label.visible{opacity:1}
.free-spins-mode #free-hud:not(.hidden){display:block}
.adventure-summary-items{display:grid;grid-template-columns:repeat(7,1fr);gap:.5cqw;max-height:32cqw;overflow:auto}.adventure-summary-items .loot-card strong{font-size:.8cqw}.adventure-summary-items .adventure-icon{width:5cqw;height:5cqw}
@media(max-width:650px){.loot-card strong{font-size:.9cqw}}

.inventory-preview-close{position:absolute;right:3px;top:3px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:0;min-height:0;padding:0;border:0;background:transparent;color:#e9f5d9;font:22px/1 sans-serif;pointer-events:auto}
.inventory-preview .preview-name{padding-right:24px}
.inventory-preview .preview-item-icon,.inventory-preview .preview-eyebrow{display:none}
/* A mobile detail card has its own measured viewport bounds. Explicit width
   replaces the desktop cqw width, which otherwise squeezed the two columns. */
html.mobile-portrait :is(#room,#free-hud) .illustrated-panel .inventory-preview.inventory-preview-mobile{
 position:absolute;box-sizing:border-box;left:var(--inventory-preview-left);right:auto;top:var(--inventory-preview-top)!important;bottom:auto;
 width:var(--inventory-preview-width);height:var(--inventory-preview-height);min-width:0;max-width:none;max-height:none;
 display:grid;grid-template-columns:minmax(96px,.85fr) minmax(0,1.15fr);grid-template-rows:48px minmax(0,1fr) 12px;gap:9px 14px;padding:8px 10px;
 background:radial-gradient(ellipse at 12% 0,#163d37,#041b20 75%);background-clip:padding-box;border:16px solid transparent;border-image:url('/demo/floorbidden/assets/mobile-ui/pick-holder-frame-v1.webp') 200 stretch;border-radius:18px;filter:drop-shadow(0 8px 12px #000b);box-shadow:none;z-index:50;pointer-events:auto;overflow:visible;text-shadow:none;
}
html.mobile-portrait :is(#room,#free-hud) .inventory-preview-mobile[hidden]{display:none!important}
html.mobile-portrait :is(#room,#free-hud) .inventory-preview-mobile .preview-item-icon{display:flex;position:absolute;left:9px;top:8px;width:46px;height:46px;align-items:center;justify-content:center;filter:drop-shadow(0 2px 4px #0009)}
html.mobile-portrait :is(#room,#free-hud) .inventory-preview-mobile .preview-item-icon .adventure-icon{width:100%;height:100%}
html.mobile-portrait :is(#room,#free-hud) .inventory-preview-mobile .preview-eyebrow{display:block;position:absolute;left:66px;top:11px;color:#9fc5b2;font:650 8px/1.2 'Segoe UI',sans-serif;letter-spacing:.12em}
html.mobile-portrait :is(#room,#free-hud) .inventory-preview-mobile .preview-name{grid-column:1/-1;grid-row:1;display:flex;align-items:center;margin:0;padding:10px 38px 0 56px;min-width:0;border-bottom:1px solid #6caa8950;color:#fff1cd;font:750 18px/1.1 'Segoe UI',sans-serif;text-align:left;white-space:normal;overflow-wrap:normal;word-break:normal}
html.mobile-portrait :is(#room,#free-hud) .inventory-preview-mobile .preview-reels{grid-column:1;grid-row:2;align-self:center;width:100%;height:88px;min-width:0;max-width:100%;max-height:100%;filter:drop-shadow(0 2px 3px #0007)}
html.mobile-portrait :is(#room,#free-hud) .inventory-preview-mobile .preview-description{grid-column:2;grid-row:2;align-self:center;min-width:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain;font:500 14px/1.4 'Segoe UI',sans-serif;color:#e4eee5;white-space:normal;word-break:normal;overflow-wrap:normal;scrollbar-width:thin;scrollbar-color:#7aab83 #061c20}
html.mobile-portrait :is(#room,#free-hud) .inventory-preview-mobile>small{grid-row:3;grid-column:1/-1;align-self:center;text-align:center;color:#9bb7aa;font:650 8px/1.2 'Segoe UI',sans-serif;letter-spacing:.06em}
html.mobile-portrait :is(#room,#free-hud) .inventory-preview-mobile .inventory-preview-close{right:2px;top:3px;width:44px;height:44px;min-height:44px;padding:0;font:400 27px/1 'Segoe UI',sans-serif;color:#d9efcb;border:0;border-radius:8px;background:transparent;box-shadow:none;touch-action:manipulation}
html.mobile-portrait :is(#room,#free-hud) .inventory-preview-mobile .inventory-preview-close:active{background:#a9e78d22;color:#fff}
/* Ambient glass bubbles are direct siblings at z24. Raise the containing
   stacking context only while inspecting; a child's z-index cannot escape it. */
html.mobile-portrait #room #adventure-hud:has(.inventory-preview-mobile:not([hidden])),
html.mobile-portrait #free-hud .free-backpack.has-preview{z-index:26}
