.network-status{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-xl);margin:var(--ui-space-md) 0;padding:var(--ui-space-lg) var(--ui-space-xl);border:var(--ui-border) solid var(--ui-selected-line);border-radius:var(--ui-radius-sm);background:var(--ui-accent-bg);color:var(--ui-selected-text)}.network-status p{margin:0;line-height:1.5}.network-status button{flex-shrink:0;padding:var(--ui-space-md) var(--ui-space-lg)}.network-status[hidden]{display:none}@media(max-width:650px){.network-status{align-items:stretch;flex-direction:column;gap:var(--ui-space-md)}}
.arena-toolbar{display:flex;gap:var(--ui-space-md);flex-wrap:wrap;padding:var(--ui-space-md) 0}.arena-toolbar button{padding:var(--ui-space-md) var(--ui-space-lg)}.arena-dialog{color:var(--ui-text);background:var(--ui-surface-1);border:var(--ui-border) solid var(--ui-line-control);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-pop);padding:calc(1 * var(--ui-space-xl) + var(--ui-space-md));width:min(1200px,94vw);max-height:92vh;overflow:auto;font:var(--ui-fs-num)/1.5 var(--ui-font)}.arena-dialog::backdrop{background:color-mix(in srgb,var(--ui-surface-0) 85%,transparent);backdrop-filter:blur(3px)}.arena-dialog header{display:flex;align-items:center;justify-content:space-between;gap:calc(1 * var(--ui-space-xl) + var(--ui-space-xs));margin-bottom:var(--ui-space-xl);position:static;background:none;padding:0;border:0}.arena-dialog h2{font:var(--ui-fs-h1) var(--ui-font-serif);margin:0;color:var(--ui-gold-light)}.arena-dialog h3{font-size:var(--ui-fs-title);margin:0 0 var(--ui-space-lg);color:var(--ui-gold-light)}.arena-dialog p{color:var(--ui-text-2);margin:var(--ui-space-md) 0 var(--ui-space-xl)}.arena-dialog button,.arena-dialog input,.arena-dialog select{font:inherit;color:var(--ui-text);background:var(--ui-surface-3);border:var(--ui-border) solid var(--ui-line-control);border-radius:var(--ui-radius-sm);padding:var(--ui-space-md);max-width:100%;box-sizing:border-box}.arena-dialog button{cursor:pointer}.arena-dialog button:disabled{opacity:.45;cursor:default}.arena-dialog button:hover:not(:disabled){border-color:var(--ui-gold-light);background:var(--ui-accent-bg)}.arena-dialog input[type=checkbox]{width:17px;height:17px;accent-color:var(--ui-gold-light);margin:0}.setup-columns{display:grid;grid-template-columns:minmax(180px,1fr) minmax(340px,2fr) minmax(180px,1fr);gap:calc(1 * var(--ui-space-xl) + var(--ui-space-md))}.setup-columns>section{min-width:0;background:var(--ui-surface-1);padding:var(--ui-space-xl);border:var(--ui-border) solid var(--pal-section-line);border-radius:var(--ui-radius-md)}.rule-switch{display:flex!important;align-items:center;gap:var(--ui-space-md);margin:var(--ui-space-lg) 0!important;font-weight:500!important}.kit-starters{display:flex;gap:var(--ui-space-sm);flex-wrap:wrap}.setup-equipment{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-space-md);margin:var(--ui-space-lg) 0}.arena-dialog label{font-size:var(--ui-fs-md);margin:0;display:block;color:var(--ui-text-2)}.arena-dialog select,.arena-dialog input:not([type=checkbox]){display:block;width:100%;margin-top:var(--ui-space-xs)}.setup-bag,.opponent-bag{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--ui-space-xs);margin:var(--ui-space-lg) 0}.setup-bag button{position:relative;aspect-ratio:1;padding:0;background:var(--ui-surface-1);border:var(--ui-border) solid var(--ui-line);min-width:0}.setup-bag button.selected{border-color:var(--ui-gold-bright);box-shadow:inset 0 0 0 var(--ui-border) var(--ui-gold-bright)}.setup-bag img,.opponent-bag img{width:100%;height:100%;object-fit:contain}.setup-bag span{position:absolute;right:4px;bottom:1px;color:var(--ui-gold-light);text-shadow:var(--ui-border) var(--ui-border) var(--ui-surface-0)}.bag-edit{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--ui-space-md);margin:var(--ui-space-lg) 0}.bag-edit>button{grid-column:1/-1}.opponent-items p{font-size:var(--ui-fs-md);margin:var(--ui-space-2xs) 0}.opponent-bag span{aspect-ratio:1;background:var(--ui-surface-2);border:var(--ui-border) solid var(--pal-span-line);display:block}.preset-panel{margin-top:calc(1 * var(--ui-space-xl) + var(--ui-space-xs));border-top:var(--ui-border) solid var(--ui-line);padding-top:var(--ui-space-xl);display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-space-md)}.preset-panel h3{width:100%;margin:0}.preset-panel>select,.preset-panel>input{width:auto!important;max-width:230px!important}.setup-actions{display:flex;justify-content:flex-end;gap:var(--ui-space-md);position:sticky;bottom:-24px;padding:var(--ui-space-xl) 0;background:var(--ui-surface-1);border-top:var(--ui-border) solid var(--ui-line);margin-top:calc(1 * var(--ui-space-xl) + var(--ui-space-2xs))}.setup-actions #apply-setup{background:var(--pal-apply-setup-bg)}.setup-actions #confirm-setup{background:var(--pal-confirm-setup-bg);color:var(--ui-surface-sunk);font-weight:bold}.setup-note{font-size:var(--ui-fs-md)}.player-lobby{border-bottom:var(--ui-border) solid var(--ui-line);margin-bottom:var(--ui-space-xl);padding-bottom:var(--ui-space-xl)}.lobby-player{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-md);padding:var(--ui-space-md) 0}.lobby-player span{overflow-wrap:anywhere;font-size:var(--ui-fs-md)}.lobby-player button{padding:var(--ui-space-sm) var(--ui-space-md)}.hall-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:calc(2 * var(--ui-space-xl))}.champion-monument{margin:0;background:radial-gradient(ellipse,var(--ui-accent-bg),var(--ui-surface-0));border:var(--ui-border) solid var(--pal-champion-monument-line);border-radius:var(--ui-radius-md);overflow:hidden;text-align:center}.champion-monument canvas{display:block;width:100%;height:390px;touch-action:none;cursor:grab}.champion-plaque{display:flex;flex-direction:column;gap:var(--ui-space-md);margin:0 calc(1 * var(--ui-space-xl) + var(--ui-space-md)) var(--ui-space-xl);padding:calc(1 * var(--ui-space-xl) + var(--ui-space-2xs)) var(--ui-space-md);border:var(--ui-border-active) solid var(--ui-gold-line);background:linear-gradient(125deg,var(--pal-champion-plaque-bg),var(--ui-gold-bg));color:var(--ui-gold-light);box-shadow:inset 0 0 0 var(--ui-border-chosen) var(--ui-gold-bg)}.champion-plaque small{font-size:var(--ui-fs-xs);letter-spacing:.18em}.champion-plaque strong{font:var(--ui-fs-display) var(--ui-font-serif);overflow-wrap:anywhere;text-shadow:0 var(--ui-border) var(--ui-surface-0)}.champion-plaque span{font-size:var(--ui-fs-md)}.champion-monument>p{font-size:var(--ui-fs-sm)}.hall-dialog table{width:100%;border-collapse:collapse;text-align:left}.hall-dialog th,.hall-dialog td{padding:var(--ui-space-lg) var(--ui-space-md);border-bottom:var(--ui-border) solid var(--pal-th-border)}.hall-dialog th{color:var(--ui-gold-light);font-size:var(--ui-fs-md)}.hall-dialog tbody tr:first-child{background:var(--pal-tr-bg);color:var(--ui-gold-light)}.hall-dialog #highscores-table td:nth-child(2){overflow-wrap:anywhere}.hall-dialog section{overflow-x:auto}.arena-dialog [hidden]{display:none!important}@media(max-width:900px){.setup-columns{grid-template-columns:1fr 2fr}.opponent-setup{grid-column:1/-1}.opponent-bag{max-width:300px}.hall-layout{grid-template-columns:1fr}.champion-monument{max-width:440px;margin:auto;width:100%}}@media(max-width:600px){.arena-dialog{padding:var(--ui-space-lg)}.setup-columns{grid-template-columns:1fr}.setup-actions{bottom:-14px;flex-wrap:wrap}.hall-dialog th,.hall-dialog td{padding:var(--ui-space-md) var(--ui-space-xs)}.champion-monument canvas{height:300px}}
.world-champion-plaque{position:absolute;z-index:var(--z-local-3);transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:var(--ui-space-2xs);max-width:210px;min-width:140px;padding:var(--ui-space-sm) var(--ui-space-md)!important;border:var(--ui-border) solid var(--ui-gold-line)!important;background:linear-gradient(120deg,var(--pal-world-champion-plaque-bg),var(--ui-gold-bg))!important;color:var(--ui-gold-light)!important;box-shadow:var(--ui-shadow-float);pointer-events:auto}.world-champion-plaque small{font-size:var(--ui-fs-badge);letter-spacing:.12em}.world-champion-plaque strong{font:var(--ui-fs-num) var(--ui-font-serif);overflow-wrap:anywhere}.world-champion-plaque[hidden]{display:none!important}
.arena-dialog{max-width:min(1200px,94vw)}.arena-dialog h3{font-size:var(--ui-fs-title)!important}.hall-dialog{width:min(1040px,94vw)}

