/* Shared compact controls and contextual action surfaces. */
.screen-heading,.profile-compact-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.screen-heading h1,.profile-compact-heading h1{font-size:2rem;line-height:1.1;letter-spacing:-.045em;font-weight:720}
.screen-heading>div,.profile-compact-heading>div{min-width:0}
.screen-tools{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0}
.screen-tools>.compact-search{flex:1;min-width:min(13rem,100%)}
.compact-search{display:block;min-width:0;--wa-form-control-height-medium:44px}
.compact-search::part(form-control-label){position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.compact-search::part(input-wrapper){border-radius:12px;background:#e9edf4;border:1px solid transparent;box-shadow:none;min-height:44px}
.compact-search::part(input){font-size:.875rem}
.compact-search .icon{width:18px;height:18px}
.compact-select{min-width:8rem;max-width:100%;--wa-form-control-height-medium:44px}
.compact-select::part(form-control-label){font-size:.75rem;color:var(--muted);line-height:1.4;margin-bottom:5px}
.compact-select::part(combobox){border-radius:12px;border-color:var(--line);background:white;min-height:44px;font-size:.875rem;box-shadow:none}
.compact-select::part(display-input){font-size:.875rem}
.compact-select .icon{width:16px;height:16px}
.compact-scopes{width:max-content;max-width:100%;margin-bottom:16px;overflow-x:auto;scrollbar-width:none}
.compact-scopes>button{min-height:44px;padding:9px 14px;white-space:nowrap;font-size:.8125rem}
.compact-scopes:focus-within{overflow:visible}
.screen-tools .compact-scopes{margin-bottom:0}
.quiet{color:var(--muted);font-size:.8125rem;line-height:1.4}
.queue-empty{padding:32px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;background:white;border:1px solid var(--line);border-radius:18px}
.queue-empty h2{font-size:1.25rem;line-height:1.3}
.queue-empty>.icon{width:30px;height:30px;color:var(--accent)}
.queue-empty>div{display:flex;gap:12px;flex-wrap:wrap}
.action-sheet{display:grid;gap:0}
.action-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;min-height:58px;padding:14px 0;border:0;border-bottom:1px solid var(--line);color:var(--text);background:none;font-size:1rem}
.action-row>.icon:first-child{color:var(--accent);width:22px;height:22px}
.action-row>span{flex:1}
.action-row>.icon:last-child{width:16px;height:16px;color:var(--muted)}
.action-row:last-child{border-bottom:0}
.action-row.danger,.action-row.danger>.icon:first-child{color:#a72c39}
.confirmation-actions{display:flex;gap:12px;margin-top:24px}
.confirmation-actions>*{flex:1}
wa-button::part(base){white-space:normal;min-width:0}
wa-button::part(label){white-space:normal;overflow-wrap:anywhere;min-width:0}
.toast{display:flex;align-items:center;gap:18px;max-width:calc(100vw - 32px);white-space:normal;translate:-50% 0}
.toast.show{pointer-events:auto;visibility:visible}
.toast:not(.show){opacity:0!important;visibility:hidden;pointer-events:none}
.toast>button{border:0;background:none;color:#0755bf;min-width:44px;min-height:44px;padding:4px;font-weight:650}
wa-details{display:block;margin:20px 0}
wa-details::part(base){background:transparent;border:1px solid var(--line);border-radius:14px}
wa-details::part(header){min-height:52px;font-size:.9375rem;padding:16px}
wa-details::part(content){padding:0 16px 16px}
.earned-detail,.badge-detail{display:flex;flex-direction:column;align-items:center;gap:18px;padding:20px 0;text-align:center}
.earned-detail>b{font-size:2rem;color:var(--accent)}
.badge-detail>.icon{width:52px;height:52px;color:var(--accent)}
.badge-detail .progress-track{width:100%}
.earned-detail>p,.currency-rules>p{color:var(--muted);font-size:.9375rem;line-height:1.5}
.currency-rules>h3{font-size:1.25rem;margin-top:22px}
.currency-rules>p{margin-top:8px}
.read-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.read-detail>div{display:flex;flex-direction:column;gap:6px;align-items:center}
.read-detail b{font-size:1.75rem;color:var(--accent);font-variant-numeric:tabular-nums}
.read-detail span{font-size:.8125rem;color:var(--muted)}
.shortcut-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:.875rem}
.shortcut-list dt{font-weight:650}
.shortcut-list dd{color:var(--muted)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;padding:0!important;border:0!important}
.inline-notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff5dc;border-radius:12px;padding:14px;margin:16px 0;font-size:.875rem}
.inline-notice button{min-height:44px;border:1px solid #d9c38e;padding:8px 12px;background:white;border-radius:10px}
[hidden]{display:none!important}
html[data-motion=reduced] *,html[data-motion=reduced] *::before,html[data-motion=reduced] *::after{animation-duration:0s!important;transition-duration:0s!important;scroll-behavior:auto!important}
/* Home actions stay on the media; the reading surface stays uncluttered. */
.feed-card{position:relative}
.story-more{position:absolute;right:10px;top:10px;width:44px;height:44px;background:#071b35d9;color:white;border:1px solid #ffffff2b;z-index:2}
.headline-slide .story-more{right:66px;top:13px}
.news-scopes{display:flex;align-items:center;gap:12px}
.news-scopes>.text-btn{font-size:.75rem;min-height:44px;color:var(--muted)}
.news-scopes>.text-btn[aria-pressed=true]{color:var(--accent);font-weight:650}
.pull-refresh-status{position:fixed;top:54px;left:50%;margin-left:-75px;z-index:50;width:150px;text-align:center;padding:12px;border-radius:20px;background:#1264d9;color:white;font-size:.8125rem;box-shadow:0 8px 20px #11274722;pointer-events:none}
/* Rate: compact score controls and direct photo navigation. */
.rate-filter-line{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.rate-filter-line .compact-scopes{margin:0;flex:1;min-width:230px}
.rate-filter-line .compact-scopes>button{flex:1}
.rate-filter-line>.compact-select{max-width:160px}
#rateSearchWrap{margin-top:12px}
.queue-context{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.8125rem;margin-top:8px}
.score-stepper{display:flex;align-items:center;gap:2px}
.score-stepper .iconbtn{width:44px;height:44px;background:transparent;border:0}
.score-stepper .score-input{max-width:65px;font-size:1.5rem;text-align:center;padding:4px;border:0;background:transparent;color:var(--accent)}
.rate-bottom{display:flex;align-items:center;gap:12px;margin-top:8px}
.score-presets{display:flex;gap:4px;flex:1;min-width:0}
.score-presets>button{flex:1;min-width:30px;min-height:44px;border:0;border-radius:10px;background:#eef2f7;font-size:.875rem;color:var(--muted)}
.score-presets>button[aria-pressed=true]{background:var(--blue-soft);color:var(--accent);font-weight:650}
.rate-bottom .submit-row{display:block;margin:0;flex:0 0 auto}
.rate-bottom #submitScore{min-width:105px}
.photo-deck{position:relative}
.photo-step-controls{position:absolute;left:12px;right:12px;top:42%;display:flex;justify-content:space-between;pointer-events:none;z-index:3}
.photo-step-controls>.iconbtn{pointer-events:auto;background:#06182bcc;color:white;border:1px solid #ffffff22;width:44px;height:44px}
.photo-deck[data-fit=full] .photo-wrap>img{object-fit:contain;background:#10243d}
.action-rail{gap:4px}
.rail-btn{min-width:44px;min-height:44px}
/* Competition: task rows, canonical ranking and safe swipeable matchups. */
.compact-quest .quest-copy>span{font-size:.8125rem;color:var(--muted)}
.quest-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.8125rem;margin-top:10px}
.check-strip{margin:24px 0;padding:20px;background:white;border:1px solid var(--line);border-radius:18px}
.check-strip>.btn{margin-top:16px}
.check-reveal{display:flex;flex-direction:column;gap:8px}
.ranking-list{display:flex;flex-direction:column;margin:24px 0}
.ranking-row{display:flex;align-items:center;gap:12px;min-height:76px;padding:10px 0;background:transparent;border:0;border-bottom:1px solid var(--line);text-align:left;color:var(--text)}
.ranking-row>img{width:44px;height:54px;object-fit:cover;border-radius:8px}
.rank-position{width:28px;font-variant-numeric:tabular-nums;color:var(--muted)}
.ranking-row>span:nth-of-type(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.ranking-row b{font-size:.875rem}
.ranking-row small{font-size:.75rem;color:var(--muted)}
.ranking-row>strong{color:var(--accent);font-variant-numeric:tabular-nums}
.ranking-row>.icon{width:16px;height:16px;color:var(--muted)}
.podium-card{border:1px solid var(--line);color:var(--text);text-align:left}
.match-viewport{overflow:hidden;touch-action:pan-y pinch-zoom}
.match-track{display:flex}
.match-slide{flex:0 0 100%;min-width:0;padding:2px}
.battle-option{min-width:0;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.battle-photo{position:relative}
.battle-photo>img{width:100%;aspect-ratio:.8;object-fit:cover}
.inspect-battle{position:absolute;top:10px;right:10px;background:#071b35d9;border-color:#ffffff30;color:white;width:44px;height:44px}
.battle-pick{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:10px;border:0;background:white;color:var(--accent);font-weight:650}
.battle-pick.selected{background:var(--blue-soft)}
.battle-reveal{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8125rem;padding:16px 0}
.battle-topline h2{font-size:1.25rem}
.prerequisite-action{display:flex;flex-direction:column;align-items:start;gap:16px;font-size:.875rem;color:var(--muted)}
@media(max-width:650px){
 .screen-heading,.profile-compact-heading{margin-bottom:18px}.screen-heading h1,.profile-compact-heading h1{font-size:1.75rem}
 .compact-scopes{width:100%}.compact-scopes>button{flex:1;padding-inline:10px}.screen-tools{gap:10px}
 .rate-filter-line .compact-scopes{flex:1 1 100%;min-width:0}.rate-filter-line>.compact-select{flex:1;max-width:none}.rate-filter-line>.iconbtn{margin-bottom:0}
 .feed-primary>.challenge{display:none}.photo-wrap{width:100%;aspect-ratio:auto!important;height:clamp(165px,25svh,250px)!important}.ratebox{padding:10px 12px!important}.rate-top{margin-bottom:0!important;min-height:44px}.rate-top>label{font-size:.8125rem}
 .photo-caption h2{font-size:1.125rem}.photo-caption p{font-size:.75rem}.gear-strip{padding:8px 12px!important}.gear-open>span{max-width:95px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .check-strip{padding:16px}.match-slide .battle-choices{gap:12px}.battle-navigation>.btn{flex:1;min-width:0}.battle-photo>img{aspect-ratio:.8}
 .ranking-row{gap:9px}.rank-position{width:20px}.ranking-row b{font-size:.8125rem}.ranking-row>strong{font-size:.9375rem}
}
