/* Shared application shell. Game artwork and scoring are not presentation state. */
.ui-symbols{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ui-icon{display:block;width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.icon-button .ui-icon{width:1.2rem;height:1.2rem;margin:auto}
.app-nav button>span{display:grid;place-items:center;min-height:1.2rem}
.app-nav .ui-icon{width:1.2rem;height:1.2rem}
.app-nav button{gap:.25rem}.app-nav button strong{font-size:.6875rem;letter-spacing:.04em}
.mode-icon .ui-icon{width:1.6rem;height:1.6rem}.mode-arrow .ui-icon{width:1rem;height:1rem}
.action-button>span{display:grid;place-items:center}.action-button .ui-icon{width:1.35rem;height:1.35rem}
/* Do not repaint dozens of offscreen lazy portraits while the network catches up. */
.image-host-loading{animation:none;background-size:100% 100%}
.screen:not(.active) *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.card-image-status span,.swipe-deck-status span{animation:none}.progress-track span{transition:none}}
.privacy-notice>div{border-radius:1rem;border:1px solid #41334f;background:#15111e;padding:1.25rem}
.privacy-notice h2{font-size:1.3rem;line-height:1.25;letter-spacing:-.025em}
.privacy-notice p:not(.eyebrow){color:#c4bacf;font-size:.875rem;line-height:1.6}
.privacy-notice .primary-button{margin-top:.5rem}
.toast{max-width:calc(100% - 2rem);font-size:.8125rem;line-height:1.45;background:#251c32;border:1px solid #69517f;box-shadow:0 .5rem 1.5rem #0004}
.screen-type-setup{padding-top:1.25rem}
.screen-type-setup .result-heading{margin-bottom:1.25rem}
.screen-type-setup .result-heading h2{font-size:clamp(1.65rem,7.2vw,2.2rem);line-height:1.15;letter-spacing:-.03em}
.screen-type-setup .result-heading>p:not(.eyebrow){font-size:.875rem;line-height:1.55;color:#beb2cb}
.analysis-options{grid-template-columns:1fr;gap:.75rem}
.analysis-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem 1rem;min-height:7rem;padding:1rem;border-radius:1rem;background:#1a1422;border:1px solid #48364e;box-shadow:none;text-align:left}
.analysis-card>span{font-size:1rem;letter-spacing:0;font-weight:750;color:#f3e4f6}
.analysis-card>strong{font-size:1.5rem;line-height:1.2;color:#f2a2ce;font-variant-numeric:tabular-nums}
.analysis-card>small{grid-column:1/-1;font-size:.8125rem;line-height:1.45;color:#bfb2cb}
.strongest-scope-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.strongest-scope-options .analysis-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.4rem;min-height:8.2rem;padding:.85rem;border-color:#52373b}
.strongest-scope-options .analysis-card>span{font-size:.6875rem;color:#c7a697}
.strongest-scope-options .analysis-card>strong{font-size:1.05rem;color:#ffb296;overflow-wrap:anywhere}
.strongest-scope-options .analysis-card>small{font-size:.75rem}
.global-ranking-retry{margin:0 0 1rem;min-height:2.75rem}
@media(hover:hover){.analysis-card:hover{border-color:#b486b9;background:#261b30}}
@media(prefers-reduced-motion:no-preference){.analysis-card{transition:border-color .16s ease,background-color .16s ease}}