/* Preparation is paged; only content lists scroll on short screens. */
.setup-dialog{height:min(780px,94dvh);max-height:94dvh;box-sizing:border-box;overflow:hidden;padding:var(--ui-space-xl)}
.setup-dialog[open]{display:flex;flex-direction:column;gap:var(--ui-space-md)}.setup-dialog header{margin:0}.setup-dialog #setup-status{margin:0;min-height:22px}.setup-tabs{display:flex;gap:var(--ui-space-md)}.setup-tabs button[aria-pressed=true]{background:var(--pal-button-bg-3);color:var(--ui-surface-1)}.setup-columns{display:block;flex:1;min-height:0;overflow:auto}.setup-columns>section{height:100%;box-sizing:border-box;padding:var(--ui-space-lg)}.setup-columns .preset-panel{height:auto;margin:0;min-height:100%;align-content:flex-start}.kit-layout{display:grid;grid-template-columns:1fr 1fr;gap:calc(1 * var(--ui-space-xl) + var(--ui-space-md))}.setup-equipment{align-content:start;margin:0;gap:var(--ui-space-sm)}.setup-bag{width:min(100%,220px);margin:0 auto var(--ui-space-sm);gap:var(--ui-space-2xs)}.bag-edit{margin:var(--ui-space-sm) 0;gap:var(--ui-space-xs)}.setup-dialog .setup-actions{position:static;flex-shrink:0;margin:0;padding:var(--ui-space-md) 0 0}.setup-dialog .opponent-bag{max-width:210px}.setup-dialog .opponent-items{display:grid;grid-template-columns:1fr 1fr;gap:0 calc(1 * var(--ui-space-xl) + var(--ui-space-md))}.setup-dialog .opponent-bag{grid-column:2;grid-row:1/13}.setup-dialog .kit-starters+p{margin:var(--ui-space-sm) 0}.setup-dialog h3{margin-bottom:var(--ui-space-md)}.setup-dialog input,.setup-dialog select{padding:var(--ui-space-xs)}.setup-dialog .rule-switch{margin:var(--ui-space-md) 0!important}@media(max-width:650px){.kit-layout{grid-template-columns:1fr;gap:var(--ui-space-lg)}.setup-dialog{padding:var(--ui-space-md)}.setup-tabs{gap:var(--ui-space-xs)}.setup-tabs button{padding:var(--ui-space-sm)}.setup-dialog .setup-actions{flex-wrap:wrap}}
.world-marker{position:absolute;transform:translate(-50%,-100%);z-index:var(--z-local-4);max-width:240px;background:color-mix(in srgb,var(--ui-surface-2) 91%,transparent);border:var(--ui-border) solid var(--pal-world-marker-line);border-radius:var(--ui-radius-sm);padding:var(--ui-space-sm) var(--ui-space-md);color:var(--ui-selected-text);font-size:var(--ui-fs-md);pointer-events:none}.world-marker:is(button){pointer-events:auto}.world-marker[hidden]{display:none}.death-dialog{max-width:850px}.protected-items,.protection-preferences{display:flex;gap:var(--ui-space-md);flex-wrap:wrap;margin:var(--ui-space-lg) 0}.protected-items p{padding:var(--ui-space-md);border:var(--ui-border) solid var(--ui-selected-line);border-radius:var(--ui-radius-sm)}.protection-inventory{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--ui-space-md);max-height:35dvh;overflow:auto}.protection-inventory button{display:flex;align-items:center;gap:var(--ui-space-md);text-align:left}.protection-inventory img{width:36px;height:36px}.arena-toolbar{padding:var(--ui-space-xs) var(--ui-space-md);gap:var(--ui-space-sm)}.arena-toolbar button{padding:var(--ui-space-xs) var(--ui-space-md);font-size:var(--ui-fs-md)}.network-status{margin:0;padding:var(--ui-space-xs) var(--ui-space-md);gap:var(--ui-space-md)}.network-status p{font-size:var(--ui-fs-md)}.network-status button{padding:var(--ui-space-xs) var(--ui-space-md)}.setup-dialog header{height:auto;padding:0;border:0}.death-dialog header{height:auto;padding:0}.setup-dialog .setup-actions button{padding:var(--ui-space-sm) var(--ui-space-md)}
.setup-bag span{font-size:var(--ui-fs-xs)}
.lobby-dialog{width:min(440px,94vw);max-height:82dvh;padding:var(--ui-space-lg);border-radius:var(--ui-radius-sm);background:color-mix(in srgb,var(--ui-surface-2) 94%,transparent)}.lobby-dialog header{height:auto;padding:0;margin-bottom:var(--ui-space-md)}.lobby-dialog h2{font-size:var(--ui-fs-h2)}.lobby-dialog h3{font-size:var(--ui-fs-lg)!important}.lobby-dialog .duel-room{margin:0;padding:0;border:0}.lobby-dialog .player-lobby{margin-bottom:var(--ui-space-md);padding-bottom:var(--ui-space-md)}.lobby-dialog .player-lobby>p{font-size:var(--ui-fs-sm);margin:var(--ui-space-xs) 0}.lobby-dialog button,.lobby-dialog select,.lobby-dialog input{padding:var(--ui-space-xs) var(--ui-space-sm);font-size:var(--ui-fs-md)}.lobby-dialog #bot-practice{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-space-sm);padding:var(--ui-space-md);background:var(--ui-accent-bg);border:var(--ui-border) solid var(--pal-service-heading-border)}.lobby-dialog #bot-practice small{grid-column:1/-1;font-size:var(--ui-fs-xs);color:var(--pal-small-text-11)}.lobby-dialog #room-start>strong{font-size:var(--ui-fs-md)}.lobby-dialog #duel-room-panel>small{font-size:var(--ui-fs-xs)}.lobby-dialog #room-lobby{font-size:var(--ui-fs-md)}
/* One compact kit review, with optional rules and favourites. */
.simple-setup{width:min(740px,95vw);height:min(740px,94dvh)}.simple-setup h2{font-size:var(--ui-fs-h2)}.duel-content{overflow:auto;min-height:0;flex:1}.simple-setup .kit-starters{display:grid;grid-template-columns:repeat(5,1fr);margin-bottom:var(--ui-space-lg)}.kit-starters button{display:flex;align-items:center;justify-content:center;gap:var(--ui-space-xs)}.kit-starters img{width:26px;height:26px}.duel-kits{display:grid;grid-template-columns:1.5fr 1fr;gap:calc(1 * var(--ui-space-xl) + var(--ui-space-xs))}.duel-kits h3{font-size:var(--ui-fs-lg)!important}.worn-kit{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--ui-space-2xs);margin-bottom:var(--ui-space-md)}.worn-kit button,.kit-catalog button{min-width:0;position:relative;aspect-ratio:1;padding:var(--ui-space-2xs)!important;background:var(--ui-surface-2)}.worn-kit img,.kit-catalog img{width:100%;height:100%;object-fit:contain}.simple-setup .setup-bag{width:100%;max-width:240px;margin:var(--ui-space-md) auto}.simple-setup .setup-bag small{position:absolute;bottom:1px;right:3px;color:var(--ui-gold-light);font-size:var(--ui-fs-xs)}.simple-setup .selected{border-color:var(--ui-gold-bright)!important}.duel-opponent{padding-left:var(--ui-space-xl);border-left:var(--ui-border) solid var(--pal-duel-opponent-border)}.simple-setup .opponent-bag{grid-template-columns:repeat(5,1fr);max-width:none;gap:var(--ui-space-2xs)}.simple-setup .opponent-bag img{aspect-ratio:1;min-width:0;background:var(--ui-accent-bg);border:var(--ui-border) solid var(--pal-img-line)}.simple-setup .duel-opponent p{font-size:var(--ui-fs-md);margin:0}.duel-rules,.duel-favourites{margin-top:var(--ui-space-lg);border-top:var(--ui-border) solid var(--ui-selected-bg);padding:var(--ui-space-md) 0}.duel-rules summary,.duel-favourites summary{cursor:pointer;color:var(--ui-gold-light);font-size:var(--ui-fs-md)}.duel-switches{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ui-space-xs)}.duel-rules p{font-size:var(--ui-fs-sm);margin-bottom:0}.duel-favourites>input,.duel-favourites>select{max-width:300px}.kit-picker{padding:var(--ui-space-md);background:var(--ui-surface-1);border:var(--ui-border) solid var(--pal-kit-picker-line);margin-top:var(--ui-space-md)}.kit-filters{display:flex;gap:var(--ui-space-xs);margin:var(--ui-space-sm) 0}.kit-filters button{padding:var(--ui-space-xs) var(--ui-space-md)!important;font-size:var(--ui-fs-sm)!important}.kit-catalog{display:grid;grid-template-columns:repeat(9,1fr);gap:var(--ui-space-xs);max-height:180px;overflow:auto}.kit-catalog button:first-child{font-size:var(--ui-fs-xs)}.simple-setup [data-style=melee]{background:var(--ui-danger-bg)}.simple-setup [data-style=ranged]{background:var(--ui-accent-bg)}.simple-setup [data-style=magic]{background:var(--pal-part-bg)}.simple-setup .setup-actions span{margin-right:auto;font-size:var(--ui-fs-sm);color:var(--pal-span-text-11);align-self:center}.chat-invites:empty{display:none}.chat-invites{max-height:85px;overflow:auto;background:color-mix(in srgb,var(--pal-chat-invites-bg) 60%,transparent);border-left:var(--ui-border-active) solid var(--ui-selected-line);padding:var(--ui-space-2xs) var(--ui-space-sm)}.chat-invite{display:flex;align-items:center;gap:var(--ui-space-md);font-size:var(--ui-fs-md)}.chat-invite button{background:none;border:0;color:var(--ui-gold-light);padding:var(--ui-space-xs);text-align:left;font-size:var(--ui-fs-md);text-decoration:underline}.chat-invite span{color:var(--pal-span-text-12)}@media(max-width:540px){.duel-kits{gap:var(--ui-space-md);grid-template-columns:1.5fr 1fr}.duel-opponent{padding-left:var(--ui-space-md)}.kit-starters button{flex-direction:column;font-size:var(--ui-fs-sm)}.duel-switches{grid-template-columns:repeat(2,1fr)}.kit-catalog{grid-template-columns:repeat(6,1fr)}.simple-setup .setup-actions span{display:none}}
.social-dialog,.trade-dialog{width:min(680px,94vw);max-height:90dvh;padding:var(--ui-space-xl)}.social-dialog h2,.trade-dialog h2{font-size:var(--ui-fs-h2)}.social-add{display:flex;gap:var(--ui-space-sm)}.social-add input{flex:1;min-width:0}.social-lists{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-space-xl);margin:var(--ui-space-xl) 0;max-height:180px;overflow:auto}.social-person{display:flex;gap:var(--ui-space-xs);justify-content:space-between;margin:var(--ui-space-xs) 0}.social-person button{padding:var(--ui-space-xs);font-size:var(--ui-fs-sm)}.private-history{max-height:180px;overflow:auto;background:var(--ui-surface-1);margin:var(--ui-space-md) 0;padding:var(--ui-space-md)}.private-history button{display:block;background:none;border:0;font-size:var(--ui-fs-md);text-align:left;color:var(--pal-button-text-3);padding:var(--ui-space-2xs)}.private-conversation form{display:flex;gap:var(--ui-space-sm)}.private-conversation input{min-width:0}.social-notices:has(.chat-invite:empty)+div:empty,.social-notices:has(>.chat-invite:empty):not(:has(button)){display:none}.social-notices .chat-invite{background:color-mix(in srgb,var(--pal-chat-invite-bg) 50%,transparent);padding-inline:var(--ui-space-sm)}.social-notices button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.trade-offers{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-space-lg)}.trade-offers section{background:var(--ui-surface-1);border:var(--ui-border) solid var(--pal-section-line-2);padding:var(--ui-space-md);min-height:90px}.trade-offers button,.trade-inventory button{position:relative;width:43px;height:43px;padding:var(--ui-space-2xs);margin:var(--ui-space-2xs)}.trade-offers img,.trade-inventory img{width:100%;height:100%}.trade-offers span,.trade-inventory span{position:absolute;bottom:0;right:2px;font-size:var(--ui-fs-xs);color:var(--ui-gold-light)}.trade-inventory{display:grid;grid-template-columns:repeat(5,45px);max-height:280px;overflow:auto;margin:var(--ui-space-md) 0}.trade-dialog p{font-size:var(--ui-fs-md)}.trade-dialog label{max-width:160px}#accept-trade{background:var(--ui-selected-line);color:var(--ui-surface-sunk);font-weight:bold;float:right}
.chat-player-name{color:var(--ui-gold-light);cursor:pointer}.chat-player-name:hover{text-decoration:underline}.chat-player-name:focus-visible{outline:var(--ui-border) solid var(--ui-gold-light)}
.simple-setup .duel-kits>section:first-child{display:grid;grid-template-columns:minmax(112px,.8fr) minmax(155px,1.1fr);gap:var(--ui-space-md);align-content:start}.simple-setup .duel-kits>section:first-child>h3,.simple-setup #kit-spell,.simple-setup #change-kit-item{grid-column:1/-1}.simple-setup .worn-kit{grid-template-columns:repeat(3,1fr);align-content:start;margin:0;gap:var(--ui-space-2xs)}.simple-setup .setup-bag{width:100%;max-width:none;margin:0;align-content:start}.simple-setup .opponent-bag{grid-template-columns:repeat(6,1fr);gap:var(--ui-space-2xs)}.simple-setup .kit-picker{margin-top:0}.simple-setup .kit-catalog{max-height:360px}.simple-setup .kit-picker>button{margin-bottom:var(--ui-space-md)}.simple-setup .setup-bag button{font-size:var(--ui-fs-xs)}@media(max-width:650px){.simple-setup .duel-kits{grid-template-columns:1fr 130px}.simple-setup .duel-kits>section:first-child{grid-template-columns:minmax(75px,.8fr) minmax(110px,1.1fr)}.simple-setup .opponent-bag{grid-template-columns:repeat(4,1fr)}}@media(max-width:420px){.simple-setup .duel-kits{grid-template-columns:1fr}.simple-setup .duel-opponent{border:0;padding:0}.simple-setup .opponent-bag{grid-template-columns:repeat(10,1fr)}.simple-setup .duel-kits>section:first-child{grid-template-columns:100px 150px}}

