/* Organização da sessão e das permissões sobre a interface reaproveitada. */
[hidden] {display:none!important;}
#mission-map-description,#zone-legend {font:12px/1.5 system-ui;margin:8px 0;color:#d6e2cd;}
.mission-zones {position:absolute;left:0;top:0;z-index:9;overflow:visible;pointer-events:none;user-select:none;}
.mission-zones * {pointer-events:none;}
.mission-zones polygon {fill:var(--zone-color);fill-opacity:.23;stroke:var(--zone-color);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round;}
.mission-zones text {fill:white;stroke:#102014;stroke-width:7;paint-order:stroke;stroke-linejoin:round;font:bold 38px system-ui;text-anchor:middle;dominant-baseline:middle;}
.mission-zones.movement-preview .zone-origin polygon {fill:#ffdb59;fill-opacity:.3;stroke:#ffe795;stroke-width:4;}
.mission-zones.movement-preview .zone-target polygon {fill:#89ec7e;fill-opacity:.35;stroke:#baff9f;stroke-width:4;}
.mission-zones.movement-preview .zone-blocked {opacity:.12;}
.invalid-destination > .figura {filter:drop-shadow(0 0 6px #ff554e);}
.mission-zones .zone-door-marker rect {fill:#20392b;stroke:#a1ecb4;stroke-width:2;vector-effect:non-scaling-stroke;}
.mission-zones .zone-door-marker[data-open="false"] rect {fill:#71312b;stroke:#ff9f8d;}
.mission-zones .zone-door-marker text {font:800 25px system-ui;fill:#fff6cf;stroke:#17241b;stroke-width:2;}
#toggle-zones[aria-pressed="true"] {border-color:#e6c46e;color:#ffe49a;}
#action-move[aria-pressed="true"] {background:#426535;border-color:#e6c46e;color:#fff4b5;}
#current-zone {font:12px/1.4 system-ui;color:#d6e2cd;}
#turn-status {font:600 12px/1.4 system-ui,sans-serif;color:#e6c46e;}
.table-session {gap:8px;align-items:center;}
.table-session button {white-space:nowrap;}
.table-session #end-room {border-color:#b66d61;background:#472c28;color:#ffe0d7;}
.table-panel {position:absolute;top:calc(var(--session-height,48px) + 10px);z-index:1001;width:180px;max-height:calc(100dvh - var(--session-height,48px) - 190px);overflow:auto;padding:8px;background:#172119ed;border:1px solid #53624e;border-radius:7px;color:#f2efdf;}
.table-panel summary {font:600 12px/1.5 system-ui;cursor:pointer;min-height:28px;}
.table-panel:not([open]) {width:max-content;}
#table-setup {left:10px;}
#table-decks {right:10px;}
#room-name {position:static;margin:8px 0;max-width:100%;font:600 12px/1.4 system-ui;overflow-wrap:anywhere;}
#players {position:static;margin-top:8px;gap:6px;width:100%;}
#players .player-entry {display:block;width:100%;padding:8px;border:1px solid #46543f;border-radius:6px;}
#players .player-entry.player-active {border-color:#e6c46e;background:#30432b;}
#players .player-name {display:block;font:12px/1.4 system-ui;}
#players .player-characters {display:flex;gap:5px;flex-wrap:wrap;padding:0;margin-top:6px;background:transparent;}
#players .player-character {width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #b1c2a4;}
#players small {font:11px system-ui;color:#c2cdb8;}
#players .select-character {display:flex;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;}
#players .select-character[aria-pressed="true"] .player-character {border-color:#ffd968;box-shadow:0 0 0 2px #ffd968;}
#players .select-character:focus-visible {outline:3px solid #fff;outline-offset:3px;}
#mesa > .survivor.character-active > :first-child {border:3px solid #ffd968;box-shadow:0 0 14px #ffd968;}
#tab-menu {position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;height:auto;margin-top:6px;}
#tab-menu select {width:100%;height:32px;font:14px system-ui;background:#354434;color:#fff;}
#table-decks > #spawn-deck,#table-decks > #draw-equip-deck,#table-decks > #draw-pimp-deck {position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;margin:10px 0;}
#table-decks .card,#table-decks .card:nth-child(1) {position:relative;inset:auto;rotate:none;width:100%;height:auto;aspect-ratio:303/434;}
#table-decks .card img {width:100%;height:100%;object-fit:cover;}
#dice-container {position:static;width:100%;height:auto;margin-top:10px;}
.piece-readonly,.piece-readonly .figura {cursor:default;}
[aria-disabled="true"] {opacity:.45;cursor:default;pointer-events:none;}
button:disabled {opacity:.4;cursor:default;}
.controls {height:64px;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;align-items:center;gap:20px;}
.controls > div {flex-shrink:0;}
.controls div button {width:36px;height:36px;flex-shrink:0;}
@media(max-width:700px){
 .table-session {font-size:12px;gap:5px;padding:6px;}
 .table-session button,.table-session select {font-size:12px;min-height:30px;}
 .table-session label {margin-left:0;}
 #table-connection {max-width:none;flex:1 1 160px;font-size:11px;}
 #turn-status {flex:1 1 130px;}
 .table-panel[open] {max-height:calc(100dvh - var(--session-height,48px) - 90px);z-index:1200;}
}
