/* Desktop-specific presentation: the actual simulation is 1600 by 900. */
.toolbar{height:54px;min-height:54px;padding:8px 24px}
main{padding:10px 20px}
.welcome{width:min(1240px,100%);grid-template-columns:minmax(220px,.7fr) 1.3fr}
.scene-window img{object-fit:cover;object-position:center}
.scene-window{display:flex;align-items:center;background:#030b13}
.scene-window canvas{width:100%;height:100%;object-fit:contain;cursor:default;pointer-events:none}
.scene-window div{font-size:14px;padding:12px 16px;pointer-events:none}
.play-layout{width:100%;height:100%;flex-direction:column;align-items:center;gap:10px}
.arena{flex:none;aspect-ratio:16/9;max-width:100%;max-height:none;align-self:center;border-radius:10px}
canvas{cursor:crosshair}
.controls{width:100%;min-width:0;min-height:70px;flex:none;flex-direction:row;align-items:center;justify-content:space-between;gap:14px}
.controls>div:first-child{min-width:125px;max-width:26%}
.controls h2{font-size:18px;line-height:1.15;margin:3px 0}
.eyebrow{font-size:10px}
#run-state{font-size:11px;margin:3px 0}
.control-stack{flex-direction:row;align-items:center;flex-wrap:wrap;gap:7px;justify-content:center}
.control-stack button{min-width:90px;padding:10px 16px;font-size:13px}
.control-guide{border:0;padding:0;font-size:11px;max-width:245px;flex-shrink:1}
.control-guide p{margin:3px 0}.reactor-dot{display:none}.status:empty{display:none}
.hud{top:1.4%;left:30%;right:30%;text-shadow:0 2px 6px #000}
.hud small{font-size:11px}.hud strong{font-size:19px;margin-top:2px}
.hint{bottom:2%;left:2%;right:auto;max-width:31%;text-align:start;font-size:12px;padding:8px 10px}
.transmission{--message-size:12px;top:auto;bottom:3%;left:auto;right:2%;width:28%;font-size:var(--message-size);padding:8px 12px}
.transmission.carrier-transmission{font-size:calc(var(--message-size) * 1.15)}
footer{font-size:10px;min-height:24px;flex:0 0 24px}
footer .privacy-settings{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;min-height:20px;box-shadow:none}
#level-preview{height:min(21dvh,190px);width:100%;object-fit:contain;background:#030b13;cursor:default;pointer-events:none}
#level-grid{gap:8px;margin:10px 0}#level-grid button{min-height:46px}
#select-full{display:block;width:100%;margin-top:8px;overflow-wrap:anywhere}
#full-play{max-width:290px;overflow-wrap:anywhere}
.play-layout{position:relative}
#ad-rail{display:block;position:absolute;width:160px;height:620px;direction:ltr;text-align:center}
#ad-label{display:block;height:20px;font-size:10px;line-height:20px;color:#8faebe}
#side-ad[data-ad-status="unfilled"]{display:none!important}
@media(max-width:1000px){.control-guide{max-width:180px;font-size:10px}.control-stack button{min-width:70px;padding:10px}.controls h2{font-size:16px}.transmission{--message-size:10px}.hint{font-size:10px}.hud strong{font-size:16px}.hud small{font-size:9px}}
@media(max-height:650px){.toolbar{height:46px;min-height:46px}main{padding:7px 16px}.controls{min-height:62px}.welcome-right{gap:8px}.welcome-copy p{font-size:12px}.start{min-height:45px;font-size:21px}}
@media(max-width:700px){.toolbar{padding:7px 10px}main{padding:8px}.controls{flex-wrap:wrap;justify-content:center;gap:7px}.controls>div:first-child{max-width:none;text-align:center}.control-guide{display:none}.control-stack{gap:5px}.arena{max-width:100%;max-height:none}.hud small{font-size:8px}.hud strong{font-size:12px}.transmission{--message-size:8px;padding:5px;top:13%;bottom:auto}.hint{font-size:8px;padding:4px}.welcome{grid-template-columns:.7fr 1.3fr}}

/* Wide desktop Store: every product and both exits fit together without scrolling. */
#store-dialog{width:min(1180px,96vw);padding:0;overflow:hidden;max-height:calc(100dvh - 24px);background:radial-gradient(ellipse at 50% 0,#123342 0,transparent 60%),#06151f}
#store-dialog[open]{display:flex;flex-direction:column}
.store-header{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:14px 20px;border-bottom:1px solid #244450;background:#071923}
.store-header img{object-fit:contain;flex:none}
.store-header h2{flex:1;margin:0;font-size:clamp(22px,3vw,30px);letter-spacing:.04em;overflow-wrap:anywhere;color:#9ceff3;text-shadow:0 0 22px #1edaf32b}
#store-dismiss{min-width:44px;min-height:44px;padding:0;font-size:30px;line-height:1;background:#102834;border-color:#365865;color:#b8e9f2}
.store-content{min-height:0;padding:12px 20px 16px}
.store-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
#store-note,#store-balance{margin:0;font-size:12px;line-height:1.4;color:#a9c5d3}
#store-balance{color:#70e7ed;text-align:end;max-width:50%}
#store-balance:empty,#store-status:empty{display:none}
#store-products{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.store-product{display:flex;flex-direction:column;position:relative;gap:12px;min-width:0;min-height:190px;padding:16px 12px;border:1px solid #556350;border-radius:12px;background:linear-gradient(135deg,#28261c,#15242a);box-shadow:inset 0 1px #e7cc8d17,0 4px 14px #0003}
.store-product-heading{display:flex;align-items:center;gap:10px;min-height:48px}
.store-product strong{font-size:16px;line-height:1.3;color:#f0d9a0;overflow-wrap:anywhere}
.store-product-icon{display:block;position:relative;flex:0 0 42px;height:42px;border-radius:50%;border:1px solid #a58a45;background:radial-gradient(circle,#fff2a8 0 9%,#e8b954 14%,#83551d 25%,#1a211c 44%,#655533 48%,#111c20 54%);box-shadow:0 0 17px #e7b85426,inset 0 0 12px #b98a3233}
.store-product-icon::after{content:'';position:absolute;inset:5px;border:1px solid #d5b66080;border-radius:50%}
.store-dome{border-color:#2b737e;background:linear-gradient(135deg,#123e47,#102733)}
.store-dome strong{color:#a4f0f5}
.store-duration{font-size:13px;font-weight:700;color:#a4f0f5;line-height:1.2}
.store-dome .store-product-icon{border:0;border-radius:0;background:radial-gradient(ellipse at 50% 76%,#baffff 0 4%,#42d4df 7%,transparent 18%);box-shadow:none}
.store-dome .store-product-icon::before{content:'';position:absolute;left:2px;right:2px;bottom:7px;height:27px;border:2px solid #65dfeb;border-bottom:3px solid #a3faff;border-radius:25px 25px 5px 5px;background:linear-gradient(#39d4e72b,#39d4e708);box-shadow:0 0 12px #25dded44}
.store-dome .store-product-icon::after{inset:13px 8px 9px;border:1px solid #7ce9ef88;border-bottom:0;border-radius:20px 20px 0 0}
.store-value{align-self:flex-start;font-size:10px;line-height:1.3;letter-spacing:.04em;color:#f5d675;border:1px solid #b4944459;background:#e9b84b12;padding:3px 6px;border-radius:4px}
.store-product .store-buy{margin-top:auto;width:100%;padding:11px 5px;background:linear-gradient(#ffe89b,#f5ba27);border-color:#ffe49a;color:#211a06;box-shadow:inset 0 1px #fff4c5,0 3px 12px #e7b32a25;font-size:14px;min-height:44px;font-weight:800}
.store-dome .store-buy{background:linear-gradient(#69f0fa,#17c4dc);border-color:#9af7ff;color:#06252e;box-shadow:inset 0 1px #c2fdff,0 3px 12px #20c8e329}
.store-buy:not(:disabled):hover{filter:brightness(1.12);transform:translateY(-1px)}
.store-buy:focus-visible{outline:3px solid white;outline-offset:3px}
.store-popular{border-color:#e6c466;box-shadow:inset 0 0 16px #f5c94e10,0 0 0 1px #dcb74b55,0 0 18px #e8c25122}
.store-dome .store-value{color:#a4f0f5;border-color:#51cbd05c;background:#1edbe312}
.store-benefit{font-size:12px;line-height:1.4;color:#d1dde1;margin:0}
.store-category-headings{display:grid;grid-template-columns:3fr 2fr;gap:12px;margin:0 0 8px;font-weight:800;font-size:14px;letter-spacing:.03em;color:#f0d9a0}
#store-dome-heading{color:#a4f0f5;padding-inline-start:7px}
#store-checkout-provider{font-size:12px;font-weight:700;color:#c7e1e8;margin:0 0 4px}
#store-status{font-size:12px;line-height:1.4;color:#a9c5d3;margin:10px 0}
.store-recovery{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:20px;border-top:1px solid #244450;padding-top:12px;margin-top:12px}
#store-recovery-note{font-size:12px;line-height:1.4;color:#a9c5d3;margin:0 0 7px}
#store-details{display:block;font-size:12px}
.store-recovery-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}
#store-protect,#store-restore{flex:1;min-height:40px;padding:9px 10px;font-size:12px;margin:0}
#store-google{flex-basis:100%}
.store-footer{display:block;flex:0 0 auto;padding:12px 20px;background:#071923;border-top:1px solid #244450}
#store-close{width:auto;min-width:120px;max-width:100%;min-height:44px;padding:11px 24px;background:#0c222d;border:1px solid #34515e;color:#b8d0dc;box-shadow:none}
.store-footer{text-align:end}
@media(max-width:1000px){.store-content{padding:10px 12px 12px}#store-products{gap:8px}.store-product{padding:12px 8px;gap:8px;min-height:166px}.store-product-heading{gap:6px}.store-product-icon{flex-basis:32px;height:32px}.store-product strong{font-size:13px}.store-product .store-buy{font-size:12px}.store-duration{font-size:12px}.store-dome .store-product-icon::before{height:22px;bottom:4px}.store-dome .store-product-icon::after{inset:9px 6px 6px}.store-recovery{gap:12px}}
@media(max-height:550px) and (min-width:701px){.store-header{padding:8px 14px}.store-header img{height:36px;width:36px}.store-content{padding:8px 12px}.store-summary{margin-bottom:8px}.store-product{min-height:148px;padding-block:10px;gap:6px}.store-product-heading{min-height:36px}.store-product .store-buy{min-height:36px;padding:8px 4px}.store-value{font-size:9px;padding:2px 4px}.store-recovery{padding-top:8px}#store-recovery-note,#store-details,#store-note,#store-balance,#store-status{font-size:11px}#store-status{margin:6px 0}.store-footer{padding:8px 14px}#store-close{min-height:38px;padding:8px}}
@media(max-width:700px){#store-dialog{width:96vw}.store-header{padding:8px 12px}.store-header img{height:36px;width:36px}.store-content{padding:8px 12px}.store-summary{gap:6px;margin-bottom:8px}#store-note,#store-balance{font-size:10px}#store-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.store-product{min-height:132px;padding:8px 6px;gap:6px}.store-product-heading{flex-direction:column;align-items:flex-start;gap:4px;min-height:0}.store-product-icon{flex:none;width:28px;height:28px}.store-product strong{font-size:12px}.store-duration{font-size:10px}.store-product .store-buy{font-size:11px;min-height:34px;padding:7px 3px}.store-value{font-size:8px;padding:2px 3px}.store-recovery{gap:10px;padding-top:8px;grid-template-columns:1.2fr 1fr}#store-recovery-note,#store-details{font-size:10px}#store-protect,#store-restore{font-size:10px;padding:7px}#store-status{font-size:10px;margin:6px 0}.store-footer{padding:8px 12px}#store-close{min-height:38px;padding:8px}}
/* Accessibility fallback only for unusually short/narrow or heavily zoomed windows. */
@media(max-width:1000px){.store-category-headings{font-size:12px;gap:8px}.store-benefit{font-size:11px}.store-product{gap:8px}.store-recovery{margin-top:10px}}
@media(max-height:550px) and (min-width:701px){.store-category-headings{font-size:11px;margin-bottom:4px}.store-benefit{font-size:10px;line-height:1.3}.store-product{gap:4px;min-height:148px;padding-block:8px}.store-recovery{margin-top:6px;padding-top:6px}.store-product-heading{min-height:32px}#store-checkout-provider{font-size:11px}.store-header{padding-block:6px}.store-header h2{font-size:22px}#store-dismiss{min-height:36px;min-width:36px;font-size:26px}.store-footer{padding-block:4px}#store-close{min-height:32px;padding-block:6px}.store-summary{margin-bottom:5px}#store-status{margin-block:4px}}
@media(max-width:700px){.store-header,.store-footer{padding-block:6px}.store-category-headings{display:none}.store-benefit{font-size:10px;line-height:1.3}.store-product{min-height:148px;gap:4px}.store-product-heading{flex-direction:row;align-items:center;min-height:30px}.store-product-icon{width:24px;height:24px;flex:0 0 24px}.store-recovery{margin-top:8px}#store-checkout-provider{font-size:10px}}
@media(max-height:380px),(max-width:700px) and (max-height:580px){.store-content{overflow-y:auto;overscroll-behavior:contain}}