@media(min-width:651px){.simple-setup .duel-kits>section:first-child{grid-template-columns:132px minmax(155px,1fr)}.simple-setup .worn-kit{grid-template-columns:repeat(3,42px)}.simple-setup .setup-bag{max-width:205px}.simple-setup .kit-starters{margin-bottom:var(--ui-space-md)}}
.simple-setup .opponent-kit-item{position:relative;aspect-ratio:1;min-width:0}.simple-setup .opponent-kit-item img{width:100%;height:100%;box-sizing:border-box}.simple-setup .opponent-kit-item small{position:absolute;bottom:0;right:2px;font-size:var(--ui-fs-badge);color:var(--ui-gold-light);text-shadow:var(--ui-border) var(--ui-border) var(--ui-surface-0)}
.support-dialog{width:min(560px,94vw);max-height:90dvh;padding:calc(1 * var(--ui-space-xl) + var(--ui-space-xs))}.support-dialog form{display:grid;gap:var(--ui-space-lg)}.support-dialog h2,.support-dashboard h2{margin:0;font-size:var(--ui-fs-h2)}.support-dialog p{margin:0;line-height:1.5}.support-dialog textarea{width:100%;resize:vertical;min-height:130px;max-height:35vh;background:var(--ui-surface-1);color:var(--pal-textarea-text);border:var(--ui-border) solid var(--pal-textarea-line);padding:var(--ui-space-md);font:inherit}.support-dialog select,.support-dashboard select{background:var(--ui-surface-3);color:var(--pal-textarea-text);border:var(--ui-border) solid var(--pal-textarea-line);padding:var(--ui-space-sm)}.support-dialog footer,.support-dashboard header{display:flex;gap:var(--ui-space-md);align-items:center}.support-status{overflow-wrap:anywhere}.support-dashboard{width:min(980px,96vw);max-height:92dvh;overflow:auto;padding:calc(1 * var(--ui-space-xl) + var(--ui-space-xs))}.support-dashboard header h2{flex:1}.support-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:var(--ui-space-md);margin:var(--ui-space-xl) 0}.support-metrics>div{padding:var(--ui-space-lg);background:var(--ui-surface-3);border-radius:var(--ui-radius-sm)}.support-metrics small,.support-metrics strong{display:block}.support-metrics strong{font-size:var(--ui-fs-h3);margin-top:var(--ui-space-md)}.support-dashboard table{width:100%;font-size:var(--ui-fs-lg);border-collapse:collapse}.support-dashboard td,.support-dashboard th{padding:var(--ui-space-sm);text-align:left;border-bottom:var(--ui-border) solid var(--ui-line-field)}.support-dashboard p{font-size:var(--ui-fs-lg);line-height:1.5}.support-report-row{display:block;width:100%;text-align:left;white-space:pre-wrap;padding:var(--ui-space-md);margin:var(--ui-space-md) 0}.support-dashboard pre{max-height:350px;overflow:auto;background:var(--ui-surface-sunk);padding:var(--ui-space-lg);white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--ui-fs-md)}

