/* Reading rhythm for menus only. No battle HUD, result geometry or game rules. */
.rw-heading{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.rw-heading h1{margin:0!important}
.rw-heading p,.rw-heading small,.rw-heading .rw-link{margin:0}
.rw-heading .rw-link{line-height:1.5}
.rw-dialog{padding:32px;scroll-padding-block:24px}
.rw-dialog h2{margin:0 52px 24px 0;line-height:1.25}
.rw-dialog .rw-tabs{gap:8px;margin:0 0 28px}
.rw-dialog .rw-info{display:flow-root}
.rw-dialog .rw-info h3{margin:0 0 16px;line-height:1.3}
.rw-dialog .rw-info h4{margin:24px 0 8px;line-height:1.4}
.rw-dialog .rw-info p{margin:0 0 20px;line-height:1.6}
.rw-dialog .rw-product{align-items:flex-start;gap:20px;padding:20px 0}
.rw-dialog .rw-product+.rw-product{border-top:1px solid #798b6b44}
.rw-dialog .rw-product h4{margin:4px 0 8px}
.rw-dialog .rw-product p{margin:0}
.rw-dialog .rw-product img{margin-top:4px}
.rw-dialog .rw-product:last-of-type{margin-bottom:16px}
.rw-dialog .rw-frame-list{gap:24px;margin:28px 0 0}
.rw-dialog .rw-frame-list article{display:flex;flex-direction:column;align-items:center;gap:8px}
.rw-dialog .rw-frame-list h4{margin:8px 0 0}
.rw-dialog .rw-frame-list small{line-height:1.4}
.rw-dialog>.rw-info+a{display:inline-flex;align-items:center;width:fit-content;min-height:44px;margin-top:28px;padding:12px 18px;line-height:1.5}
.rw-dialog .rw-tiers{margin:16px 0 24px}
.rw-dialog .rw-info details{margin:24px 0 0}
.rw-dialog .rw-info details p{margin:8px 0 0}
.rw-dialog.rw-modes{width:min(620px,calc(100vw - 24px))}
.rw-dialog.rw-modes>p{margin:0 0 24px;line-height:1.6}
#journey .rw-dialog.rw-modes>p{margin:0 0 24px}
#journey .rw-dialog .rw-info p{margin:0 0 20px}
#journey .rw-dialog .rw-product p{margin:0}
#journey .rw-dialog .rw-info details p{margin:8px 0 0}
.rw-dialog.rw-modes .journey-actions{margin:0!important;gap:12px!important}
.rw-dialog.rw-modes .play-more{gap:12px}
.rw-dialog.rw-modes .journey-actions button{align-items:flex-start!important;justify-content:center!important;flex-direction:column!important;gap:4px!important;padding:14px 64px 14px 24px!important;text-align:left!important;min-height:64px!important;height:auto!important}
.rw-dialog.rw-modes .journey-actions .label{font-size:17px!important;line-height:1.35!important;white-space:normal!important}
.rw-dialog.rw-modes .journey-actions .sub{margin:0!important;font-size:12px!important;line-height:1.4!important}
.rw-dialog.rw-modes .journey-actions .glyph{position:absolute!important;right:16px!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important}
body:is([data-screen=signin],[data-screen=practice-ready],[data-screen=ghost-ready]) #journey .journey-center>h1,
body:is([data-screen=signin],[data-screen=practice-ready],[data-screen=ghost-ready]) #journey .compact-screen>h1{margin-bottom:16px}
body:is([data-screen=signin],[data-screen=practice-ready],[data-screen=ghost-ready]) #journey .lede{margin-top:0;margin-bottom:24px;line-height:1.55}
body[data-screen=practice-ready] .npc-pick{margin:24px 0 20px;gap:10px}
body[data-screen=practice-ready] .npc-pick legend{margin-bottom:12px}
.signin-screen .signin-providers{gap:12px;margin-top:24px}
.signin-screen .guest-panel{margin-top:20px;padding-top:24px}
.signin-screen .signin-footer{margin-top:20px}
@media(max-width:760px){
 .rw-dialog{padding:24px 20px}.rw-dialog h2{margin-bottom:20px}.rw-dialog .rw-tabs{margin-bottom:24px;gap:8px}
 .rw-dialog .rw-tabs button{padding:10px 12px;min-height:44px}
 .rw-dialog .rw-product{gap:16px;padding:20px 0}.rw-dialog .rw-product img{width:72px;height:72px}
 .rw-dialog .rw-frame-list{gap:24px}.rw-dialog .rw-frame-list article{display:grid;grid-template-columns:112px minmax(0,1fr);gap:4px 16px;align-items:center;text-align:left}
 .rw-dialog .rw-frame-list .rw-avatar{width:112px;height:112px;grid-row:1/3}.rw-dialog .rw-frame-list h4{margin:0;align-self:end}.rw-dialog .rw-frame-list small{align-self:start}
 .rw-dialog.rw-modes .journey-actions button{padding-left:20px!important}
 .rw-heading{gap:12px}
}
/* Currency cue: fixed inline dimensions avoid image-load shifts. */
img.bearing-inline {
  display: inline-block;
  width: 1.15em;
  height: 1.15em;
  max-width: none;
  object-fit: contain;
  vertical-align: -0.2em;
  margin-inline-end: 0.22em;
}
/* Daily activity is secondary to the live arena state. */
#arena-presence .presence-daily { display:block; font-size:11px; font-weight:400; line-height:1.35; color:var(--muted); }
#arena-presence [data-counts] { padding-block:5px; }
/* Match the live Kingdom interface: Tektur headings, Plex reading text.
   Reuse the already preloaded bar font; preserve brush hero titles and game HUD. */
#journey h2,
#journey h3,
#journey .rw-info h4,
#journey .rw-layout .hb-title {
  font-family: 'HoundTektur', system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.3;
  text-wrap: balance;
}
#journey .rw-dialog > h2 { font-size: clamp(24px, 3vw, 30px); }
#journey .rw-info h3 { font-size: clamp(20px, 2.4vw, 24px); }
#journey .rw-info h4 { font-size: 18px; }
#journey .rw-info p { max-width: 70ch; }
/* Portraits are 48px: the old 36px track consumed the label gap. */
#journey #tr-opponents h2 { margin-bottom: 12px; }
#journey #tr-opponents > p { margin: 0; max-width: 65ch; }
#journey .tr-npcs { margin: 24px 0 0; gap: 12px; }
#journey .tr-npcs li {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  padding: 12px 16px;
  min-height: 72px;
}
#journey .tr-npcs .npc-portrait { width: 48px; height: 48px; }
#journey .tr-npcs b { line-height: 1.4; }
/* Player identity owns a full row; scores/status never consume its name column. */
.battle-player strong { white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; line-height:1.25; }
.battle-player b::after { display:block!important; margin:4px 0 0!important; }
.battle-emblem.has-member-avatar { background:none!important; image-rendering:auto; }
.battle-emblem.has-member-avatar::before { content:none!important; }
.battle-emblem .pf-av { width:100%; height:100%; --s0:48px; }
@media(min-width:1100px) {
 .battle-player { width:min(420px,calc(50vw - 96px)); padding:12px 16px; grid-template-columns:48px minmax(0,1fr); grid-template-areas:"em name" "em score" "meta meta"; column-gap:14px; row-gap:4px; border-radius:28px; }
 .battle-player:last-of-type { grid-template-columns:minmax(0,1fr) 48px; grid-template-areas:"name em" "score em" "meta meta"; padding:12px 16px; }
 .battle-emblem { width:48px; height:48px; }
 .battle-player strong { font-size:16px; align-self:center; }
 .battle-player b { font-size:32px; margin:0!important; display:flex; align-items:center; gap:10px; }
 .battle-player:last-of-type b { justify-content:flex-end; }
 .battle-player small { white-space:normal; overflow:visible; font-size:12px; line-height:1.3; }
 #battle-mode { max-width:calc(100vw - 180px); white-space:normal; text-align:center; line-height:1.3; padding:8px 18px; min-height:0; }
}
@media(max-width:1099px) and (min-height:551px) {
 .battle-player,.battle-player:last-of-type {
   width:calc(50% - 24px); max-width:none; padding:10px 12px;
   grid-template-columns:32px minmax(0,1fr);
   grid-template-areas:"name name" "em score";
   column-gap:8px; row-gap:6px; border-radius:22px;
 }
 .battle-player:last-of-type { grid-template-columns:minmax(0,1fr) 32px; grid-template-areas:"name name" "score em"; }
 .battle-emblem { width:32px; height:32px; }
 .battle-player strong { align-self:center; font-size:12px; }
 .battle-player b { font-size:24px; margin:0!important; }
 #battle-lead { top:210px; }
}
/* The lobby already scrolls: use its full width and give the Top 50 room. */
body[data-screen=home] .rw-layout .lobby-side {
  grid-template-columns:minmax(0,1fr);
  min-height:0;
  gap:20px;
}
body[data-screen=home] .rw-layout #lobby-board {
  height:clamp(640px,85dvh,960px);
  min-height:640px;
  max-height:none;
}
body[data-screen=home] .rw-layout #house-standings { padding:20px; align-items:stretch; }
body[data-screen=home] .rw-layout .hb-row { flex:none; gap:16px; width:100%; }
body[data-screen=home] .rw-layout .hb {
  flex-direction:row;
  gap:16px;
  padding:12px 20px;
}
body[data-screen=home] .rw-layout .hb-art { width:64px; height:96px; flex:none; }
body[data-screen=home] .rw-layout .hb-plate { padding:0; }
body[data-screen=home] .rw-layout .hb-name { font-size:14px; }
@media(max-width:760px) {
 body[data-screen=home] .rw-layout #house-standings { padding:16px 12px; }
 body[data-screen=home] .rw-layout .hb-row { gap:8px; }
 body[data-screen=home] .rw-layout .hb { flex-direction:column; gap:8px; padding:12px 4px; }
 body[data-screen=home] .rw-layout .hb-art { width:100%; height:80px; }
 body[data-screen=home] .rw-layout .hb-name { font-size:11px; }
 body[data-screen=home] .rw-layout #lobby-board { height:clamp(1100px,140svh,1320px); min-height:1100px; }
 body[data-screen=home] #journey { padding-bottom:calc(96px + env(safe-area-inset-bottom)); }
 body[data-screen=home] .journey-shell.rw-layout { padding-bottom:16px; }
}
/* A qualification badge belongs to the name, without squeezing long member names. */
.lb-v2 .lb-name:has(.lb-cup-seed){display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0}
.lb-v2 .lb-name .lb-person-label{flex:1;min-width:0;overflow:hidden}
.lb-v2 .lb-name .lb-person-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb-v2 .lb-name .lb-cup-seed{flex:none;margin-left:auto;white-space:nowrap;text-align:left;font-size:11px;line-height:1.35}
.lb-seed-short{display:none}
@media(max-width:760px){
 .lb-v2 .lb-seed-full{display:none}
 .lb-v2 .lb-seed-short{display:inline}
 .lb-v2 .lb-name .lb-cup-seed{padding:3px 6px;font-size:10px}
 .lb-v2 .lb-value small{display:none}
}
.lb-v2 .lb-cup-seed[data-house="onyx-forge"]{background:#792d29;color:#fff3ed;border:1px solid #e88b7f}
.lb-v2 .lb-cup-seed[data-house="chrome-manor"]{background:#e4e7ec;color:#202830;border:1px solid #fff}
.lb-v2 .lb-cup-seed[data-house="gilded-court"]{background:#e6b84f;color:#2c210b;border:1px solid #ffe1a0}
.lb-v2 .lb-cup-seed[data-house="sapphire-keep"]{background:#244b91;color:#f2f6ff;border:1px solid #91b7f3}
.bracket-screen[data-show="5"] [data-round="5"]{display:grid}
.bracket-screen .bracket [data-round="5"]{grid-column:1 / -1}
.rw-bearing-intro{padding:24px;border:1px solid var(--glass-edge);border-radius:24px;background:var(--jade-wash);margin-bottom:32px}
.rw-bearing-intro>img{float:right;margin:0 0 16px 20px;width:80px;height:80px}
.rw-bearing-intro small{display:block;margin-top:18px;color:var(--muted);font-size:14px;line-height:1.5}
.rw-bearing-intro a{display:inline-flex;align-items:center;margin-top:12px;color:var(--jade-ink);padding:12px 18px;min-height:44px}
.lb-v2 .lb-cup-seed[data-other-board="true"]{background:transparent;color:var(--text);border-style:dashed;font-weight:400}
.lb-v2 .lb-qualification{margin:0 0 18px;padding:14px 16px;border:1px solid var(--glass-edge);border-radius:16px;background:var(--jade-wash)}
.lb-v2 .lb-qualification strong{display:block;color:var(--jade-ink);font-size:16px;line-height:1.45;font-variant-numeric:tabular-nums}
.lb-v2 .lb-qualification p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5;text-wrap:pretty}
#spire-sidebar{display:none}
.rw-mode-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;order:3;margin:24px 0 8px;width:100%}
body[data-screen=home] .rw-mode-row>button{position:relative;inset:auto;transform:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;width:100%;min-width:0;min-height:96px;margin:0;padding:20px 24px;border-radius:18px;font:600 20px/1.3 var(--ui);text-align:left;white-space:normal}
body[data-screen=home] .rw-mode-row>button .label{font:inherit;white-space:normal}
body[data-screen=home] .rw-mode-row>button .sub{display:block;font:400 13px/1.45 var(--ui);color:inherit;opacity:.85;margin:0}
body[data-screen=home] .rw-mode-row>.primary{background:var(--paper,#f6f2ea);color:#14241f;padding-right:62px}
body[data-screen=home] .rw-mode-row>.secondary{background:#15251f;color:var(--text);border:1px solid var(--glass-edge)}
body[data-screen=home] .rw-mode-row .glyph{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:24px;height:24px;min-width:0;margin:0;background:none;color:inherit;box-shadow:none;font-size:16px;display:grid;place-items:center}
.rw-more-info>.secondary{width:100%;min-height:44px;font-size:14px}
@media(max-width:760px){.rw-mode-row{grid-template-columns:1fr;gap:12px;margin:20px 0 8px}body[data-screen=home] .rw-mode-row>button{min-height:80px;padding:16px 20px;font-size:18px}}
#personal-records{padding:20px;border:1px solid var(--glass-edge);border-radius:22px;background:#101c19;color:var(--text);text-align:left;min-width:0}
#personal-records h2{margin:0 0 16px;font:600 19px/1.3 var(--ui)}
#personal-records dl{margin:0;display:grid;gap:12px}
#personal-records dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
#personal-records dt{font:400 14px/1.4 var(--ui);color:var(--muted)}
#personal-records dd{margin:0;font:600 16px/1.4 var(--ui);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
#personal-records .records-scope{margin:16px 0 0;color:var(--muted);font:400 12px/1.5 var(--ui)}
#personal-records .progress-line{margin:16px 0 0;padding-top:16px;border-top:1px solid var(--glass-edge);font:400 13px/1.55 var(--ui);color:var(--text)}
#personal-records .progress-line h3{margin:0 0 12px;font:600 16px/1.3 var(--ui)}
#personal-records .bearing-checklist{list-style:none;margin:0;padding:0;display:grid;gap:0}
#personal-records .bearing-checklist li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:8px;padding:12px 0;border-bottom:1px solid var(--glass-edge)}
.bearing-check{width:18px;height:18px;margin-top:2px;border:1px solid #81948b;border-radius:50%;display:grid;place-items:center;color:#b8efda}
.bearing-check svg{width:16px;height:16px}.bearing-checklist [data-complete=true] .bearing-check{border-color:#b8efda;background:#204539}
.bearing-task b{display:block;font:600 13px/1.4 var(--ui)}.bearing-task small{display:block;margin-top:4px;color:var(--muted);font:400 11px/1.5 var(--ui)}
.bearing-amount{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font:600 12px/1.5 var(--ui)}
#personal-records .bearing-help{margin:12px 0;font:400 11px/1.5 var(--ui);color:var(--muted)}
.bearing-raffle-link{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px;border:1px solid var(--glass-edge);border-radius:12px;background:#20392f;text-decoration:none;color:var(--text);font:500 12px/1.4 var(--ui)}
.bearing-raffle-link:focus-visible{outline:3px solid #ead294;outline-offset:3px}
.arrival>#personal-records{order:7;margin-top:16px;width:100%}
@media(min-width:1200px){
  body[data-sections=true]:not([data-screen=game]) #spire-sidebar{display:grid;gap:16px;position:fixed;z-index:14;left:var(--tree-x);top:calc(var(--head-h) + 8px);width:var(--tree-w);max-height:calc(100dvh - var(--head-h) - 112px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--glass-edge) transparent}
  body[data-sections=true]:not([data-screen=game]) #spire-sidebar .spire-tree{position:static;width:100%;max-height:none;overflow:visible}
}
.lb-window-tick { display:inline-flex; vertical-align:middle; margin-inline-start:.4em; color:#b7efd9; }
.lb-window-tick svg { flex:none; }
.lb-v2 .lb-person-label { display:flex; align-items:center; min-width:0; max-width:100%; }
.lb-v2 .lb-person-text { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.lb-v2 .lb-window-tick { flex:0 0 18px; overflow:visible; }
.lb-era { list-style:none; padding:1rem .5rem .65rem; color:#c3cec6; font-size:.8rem; line-height:1.4; border-bottom:1px solid #405149; }
