/* V22 — language shared by every route, without an animation library. */
:root {
  --surface:#0e141b; --surface-raised:#151d26; --soft-line:#ffffff16;
  --muted:#aab4bf; --radius:12px; --ease:cubic-bezier(.22,1,.36,1);
  --header-height:124px; --content-width:1240px;
  color-scheme:dark;
}
html { scroll-padding-top:calc(var(--header-height) + 24px); }
body { font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; }
body [hidden] { display:none!important; }
::selection { background:#e95d2070; color:#fff; }
:focus-visible { outline:2px solid #ffb17b; outline-offset:4px; }
button,input,textarea,select { font:inherit; }
button,a,input,textarea,select,summary { -webkit-tap-highlight-color:transparent; }
button,summary { touch-action:manipulation; }
button:disabled { opacity:.6; cursor:wait; }
img { max-width:100%; }
main#main-content { outline:none; min-height:50vh; }
.noise { display:none; }
.skip-link { position:fixed; top:10px; left:15px; z-index:1200; padding:12px 18px; background:var(--accent); color:#111; transform:translateY(-180%); border-radius:6px; }
.skip-link:focus { transform:none; }

/* Two aligned rows keep every destination legible, including the admin. */
body .topbar {
  display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:56px auto;
  height:auto; min-height:124px; gap:0 16px; justify-items:stretch;
  padding:4px max(22px,calc((100vw - var(--content-width))/2)) 10px;
  position:sticky; top:0; z-index:100!important;
  background:#090e14f5!important; box-shadow:0 8px 24px #0003;
  backdrop-filter:blur(12px)!important;
}
.topbar .brand { grid-column:1; grid-row:1; width:auto; grid-template-columns:38px minmax(0,1fr); gap:10px; justify-self:start; }
.topbar .brand-mark { width:36px; height:36px; font-size:21px; }
.topbar .brand>span:last-child { display:grid; gap:3px; }
.topbar .brand strong { font-size:14px; line-height:1.15; letter-spacing:.06em; white-space:normal; }
.topbar .brand small { display:block; font-size:11px; letter-spacing:.08em; line-height:1.2; }
.topbar .social-nav-actions { position:static; grid-column:2; grid-row:1; justify-self:end; gap:8px; }
.social-nav-actions .social-google-login { font-size:13px; font-weight:600; }
.social-nav-actions .social-nav-profile small { font-size:13px; max-width:170px; }
.social-nav-actions .social-nav-profile img,.social-nav-actions .social-nav-profile>span { width:32px; height:32px; }
.social-nav-actions a,.social-nav-actions button { border-radius:8px; min-height:40px; }
.topbar>.topbar-nav { grid-column:1/-1; grid-row:2; width:100%; display:flex; flex-wrap:nowrap; gap:3px; padding:4px; background:#ffffff03; border-radius:9px; box-shadow:none; }
.topbar>.topbar-nav>a,.topbar>.topbar-nav>.nav-drop>summary {
  position:relative; min-width:0; display:flex; align-items:center; justify-content:center;
  min-height:42px; padding:8px; border-radius:6px; font:500 13px/1.3 Inter,system-ui,sans-serif;
  color:#c0c9d3!important; letter-spacing:0; white-space:nowrap; cursor:pointer;
  transition:background .18s,color .18s,border-color .18s;
}
.topbar>.topbar-nav>a { flex:1 1 auto; }
.topbar>.topbar-nav>.nav-drop { display:block; flex:1 1 auto; }
.topbar>.topbar-nav>.nav-drop>summary { list-style:none; gap:8px; }
.nav-drop>summary::-webkit-details-marker { display:none; }
.nav-drop[open]>summary>span { transform:rotate(180deg); }
.topbar>.topbar-nav>a[aria-current="page"] { color:#fff!important; }
.topbar>.topbar-nav>a[aria-current="page"]::after { content:""; position:absolute; bottom:2px; width:16px; height:2px; border-radius:2px; background:#afb9c4; }
.topbar>.topbar-nav>a:hover,.topbar>.topbar-nav>.nav-drop>summary:hover,.topbar>.topbar-nav>.nav-drop[open]>summary { color:#fff!important; background:#e95d2026!important; box-shadow:none!important; border-color:#e95d2055!important; transform:none; }
.topbar .nav-menu { display:none; width:290px; max-height:60vh; overflow-y:auto; top:calc(100% + 5px); padding:8px; background:#111922; border:1px solid #e95d203d; border-radius:10px; box-shadow:0 16px 45px #0008; }
.topbar .nav-drop[open] .nav-menu { display:grid; animation:panel-in .22s var(--ease); }
.topbar .nav-drop:not([open]) .nav-menu { display:none; }
.topbar .nav-menu a { font-size:14px; padding:12px; }
.topbar .nav-menu small { font-size:12px; text-transform:none; letter-spacing:0; }
.nav-empty { padding:12px; font-size:13px; color:var(--muted); margin:0; }
.mobile-nav-toggle { display:none; }

/* A predictable scale and shorter introductions put content within reach. */
.section,.page-hero,.knowledge-shell,.knowledge-hero,.god-knowledge-hero,.build-detail-hero { width:min(var(--content-width),calc(100% - 44px)); }
.section { padding-block:44px; }
.page-hero { padding:48px 0 20px; }
.page-hero.compact h1,.admin-head h1 { font-size:clamp(30px,4.5vw,54px); line-height:1.08; letter-spacing:-.025em; }
.hero { min-height:520px; }
.hero-content { padding:62px 0; width:min(var(--content-width),calc(100% - 44px)); }
.hero h1 { font-size:clamp(42px,6.5vw,78px); line-height:1.03; max-width:780px; }
.hero p,.page-hero p,.knowledge-hero-copy>p { font-size:16px; line-height:1.75; }
.eyebrow { font-size:12px; letter-spacing:.13em; }
.section-head { gap:20px; margin-bottom:22px; flex-wrap:wrap; }
.section-head h2,.section-head h3 { font:700 clamp(24px,3vw,34px)/1.2 Cinzel,serif; margin:8px 0; }
.section-copy,.section-head p { color:var(--muted); font-size:14px; max-width:680px; }
.text-link,.mini-link,.knowledge-back { font-size:13px; }
.knowledge-hero { min-height:0; padding:48px 0 34px; gap:40px; grid-template-columns:minmax(0,1fr) 300px; }
.knowledge-hero h1 { font-size:clamp(38px,5.8vw,72px); line-height:1.05; margin:14px 0 20px; letter-spacing:-.035em; }
.hero-legend,.programs-legend,.feedback-legend { transform:none; box-shadow:none; }
.hero-legend>span:nth-child(odd) { transform:none; }
.resource-legend>span { border-radius:8px; padding:12px 14px; box-shadow:none; }
.resource-legend b { font-size:14px; }.resource-legend small { font-size:12px; }
.knowledge-stats { gap:24px; margin-top:22px; }.knowledge-stats span { font-size:12px; letter-spacing:.035em; }
.knowledge-stats strong { font-size:26px; }
.knowledge-launch-stack { max-width:none; gap:14px; }
.counter-guide-launch.knowledge-guide-launch { border-radius:12px; padding:24px; min-height:112px; }
.counter-guide-launch__copy strong { font-size:18px; line-height:1.4; }.counter-guide-launch__copy small { font-size:14px; line-height:1.6; }
.knowledge-credit { font-size:13px; }
.knowledge-toolbar { top:calc(var(--header-height) + 8px); border-radius:10px; padding:18px; backdrop-filter:none; background:#0d141cfa; }
.knowledge-toolbar>small,.knowledge-filter { font-size:12px; }
.knowledge-filter,.map-filter { min-height:40px; }
.knowledge-filter-row { gap:8px; }.god-knowledge-hero { min-height:0; padding-top:36px; gap:36px; grid-template-columns:260px minmax(0,1fr); }
.god-hero-portrait { height:280px; border-radius:12px; }.god-hero-copy h1 { font-size:clamp(40px,6vw,74px); line-height:1.08; }
.build-detail-shell { gap:24px; }.build-guide-sidebar { top:calc(var(--header-height) + 18px); }
.build-detail-title h1 { font-size:clamp(30px,4vw,50px); line-height:1.16; }
.phase-nav a { min-height:48px; font-size:14px; }.build-phase { scroll-margin-top:calc(var(--header-height) + 22px); border-radius:12px; overflow:hidden; }
.phase-step { position:relative; border-radius:8px; }.action-list { font-size:15px; line-height:1.75; }
.build-progress-tools { margin:14px 0; padding:18px; border:1px solid var(--soft-line); border-radius:10px; background:var(--surface); }
.build-progress-tools p { font-size:13px; color:var(--muted); margin:0 0 10px; }.build-progress-tools progress { width:100%; height:7px; accent-color:var(--accent); }
.build-progress-tools button { margin-top:10px; font-size:12px; color:var(--muted); border:0; background:none; padding:8px 0; cursor:pointer; }
.step-check { display:flex; gap:8px; align-items:center; grid-column:1/-1; font-size:13px; color:var(--muted); cursor:pointer; margin:10px 0 0; }
.step-check input { width:18px; height:18px; accent-color:var(--accent); }.phase-step.step-done { border-color:#58c98a55; background:#18332638; }

/* The same finish for resources, tournaments, profiles and the admin. */
.mode-card,.feature,.info-card,.panel,.god-knowledge-card,.build-library-card,.arena-step,.community-highlight,.community-form-card,.admin-block,.participant-editor,.stat,.profile-battle-stats,.profile-owner-actions,.profile-duel-panel,.share-panel,.arena-ranking-panel,.guide-card,.duel-message-window,.duel-versus-card,.match-confirm-panel { border-radius:var(--radius); box-shadow:0 8px 24px #0003; }
.mode-card,.feature,.god-knowledge-card,.build-library-card,.community-highlight,.counter-unit-card { transition:transform .22s var(--ease),border-color .22s,box-shadow .22s; }
.god-card-body>p,.build-library-card>p,.program-description,.feature p,.program-card-body dl dd { font-size:14px; line-height:1.65; }
.build-tag,.god-card-title small,.god-card-title>b small,.pantheon-pill,.strategy-route b,.strategy-route small,.build-library-card dt,.build-library-card dd { font-size:12px; }
.open-god,.open-build { font-size:13px; letter-spacing:.025em; min-height:44px; gap:12px; align-items:center; }
.god-card-title h2,.program-card-body h2 { font-size:25px; }.strategy-route { grid-template-columns:24px 95px minmax(0,1fr); }
.program-card { min-height:0; }.program-card-image { height:220px; }.programs-grid { gap:20px; }
.programs-section-head>span,.program-official-seal { font-size:12px; letter-spacing:.03em; }
.programs-home-card { border-radius:12px; }.programs-home-copy em { font-size:14px; }
.community-form-copy,.community-public-form { padding:28px; }.community-form-copy>p { font-size:15px; }
.submission-privacy p { font-size:13px; }.community-form-copy h2 { font-size:30px; }
.community-public-form textarea { min-height:150px; }.maps-search-panel { border-radius:12px; }
.map-category-title { margin-top:24px; }.map-card-body>p { min-height:0; }
label>span { font-size:13px; letter-spacing:.035em; }label small,.lookup-status { font-size:13px; }
input,select,textarea { min-height:44px; border-radius:8px; font-size:16px; transition:border-color .18s,box-shadow .18s; }
input[type=checkbox],input[type=radio] { min-height:0; accent-color:var(--accent); }
textarea { line-height:1.6; }.btn { min-height:42px; padding:11px 16px; border-radius:7px; font-size:13px; letter-spacing:.035em; gap:8px; border-color:#ffffff25; }
.btn.primary { color:#130b06; font-weight:800; }.btn.big { padding:14px 20px; min-height:48px; }
.btn:not(.primary):not(.danger):hover { background:#ffffff0a; border-color:#e95d2070; }
.btn[aria-busy=true]::after { content:""; width:14px; height:14px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:busy-spin .8s linear infinite; }
.text-counter { display:block; text-align:right; margin-top:6px; color:var(--muted); font-size:12px; }
.avatar-local-preview { display:flex; gap:14px; align-items:center; margin-top:12px; color:var(--muted); font-size:13px; }
.avatar-local-preview img { width:64px; height:64px; object-fit:cover; border:2px solid var(--accent); border-radius:50%; }
.table-wrap { border-radius:10px; }.players-table th { font-size:12px; }.players-table td { font-size:14px; }.players-table tbody tr:hover { background:#ffffff04; }
.admin-block>summary { font-size:15px; padding:20px 24px; }.admin-block[open]>summary { background:#ffffff04; }.admin-block[open]>.admin-form { animation:panel-in .2s var(--ease); }
.admin-grid { gap:18px; }.stat small { font-size:12px; }.stat strong { font-variant-numeric:tabular-nums; }

/* The Arena retains small circular portraits and a lateral ranking. */
.arena-how { padding-top:12px; padding-bottom:24px; }.arena-step { min-height:0; padding:20px 20px 20px 62px; }
.arena-step>b { font-size:28px; left:17px; top:17px; }.arena-step>span { font-size:12px; letter-spacing:.06em; }.arena-step p { font-size:13px; margin:8px 0 0; }
.arena-community-layout { padding-top:24px; grid-template-columns:minmax(0,1fr) 340px; gap:22px; }.arena-ranking-panel { top:calc(var(--header-height) + 18px); padding:18px; }
.arena-community-layout .social-player-card { grid-template-columns:86px minmax(0,1fr); min-height:140px; }
.arena-community-layout .social-player-avatar { width:64px; height:64px; min-height:0; border-radius:50%; }
.arena-community-layout .social-player-card-body { padding:14px 14px 14px 0; }.arena-community-layout .social-player-card-body h3 { font:650 16px/1.4 Inter,system-ui,sans-serif; }
.arena-community-layout .social-player-card-body>small { font-size:11px; letter-spacing:.05em; }.arena-community-layout .social-player-card-body blockquote { font-size:12px; max-height:36px; }
.social-player-mini-stats { font-size:11px; gap:7px; }.social-player-mini-stats b { font-size:12px; }
.arena-community-layout .open-build { font-size:11px; min-height:32px; padding-top:5px; }
.compact-ranking .x1-row { grid-template-columns:26px minmax(0,1fr) 38px 38px; padding:10px 6px; border-radius:7px; }.compact-ranking .x1-row>span,.compact-ranking .community-player strong { font-size:12px; }.compact-ranking .x1-row>b { font-size:12px; }
.search-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:13px; margin:8px 0 16px; }
.search-summary button { border:0; background:none; color:#f39b74; padding:6px; cursor:pointer; font-size:13px; }
.social-player-search { border-radius:9px; }.social-player-search input { font-size:16px!important; }
.social-profile-main { grid-template-columns:310px minmax(0,1fr); align-items:start; width:min(1060px,calc(100% - 44px)); margin-top:28px; }
.profile-page-links { width:min(1060px,calc(100% - 44px)); margin:28px auto 0; display:flex; justify-content:space-between; gap:12px; font-size:13px; color:var(--muted); }
.social-profile-main .profile-identity-card { padding:24px; min-height:0; }
.social-profile-main .profile-identity-avatar { width:104px; height:104px; margin-bottom:20px; }
.social-profile-main .profile-identity-card h1 { font:700 clamp(21px,2.1vw,27px)/1.25 Inter,system-ui,sans-serif; overflow-wrap:anywhere; }
.social-profile-main .profile-identity-card blockquote { font-size:14px; }.profile-identity-card>small { font-size:12px; letter-spacing:.07em; }
.profile-account-status { max-width:100%; font-size:11px; letter-spacing:.02em; }
.social-profile-main .profile-identity-card dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
.social-profile-main .profile-identity-card dl>div:last-child { grid-column:1/-1; }.social-profile-main .profile-identity-card dt { font-size:11px; }.social-profile-main .profile-identity-card dd { font-size:13px; }
.profile-battle-stats strong small { font-size:11px; }.profile-owner-actions h3 { font-size:21px; }.profile-owner-actions p { font-size:14px; }
.profile-owner-actions .btn { margin-bottom:8px; }.share-panel>span { font-size:12px; }.share-panel>small { font-size:12px; }.share-buttons a,.share-buttons button { font-size:12px; min-height:40px; }
.profile-editor-shell { grid-template-columns:310px minmax(0,1fr); width:min(1060px,calc(100% - 44px)); margin-top:36px; }
.profile-account-card,.profile-editor-form { padding:26px; border-radius:12px; min-width:0; }.profile-account-card h1 { font:700 25px/1.3 Inter,sans-serif; overflow-wrap:anywhere; }
.profile-editor-form h2 { font-size:30px; }.profile-account-card>p { font-size:14px; }.profile-account-card dd,.avatar-choice>div span,.avatar-choice>label,.ownership-note p { font-size:13px; }
.profile-popover-card { min-height:0; padding:26px; }.profile-popover-top h2 { font:700 23px/1.3 Inter,sans-serif; overflow-wrap:anywhere; }.profile-popover-top small,.profile-online-badge { font-size:12px; }
.profile-popover-avatar { width:72px; height:72px; flex:0 0 72px; }.profile-popover-card blockquote { font-size:14px; }.profile-stats-grid dt { font-size:12px; }
.profile-popover-links { flex-wrap:wrap; }.profile-challenge-form .btn { white-space:normal; }.profile-modal { z-index:1000; }
.profile-modal-dialog { border-radius:16px; width:min(540px,100%); box-shadow:0 26px 100px #000b; }
.profile-modal:not([hidden]) .profile-modal-dialog { animation:panel-in .25s var(--ease); }.profile-modal-close { z-index:3; }
.profile-modal-loading { padding:64px 24px; color:var(--muted); font-size:15px; }
.notification-popover { top:calc(var(--header-height) + 12px); border-radius:14px; max-height:calc(100dvh - var(--header-height) - 30px); }
.notification-popover:not([hidden]) { animation:panel-in .24s var(--ease); }.notification-bubble { border-radius:9px; }
.notification-bubble-head strong,.notification-bubble p { font-size:13px; }.notification-bubble-head small { font-size:11px; }.notification-bubble-actions .btn,.notification-bubble-actions>a { font-size:12px; }
.notification-popover>footer button,.notification-popover>footer a { font-size:11px; }.notification-bubble-head strong { overflow-wrap:anywhere; }
.duel-page-shell { width:min(1060px,calc(100% - 44px)); margin-top:36px; }.duel-page-head h1 { font-size:clamp(30px,4vw,46px); }
.duel-versus-card { padding:28px; }.duel-player-side img,.duel-player-side>span { width:100px; height:100px; }.duel-player-side h2 { font:700 22px/1.3 Inter,sans-serif; overflow-wrap:anywhere; }
.duel-chat-event>div { font-size:14px; }.duel-chat-event>small,.duel-chat-event>time { font-size:12px; }.duel-message-title small { font-size:12px; }.duel-cancel-action p { font-size:13px; }
.duel-history-row { border-radius:10px; }.duel-history-summary b,.duel-history-summary small { font-size:13px; }
.counter-unit-card { border-radius:10px; }.counter-modal { z-index:1000; }.counter-toolbar { top:calc(var(--header-height) + 8px); }
.counter-unit-name { font-size:22px; }.counter-unit-description,.counter-selected-copy>p,.counter-target-body>p { font-size:14px; line-height:1.6; }.counter-control-heading>strong,.counter-section-heading>p,.counter-unit-group-heading p { font-size:13px; }
.counter-modal:not([hidden]) .counter-modal-panel { animation:panel-in .25s var(--ease); border-radius:14px; }.counter-enemy-tab { font-size:13px; }
body.counter-modal-open main#main-content { z-index:101!important; }
body[data-page=hotkeys_guide_page] main#main-content { min-height:0; }

/* Discrete motion: finite entrances, intentional hover, no background loop. */
.reading-progress { position:fixed; inset:0 0 auto; height:2px; z-index:1100; pointer-events:none; }.reading-progress i { display:block; height:100%; background:linear-gradient(90deg,var(--accent),#ffbe7a); transform:scaleX(0); transform-origin:left; }
.motion-enter { animation:content-in .55s var(--ease) both; animation-delay:var(--enter-delay,0ms); }
.back-to-top { position:fixed; right:22px; bottom:22px; width:44px; height:44px; z-index:40; border:1px solid #e95d2080; border-radius:50%; background:#111923; color:#ffab7e; cursor:pointer; font-size:23px; box-shadow:0 8px 24px #0005; }
.flash-wrap,.toast-region { position:fixed; top:calc(var(--header-height) + 14px); right:20px; width:min(440px,calc(100vw - 40px)); z-index:1150!important; }
.toast-region { top:auto; bottom:24px; pointer-events:none; }.flash,.app-toast { display:flex; align-items:start; gap:16px; padding:16px 18px; border:1px solid var(--soft-line); background:#151e28; box-shadow:0 14px 34px #0006; border-radius:10px; font-size:14px; animation:panel-in .25s var(--ease); }
.flash>span { flex:1; }.flash button { background:transparent; border:0; color:var(--muted); font-size:22px; cursor:pointer; padding:0 4px; }.app-toast { margin-top:8px; border-left:3px solid var(--accent); }
.footer-tools { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }.footer-tools button { padding:8px 0; font:inherit; border:0; background:none; color:inherit; cursor:pointer; }.footer-bottom,.footer-brand-block>span,.footer-creator em { font-size:13px; }.footer-social-block>small,.footer-creator small { font-size:12px; }
@keyframes content-in { from { opacity:.25; transform:translateY(16px); } to { opacity:1; transform:none; } }
@keyframes panel-in { from { opacity:0; transform:translateY(9px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes busy-spin { to { transform:rotate(360deg); } }
@media (hover:hover) and (pointer:fine) {
  .mode-card:hover,.god-knowledge-card:hover,.build-library-card:not(.profile-identity-card):hover,.feature:hover { transform:translateY(-4px); border-color:#e95d205e; box-shadow:0 14px 34px #0005; }
  .profile-identity-card:hover { transform:none; }.social-player-avatar:hover img { transform:scale(1.06); }
}
@media(max-width:1100px) { .topbar>.topbar-nav>a,.topbar>.topbar-nav>.nav-drop>summary { font-size:12px; padding-inline:6px; }.arena-community-layout .social-player-grid { grid-template-columns:1fr; }.knowledge-hero { gap:26px; grid-template-columns:minmax(0,1fr) 240px; } }
@media(max-width:850px) {
  :root { --header-height:74px; }.topbar .brand small { font-size:10px; }
  body .topbar { grid-template-columns:minmax(0,1fr) auto auto; grid-template-rows:56px auto; gap:0 10px; padding:6px 16px; min-height:74px; }
  .topbar .brand { min-width:0; }.topbar .brand strong { font-size:13px; }.topbar .social-nav-actions { grid-column:2; }.social-nav-actions .social-nav-profile small { display:none; }
  .mobile-nav-toggle { display:flex; align-items:center; gap:7px; grid-column:3; grid-row:1; min-height:42px; border:1px solid var(--soft-line); background:#ffffff06; color:#e3e8ec; border-radius:8px; padding:9px; font-size:13px; cursor:pointer; }.mobile-nav-toggle svg { fill:none; stroke:currentColor; stroke-width:1.7; }
  .topbar>.topbar-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-column:1/-1; gap:6px; padding:8px; max-height:70vh; overflow-y:auto; }
  .topbar>.topbar-nav>a,.topbar>.topbar-nav>.nav-drop>summary { font-size:13px; min-height:44px; white-space:normal; padding:8px; }.topbar>.topbar-nav>.nav-drop { min-width:0; }
  .topbar .nav-menu { position:static; width:100%; max-height:none; box-shadow:none; }.topbar .nav-drop[open] { grid-column:1/-1; }.topbar .nav-drop[open] .nav-menu { grid-template-columns:1fr 1fr; }
  .nav-ready .topbar:not(.nav-open)>.topbar-nav { display:none; }
  .arena-community-layout { grid-template-columns:minmax(0,1fr) 290px; gap:16px; }.arena-ranking-panel { padding:14px; }
  .arena-how { grid-template-columns:1fr; gap:8px; }.arena-step { padding:15px 18px 15px 58px; }.arena-step p { margin:5px 0 0; }
  .knowledge-hero { grid-template-columns:1fr; }.knowledge-hero .resource-legend { grid-template-columns:repeat(3,1fr); }.resource-legend>span { grid-template-columns:32px minmax(0,1fr); gap:6px; }
  .community-form-card { grid-template-columns:1fr; }.social-profile-main { grid-template-columns:280px minmax(0,1fr); }
  .social-profile-main .profile-action-column>article { padding:20px; }.social-profile-main .profile-battle-stats h2 { font-size:22px; }
  .profile-editor-shell { grid-template-columns:1fr; }.profile-account-card>img { width:88px; height:88px; margin-bottom:18px; }
}
@media(max-width:680px) {
  .section,.page-hero,.knowledge-shell,.knowledge-hero,.god-knowledge-hero,.build-detail-hero,.hero-content { width:calc(100% - 32px); }
  .section { padding-block:28px; }.page-hero { padding-top:32px; }.hero { min-height:0; }.hero-content { padding:48px 0; }.hero h1 { font-size:40px; }.hero p { font-size:15px; }.hero-stats { gap:14px; }.hero-stats>div { min-width:100px; }.hero-stats span { font-size:11px; }
  .knowledge-hero { padding:32px 0 22px; }.knowledge-hero h1 { font-size:40px; }.knowledge-hero .resource-legend { display:none; }.knowledge-stats { gap:16px; }.knowledge-stats span { font-size:11px; }.knowledge-stats strong { font-size:23px; }
  .counter-guide-launch.knowledge-guide-launch { padding:18px; gap:12px; }.counter-guide-launch__copy strong { font-size:16px; }.counter-guide-launch__copy small { font-size:13px; }
  .god-knowledge-hero { grid-template-columns:110px minmax(0,1fr); gap:20px; }.god-hero-portrait { height:150px; }.god-hero-copy h1 { font-size:36px; }.god-hero-copy>p { font-size:14px; }
  .build-library-grid,.programs-grid,.god-card-grid { grid-template-columns:1fr; }.knowledge-toolbar { position:relative; top:auto; }.god-portrait-wrap { height:220px; }
  .arena-community-layout { display:block; }.arena-ranking-panel { position:relative; top:auto; margin-top:24px; }.arena-community-layout .social-player-grid { grid-template-columns:1fr; }
  .social-profile-main,.profile-editor-shell { width:calc(100% - 32px); grid-template-columns:1fr; }.social-profile-main .profile-identity-card { max-width:none; }.social-profile-main .profile-identity-card h1 { font-size:25px; }
  .social-profile-main .profile-identity-card dl { grid-template-columns:repeat(2,minmax(0,1fr)); }.social-profile-main .profile-identity-avatar { width:92px; height:92px; }
  .profile-page-links { width:calc(100% - 32px); }.profile-editor-form { padding:22px; }.profile-editor-form h2 { font-size:26px; }
  .profile-popover-top { gap:14px; }.profile-popover-top h2 { font-size:20px; }.profile-popover-avatar { width:64px; height:64px; flex-basis:64px; }.profile-popover-card { padding:24px 20px; }
  .duel-page-shell { width:calc(100% - 32px); }.duel-versus-card { padding:20px; }.duel-player-side h2 { font-size:20px; }.duel-cancel-action { align-items:stretch; flex-direction:column; }
  .community-public-form { grid-template-columns:1fr; padding:22px; }.community-public-form>* { grid-column:1/-1; }.community-form-copy { padding:22px; }
  .notification-popover { right:10px; width:calc(100% - 20px); }.flash-wrap { right:16px; width:calc(100% - 32px); }.footer-tools { gap:14px; }
}
@media(max-width:440px) {
  .topbar .brand { grid-template-columns:32px minmax(0,1fr); gap:7px; }.topbar .brand-mark { width:30px; height:30px; font-size:18px; }.topbar .brand strong { font-size:11px; max-width:122px; }.topbar .brand small { display:none; }
  .social-nav-actions .social-google-login { font-size:11px; padding:8px; }.mobile-nav-toggle span { display:none; }.topbar .social-nav-actions { gap:5px; }.social-nav-actions .social-nav-notifications { width:36px; }
  .topbar>.topbar-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }.social-profile-main .profile-identity-card { padding:22px; }
}
@media(prefers-reduced-motion:reduce) { html:not([data-motion=full]) { scroll-behavior:auto; } html:not([data-motion=full]) *,html:not([data-motion=full]) *::before,html:not([data-motion=full]) *::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; } }
html[data-motion=reduce] { scroll-behavior:auto; }
html[data-motion=reduce] *,html[data-motion=reduce] *::before,html[data-motion=reduce] *::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
@media print { .topbar,.site-footer,.back-to-top,.reading-progress,.step-check,.build-progress-tools,.share-panel { display:none!important; } .build-detail-shell { display:block; }.build-guide-sidebar { position:static; }.build-phase { break-inside:avoid; } }

/* A duel uses an explicit, finite lookup indicator instead of the reading bar. */
body[data-page="social_duel"] .reading-progress,
body[data-page="social_duel_invite_share"] .reading-progress,
body[data-page="social_duel_result_share"] .reading-progress { display:none; }
.match-correct-id { margin:18px 0; border-top:1px solid var(--soft-line); padding-top:14px; }
.match-correct-id summary { cursor:pointer; color:var(--accent); font-size:14px; }
.match-correct-id form { margin-top:14px; }
.match-last-check { color:var(--muted); font-size:12px; margin:10px 0 18px; }
.match-lookup-feedback { font-size:14px; margin:16px 0; }
.match-lookup-feedback:empty { display:none; }
.match-lookup-feedback.error { color:#ffb59d; }
.match-confirm-panel[aria-busy="true"] { cursor:progress; }
.match-confirm-panel button:disabled { opacity:.65; cursor:wait; }