.world-selector{max-width:680px;width:90%;background:var(--ui-surface-2);color:var(--pal-world-selector-text);border:var(--ui-border) solid var(--pal-world-selector-line);padding:calc(1 * var(--ui-space-xl) + var(--ui-space-md))}.world-choice{display:flex;gap:var(--ui-space-xl);align-items:center;flex-wrap:wrap;padding:var(--ui-space-lg) 0;border-bottom:var(--ui-border) solid var(--ui-line)}.world-choice strong{flex:1}.world-choice span{font-size:var(--ui-fs-num)}

.world-switcher{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-space-sm);margin-left:auto;max-width:100%}.world-switcher-label{font-size:var(--ui-fs-xs);color:var(--pal-world-switcher-label-text);text-transform:uppercase;letter-spacing:.07em}.world-buttons{display:flex;flex-wrap:wrap;gap:var(--ui-space-sm)}.world-switcher .world-button{display:flex;align-items:center;gap:var(--ui-space-md);min-width:181px;padding:var(--ui-space-sm) var(--ui-space-md);text-align:left;background:var(--ui-surface-2);border:var(--ui-border) solid var(--ui-line-control);border-radius:var(--ui-radius-sm)}.world-button:not(:disabled):hover{background:var(--ui-accent-bg);border-color:var(--ui-selected-line)}.world-button:focus-visible{outline:var(--ui-border-active) solid var(--ui-gold-light);outline-offset:2px}.world-button-details{display:grid;gap:var(--ui-space-2xs)}.world-button-details strong{font-size:var(--ui-fs-md);color:var(--ui-selected-text)}.world-button-details small{font-size:var(--ui-fs-xs);color:var(--ui-text-2);white-space:nowrap}/* r66 live: the ping cell is as wide as "000 ms" (a hidden sizer), so the cards keep their width while pinging (two fit side by side on the Play page: its small gap); the list's space is held hidden until it is filled */.world-ping{display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums}.world-ping::before{content:'000 ms';display:block;height:0;overflow:hidden;visibility:hidden}.world-switcher-pending{visibility:hidden}#character .world-switcher .world-button{gap:var(--ui-space-sm)}.world-flag{width:28px;height:18px;flex:none;background:center/contain no-repeat;border-radius:var(--ui-radius-xs)}.flag-au{background-image:url('/flag-au.svg')}.flag-us{background-image:url('/flag-us.svg')}.world-button-badge{margin-left:auto;font-size:var(--ui-fs-badge);color:var(--ui-gold-light)}.world-switcher .current-world:disabled{opacity:1;background:var(--ui-accent-bg);border-color:var(--ui-selected-line);cursor:default}.current-world .world-button-badge{color:var(--ui-accent)}.world-switch-status{flex-basis:100%;margin:0;font-size:var(--ui-fs-sm);color:var(--ui-gold-light)}.world-switch-status:empty{display:none}#character .world-switcher{justify-content:center;margin:var(--ui-space-xl) 0 0}#character .world-switcher-label{flex-basis:100%}@media(max-width:700px){.world-switcher{margin-left:0;flex-basis:100%}.world-buttons{flex:1}.world-switcher .world-button{min-width:145px;flex:1}.world-button-badge{font-size:var(--ui-fs-badge)}.world-switcher-label{font-size:var(--ui-fs-badge)}}

