/* Review access shares the game's mint palette and scrolls only inside its dialog. */
#reviewModal { z-index:43; padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)); }
#reviewModal .review-modal { width:min(100%,460px); max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom))); box-sizing:border-box; overflow:auto; overscroll-behavior:contain; padding:24px clamp(18px,5vw,28px); border:1px solid #bfdac8; border-radius:26px; background:radial-gradient(ellipse at 50% 0,#fff8dc,transparent 45%),linear-gradient(145deg,#fffef7,#ecf6e9); color:#315f50; box-shadow:0 22px 65px #214f4938; }
#reviewModal .modal-close { position:sticky; display:block; top:0; right:auto; margin:0 -7px -38px auto; width:38px; height:38px; border:1px solid #c8ddc4; border-radius:50%; color:#52765e; background:#f5faec; z-index:1; }
#reviewModal .eyebrow { margin:4px 32px 8px; }
#reviewTitle { margin:7px 24px 14px; font-size:clamp(22px,6vw,28px); line-height:1.2; overflow-wrap:anywhere; }
#reviewDescription { margin:0 0 17px; color:#63816b; font-size:13px; line-height:1.55; }
#reviewForm { display:grid; gap:10px; text-align:left; }
#reviewForm label { font-size:12px; font-weight:700; color:#54765b; }
#reviewCode { box-sizing:border-box; width:100%; min-width:0; height:48px; padding:11px 13px; border:1px solid #b8d4bd; border-radius:12px; background:#fffef9; color:#315f50; font:inherit; font-size:16px; letter-spacing:.08em; }
#reviewCode:focus-visible { outline:2px solid #4a9780; outline-offset:2px; }
#reviewActivate { width:100%; margin-top:3px; min-height:45px; }
#reviewPrepare { display:block; margin:14px auto 0; padding:9px; min-height:42px; font-size:13px; color:#417b63; }
#reviewActive { padding:11px 13px; margin:0 0 16px; border-radius:12px; background:#dcefdc; color:#366749; font-size:13px; line-height:1.45; }
#reviewStatus { margin:14px 0 0; color:#547b61; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
#reviewStatus:empty { display:none; }
#reviewStatus.is-error { color:#a05f4e; }
#reviewModal [hidden] { display:none!important; }
#reviewModal button:disabled,#reviewCode:disabled { opacity:.55; cursor:default; }
@media (max-height:600px) { #reviewModal .review-modal { padding-top:15px; padding-bottom:15px; } #reviewTitle { margin-bottom:10px; } #reviewDescription { margin-bottom:12px; } }
@media (prefers-reduced-motion:reduce) { #reviewModal * { transition:none!important; } }
