/* Independent map-selection screen; the supply catalogue keeps its own modal. */
.play-page{--bg:#071a20;--ink:#e7f4f1;--muted:#8fb0b2;--line:#89b8ba2b;--accent:#53edc3;--map-accent:#53edc3;background:var(--bg);color:var(--ink);isolation:isolate}
.play-shell{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 390px;grid-template-rows:minmax(0,1fr);height:calc(100svh - var(--shell-header-height,76px));min-height:650px;background:radial-gradient(ellipse at 39% 39%,#18545a,#0c3038 54%,#071c24);overflow:hidden}
.play-shell:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 64%,#061920c9);pointer-events:none}
.play-map-stage{position:relative;grid-column:1;grid-row:1;min-width:0;min-height:0;isolation:isolate;overflow:hidden}
.play-map-stage .map-terrain{inset:0 -9% 0 -4%;background:radial-gradient(ellipse,#18585d,#0c3038 67%)}
.play-map-stage .map-terrain>img{object-fit:cover;object-position:46% center;opacity:.91;filter:saturate(.75)}
.play-map-stage .map-terrain:before{background:radial-gradient(ellipse at 47% 47%,transparent 18%,#041b21ad 100%),linear-gradient(#061c251a,transparent 58%,#061b24b0);z-index:1}
.play-map-stage .map-terrain:after{background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#0d2b2914 4px)}
.play-map-grid{position:absolute;inset:0;z-index:-1;opacity:.34;background-image:linear-gradient(#80d4cc0d 1px,transparent 1px),linear-gradient(90deg,#80d4cc0d 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(ellipse,#000,transparent 80%);pointer-events:none}
.play-heading{position:absolute;top:5.5%;left:4.6%;z-index:2;text-shadow:0 2px 12px #02191fcc;pointer-events:none}
.play-heading>p{display:flex;align-items:center;gap:9px;color:#7baeb2;font:8px/1.6 'LuckDraw HUD',Consolas,monospace;letter-spacing:3px;margin:0 0 11px}
.play-heading>p>i{width:5px;height:5px;background:#69e0bc;box-shadow:0 0 12px #69e0bc66}
.play-heading h1{font-size:31px;line-height:1.4;letter-spacing:4px;font-weight:700;margin:0 0 9px}
.play-heading>span{font-size:10px;line-height:1.8;letter-spacing:1.8px;color:#9abfc0}
.play-sector-label{position:absolute;right:4%;top:6.5%;z-index:2;color:#679196;font:7px/1.6 'LuckDraw HUD',Consolas,monospace;letter-spacing:2px;writing-mode:vertical-rl;pointer-events:none}
.play-map-nodes{position:absolute;inset:0;z-index:2}
.play-page .map-location{transition:opacity .2s,filter .2s;z-index:2}
.play-page .map-location-dam{left:44%;top:26%}
.play-page .map-location-grove{left:25%;top:43%}
.play-page .map-location-brakkesh{left:33%;top:66%}
.play-page .map-location-space{left:78%;top:53%}
.play-page .map-location-prison{left:71%;top:27%}




.play-page .play-map-stage.has-map-selection .map-location{opacity:.72}
.play-page .play-map-stage.has-map-selection .map-location:has(.is-selected){opacity:1;z-index:4}
.play-page .map-node{gap:4px;min-width:140px;padding:10px 15px;color:#93c4c2;text-shadow:0 2px 11px #001519,0 0 6px #001519;outline-offset:5px;cursor:pointer}
.play-page .map-node-label strong{font-size:21px;line-height:1.4;letter-spacing:2px;font-weight:500;transition:color .2s}
.play-page .map-node-label small{font-size:12px;color:#8fbdb6;opacity:.8;margin-top:3px;letter-spacing:1.3px}
.play-page .map-node-marker{width:100px;height:83px;transform:none;margin:0;transition:transform .22s,filter .22s;filter:drop-shadow(0 0 7px #83eec82b)}
.play-page .map-node-marker:before{opacity:.4;border-color:#8de7cd;background:radial-gradient(ellipse,#83f0d12a,transparent 70%);box-shadow:0 0 12px #59bfb522,inset 0 0 15px #5fc9b31a}
.play-page .map-node-marker:after{opacity:.24;border-color:#97dbcc}
.play-page .map-node-marker svg{width:83px;height:63px;filter:drop-shadow(0 0 5px #90d9bf33)}
.play-page .map-node:hover{color:#dbfff0}
.play-page .map-node:hover .map-node-marker{transform:translateY(-3px)}
.play-page .map-node.is-selected{color:#dcffec}
.play-page .map-node.is-selected .map-node-label strong{font-size:21px;color:#effff6}
.play-page .map-node.is-selected .map-node-label small{color:#b5ffdf;opacity:1}
.play-page .map-node.is-selected .map-node-marker{transform:scale(1.12);filter:drop-shadow(0 0 13px #8effca44)}
.play-page .map-node.is-selected .map-node-marker:before{opacity:.95;box-shadow:0 0 0 6px #8effcc14,0 0 24px #62ffbd66,inset 0 0 20px #70ffd54d;border-color:#baffdf;background:radial-gradient(ellipse,#9effd555,transparent 70%)}
.play-page .map-node.is-selected .map-node-marker:after{opacity:.7;border-color:#c7ffdf}
.play-page .map-node:focus-visible{outline:1px solid #baffdf;border-radius:0}
.play-page .map-node:focus-visible .map-node-marker:after{box-shadow:0 0 22px #6ffffa55}
.play-page .map-node.is-locked{color:#a4bbbc;cursor:not-allowed;opacity:.88}
.play-page .map-node.is-locked .map-node-label small{display:flex;align-items:center;justify-content:center;gap:4px;color:#b3c6c6;opacity:1}
.play-page .map-node-label small>svg{width:8px;height:8px;fill:none;stroke:currentColor;stroke-width:1}
.play-page .map-node.is-locked .map-node-marker{filter:drop-shadow(0 2px 6px #3f73753b)}
.play-page .map-node.is-locked .map-node-marker:before,.play-page .map-node.is-locked .map-node-marker:after{border-color:#719b9c;opacity:.24;box-shadow:none;background:none}
.play-page .map-node.is-locked:hover{color:#c3d2d2;opacity:1}
.play-page .map-node.is-locked:hover .map-node-marker{transform:none}
.play-page .play-map-stage.has-map-selection .map-location:has(.is-locked){opacity:.78}
.play-page .play-details.is-revealing .play-detail-visual{animation:play-detail-image-enter .72s cubic-bezier(.2,.7,.2,1) both}
.play-page .play-details.is-revealing .play-detail-copy{animation:play-detail-copy-enter .6s .12s cubic-bezier(.2,.7,.2,1) both}
.play-page .play-details.is-revealing .play-confirm-area{animation:play-detail-copy-enter .55s .22s cubic-bezier(.2,.7,.2,1) both}
.play-page .map-node.is-selected .map-node-marker:after{animation:play-selected-ring .85s ease-out}
@keyframes play-detail-image-enter{from{opacity:.2;transform:translateY(12px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
@keyframes play-detail-copy-enter{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
@keyframes play-selected-ring{0%{transform:scale(.6);opacity:0}65%{transform:scale(1.18);opacity:1}100%{transform:scale(1);opacity:.7}}
.play-map-bottom{position:absolute;left:4.6%;right:4%;bottom:5%;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:24px;pointer-events:none}





.play-map-bottom>p{color:#9ac1b9;font-size:10px;line-height:1.6;letter-spacing:1.3px;margin:0;text-shadow:0 2px 8px #00191e}
.play-details{position:relative;z-index:3;grid-column:2;grid-row:1;align-self:center;min-width:0;margin:28px 32px 28px 0;border:1px solid #bedbd459;background:linear-gradient(145deg,#21454bda,#102f39eb);backdrop-filter:blur(12px);box-shadow:0 15px 60px #00131866}
.play-detail-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:38px;padding:10px 18px;color:#98c1bb;border-bottom:1px solid #b1d6cd22;font:7px/1.6 'LuckDraw HUD',Consolas,monospace;letter-spacing:2px}
.play-detail-topline>span:last-child{font:12px/1.2 Consolas,monospace;color:#a5ccbd;letter-spacing:1px}
.play-difficulty{display:grid;grid-template-columns:minmax(0,1fr);border-bottom:2px solid #deeee7}
.play-difficulty>button{border:0;border-right:1px solid #b4d6cb36;border-radius:0;background:#0b27317d;color:#a4bdbc;min-height:44px;padding:9px 6px;font:400 14px/1.5 var(--font);letter-spacing:2px;transition:background .18s,color .18s}
.play-difficulty>button:last-child{border-right:0}
.play-difficulty>button.is-selected{color:#3c655b;background:#e7f7ef;font-weight:600}
.play-difficulty>button.is-selected:disabled{opacity:1}
.play-difficulty>button:hover:not(.is-selected){color:#f1fff7;background:#b4e2d01a}
.play-difficulty>button:focus-visible{outline:2px solid #97ffdc;outline-offset:-4px}
.play-detail-visual{position:relative;height:183px;overflow:hidden;background:#163c42}
.play-detail-visual>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.play-detail-visual>img[hidden]{display:none}
.play-detail-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 48%,#12313bcc);pointer-events:none}
.play-detail-visual>#play-map-code{position:absolute;left:19px;bottom:14px;z-index:1;color:#d6eee5;font:7px/1.5 'LuckDraw HUD',Consolas,monospace;letter-spacing:2.5px;text-shadow:0 2px 6px #052b2d}
.play-detail-schematic{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 50%,#50b0a62b,transparent 70%),linear-gradient(#93ddce0b 1px,transparent 1px),linear-gradient(90deg,#93ddce0b 1px,transparent 1px);background-size:auto,24px 24px,24px 24px}
.play-detail-schematic[hidden]{display:none}
.play-schematic-icon{position:relative;display:grid;place-items:center;width:140px;height:118px;color:#92d8c5;filter:drop-shadow(0 0 13px #7bdcc344)}
.play-schematic-icon:before{content:'';position:absolute;left:-5px;right:-5px;bottom:-3px;height:45px;border-radius:50%;border:1px solid #93d7c32e;box-shadow:0 0 0 7px #8ad2be08,0 0 0 8px #8ad2be17;transform:rotate(-5deg)}
.play-schematic-icon svg{width:125px;height:95px;overflow:visible}
.play-schematic-cross{position:absolute;color:#7cafaa55;font:16px/1 Consolas,monospace}
.play-schematic-cross.cross-one{left:20px;top:20px}
.play-schematic-cross.cross-two{right:20px;bottom:25px}
.play-detail-copy{padding:0 19px 16px}
.play-title-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0 13px;border-bottom:1px solid #c5e2d52b}
.play-title-row>div{min-width:0}
.play-title-row p{margin:0 0 6px;color:#94b9b5;font-size:8px;letter-spacing:1.1px;line-height:1.7}
.play-title-row h2{margin:0;color:#ecfaf1;font-size:26px;line-height:1.4;letter-spacing:2px;font-weight:500;overflow-wrap:anywhere}
#play-reset{display:grid;place-items:center;flex:none;width:29px;height:29px;border:1px solid #c2dbd452;background:#13343a66;color:#bcd8cc;padding:5px;transition:color .2s,border-color .2s}
#play-reset svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:square;stroke-linejoin:miter}
#play-reset:hover{border-color:#91efce;color:#d1ffea}
#play-reset:focus-visible{outline:2px solid #9affd6;outline-offset:3px}
.play-selected-facts{margin:8px 0 13px}
.play-selected-facts>div{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;padding:9px 0;border-bottom:1px solid #bcd9ce18;font-size:11px;letter-spacing:.4px}
.play-selected-facts dt{color:#8eafb0}
.play-selected-facts dd{margin:0;text-align:right;color:#d3e8df}
.play-map-description{margin:0;color:#9dbcb9;font-size:10px;line-height:1.8;letter-spacing:.15px;min-height:36px}
.play-confirm-area{padding:0 19px 19px}
#play-selection-summary{margin:0 0 11px;color:#b6d9cb;font-size:10px;line-height:1.8;letter-spacing:.5px}
#play-confirm{display:flex;align-items:center;justify-content:center;text-align:center;gap:16px;width:100%;min-height:53px;border:1px solid #5cf4bf;border-radius:0;padding:10px 19px;background:#53edbc;color:#082d21;font:700 18px/1.5 var(--font);letter-spacing:2px;box-shadow:0 0 20px #4aeead13;transition:background .2s,border-color .2s}

#play-confirm>span:first-child{flex:none;white-space:nowrap}
#play-round-retry{margin-top:10px;padding:7px 12px;border:1px solid #91c4b577;background:#173b3e;color:#d3e9de;font:500 11px/1.5 var(--font)}
.play-difficulty>button:disabled,#play-reset:disabled{cursor:default;opacity:.65}
#play-confirm:hover:not(:disabled){background:#9affd4;border-color:#b7ffdf}
#play-confirm:disabled{border-color:#8ba9a34a;background:#779c9340;color:#9bbab1;box-shadow:none;cursor:default}
#play-confirm:focus-visible{outline:2px solid #c5ffe6;outline-offset:4px}
.play-status{min-height:17px;margin:10px 0 0;color:#b9ddc9;font-size:9px;line-height:1.8;letter-spacing:.15px;overflow-wrap:anywhere}
.play-status:empty{min-height:0;margin-top:0}
.play-footer{position:relative;z-index:4;grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:25px;padding:0 34px;border-top:1px solid #acd6cc22;background:#071b23e0;color:#7ca59e;font-size:9px;line-height:1.7;letter-spacing:.4px}
.play-footer>a{display:flex;align-items:center;gap:9px;min-height:34px;padding:4px 9px;color:#bed6ca;border:1px solid #b1d9ca2b;background:#90bcb509;font-size:10px;letter-spacing:1px;white-space:nowrap}
.play-footer>a>svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.1}
.play-footer>a:hover{color:#b0ffda;border-color:#a4f3d766}
.play-footer>small{margin-left:auto;font:6px/1.5 'LuckDraw HUD',Consolas,monospace;letter-spacing:1.6px;color:#4c7a79}
@media(min-width:1800px){.play-shell{grid-template-columns:minmax(0,1fr) 460px;grid-template-rows:minmax(0,1fr)}.play-details{margin-right:48px}.play-detail-topline{padding-inline:23px;min-height:43px}.play-difficulty>button{min-height:49px;font-size:16px}.play-detail-visual{height:218px}.play-detail-copy{padding:0 23px 20px}.play-title-row{padding-block:21px 15px}.play-title-row h2{font-size:30px}.play-title-row p{font-size:9px}.play-selected-facts>div{font-size:12px;padding:10px 0}.play-map-description{font-size:11px;min-height:40px}.play-confirm-area{padding:0 23px 23px}#play-confirm{min-height:59px;font-size:20px}#play-selection-summary{font-size:11px}.play-status{font-size:10px}.play-heading{left:4.2%;top:6%}.play-heading h1{font-size:36px}.play-heading>p{font-size:9px}.play-heading>span{font-size:11px}.play-page .map-node-label strong,.play-page .map-node.is-selected .map-node-label strong{font-size:25px}.play-page .map-node-label small{font-size:9px}.play-page .map-node-marker{width:112px;height:96px}.play-page .map-node-marker svg{width:94px;height:75px}.play-page .map-node.is-selected .map-node-marker{transform:scale(1.15)}.play-map-bottom{left:4.2%}.play-footer{padding-inline:48px;height:58px}.play-map-bottom>p{font-size:11px}}
@media(min-width:1051px) and (max-height:850px){.play-shell{min-height:610px}.play-details{margin-block:18px}.play-detail-topline{min-height:30px;padding-block:7px}.play-difficulty>button{min-height:38px;font-size:13px}.play-detail-visual{height:130px}.play-detail-copy{padding-bottom:12px}.play-title-row{padding:13px 0 10px}.play-title-row h2{font-size:24px}.play-title-row p{font-size:7px;margin-bottom:4px}.play-selected-facts{margin:5px 0 10px}.play-selected-facts>div{padding:7px 0;font-size:10px}.play-map-description{font-size:9px;min-height:32px}.play-confirm-area{padding-bottom:15px}#play-selection-summary{margin-bottom:8px;font-size:9px}#play-confirm{min-height:47px;font-size:16px}.play-status{font-size:8px;line-height:1.6;margin-top:8px}.play-status:empty{margin:0}.play-heading h1{font-size:28px}.play-heading>span{font-size:9px}.play-map-bottom{bottom:4%}.play-page .map-node-marker{width:90px;height:74px}.play-page .map-node-marker svg{width:73px;height:59px}.play-page .map-node-label strong,.play-page .map-node.is-selected .map-node-label strong{font-size:20px}}
@media(max-width:1179px) and (min-width:1051px){.play-shell{grid-template-columns:minmax(0,1fr) 330px;height:calc(100svh - var(--shell-header-height,108px))}.play-details{margin-right:22px}.play-heading{left:5%;top:5%}.play-heading h1{font-size:27px}.play-heading>span{font-size:9px;letter-spacing:1px}.play-sector-label{display:none}.play-page .map-node{min-width:112px;padding-inline:8px}.play-page .map-node-label strong,.play-page .map-node.is-selected .map-node-label strong{font-size:18px;letter-spacing:1px}.play-map-bottom>p{display:none}}
@media(max-width:1050px){.play-shell{display:block;height:auto;min-height:calc(100svh - var(--shell-header-height,108px));overflow:hidden}.play-map-stage{height:570px;min-height:470px}.play-map-stage .map-terrain{inset:0 -3%}.play-heading{left:4%;top:5%}.play-heading h1{font-size:29px}.play-heading>p{font-size:7px;letter-spacing:2px}.play-heading>span{font-size:9px;letter-spacing:1px}.play-sector-label{top:5%;right:4%;font-size:6px;letter-spacing:1.5px}.play-page .map-node{min-width:120px;padding:8px 10px}.play-page .map-node-label strong,.play-page .map-node.is-selected .map-node-label strong{font-size:20px;letter-spacing:1px}.play-page .map-node-label small{font-size:7px}.play-page .map-node-marker{width:95px;height:78px}.play-page .map-node-marker svg{width:80px;height:62px}.play-page .map-location-dam{left:46%;top:27%}.play-map-bottom{left:4%;right:4%;bottom:4%;gap:15px}.play-map-bottom>p{font-size:8px;letter-spacing:.6px}.play-details{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-self:auto;margin:0 28px 26px;background:linear-gradient(145deg,#1e444ad9,#102f39f0)}.play-detail-topline{grid-column:1/-1;grid-row:1;min-height:35px;padding-inline:20px}.play-difficulty{grid-column:1/-1;grid-row:2}.play-difficulty>button{min-height:43px;font-size:14px}.play-detail-visual{grid-column:1;grid-row:3;height:auto;min-height:220px}.play-detail-visual>#play-map-code{font-size:7px;left:17px;letter-spacing:1.7px}.play-detail-copy{grid-column:2;grid-row:3;padding:0 20px 16px}.play-title-row{padding-top:16px}.play-title-row h2{font-size:25px}.play-map-description{font-size:10px;min-height:36px}.play-confirm-area{grid-column:1/-1;grid-row:4;padding:17px 20px 20px;border-top:1px solid #c2ddcf22}#play-selection-summary{font-size:10px}#play-confirm{min-height:50px;font-size:18px}.play-status{font-size:9px}.play-footer{min-height:53px;padding:10px 28px;gap:18px}.play-footer>small{font-size:5px;letter-spacing:1px}.play-footer>span{font-size:8px}}
@media(max-width:599px){.play-shell{min-height:calc(100svh - var(--shell-header-height,202px))}.play-map-stage{height:490px;min-height:440px}.play-heading{left:6%;top:5%}.play-heading>p{font-size:6px;letter-spacing:1.6px;gap:7px;margin-bottom:8px}.play-heading h1{font-size:25px;letter-spacing:3px;margin-bottom:7px}.play-heading>span{font-size:8px;letter-spacing:1px}.play-sector-label{display:none}.play-map-stage .map-terrain{inset:0 -38%;opacity:.97}.play-page .map-node{min-width:95px;padding:7px 5px;gap:2px}.play-page .map-node-label strong,.play-page .map-node.is-selected .map-node-label strong{font-size:15px;letter-spacing:1px;line-height:1.4}.play-page .map-node-label small{font-size:10px;letter-spacing:.8px;margin-top:3px}.play-page .map-node-marker{width:76px;height:64px;filter:drop-shadow(0 0 5px #83eec82b)}.play-page .map-node-marker svg{width:63px;height:50px}.play-page .map-node-marker:before{height:36px}.play-page .map-node-marker:after{height:27px;bottom:7px}.play-page .map-node.is-selected .map-node-marker{transform:scale(1.08)}.play-page .map-location-dam{left:50%;top:44%}.play-map-bottom{left:6%;right:6%;bottom:3.3%;gap:12px}.play-map-bottom>p{max-width:100px;font-size:6px;line-height:1.8;letter-spacing:.4px;text-align:right}.play-details{display:block;margin:0 19px 22px}.play-detail-topline{min-height:33px;padding:8px 17px;font-size:6px}.play-difficulty>button{min-height:42px;font-size:13px}.play-detail-visual{height:164px;min-height:0}.play-detail-visual>#play-map-code{font-size:6px;bottom:13px;left:17px;letter-spacing:2px}.play-schematic-icon{width:130px;height:112px}.play-schematic-icon svg{width:113px;height:86px}.play-detail-copy{padding:0 17px 16px}.play-title-row{padding:16px 0 11px}.play-title-row h2{font-size:25px;letter-spacing:2px}.play-title-row p{font-size:7px;letter-spacing:1px;margin-bottom:5px}#play-reset{width:27px;height:27px}.play-selected-facts{margin:7px 0 12px}.play-selected-facts>div{font-size:10px;padding:8px 0}.play-map-description{font-size:9px;line-height:1.85;min-height:34px}.play-confirm-area{padding:0 17px 17px;border-top:0}#play-selection-summary{font-size:9px;letter-spacing:.3px;margin-bottom:10px}#play-confirm{min-height:49px;font-size:17px;padding-inline:17px}.play-status{font-size:8px;line-height:1.8;margin-top:10px}.play-status:empty{margin:0}.play-footer{min-height:78px;flex-wrap:wrap;padding:12px 19px;gap:9px 15px}.play-footer>a{font-size:9px;gap:7px;min-height:31px;padding:3px 7px}.play-footer>span{font-size:7px;margin-left:auto}.play-footer>small{margin:0;width:100%;text-align:center;font-size:5px;letter-spacing:1px}}
@media(max-width:359px){.play-map-stage{height:485px}.play-heading h1{font-size:23px}.play-page .map-node{min-width:82px;padding-inline:3px}.play-page .map-node-label strong,.play-page .map-node.is-selected .map-node-label strong{font-size:13px}.play-page .map-node-label small{font-size:9px}.play-page .map-node-marker{width:65px;height:58px}.play-page .map-node-marker svg{width:57px;height:45px}.play-details{margin-inline:14px}.play-footer{padding-inline:14px}}
@media(min-width:600px) and (max-width:1050px){.play-page .map-location-dam{left:44%;top:30%}.play-page .map-location-grove{left:22%;top:48%}.play-page .map-location-brakkesh{left:33%;top:72%}.play-page .map-location-prison{left:73%;top:29%}.play-page .map-location-space{left:77%;top:60%}}
@media(max-width:599px){.play-map-stage{height:545px}.play-page .map-location-dam{left:44%;top:34%}.play-page .map-location-grove{left:18%;top:52%}.play-page .map-location-brakkesh{left:35%;top:77%}.play-page .map-location-prison{left:76%;top:33%}.play-page .map-location-space{left:77%;top:64%}.play-page .map-node.is-locked .map-node-label strong{font-size:13px}.play-page .map-node.is-locked .map-node-marker{width:68px;height:59px}.play-page .map-node.is-locked .map-node-marker>svg{width:59px;height:47px}}
@media(prefers-reduced-motion:reduce){.play-page *, .play-page *:before,.play-page *:after{transition:none!important;animation:none!important}}

/* Transparent landmark sprites sit above elliptical selection rings. */
.play-map-stage.is-texture-map .map-terrain>img{display:block;visibility:visible;opacity:.95}
.play-page .map-node-marker{--marker-size:114px;width:var(--marker-size);height:calc(var(--marker-size)*.8);filter:drop-shadow(0 0 8px #7ee4c62b)}
.play-page .map-node-marker>img{display:block;position:relative;z-index:1;width:100%;height:100%;object-fit:contain;border-radius:0;filter:drop-shadow(0 5px 4px #001b2280)}
.play-page .map-node.is-available[data-map-id="space-city"] .map-node-marker>img{filter:brightness(1.55) sepia(.85) saturate(1.9) hue-rotate(100deg) drop-shadow(0 0 6px #7ee4c666) drop-shadow(0 5px 4px #001b2280)}
.play-page .map-node-marker:before,.play-page .map-node-marker:after{left:50%;top:80%;right:auto;bottom:auto;width:125%;height:52%;transform:translate(-50%,-50%);border-radius:50%}
.play-page .map-node-marker:after{width:110%;height:43%;animation:none}
.play-page .map-node.is-selected .map-node-marker:after{animation:none}
.play-page .is-map-animating .map-node.is-selected .map-node-marker:after{animation:play-flat-ring .9s ease-out both}
.play-page .is-map-paused .map-node-marker:after{animation-play-state:paused}
.play-page .map-node.is-locked .map-node-marker{--marker-size:108px;filter:none}
.play-page .map-node.is-locked .map-node-marker>img{filter:saturate(.55) brightness(.95) drop-shadow(0 5px 4px #001b2280);opacity:.9}
@keyframes play-flat-ring{0%{transform:translate(-50%,-50%) scale(.72);opacity:.1}60%{transform:translate(-50%,-50%) scale(1.28);opacity:.9}100%{transform:translate(-50%,-50%) scale(1);opacity:.7}}
@media(min-width:1800px){.play-page .map-node-marker{--marker-size:140px}.play-page .map-node.is-locked .map-node-marker{--marker-size:130px}}
@media(max-width:1050px){.play-page .map-node-marker{--marker-size:110px}.play-page .map-node.is-locked .map-node-marker{--marker-size:100px}}
@media(max-width:599px){.play-page .map-node-marker{--marker-size:80px}.play-page .map-node.is-locked .map-node-marker{--marker-size:74px}}
@media(max-width:359px){.play-page .map-node-marker{--marker-size:72px}.play-page .map-node.is-locked .map-node-marker{--marker-size:68px}}
/* Difficulty adds a warm tint to the selected map preview. */
.play-page[data-difficulty=top-secret] .play-detail-visual>img{filter:sepia(.25) saturate(1.3)}
.play-page[data-difficulty=top-secret] .play-detail-visual:after{background:linear-gradient(transparent 48%,#12313bcc),linear-gradient(110deg,#ed675c99,#de5b4c3d 80%)}
@media(prefers-reduced-motion:reduce){.play-page .map-node-marker:after{animation:none!important}}

/* Phone controls stay readable without stretching the sand table past a screen. */
@media(max-width:759px){
  .play-map-stage{height:clamp(430px,56svh,490px);min-height:430px}
  .play-heading{max-width:88%}
  .play-heading>p{display:none}
  .play-heading>span{display:block;font-size:12px;line-height:1.7;letter-spacing:.3px}
  .play-page .map-node-label strong,.play-page .map-node.is-selected .map-node-label strong{font-size:15px}
  .play-page .map-node-label small{font-size:11px;letter-spacing:.3px}
  .play-page .map-node.is-locked .map-node-label strong{font-size:14px}
  .play-map-bottom>p{max-width:none;font-size:11px;letter-spacing:0}
  .play-difficulty>button{min-height:44px;font-size:14px}
  .play-title-row p,.play-selected-facts>div,.play-map-description,#play-selection-summary,.play-status{font-size:12px;line-height:1.7}
  #play-reset{width:44px;height:44px}
  #play-round-retry{min-height:44px;font-size:14px}
  #play-confirm{min-height:50px}
}
@media(max-width:599px){.play-detail-visual{height:132px}}
@media(max-width:1050px){.play-details{scroll-margin-top:calc(var(--shell-header-height,142px) + 12px)}}

/* The airbase landmark stays recognizable until its scenic briefing image loads. */
.play-detail-visual>img.is-landmark{object-fit:contain;background:radial-gradient(ellipse at 50% 65%,#24505a,#102b35);padding:10px 30px;filter:none}
.play-page[data-difficulty=top-secret]{--map-accent:#e9aa75}
.play-page[data-difficulty=top-secret] .play-difficulty{border-bottom-color:#ed737c}
.play-page[data-difficulty=top-secret] .play-difficulty>button[data-play-difficulty=top-secret].is-selected{color:#fff4f2;background:#ac303b}