.highscore-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--ui-space-xs);margin-bottom:var(--ui-space-lg)}.highscore-tabs button{font-size:var(--ui-fs-sm);padding:var(--ui-space-xs);min-width:0}.highscore-tabs [aria-selected=true]{background:var(--pal-part-bg-2);border-color:var(--ui-selected-line)}.hall-layout.skill-board{grid-template-columns:1fr}.highscore-paging{display:flex;align-items:center;justify-content:center;gap:var(--ui-space-lg);margin-top:var(--ui-space-md)}.hall-dialog th,.hall-dialog td{padding:var(--ui-space-sm) var(--ui-space-md);font-size:var(--ui-fs-md)}.hall-dialog .champion-monument canvas{height:245px}.hall-dialog .champion-plaque{padding:var(--ui-space-md);margin:0 var(--ui-space-lg) var(--ui-space-md);gap:var(--ui-space-xs)}.hall-dialog .champion-plaque strong{font-size:var(--ui-fs-h2)}.hall-dialog header h2{font-size:var(--ui-fs-display)}.hall-dialog .hall-layout{gap:var(--ui-space-xl)}.hall-dialog section{overflow:visible}@media(max-width:600px){.highscore-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}

.highscore-tools form{display:flex;gap:var(--ui-space-xs);align-items:center;margin:var(--ui-space-xs) 0}.highscore-tools form input{flex:1;min-width:0;margin:0!important}.highscore-tools form button{flex:none;font-size:var(--ui-fs-sm);padding:var(--ui-space-sm)}.highscore-tools .comparison-status{font-size:var(--ui-fs-sm);margin:var(--ui-space-xs) 0 var(--ui-space-md)}.comparison-players{display:flex;gap:var(--ui-space-xs);flex-wrap:wrap;margin:var(--ui-space-xs) 0}.comparison-players button{font-size:var(--ui-fs-sm);padding:var(--ui-space-xs) var(--ui-space-sm)}.highscore-comparison{margin:var(--ui-space-md) 0;padding:var(--ui-space-md);border:var(--ui-border) solid var(--ui-line)}.highscore-comparison h3{margin:0 0 var(--ui-space-xs)}.highscore-comparison small{display:block;font-size:var(--ui-fs-xs);color:var(--pal-small-text-12)}.highscore-comparison tbody tr:first-child{background:var(--ui-accent-bg)}.hall-dialog .compare-action button{font-size:var(--ui-fs-xs);padding:var(--ui-space-xs) var(--ui-space-sm)}.highscore-context{position:fixed;z-index:var(--z-raised);padding:var(--ui-space-xs);background:var(--ui-surface-2);border:var(--ui-border) solid var(--pal-highscore-context-line);box-shadow:var(--ui-shadow-pop);max-width:300px}.highscore-context button{display:block;width:100%;text-align:left;font-size:var(--ui-fs-md)}.hall-dialog tr:focus-visible{outline:var(--ui-border-active) solid var(--ui-gold-light)}@media(max-width:600px){.highscore-tools form{flex-wrap:wrap}.highscore-tools form input{flex-basis:100%}.hall-dialog .highscore-comparison{overflow-x:auto}.hall-dialog .compare-action button{max-width:105px}}

