/* Readable desktop interface: physical CSS pixels, independent of canvas resolution. */
.player-card{min-width:320px;padding:16px 19px}.player-info>div:first-child{font-size:17px}.player-info #health{font-size:15px}#worldname{font-size:13px;line-height:1.5}.health-track{height:9px}.resource-chip{min-width:115px;padding:11px}.resource-chip small{font-size:12px}.resource-chip strong{font-size:25px}.resource-chip canvas{width:39px;height:39px}#connection,#roomlabel{font-size:13px}#roomlabel{padding:8px 12px}.tools{top:150px}.tools button{height:42px;width:43px}.tools #end-game,.tools #profile-open,.tools #admin-hud{font-size:14px;padding:0 14px}.tools button:first-child{font-size:14px}#phasetime{font-size:14px}.cycletrack{height:8px}#cyclemarker{height:12px;width:5px}#timehud{min-width:215px;padding:12px 23px}#notice{font-size:15px;line-height:1.65;top:207px;padding:10px 19px}.keys-hint{font-size:13px;bottom:145px;left:24px}.keys-hint kbd,kbd{font-size:12px}#spectator{font-size:16px;top:162px}#spectator span{font-size:13px}#boss-hud{top:167px;width:450px}#boss-hud>span,#boss-hp{font-size:13px}.has-boss #notice{top:239px}
#toolbar{bottom:8px;padding:8px;gap:12px;max-width:98vw}#slots{gap:5px}.slot{width:clamp(78px,4.5vw,114px);height:108px;flex-shrink:0}.slot>canvas{width:48px;height:48px;transform:translateY(-20px)}.slot .slot-key{font-size:12px;top:5px;left:6px}.slot .slot-level{font-size:12px;top:5px;right:6px;bottom:auto}.slot.locked>canvas{opacity:.45;filter:saturate(.35)}.slot-name{position:absolute;left:0;right:0;bottom:33px;font-size:12px;font-weight:600;white-space:nowrap;color:#d4e3c3}.slot-cost{position:absolute;left:2px;right:2px;bottom:5px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 5px;min-height:23px;font-size:14px;line-height:1}.slot-cost>span{display:flex;align-items:center;gap:1px}.slot-cost canvas{width:16px;height:18px;transform:none}.slot-cost b{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.toolbar-actions{min-width:145px}.toolbar-actions button{font-size:14px;padding:12px}.toolbar-actions kbd{font-size:12px}
dialog{width:min(1040px,94vw);padding:30px}.panel-head h2{font-size:32px}.panel-head .eyebrow{font-size:12px}.tabs button{font-size:15px;padding:12px 16px}.panel-note,.card-note{font-size:14px}.item-heading h3{font-size:20px}.item-heading canvas{width:74px;height:74px}.level-badge{font-size:12px}.statline{font-size:14px;line-height:1.8}.price{font-size:16px;gap:15px}.price canvas{width:29px;height:29px}.shortage{font-size:13px;min-height:18px}.upgrade-card>button{font-size:15px;padding:13px}#panel-funds{font-size:15px}.max-level{font-size:13px}#panel-error{font-size:14px}.inventory-grid b{font-size:15px}.inventory-grid button{font-size:13px}.skill-box h3{font-size:17px}.skill-box p,.help-grid p{font-size:15px}.help-grid h3{font-size:19px}.balance-table{font-size:14px}.settings-footer button{font-size:14px}.talent-head h3{font-size:17px}.talent-head b{font-size:15px}.talent-card p{font-size:14px;min-height:47px}.talent-card button,.profile-actions button{font-size:14px}.profile-summary p{font-size:14px}.profile-stat-grid span{font-size:11px}.profile-stat-grid b{font-size:20px}.access-user strong{font-size:18px}.access-user span{font-size:15px}.access-user small{font-size:12px}.access-actions button{font-size:14px}#admin-count{font-size:15px}
#lobby .menu-content{width:clamp(480px,35vw,650px)}#lobby .menu-tabs button{font-size:15px;padding:13px 6px;gap:7px}#lobby .menu-tabs button svg{width:18px;height:18px}.menu-form-body{grid-template-columns:1fr;gap:17px}#lobby .menu-field>span{font-size:13px;letter-spacing:1px;margin-bottom:9px}#lobby input,#lobby select{height:54px;font-size:17px}#lobby input::placeholder{font-size:15px}#lobby .menu-field-hint{font-size:13px}#lobby .menu-play{font-size:17px;height:61px}.menu-features>span{font-size:12px}.menu-features svg{width:17px;height:17px}#lobby .menu-footer button{font-size:14px}#lobby .menu-footer>div{gap:18px}#lobby .menu-resume b{font-size:16px}#lobby .menu-resume small{font-size:12px}.coop-note{font-size:14px;line-height:1.6;color:#c4d7b4;margin:0 0 18px}#lobby .menu-intro{font-size:18px}#lobby #auth-form label{font-size:15px}#lobby #auth-form input{font-size:17px;padding:12px 15px}.auth-tabs button{font-size:16px}.auth-submit{font-size:16px!important;min-height:54px}.auth-note{font-size:14px}.admin-setup{font-size:13px}#auth-error{font-size:14px}#account-gate>p{font-size:16px}.access-state{font-size:15px}#account-gate>small{font-size:13px}#menu-account-name{font-size:13px}.menu-release{font-size:12px}.menu-release>span{font-size:11px}
@media(min-width:1800px){.slot-cost b{font-size:17px}.slot-cost canvas{width:20px;height:20px}.slot-name{font-size:15px}.slot{height:122px}.slot>canvas{width:59px;height:59px}.toolbar-actions{min-width:170px}.toolbar-actions button{font-size:17px}#toolbar{padding:10px}.keys-hint{bottom:158px}.player-info>div:first-child{font-size:20px}.player-info #health{font-size:17px}#worldname{font-size:15px}.resource-chip strong{font-size:29px}.resource-chip small{font-size:14px}}
@media(max-width:1100px){.player-card{min-width:250px}.player-info>div:first-child{font-size:15px}.resource-chip{min-width:87px;padding:8px}.resource-chip strong{font-size:22px}.resource-chip small{font-size:11px}.resource-chip canvas{width:29px;height:29px}.slot{width:66px;height:108px}.slot-name{font-size:11px}.slot-cost b{font-size:13px}.slot-cost canvas{width:14px;height:15px}.slot-cost{gap:2px}.toolbar-actions{min-width:120px}.toolbar-actions button{font-size:13px}#toolbar{gap:7px;padding:7px}#slots{gap:3px}.tools{top:140px}#notice{top:200px;max-width:80vw}.keys-hint{display:none}}
@media(max-height:800px){#lobby .menu-heading{margin-bottom:17px}#lobby h1{font-size:75px}#lobby .menu-intro{display:none}#lobby .menu-content{top:100px;bottom:90px;transform:none;max-height:none}#lobby .menu-card{padding:20px}#lobby .menu-field-hint{font-size:13px}#lobby input,#lobby select{height:49px;font-size:16px}#lobby .menu-tabs button{font-size:14px}#lobby .menu-form-body{gap:13px}}

#party-hud{position:absolute;top:150px;left:26px;width:285px;padding:14px;background:#13271ee8;border:1px solid #b8cf9340;border-radius:9px;pointer-events:auto}#party-hud>strong{display:flex;justify-content:space-between;font-size:16px;color:#dce9c7}#party-count{color:#9fbc8b}#party-members>div{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin:12px 0;color:#c7d9b7}#party-members b{font-size:12px;color:#bcd199;white-space:nowrap}#party-members .dead,#party-members .dead b{color:#a89ca9}#invite-link{width:100%;font-size:14px;padding:10px 7px;margin-top:3px}@media(max-width:1100px){#party-hud{top:145px;left:15px;width:242px}}

.slot-cost{flex-wrap:nowrap;height:22px;min-height:22px}.slot.has-three-costs{width:112px}@media(min-width:1800px){.slot.has-three-costs{width:145px}}
#toolbar{width:max-content;max-width:calc(100vw - 20px)}#slots{min-width:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#a9c98455 #10241b;max-width:calc(100vw - 190px);padding-bottom:3px}.toolbar-actions{flex-shrink:0}@media(max-width:620px){#lobby .menu-content{width:calc(100vw - 40px);min-width:0}}

#lobby .menu-content{top:110px;bottom:100px;transform:none;max-height:none}@media(max-height:800px){#lobby .menu-content{top:100px;bottom:90px}}

.slot-cost>span.missing b{color:#ff7878;text-shadow:0 1px 3px #240000;font-weight:800}

.slot[draggable=true]{cursor:grab}.slot.dragging{opacity:.4;cursor:grabbing}.slot.drop-target{outline:2px solid #d4ed9e;outline-offset:2px;background:#48613b}

.upgrade-card>button[data-dismantle],button.danger{background:#682e30;border:1px solid #d66a68;color:#ffe6df}.upgrade-card>button[data-dismantle]:hover,button.danger:hover{background:#87393c;border-color:#f28a83}.cycle-fields{display:flex;gap:12px;margin:12px 0}.cycle-fields .menu-field{flex:1;min-width:0;font-size:11px}.cycle-fields input{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:10px;background:#172c25;color:#e2ecd8;border:1px solid #66845a;border-radius:6px}#abandon-run{max-width:520px}#abandon-run p{line-height:1.6}
