/* V7 only: direct board, a compact control strip and concealed paused play. */
.rp7-portal { background:#170b10;color-scheme:dark; }
.rp7-game { position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#19060c1f,#1e060c4d),url('game-art/retina-fundus-v1.png') center/cover no-repeat;color:#fff3df;font-family:var(--font,sans-serif); }
/* Blend the new constellation below the craft; keep the original retinal scene. */
.rp7-game::before { content:"";position:absolute;inset:0;pointer-events:none;background:url('game-art/retina-fundus-branded-v2.webp') center/cover no-repeat;transform:translateY(58px);-webkit-mask-image:radial-gradient(ellipse 110px 50px at 48% 85%,#000 80%,transparent 100%);mask-image:radial-gradient(ellipse 110px 50px at 48% 85%,#000 80%,transparent 100%); }
.rp7-top { position:absolute;z-index:4;top:calc(env(safe-area-inset-top,0px) + 6px);left:6px;right:6px;display:flex;align-items:center;gap:4px;height:44px;padding:0;margin:0;border:0;background:none;box-shadow:none;color:#e8f0ff; }
.rp7-title { flex:1;min-width:0;text-align:center;font-size:19px;line-height:19px;font-weight:900;letter-spacing:1.6px;color:#e7efff;text-shadow:0 1px 0 #fff5,0 2px 3px #020916,0 0 14px #54b7ff55;white-space:nowrap; }
.rp7-icon { flex:none;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;border:1px solid #abc9e64d;border-radius:12px;background:linear-gradient(145deg,#34506edb 0%,#182b45eb 45%,#081525e8 100%);box-shadow:inset 0 1px 0 #e6f2ff38,inset 0 -2px 0 #02081266,0 2px 5px #02081588;color:#e8f2ff;touch-action:manipulation; }
.rp7-icon:disabled { opacity:.4; }.rp7-icon svg { width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round; }.rp7-muted { color:#bd9184;background:#170a1066; }
.rp7-hud { position:absolute;z-index:2;top:calc(env(safe-area-inset-top,0px) + 57px);left:12px;right:12px;display:grid;grid-template-columns:1fr 1fr .9fr;align-items:center;gap:12px;text-align:center;text-shadow:0 2px 5px #16080b,0 0 14px #16080b;pointer-events:none; }
.rp7-hud small { display:block;color:#c2d9ed;font-size:9px;font-weight:700;letter-spacing:1.8px;line-height:14px; }.rp7-hud b { display:block;font-size:26px;font-weight:800;line-height:28px;font-variant-numeric:tabular-nums;letter-spacing:.3px; }.rp7-hud [data-rp7-wave] { font-size:10px;font-weight:800;letter-spacing:1.5px;color:#dfecff; }
.rp7-field { position:absolute;inset:calc(env(safe-area-inset-top,0px) + 103px) 0 env(safe-area-inset-bottom,0px);display:flex;align-items:center;justify-content:center;touch-action:none;overflow:hidden; }
.rp7-field canvas { flex:none;width:min(100%,calc((100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 103px) * .72));height:auto;max-height:100%;outline:none; }
.rp7-game:is([data-mode="paused"],[data-mode="finished"],[data-mode="save-error"],[data-mode="invalid"]) .rp7-field { visibility:hidden; }
.rp7-game[data-mode="paused"]::after { content:"PAUSED";position:absolute;inset:103px 0 0;display:grid;place-items:center;background:linear-gradient(180deg,#020c1c24,#020c1c66);color:#d9edff;font-size:15px;font-weight:800;letter-spacing:4px;text-shadow:0 2px 5px #020914,0 0 18px #75c8ff66;pointer-events:none; }
.rp7-overlay { position:absolute;inset:103px 0 0;z-index:3;display:flex;justify-content:center;align-items:center;padding:18px 25px calc(env(safe-area-inset-bottom,0px) + 20px);background:linear-gradient(180deg,#020c1c20,#020c1c66);overflow:auto; }
.rp7-overlay[hidden] { display:none; }.rp7-panel { width:100%;max-width:330px;text-align:center;padding:20px 16px;border:1px solid #bed8ed40;border-radius:20px;background:linear-gradient(135deg,#152940bc,#061321d9);box-shadow:inset 0 1px 0 #e4f4ff1a,0 10px 35px #02081466;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px); }.rp7-panel h2 { margin:0 0 18px;font-size:32px;line-height:1.1;color:#eaf5ff;font-weight:800; }.rp7-panel p { color:#c9dcea;font-size:14px;line-height:1.5;margin:12px 0; }
.rp7-panel button { display:block;width:100%;min-height:46px;padding:12px;margin-top:10px;border:1px solid #ffe5c740;border-radius:10px;background:#421a228c;color:#fff1df;font:inherit;font-weight:600;touch-action:manipulation; }.rp7-panel .rp7-primary { color:#432219;background:#ffe0a7;box-shadow:0 3px 0 #9b5939;border:0;font-weight:800; }.rp7-panel .rp7-secondary { background:transparent;border:0; }.rp7-eyebrow { display:block;color:#ffcb9b;letter-spacing:2px;font-size:11px;margin-bottom:18px; }
.rp7-status { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.rp7-overlay.rp7-entry-overlay { padding:0;background:none;overflow:hidden; }
@media (min-width:700px) and (hover:hover) and (pointer:fine) { .rp7-portal .rp7-field canvas { width:min(100%,calc((100cqh - 103px) * .72)); } }
@media (max-height:500px) { .rp7-hud b { font-size:17px; }.rp7-panel h2 { font-size:25px;margin-bottom:10px; }.rp7-panel p { font-size:12px; }.rp7-overlay { align-items:flex-start; }.rp7-panel button { min-height:44px; } }

/* Approved v7 silver/violet cabinet; the 360x500 simulation stays unchanged. */
.rp7-game{--rp7-header:13.698cqw;--rp7-footer:12.179cqw;container-type:size;background:#071226;color:#fff3df}
.rp7-game:before{display:none}
.rp7-top{inset:env(safe-area-inset-top,0px) 0 auto;height:var(--rp7-header);display:block;background:url('game-art/retina-patrol-frame-v1-header.webp') center/100% 100% no-repeat;z-index:4}
.rp7-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.rp7-icon{position:absolute;width:44px;height:44px;min-height:44px;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
.rp7-icon svg{display:none}
.rp7-top [data-rp7=back]{left:max(4px,calc(7.503cqw - 22px));top:calc(5.920cqw - 22px)}
.rp7-top [data-rp7=play]{right:48px;top:calc(5.979cqw - 22px)}
.rp7-top [data-rp7=info]{right:4px;top:calc(5.979cqw - 22px)}
.rp7-top:has([data-rp7=play][aria-pressed=false]):after{content:'';position:absolute;left:80.539%;top:1.524cqw;width:8.558cqw;height:8.910cqw;background:url('game-art/retina-patrol-frame-v1-play.webp') center/100% 100% no-repeat;pointer-events:none}
.rp7-hud{inset:env(safe-area-inset-top,0px) 0 auto;height:var(--rp7-header);display:block;z-index:4;pointer-events:none;text-shadow:0 1px 2px #08142a}
.rp7-hud small{display:none}
.rp7-hud b{position:absolute;top:7.972cqw;left:32.708%;width:10.668%;height:3.869cqw;display:grid;place-items:center;font:800 clamp(9px,2.75cqw,12px)/1 system-ui;letter-spacing:-.3px}
.rp7-hud [data-rp7-best]{left:58.265%;width:10.434%;color:#e3d8ff}
.rp7-hud [data-rp7-wave]{position:absolute;left:72.919%;top:3.751cqw;width:6.331%;height:4.455cqw;display:grid;place-items:center;overflow:hidden;font:800 clamp(6px,1.65cqw,8px)/1 system-ui;letter-spacing:0}
.rp7-field{inset:calc(env(safe-area-inset-top,0px) + var(--rp7-header)) 0 calc(env(safe-area-inset-bottom,0px) + var(--rp7-footer));padding:0 1.641%;background:url('game-art/retina-patrol-frame-v1-field.webp') center/cover no-repeat;box-sizing:border-box}
.rp7-field:before,.rp7-field:after{content:'';position:absolute;inset:0 auto 0 0;width:1.641cqw;background:url('game-art/retina-patrol-frame-v1-left-rail.webp') center/100% 100% no-repeat;pointer-events:none;z-index:1}
.rp7-field:after{left:auto;right:0;background-image:url('game-art/retina-patrol-frame-v1-right-rail.webp')}
.rp7-field canvas{width:min(100%,calc((100cqh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--rp7-header) - var(--rp7-footer)) * .72));height:auto;max-height:100%}
.rp7-footer{position:absolute;inset:auto 0 env(safe-area-inset-bottom,0px);height:var(--rp7-footer);z-index:4;background:url('game-art/retina-patrol-frame-v1-footer.webp') center/100% 100% no-repeat}
.rp7-footer [data-rp7=sound]{left:calc(7.796cqw - 22px);top:calc(5.803cqw - 22px)}
.rp7-footer [data-rp7=sound][aria-pressed=false]:after{content:'';position:absolute;left:10px;top:21px;width:24px;height:2px;background:#ebdaf9;box-shadow:0 1px 2px #071621;transform:rotate(-45deg);pointer-events:none}
.rp7-reserves{position:absolute;left:75.615%;top:2.931cqw;width:20.164%;height:6.682cqw;pointer-events:none}
.rp7-game[data-mode=paused]:after,.rp7-overlay{inset:calc(env(safe-area-inset-top,0px) + var(--rp7-header)) 0 calc(env(safe-area-inset-bottom,0px) + var(--rp7-footer))}
.rp7-overlay{padding:18px 25px;z-index:3}
@media(min-width:700px) and (hover:hover) and (pointer:fine){.rp7-portal .rp7-field canvas{width:min(100%,calc((100cqh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--rp7-header) - var(--rp7-footer)) * .72))}}
.rp7-top [data-rp7=play]{background:url('game-art/retina-patrol-frame-v1-pause.webp') center/100% 100% no-repeat}
.rp7-top [data-rp7=play][aria-pressed=false]{background-image:url('game-art/retina-patrol-frame-v1-play.webp')}
.rp7-top [data-rp7=info]{background:url('game-art/retina-patrol-frame-v1-info.webp') center/100% 100% no-repeat}
.rp7-top:has([data-rp7=play][aria-pressed=false]):after{display:none}
/* Conceal simulation objects while the continuous cabinet artwork remains. */
.rp7-game:is([data-mode="paused"],[data-mode="finished"],[data-mode="save-error"],[data-mode="invalid"]) .rp7-field{visibility:visible}
.rp7-game:is([data-mode="paused"],[data-mode="finished"],[data-mode="save-error"],[data-mode="invalid"]) .rp7-field canvas{visibility:hidden}
.rp7-top [data-rp7=back]{background:url('game-art/retina-patrol-frame-v1-back.webp') center/100% 100% no-repeat}
.rp7-footer [data-rp7=sound]{background:url('game-art/retina-patrol-frame-v1-sound.webp') center/100% 100% no-repeat}
.rp7-field{background:url('game-art/retina-patrol-frame-v1-field.webp') center/cover no-repeat,url('game-art/retina-patrol-frame-v1-quiet.webp') center/280px 280px repeat}
/* Smallest phones still receive whole44px controls within the viewport. */
.rp7-game{--rp7-footer:max(44px,12.179cqw)}
.rp7-top [data-rp7=back]{top:max(0px,calc(5.920cqw - 22px))}
.rp7-top [data-rp7=play],.rp7-top [data-rp7=info]{top:max(0px,calc(5.979cqw - 22px))}
.rp7-footer [data-rp7=sound]{top:max(0px,calc(5.803cqw - 22px))}
/* Use the whole existing silver/violet well interior for readable live values. */
.rp7-hud>div{position:absolute;left:21.102%;top:7.034cqw;width:23.798%;height:5.861cqw;min-height:21px;background:url('game-art/retina-patrol-frame-v1-header.webp') 36.614% 80.952%/937.363% 354.545% no-repeat}
.rp7-hud>div:nth-child(2){left:47.6%;width:22.4%}
.rp7-hud small{display:block;position:absolute;left:0;top:0;width:100%;height:6px;font:800 6px/1 system-ui;letter-spacing:.6px;color:#dcecff}
.rp7-hud b,.rp7-hud [data-rp7-best]{left:0;top:auto;bottom:0;width:100%;height:calc(100% - 6px);display:grid;place-items:center;font:900 clamp(14px,4.1cqw,16px)/1 system-ui;letter-spacing:-.3px}
.rp7-reserves{height:max(28px,6.682cqw);top:calc((var(--rp7-footer) - max(28px,6.682cqw))/2);left:70%;width:26%}
/* Four full-size reserves per row; later extras use a second row in the same footer. */
.rp7-reserves{left:auto;right:4%;top:calc((var(--rp7-footer) - 44px)/2);width:90px;height:44px}
/* Current patrol pause uses the matching transparent chrome/violet lettering. */
.rp7-game[data-mode=paused]:after{content:'';background:url('game-art/retina-patrol-paused-v1.webp') center/min(70cqw,270px) auto no-repeat,linear-gradient(180deg,#020c1c24,#020c1c66);text-shadow:none}