.hall-dialog>header{position:sticky;top:-24px;z-index:var(--z-local-2);background:var(--ui-surface-1);padding:var(--ui-space-md) 0}.highscore-comparison small{display:inline-block;margin-left:var(--ui-space-sm)}.highscore-comparison th,.highscore-comparison td{padding:var(--ui-space-xs) var(--ui-space-md)}@media(max-width:600px){.hall-dialog>header{top:-14px}.highscore-comparison small{display:block;margin-left:0}}

.comparison-reference{display:flex!important;align-items:center;gap:var(--ui-space-md);margin:var(--ui-space-sm) 0!important}.comparison-reference select{width:auto!important;max-width:240px!important;margin:0!important;padding:var(--ui-space-xs)!important;font-size:var(--ui-fs-md)!important}.comparison-difference{display:inline-block;margin-left:var(--ui-space-sm);font-size:var(--ui-fs-sm);font-weight:700;white-space:nowrap}.comparison-difference.higher{color:var(--ui-success)}.comparison-difference.lower{color:var(--pal-comparison-difference-lower-text)}.comparison-difference.equal,.comparison-difference.reference{color:var(--pal-comparison-difference-equal-text)}

#duel-return-lobby{display:block;margin:var(--ui-space-md) auto 0;padding:var(--ui-space-md) var(--ui-space-xl)}

