*{box-sizing:border-box}body{margin:0;background:#182126;color:#eef3f4;font-family:system-ui,sans-serif}header{min-height:60px;padding:12px 22px;display:flex;gap:26px;align-items:center;flex-wrap:wrap;background:#202c32;position:sticky;top:0;z-index:20;border-bottom:1px solid #40505a}header b{letter-spacing:3px}header strong{min-width:130px;font-size:22px}header span{color:#c4d0d5;font-size:14px}main{position:relative;margin:12px}#table{position:absolute;width:3560px;height:2070px;transform-origin:top left;background:#182126;user-select:none}#map{position:absolute;left:600px;top:40px;width:2291px;height:1600px;pointer-events:none}#map img{position:absolute;top:0;height:1600px}.map-left{left:0;width:1172px}.map-right{left:1107px;width:1184px}.asset{position:absolute;overflow:hidden;pointer-events:none}.asset img{position:absolute;pointer-events:none;user-select:none;max-width:none}#cell{position:absolute;display:none;border:4px solid white;background:#ffffff16;box-shadow:0 0 4px #000a;pointer-events:none;z-index:2}.figure{position:absolute;width:60px;height:90px;pointer-events:none;z-index:4}.figure .asset{left:0;top:0;width:100%!important;height:100%!important}.hit{position:absolute;left:0;bottom:0;width:100%;height:66.666667%;pointer-events:auto;cursor:grab;touch-action:none;border:0;background:transparent}.dragging{z-index:10}.dragging .hit{cursor:grabbing}.hit:focus-visible{outline:3px solid white}.label{position:absolute;color:#b9c9d1;font-size:22px;text-align:center;pointer-events:none;white-space:nowrap}.heading{font-size:24px;letter-spacing:2px;color:#d8e4e9}.badge{position:absolute;background:#31424c;color:white;border:2px solid #6b7d88;border-radius:18px;padding:3px 10px;font-size:24px;pointer-events:none;z-index:1}#die{position:absolute;left:335px;top:1040px;width:120px;height:120px;border-radius:20px;border:4px solid #dfe7eb;background:#f2f4f6;box-shadow:8px 10px 0 #6f7c87,0 15px 20px #0007;cursor:pointer;padding:12px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:6px;color:#121b21}#die .pip{border-radius:50%;background:currentColor}#die.rolling{transform:rotate(8deg)}#missing{margin:12px;padding:12px;border:1px solid #d5a94a;background:#473b24;color:#ffe0a1}
button{font:inherit}header button,#setup button,.modal button{border:1px solid #6d8995;border-radius:7px;background:#365566;color:white;padding:9px 15px;cursor:pointer}button:disabled{opacity:.45;cursor:default}#setup{padding:10px 22px;background:#263841;display:flex;align-items:center;gap:18px;font-size:14px;min-height:50px}#setupMessage{flex:1}.equipment-panel{position:absolute;left:2950px;width:560px;height:225px;border:2px solid #425761;border-radius:12px;background:#202e35}.equipment-panel .title{position:absolute;left:100px;top:10px;font-size:23px;color:#ebf3f6}.equipment-panel .slots{position:absolute;left:100px;top:50px;font-size:19px;line-height:1.6;color:#9aadb6}.equipment-panel .stored-cards{position:absolute;left:100px;top:98px;width:430px;height:120px;overflow:auto;display:flex;gap:8px}.equipment-panel .stored-card{min-width:240px;max-width:240px;background:#fff;color:#182126;padding:9px;border:2px solid #d7e0e5;border-radius:5px;cursor:pointer;font-size:13px;line-height:1.1;text-align:center;display:grid;place-items:center}.equipment-panel.selected{border-color:#c4e9ff}.role{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:20px;background:#182126;padding:2px 5px;border-radius:4px;pointer-events:none;white-space:nowrap}.selected-human,.selected-bot{filter:drop-shadow(0 0 5px var(--color)) drop-shadow(0 0 3px var(--color))}.action-icon{position:absolute;pointer-events:auto;cursor:pointer;background:transparent;border:0;padding:0;color:#cbdde6}.action-icon .asset{pointer-events:none}.action-icon:focus-visible{outline:3px solid white}#deckBack{pointer-events:auto;cursor:pointer;border-radius:10px}#deckBack:focus-visible{outline:4px solid #a1e0ff}.modal{position:fixed;inset:0;background:#000b;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal[hidden],[hidden]{display:none!important}.modal-content{display:flex;flex-direction:column;gap:18px;align-items:center}.card-face{width:720px;max-width:92vw;min-height:360px;background:white;color:#172128;border:6px solid #d5dde1;border-radius:14px;padding:28px;box-shadow:0 12px 50px #0008;display:flex;flex-direction:column;justify-content:center;text-align:center}.card-face small{font-size:17px;letter-spacing:2px;color:#687c84}.card-face p{font-size:29px;line-height:1.25;font-weight:650;margin:22px 0;white-space:pre-wrap}.modal-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.piece-on-map{pointer-events:none}.map-part{z-index:3}.equipment-panel{z-index:0}.figure{z-index:4}.store-caption{color:#97abb6}.equipment-panel .select-preview{position:absolute;inset:0;background:transparent;border:0;cursor:pointer}.equipment-panel .stored-cards{z-index:1}.slot-help{pointer-events:none}.action-note{color:#a9c0cb}@media(max-width:700px){.card-face{min-height:260px;padding:18px}.card-face p{font-size:21px}.card-face small{font-size:12px}}
.visited-field,.legal-field{position:absolute;pointer-events:none;z-index:2}.visited-field{background:#fff3;border:2px solid #fff5}.legal-field{border:3px solid #92ffc0;background:#69ff9b19}.active-turn{filter:drop-shadow(0 0 7px #ffd759)}.swimmer{position:absolute;right:-30px;top:-30px;font-size:28px;pointer-events:none}.held-parts{position:absolute;left:380px;top:47px;display:flex;gap:8px;pointer-events:none}.held-parts img{width:38px;height:38px;object-fit:contain}.equipment-panel .slots{font-size:18px;max-width:260px}#setup{flex-wrap:wrap}#setup button{white-space:nowrap}
.inventory-items{position:absolute;left:100px;top:78px;width:438px;height:136px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;overflow:auto;padding:4px;background:#14242b55;z-index:1}.inventory-item{flex:none;width:120px;height:60px;cursor:grab;user-select:none;display:grid;place-items:center;overflow:hidden;border-radius:4px}.inventory-item img{width:100%;height:100%;object-fit:fill;pointer-events:none}.inventory-item.part-item,.inventory-item.weapon-item{width:60px;height:60px}.inventory-item.part-item img{object-fit:contain}.inventory-item.card-item{background:white;color:#14242b;font-size:10px;line-height:1.1;text-align:center;border:2px solid #a3b9c5;padding:4px}.warehouse-items{position:absolute;width:240px;height:205px;display:flex;flex-wrap:wrap;align-content:flex-start;overflow:auto;gap:3px;background:#17272b44;z-index:5;border-radius:8px;border:2px dashed #fff7;padding:2px}.warehouse-items .note-item,.warehouse-items .card-item{width:114px}.warehouse-items.locked{border-color:#fff3}.warehouse-title{position:absolute;font-size:18px;text-align:center;width:240px;background:#182126cf;z-index:6;pointer-events:none}.house-map{z-index:3}.location-button{border:1px solid #7b9ba7;background:#365566;color:white;border-radius:6px;padding:8px 12px;cursor:pointer;font-size:14px}.inventory-item:active{cursor:grabbing}.stock-hit{position:absolute;border:0;background:transparent;padding:0;cursor:pointer;z-index:7}.stock-hit:focus-visible{outline:3px solid #b6edff}

.inventory-item{position:relative}.inventory-item .asset{width:60px;height:60px}

/* Magazyn wykorzystuje także miejsce obok dużego domku. */
.warehouse-items{width:350px}.warehouse-title{width:350px}.warehouse-items .note-item,.warehouse-items .card-item{width:110px}
.attack-direction{position:absolute;z-index:80;background:rgba(255,60,60,.13);border:1px solid #ff5555;color:#ff2525;font-size:42px;font-weight:700;cursor:pointer;padding:0}.attack-direction:hover{background:rgba(255,70,70,.4)}.attack-area,.projectile-field{position:absolute;box-sizing:border-box;pointer-events:none;z-index:55;background:rgba(255,35,35,.08)}.projectile-field{display:flex;align-items:center;justify-content:center;color:#ff2424;font-size:42px;font-weight:bold;background:rgba(255,30,30,.15)}.combat-target{outline:3px solid red!important;filter:drop-shadow(0 0 8px red)}
#testToggle{margin-left:auto}#testToggle[aria-pressed="true"]{background:#975119;border-color:#ffbd68}#zoomLabel{min-width:55px;font-weight:bold}#testNotice{padding:10px 22px;background:#64401d;color:#ffe4bb}.test-stock{position:absolute;display:none;z-index:15;cursor:grab;background:transparent}.test-mode .test-stock{display:block}.test-part-hit{position:absolute;inset:0;pointer-events:none}.test-mode .test-part-hit{pointer-events:auto;cursor:grab;touch-action:none}.test-mode .map-part{outline:2px dashed #ffc66e}#viewport{overflow:visible}

.test-mode .action-icon,.test-mode #die{pointer-events:none;opacity:.6}
.card-hint{color:#f5e3ac;max-width:720px;text-align:center;margin:0}.card-choices{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.card-choices .chosen{outline:3px solid #ffe38a;background:#63502a}.card-face{cursor:pointer}.card-face:focus-visible{outline:3px solid #ffe38a}.card-status{position:absolute;left:50%;bottom:105%;transform:translateX(-50%);font-size:21px;background:#15232de8;padding:3px 6px;border-radius:5px;white-space:nowrap;pointer-events:none}.closure-field{position:absolute;z-index:58;font-size:40px;display:grid;place-items:center;pointer-events:none;background:#44151588}#eventLog{padding:8px 22px;background:#354a34;color:#e7f4de;font-size:14px}

.warehouse-background{pointer-events:auto}

.equipment-panel .slots{font-size:23px;max-width:440px;line-height:1.15}.weapon-preview{cursor:pointer}.weapon-preview img{width:360px;height:360px;max-width:85vw;max-height:80vh;object-fit:contain;background:#fff;border:6px solid #d5dde1;border-radius:14px;padding:18px}.weapon-item{cursor:zoom-in}

.attack-explanation{white-space:normal;font-size:20px;line-height:1.3}

#setupNext:focus-visible{outline:3px solid #ffe34b;outline-offset:3px}#saveStatus{padding:8px 22px;background:#263841;color:#dcebf3;font-size:14px}
