/* Infrequent radio interference returns only on the visible, motion-enabled logo. */
#menu .game-title::before,#menu .game-title::after {display:block;color:inherit;background:none;-webkit-text-fill-color:currentColor;pointer-events:none;animation-play-state:paused;}
#menu .game-title::before {animation:glitchA 6.8s steps(1) infinite paused;}
#menu .game-title::after {animation:glitchB 6.8s steps(1) infinite paused;}
#menu.signal-live .game-title::before,#menu.signal-live .game-title::after {animation-play-state:running;}
#menu:not(.signal-live) .game-title::before,#menu:not(.signal-live) .game-title::after {visibility:hidden;}
@media(prefers-reduced-motion:reduce) {#menu .game-title::before,#menu .game-title::after {display:none;animation:none!important;}}

/* The complete reward group centers when it fits; auto margins never clip an oversized group. */
#altar {display:flex;justify-content:flex-start;align-items:stretch;padding:32px max(20px,env(safe-area-inset-right)) 32px max(20px,env(safe-area-inset-left));gap:0;background:rgba(3,7,13,.93);}
.altar-panel {display:flex;flex-direction:column;align-items:center;gap:24px;width:min(1120px,100%);margin:auto;flex:none;}
#altar .lu-head {width:100%;margin:0;}
#altar .lu-kicker {font-size:12px;letter-spacing:.17em;line-height:1.5;}
#altar-title {font-size:clamp(24px,3.5vw,34px);line-height:1.15;letter-spacing:.08em;margin:8px 0 0;}
#altar-cards {grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:16px;}
#altar .altar-option {display:flex;align-items:stretch;gap:0;padding:0;min-height:0;border-color:color-mix(in srgb,var(--offering-color),transparent 50%);font:inherit;color:var(--text);text-align:left;overflow:hidden;animation:none;box-shadow:none;}
.choice-art {display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;flex:none;pointer-events:none;background:#0a1521;}
.choice-art[hidden] {display:none;}
.offering-copy {display:flex;flex-direction:column;gap:10px;padding:18px 16px 20px;flex:1;}
#altar .rarity {align-self:flex-start;border:0;padding:0;color:var(--offering-color);font-size:12px;letter-spacing:.1em;line-height:1.4;}
#altar .c-name {font-size:17px;line-height:1.3;margin:0;letter-spacing:.03em;}
#altar .c-desc {font-size:14px;line-height:1.55;opacity:1;color:#b9cad5;display:block;}
#altar .keyhint {top:9px;right:9px;background:#06111eeb;border-radius:0;}
#altar .altar-option:hover {transform:translateY(-3px);border-color:var(--offering-color);background:#122431;}
#altar .altar-option:focus-visible {outline:2px solid var(--offering-color);outline-offset:4px;transform:none;}
#altar .lu-hint {font-size:12px;line-height:1.5;letter-spacing:.08em;margin:0;color:#a9c0ce;animation:none;}
#altar .lu-head {animation:none;}
#altar button,#contract button {scroll-margin-block:20px;}
#contract {padding:32px max(20px,env(safe-area-inset-right)) 32px max(20px,env(safe-area-inset-left));background:rgba(3,7,13,.93);}
.contract-panel {width:min(850px,100%);}
.contract-option {padding:0 22px 22px;gap:12px;min-height:0;overflow:hidden;}
.contract-option .choice-art {width:calc(100% + 44px);max-width:none;margin:0 -22px 3px;}
.contract-key {position:absolute;top:12px;right:12px;background:#06111eeb;border:1px solid #7fa3b955;padding:3px 7px;}
.contract-name {font-size:20px;line-height:1.2;}
.contract-risk {font-size:15px;line-height:1.5;}
.contract-reward {padding-top:6px;}
@media(max-width:1050px) {#altar-cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px;}.altar-panel{max-width:720px;}#altar .choice-art{max-height:170px;}}
@media(max-width:600px) {
 #altar,#contract{padding:24px 16px;}
 .altar-panel{gap:20px;}
 #altar-cards{grid-template-columns:1fr;gap:12px;}
 #altar .altar-option{display:grid;grid-template-columns:36% minmax(0,1fr);}
 #altar .choice-art{height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;}
 .offering-copy{padding:16px 13px;gap:8px;}
 #altar .c-name{font-size:16px;}
 #altar .keyhint{left:8px;right:auto;}
 #altar .rarity{font-size:11px;letter-spacing:.06em;}
 .contract-option{display:grid;grid-template-columns:34% minmax(0,1fr);gap:10px 14px;padding:16px;}
 .contract-option .choice-art{grid-column:1;grid-row:1 / 5;width:calc(100% + 16px);height:calc(100% + 32px);margin:-16px 0 -16px -16px;aspect-ratio:auto;object-fit:cover;}
 .contract-name,.contract-risk,.contract-reward{grid-column:2;}
 .contract-name{font-size:18px;}
 .contract-risk,.contract-reward{font-size:14px;line-height:1.5;}
 .contract-key{left:7px;right:auto;top:7px;}
}
@media(max-height:520px) {
 #altar,#contract{padding-top:20px;padding-bottom:20px;}
 .altar-panel{gap:16px;}
 #altar-title{font-size:24px;}
 #altar-cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;}
 #altar .altar-option{display:grid;grid-template-columns:32% minmax(0,1fr);padding:0;}
 #altar .choice-art{height:100%;max-height:none;aspect-ratio:auto;}
 .offering-copy{padding:14px;gap:7px;}
 #altar .c-name{font-size:16px;}
 .contract-option .choice-art{max-height:145px;}
 #contract-description{margin:10px 0 16px;}
}
@media(prefers-reduced-motion:reduce){#altar .altar-option:hover{transform:none;}}

/* Tactical decisions appear immediately; no low-opacity controls during paused flight. */
#altar,#contract {animation:none;}
