/* Compact physical assembly, with space reserved for the companion rather than an empty room. */
.cab-body{grid-template-columns:minmax(0,1fr) clamp(170px,18vw,240px);column-gap:12px;max-width:1120px;width:min(calc(100% - 24px),calc(clamp(300px,calc((100svh - 158px - var(--bay-height)) * 1.38),900px) + clamp(170px,18vw,240px) + 60px));padding:0 24px 10px;border:0;background:#27242a;border-radius:10px;--bay-height:190px}
.station-backdrop{background-size:100% 100%}
.marquee{height:60px;grid-column:1/-1;margin-bottom:0}
.marquee .mq-art{inset:5px 8px;opacity:.16!important;border-radius:4px}
.logo{width:160px}
.station-column{grid-column:1;width:min(100%,calc(clamp(300px,calc((100svh - 158px - var(--bay-height)) * var(--assembly-ratio,1.38)),900px) * var(--station-scale,1)));justify-self:center;--bay-gap:-12px}
.shelf-wrap{margin:var(--bay-gap) 0 0;padding:0 0 16px;isolation:isolate;overflow:visible}
.changer{height:var(--bay-height);position:relative;z-index:1}
.changer-backdrop{inset:auto -3% 14px;height:46%;background-size:100% 100%;background-position:bottom;display:block;border-radius:0}
[data-stage-mode=flat] .changer-backdrop{inset:12px 0 14px;height:auto;border-radius:5px}
.changer-hint{bottom:1px;font-size:8px;letter-spacing:0;line-height:1.4}
.station-companion{align-self:stretch;grid-column:2;grid-row:2;position:relative;display:flex;flex-direction:column;min-width:0;padding:10px 0 14px}
.companion-name{font:12px var(--f-mono);color:#c7ba9e;letter-spacing:.18em;border-top:1px solid #b2a58b50;padding-top:8px;margin:12px 16px 0}
.companion-name b{font-size:22px;color:#e9cf9f}.companion-name span{display:block;font-size:10px;letter-spacing:0;margin-top:6px;color:#aeb9ae}
.pet-stage{flex:1;min-height:220px;position:relative;isolation:isolate}
#arcade42-host{position:absolute;z-index:2;pointer-events:auto}
#arcade42-host canvas{width:100%;height:100%;display:block}
#arcade42-dock{position:absolute;bottom:10px;left:-8%;width:116%;height:90px;transform:none;border:0;background:transparent center bottom/contain no-repeat;z-index:1;cursor:pointer;filter:drop-shadow(0 5px 4px #0008)}
#arcade42-dock:focus-visible{outline:2px solid #f6c57b;outline-offset:3px}
.pet-hint{font:10px/1.5 var(--f-mono);text-align:center;color:#cec1a7;margin:0 0 8px}
.pet-actions{display:flex;justify-content:center;gap:8px}.pet-actions button{color:#e9d8b8;background:#212726;border:1px solid #8f8066;border-radius:4px;font:11px var(--f-mono);padding:7px 12px}
.pet-stage .arcade42-status{display:none}
.designer-range{display:block;position:relative;margin:16px 0;font-size:12px;color:#eadbc1}.designer-range output{float:right;font-size:11px;color:#e9b571}.designer-range input{display:block;width:100%;margin-top:8px;accent-color:#d89d5b}
.designer-style{display:flex;gap:8px}.designer-style button{padding:8px;flex:1;border:1px solid #796d59;background:#232728;color:#eadbc1;border-radius:5px}
.designer-parts input{padding:9px;width:100%;background:#11181b;border:1px solid #6e6657;color:#eee0c8;border-radius:5px;margin-bottom:12px}
.part-group{border-bottom:1px solid #ffffff1c;padding:9px 0}.part-group summary{cursor:pointer;font:13px var(--f-mono);color:#e7cda6}.part-group .ed-item{padding:9px 5px;font-size:12px;margin:3px 0}
.station-presets button{border:1px solid #807566}.station-presets img{height:72px}
.card.designer-frame{padding:0;background:var(--card-art) center/100% 100% no-repeat;border:0;box-shadow:none;aspect-ratio:16/10;border-radius:0}
.card.designer-frame .cpic{position:absolute;left:var(--apertureX);top:var(--apertureY);width:var(--apertureW);height:var(--apertureH);aspect-ratio:auto;border-radius:3px;box-shadow:none}
.card.designer-frame .kind{top:calc(var(--apertureY) + 6px);right:calc(100% - var(--apertureX) - var(--apertureW) + 6px)}
.card .cstrip{pointer-events:auto}.ns-editing .card .cstrip{cursor:pointer}
.card .cstrip.designer-label{padding:0;background:none;bottom:6px;left:5%;right:5%;height:var(--label-height);transform:rotate(var(--label-tilt))}
.card .cstrip.designer-label .tape{width:100%;height:100%;padding:2px 10px;margin:0;transform:none;background:var(--label-art) center/var(--label-fit) no-repeat}
.card .cstrip.designer-label .tape .ga{display:none}.card .cstrip.designer-label .tape b{font-size:var(--label-size);color:#f5dfb2;text-shadow:0 1px 3px #000,0 0 5px #000;background:#17171699;padding:2px 5px;max-width:100%}
@media(max-width:900px){.cab-body{grid-template-columns:minmax(0,1fr) 160px;padding:0 12px 8px;column-gap:8px}.station-column{width:100%}.companion-name{margin:10px 8px 0}.pet-hint{font-size:9px}}
@media(max-width:600px){.cab-body{grid-template-columns:minmax(0,1fr) 110px;padding:0 7px 5px;column-gap:0}.marquee{height:54px}.logo{width:138px}.station-column{grid-column:1/-1;grid-row:2}.station-companion{grid-row:3;grid-column:1/-1;min-height:160px;height:160px;padding:0 0 6px;margin-top:-6px;display:grid;grid-template-columns:1fr 155px;grid-template-rows:1fr auto}.companion-name{margin:12px 8px;align-self:center}.pet-stage{grid-row:1/3;grid-column:2;min-height:0}.pet-hint{grid-row:2;grid-column:1;text-align:left;margin:0 8px 8px;align-self:start;max-width:130px}.pet-actions{position:absolute;left:8px;bottom:34px}.pet-actions button{padding:5px 10px}.changer{height:min(var(--bay-height),175px)}#arcade42-dock{height:64px;bottom:0}.companion-name span{max-width:140px}}
@media(prefers-reduced-motion:reduce){.station-companion *{scroll-behavior:auto}}
@media(max-width:600px){.pet-hint{position:absolute;bottom:0;left:0;max-width:145px;margin:0 8px 8px}.pet-actions{bottom:44px}}