.arena-scene-controls{position:absolute;right:12px;bottom:12px;z-index:var(--z-local-5);display:flex;gap:var(--ui-space-sm)}.arena-scene-controls button{background:color-mix(in srgb,var(--ui-surface-2) 94%,transparent);padding:var(--ui-space-sm) var(--ui-space-md);font-size:var(--ui-fs-md)}#banner #change-setup{display:block;margin:var(--ui-space-md) auto 0;padding:var(--ui-space-md) var(--ui-space-xl)}

.hit-label.monument-label{width:128px;white-space:normal;font-size:var(--ui-fs-sm);line-height:1.25;text-align:center}.hit-label.monument-label small{display:block;font-size:var(--ui-fs-xs);white-space:normal;overflow-wrap:anywhere}

/* Trading the OSRS way (#143): two screens, changes highlighted, fits a phone. */
.trade-dialog{width:min(860px,96vw);max-height:94vh;max-height:94dvh;padding:var(--ui-space-lg) var(--ui-space-lg);display:none;flex-direction:column;gap:var(--ui-space-sm)}
.trade-dialog[open]{display:flex}
.trade-dialog header{display:flex;justify-content:space-between;align-items:center;gap:var(--ui-space-md)}.trade-dialog header h2{margin:0;font-size:var(--ui-fs-h3)}
.trade-state{margin:0;font-size:var(--ui-fs-lg);color:var(--ui-accent-light)}
.trade-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--ui-space-md);flex:1 1 auto;min-height:0;overflow:auto}
.trade-dialog.phase-confirm .trade-body{grid-template-rows:auto auto;align-content:start}
.trade-dialog.phase-confirm .trade-body{grid-template-columns:1fr}
.trade-offers{display:flex;flex-direction:column;gap:var(--ui-space-md);min-height:0}
.trade-side,.trade-bag,.trade-confirm section{background:var(--ui-surface-1);border:var(--ui-border) solid var(--pal-section-line-2);border-radius:var(--ui-radius-xs);padding:var(--ui-space-sm) var(--ui-space-md);min-height:0}
.trade-side h3,.trade-bag h3,.trade-confirm h3{margin:0 0 var(--ui-space-xs);font-size:var(--ui-fs-lg);color:var(--ui-gold-light)}
.trade-grid{display:flex;flex-wrap:wrap;gap:var(--ui-space-xs);max-height:34vh;max-height:34dvh;overflow:auto}
.trade-tile{position:relative;width:46px;height:46px;min-height:0;padding:var(--ui-space-2xs);margin:0}.trade-tile img{width:100%;height:100%}.trade-tile:disabled{opacity:1;cursor:default}
.trade-qty{position:absolute;bottom:0;right:2px;font-size:var(--ui-fs-xs);color:var(--ui-gold-light);text-shadow:var(--ui-text-shadow-world)}
.trade-tile.changed-added{outline:var(--ui-border-active) solid var(--ui-success);animation:trade-added 1s ease-in-out 3}
@keyframes trade-added{50%{outline-color:var(--ui-accent-light);box-shadow:0 0 var(--ui-space-md) var(--ui-success)}}
.trade-removed{margin:0 0 var(--ui-space-xs);font-size:var(--ui-fs-md);font-weight:700;color:var(--pal-trade-removed-text);animation:trade-removed 1s ease-in-out 3}
@keyframes trade-removed{50%{color:var(--pal-50-text)}}
.trade-empty{margin:0;font-size:var(--ui-fs-md);color:var(--pal-trade-empty-text)}
.trade-amount{display:flex;gap:var(--ui-space-xs);margin-bottom:var(--ui-space-xs)}.trade-amount button{min-height:30px;padding:var(--ui-space-2xs) var(--ui-space-md);font-size:var(--ui-fs-md)}.trade-amount .selected{border-color:var(--ui-accent);background:var(--ui-accent-bg)}
.trade-confirm{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-space-md)}.trade-list{margin:0;padding-left:calc(1 * var(--ui-space-xl) + var(--ui-space-2xs));font-size:var(--ui-fs-num)}.trade-value{margin:var(--ui-space-sm) 0 0;font-size:var(--ui-fs-lg);color:var(--ui-gold-light)}
.trade-diff{margin:var(--ui-space-xs) 0;font-size:var(--ui-fs-lg);font-weight:700}.trade-diff.loss{color:var(--pal-trade-removed-text)}.trade-diff.gain{color:var(--ui-accent)}
.trade-footer{display:flex;justify-content:flex-end;flex:none;margin:0;height:auto;padding:0}.trade-dialog>header{flex:none;margin-bottom:0}.trade-footer #accept-trade{float:none;min-height:40px;padding:var(--ui-space-sm) calc(1 * var(--ui-space-xl) + var(--ui-space-xs));font-size:var(--ui-fs-num)}
.trade-popup{position:fixed;left:50%;top:70px;transform:translateX(-50%);z-index:var(--z-trade);display:flex;gap:var(--ui-space-md);align-items:center;padding:var(--ui-space-md) var(--ui-space-lg);background:color-mix(in srgb,var(--ui-surface-1) 95%,transparent);border:var(--ui-border-active) solid var(--ui-warn);border-radius:var(--ui-radius-md);color:var(--ui-text);font-size:var(--ui-fs-num);box-shadow:var(--ui-shadow-pop)}
.trade-popup button{min-height:40px;padding:var(--ui-space-xs) var(--ui-space-xl);font-size:var(--ui-fs-num)}.trade-popup.outgoing{border-color:var(--pal-trade-popup-outgoing-line);font-size:var(--ui-fs-lg)}
/* Landscape phones: the window fills the screen; bag and offers side by side. */
@media (max-height:500px){
 .trade-dialog{width:calc(100vw - 12px);max-width:none;height:calc(100vh - 12px);height:calc(100dvh - 12px);max-height:none;padding:var(--ui-space-sm) var(--ui-space-md);gap:var(--ui-space-xs)}
 .trade-dialog header h2{font-size:var(--ui-fs-num)}.trade-state{font-size:var(--ui-fs-md)}
 .trade-grid{max-height:none}.trade-offers{height:100%}.trade-offers .trade-side.mine{flex:0 1 auto;min-height:0;overflow:auto}.trade-offers .trade-side.theirs{flex:1 1 0;min-height:0;overflow:auto}.trade-bag{overflow:auto;min-height:0}
 .trade-body{overflow:hidden}.trade-dialog.phase-confirm .trade-body{overflow:auto}.trade-footer #accept-trade{min-height:36px}
 .trade-tile{width:40px;height:40px}
 .trade-popup{top:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px))}
}
/* Tester accounts (#146): the tag over their head and the tools in the Menu tab. */
.world-marker.tester-tag{background:color-mix(in srgb,var(--pal-world-marker-tester-tag-bg) 80%,transparent);border:var(--ui-border) solid var(--pal-world-marker-tester-tag-line);color:var(--actor-player);font:700 var(--ui-fs-sm) var(--ui-font);letter-spacing:.04em;padding:0 var(--ui-space-sm);border-radius:var(--ui-radius-xs);pointer-events:none}
#tester-tools{border:var(--ui-border) solid var(--pal-tester-tools-line);border-radius:var(--ui-radius-md);padding:var(--ui-space-md) var(--ui-space-md);margin:0 0 var(--ui-space-md);background:var(--pal-tester-tools-bg)}
#tester-tools h3{margin:0 0 var(--ui-space-xs);color:var(--pal-h3-text-2)}
#tester-tools .tester-row{display:flex;flex-wrap:wrap;gap:var(--ui-space-sm);align-items:center;margin:var(--ui-space-sm) 0}
#tester-tools .tester-row>span{min-width:62px;color:var(--pal-span-text-13)}
#tester-tools input{width:120px}#tester-tools input[type=number]{width:70px}
#tester-status{min-height:1.2em;margin:var(--ui-space-xs) 0 0;color:var(--pal-tester-status-text)}
/* Social sub-tabs (#151, layout A): Friends · Group · Ignore · Reports and a privacy cog. */
.social-subtabs{display:flex;gap:var(--ui-space-xs);margin:0 0 var(--ui-space-md);position:sticky;top:0;z-index:var(--z-local-2);background:inherit;padding-bottom:var(--ui-space-xs)}
.social-subtabs button{flex:1 1 0;min-width:0;position:relative;display:flex;align-items:center;justify-content:center;gap:var(--ui-space-xs);padding:var(--ui-space-sm) var(--ui-space-2xs);font:600 var(--ui-fs-sm) var(--ui-font);border-radius:var(--ui-radius-sm)}
.social-subtabs button svg{width:16px;height:16px;flex:none}
.social-subtabs button.cog{flex:0 0 34px}
.social-subtabs button.selected{border-color:var(--pal-button-selected-line);background:color-mix(in srgb,var(--pal-button-selected-line) 22%,var(--ui-surface-2));color:var(--actor-player)}
.social-subtabs em{position:absolute;top:-5px;right:-4px;background:var(--pal-em-bg);color:var(--actor-player);font:700 var(--ui-fs-xs) var(--ui-font);font-style:normal;border-radius:var(--ui-radius-md);padding:0 var(--ui-space-xs)}
.social-count{margin-left:var(--ui-space-md);color:var(--pal-have-text);font-size:var(--ui-fs-md);font-weight:600}
.social-empty{margin:var(--ui-space-sm) 0}
body.mobile-mode .social-subtabs button{min-height:44px}
body.mobile-mode .social-subtabs button span{display:none}
body.mobile-mode .social-subtabs button svg{width:20px;height:20px}
body.mobile-mode .social-subtabs{margin-right:calc(2 * var(--ui-space-xl) + var(--ui-space-lg))} /* room for the panel's close button */
