:root {
  color-scheme: dark;
  --bg: #090a0b;
  --panel: #111315;
  --panel-2: #17191c;
  --panel-3: #1e2124;
  --line: #2d3034;
  --line-soft: #222529;
  --text: #f5f1e8;
  --muted: #a6a39c;
  --gold: #d6a934;
  --gold-light: #f3cf68;
  --gold-dark: #8c6a1d;
  --red: #b54b45;
  --green: #62b589;
  --blue: #7ea8c9;
  --focus: #fff0a4;
  --sidebar: 268px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html,body{max-width:100%;overflow-x:hidden}

/* 0.1.20 · desafíos de alianza, preparación legible y controles directos */
.frame-none::after{display:none!important}.frame-none>span,.frame-none>i{display:none!important}
.alliance-matchmaking .lobby-card{max-width:none}.alliance-matchmaking .lobby-slots{grid-template-columns:repeat(5,minmax(0,1fr))}
.alliance-matchmaking .lobby-slots{grid-template-columns:repeat(var(--party-slots,5),minmax(0,1fr))}
.party-size-control{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.party-size-control select{min-width:62px;padding:8px 10px;border:1px solid var(--line);background:#090b0c;color:var(--text)}
.incoming-party-invite{max-width:720px!important;margin-inline:auto;text-align:center}.incoming-party-invite .lobby-actions{justify-content:center;margin-top:20px}
.audio-settings-card{display:none!important}
.challenge-map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-map-grid .queue-card{min-height:390px}.challenge-map-grid .queue-card img{height:230px;object-fit:contain;background:#050708}
.full-country-draft{transition:box-shadow .3s,background .3s}.full-country-draft.turn-a{box-shadow:inset 0 0 90px color-mix(in srgb,var(--team-a) 13%,transparent)}.full-country-draft.turn-b{box-shadow:inset 0 0 90px color-mix(in srgb,var(--team-b) 13%,transparent)}
.draft-team-side.active-turn{position:relative;border-color:var(--team-a);box-shadow:0 0 38px color-mix(in srgb,var(--team-a) 48%,transparent),inset 0 0 55px color-mix(in srgb,var(--team-a) 16%,transparent);animation:team-fire-shadow 1.8s ease-in-out infinite alternate}.draft-team-side.side-b.active-turn{border-color:var(--team-b);box-shadow:0 0 38px color-mix(in srgb,var(--team-b) 48%,transparent),inset 0 0 55px color-mix(in srgb,var(--team-b) 16%,transparent)}
@keyframes team-fire-shadow{from{filter:brightness(.92)}to{filter:brightness(1.18)}}
.hero-draft-stage.active-side-a{box-shadow:inset 0 0 120px color-mix(in srgb,var(--team-a) 12%,transparent)}.hero-draft-stage.active-side-b{box-shadow:inset 0 0 120px color-mix(in srgb,var(--team-b) 12%,transparent)}.hero-draft-stage.active-side-both{background:linear-gradient(90deg,color-mix(in srgb,var(--team-a) 10%,#111315),#111315 45%,#111315 55%,color-mix(in srgb,var(--team-b) 10%,#111315))}
.hero-team-panel.active-turn{border-width:2px!important;box-shadow:0 0 48px color-mix(in srgb,var(--draft-side) 58%,transparent),inset 0 0 85px color-mix(in srgb,var(--draft-side) 20%,transparent)!important;animation:team-fire-shadow 1.35s ease-in-out infinite alternate}
.hero-portrait{overflow:hidden}.hero-portrait img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.82) contrast(1.08)}.revealed-bans span{width:34px!important;height:34px!important;padding:0!important;overflow:hidden}.revealed-bans img{width:100%;height:100%;object-fit:cover;filter:grayscale(.7) sepia(.25)}
.assignment-stage-head{justify-content:flex-end!important;min-height:24px}.assignment-board{grid-template-columns:minmax(220px,285px) minmax(0,1fr)!important;align-items:start}.assignment-bench{font-size:1rem}.assignment-bench header{font-size:.84rem;letter-spacing:.14em}.assignment-token{min-height:48px!important;font-size:.83rem!important}.assignment-token span{font-size:.78rem!important}.assignment-token img,.loadout-token img{width:32px;height:32px;object-fit:cover}.assignment-map-wrap{min-height:700px!important}.assignment-map svg{min-height:700px}.country-loadout{width:118px!important;min-height:76px;padding:5px!important;border:2px dashed #d8ad3b!important;background:rgba(4,6,7,.23)!important;backdrop-filter:none!important;display:grid;gap:3px;align-content:center}.country-loadout.complete{background:rgba(4,6,7,.64)!important}.loadout-token{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr) 16px;gap:4px;align-items:center;min-height:29px;padding:2px 3px;background:rgba(8,10,12,.88);border:1px solid color-mix(in srgb,var(--team-a) 65%,#333);cursor:grab}.loadout-token span{font-size:.54rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loadout-token i{font-style:normal;font-size:.5rem;color:var(--team-a)}.loadout-token button{border:0;background:transparent;color:#bbb;padding:0;cursor:pointer}.empty-slot{min-height:27px!important;border:1px dashed rgba(216,173,59,.65)!important;background:rgba(0,0,0,.08)!important}.assignment-help{text-align:center;max-width:760px;margin:14px auto 0;color:var(--muted);font-size:.73rem}.assignment-help span{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:7px;border:1px solid var(--gold);border-radius:50%;color:var(--gold)}
.assignment-map .country.is-selected-b path,.assignment-map .country.is-selected-b polygon{fill:#08090a!important;stroke:#36393d!important;filter:none!important}.assignment-map .country.is-selected-a path,.assignment-map .country.is-selected-a polygon{fill:color-mix(in srgb,var(--team-a) 62%,#090b0c)!important}
.analog-clock.selectable{cursor:crosshair}.analog-clock .clock-number{position:absolute;inset:12px;transform:rotate(var(--angle));pointer-events:none}.analog-clock .clock-number b{display:block;margin:auto;width:26px;text-align:center;transform:rotate(var(--angle));font:600 .78rem/1 system-ui;color:#fff}.retro-time{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px auto 8px;padding:12px 18px;border:1px solid #5b4920;background:#030404;box-shadow:inset 0 0 22px #000}.retro-time>div{display:grid;gap:4px}.retro-time output{font:700 2rem/1.1 ui-monospace,monospace;color:#efc44b;text-shadow:0 0 12px rgba(239,196,75,.45)}.retro-time button{border:0;background:transparent;color:#aaa;cursor:pointer}.retro-time>span{font:700 1.8rem ui-monospace;color:#efc44b}.clock-help{display:block;text-align:center;color:#777}
.handoff-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.clash-field{min-width:0}.clash-roster{grid-template-columns:repeat(5,minmax(0,1fr))!important}.player-war-banner{min-height:250px!important;padding:22px 12px!important;position:relative;overflow:hidden}.player-war-banner::before{content:"";position:absolute;inset:0;background:var(--country-flag,linear-gradient(135deg,rgba(255,255,255,.08),transparent));opacity:.25}.banner-country-flag{position:absolute;inset:0;background:var(--country-flag,linear-gradient(135deg,rgba(255,255,255,.08),transparent));opacity:.22}.banner-avatar,.banner-player,.banner-hero,.player-war-banner>em,.banner-order{position:relative;z-index:1}.player-war-banner .banner-avatar{width:66px!important;height:66px!important;border-radius:50%;object-fit:cover}.banner-player{display:grid;justify-items:center;gap:4px}.banner-player>b{display:grid;place-items:center;min-width:26px;height:22px;border:1px solid currentColor}.player-war-banner .banner-hero{width:36px;height:36px;border:1px solid currentColor;object-fit:cover}.handoff-status{position:sticky;top:88px;margin:0!important;text-align:left!important}.handoff-rules{margin:16px 0}.handoff-rules ul{list-style:none;margin:8px 0;padding:0}.handoff-rules li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.72rem}.handoff-rules b{color:var(--gold-light)}
.flag-great-britain{--country-flag:linear-gradient(35deg,#153b7b 0 38%,#eee 39% 47%,#a51c30 48% 57%,#eee 58% 66%,#153b7b 67%)}.flag-france{--country-flag:linear-gradient(90deg,#143e8f 0 33%,#eee 33% 66%,#b3222b 66%)}.flag-germany{--country-flag:linear-gradient(#111 0 33%,#eee 33% 66%,#b72b25 66%)}.flag-italy{--country-flag:linear-gradient(90deg,#1e7d44 0 33%,#eee 33% 66%,#b7282e 66%)}.flag-russia{--country-flag:linear-gradient(#eee 0 33%,#254b9f 33% 66%,#a52b32 66%)}.flag-spain{--country-flag:linear-gradient(#ad2025 0 25%,#e0bd38 25% 75%,#ad2025 75%)}.flag-sweden{--country-flag:linear-gradient(90deg,#2b65a3 0 30%,#e6c636 30% 38%,#2b65a3 38%)}.flag-ottoman{--country-flag:linear-gradient(135deg,#9d2529,#411015)}.flag-austria-hungary{--country-flag:linear-gradient(#b91f2e 0 33%,#eee 33% 66%,#3c773a 66%)}.flag-morocco{--country-flag:linear-gradient(135deg,#8f1f25,#350b0d)}
@media(max-width:1100px){.alliance-matchmaking .lobby-slots,.challenge-map-grid{grid-template-columns:1fr 1fr}.handoff-layout{grid-template-columns:1fr}.handoff-status{position:static}.assignment-board{grid-template-columns:1fr!important}.assignment-map-wrap{order:-1}.clash-roster{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){.alliance-matchmaking .lobby-slots,.challenge-map-grid{grid-template-columns:1fr}.assignment-map-wrap,.assignment-map svg{min-height:520px!important}.country-loadout{width:92px!important}.loadout-token span{display:none}.country-loadout{grid-template-columns:1fr 1fr;min-height:48px}.handoff-layout{display:block}.clash-roster{grid-template-columns:1fr!important}.player-war-banner{min-height:190px!important}}

html[data-ui-size="small"] { font-size: 13px; }
html[data-ui-size="normal"] { font-size: 14.5px; }
html[data-ui-size="large"] { font-size: 16px; }

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button { color: inherit; }
img { max-width: 100%; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
::selection { background: var(--gold); color: #111; }

.skip-link { position: fixed; top: -60px; left: 16px; z-index: 100; padding: 10px 14px; background: var(--gold); color: #111; }
.skip-link:focus { top: 16px; }

.app-shell { min-height: 100vh; }
.topbar {
  position: fixed; inset: 0 0 auto 0; height: 72px; z-index: 30;
  display: grid; grid-template-columns: var(--sidebar) 1fr auto; align-items: center;
  background: #0d0f10; border-bottom: 1px solid var(--line); box-shadow: 0 10px 24px rgba(0,0,0,.2);
}
.brand { height: 72px; display: flex; align-items: center; gap: 12px; padding: 0 24px; text-decoration: none; border-right: 1px solid var(--line); }
.brand img { width: 44px; height: 44px; object-fit: contain; }
.brand-word { font-family: Georgia, serif; font-size: 1.25rem; letter-spacing: .06em; }
.brand-word span { color: var(--gold); }
.top-context { min-width: 0; display: flex; align-items: center; gap: 14px; padding: 0 28px; }
.section-mark { width: 4px; height: 28px; background: var(--gold); }
.context-copy { min-width: 0; }
.context-copy small { display: block; color: var(--gold-light); text-transform: uppercase; letter-spacing: .15em; font-size: .66rem; }
.context-copy strong { display: block; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 580; }
.top-actions { display: flex; align-items: center; gap: 9px; padding-right: 20px; }
.icon-button, .menu-button { width: 42px; height: 42px; border: 1px solid var(--line); background: var(--panel); display: grid; place-items: center; cursor: pointer; }
.icon-button:hover, .menu-button:hover { border-color: var(--gold-dark); color: var(--gold-light); }
.menu-button { display: none; }
.profile-button { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 4px 8px 4px 4px; border: 1px solid var(--line); background: var(--panel); cursor: pointer; }
.profile-button img { width: 34px; height: 34px; object-fit: cover; }
.profile-button span { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .83rem; }
.profile-control { position: relative; }
.profile-menu { position: absolute; right: 0; top: calc(100% + 9px); width: 210px; padding: 7px; background: #111315; border: 1px solid var(--line); box-shadow: 0 18px 42px rgba(0,0,0,.45); }
.profile-menu a,.profile-menu button { display:block;width:100%;padding:10px 12px;color:#d8d5ce;text-align:left;text-decoration:none;border:0;border-left:2px solid transparent;background:transparent;font:inherit;cursor:pointer; }
.profile-menu a:hover,.profile-menu button:hover { color:var(--gold-light);background:#19170f;border-left-color:var(--gold); }
.profile-menu .install-app-action { margin-top:5px;border-top:1px solid var(--line);border-left:2px solid transparent;color:var(--gold-light); }
.locale-select { height: 42px; border: 1px solid var(--line); background: var(--panel); color: var(--text); padding: 0 28px 0 10px; cursor: pointer; }

.sidebar {
  position: fixed; inset: 72px auto 0 0; width: var(--sidebar); z-index: 25;
  padding: 22px 14px 30px; overflow-y: auto; background: #0e1011; border-right: 1px solid var(--line);
}
.nav-label { margin: 14px 12px 8px; color: #777971; text-transform: uppercase; letter-spacing: .16em; font-size: .62rem; }
.nav-link { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 12px; margin: 2px 0; color: #c8c6c0; text-decoration: none; border-left: 2px solid transparent; }
.nav-link:hover { color: var(--text); background: var(--panel); }
.nav-link.active { color: var(--gold-light); background: #1a1811; border-left-color: var(--gold); }
.nav-icon { width: 24px; color: var(--gold); text-align: center; font-size: 1rem; }
.sidebar-foot { margin: 28px 10px 0; padding: 15px 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: .72rem; line-height: 1.5; }
.sidebar-foot strong { display: block; color: var(--green); font-weight: 600; }
.sidebar-foot small { display: block; margin-top: 8px; color: var(--gold-light); font-size: .62rem; letter-spacing: .04em; }
.sidebar-scrim { display: none; }

.main { min-height: 100vh; margin-left: var(--sidebar); padding: 104px 32px 56px; }
.page { max-width: 1440px; margin: 0 auto; animation: reveal .28s ease both; }
@keyframes reveal { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.page-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.eyebrow { color: var(--gold-light); text-transform: uppercase; letter-spacing: .18em; font-size: .67rem; font-weight: 700; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 7px; font-family: Georgia, serif; font-size: clamp(2rem,4vw,3.65rem); font-weight: 500; letter-spacing: -.03em; }
h2 { font-family: Georgia, serif; font-weight: 500; letter-spacing: -.02em; }
.page-head p { margin: 0; color: var(--muted); max-width: 680px; line-height: 1.6; }
.status-chip { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid var(--line); color: var(--muted); font-size: .72rem; white-space: nowrap; }
.status-chip::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(98,181,137,.1); }

.grid { display: grid; gap: 18px; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card { position: relative; padding: 22px; background: var(--panel); border: 1px solid var(--line); overflow: hidden; }
.card::after { content: ''; position: absolute; left: 0; top: 0; width: 42px; height: 2px; background: var(--gold); }
.card h2 { margin-bottom: 7px; font-size: 1.35rem; }
.card h3 { margin-bottom: 7px; font-size: .95rem; }
.card p { color: var(--muted); line-height: 1.55; }
.metric { padding: 20px; background: var(--panel); border: 1px solid var(--line); }
.metric small { color: var(--muted); text-transform: uppercase; letter-spacing: .12em; font-size: .64rem; }
.metric strong { display: block; margin-top: 8px; font-family: Georgia, serif; font-size: 1.65rem; font-weight: 500; }
.metric span { display: block; margin-top: 6px; color: var(--gold-light); font-size: .7rem; }

.button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--gold-dark); background: var(--gold); color: #14110a; text-decoration: none; font-weight: 750; cursor: pointer; }
.button:hover { background: var(--gold-light); }
.button.secondary { background: transparent; color: var(--gold-light); }
.button.secondary:hover { background: #1a1811; }
.button.ghost { border-color: var(--line); background: transparent; color: var(--text); }
.button.ghost:hover { border-color: var(--muted); background: var(--panel-2); }
.button:disabled { cursor: not-allowed; opacity: .45; }
.button-row { display: flex; gap: 10px; flex-wrap: wrap; }

.empty { min-height: 210px; display: grid; place-items: center; padding: 34px; background: #0e1011; border: 1px dashed #3c3f43; text-align: center; }
.empty-icon { width: 54px; height: 54px; margin: 0 auto 16px; border: 1px solid var(--gold-dark); display: grid; place-items: center; color: var(--gold-light); font-size: 1.35rem; }
.empty h2 { margin-bottom: 7px; font-size: 1.25rem; }
.empty p { max-width: 560px; margin: 0 auto 16px; color: var(--muted); line-height: 1.55; }

.hero-dashboard { min-height: 290px; display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,.6fr); background: #111315; border: 1px solid var(--line); }
.hero-copy { padding: clamp(28px,5vw,70px); position: relative; overflow: hidden; }
.hero-copy::before { content: 'NØ'; position: absolute; right: -20px; bottom: -48px; color: rgba(214,169,52,.035); font: 220px/1 Georgia, serif; pointer-events: none; }
.hero-copy h1 { max-width: 720px; }
.hero-copy p { max-width: 650px; color: #bbb8b1; line-height: 1.65; }
.hero-side { display: grid; place-items: center; padding: 28px; background: #16130c; border-left: 1px solid var(--gold-dark); }
.seal { width: 180px; height: 180px; display: grid; place-items: center; border: 1px solid var(--gold-dark); border-radius: 50%; position: relative; text-align: center; }
.seal::after { content: ''; position: absolute; inset: 9px; border: 1px dashed var(--gold-dark); border-radius: 50%; }
.seal strong { font: 2.4rem/1 Georgia,serif; color: var(--gold-light); }
.seal span { display: block; margin-top: 6px; color: var(--muted); font-size: .65rem; text-transform: uppercase; letter-spacing: .18em; }

.news-list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.news-item { display: grid; grid-template-columns: 115px minmax(0,1fr) auto; gap: 20px; align-items: center; padding: 19px 20px; background: var(--panel); }
.news-date { color: var(--gold-light); font: 1rem Georgia,serif; }
.news-item h3 { margin: 0 0 5px; }
.news-item p { margin: 0; color: var(--muted); line-height: 1.45; font-size: .85rem; }
.source-link { color: var(--gold-light); font-size: .75rem; text-decoration: none; border-bottom: 1px solid var(--gold-dark); }
.verify { display: inline-block; margin-top: 7px; padding: 3px 6px; border: 1px solid #365846; color: #82caa3; font-size: .6rem; text-transform: uppercase; letter-spacing: .08em; }
.verify.catalogued { border-color: #6b5730; color: #e3bf69; }

.profile-hero { display: grid; grid-template-columns: 190px 1fr auto; gap: 26px; align-items: center; padding: 26px; background: var(--panel); border: 1px solid var(--line); }
.profile-avatar { width: 170px; aspect-ratio: 1; object-fit: cover; border: 1px solid var(--gold-dark); box-shadow: 10px 10px 0 #1c170c; }
.profile-identity h1 { font-size: clamp(1.8rem,4vw,3rem); }
.profile-identity p { margin: 0; color: var(--muted); }
.profile-tags { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 14px; }
.profile-tags span { padding: 6px 9px; border: 1px solid var(--line); color: #d6d3cc; font-size: .7rem; }
.rank-disc { width: 126px; height: 126px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; text-align: center; }
.rank-disc small { display: block; color: var(--muted); font-size: .6rem; text-transform: uppercase; letter-spacing: .1em; }
.rank-disc strong { display: block; margin-top: 5px; color: var(--gold-light); font: 1.3rem Georgia,serif; }
.data-note { margin: 14px 0 0; padding: 11px 13px; border-left: 2px solid var(--gold-dark); background: #14130f; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.stat-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.stat-row { min-height: 80px; padding: 16px; background: var(--panel); }
.stat-row small { color: var(--muted); }
.stat-row strong { display: block; margin-top: 5px; font: 1.25rem Georgia,serif; }
.achievement-slots { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; margin-top: 14px; }
.achievement-slot { aspect-ratio: 1; display: grid; place-items: center; border: 1px dashed #373a3e; color: #5e6165; font-size: 1.2rem; }
.reputation { display: flex; align-items: center; gap: 12px; margin: 13px 0; }
.stars { display: flex; gap: 4px; }
.star { width: 34px; height: 34px; border: 1px solid var(--line); background: transparent; color: #555; cursor: pointer; }
.star:hover, .star.selected { color: var(--gold-light); border-color: var(--gold-dark); background: #19160e; }
.comment-form textarea { width: 100%; min-height: 88px; padding: 12px; resize: vertical; border: 1px solid var(--line); background: #0d0f10; color: var(--text); }
.comment-form .button-row { justify-content: space-between; align-items: center; margin-top: 9px; }
.comment-list { display: grid; gap: 9px; margin-top: 16px; }
.comment { padding: 13px; border: 1px solid var(--line-soft); background: #0f1112; }
.comment header { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; color: var(--gold-light); font-size: .75rem; }
.comment p { margin: 0; color: #d7d4ce; }

.alliance-hero { display: grid; grid-template-columns: 180px 1fr; gap: 28px; align-items: center; padding: 28px; background: var(--panel); border: 1px solid var(--line); }
.alliance-emblem { width: 165px; aspect-ratio: 1; object-fit: contain; background: #0d0f10; border: 1px solid var(--line); padding: 8px; }
.alliance-hero h1 { margin-bottom: 5px; }
.alliance-page-actions { display: flex; justify-content: flex-end; margin-top: 12px; }

/* Alliance and player identity system — v0.1.2 */
.page-wide { width: auto; max-width: none; margin: -32px -32px 0; animation: reveal .28s ease both; }
.alliance-stage, .profile-stage { position: relative; isolation: isolate; }
.alliance-cover, .player-cover {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  background:
    radial-gradient(circle at 56% 46%,rgba(187,46,38,.19),transparent 20%),
    linear-gradient(90deg,rgba(133,25,22,.22) 1px,transparent 1px),
    linear-gradient(rgba(133,25,22,.16) 1px,transparent 1px),
    linear-gradient(115deg,#050607 0%,#0e0c0d 46%,#130706 72%,#050607 100%);
  background-size: auto,72px 72px,72px 72px,auto;
  border-bottom: 1px solid rgba(214,169,52,.55);
}
.alliance-cover { position: sticky; top: 72px; z-index: -1; }
.cover-grid { position: absolute; inset: 0; opacity: .55; background: repeating-linear-gradient(118deg,transparent 0 46px,rgba(214,169,52,.025) 47px 48px); }
.alliance-cover::before, .player-cover::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.85),transparent 35%,transparent 65%,rgba(0,0,0,.75)),linear-gradient(0deg,rgba(0,0,0,.8),transparent 44%); }
.alliance-cover::after { content: ''; position: absolute; left: 5%; right: 5%; bottom: 34px; height: 1px; background: linear-gradient(90deg,transparent,var(--gold),transparent); box-shadow: 0 0 20px rgba(214,169,52,.45); }
.alliance-watermark { position: absolute; width: min(42vw,470px); height: min(42vw,470px); left: 50%; top: 48%; translate: -50% -50%; object-fit: contain; opacity: .42; filter: saturate(.82) contrast(1.15) drop-shadow(0 28px 60px #000); }
.alliance-cover-copy { position: absolute; inset: auto 7% 62px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; color: #e8dfce; text-align: center; text-transform: uppercase; letter-spacing: .22em; }
.alliance-cover-copy span, .alliance-cover-copy small { color: #b84239; font-size: clamp(.65rem,1.2vw,.9rem); }
.alliance-cover-copy strong { font: clamp(1.65rem,4.5vw,4.1rem)/1 Georgia,serif; letter-spacing: .25em; text-shadow: 0 5px 30px #000; }
.cover-edit { position: absolute; right: 28px; top: 26px; z-index: 2; min-height: 38px; padding: 8px 12px; border: 1px solid rgba(214,169,52,.45); background: rgba(9,10,11,.78); color: var(--gold-light); cursor: pointer; backdrop-filter: blur(10px); }
.cover-edit:hover { background: #18140d; border-color: var(--gold); }
.cover-edit[data-locked="true"] { color: #9b9890; border-color: var(--line); }
.alliance-surface { position: relative; z-index: 2; margin-top: -112px; padding: 0 32px 64px; background: linear-gradient(to bottom,transparent 0,#090a0be8 90px,var(--bg) 155px); }
.alliance-identity-bar { position: relative; min-height: 190px; display: grid; grid-template-columns: 190px minmax(230px,1fr) auto; gap: 28px; align-items: center; max-width: 1440px; margin: 0 auto; padding: 28px 0; }
.identity-line { position: absolute; left: 0; right: 0; top: 83px; height: 2px; background: linear-gradient(90deg,var(--gold-dark),var(--gold),rgba(214,169,52,.25)); box-shadow: 0 0 16px rgba(214,169,52,.2); }
.alliance-round-logo { position: relative; z-index: 2; width: 170px; height: 170px; padding: 8px; object-fit: contain; border: 10px solid #71312d; border-radius: 50%; background: #08090a; box-shadow: 0 18px 38px rgba(0,0,0,.5),0 0 0 2px #0a0b0c; }
.alliance-title { position: relative; z-index: 2; align-self: end; min-height: 96px; padding: 19px 24px; background: linear-gradient(90deg,#101214f5,#101214dc 75%,transparent); border-left: 1px solid var(--gold-dark); }
.alliance-title h1 { margin: 4px 0 3px; font-size: clamp(1.7rem,3vw,2.9rem); }
.alliance-title p { margin: 0; color: var(--muted); font-size: .76rem; }
.alliance-actions { position: relative; z-index: 2; display: flex; justify-content: flex-end; gap: 9px; flex-wrap: wrap; align-self: end; padding-bottom: 16px; }
.button.danger { color: #f3c9c6; background: rgba(130,35,31,.13); border-color: #873d38; }
.button.danger:hover { color: #fff; background: #6c2a27; }
.section-tabs { max-width: 1440px; margin: 0 auto 18px; display: flex; overflow-x: auto; background: #0e1011; border: 1px solid var(--line); scrollbar-width: none; }
.section-tabs::-webkit-scrollbar { display: none; }
.section-tab { position: relative; min-width: 135px; min-height: 54px; flex: 1; padding: 12px 18px; border: 0; border-right: 1px solid var(--line); background: transparent; color: #8e908a; cursor: pointer; text-transform: uppercase; letter-spacing: .1em; font-size: .68rem; }
.section-tab:last-child { border-right: 0; }
.section-tab:hover { color: var(--text); background: #151614; }
.section-tab.active { color: var(--gold-light); background: linear-gradient(180deg,rgba(214,169,52,.09),transparent); }
.section-tab.active::after { content: ''; position: absolute; left: 20%; right: 20%; bottom: 0; height: 2px; background: var(--gold); box-shadow: 0 0 12px var(--gold-dark); }
.tab-surface { max-width: 1440px; min-height: 340px; margin: 0 auto; }
.alliance-overview { display: grid; gap: 18px; }
.alliance-story { min-height: 190px; }
.roster-list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.roster-player { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; gap: 13px; align-items: center; padding: 12px; background: #0e1011; }
.roster-player img { width: 52px; height: 52px; object-fit: cover; border: 1px solid var(--gold-dark); }
.roster-player strong, .roster-player span { display: block; }
.roster-player strong { color: #ece8df; }
.roster-player span { margin-top: 4px; color: var(--muted); font-size: .66rem; }
.roster-player a { color: var(--gold-light); text-decoration: none; font-size: .7rem; }
.history-panel { border: 1px solid var(--line); background: var(--panel); }
.history-panel > header { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.history-panel h2 { margin: 4px 0 0; }
.history-list { display: grid; max-height: 420px; overflow-y: auto; }
.history-row { display: grid; grid-template-columns: 78px minmax(0,1fr) 100px; gap: 16px; align-items: center; min-height: 74px; padding: 13px 18px; border-bottom: 1px solid var(--line-soft); }
.history-row small { display: block; margin-top: 4px; color: var(--muted); }
.result-pill { padding: 6px 8px; color: var(--muted); border: 1px solid var(--line); text-align: center; font-size: .64rem; text-transform: uppercase; }
.result-pill.win { color: #8ad1aa; border-color: #376049; }
.result-pill.loss { color: #e1908b; border-color: #6c3936; }
.elo-change { color: var(--gold-light); text-align: right; }
.market-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.transfer-page .section-tabs { margin-bottom: 18px; }
.dialog-backdrop { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 20px; background: rgba(0,0,0,.74); backdrop-filter: blur(5px); }
.confirm-dialog { width: min(500px,100%); padding: 28px; background: #111315; border: 1px solid var(--line); box-shadow: 0 24px 70px #000; }
.confirm-dialog p { color: var(--muted); line-height: 1.55; }

.player-cover { min-height: 320px; background: radial-gradient(circle at 22% 35%,rgba(181,75,69,.23),transparent 24%),linear-gradient(135deg,#070809,#131416 48%,#170b0a); }
.player-cover::after { content: ''; position: absolute; inset: auto 0 0; height: 2px; background: linear-gradient(90deg,transparent,var(--gold),transparent); }
.cover-monogram { position: absolute; right: 9%; top: 44%; translate: 0 -50%; color: rgba(214,169,52,.1); font: clamp(9rem,22vw,20rem)/1 Georgia,serif; }
.profile-surface { position: relative; z-index: 2; margin-top: -96px; padding: 0 32px 64px; background: linear-gradient(to bottom,transparent,#090a0bdc 80px,var(--bg) 138px); }
.player-identity-card { position: relative; max-width: 1440px; min-height: 205px; margin: 0 auto; display: grid; grid-template-columns: 190px minmax(250px,.72fr) minmax(500px,1.3fr); gap: 26px; align-items: center; padding: 24px; background: rgba(15,17,18,.96); border: 1px solid var(--line); box-shadow: 0 22px 60px rgba(0,0,0,.32); }
.player-avatar { width: 170px; height: 170px; object-fit: cover; border: 1px solid var(--gold); box-shadow: 10px 10px 0 #241a0c; }
.player-main-identity h1 { margin: 4px 0 5px; font-size: clamp(2rem,3.5vw,3.4rem); }
.player-main-identity p { color: var(--muted); }
.player-key-data { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 0; background: var(--line); border: 1px solid var(--line); }
.player-key-data div { min-height: 64px; padding: 12px 14px; background: #0d0f10; }
.player-key-data div:last-child { grid-column: 1 / -1; }
.player-key-data dt { color: #777a75; font-size: .58rem; letter-spacing: .09em; text-transform: uppercase; }
.player-key-data dd { margin: 5px 0 0; overflow: hidden; color: #e1ddd4; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.profile-stage .section-tabs { margin-top: 18px; }
.profile-tab-grid { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 18px; }
.rank-feature { min-height: 280px; display: grid; place-content: center; padding: 25px; text-align: center; background: radial-gradient(circle,rgba(214,169,52,.13),transparent 60%),#111315; border: 1px solid var(--line); }
.rank-feature::before { content: '✦'; width: 94px; height: 94px; display: grid; place-items: center; margin: 0 auto 18px; border: 1px solid var(--gold-dark); border-radius: 50%; color: var(--gold-light); font-size: 2rem; }
.rank-feature small { color: var(--muted); text-transform: uppercase; letter-spacing: .12em; }
.rank-feature strong { margin: 7px 0; color: var(--gold-light); font: 2.3rem Georgia,serif; }
.rank-feature span { color: #ddd7ca; }
.profile-comments-card { grid-column: 1 / -1; }
.reputation strong { font: 2rem Georgia,serif; color: var(--gold-light); }
.achievements-showcase { padding: 28px; background: var(--panel); border: 1px solid var(--line); }
.achievements-showcase header p { max-width: 720px; color: var(--muted); }
.medal-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 24px; }
.medal { min-height: 160px; display: grid; place-content: center; gap: 9px; padding: 16px; color: var(--gold-light); text-align: center; border: 1px solid var(--gold-dark); background: radial-gradient(circle,rgba(214,169,52,.1),transparent 56%),#0d0f10; }
.medal span { font-size: 2rem; }
.empty-medal { color: #555952; border: 1px dashed #3a3d40; background: #0d0f10; }

.league-season-banner {
  display: grid;
  grid-template-columns: minmax(290px,1.45fr) repeat(3,minmax(140px,.62fr));
  margin-bottom: 16px;
  background: linear-gradient(115deg,rgba(214,169,52,.13),var(--panel) 45%);
  border: 1px solid rgba(214,169,52,.32);
}
.league-season-lead, .league-season-stat { min-width: 0; padding: 20px; }
.league-season-lead h2 { margin: 6px 0; font-size: 1.55rem; }
.league-season-lead p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.league-season-stat { display: flex; flex-direction: column; justify-content: center; border-left: 1px solid rgba(214,169,52,.18); }
.league-season-stat small { color: var(--muted); font-size: .68rem; }
.league-season-stat strong { margin: 8px 0 5px; color: var(--gold-light); font: 1.65rem/1 Georgia,serif; }
.league-season-stat span { color: #96938b; font-size: .65rem; line-height: 1.35; }
.league-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-bottom: 16px; }
.league-tab {
  min-height: 58px;
  padding: 9px 13px;
  color: var(--muted);
  text-align: left;
  background: #0e1011;
  border: 1px solid var(--line);
  cursor: pointer;
}
.league-tab:hover { color: var(--text); border-color: var(--gold-dark); }
.league-tab strong, .league-tab span { display: block; }
.league-tab strong { color: #e3dfd4; font-family: Georgia,serif; font-weight: 500; }
.league-tab span { margin-top: 3px; font-size: .62rem; }
.league-tab.active { background: linear-gradient(130deg,rgba(214,169,52,.14),#121411 72%); border-color: var(--gold); box-shadow: inset 3px 0 0 var(--gold); }
.league-tab.active strong { color: var(--gold-light); }
.league-layout { display: grid; grid-template-columns: minmax(0,1.75fr) minmax(270px,.63fr); gap: 16px; align-items: start; }
.league-board { padding: 0; }
.league-board::after { display: none; }
.league-board-head { min-height: 78px; display: flex; align-items: center; gap: 16px; padding: 15px 18px; border-bottom: 1px solid var(--line); }
.league-board-head h2 { margin: 3px 0; }
.league-board-head p { margin: 0; color: var(--muted); font-size: .68rem; }
.league-diamond { width: 44px; height: 44px; flex: 0 0 auto; display: grid; place-items: center; color: var(--gold-light); border: 1px solid var(--gold-dark); transform: rotate(45deg); }
.league-diamond span { font: 700 .78rem/1 Georgia,serif; transform: rotate(-45deg); }
.league-count { margin-left: auto; text-align: right; }
.league-count strong, .league-count span { display: block; }
.league-count strong { font-size: .82rem; }
.league-count span { margin-top: 3px; color: var(--muted); font-size: .61rem; }
.league-table-wrap { min-width: 0; }
.league-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.league-table th { padding: 11px 10px; color: #7d7e78; font-size: .58rem; font-weight: 700; letter-spacing: .1em; text-align: left; text-transform: uppercase; background: #0d0f10; border-bottom: 1px solid var(--line); }
.league-table th:first-child, .league-table td:first-child { width: 60px; text-align: center; }
.league-table th:nth-child(2) { width: 38%; }
.league-table th:nth-child(3), .league-table th:nth-child(4) { width: 80px; }
.league-table th:nth-child(5), .league-table th:nth-child(6) { width: 105px; }
.league-table td { padding: 11px 10px; color: #cbc7be; font-size: .75rem; border-bottom: 1px solid var(--line-soft); }
.league-alliance-cell { display: flex; align-items: center; gap: 9px; min-width: 0; }
.league-alliance-cell > img, .league-alliance-cell > span { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; object-fit: contain; padding: 2px; color: var(--gold-light); border: 1px solid var(--line); border-radius: 50%; }
.league-alliance-cell strong, .league-alliance-cell small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.league-alliance-cell small { margin-top: 2px; color: var(--muted); font-size: .6rem; }
.league-points { color: var(--gold-light) !important; font-weight: 700; }
.league-class-pill { display: inline-block; padding: 4px 7px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); }
.league-empty .empty { min-height: 330px; border: 0; }
.league-side { display: grid; gap: 16px; }
.league-my-alliance, .league-rules { padding: 19px; }
.league-alliance-summary { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 12px; align-items: center; margin: 13px 0 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.league-alliance-summary img { width: 52px; height: 52px; object-fit: contain; padding: 3px; border: 1px solid var(--gold-dark); border-radius: 50%; }
.league-alliance-summary h2 { margin: 0 0 4px; font-size: 1rem; }
.league-alliance-summary span { color: var(--muted); font-size: .65rem; }
.league-class-summary { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; color: var(--muted); font-size: .7rem; }
.league-class-summary strong { color: var(--gold-light); font: 1.65rem/1 Georgia,serif; }
.league-progress-copy { display: flex; justify-content: space-between; margin-top: 7px; color: var(--muted); font-size: .65rem; }
.league-progress { height: 5px; margin-top: 8px; overflow: hidden; background: var(--line); }
.league-progress span { display: block; height: 100%; background: var(--gold); }
.league-alliance-link { width: 100%; margin-top: 18px; }
.league-rules h2 { margin-top: 6px; }
.league-rules ul { margin: 0; padding: 0; list-style: none; }
.league-rules li { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 10px; align-items: center; padding: 11px 0; border-top: 1px solid var(--line-soft); }
.league-rules li:first-child { border-top: 0; }
.league-rules li > b { width: 28px; height: 28px; display: grid; place-items: center; color: var(--gold-light); background: rgba(214,169,52,.09); border-radius: 50%; font-size: .62rem; }
.league-rules li strong, .league-rules li span span { display: block; }
.league-rules li strong { color: #dedad0; font-size: .68rem; }
.league-rules li span { color: var(--muted); font-size: .61rem; line-height: 1.45; }

.map-frame { min-height: 420px; position: relative; overflow: hidden; background: #101518; border: 1px solid var(--line); }
.map-ocean { position: absolute; inset: 0; opacity: .65; background: #14232a; border: 24px solid #10191d; }
.map-land { position: absolute; width: 58%; height: 68%; left: 19%; top: 15%; background: #292b25; border: 1px solid #474a3e; clip-path: polygon(15% 5%,65% 0,95% 20%,82% 51%,98% 82%,55% 100%,22% 86%,0 52%); }
.map-lock { position: absolute; inset: 0; display: grid; place-items: center; text-align: center; padding: 24px; background: rgba(8,10,11,.68); }
.map-lock .empty-icon { background: #0e1011; }
.timeline { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; margin-top: 12px; padding: 14px; border: 1px solid var(--line); background: var(--panel); }
.timeline input { accent-color: var(--gold); }

.matches-drawer { background: #0e1011; border: 1px solid var(--line); }
.matches-drawer > header { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; background: var(--panel); border-bottom: 1px solid var(--line); }
.matches-drawer > header h2 { margin: 3px 0 0; font-size: 1.35rem; }
.drawer-toggle { min-height: 44px; display: inline-flex; align-items: center; gap: 12px; padding: 9px 12px 9px 15px; border: 1px solid var(--gold-dark); background: transparent; color: var(--gold-light); cursor: pointer; }
.drawer-toggle b { width: 26px; height: 26px; display: grid; place-items: center; border-left: 1px solid var(--line); font-size: 1.1rem; }
.drawer-toggle:disabled { opacity: .38; cursor: not-allowed; }
.match-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--line); }
.match-list > .empty { grid-column: 1 / -1; border: 0; }
.match-card { min-height: 174px; display: grid; align-content: start; gap: 8px; padding: 20px; text-align: left; border: 0; background: #101214; color: var(--text); cursor: pointer; position: relative; }
.match-card:hover, .match-card:focus-visible { z-index: 1; background: #151513; outline: 1px solid var(--gold-dark); outline-offset: -1px; }
.match-card-state { width: max-content; padding: 4px 7px; border: 1px solid #365846; color: #82caa3; font-size: .61rem; text-transform: uppercase; letter-spacing: .09em; }
.match-card > strong { font: 1.35rem/1.2 Georgia,serif; color: #f0ede5; }
.match-card-participants { color: var(--muted); font-size: .78rem; }
.match-card-meta { display: flex; gap: 12px; justify-content: space-between; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line-soft); font-size: .68rem; }
.match-card-meta b { color: var(--gold-light); font-weight: 500; }
.match-card-meta i { color: var(--muted); font-style: normal; }
.match-card-open { position: absolute; right: 20px; top: 20px; color: var(--gold-light); font-size: .7rem; }
.last-match-section { margin-top: 28px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 13px; }
.section-heading h2 { margin: 4px 0 0; }
.match-preview-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(300px,.7fr); gap: 18px; align-items: stretch; }
.match-map { min-height: 470px; display: grid; grid-template-rows: 1fr auto; margin: 0; position: relative; overflow: hidden; background: #0c1316; border: 1px solid var(--line); }
.match-map.full { min-height: 610px; }
.match-map > img { position: absolute; inset: 0 0 52px; width: 100%; height: calc(100% - 52px); object-fit: cover; filter: sepia(.2) saturate(.72) brightness(.68) contrast(1.05); }
.match-map.unassigned > img { filter: grayscale(.28) sepia(.28) saturate(.55) brightness(.48) contrast(1.08); }
.match-map-shade { position: absolute; inset: 0 0 52px; background: linear-gradient(90deg,rgba(7,9,10,.86),rgba(7,9,10,.12) 58%,rgba(7,9,10,.38)),linear-gradient(0deg,rgba(7,9,10,.42),transparent 45%); pointer-events: none; }
.match-map-copy { z-index: 1; align-self: end; max-width: 590px; margin: 0 0 52px; padding: 36px; }
.match-map-copy h2 { margin: 7px 0; font-size: clamp(1.7rem,3vw,2.8rem); }
.match-map-copy p { margin: 0; color: #cbc8c0; line-height: 1.55; }
.match-map figcaption { z-index: 2; min-height: 52px; display: flex; align-items: center; gap: 10px 16px; flex-wrap: wrap; align-self: end; padding: 10px 14px; background: #0c0e0f; border-top: 1px solid var(--line); color: var(--muted); font-size: .66rem; }
.match-map figcaption a { color: var(--gold-light); }
.match-map figcaption small { margin-left: auto; color: #8e887b; }
.match-map-empty { min-height: 470px; }
.match-comments { min-width: 0; padding: 22px; background: var(--panel); border: 1px solid var(--line); }
.match-comments h2 { margin: 7px 0; font-size: 1.35rem; }
.match-comments > p { color: var(--muted); line-height: 1.55; }
.match-comments .empty { min-height: 220px; padding: 20px; }
.match-comments .comment-list { max-height: 300px; overflow: auto; padding-right: 3px; }
.match-comments .muted { color: var(--muted); font-size: .7rem; }
.match-detail-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.match-detail-layout { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(310px,.62fr); gap: 18px; align-items: start; }
.match-participants { margin-top: 18px; }
.participant-list { display: flex; flex-wrap: wrap; gap: 8px; }
.participant-list span { min-width: 180px; display: flex; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); background: #0d0f10; color: #ddd9d0; }
.participant-list b { color: var(--gold-light); }

.reference-shell { display: grid; grid-template-columns: 310px minmax(0,1fr); gap: 18px; }
.filters { padding: 20px; background: var(--panel); border: 1px solid var(--line); align-self: start; position: sticky; top: 94px; }
.field { display: grid; gap: 7px; margin-bottom: 15px; }
.field label { color: var(--muted); font-size: .74rem; }
.field input, .field select { width: 100%; height: 42px; padding: 0 11px; border: 1px solid var(--line); background: #0d0f10; color: var(--text); }
.field input[type='range'] { padding: 0; accent-color: var(--gold); }
.unit-card { display: grid; grid-template-columns: 90px 1fr; gap: 18px; padding: 20px; border: 1px solid var(--line); background: var(--panel); }
.unit-symbol { width: 86px; height: 86px; display: grid; place-items: center; border: 1px solid var(--gold-dark); color: var(--gold-light); font: 2.1rem Georgia,serif; }
.unit-stats { display: flex; gap: 16px; flex-wrap: wrap; margin: 12px 0; }
.unit-stats span { color: var(--muted); font-size: .72rem; }
.unit-stats strong { color: var(--text); }
.resources { display: flex; flex-wrap: wrap; gap: 7px; }
.resource { padding: 6px 9px; background: #0d0f10; border: 1px solid var(--line); font-size: .7rem; }
.pending-table { width: 100%; border-collapse: collapse; }
.pending-table th, .pending-table td { padding: 12px; border-bottom: 1px solid var(--line); text-align: left; }
.pending-table th { color: var(--gold-light); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.pending-table td { color: var(--muted); font-size: .82rem; }

.role-theme { --gold: #9db9c1; --gold-light: #cce3e5; --gold-dark: #536f76; --panel: #111419; --panel-2: #171b22; --line: #303841; background: #090c11; }
.role-theme .section-mark { background: #9db9c1; }
.role-theme .hero-side { background: #151318; border-left-color: #694851; }
.role-theme .hero-copy::before { color: rgba(136,74,91,.08); content: 'RP'; }
.role-theme .card::after { background: #884a5b; }
.role-theme .nav-link.active { background: #18151b; }
.role-banner { min-height: 330px; display: grid; grid-template-columns: 1.2fr .8fr; border: 1px solid var(--line); background: #111419; }
.role-banner-copy { padding: clamp(30px,6vw,80px); }
.role-banner-copy p { color: #b9c1c5; line-height: 1.7; max-width: 650px; }
.role-art { display: grid; place-items: center; min-height: 260px; position: relative; overflow: hidden; background: #151318; border-left: 1px solid #694851; }
.role-art::before { content: '1914'; font: clamp(5rem,12vw,11rem)/1 Georgia,serif; color: rgba(157,185,193,.08); transform: rotate(-10deg); }
.role-art span { position: absolute; color: #c5aab2; letter-spacing: .2em; text-transform: uppercase; font-size: .7rem; }

.auth-page { min-height: 100vh; display: grid; grid-template-rows: auto 1fr auto; background: radial-gradient(circle at 70% 8%,rgba(214,169,52,.08),transparent 30%),#090a0b; }
.auth-header { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 13px clamp(20px,4vw,64px); border-bottom: 1px solid #2a2c2f; background: rgba(9,10,11,.92); }
.auth-logo { display: flex; align-items: center; gap: 11px; color: var(--text); text-decoration: none; }
.auth-logo img { width: 48px; height: 48px; object-fit: contain; }
.auth-logo span { font: 1.3rem/1 Georgia,serif; letter-spacing: .06em; }
.auth-logo b { color: var(--gold); font-weight: 500; }
.auth-header-actions { display: flex; align-items: center; gap: 15px; color: #777971; font-size: .67rem; letter-spacing: .05em; }
.auth-header-actions select { height: 40px; min-width: 125px; padding: 0 30px 0 10px; color: var(--text); background: #111315; border: 1px solid var(--line); }
.auth-main { width: min(1440px,100%); margin: auto; display: grid; grid-template-columns: minmax(440px,570px) minmax(460px,1fr); gap: 22px; align-items: stretch; padding: clamp(24px,4vw,58px); }
.auth-surface { min-width: 0; align-self: center; overflow: hidden; color: #1a1a18; background: #f4f1e9; border: 1px solid #b7aa8d; box-shadow: 0 32px 80px rgba(0,0,0,.46); }
.auth-tabs { display: grid; grid-template-columns: repeat(2,1fr); background: #ded8ca; border-bottom: 1px solid #c7beaa; }
.auth-tab { min-height: 54px; display: grid; place-items: center; color: #676154; text-decoration: none; font-size: .75rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; border-bottom: 3px solid transparent; }
.auth-tab:hover { color: #171713; background: #e8e3d7; }
.auth-tab.active { color: #171713; background: #f4f1e9; border-bottom-color: var(--gold-dark); }
.auth-form { padding: clamp(28px,4.5vw,54px); }
.auth-form .eyebrow { color: #8b6b20; }
.auth-form h1 { margin: 8px 0 10px; color: #181713; font-size: clamp(2rem,3.7vw,3.2rem); }
.auth-form > p { color: #6a655c; line-height: 1.55; }
.auth-field { margin-bottom: 17px; }
.auth-field label { color: #4f4b43; font-weight: 650; }
.auth-field input, .auth-field select { height: 48px; padding: 0 13px; color: #161512; background: #fff; border: 1px solid #c8c0af; border-radius: 0; }
.auth-field input:focus, .auth-field select:focus { border-color: #8c6a1d; box-shadow: 0 0 0 3px rgba(140,106,29,.12); outline: 0; }
.auth-field input:user-invalid { border-color: #a64640; }
.password-control { position: relative; }
.password-control input { width: 100%; padding-right: 50px; }
.password-control button { position: absolute; inset: 1px 1px 1px auto; width: 46px; color: #6e6759; background: transparent; border: 0; cursor: pointer; }
.password-control button:hover { color: #171713; background: #eee9de; }
.auth-options { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 2px 0 22px; color: #615c52; font-size: .75rem; }
.auth-options label, .auth-consents label { display: flex; align-items: flex-start; gap: 8px; }
.auth-options input, .auth-consents input { margin: 2px 0 0; accent-color: #8c6a1d; }
.auth-options a, .auth-switch a, .auth-footer a { color: #755816; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.auth-submit { width: 100%; min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 17px; color: #fff8e6; text-decoration: none; font-weight: 780; background: #8b681a; border: 1px solid #6f5214; cursor: pointer; }
.auth-submit:hover { background: #6f5214; }
.auth-submit:disabled { cursor: wait; opacity: .55; }
.auth-switch { margin: 17px 0 0 !important; text-align: center; font-size: .77rem; }
.auth-demo { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 27px; padding-top: 20px; border-top: 1px solid #d6cfc0; }
.auth-demo > div { min-width: 0; display: flex; align-items: center; gap: 10px; }
.auth-demo img { width: 42px; height: 42px; object-fit: cover; border: 1px solid #8c6a1d; }
.auth-demo span, .auth-demo strong, .auth-demo small { min-width: 0; display: block; }
.auth-demo strong { overflow: hidden; color: #27241e; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.auth-demo small { margin-top: 3px; color: #736d62; font-size: .62rem; }
.auth-demo button { flex: 0 0 auto; padding: 8px 10px; color: #6f5214; background: transparent; border: 1px solid #a98b4a; cursor: pointer; font-size: .66rem; font-weight: 700; }
.auth-demo button:hover { color: #171713; background: #e8e0cf; }
.auth-feature { min-height: 650px; display: flex; align-items: end; position: relative; overflow: hidden; isolation: isolate; padding: clamp(34px,5vw,76px); border: 1px solid #3b3220; background: linear-gradient(180deg,rgba(8,9,10,.12),rgba(8,9,10,.9)),radial-gradient(circle at 65% 18%,rgba(224,184,84,.24),transparent 22%),linear-gradient(125deg,#40351f,#171713 45%,#08090a 82%); }
.auth-feature::before { content: ''; position: absolute; z-index: -1; inset: 10% -14% 25% 30%; border: 1px solid rgba(230,196,105,.18); transform: rotate(-12deg); box-shadow: 0 0 0 60px rgba(214,169,52,.025),0 0 0 120px rgba(214,169,52,.018); }
.auth-feature::after { content: 'NØ'; position: absolute; z-index: -1; right: -3%; top: 5%; color: rgba(244,210,113,.08); font: clamp(11rem,24vw,25rem)/1 Georgia,serif; }
.auth-feature-content { max-width: 690px; }
.auth-feature-content h2 { margin: 12px 0; color: #fff9eb; font-size: clamp(2.5rem,5vw,5.2rem); line-height: .98; }
.auth-feature-content > p { max-width: 590px; color: #bbb5a9; line-height: 1.7; }
.auth-feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 26px; background: rgba(214,169,52,.25); border: 1px solid rgba(214,169,52,.25); }
.auth-feature-grid span { min-height: 85px; display: flex; flex-direction: column; justify-content: center; padding: 14px; color: #d2cdc2; background: rgba(10,11,11,.82); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.auth-feature-grid b { margin-bottom: 7px; color: var(--gold-light); font: 1.35rem/1 Georgia,serif; }
.auth-safety { margin-top: 22px; padding: 13px 15px; border-left: 2px solid var(--gold); background: rgba(7,8,8,.58); }
.auth-safety strong, .auth-safety span { display: block; }
.auth-safety strong { color: #e8d7a7; font-size: .7rem; }
.auth-safety span { margin-top: 5px; color: #8f8d87; font-size: .65rem; line-height: 1.5; }
.auth-register-form { padding-top: 34px; padding-bottom: 34px; }
.auth-register-form fieldset { margin: 25px 0 0; padding: 20px 0 3px; border: 0; border-top: 1px solid #d3cbbb; }
.auth-register-form legend { display: flex; align-items: center; gap: 9px; padding-right: 12px; color: #3f3b33; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.auth-register-form legend span { width: 27px; height: 27px; display: grid; place-items: center; color: #fff7e3; background: #8b681a; }
.auth-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 14px; margin-top: 10px; }
.auth-grid-wide { grid-column: 1 / -1; }
.auth-help { margin: -6px 0 3px !important; color: #777166 !important; font-size: .68rem; }
.auth-consents { display: grid; gap: 10px; margin: 20px 0; color: #5d584f; font-size: .72rem; line-height: 1.45; }
.auth-compact-form { min-height: 490px; display: flex; flex-direction: column; justify-content: center; }
.legal-preview { min-height: 590px; }
.legal-preview-body { margin: 26px 0; padding: 18px 22px; color: #504b43; line-height: 1.65; background: #ebe6da; border-left: 3px solid #8b681a; }
.legal-preview-body section { padding: 4px 0 18px; border-bottom: 1px solid rgba(77,67,46,.16); }
.legal-preview-body section:last-child { border-bottom: 0; }
.legal-preview-body h2 { margin: 12px 0 8px; color: #1d1b17; font-size: 1.06rem; }
.legal-preview-body p { margin: 8px 0; }
.legal-preview-body ul { margin: 8px 0; padding-left: 21px; }
.legal-preview-body a { color: #77570f; text-decoration: underline; }
.legal-acceptance { max-width: 660px; }
.legal-acceptance-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 24px 0; }
.legal-acceptance-links a { padding: 16px; border: 1px solid #9a7319; color: #77570f; text-align: center; text-decoration: none; }
.legal-acceptance-check { display: flex; align-items: flex-start; gap: 12px; padding: 18px; border: 1px solid rgba(77,67,46,.18); background: #ebe6da; margin-bottom: 18px; color: #504b43; line-height: 1.55; }
.legal-acceptance-check input { margin-top: 4px; accent-color: #9a7319; }
@media (max-width:640px) { .legal-acceptance-links { grid-template-columns: 1fr; } }
.auth-footer { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px clamp(20px,4vw,64px); color: #686a66; font-size: .65rem; border-top: 1px solid #24272a; }
.auth-footer nav { display: flex; gap: 18px; }
.auth-footer a { color: #aaa48f; }

.login-page { min-height: 100vh; display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,720px); background: #0b0c0d; }
.login-brand { display: grid; place-items: center; padding: 50px; position: relative; overflow: hidden; border-right: 1px solid var(--line); }
.login-brand::before { content: 'S.1914'; position: absolute; right: -40px; bottom: -20px; color: rgba(214,169,52,.04); font: 13vw Georgia,serif; }
.login-brand-inner { max-width: 540px; }
.login-brand img { width: 118px; height: 118px; object-fit: contain; }
.login-brand h1 { margin-top: 24px; font-size: clamp(2.8rem,7vw,6.2rem); }
.login-brand p { color: var(--muted); line-height: 1.7; font-size: 1.02rem; }
.login-panel { display: grid; place-items: center; padding: 36px; background: #111315; }
.login-card { width: min(100%,460px); }
.login-card h2 { font-size: 2rem; }
.login-card > p { color: var(--muted); line-height: 1.55; }
.local-user { display: grid; grid-template-columns: 66px 1fr; gap: 14px; align-items: center; margin: 25px 0; padding: 14px; background: #0c0e0f; border: 1px solid var(--line); }
.local-user img { width: 66px; height: 66px; object-fit: cover; }
.local-user strong, .local-user span { display: block; }
.local-user span { margin-top: 4px; color: var(--muted); font-size: .76rem; }
.local-notice { margin-top: 16px; padding: 12px; border-left: 2px solid var(--gold-dark); color: var(--muted); font-size: .72rem; line-height: 1.5; }

.portal { min-height: 100vh; display: grid; grid-template-rows: auto 1fr auto; background: #090a0b; }
.portal-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px clamp(20px,4vw,60px); border-bottom: 1px solid var(--line); }
.portal-top .brand { height: auto; border: 0; padding: 0; }
.portal-user { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: .8rem; }
.portal-user img { width: 38px; height: 38px; object-fit: cover; }
.portal-body { display: grid; align-content: center; gap: 28px; padding: clamp(28px,5vw,70px); }
.portal-intro { max-width: 800px; }
.portal-intro h1 { font-size: clamp(2.4rem,6vw,5rem); }
.portal-intro p { color: var(--muted); line-height: 1.6; }
.destinations { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.destination { min-height: 380px; display: flex; flex-direction: column; justify-content: end; padding: clamp(26px,4vw,52px); text-decoration: none; position: relative; overflow: hidden; border: 1px solid var(--line); background: #111315; }
.destination::before { position: absolute; right: 30px; top: 20px; color: rgba(214,169,52,.06); font: clamp(7rem,14vw,13rem)/1 Georgia,serif; }
.destination.competitive::before { content: 'C'; }
.destination.roleplay { background: #111419; }
.destination.roleplay::before { content: 'R'; color: rgba(136,74,91,.12); }
.destination:hover { border-color: var(--gold-dark); transform: translateY(-2px); }
.destination .eyebrow { margin-bottom: 12px; }
.destination h2 { margin-bottom: 9px; font-size: clamp(1.9rem,4vw,3.5rem); }
.destination p { max-width: 600px; color: var(--muted); line-height: 1.6; }
.destination strong { margin-top: 10px; color: var(--gold-light); font-size: .78rem; letter-spacing: .05em; }
.portal-foot { display: flex; justify-content: space-between; gap: 20px; padding: 18px clamp(20px,4vw,60px); border-top: 1px solid var(--line); color: #747671; font-size: .7rem; }

.toast { position: fixed; right: 22px; bottom: 22px; z-index: 100; max-width: min(420px,calc(100vw - 44px)); padding: 13px 16px; color: #111; background: var(--gold-light); box-shadow: 0 10px 35px rgba(0,0,0,.35); opacity: 0; transform: translateY(10px); pointer-events: none; transition: .2s ease; }
.toast.show { opacity: 1; transform: none; }
.loading { min-height: 60vh; display: grid; place-items: center; color: var(--muted); }
.loader { width: 32px; height: 32px; border: 2px solid var(--line); border-top-color: var(--gold); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 1100px) {
  .grid.four { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .grid.three { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero-dashboard { grid-template-columns: 1fr 260px; }
  .reference-shell { grid-template-columns: 250px minmax(0,1fr); }
  .match-preview-grid, .match-detail-layout { grid-template-columns: 1fr; }
  .match-comments .comment-list { max-height: none; }
  .league-season-banner { grid-template-columns: minmax(230px,1.2fr) repeat(3,minmax(110px,.6fr)); }
  .league-layout { grid-template-columns: 1fr; }
  .league-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .auth-main { grid-template-columns: minmax(410px,520px) minmax(340px,1fr); padding: 28px; }
  .auth-feature { padding: 38px; }
  .alliance-identity-bar { grid-template-columns: 160px minmax(210px,1fr); }
  .alliance-round-logo { width: 150px; height: 150px; }
  .alliance-actions { grid-column: 2; justify-content: flex-start; padding: 0 24px 14px; }
  .player-identity-card { grid-template-columns: 160px 1fr; }
  .player-avatar { width: 145px; height: 145px; }
  .player-key-data { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  :root { --sidebar: 280px; }
  .topbar { grid-template-columns: auto 1fr auto; height: 64px; }
  .topbar .brand { height: 64px; width: 64px; padding: 10px; border-right: 1px solid var(--line); }
  .topbar .brand img { width: 40px; height: 40px; }
  .topbar .brand-word { display: none; }
  .top-context { padding: 0 12px; }
  .top-actions { padding-right: 10px; }
  .profile-button span, .icon-button { display: none; }
  .menu-button { display: grid; }
  .locale-select { max-width: 72px; }
  .sidebar { top: 64px; transform: translateX(-105%); transition: transform .22s ease; box-shadow: 18px 0 35px rgba(0,0,0,.4); }
  .sidebar.open { transform: none; }
  .sidebar-scrim { display: block; position: fixed; inset: 64px 0 0 0; z-index: 20; border: 0; background: rgba(0,0,0,.58); }
  .main { margin-left: 0; padding: 88px 18px 42px; }
  .grid.three { grid-template-columns: 1fr; }
  .hero-dashboard { grid-template-columns: 1fr; }
  .hero-side { min-height: 210px; border-left: 0; border-top: 1px solid var(--gold-dark); }
  .profile-hero { grid-template-columns: 120px 1fr; }
  .profile-avatar { width: 112px; }
  .rank-disc { grid-column: 1 / -1; width: 100%; height: auto; border-radius: 0; padding: 14px; }
  .alliance-hero { grid-template-columns: 120px 1fr; }
  .alliance-emblem { width: 115px; }
  .reference-shell { grid-template-columns: 1fr; }
  .filters { position: static; }
  .login-page { grid-template-columns: 1fr; }
  .login-brand { min-height: 360px; border-right: 0; border-bottom: 1px solid var(--line); }
  .destinations { grid-template-columns: 1fr; }
  .destination { min-height: 320px; }
  .role-banner { grid-template-columns: 1fr; }
  .role-art { border-left: 0; border-top: 1px solid #694851; }
  .league-season-banner { grid-template-columns: 1.1fr repeat(3,.7fr); }
  .league-season-lead, .league-season-stat { padding: 15px; }
  .league-season-lead p { display: none; }
  .league-tabs { display: flex; overflow-x: auto; scrollbar-width: none; }
  .league-tabs::-webkit-scrollbar { display: none; }
  .league-tab { min-width: 145px; }
  .league-table th:nth-child(4), .league-table td:nth-child(4), .league-table th:nth-child(6), .league-table td:nth-child(6) { display: none; }
  .auth-main { grid-template-columns: 1fr; width: min(660px,100%); }
  .auth-feature { min-height: 330px; }
  .auth-feature-content h2 { max-width: 540px; }
  .page-wide { margin: -24px -18px 0; }
  .alliance-cover { top: 64px; min-height: 370px; }
  .alliance-cover-copy { grid-template-columns: 1fr; gap: 6px; bottom: 58px; }
  .alliance-cover-copy span, .alliance-cover-copy small { display: none; }
  .alliance-surface, .profile-surface { padding-left: 18px; padding-right: 18px; }
  .alliance-identity-bar { grid-template-columns: 130px minmax(0,1fr); gap: 16px; }
  .identity-line { top: 70px; }
  .alliance-round-logo { width: 125px; height: 125px; border-width: 7px; }
  .alliance-title { min-height: 88px; padding: 15px 18px; }
  .alliance-actions { grid-column: 1 / -1; padding: 0; }
  .market-columns, .profile-tab-grid { grid-template-columns: 1fr; }
  .rank-feature { min-height: 220px; }
  .medal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 560px) {
  .top-context .context-copy small { display: none; }
  .context-copy strong { font-size: .78rem; }
  .page-head { align-items: start; flex-direction: column; }
  .grid.two, .grid.four { grid-template-columns: 1fr; }
  .card { padding: 18px; }
  .profile-hero { grid-template-columns: 84px 1fr; gap: 16px; padding: 18px; }
  .profile-avatar { width: 80px; box-shadow: 5px 5px 0 #1c170c; }
  .profile-identity h1 { font-size: 1.45rem; }
  .rank-disc { grid-column: 1 / -1; }
  .stat-list { grid-template-columns: 1fr; }
  .achievement-slots { grid-template-columns: repeat(3,1fr); }
  .news-item { grid-template-columns: 1fr; gap: 8px; }
  .alliance-hero { grid-template-columns: 80px 1fr; padding: 18px; gap: 15px; }
  .alliance-emblem { width: 78px; }
  .unit-card { grid-template-columns: 1fr; }
  .timeline { grid-template-columns: 1fr; }
  .login-brand { min-height: 300px; padding: 30px; }
  .login-brand img { width: 90px; height: 90px; }
  .login-panel { padding: 28px 20px; }
  .portal-user span { display: none; }
  .portal-foot { flex-direction: column; }
  .destination { min-height: 300px; }
  .matches-drawer > header, .section-heading { align-items: stretch; flex-direction: column; }
  .drawer-toggle { justify-content: space-between; }
  .match-list { grid-template-columns: 1fr; }
  .match-card-open { position: static; margin-top: 8px; }
  .match-map, .match-map.full { min-height: 440px; }
  .match-map-copy { padding: 22px; }
  .match-map figcaption { align-content: center; }
  .match-map figcaption small { width: 100%; margin-left: 0; }
  .league-season-banner { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .league-season-lead { grid-column: 1 / -1; border-bottom: 1px solid rgba(214,169,52,.18); }
  .league-season-lead h2 { font-size: 1.25rem; }
  .league-season-stat { padding: 12px 9px; overflow: hidden; }
  .league-season-stat small, .league-season-stat span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .league-season-stat strong { font-size: 1.25rem; }
  .league-side { grid-template-columns: 1fr; }
  .league-board-head { padding: 13px; }
  .league-count { display: none; }
  .league-diamond { width: 38px; height: 38px; }
  .league-table th:nth-child(3), .league-table td:nth-child(3), .league-table th:nth-child(5), .league-table td:nth-child(5) { display: none; }
  .league-table th:nth-child(2) { width: auto; }
  .league-empty .empty { min-height: 260px; padding: 24px 16px; }
  .auth-header { min-height: 66px; padding: 9px 15px; }
  .auth-logo img { width: 42px; height: 42px; }
  .auth-logo span, .auth-header-actions > span { display: none; }
  .auth-header-actions select { min-width: 105px; max-width: 118px; }
  .auth-main { gap: 14px; padding: 15px; }
  .auth-form { padding: 28px 22px; }
  .auth-form h1 { font-size: 2rem; }
  .auth-form-grid { grid-template-columns: 1fr; }
  .auth-grid-wide { grid-column: auto; }
  .auth-options { align-items: flex-start; flex-direction: column; }
  .auth-demo { align-items: stretch; flex-direction: column; }
  .auth-demo button { min-height: 42px; }
  .auth-feature { min-height: 270px; padding: 28px 24px; }
  .auth-feature-content h2 { font-size: 2.1rem; }
  .auth-feature-content > p, .auth-safety { display: none; }
  .auth-feature-grid { margin-top: 18px; }
  .auth-feature-grid span { min-height: 70px; padding: 10px; font-size: .58rem; }
  .auth-feature-grid b { font-size: 1rem; }
  .auth-footer { align-items: flex-start; flex-direction: column; }
  .alliance-cover, .player-cover { min-height: 300px; }
  .cover-edit { right: 14px; top: 14px; max-width: calc(100% - 28px); }
  .alliance-watermark { width: 260px; height: 260px; }
  .alliance-cover-copy strong { font-size: 1.55rem; letter-spacing: .14em; }
  .alliance-surface { margin-top: -78px; padding: 0 14px 44px; }
  .alliance-identity-bar { grid-template-columns: 92px minmax(0,1fr); gap: 11px; min-height: 145px; padding: 18px 0; }
  .identity-line { top: 54px; }
  .alliance-round-logo { width: 88px; height: 88px; padding: 4px; border-width: 5px; }
  .alliance-title { min-height: 79px; padding: 12px; }
  .alliance-title h1 { font-size: 1.3rem; }
  .alliance-title p { font-size: .64rem; }
  .alliance-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .alliance-actions .button:last-child { grid-column: 1 / -1; }
  .section-tab { min-width: 118px; padding: 10px 12px; }
  .roster-player { grid-template-columns: 46px minmax(0,1fr); }
  .roster-player img { width: 46px; height: 46px; }
  .roster-player a { grid-column: 2; }
  .history-panel > header { align-items: stretch; flex-direction: column; }
  .history-row { grid-template-columns: 64px minmax(0,1fr); gap: 11px; }
  .elo-change { grid-column: 2; text-align: left; }
  .player-cover { min-height: 265px; }
  .profile-surface { margin-top: -72px; padding: 0 14px 44px; }
  .player-identity-card { grid-template-columns: 86px minmax(0,1fr); gap: 15px; min-height: 150px; padding: 16px; }
  .player-avatar { width: 82px; height: 82px; box-shadow: 5px 5px 0 #241a0c; }
  .player-main-identity h1 { font-size: 1.5rem; }
  .player-main-identity p { font-size: .7rem; }
  .player-key-data { grid-template-columns: 1fr; }
  .player-key-data div:last-child { grid-column: auto; }
  .profile-stage .section-tabs { margin-top: 12px; }
  .medal-grid { grid-template-columns: 1fr 1fr; }
  .medal { min-height: 130px; }
}

/* Modo de revisión: reproduce el ancho móvil dentro del navegador de escritorio. */
html.mobile-preview,
html.mobile-preview body,
html.mobile-preview #app { width: 390px; max-width: 390px; overflow-x: hidden; }
html.mobile-preview .topbar { grid-template-columns: auto 1fr auto; height: 64px; width: 390px; }
html.mobile-preview .topbar .brand { height: 64px; width: 64px; padding: 10px; border-right: 1px solid var(--line); }
html.mobile-preview .topbar .brand img { width: 40px; height: 40px; }
html.mobile-preview .topbar .brand-word,
html.mobile-preview .top-context .context-copy small,
html.mobile-preview .profile-button span,
html.mobile-preview .icon-button { display: none; }
html.mobile-preview .top-context { padding: 0 8px; }
html.mobile-preview .context-copy strong { font-size: .72rem; }
html.mobile-preview .top-actions { padding-right: 7px; gap: 5px; }
html.mobile-preview .profile-button { padding: 4px; }
html.mobile-preview .profile-button img { width: 34px; height: 34px; }
html.mobile-preview .menu-button { display: grid; }
html.mobile-preview .locale-select { max-width: 60px; padding: 0 5px; }
html.mobile-preview .sidebar { top: 64px; transform: translateX(-105%); }
html.mobile-preview .sidebar.open { transform: none; }
html.mobile-preview .main { margin-left: 0; padding: 84px 14px 36px; width: 390px; }
html.mobile-preview .page { width: 100%; }
html.mobile-preview .page-wide { width: auto; margin: -20px -14px 0; }
html.mobile-preview .alliance-cover { top: 64px; min-height: 300px; }
html.mobile-preview .player-cover { min-height: 265px; }
html.mobile-preview .alliance-watermark { width: 260px; height: 260px; }
html.mobile-preview .alliance-cover-copy { grid-template-columns: 1fr; gap: 5px; bottom: 55px; }
html.mobile-preview .alliance-cover-copy span,
html.mobile-preview .alliance-cover-copy small { display: none; }
html.mobile-preview .alliance-cover-copy strong { font-size: 1.55rem; letter-spacing: .14em; }
html.mobile-preview .cover-edit { right: 14px; top: 14px; }
html.mobile-preview .alliance-surface { margin-top: -78px; padding: 0 14px 44px; }
html.mobile-preview .profile-surface { margin-top: -72px; padding: 0 14px 44px; }
html.mobile-preview .alliance-identity-bar { grid-template-columns: 92px minmax(0,1fr); gap: 11px; min-height: 145px; padding: 18px 0; }
html.mobile-preview .identity-line { top: 54px; }
html.mobile-preview .alliance-round-logo { width: 88px; height: 88px; padding: 4px; border-width: 5px; }
html.mobile-preview .alliance-title { min-height: 79px; padding: 12px; }
html.mobile-preview .alliance-title h1 { font-size: 1.3rem; }
html.mobile-preview .alliance-actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; width: 100%; padding: 0; }
html.mobile-preview .alliance-actions .button:last-child { grid-column: 1 / -1; }
html.mobile-preview .section-tabs { overflow-x: auto; }
html.mobile-preview .section-tab { min-width: 118px; }
html.mobile-preview .market-columns,
html.mobile-preview .profile-tab-grid { grid-template-columns: 1fr; }
html.mobile-preview .player-identity-card { grid-template-columns: 86px minmax(0,1fr); gap: 15px; min-height: 150px; padding: 16px; }
html.mobile-preview .player-avatar { width: 82px; height: 82px; box-shadow: 5px 5px 0 #241a0c; }
html.mobile-preview .player-main-identity h1 { font-size: 1.5rem; }
html.mobile-preview .player-key-data { grid-column: 1 / -1; grid-template-columns: 1fr; }
html.mobile-preview .player-key-data div:last-child { grid-column: auto; }
html.mobile-preview .history-panel > header { align-items: stretch; flex-direction: column; }
html.mobile-preview .medal-grid { grid-template-columns: 1fr 1fr; }
html.mobile-preview .page-head { align-items: start; flex-direction: column; gap: 12px; margin-bottom: 20px; }
html.mobile-preview .page-head h1 { font-size: 2.25rem; }
html.mobile-preview .grid.two,
html.mobile-preview .grid.three,
html.mobile-preview .grid.four,
html.mobile-preview .match-list,
html.mobile-preview .match-preview-grid,
html.mobile-preview .match-detail-layout { grid-template-columns: 1fr; }
html.mobile-preview .matches-drawer > header,
html.mobile-preview .section-heading { align-items: stretch; flex-direction: column; }
html.mobile-preview .drawer-toggle { justify-content: space-between; }
html.mobile-preview .match-card-open { position: static; margin-top: 8px; }
html.mobile-preview .match-map,
html.mobile-preview .match-map.full { min-height: 440px; }
html.mobile-preview .match-map-copy { padding: 20px; }
html.mobile-preview .match-map-copy h2 { font-size: 1.65rem; }
html.mobile-preview .match-map figcaption small { width: 100%; margin-left: 0; }
html.mobile-preview .match-comments { padding: 18px; }
html.mobile-preview .league-season-banner { grid-template-columns: repeat(3,minmax(0,1fr)); }
html.mobile-preview .league-season-lead { grid-column: 1 / -1; border-bottom: 1px solid rgba(214,169,52,.18); }
html.mobile-preview .league-season-lead p { display: none; }
html.mobile-preview .league-season-stat { min-width: 0; padding: 12px 9px; overflow: hidden; }
html.mobile-preview .league-season-stat small,
html.mobile-preview .league-season-stat span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.mobile-preview .league-tabs { display: flex; overflow-x: auto; scrollbar-width: none; }
html.mobile-preview .league-tab { min-width: 145px; }
html.mobile-preview .league-layout,
html.mobile-preview .league-side { grid-template-columns: 1fr; }
html.mobile-preview .league-count { display: none; }
html.mobile-preview .league-table th:nth-child(3),
html.mobile-preview .league-table td:nth-child(3),
html.mobile-preview .league-table th:nth-child(4),
html.mobile-preview .league-table td:nth-child(4),
html.mobile-preview .league-table th:nth-child(5),
html.mobile-preview .league-table td:nth-child(5),
html.mobile-preview .league-table th:nth-child(6),
html.mobile-preview .league-table td:nth-child(6) { display: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.report-layout { align-items: start; }
.report-form { display: grid; gap: 14px; margin-top: 18px; }
.report-list { display: grid; gap: 10px; margin-top: 18px; }
.report-row { display: grid; grid-template-columns: 72px minmax(0,1fr) auto; gap: 18px; align-items: start; padding: 18px; border: 1px solid var(--line); background: rgba(255,255,255,.018); }
.report-row h3 { margin: 5px 0 8px; }
.report-row p { margin: 0 0 8px; color: var(--muted); line-height: 1.55; white-space: pre-wrap; }
.report-case { display: grid; place-items: center; min-height: 64px; border: 1px solid rgba(214,169,52,.35); background: rgba(214,169,52,.06); }
.report-case small { color: var(--muted); letter-spacing: .16em; }
.report-case strong { color: var(--gold); font-size: 1.15rem; }
.report-state { display: grid; justify-items: end; gap: 10px; }
.report-state time { color: var(--muted); font-size: .75rem; }
.feature-state.on { color: #79c994; }
.feature-state.off { color: #d98686; }

@media (max-width: 720px) {
  .report-row { grid-template-columns: 58px minmax(0,1fr); gap: 12px; }
  .report-state { grid-column: 1 / -1; grid-template-columns: auto 1fr; justify-items: start; align-items: center; }
}

/* v0.1.10 — privacidad, onboarding y registro preparado */
.oauth-preview{width:100%;margin:12px 0 0;padding:12px 16px;border:1px solid #c9c1b0;background:#f6f3ec;color:#38342d;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;text-align:left;opacity:.72}.oauth-preview b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid #d8d0c0}.oauth-preview span{font-weight:750}.oauth-preview small{color:#7b7468}.platform-update{display:flex;justify-content:space-between;gap:24px;padding:24px;margin-bottom:20px;border:1px solid rgba(218,165,32,.35);background:linear-gradient(110deg,rgba(218,165,32,.1),rgba(17,19,20,.92))}.platform-update h2{margin:5px 0 8px}.platform-update p{margin:0;max-width:780px;color:var(--muted)}.platform-update time{color:var(--gold);font-size:.72rem;letter-spacing:.12em;white-space:nowrap}.cookie-banner{position:fixed;z-index:1000;left:24px;right:24px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;background:rgba(9,11,12,.98);border:1px solid rgba(218,165,32,.5);box-shadow:0 20px 70px #000;color:#eee}.cookie-banner p{margin:4px 0 0;color:#aaa;max-width:760px}.cookie-banner>div:last-child{display:flex;gap:10px;flex-shrink:0}.tutorial-backdrop{position:fixed;z-index:1100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.72);backdrop-filter:blur(6px)}.tutorial-card{width:min(520px,100%);padding:34px;border:1px solid rgba(218,165,32,.58);background:linear-gradient(145deg,#141619,#090a0b);box-shadow:0 35px 100px #000}.tutorial-card h2{font-family:var(--display);font-size:2.25rem;margin:10px 0}.tutorial-card p{color:#b9b9b5;line-height:1.7}.tutorial-progress{display:flex;gap:8px;margin:26px 0}.tutorial-progress i{display:block;width:44px;height:3px;background:#393939}.tutorial-progress i.active{background:var(--gold)}.tutorial-card .button-row{justify-content:flex-end}
@media(max-width:720px){.cookie-banner{left:10px;right:10px;bottom:10px;align-items:stretch;flex-direction:column}.cookie-banner>div:last-child{display:grid;grid-template-columns:1fr 1fr}.oauth-preview{grid-template-columns:28px 1fr}.oauth-preview small{grid-column:2}.platform-update{flex-direction:column}.tutorial-card{padding:26px}}

html.mobile-preview .report-row { grid-template-columns: 52px minmax(0,1fr); gap: 10px; padding: 14px; }
html.mobile-preview .report-state { grid-column: 1 / -1; grid-template-columns: auto 1fr; justify-items: start; align-items: center; }

/* 0.1.4 · Sala de partida, capa social, arbitraje y soporte */
.friends-rail { position: fixed; z-index: 27; top: 72px; right: 0; bottom: 0; width: 66px; display: grid; grid-template-rows: auto minmax(0,1fr) auto; background: rgba(14,16,17,.97); border-left: 1px solid var(--line); box-shadow: -14px 0 30px rgba(0,0,0,.2); transition: width .22s ease; }
.friends-rail.open { width: 310px; }
.friends-rail > header { min-height: 58px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 8px 11px; border-bottom: 1px solid var(--line); overflow: hidden; }
.friends-rail > header strong, .friends-rail > header > span { white-space: nowrap; }
.friends-rail > header > span { min-width: 24px; padding: 3px 6px; border: 1px solid var(--line); color: var(--gold-light); text-align: center; font-size: .7rem; }
.friends-toggle, .friends-rail footer button, .friends-rail footer a { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); background: var(--panel); color: var(--gold-light); text-decoration: none; cursor: pointer; }
.friends-list { min-height: 0; overflow-y: auto; padding: 9px; }
.friend-entry { display: grid; grid-template-columns: 46px minmax(0,1fr) 28px; align-items: center; gap: 9px; min-height: 58px; padding: 5px 0; overflow: hidden; }
.friend-avatar { position: relative; width: 44px; height: 44px; padding: 3px; border: 2px solid #a04d4d; border-radius: 50%; background: #22262a; color: #fff; cursor: pointer; }
.friend-avatar::after { content: ''; position: absolute; inset: 3px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }
.friend-avatar span { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; background: linear-gradient(145deg,#3b3f45,#17191c); font-size: .68rem; font-weight: 800; letter-spacing: .04em; }
.friend-avatar.presence-online { border-color: #55cf79; box-shadow: 0 0 0 3px rgba(85,207,121,.1); }
.friend-avatar.presence-dnd { border-color: #e0bd48; box-shadow: 0 0 0 3px rgba(224,189,72,.1); }
.friend-avatar.presence-offline { border-color: #b55353; filter: saturate(.55); opacity: .76; }
.friend-copy { min-width: 0; }
.friend-copy strong, .friend-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.friend-copy strong { font-size: .78rem; }
.friend-copy small { margin-top: 3px; color: var(--muted); font-size: .65rem; }
.friend-remove { width: 26px; height: 26px; border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.friend-remove:hover { color: #e58c86; }
.friend-directory { max-height: 220px; overflow-y: auto; padding: 12px; border-top: 1px solid var(--line); }
.friend-directory h3 { margin: 0 0 9px; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; font-family: inherit; font-size: .62rem; }
.friend-suggestion { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 6px 0; }
.friend-suggestion > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--panel-3); font-size: .6rem; }
.friend-suggestion b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; }
.friend-suggestion button { padding: 5px 7px; border: 1px solid var(--gold-dark); background: transparent; color: var(--gold-light); font-size: .65rem; cursor: pointer; }
.friends-rail footer { display: flex; justify-content: space-between; gap: 7px; padding: 10px 11px; border-top: 1px solid var(--line); }
.notification-button { position: relative; }
.notification-button b { position: absolute; top: -5px; right: -5px; min-width: 17px; height: 17px; display: grid; place-items: center; padding: 0 4px; border-radius: 10px; background: #b93b34; color: #fff; font-size: .56rem; }
.friends-rail:not(.open) > header strong, .friends-rail:not(.open) > header > span, .friends-rail:not(.open) .friend-copy, .friends-rail:not(.open) .friend-remove, .friends-rail:not(.open) .friend-directory { display: none; }
.friends-rail:not(.open) > header { display: block; padding: 8px 11px; }
.friends-rail:not(.open) .friends-list { padding: 9px 10px; }
.friends-rail:not(.open) .friend-entry { display: block; min-height: 53px; }
.friends-rail:not(.open) footer { display: grid; }
.ephemeral-chat { position: fixed; right: 326px; bottom: 18px; width: min(370px,calc(100vw - 350px)); height: 430px; display: grid; grid-template-rows: auto minmax(0,1fr) auto; background: #101214; border: 1px solid var(--line); box-shadow: 0 24px 70px rgba(0,0,0,.6); }
.ephemeral-chat > header { display: flex; align-items: center; justify-content: space-between; padding: 13px 15px; border-bottom: 1px solid var(--line); }
.ephemeral-chat > header strong, .ephemeral-chat > header small { display: block; }
.ephemeral-chat > header small { margin-top: 3px; color: var(--muted); font-size: .66rem; }
.ephemeral-chat > header button { width: 32px; height: 32px; border: 1px solid var(--line); background: transparent; cursor: pointer; }
.ephemeral-messages { overflow-y: auto; padding: 16px; }
.ephemeral-messages p { max-width: 82%; margin: 0 0 9px; padding: 9px 11px; background: var(--panel-3); line-height: 1.4; font-size: .78rem; }
.ephemeral-messages p.me { margin-left: auto; background: #2a2413; border-right: 2px solid var(--gold); }
.chat-empty { color: var(--muted); font-size: .74rem; line-height: 1.5; }
.ephemeral-chat form { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: 11px; border-top: 1px solid var(--line); }
.ephemeral-chat input { min-width: 0; padding: 10px; border: 1px solid var(--line); background: var(--bg); color: var(--text); }
.ephemeral-chat form button { border: 1px solid var(--gold-dark); background: var(--gold); color: #111; font-weight: 700; }
.notification-center { position: fixed; z-index: 48; right: 78px; bottom: 18px; width: min(390px,calc(100vw - 100px)); max-height: min(620px,calc(100vh - 110px)); display: grid; grid-template-rows: auto minmax(0,1fr); background: #101214; border: 1px solid var(--line); box-shadow: 0 28px 80px rgba(0,0,0,.72); }
.notification-center > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 17px; border-bottom: 1px solid var(--line); }
.notification-center > header small,.notification-center > header strong { display: block; }
.notification-center > header small { margin-bottom: 4px; color: var(--gold); font-size: .58rem; letter-spacing: .15em; }
.notification-center > header button { width: 34px; height: 34px; border: 1px solid var(--line); background: transparent; color: var(--text); cursor: pointer; }
.notification-center > div { min-height: 0; overflow-y: auto; }
.notification-item { width: 100%; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 11px; padding: 14px 16px; border: 0; border-bottom: 1px solid var(--line-soft); background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.notification-item:hover,.notification-item.unread { background: rgba(214,169,52,.06); }
.notification-item > span { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--gold-dark); color: var(--gold-light); }
.notification-item strong,.notification-item small { display: block; }
.notification-item p { margin: 5px 0; color: var(--muted); line-height: 1.4; font-size: .72rem; }
.notification-item small { color: #777; font-size: .6rem; }
.notification-empty { padding: 28px 18px; color: var(--muted); text-align: center; }
.notification-popup { position: fixed; z-index: 60; right: 82px; bottom: 18px; width: min(430px,calc(100vw - 105px)); display: grid; grid-template-columns: 46px minmax(0,1fr) 20px; align-items: center; gap: 12px; padding: 15px; border: 1px solid rgba(214,169,52,.55); background: linear-gradient(110deg,#17191b,#0b0d0e); color: var(--text); text-align: left; box-shadow: 0 24px 70px rgba(0,0,0,.72); cursor: pointer; animation: notification-slide-in .34s ease-out both; }
.notification-popup > span { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--gold-dark); color: var(--gold-light); font-size: 1.2rem; }
.notification-popup small,.notification-popup strong { display: block; }
.notification-popup small { color: var(--gold); font-size: .56rem; letter-spacing: .15em; }
.notification-popup p { margin: 5px 0 0; color: var(--muted); line-height: 1.35; font-size: .7rem; }
@keyframes notification-slide-in { from { opacity:0; transform:translate(115%,20px); } to { opacity:1; transform:translate(0,0); } }
.find-match-cluster { display: flex; align-items: stretch; }
.find-match-cluster.active { box-shadow: 0 0 0 1px rgba(214,169,52,.45),0 0 22px rgba(214,169,52,.12); }
.find-match-cluster > button { width: 34px; border: 1px solid var(--gold-dark); border-left: 0; background: #17130a; color: var(--gold-light); cursor: pointer; }
.map-queue-grid { grid-template-columns: repeat(auto-fit,minmax(270px,1fr)); }
.queue-card.locked { position: relative; filter: grayscale(.65); opacity: .62; cursor: not-allowed; }
.queue-card.locked::after { content:'PRÓXIMAMENTE'; position:absolute; top:12px; right:12px; padding:6px 8px; background:#111d; border:1px solid var(--gold-dark); color:var(--gold-light); font-size:.58rem; letter-spacing:.13em; }
.selected-queue-map { display:grid; grid-template-columns:150px minmax(0,1fr); gap:16px; align-items:center; margin:18px 0; padding:14px; border:1px solid var(--line); background:#090b0c; }
.selected-queue-map img { width:100%; height:92px; object-fit:cover; background:#050607; }
.selected-queue-map small,.selected-queue-map strong,.selected-queue-map span { display:block; }
.selected-queue-map small { color:var(--gold); font-size:.58rem; letter-spacing:.14em; }
.selected-queue-map strong { margin:5px 0; font:1.25rem var(--display); }
.selected-queue-map span { color:var(--muted); font-size:.72rem; }
.country-assignment-mode { margin:18px 0; padding:18px; border:1px solid var(--line); background:#0b0d0e; }
.country-assignment-mode > header { display:flex; justify-content:space-between; gap:18px; align-items:center; }
.country-assignment-mode > header small,.country-assignment-mode > header strong { display:block; }
.country-assignment-mode > header small { margin-bottom:4px; color:var(--gold); font-size:.58rem; letter-spacing:.15em; }
.country-assignment-mode > header > span { color:var(--muted); font-size:.7rem; }
.assignment-mode-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.assignment-mode-options label { display:grid; grid-template-columns:22px minmax(0,1fr); gap:3px 8px; padding:13px; border:1px solid var(--line); cursor:pointer; }
.assignment-mode-options input { grid-row:span 2; align-self:center; }
.assignment-mode-options small { color:var(--muted); font-size:.67rem; }
.country-priorities { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; margin-top:12px; }
.country-priorities label span { display:block; margin-bottom:5px; color:var(--muted); font-size:.62rem; }
.country-priorities select { width:100%; min-height:40px; padding:8px; border:1px solid var(--line); background:var(--bg); color:var(--text); }
.queue-population { display:grid; gap:3px; margin:16px auto; }
.queue-population span b { color:var(--gold-light); font-size:1.25rem; }
.queue-population small { color:var(--muted); }

.prep-steps { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); margin-bottom: 18px; border: 1px solid var(--line); background: var(--panel); }
.prep-steps button { min-height: 62px; display: flex; align-items: center; gap: 10px; padding: 10px; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; }
.prep-steps button:last-child { border-right: 0; }
.prep-steps span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line); color: var(--muted); font-size: .65rem; }
.prep-steps b { font-size: .72rem; font-weight: 600; }
.prep-steps button.active { color: var(--gold-light); background: rgba(214,169,52,.07); box-shadow: inset 0 -2px var(--gold); }
.prep-steps button.active span, .prep-steps button.complete span { border-color: var(--gold-dark); color: var(--gold-light); }
.prep-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(320px,.65fr); gap: 18px; align-items: start; }
.draft-map-card, .draft-order, .prep-panel { padding: 22px; background: var(--panel); border: 1px solid var(--line); }
.draft-map-card > header, .prep-panel > header, .prep-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.draft-map { position: relative; min-height: 590px; margin-top: 14px; overflow: hidden; border: 1px solid #3a3426; background: #050607; }
.draft-map > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; filter: grayscale(1) brightness(.58) contrast(1.25); opacity: .78; }
.draft-map-shade { position: absolute; inset: 0; background: radial-gradient(circle at 55% 45%,transparent 20%,rgba(0,0,0,.38) 90%); pointer-events: none; }
.country-marker { position: absolute; z-index: 2; transform: translate(-50%,-50%); min-width: 86px; min-height: 38px; padding: 6px 8px; border: 1px solid var(--gold-dark); background: rgba(8,9,10,.88); box-shadow: 0 8px 18px rgba(0,0,0,.45); cursor: pointer; }
.country-marker:hover:not(:disabled) { color: #17110a; background: var(--gold-light); transform: translate(-50%,-57%); }
.country-marker b { display: block; font-size: .62rem; line-height: 1.15; }
.country-marker span { display: none; }
.country-marker.picked { min-width: 96px; color: #fff; cursor: default; }
.country-marker.picked span { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-bottom: 3px; border-radius: 50%; font-weight: 800; }
.country-marker.side-A { border-color: #c34a43; background: rgba(91,23,21,.9); }
.country-marker.side-B { border-color: #4b88c6; background: rgba(17,50,82,.92); }
.draft-order h2 { font-size: 1.05rem; line-height: 1.5; }
.draft-order ol, .hero-draft-list ol { margin: 15px 0; padding: 0; list-style: none; }
.draft-order li, .hero-draft-list li { display: grid; grid-template-columns: 26px 30px minmax(0,1fr); align-items: center; gap: 8px; min-height: 42px; padding: 6px; border-bottom: 1px solid var(--line-soft); color: var(--muted); }
.draft-order li.current, .hero-draft-list li.current { background: rgba(214,169,52,.08); color: var(--text); }
.side-A { color: #ed8f88; }
.side-B { color: #8cbce9; }
.prep-panel > header p { max-width: 760px; margin: 6px 0 0; color: var(--muted); line-height: 1.55; }
.rules-negotiation { margin-top: 20px; border: 1px solid var(--line); }
.rules-head, .rule-row { display: grid; grid-template-columns: minmax(210px,1.6fr) minmax(105px,.55fr) minmax(105px,.55fr) minmax(130px,.7fr); align-items: center; gap: 12px; padding: 12px 15px; }
.rules-head { color: var(--muted); text-transform: uppercase; letter-spacing: .1em; font-size: .62rem; }
.rule-row { border-top: 1px solid var(--line); }
.rule-row strong, .rule-row small { display: block; }
.rule-row small { margin-top: 3px; color: var(--muted); font-size: .68rem; }
.rule-row select { min-height: 38px; border: 1px solid var(--line); background: var(--bg); color: var(--text); }
.rule-result { padding: 8px; border: 1px solid var(--line); text-align: center; font-size: .7rem; }
.rule-result.agreed { color: #8ed2a5; }
.rule-result.negotiate { color: #f0c666; border-color: var(--gold-dark); }
.prep-footer { margin-top: 20px; justify-content: flex-end; }
.hero-board { display: grid; grid-template-columns: minmax(170px,.45fr) minmax(0,1.7fr) minmax(210px,.55fr); gap: 16px; margin-top: 20px; }
.hero-board > aside { padding: 15px; border: 1px solid var(--line); background: var(--bg); }
.ban-slots { display: grid; gap: 7px; margin-bottom: 18px; }
.ban-slots span { min-height: 36px; padding: 9px; border: 1px dashed var(--line); color: var(--muted); font-size: .68rem; }
.hero-pool { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.hero-pool button { min-height: 80px; padding: 9px; border: 1px solid var(--line); background: var(--panel-3); text-align: left; cursor: pointer; }
.hero-pool button:hover:not(:disabled) { border-color: var(--gold); transform: translateY(-2px); }
.hero-pool strong, .hero-pool span { display: block; }
.hero-pool strong { font-size: .72rem; line-height: 1.3; }
.hero-pool span { margin-top: 7px; color: var(--muted); font-size: .59rem; }
.hero-pool button.banned { opacity: .45; background: #231718; text-decoration: line-through; }
.hero-pool button.picked.side-A { border-color: #b84b44; background: #30191a; }
.hero-pool button.picked.side-B { border-color: #4b83b9; background: #17283a; }
.hero-draft-list li { grid-template-columns: 28px minmax(0,1fr); }
.assignment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px; }
.assignment-grid > section { border: 1px solid var(--line); }
.assignment-grid > section > header { display: flex; justify-content: space-between; padding: 13px; background: var(--panel-3); }
.assignment-grid > section > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 10px; padding: 11px 13px; border-top: 1px solid var(--line); }
.assignment-grid input { grid-row: span 2; min-width: 0; padding: 8px; border: 1px solid var(--line); background: var(--bg); color: var(--text); }
.assignment-grid small { color: var(--gold-light); text-align: right; }
.confirm-cards { display: flex; gap: 14px; margin-top: 18px; }
.confirm-cards label { flex: 1; padding: 15px; border: 1px solid var(--line); background: var(--bg); cursor: pointer; }
.schedule-default { display: flex; justify-content: space-between; margin-top: 18px; padding: 17px; border: 1px solid var(--gold-dark); background: rgba(214,169,52,.05); }
.vs-banner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; padding: 28px; background: linear-gradient(90deg,#291718,#0d0e10 47%,#0d0e10 53%,#132336); border: 1px solid var(--line); }
.vs-banner > div { display: grid; justify-items: center; gap: 7px; }
.vs-banner img, .mock-emblem { width: 86px; height: 86px; display: grid; place-items: center; border: 4px solid var(--gold-dark); border-radius: 50%; object-fit: cover; background: #111; font-family: Georgia,serif; font-size: 2rem; }
.vs-banner > b { color: var(--gold-light); font-family: Georgia,serif; font-size: 2.4rem; }
.handoff-status { max-width: 800px; margin: 24px auto 0; padding: 24px; text-align: center; }
.handoff-status p { color: var(--muted); line-height: 1.6; }
.handoff-data { display: grid; grid-template-columns: repeat(3,1fr); margin: 18px 0; border: 1px solid var(--line); }
.handoff-data span { padding: 14px; border-right: 1px solid var(--line); }
.handoff-data span:last-child { border-right: 0; }
.handoff-data b { display: block; margin-bottom: 6px; color: var(--gold-light); font-size: .65rem; text-transform: uppercase; }

.arb-layout, .support-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 18px; align-items: start; }
.arb-evidence { display: grid; gap: 9px; }
.arb-evidence section { padding: 16px; border: 1px solid var(--line); background: var(--panel); }
.arb-evidence b { color: var(--gold); font-size: .62rem; letter-spacing: .15em; }
.arb-evidence h3 { margin: 5px 0; }
.arb-evidence p { margin: 0; color: var(--muted); line-height: 1.5; font-size: .77rem; }
.arb-result { margin-top: 17px; padding: 16px; border: 1px solid var(--line); }
.arb-result span, .arb-result strong { display: block; }
.arb-result span { margin-bottom: 7px; color: var(--gold-light); text-transform: uppercase; font-size: .68rem; letter-spacing: .12em; }
.arb-result p { margin: 8px 0 0; }
.arb-result.review { border-color: #a94c46; background: rgba(169,76,70,.08); }
.arb-result.observe { border-color: var(--gold-dark); background: rgba(214,169,52,.06); }
.arb-result.consistent { border-color: #467d59; background: rgba(70,125,89,.08); }
.arb-protocol { margin-top: 18px; }
.arb-protocol li { margin-bottom: 9px; color: var(--muted); line-height: 1.5; }
.support-chat { height: 610px; display: grid; grid-template-rows: minmax(0,1fr) auto; background: var(--panel); border: 1px solid var(--line); }
.support-messages { overflow-y: auto; padding: 20px; }
.support-messages p { max-width: 82%; padding: 12px 14px; background: var(--panel-3); line-height: 1.55; }
.support-messages p.user { margin-left: auto; border-right: 2px solid var(--gold); background: #282313; }
.support-chat form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; padding: 14px; border-top: 1px solid var(--line); }
.support-chat textarea { min-height: 72px; resize: none; padding: 11px; border: 1px solid var(--line); background: var(--bg); color: var(--text); }
.news-workflow { margin-top: 18px; }
.news-candidates { display: grid; gap: 8px; margin-top: 16px; }
.news-candidates article { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 14px; padding: 12px; border: 1px solid var(--line); }
.news-candidates strong, .news-candidates small { display: block; }
.news-candidates small { margin-top: 4px; color: var(--muted); }
.news-candidates a { color: var(--gold-light); font-size: .72rem; }

@media (max-width: 1050px) {
  .hero-board { grid-template-columns: 1fr; }
  .hero-pool { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .prep-grid, .arb-layout, .support-layout { grid-template-columns: 1fr; }
  .draft-map { min-height: 520px; }
}
@media (max-width: 720px) {
  .friends-rail { top: 64px; left: 0; right: auto; width: 100vw; transform: translateX(calc(100% - 58px)); transition: transform .24s ease; touch-action: pan-y; }
  .friends-rail.open { width: 100vw; transform: translateX(0); }
  .friends-rail.open .friends-list,.friends-rail.open .friend-directory { -webkit-overflow-scrolling: touch; }
  .friends-rail footer { justify-content: flex-start; }
  .ephemeral-chat { right: 10px; bottom: 10px; width: calc(100vw - 20px); height: min(430px,70vh); z-index: 40; }
  .notification-center { inset: 64px 0 0; width: 100vw; max-height: none; z-index: 55; }
  .notification-popup { right: 10px; bottom: 12px; width: calc(100vw - 20px); }
  .selected-queue-map,.assignment-mode-options { grid-template-columns:1fr; }
  .prep-steps { display: flex; overflow-x: auto; }
  .prep-steps button { min-width: 116px; }
  .draft-map { min-height: 430px; }
  .country-marker { min-width: 63px; padding: 4px; }
  .country-marker b { font-size: .52rem; }
  .rules-head { display: none; }
  .rule-row { grid-template-columns: 1fr 1fr; }
  .rule-row > div, .rule-result { grid-column: 1 / -1; }
  .hero-pool { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .assignment-grid { grid-template-columns: 1fr; }
  .confirm-cards, .prep-footer { align-items: stretch; flex-direction: column; }
  .vs-banner { gap: 10px; padding: 18px 8px; }
  .vs-banner img, .mock-emblem { width: 62px; height: 62px; }
  .vs-banner strong { font-size: .68rem; }
  .handoff-data { grid-template-columns: 1fr; }
  .handoff-data span { border-right: 0; border-bottom: 1px solid var(--line); }
  .news-candidates article { grid-template-columns: 1fr; }
}

html.mobile-preview .friends-rail { top: 64px; left: 0; right: auto; width: 100vw; transform: translateX(calc(100% - 58px)); }
html.mobile-preview .friends-rail.open { width: 100vw; transform: translateX(0); }
html.mobile-preview .ephemeral-chat { right: 10px; bottom: 10px; width: 370px; height: 430px; z-index: 40; }
html.mobile-preview .prep-steps { display: flex; overflow-x: auto; }
html.mobile-preview .prep-steps button { min-width: 116px; }
html.mobile-preview .prep-grid, html.mobile-preview .arb-layout, html.mobile-preview .support-layout, html.mobile-preview .assignment-grid { grid-template-columns: 1fr; }
html.mobile-preview .draft-map { min-height: 430px; }
html.mobile-preview .country-marker { min-width: 63px; padding: 4px; }
html.mobile-preview .country-marker b { font-size: .52rem; }
html.mobile-preview .rules-head { display: none; }
html.mobile-preview .rule-row { grid-template-columns: 1fr 1fr; }
html.mobile-preview .rule-row > div, html.mobile-preview .rule-result { grid-column: 1 / -1; }
html.mobile-preview .hero-board { grid-template-columns: 1fr; }
html.mobile-preview .hero-pool { grid-template-columns: repeat(2,minmax(0,1fr)); }
html.mobile-preview .confirm-cards, html.mobile-preview .prep-footer { align-items: stretch; flex-direction: column; }
html.mobile-preview .news-candidates article { grid-template-columns: 1fr; }

/* 0.1.5 · Información del juego */
.catalog-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 16px; border: 1px solid var(--line); background: var(--panel); }
.catalog-summary > div { padding: 16px 18px; border-right: 1px solid var(--line); }
.catalog-summary > div:last-child { border-right: 0; }
.catalog-summary strong, .catalog-summary span { display: block; }
.catalog-summary strong { color: var(--gold-light); font-family: Georgia,serif; font-size: 1.75rem; font-weight: 500; }
.catalog-summary span { margin-top: 4px; color: var(--muted); text-transform: uppercase; letter-spacing: .09em; font-size: .61rem; }
.reference-tabs { display: flex; gap: 7px; margin-bottom: 16px; overflow-x: auto; }
.reference-tabs button { min-width: 170px; min-height: 45px; padding: 10px 16px; border: 1px solid var(--line); background: var(--panel); color: var(--muted); cursor: pointer; }
.reference-tabs button.active { border-color: var(--gold-dark); background: rgba(214,169,52,.08); color: var(--gold-light); box-shadow: inset 0 -2px var(--gold); }
.catalog-controls { display: grid; grid-template-columns: minmax(210px,.55fr) minmax(300px,1.25fr) auto; align-items: end; gap: 14px; padding: 16px; border: 1px solid var(--line); background: var(--panel); }
.catalog-controls .field { margin: 0; }
.catalog-search input { height: 42px; padding: 0 11px; border: 1px solid var(--line); background: var(--bg); color: var(--text); }
.catalog-count { min-width: 110px; padding: 7px 12px; border-left: 1px solid var(--line); text-align: right; }
.catalog-count strong, .catalog-count span { display: block; }
.catalog-count strong { color: var(--gold-light); font-size: 1.25rem; }
.catalog-count span { color: var(--muted); font-size: .63rem; }
.catalog-table-wrap { margin-top: 12px; overflow: auto; border: 1px solid var(--line); background: var(--panel); }
.catalog-table { width: 100%; min-width: 1320px; border-collapse: collapse; }
.catalog-table th { position: sticky; top: 0; z-index: 2; padding: 13px; background: #181a1c; color: var(--gold-light); text-transform: uppercase; letter-spacing: .1em; text-align: left; font-size: .61rem; }
.catalog-table td { min-width: 165px; max-width: 280px; padding: 14px 13px; border-top: 1px solid var(--line); vertical-align: top; color: #d7d3ca; font-size: .73rem; line-height: 1.45; }
.catalog-table tbody tr:hover { background: rgba(214,169,52,.035); }
.catalog-table td:first-child { min-width: 205px; }
.catalog-table td:nth-child(3) { min-width: 215px; }
.catalog-table td:nth-child(4) { min-width: 210px; }
.catalog-table td:nth-child(5) { min-width: 260px; }
.catalog-table td:nth-child(6) { min-width: 220px; }
.catalog-table td > small, .catalog-table td > strong, .catalog-table td > span, .catalog-table td > a { display: block; }
.catalog-table td > small { color: var(--muted); }
.catalog-table td > strong { margin: 4px 0; color: var(--text); font-size: .82rem; }
.catalog-table td > span { color: var(--muted); font-size: .66rem; }
.catalog-table td > a { margin: 9px 0 5px; color: var(--gold-light); }
.catalog-table ul { margin: 0; padding: 0; list-style: none; }
.catalog-table li { position: relative; margin-bottom: 6px; padding-left: 15px; }
.catalog-table li::before { position: absolute; left: 0; top: 0; }
.catalog-table li.buff::before { content: '＋'; color: #75c991; }
.catalog-table li.drawback::before { content: '−'; color: #d77872; }
.catalog-resources { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.catalog-resources span { padding: 6px 7px; border: 1px solid var(--line-soft); background: var(--bg); }
.catalog-resources b { display: block; color: var(--muted); font-size: .58rem; text-transform: uppercase; }
.catalog-resources em { color: var(--muted); }
.catalog-verify { display: inline-flex !important; width: fit-content; padding: 5px 7px; border: 1px solid var(--line); font-size: .61rem !important; }
.catalog-verify.official { color: #8bd1a3; border-color: #365e43; }
.catalog-verify.community_current { color: #edc96b; border-color: var(--gold-dark); }
.catalog-verify.pending { color: #df8d87; border-color: #6c3835; }
.modifiers-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.morale-lab p { color: var(--muted); line-height: 1.6; }
.morale-control { margin: 23px 0; }
.morale-control label { display: flex; justify-content: space-between; color: var(--muted); }
.morale-control label strong { color: var(--gold-light); font-size: 1.25rem; }
.morale-control input { width: 100%; margin: 14px 0 6px; accent-color: var(--gold); }
.morale-control > div { display: flex; justify-content: space-between; color: var(--muted); font-size: .62rem; }
.morale-speed { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 18px; border: 1px solid var(--line); }
.morale-speed span { padding: 14px; border-right: 1px solid var(--line); }
.morale-speed span:last-child { border-right: 0; }
.morale-speed small, .morale-speed strong { display: block; }
.morale-speed small { color: var(--muted); }
.morale-speed strong { margin-top: 5px; color: var(--gold-light); font-size: 1.4rem; }
.modifier-table-card { grid-row: span 2; }
.modifier-time-list { max-height: 680px; overflow-y: auto; margin-top: 14px; border: 1px solid var(--line); }
.modifier-time-list > div { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 12px; padding: 11px 12px; border-bottom: 1px solid var(--line); }
.modifier-time-list > div:last-child { border-bottom: 0; }
.modifier-time-list b, .modifier-time-list small { display: block; }
.modifier-time-list small, .modifier-time-list em { color: var(--muted); font-size: .64rem; font-style: normal; }
.modifier-time-list strong { color: var(--gold-light); }
.factor { padding: 12px 0; border-bottom: 1px solid var(--line); }
.factor:last-child { border-bottom: 0; }
.factor strong { color: var(--text); }
.factor p { margin: 4px 0 0; color: var(--muted); font-size: .76rem; }
.factor.buff { border-left: 2px solid #4b8c60; padding-left: 12px; }
.factor.penalty { border-left: 2px solid #934a45; padding-left: 12px; }
.factor.external { border-left: 2px solid var(--gold-dark); padding-left: 12px; }
.condition { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 11px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.condition:last-child { border-bottom: 0; }
.condition > span { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--line); }
.condition.positive > span { color: #7dd097; border-color: #365e43; }
.condition.negative > span { color: #df817b; border-color: #6c3835; }
.condition.variable > span { color: var(--gold-light); border-color: var(--gold-dark); }
.condition strong { font-size: .8rem; }
.condition p { margin: 3px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.heroes-reference .section-heading p { margin: 5px 0 0; color: var(--muted); }
.hero-reference-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.hero-reference-grid > article { display: grid; grid-template-rows: auto minmax(0,1fr) auto auto; padding: 16px; border: 1px solid var(--line); background: var(--panel); }
.hero-reference-grid > article > header { display: flex; align-items: center; gap: 11px; }
.hero-letter { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--gold-dark); border-radius: 50%; color: var(--gold-light); font-family: Georgia,serif; font-size: 1.2rem; }
.hero-reference-grid h3 { margin: 0; font-size: .9rem; }
.hero-reference-grid header span { display: block; margin-top: 3px; color: var(--muted); font-size: .65rem; }
.hero-effect-list { margin: 14px 0; }
.hero-effect-list p { position: relative; margin: 0 0 7px; padding-left: 17px; color: #d8d4cb; font-size: .72rem; line-height: 1.45; }
.hero-effect-list p::before { position: absolute; left: 0; }
.hero-effect-list p.buff::before { content: '＋'; color: #75c991; }
.hero-effect-list p.drawback::before { content: '−'; color: #d77872; }
.hero-reference-grid dl { margin: 0 0 12px; border-top: 1px solid var(--line); }
.hero-reference-grid dl > div { display: flex; justify-content: space-between; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); font-size: .65rem; }
.hero-reference-grid dt { color: var(--muted); }
.hero-reference-grid dd { margin: 0; text-align: right; }
.hero-reference-grid > article > a { color: var(--gold-light); font-size: .68rem; }
@media (max-width: 1050px) {
  .hero-reference-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .catalog-summary { grid-template-columns: 1fr 1fr; }
  .catalog-summary > div:nth-child(2) { border-right: 0; }
  .catalog-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .catalog-controls { grid-template-columns: 1fr; }
  .catalog-count { border-left: 0; border-top: 1px solid var(--line); text-align: left; }
  .modifiers-layout, .hero-reference-grid { grid-template-columns: 1fr; }
  .modifier-table-card { grid-row: auto; }
  .morale-control > div span:nth-child(2) { display: none; }
  .modifier-time-list > div { grid-template-columns: minmax(0,1fr) auto; }
  .modifier-time-list em { grid-column: 1 / -1; }
}
html.mobile-preview .catalog-summary { grid-template-columns: 1fr 1fr; }
html.mobile-preview .catalog-summary > div:nth-child(2) { border-right: 0; }
html.mobile-preview .catalog-controls, html.mobile-preview .modifiers-layout, html.mobile-preview .hero-reference-grid { grid-template-columns: 1fr; }
html.mobile-preview .catalog-count { border-left: 0; border-top: 1px solid var(--line); text-align: left; }
html.mobile-preview .modifier-table-card { grid-row: auto; }

/* Preferencias visuales · pequeña, normal y grande */
.interface-size-card { margin-bottom: 18px; overflow: visible; }
.interface-size-card > p { max-width: 720px; margin-bottom: 18px; }
.interface-size-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.interface-size-option { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 12px; min-width: 0; padding: 12px; border: 1px solid var(--line); background: #0d0f10; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.interface-size-option:hover { border-color: var(--gold-dark); background: #12130f; transform: translateY(-1px); }
.interface-size-option.selected { border-color: var(--gold); background: linear-gradient(145deg,rgba(214,169,52,.1),rgba(13,15,16,.96)); box-shadow: inset 0 -2px var(--gold); }
.interface-size-option > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.interface-size-option:has(input:focus-visible) { outline: 2px solid var(--focus); outline-offset: 3px; }
.interface-preview { position: relative; grid-column: 1 / -1; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid #34373a; background: #090a0b; box-shadow: inset 0 0 24px rgba(0,0,0,.6); }
.interface-preview i { position: absolute; display: block; }
.preview-header { inset: 0 0 auto; height: 17%; background: #141617; border-bottom: 1px solid #3b3320; }
.preview-side { inset: 17% auto 0 0; width: 19%; background: #101213; border-right: 1px solid #292c2f; }
.preview-avatar { left: 26%; top: 27%; width: 16%; aspect-ratio: 1; background: linear-gradient(135deg,#ebeef2 0 45%,#1a1d20 46% 72%,#9f201d 73%); border: 1px solid var(--gold-dark); }
.preview-title { left: 47%; right: 9%; top: 29%; height: 8%; background: #d8d4cb; opacity: .9; }
.preview-line { left: 26%; right: 9%; height: 7%; background: #1b1e20; border-left: 2px solid var(--gold-dark); }
.preview-line.one { top: 53%; }
.preview-line.two { top: 65%; }
.preview-line.three { top: 77%; }
.preview-small .preview-avatar { width: 12%; }
.preview-small .preview-title { left: 42%; right: 15%; height: 6%; }
.preview-small .preview-line { right: 15%; height: 5%; }
.preview-small .preview-line.one { top: 49%; }
.preview-small .preview-line.two { top: 58%; }
.preview-small .preview-line.three { top: 67%; }
.preview-normal .preview-avatar { width: 14%; }
.preview-normal .preview-title { left: 44%; right: 12%; height: 7%; }
.preview-normal .preview-line { right: 12%; height: 6%; }
.preview-normal .preview-line.one { top: 51%; }
.preview-normal .preview-line.two { top: 61%; }
.preview-normal .preview-line.three { top: 71%; }
.interface-size-copy { min-width: 0; }
.interface-size-copy strong, .interface-size-copy small { display: block; }
.interface-size-copy strong { color: var(--text); }
.interface-size-copy strong em { display: inline-block; margin-left: 8px; padding: 3px 6px; border: 1px solid var(--gold-dark); color: var(--gold-light); font: 600 .55rem/1 inherit; letter-spacing: .08em; text-transform: uppercase; }
.interface-size-copy small { margin-top: 5px; color: var(--muted); line-height: 1.4; }
.interface-size-check { align-self: start; width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: transparent; }
.interface-size-option.selected .interface-size-check { border-color: var(--gold); background: var(--gold); color: #111; }
.settings-secondary { margin-top: 18px; }

/* Normal ocupa menos que la maqueta original, que ahora corresponde a Grande. */
html[data-ui-size="normal"] .main { padding-top: 96px; padding-right: 27px; padding-bottom: 48px; padding-left: 27px; }
html[data-ui-size="normal"] .page-wide { margin-right: -27px; margin-left: -27px; }
html[data-ui-size="normal"] .card { padding: 19px; }
html[data-ui-size="normal"] .player-cover { min-height: 285px; }
html[data-ui-size="normal"] .profile-surface { margin-top: -84px; padding-right: 27px; padding-bottom: 54px; padding-left: 27px; }
html[data-ui-size="normal"] .player-identity-card { min-height: 184px; padding: 20px; }
html[data-ui-size="normal"] .player-avatar { width: 150px; height: 150px; }
html[data-ui-size="normal"] .player-key-data div { min-height: 56px; padding: 10px 12px; }
html[data-ui-size="small"] .main { padding-top: 88px; padding-right: 22px; padding-bottom: 42px; padding-left: 22px; }
html[data-ui-size="small"] .page-wide { margin-right: -22px; margin-left: -22px; }
html[data-ui-size="small"] .card { padding: 16px; }
html[data-ui-size="small"] .player-cover { min-height: 250px; }
html[data-ui-size="small"] .profile-surface { margin-top: -72px; padding-right: 22px; padding-bottom: 46px; padding-left: 22px; }
html[data-ui-size="small"] .player-identity-card { min-height: 164px; padding: 17px; }
html[data-ui-size="small"] .player-avatar { width: 132px; height: 132px; }
html[data-ui-size="small"] .player-key-data div { min-height: 49px; padding: 8px 10px; }

@media (max-width: 820px) {
  .interface-size-options { grid-template-columns: 1fr; }
  .interface-size-option { grid-template-columns: minmax(128px,.72fr) minmax(130px,1fr) auto; align-items: center; }
  .interface-preview { grid-column: auto; }
  html[data-ui-size="normal"] .main { padding: 80px 14px 36px; }
  html[data-ui-size="normal"] .page-wide { margin: -16px -14px 0; }
  html[data-ui-size="normal"] .card { padding: 16px; }
  html[data-ui-size="normal"] .player-cover { min-height: 230px; }
  html[data-ui-size="normal"] .profile-surface { margin-top: -62px; padding: 0 12px 38px; }
  html[data-ui-size="normal"] .player-identity-card { grid-template-columns: 76px minmax(0,1fr); gap: 12px; min-height: 132px; padding: 13px; }
  html[data-ui-size="normal"] .player-avatar { width: 72px; height: 72px; box-shadow: 4px 4px 0 #241a0c; }
  html[data-ui-size="normal"] .player-main-identity h1 { font-size: 1.38rem; }
  html[data-ui-size="normal"] .player-key-data div { min-height: 51px; padding: 9px 10px; }
  html[data-ui-size="normal"] .section-tab { min-width: 106px; min-height: 48px; padding: 10px 13px; }
  html[data-ui-size="normal"] .friends-rail { width: 54px; }
  html[data-ui-size="normal"] .friends-rail.open { width:100vw;transform:translateX(0); }
  html[data-ui-size="normal"] .friend-avatar { width: 40px; height: 40px; }
  html[data-ui-size="normal"] .friends-rail:not(.open) .friends-list { padding-right: 6px; padding-left: 6px; }

  html[data-ui-size="small"] .main { padding: 72px 10px 30px; }
  html[data-ui-size="small"] .page-wide { margin: -14px -10px 0; }
  html[data-ui-size="small"] .card { padding: 13px; }
  html[data-ui-size="small"] .player-cover { min-height: 198px; }
  html[data-ui-size="small"] .profile-surface { margin-top: -52px; padding: 0 9px 32px; }
  html[data-ui-size="small"] .player-identity-card { grid-template-columns: 66px minmax(0,1fr); gap: 10px; min-height: 114px; padding: 10px; }
  html[data-ui-size="small"] .player-avatar { width: 62px; height: 62px; box-shadow: 3px 3px 0 #241a0c; }
  html[data-ui-size="small"] .player-main-identity h1 { font-size: 1.28rem; }
  html[data-ui-size="small"] .player-key-data div { min-height: 44px; padding: 7px 8px; }
  html[data-ui-size="small"] .section-tab { min-width: 94px; min-height: 44px; padding: 8px 10px; }
  html[data-ui-size="small"] .friends-rail { width: 50px; }
  html[data-ui-size="small"] .friends-rail.open { width:100vw;transform:translateX(0); }
  html[data-ui-size="small"] .friend-avatar { width: 37px; height: 37px; }
  html[data-ui-size="small"] .friends-rail:not(.open) .friends-list { padding-right: 5px; padding-left: 5px; }
}

@media (max-width: 520px) {
  .interface-size-option { grid-template-columns: 112px minmax(0,1fr) 24px; padding: 9px; }
  .interface-size-copy strong em { display: block; width: max-content; margin: 5px 0 0; }
}

/* 0.1.7 · densidad estructural, matchmaking y preparación sin parpadeo */
[hidden] { display: none !important; }
.profile-menu { transform-origin: top right; animation: menu-pop .14s ease both; }
@keyframes menu-pop { from { opacity: 0; transform: translateY(-5px) scale(.98); } to { opacity: 1; transform: none; } }

@media (hover:hover) and (pointer:fine) and (min-width:821px) {
  .friends-rail:hover, .friends-rail:focus-within { width: 310px; }
  .friends-rail:hover > header, .friends-rail:focus-within > header { display: grid; padding: 8px 11px; }
  .friends-rail:hover > header strong, .friends-rail:hover > header > span,
  .friends-rail:hover .friend-copy, .friends-rail:hover .friend-remove, .friends-rail:hover .friend-directory,
  .friends-rail:focus-within > header strong, .friends-rail:focus-within > header > span,
  .friends-rail:focus-within .friend-copy, .friends-rail:focus-within .friend-remove, .friends-rail:focus-within .friend-directory { display: block; animation: rail-copy .18s .05s ease both; }
  .friends-rail:hover .friends-list, .friends-rail:focus-within .friends-list { padding: 10px; }
  .friends-rail:hover .friend-entry, .friends-rail:focus-within .friend-entry { display: grid; }
  .friends-rail:hover footer, .friends-rail:focus-within footer { display: flex; }
}
@keyframes rail-copy { from { opacity:0; transform:translateX(6px); } to { opacity:1; transform:none; } }

.phase-marquee { min-height: 94px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px; margin-bottom: 18px; padding: 18px 22px; overflow: hidden; border: 1px solid var(--line); background: radial-gradient(circle at 25% 50%,rgba(214,169,52,.08),transparent 38%),var(--panel); }
.phase-marquee > div { animation: phase-inscription .52s ease both; }
.phase-marquee small { color: var(--gold); letter-spacing:.18em; }
.phase-marquee h2 { margin:4px 0 0; font-size:2rem; letter-spacing:.04em; }
.phase-marquee nav { grid-column:1/-1; display:flex; gap:8px; }
.phase-marquee nav i { width:28px; height:2px; background:#36393b; }
.phase-marquee nav i.active { width:54px; background:var(--gold); box-shadow:0 0 12px var(--gold-dark); }
.phase-marquee nav i.complete { background:#6c5a2c; }
.phase-timer { min-width:78px; color:var(--gold-light); font:1.45rem Georgia,serif; text-align:right; }
@keyframes phase-inscription { 0% { opacity:0; filter:blur(5px); letter-spacing:.12em; transform:translateX(-8px); } 100% { opacity:1; filter:none; transform:none; } }
.prep-stage.phase-enter { animation:stage-enter .28s ease both; }
@keyframes stage-enter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }

.country-canvas-wrap { position:relative; margin-top:14px; overflow:hidden; border:1px solid #6e5520; background:linear-gradient(145deg,#030405,#121619); }
#country-draft-canvas { display:block; width:100%; height:auto; max-height:680px; object-fit:contain; cursor:crosshair; }
.map-tooltip { position:absolute; z-index:4; padding:7px 9px; pointer-events:none; border:1px solid var(--gold-dark); background:rgba(8,9,10,.92); color:var(--gold-light); font-size:.72rem; }
.opponent-status { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; margin-top:16px; padding:12px; border:1px solid var(--line); background:#0d0f10; }
.opponent-status small,.opponent-status strong { display:block; }
.opponent-status small { margin-top:3px; color:var(--muted); }
.presence-dot { width:10px; height:10px; border-radius:50%; background:#e6782d; box-shadow:0 0 0 5px rgba(230,120,45,.1); }
.personal-rules .rule-row { grid-template-columns:minmax(0,1fr) 150px 150px; }
.negotiation-panel { text-align:left; }
.negotiation-seal { width:72px;height:72px;display:grid;place-items:center;margin:8px auto 18px;border:1px solid #42775a;border-radius:50%;color:#78c69a;font-size:2rem; }
.negotiation-panel > h2,.negotiation-panel > p { text-align:center; }
.conflict-list { display:grid;gap:1px;margin:18px 0;background:var(--line);border:1px solid var(--line); }
.conflict-list > div { display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;background:var(--bg); }
.negotiation-chat { margin-top:18px;padding:14px;border:1px solid var(--line);background:#0d0f10; }
.negotiation-chat form { display:flex;gap:8px; }
.negotiation-chat input { flex:1;padding:10px;border:1px solid var(--line);background:#090a0b;color:var(--text); }
.single-team { grid-template-columns:1fr;max-width:760px; }
.opponent-confirm { padding:12px 15px;border:1px solid var(--line);color:var(--muted); }

.queue-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.queue-card { min-width:0;padding:0;overflow:hidden;border:1px solid var(--line);background:var(--panel);color:var(--text);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease; }
.queue-card:hover { transform:translateY(-3px);border-color:var(--gold); }
.queue-card img { width:100%;aspect-ratio:16/8;object-fit:cover;filter:saturate(.55) brightness(.58); }
.queue-card > span { display:block;padding:18px; }
.queue-card small,.queue-card strong,.queue-card em { display:block; }
.queue-card small { color:var(--gold-light);font-size:.63rem;text-transform:uppercase;letter-spacing:.1em; }
.queue-card strong { margin-top:7px;font:1.45rem Georgia,serif; }
.queue-card p { min-height:60px;margin:8px 0;color:var(--muted);line-height:1.5; }
.queue-card em { color:var(--gold-light);font-style:normal;font-size:.74rem; }
.lobby-card { padding:22px;border:1px solid var(--line);background:var(--panel); }
.lobby-card > header { display:flex;justify-content:space-between;align-items:center;gap:14px; }
.lobby-card > header > span { color:var(--gold-light); }
.lobby-slots { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:22px 0; }
.lobby-member,.lobby-empty { min-height:190px;display:grid;place-items:center;align-content:center;gap:7px;padding:14px;border:1px solid var(--line);background:#0d0f10;text-align:center; }
.lobby-member.ready { border-color:#3c7153;box-shadow:inset 0 -2px #5db780; }
.lobby-member img { width:72px;height:72px;object-fit:cover;border-radius:50%; }
.lobby-member small { color:var(--muted); }
.lobby-empty { color:var(--muted);cursor:pointer; }
.lobby-empty b { font-size:2rem;color:var(--gold);font-weight:400; }
.lobby-actions { display:flex;justify-content:flex-end;gap:10px; }
.searching-screen,.match-found-screen { min-height:620px;display:grid;place-items:center;align-content:center;gap:14px;padding:30px;text-align:center;border:1px solid var(--line);background:radial-gradient(circle,rgba(214,169,52,.09),transparent 37%),#0b0d0e; }
.searching-screen p,.match-found-screen p { max-width:590px;color:var(--muted);line-height:1.6; }
.search-radar { position:relative;width:180px;height:180px;display:grid;place-items:center;border:1px solid var(--gold-dark);border-radius:50%;overflow:hidden; }
.search-radar::before,.search-radar::after { content:'';position:absolute;inset:25%;border:1px solid rgba(214,169,52,.28);border-radius:50%; }
.search-radar::after { inset:8%; }
.search-radar i { position:absolute;inset:50% 0 auto 50%;height:1px;background:linear-gradient(90deg,var(--gold),transparent);transform-origin:left;animation:radar 2.2s linear infinite; }
.search-radar span { font-size:2.4rem;color:var(--gold-light); }
@keyframes radar { to { transform:rotate(360deg); } }
.searching-screen > strong { font:2.5rem Georgia,serif;color:var(--gold-light); }
.search-range { padding:8px 13px;border:1px solid var(--line); }
.found-pulse { width:110px;height:110px;display:grid;place-items:center;border:1px solid #4a8b64;border-radius:50%;color:#79d09d;font-size:2.5rem;animation:found-pulse 1.5s ease infinite; }
@keyframes found-pulse { 50% { box-shadow:0 0 0 18px rgba(83,177,121,0);transform:scale(1.04); } }
.found-timer { color:var(--gold-light);font:1.5rem Georgia,serif; }

.arb-result.empty-result { border-color:var(--line);background:#0d0f10; }
.arb-result dl { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:14px 0;background:var(--line);border:1px solid var(--line); }
.arb-result dl div { padding:10px;background:#0c0e0f; }
.arb-result dt { color:var(--muted);font-size:.65rem;text-transform:uppercase; }
.arb-result dd { margin:5px 0 0;color:var(--text); }
.morale-field output { float:right;color:var(--gold-light); }
.morale-field input { width:100%;accent-color:var(--gold); }
.report-evidence-field input { padding:10px;border:1px dashed var(--gold-dark);background:#0c0e0f; }
.report-file-preview,.report-attachments { display:flex;flex-wrap:wrap;gap:7px;margin-top:9px; }
.report-file-preview span,.report-attachments span { padding:6px 8px;border:1px solid var(--line);background:#0b0d0e;color:var(--muted);font-size:.68rem; }

/* La miniatura muestra el número real de columnas, no sólo una escala tipográfica. */
.interface-preview .preview-card { top:27%;bottom:14%;border:1px solid #444;background:linear-gradient(#d6a934 0 4%,#17191c 4% 100%); }
.preview-large .card-one { left:26%;right:9%; }
.preview-large .card-two,.preview-large .card-three { display:none; }
.preview-normal .card-one { left:26%;width:30%; }
.preview-normal .card-two { left:60%;right:9%; }
.preview-normal .card-three { display:none; }
.preview-small .card-one { left:24%;width:21%; }
.preview-small .card-two { left:48%;width:21%; }
.preview-small .card-three { left:72%;right:6%; }

@media (max-width:820px) {
  .queue-grid,.lobby-slots { grid-template-columns:1fr; }
  html[data-ui-size="large"] .density-grid,
  html[data-ui-size="large"] .settings-secondary,
  html[data-ui-size="large"] .catalog-summary,
  html[data-ui-size="large"] .stat-list,
  html[data-ui-size="large"] .hero-reference-grid { grid-template-columns:1fr !important; }
  html[data-ui-size="normal"] .density-grid,
  html[data-ui-size="normal"] .settings-secondary,
  html[data-ui-size="normal"] .catalog-summary,
  html[data-ui-size="normal"] .stat-list,
  html[data-ui-size="normal"] .hero-reference-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  html[data-ui-size="small"] .density-grid,
  html[data-ui-size="small"] .settings-secondary,
  html[data-ui-size="small"] .catalog-summary,
  html[data-ui-size="small"] .stat-list,
  html[data-ui-size="small"] .hero-reference-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  html[data-ui-size="small"] .queue-card img { aspect-ratio:1; }
  html[data-ui-size="small"] .queue-card > span { padding:9px; }
  html[data-ui-size="small"] .queue-card p { display:none; }
  html[data-ui-size="small"] .queue-card strong { font-size:.88rem; }
  html[data-ui-size="small"] .queue-card small,html[data-ui-size="small"] .queue-card em { font-size:.52rem; }
  html[data-ui-size="small"] .lobby-member,html[data-ui-size="small"] .lobby-empty { min-height:118px;padding:8px; }
  html[data-ui-size="small"] .lobby-member img { width:42px;height:42px; }
  .phase-marquee { min-height:78px;padding:13px; }
  .phase-marquee h2 { font-size:1.45rem; }
  .country-canvas-wrap { margin-inline:-8px; }
  .personal-rules .rule-row { grid-template-columns:1fr 1fr; }
  .personal-rules .rule-result { grid-column:auto; }
  .arb-result dl { grid-template-columns:1fr; }
  .conflict-list > div { grid-template-columns:1fr; }
}

/* v0.1.10 — private proof interaction pass */
.find-match-top { min-height:42px;display:flex;align-items:center;gap:9px;padding:0 16px;color:#090a0b;text-decoration:none;background:linear-gradient(135deg,#f0c450,#b67a0b);border:1px solid #f7d878;box-shadow:0 0 0 1px #000,0 0 24px rgba(214,169,52,.2);letter-spacing:.12em;font-size:.68rem;transition:transform .18s,filter .18s,box-shadow .18s; }
.find-match-top:hover { transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 0 0 1px #000,0 0 30px rgba(214,169,52,.38); }
.find-match-top span { font-size:1.25rem; }
.wallet-chip { min-height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);background:#101214; }
.wallet-chip span { color:var(--gold-light);font:700 .75rem/1 Georgia,serif; }
.wallet-chip strong { color:#f2efe8;font-size:.78rem; }
.coming-soon { cursor:default; }

.rank-frame-gallery { display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:10px;margin:10px 0 24px; }
.rank-frame-choice { padding:10px;color:#ddd;background:#0d0f10;border:1px solid var(--line);cursor:pointer; }
.rank-frame-choice.selected { border-color:var(--gold);box-shadow:0 0 24px rgba(214,169,52,.18); }
.rank-frame-choice .profile-avatar-frame { width:74px;height:74px;display:block;margin:0 auto 8px;filter:none;overflow:visible; }
.rank-frame-choice img { position:relative;z-index:1;width:100%;height:100%;object-fit:cover;clip-path:inherit; }
.rank-frame-choice i { position:absolute;right:-7px;bottom:-5px;z-index:3;min-width:28px;padding:4px;font-style:normal;color:#fff;background:#111;border:1px solid currentColor; }
.rank-frame-choice b { font-size:.7rem; }
.profile-avatar-frame.rank-e { color:#6b7076; }
.profile-avatar-frame.rank-d { color:#9b7046; }
.profile-avatar-frame.rank-c { color:#4e91b2; }
.profile-avatar-frame.rank-b { color:#62badd; }
.profile-avatar-frame.rank-a { color:#ef9c3c; }
.profile-avatar-frame.rank-s { color:#f1cd55; }
.profile-avatar-frame.rank-ss { color:#8c62ff;box-shadow:0 0 18px rgba(140,98,255,.35); }
.profile-avatar-frame[class*="rank-sss"] { color:#e16cff;box-shadow:0 0 25px rgba(225,108,255,.38); }

.ad-carousel-dots { display:flex;gap:6px; }
.ad-carousel-dots button { width:28px;height:4px;padding:0;border:0;background:#49453a;cursor:pointer; }
.ad-carousel-dots button.active { background:var(--gold);box-shadow:0 0 9px rgba(214,169,52,.5); }
.alliance-create-hero { display:grid;grid-template-columns:1fr 260px;gap:28px;min-height:330px;padding:42px;margin-bottom:18px;border:1px solid var(--line);background:radial-gradient(circle at 80% 20%,rgba(214,169,52,.12),transparent 34%),linear-gradient(135deg,#101214,#090a0b); }
.alliance-create-hero h2 { font-size:clamp(2rem,5vw,4.5rem);max-width:780px; }
.alliance-create-hero p { max-width:720px;color:var(--muted); }
.alliance-create-hero aside { display:grid;grid-template-columns:54px 1fr;align-content:center;gap:14px;border-left:1px solid var(--gold-dark);padding-left:24px; }
.alliance-create-hero aside span { color:var(--gold);font:700 1.3rem Georgia,serif; }
.alliance-create-hero aside b { letter-spacing:.12em; }
.alliance-import-sheet { scroll-margin-top:88px;border:1px solid var(--line);background:linear-gradient(145deg,#111416,#090a0b);padding:clamp(20px,3vw,38px); }
.alliance-import-sheet > header { display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px; }
.alliance-import-sheet > header p { max-width:820px;color:var(--muted); }
.alliance-import-sheet > header > span { padding:8px 11px;border:1px solid var(--gold-dark);color:var(--gold-light);font-size:.65rem;letter-spacing:.12em;white-space:nowrap; }
.alliance-import-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.alliance-import-grid label { display:grid;gap:7px;padding:13px;border:1px solid var(--line);background:rgba(0,0,0,.25); }
.alliance-import-grid label span { color:var(--muted);font-size:.72rem;letter-spacing:.06em; }
.alliance-import-grid input,.alliance-import-grid select { width:100%;min-height:42px;border:1px solid var(--line);background:#0b0d0e;color:var(--text);padding:9px 11px; }
.alliance-import-checks { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0;counter-reset:checks;margin:22px 0; }
.alliance-import-checks li { list-style:none;padding:13px;border-top:2px solid var(--gold-dark);background:rgba(255,255,255,.025);color:var(--muted);font-size:.75rem; }
.alliance-import-checks li::before { counter-increment:checks;content:'0' counter(checks);display:block;margin-bottom:8px;color:var(--gold);font-weight:800; }
.identity-concept-board { margin:22px 0 0;border:1px solid var(--line);background:#090a0b; }
.identity-concept-board img { display:block;width:100%;height:auto; }
.identity-concept-board figcaption { padding:11px 13px;color:var(--muted);font-size:.75rem; }
.tournament-map-catalog { margin-top:18px;padding:24px;border:1px solid var(--line);background:var(--panel); }
.tournament-map-catalog > header { display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px; }
.tournament-map-catalog > header p { max-width:780px;color:var(--muted); }
.tournament-map-catalog > header > span { color:var(--gold-light);font-size:.72rem;white-space:nowrap; }
.tournament-map-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.tournament-map-card { position:relative;overflow:hidden;min-height:250px;border:1px solid var(--line);background:#090b0c; }
.tournament-map-card img { width:100%;height:150px;object-fit:cover;filter:saturate(.55) brightness(.62);transition:.2s ease; }
.tournament-map-card:hover img { filter:saturate(.8) brightness(.78);transform:scale(1.015); }
.tournament-map-card > div { padding:14px; }
.tournament-map-card small,.tournament-map-card span { color:var(--gold);font-size:.62rem;letter-spacing:.1em; }
.tournament-map-card strong { display:block;margin:5px 0;font:700 1.2rem Georgia,serif; }
.tournament-map-card p { color:var(--muted);font-size:.78rem; }
.tournament-map-card.locked::after { content:'PRÓXIMAMENTE';position:absolute;inset:0;display:grid;place-items:center;background:rgba(5,6,7,.72);color:var(--gold-light);font-weight:800;letter-spacing:.16em; }
.tournament-routing { margin-top:18px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:18px; }
.tournament-routing div { display:grid;gap:5px; }
.tournament-routing small { color:var(--gold); }
.tournament-routing span { color:var(--muted); }

.champion-draft-layout { display:grid;grid-template-columns:210px minmax(0,1fr) 210px;gap:12px;align-items:stretch;margin-top:14px; }
.champion-draft-layout .country-canvas-wrap { margin:0; }
.draft-team-side { display:grid;grid-template-rows:auto repeat(5,1fr);gap:6px;padding:10px;border:1px solid var(--line);background:#090b0d; }
.draft-team-side > header { padding:8px;color:var(--muted);letter-spacing:.18em;font-size:.6rem;border-bottom:1px solid var(--line); }
.draft-side-slot { display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;min-height:54px;padding:8px;border-left:2px solid #34383c;background:#101316; }
.draft-side-slot.locked { border-left-color:var(--gold);background:linear-gradient(90deg,rgba(214,169,52,.12),#101316); }
.draft-side-slot > span { color:#555;font:700 .72rem Georgia,serif; }
.draft-side-slot b,.draft-side-slot small { display:block; }
.draft-side-slot b { font-size:.66rem; }
.draft-side-slot small { margin-top:3px;color:var(--muted);font-size:.52rem; }
.duration-order-row { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0; }
.duration-order-slot { position:relative;min-height:180px;display:grid;place-items:center;padding:20px;border:1px solid var(--line);background:#101214;text-align:center; }
.duration-order-slot.slot-0 { border-color:#8d3232;background:linear-gradient(180deg,rgba(130,30,30,.18),#101214); }
.duration-order-slot.slot-1 { border-color:var(--gold);background:linear-gradient(180deg,rgba(214,169,52,.14),#101214); }
.duration-order-slot small { letter-spacing:.18em;color:var(--muted); }
.duration-order-slot strong { display:block;color:#eee;font:700 3.8rem Georgia,serif; }
.duration-order-slot strong i { display:block;font:normal .55rem sans-serif;letter-spacing:.18em; }
.duration-order-slot button { width:34px;height:30px;color:#ddd;background:#17191b;border:1px solid var(--line);cursor:pointer; }
.hero-pool button { overflow:hidden;padding:0 9px 9px; }
.hero-portrait { display:grid!important;place-items:center;width:calc(100% + 18px);aspect-ratio:1.3;margin:0 -9px 8px;background:radial-gradient(circle at 50% 35%,rgba(235,204,122,.26),transparent 38%),linear-gradient(135deg,#262b31,#0b0d0f);border-bottom:1px solid var(--line); }
.hero-portrait i { font:700 1.15rem Georgia,serif;color:#e5cc87;text-shadow:0 0 14px rgba(214,169,52,.45); }
.portrait-1{background-color:#1d2730}.portrait-2{background-color:#271c24}.portrait-3{background-color:#1c2924}.portrait-4{background-color:#29261c}.portrait-5{background-color:#201f2d}
.assignment-row { grid-template-columns:minmax(130px,.8fr) 1fr 1fr!important; }
.assignment-row select { min-width:0;padding:10px;color:#ddd;background:#0d0f10;border:1px solid var(--line); }
.ephemeral-chat.minimized { height:auto;grid-template-rows:auto; }
.ephemeral-chat.minimized .ephemeral-messages,.ephemeral-chat.minimized form { display:none; }
.ephemeral-chat > header { cursor:pointer; }
.ephemeral-chat > header > div:last-child { display:flex;gap:4px; }
.alliance-color-fields select { width:100%;padding:11px;color:var(--text);background:#090a0b;border:1px solid var(--line); }

@media (max-width:1000px) {
  .champion-draft-layout { grid-template-columns:1fr; }
  .draft-team-side { grid-template-columns:repeat(5,1fr);grid-template-rows:auto auto;overflow:auto; }
  .draft-team-side > header { grid-column:1/-1; }
  .draft-side-slot { min-width:120px; }
}
@media (max-width:820px) {
  .find-match-top b,.wallet-chip strong { display:none; }
  .find-match-top { padding:0 10px; }
  .wallet-chip { padding:0 9px; }
  .rank-frame-gallery { grid-template-columns:repeat(2,1fr); }
  .alliance-create-hero { grid-template-columns:1fr;padding:24px; }
  .alliance-create-hero aside { display:none; }
  .alliance-import-sheet > header,.tournament-map-catalog > header { display:grid; }
  .alliance-import-grid { grid-template-columns:1fr; }
  .alliance-import-checks { grid-template-columns:1fr; }
  .tournament-map-grid { grid-template-columns:1fr; }
  .tournament-routing { grid-template-columns:1fr; }
  .tournament-routing > i { transform:rotate(90deg); }
  .duration-order-slot { min-height:130px;padding:10px; }
  .duration-order-slot strong { font-size:2.5rem; }
  .assignment-row { grid-template-columns:1fr!important; }
}

/* 0.1.8 · identidad cromática competitiva de alianzas */
.alliance-stage .identity-line { background:linear-gradient(90deg,var(--alliance-primary,#2563EB),var(--alliance-alternate,#DC2626),rgba(214,169,52,.2)); }
.alliance-stage .alliance-round-logo { border-color:var(--alliance-primary,#2563EB); box-shadow:0 18px 38px rgba(0,0,0,.5),0 0 0 4px var(--alliance-alternate,#DC2626); }
.alliance-stage .alliance-title { border-left-color:var(--alliance-primary,#2563EB); }
.color-action i { width:12px;height:12px;display:inline-block;border:1px solid rgba(255,255,255,.42);border-radius:50%; }
.color-action i + i { margin-left:-5px; }
.alliance-color-summary { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line); }
.alliance-color-summary > span { display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:10px;align-items:center;min-width:0;padding:10px;border:1px solid var(--line);background:#0c0e0f; }
.alliance-color-summary i { grid-row:1/3;width:32px;height:32px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 3px color-mix(in srgb,var(--swatch) 20%,transparent); }
.alliance-color-summary small,.alliance-color-summary strong { display:block;min-width:0; }
.alliance-color-summary small { color:var(--muted);font-size:.58rem;letter-spacing:.08em; }
.alliance-color-summary strong { margin-top:3px;font-size:.78rem; }
.alliance-branding-dialog { width:min(620px,calc(100vw - 28px)); }
.alliance-branding-dialog > p { color:var(--muted);line-height:1.55; }
.alliance-color-fields { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0; }
.alliance-color-fields label { display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);background:#0c0e0f; }
.alliance-color-fields label > span { grid-column:1/-1;color:var(--gold-light);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em; }
.alliance-color-fields input[type="color"] { width:52px;height:52px;padding:3px;border:1px solid var(--line);background:#111;cursor:pointer; }
.alliance-color-fields output { color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.alliance-color-map-preview { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:14px 0; }
.alliance-color-map-preview span { min-height:64px;display:grid;place-items:center;padding:10px;border:1px solid color-mix(in srgb,var(--preview-color) 75%,#fff);background:color-mix(in srgb,var(--preview-color) 28%,#090a0b);box-shadow:inset 0 -3px var(--preview-color);font-weight:700; }
.alliance-color-map-preview b { color:var(--gold-light);font-family:Georgia,serif; }
.inline-color { width:11px;height:11px;display:inline-block;margin-right:3px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:var(--swatch);vertical-align:-1px; }
@media (max-width:720px) {
  .alliance-color-summary,.alliance-color-fields { grid-template-columns:1fr; }
  .alliance-color-summary > button { width:100%; }
  .alliance-color-map-preview { grid-template-columns:1fr; }
}

/* 0.1.9 · rating, directorio, duración y personalización */
.player-cover { background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.12) 55%,rgba(0,0,0,.64)),var(--profile-cover);background-size:cover;background-position:center; }
.profile-avatar-frame { position:relative;width:176px;height:176px;display:grid;place-items:center;padding:5px;clip-path:polygon(12% 0,88% 0,100% 12%,100% 88%,88% 100%,12% 100%,0 88%,0 12%);background:linear-gradient(135deg,#59481f,var(--gold-light),#251907);filter:drop-shadow(10px 12px 0 #241a0c); }
.profile-avatar-frame::before { content:'';position:absolute;inset:4px;clip-path:inherit;background:#08090a; }
.profile-avatar-frame .player-avatar { position:relative;width:100%;height:100%;border:0;box-shadow:none;clip-path:polygon(10% 0,90% 0,100% 10%,100% 90%,90% 100%,10% 100%,0 90%,0 10%); }
.profile-avatar-frame > span { position:absolute;right:3px;bottom:3px;z-index:2;min-width:34px;padding:4px 6px;border:1px solid var(--gold);background:#090a0b;color:var(--gold-light);font-size:.67rem;text-align:center;letter-spacing:.08em; }
.profile-avatar-frame.rank-e { background:linear-gradient(135deg,#555,#a0a0a0,#252525); }
.profile-avatar-frame.rank-d { background:linear-gradient(135deg,#685038,#bd8a52,#2b1e13); }
.profile-avatar-frame.rank-c { background:linear-gradient(135deg,#304b5c,#71a5be,#13222b); }
.profile-avatar-frame.rank-b { background:linear-gradient(135deg,#2e5064,#78c1df,#122732); }
.profile-avatar-frame.rank-a { background:linear-gradient(135deg,#5a371f,#f0a84a,#25150b); }
.profile-avatar-frame.rank-s,.profile-avatar-frame.rank-ss { background:linear-gradient(135deg,#514017,#f6d46a,#201907); }
.profile-avatar-frame[class*="rank-sss"] { background:linear-gradient(135deg,#44245f,#d68cff,#24102f); }
.profile-media-dialog { width:min(900px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 32px));overflow:auto;padding:24px;border:1px solid var(--gold-dark);background:#0d0f10;box-shadow:0 28px 90px #000; }
.profile-media-dialog > header { display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:18px; }
.profile-media-dialog h2 { margin:5px 0 0;font-family:Georgia,serif;font-size:1.7rem; }
.dialog-close { width:38px;height:38px;border:1px solid var(--line);background:#151718;color:var(--text);cursor:pointer;font-size:1.25rem; }
.profile-media-upload { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px; }
.profile-media-upload label { display:grid;gap:6px;padding:16px;border:1px dashed var(--gold-dark);background:#090a0b;color:var(--gold-light);cursor:pointer; }
.profile-media-upload label span { color:var(--muted);font-size:.72rem; }
.profile-media-upload input { margin-top:8px;color:var(--muted); }
.cover-choice-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:10px 0 18px; }
.cover-choice { min-width:0;padding:5px;border:1px solid var(--line);background:#0b0d0e;color:var(--text);cursor:pointer;text-align:left; }
.cover-choice.selected { border-color:var(--gold);box-shadow:0 0 0 2px rgba(214,169,52,.18); }
.cover-choice img { width:100%;aspect-ratio:16/7;object-fit:cover;display:block;margin-bottom:7px; }
.cover-choice span { display:block;padding:0 4px 4px;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }

.rank-badge { --rank-color:#8da0aa;position:relative;display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:4px 10px 4px 6px;border:1px solid color-mix(in srgb,var(--rank-color) 70%,#111);background:linear-gradient(90deg,color-mix(in srgb,var(--rank-color) 22%,#0b0d0e),#0b0d0e);color:#eee;white-space:nowrap; }
.rank-badge i { width:18px;height:18px;display:block;clip-path:polygon(50% 0,95% 25%,80% 85%,50% 100%,20% 85%,5% 25%);background:var(--rank-color);box-shadow:inset 0 0 0 3px rgba(0,0,0,.32); }
.rank-badge b { font-size:.67rem;letter-spacing:.06em; }
.rank-e{--rank-color:#777}.rank-d{--rank-color:#a96e3f}.rank-c{--rank-color:#75a7ad}.rank-b{--rank-color:#52a8d0}.rank-a{--rank-color:#e28a3f}.rank-s{--rank-color:#e9c45c}.rank-ss{--rank-color:#e8e4d9}.rank-sss,.rank-sss-,.rank-sss\+{--rank-color:#c37cf3}
.alliance-rank { border-radius:0; }
.alliance-rank i { clip-path:polygon(50% 0,93% 18%,88% 68%,50% 100%,12% 68%,7% 18%); }
.alliance-ad-layout { display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.65fr);gap:14px;margin-bottom:18px; }
.alliance-ad-carousel { position:relative;min-height:300px;border:1px solid var(--gold-dark);overflow:hidden;background:#090a0b; }
.alliance-ad-slide { position:absolute;inset:0;display:none; }
.alliance-ad-slide.active { display:grid;grid-template-columns:1.3fr 1fr; }
.alliance-ad-slide img { width:100%;height:100%;object-fit:cover;opacity:.65; }
.alliance-ad-slide > div { align-self:center;padding:34px; }
.alliance-ad-slide small { color:var(--gold);letter-spacing:.13em; }
.alliance-ad-slide h2 { margin:8px 0;font:2.2rem Georgia,serif; }
.alliance-ad-slide p { color:var(--muted);line-height:1.55; }
.house-ad { position:relative;background:radial-gradient(circle at 75% 20%,rgba(214,169,52,.19),transparent 30%),linear-gradient(120deg,#111416,#070809); }
.house-ad::after { content:'NØ';position:absolute;right:6%;bottom:-8%;color:rgba(214,169,52,.08);font:12rem Georgia,serif; }
.house-ad > div { position:relative;z-index:1;max-width:630px; }
.alliance-ad-rail { padding:22px;border:1px solid var(--line);background:#111314; }
.alliance-ad-rail h3 { margin:6px 0 14px;font:1.4rem Georgia,serif; }
.alliance-ad-rail p { color:var(--muted);line-height:1.55; }
.alliance-ad-rail > small { display:block;margin-top:18px;color:var(--gold); }
.alliance-ranking-card > header,.ranking-boards .card > header { display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px; }
.alliance-directory-cell { display:flex;align-items:center;gap:10px; }
.alliance-directory-cell img { width:38px;height:38px;object-fit:cover;border-radius:50%; }
.alliance-directory-cell small { display:block;color:var(--muted); }
.table-empty { display:grid;gap:5px;padding:30px;text-align:center;color:var(--muted); }
.table-empty b { color:var(--text); }
.rating-systems { margin-bottom:18px; }
.rating-system-card p { min-height:66px;color:var(--muted);line-height:1.55; }
.rank-ladder { display:flex;flex-wrap:wrap;gap:6px;margin:16px 0; }
.rating-facts { display:grid;grid-template-columns:repeat(3,1fr);margin:0;border:1px solid var(--line); }
.rating-facts > div { padding:10px;border-right:1px solid var(--line); }
.rating-facts > div:last-child { border:0; }
.rating-facts dt { color:var(--muted);font-size:.62rem;text-transform:uppercase; }
.rating-facts dd { margin:5px 0 0;font-size:.75rem; }
.rating-protocol { display:grid;grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(140px,.45fr));gap:12px;align-items:stretch;margin-top:18px; }
.rating-protocol > div:first-child { padding-right:20px; }
.rating-protocol p { color:var(--muted);line-height:1.55; }
.afk-rule { display:grid;align-content:center;padding:16px;border:1px solid rgba(200,82,68,.35);background:rgba(112,31,27,.12); }
.afk-rule b { color:#e56e62;font:2rem Georgia,serif; }
.afk-rule span { margin-top:6px;color:var(--muted);font-size:.7rem;line-height:1.4; }
.afk-rule.neutral { border-color:var(--line);background:#0c0e0f; }
.afk-rule.neutral b { color:var(--gold); }

.full-country-draft { max-width:1180px;margin:0 auto; }

/* Vector map engine · private pilot */
.vector-map-wrap { min-height:590px;display:grid;place-items:center;background:radial-gradient(circle at 48% 42%,#1a1f23 0,#07090b 55%,#020304 100%); }
.interactive-vector-map { width:100%;min-height:420px;display:grid;place-items:center;overflow:hidden;background:#050709;isolation:isolate; }
.interactive-vector-map > svg { display:block;width:100%;height:auto;max-height:680px;touch-action:manipulation; }
.interactive-vector-map .country { outline:none; }
.interactive-vector-map .province { pointer-events:visiblePainted; }
.map-loading { color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase; }
.map-loading.map-error { color:#e58c86; }
.map-library-panel { display:grid;gap:16px; }
.map-library-toolbar { display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.38fr);gap:24px;align-items:end;padding:20px;border:1px solid var(--line);background:var(--panel); }
.map-library-toolbar h2 { margin:5px 0 8px; }
.map-library-toolbar p { margin:0;color:var(--muted); }
.map-library-toolbar select { width:100%;min-height:42px;padding:9px 12px;color:var(--text);background:#0b0d0f;border:1px solid var(--gold-dark); }
.map-library-readout { display:grid;grid-template-columns:1fr .7fr 1.4fr;border:1px solid var(--line);background:#0b0d0f; }
.map-library-readout > span { min-width:0;padding:12px 15px;border-right:1px solid var(--line); }
.map-library-readout > span:last-child { border-right:0; }
.map-library-readout small,.map-library-readout strong { display:block; }
.map-library-readout small { color:var(--muted);font-size:.55rem;letter-spacing:.12em; }
.map-library-readout strong { margin-top:5px;color:var(--gold-light);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.map-library-preview { min-height:560px;border:1px solid #6e5520;background:radial-gradient(circle at 50% 45%,#20252a,#050607 70%); }
.map-library-preview > svg { max-height:760px; }
@media(max-width:900px){.map-library-toolbar{grid-template-columns:1fr}.map-library-readout{grid-template-columns:1fr 1fr}.map-library-readout>span:last-child{grid-column:1/-1;border-top:1px solid var(--line)}.vector-map-wrap{min-height:430px}.map-library-preview{min-height:420px}}
@media(max-width:560px){.map-library-readout{grid-template-columns:1fr}.map-library-readout>span{border-right:0;border-top:1px solid var(--line)}.map-library-readout>span:first-child{border-top:0}.interactive-vector-map{min-height:340px}.vector-map-wrap{min-height:350px}}
.country-hover-readout { min-height:88px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-top:14px;padding:14px 18px;border:1px solid var(--gold-dark);background:linear-gradient(90deg,#0b0d0e,#15120c); }
.country-hover-readout small { grid-column:1/-1;color:var(--gold);font-size:.59rem;letter-spacing:.13em; }
.country-hover-readout strong { font:clamp(1.4rem,4vw,3.1rem) Georgia,serif;letter-spacing:.04em;text-transform:uppercase; }
.country-hover-readout span { color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em; }
.full-country-draft .country-canvas-wrap { max-width:980px;margin:14px auto 0; }
.full-country-draft canvas { cursor:crosshair; }
.country-draft-footer { display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:12px; }
.country-draft-footer > span { color:var(--muted);font-size:.7rem; }
.country-draft-footer > span b { color:var(--gold-light); }
.duration-panel > header { display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:18px;align-items:center; }
.duration-result { display:grid;place-items:center;padding:14px;border:1px solid var(--gold-dark);background:radial-gradient(circle,rgba(214,169,52,.14),transparent 70%); }
.duration-result small { color:var(--gold);font-size:.58rem;letter-spacing:.12em; }
.duration-result strong { font:3.4rem Georgia,serif;color:var(--gold-light);line-height:1; }
.duration-result span { color:var(--muted);font-size:.7rem; }
.duration-options { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0; }
.duration-card { position:relative;display:grid;place-items:center;min-height:150px;border:1px solid var(--line);background:#0b0d0e;cursor:pointer; }
.duration-card input { position:absolute;opacity:0; }
.duration-card span b { font:3rem Georgia,serif; }
.duration-card small { margin-top:8px;color:var(--muted);letter-spacing:.1em; }
.duration-card.preferred { border-color:var(--gold);background:rgba(214,169,52,.08); }
.duration-card.vetoed { opacity:.55;border-color:#733;text-decoration:line-through; }
.duration-card.vetoed::after { content:'VETO';position:absolute;inset:auto 10px 10px;color:#e36b60;font-weight:800;letter-spacing:.16em;text-decoration:none; }
.duration-priority { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.duration-priority > * { display:grid;gap:7px;padding:14px;border:1px solid var(--line);background:#101213; }
.duration-priority select { padding:10px;border:1px solid var(--line);background:#090a0b;color:var(--text); }
.duration-priority small { color:var(--muted); }
.duration-tally { display:flex;flex-wrap:wrap;gap:7px;margin-top:12px; }
.duration-tally span { padding:7px 9px;border:1px solid var(--line);color:var(--muted);font-size:.68rem; }
.duration-tally b { margin-right:6px;color:var(--gold-light); }

@media (max-width:1000px) {
  .alliance-ad-layout,.rating-protocol { grid-template-columns:1fr; }
  .alliance-ad-rail { min-height:auto; }
}
@media (max-width:820px) {
  .profile-avatar-frame { width:82px;height:82px;padding:3px;filter:drop-shadow(5px 5px 0 #241a0c); }
  .profile-avatar-frame > span { min-width:25px;padding:2px;font-size:.52rem; }
  .cover-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-media-upload,.duration-priority,.duration-panel > header { grid-template-columns:1fr; }
  .alliance-ad-slide.active { grid-template-columns:1fr; }
  .alliance-ad-slide img { position:absolute;inset:0;opacity:.22; }
  .alliance-ad-slide > div { position:relative;z-index:1; }
  .rating-facts { grid-template-columns:1fr; }
  .rating-facts > div { border-right:0;border-bottom:1px solid var(--line); }
  .country-hover-readout { grid-template-columns:1fr;gap:5px; }
  .duration-options { grid-template-columns:1fr; }
  .duration-card { min-height:94px; }
  .country-draft-footer { align-items:stretch;flex-direction:column; }
}

/* 0.1.13 — navegación móvil limpia y panel social flotante */
.social-fab { display:none; }
.main { margin-right:66px; min-width:0; transition:margin .2s ease; }
.friends-rail > header > div { min-width:0; }
.friends-rail > header > div small,.friends-rail > header > div strong { display:block; }
.friends-rail > header > div small { margin-bottom:3px;color:var(--gold);font-size:.52rem;letter-spacing:.16em; }

@media (max-width:820px) {
  .topbar { height:60px;grid-template-columns:54px minmax(0,1fr) auto; }
  .topbar .brand { width:54px;height:60px;padding:8px; }
  .topbar .brand img { width:38px;height:38px; }
  .top-context { gap:8px;padding:0 8px;overflow:hidden; }
  .section-mark { width:3px;height:24px;flex:0 0 auto; }
  .context-copy strong { font-size:.72rem; }
  .top-actions { min-width:0;gap:4px;padding-right:6px; }
  .find-match-top { width:38px;min-height:38px;justify-content:center;padding:0; }
  .find-match-cluster > button { width:28px; }
  .wallet-chip { display:none; }
  .profile-button { min-height:38px;padding:2px; }
  .profile-button img { width:32px;height:32px; }
  .profile-button b { display:none; }
  .menu-button { width:38px;height:38px; }
  .profile-menu { position:fixed;top:60px;right:48px;width:min(230px,calc(100vw - 64px)); }

  .sidebar { top:60px;width:min(86vw,320px); }
  .sidebar-scrim { inset:60px 0 0; }
  .main,
  html[data-ui-size="normal"] .main,
  html[data-ui-size="small"] .main { width:auto;max-width:100vw;margin:0;padding-top:76px;padding-right:12px;padding-bottom:88px;padding-left:12px;overflow-x:clip; }
  .page,.page-wide { min-width:0;max-width:100%; }
  .page-wide,
  html[data-ui-size="normal"] .page-wide,
  html[data-ui-size="small"] .page-wide { width:auto;margin-top:-16px;margin-right:-12px;margin-left:-12px; }

  .social-fab { position:fixed;z-index:58;left:16px;bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:9px;min-height:50px;padding:0 14px;border:1px solid var(--gold-dark);border-radius:26px;background:linear-gradient(145deg,#17191b,#090a0b);box-shadow:0 12px 34px rgba(0,0,0,.68),0 0 0 1px rgba(214,169,52,.12);color:var(--gold-light);cursor:pointer;transition:opacity .18s,transform .18s; }
  .social-fab > span { font-size:.65rem;letter-spacing:-.18em; }
  .social-fab strong { color:var(--text);font-size:.7rem;letter-spacing:.04em; }
  .social-fab b { min-width:21px;height:21px;display:grid;place-items:center;padding:0 5px;border-radius:12px;background:var(--gold);color:#111;font-size:.6rem; }
  .social-fab.active { opacity:0;transform:translateY(12px);pointer-events:none; }

  .friends-rail,
  html[data-ui-size="normal"] .friends-rail,
  html[data-ui-size="small"] .friends-rail { top:auto;right:10px;bottom:10px;left:10px;width:auto;height:min(680px,calc(100dvh - 76px));border:1px solid var(--line);border-radius:18px 18px 8px 8px;box-shadow:0 30px 90px rgba(0,0,0,.82);transform:translateY(calc(100% + 90px));transition:transform .26s cubic-bezier(.2,.75,.2,1);touch-action:pan-y;overflow:hidden; }
  .friends-rail.open,
  html[data-ui-size="normal"] .friends-rail.open,
  html[data-ui-size="small"] .friends-rail.open { width:auto;transform:translateY(0); }
  .friends-rail > header { min-height:64px;grid-template-columns:42px minmax(0,1fr) auto;padding:9px 12px;background:#111416; }
  .friends-rail > header > div small,.friends-rail > header > div strong { display:block; }
  .friends-rail .friends-list { padding:10px 12px; }
  .friends-rail footer { justify-content:flex-start;padding-bottom:max(10px,env(safe-area-inset-bottom)); }
  .ephemeral-chat { position:absolute;z-index:4;inset:72px 10px 10px;width:auto;height:auto; }
  .notification-center { inset:60px 0 0; }
  .notification-popup { bottom:78px; }
}

html.mobile-preview .topbar { height:60px;grid-template-columns:54px minmax(0,1fr) auto; }
html.mobile-preview .topbar .brand { width:54px;height:60px;padding:8px; }
html.mobile-preview .top-context { gap:8px;padding:0 8px;overflow:hidden; }
html.mobile-preview .top-actions { gap:4px;padding-right:6px; }
html.mobile-preview .wallet-chip { display:none; }
html.mobile-preview .find-match-top { width:38px;min-height:38px;justify-content:center;padding:0; }
html.mobile-preview .profile-button { min-height:38px;padding:2px; }
html.mobile-preview .profile-button img { width:32px;height:32px; }
html.mobile-preview .menu-button { width:38px;height:38px; }
html.mobile-preview .main { width:390px;margin:0;padding:76px 12px 88px; }
html.mobile-preview .page-wide { margin:-16px -12px 0; }
html.mobile-preview .social-fab { position:fixed;z-index:58;left:16px;bottom:16px;display:flex;align-items:center;gap:9px;min-height:50px;padding:0 14px;border:1px solid var(--gold-dark);border-radius:26px;background:#111416;color:var(--gold-light); }
html.mobile-preview .friends-rail { top:auto;right:10px;bottom:10px;left:10px;width:auto;height:calc(100vh - 76px);transform:translateY(calc(100% + 90px));border:1px solid var(--line);border-radius:18px 18px 8px 8px;overflow:hidden; }
html.mobile-preview .friends-rail.open { width:auto;transform:translateY(0); }

/* 0.1.14 — cierre de interfaz móvil, hojas sociales y legibilidad */
.notification-fab {
  position:fixed;z-index:47;right:80px;bottom:18px;display:flex;align-items:center;gap:8px;
  min-height:42px;padding:0 13px;border:1px solid var(--gold-dark);border-radius:22px;
  background:#101315;color:var(--gold-light);box-shadow:0 12px 34px rgba(0,0,0,.56);cursor:pointer;
}
.notification-fab b { min-width:20px;height:20px;display:grid;place-items:center;border-radius:12px;background:var(--gold);color:#090a0b;font-size:.6rem; }
.notification-fab.active { opacity:0;pointer-events:none;transform:translateY(8px); }
.notification-center { opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .18s ease,transform .18s ease,visibility .18s; }
.notification-center.open { opacity:1;visibility:visible;transform:translateY(0); }
.sheet-handle { touch-action:none;user-select:none; }
.lobby-invite-picker { margin:14px 0;padding:14px;border:1px solid var(--gold-dark);background:#0a0c0d; }
.lobby-invite-picker > header { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px; }
.lobby-invite-picker > header small,.lobby-invite-picker > header strong { display:block; }
.lobby-invite-picker > header small { color:var(--gold);font-size:.56rem;letter-spacing:.13em; }
.lobby-invite-picker > header button,.lobby-remove-member,.pending-invites button { min-width:32px;min-height:32px;border:1px solid var(--line);background:#111416;color:var(--text);cursor:pointer; }
.lobby-friend-option { width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer; }
.lobby-friend-option em { color:var(--gold-light);font-style:normal;font-size:.68rem; }
.pending-invites { display:grid;gap:8px;margin:14px 0; }
.pending-invites article { display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);background:#0b0d0e; }
.pending-invites article > span { width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:2px solid #45b768; }
.pending-invites small,.pending-invites b { display:block; }
.pending-invites small { color:var(--muted); }
.lobby-member { position:relative; }
.lobby-remove-member { position:absolute;top:6px;right:6px; }
.lobby-simulate-ready { margin-top:7px;padding:6px 8px;border:1px solid var(--gold-dark);background:transparent;color:var(--gold-light);font-size:.6rem;cursor:pointer; }
.settings-page .settings-secondary { display:grid!important;grid-template-columns:1fr!important;gap:18px!important; }
html[data-ui-size] .settings-page .settings-secondary { grid-template-columns:1fr!important; }
.settings-page .settings-secondary > * { min-width:0;width:100%; }
.settings-page .settings-secondary h2,.settings-page .settings-secondary p,.settings-page .stat-row * { overflow-wrap:anywhere;word-break:normal; }
.settings-page .stat-row { grid-template-columns:minmax(0,1fr) auto!important; }

@media (max-width:820px) {
  .find-match-top { width:auto!important;max-width:152px;min-height:38px!important;padding:0 10px!important;justify-content:center; }
  .find-match-top span { display:none; }
  .find-match-top b { display:block!important;white-space:nowrap;font-size:.58rem;letter-spacing:.04em; }

  .player-identity-card,
  html[data-ui-size="normal"] .player-identity-card,
  html[data-ui-size="small"] .player-identity-card {
    grid-template-columns:92px minmax(0,1fr)!important;gap:13px!important;align-items:start!important;
    min-height:0!important;padding:14px!important;
  }
  .player-identity-card .profile-avatar-frame { grid-column:1;grid-row:1;width:92px!important;height:92px!important;align-self:start;filter:none!important; }
  .player-identity-card .player-main-identity { grid-column:2;grid-row:1;min-width:0;padding:0!important; }
  .player-main-identity h1 { max-width:100%;font-size:clamp(1.45rem,7vw,2.2rem)!important;line-height:1.02;overflow-wrap:anywhere; }
  .player-main-identity p,.player-main-identity .eyebrow { max-width:100%;overflow-wrap:anywhere; }
  .player-identity-card .player-key-data { grid-column:1/-1!important;grid-row:2;min-width:0; }

  .notification-fab { z-index:58;right:auto;left:144px;bottom:max(16px,env(safe-area-inset-bottom));min-height:50px;border-radius:26px; }
  .notification-center,
  .notification-center.bottom-sheet {
    z-index:59;top:auto!important;right:10px!important;bottom:10px!important;left:10px!important;
    width:auto!important;height:min(680px,calc(100dvh - 76px));max-height:none!important;
    border-radius:18px 18px 8px 8px;overflow:hidden;opacity:1;visibility:visible;
    transform:translateY(calc(100% + 90px));transition:transform .26s cubic-bezier(.2,.75,.2,1);
  }
  .notification-center.open { transform:translateY(0); }
  .notification-center > header { min-height:64px;padding-top:19px;position:relative; }
  .notification-center > header::before,.friends-rail > header::before {
    content:'';position:absolute;top:7px;left:50%;width:44px;height:4px;border-radius:4px;background:#5b5e60;transform:translateX(-50%);
  }
  .notification-popup { right:10px;left:10px;bottom:84px;width:auto; }
  .settings-page .interface-size-options { grid-template-columns:1fr!important; }
  .settings-page .settings-secondary { grid-template-columns:1fr!important; }
  .settings-page .settings-secondary > .card { padding:18px!important; }
  .pending-invites article { grid-template-columns:36px minmax(0,1fr) auto; }
  .pending-invites article button:first-of-type { grid-column:2/4; }
  .lobby-slots { grid-template-columns:1fr!important; }
}

@media (max-width:390px) {
  .top-actions { gap:3px; }
  .find-match-top { max-width:118px;padding:0 7px!important; }
  .find-match-top b { font-size:.53rem; }
  .player-identity-card,
  html[data-ui-size="normal"] .player-identity-card,
  html[data-ui-size="small"] .player-identity-card { grid-template-columns:78px minmax(0,1fr)!important;gap:10px!important;padding:11px!important; }
  .player-identity-card .profile-avatar-frame { width:78px!important;height:78px!important; }
  .notification-fab { left:132px;padding:0 11px; }
  .notification-fab strong { font-size:.65rem; }
}

html.mobile-preview .find-match-top { width:auto!important;max-width:152px!important;padding:0 10px!important; }
html.mobile-preview .find-match-top span { display:none; }
html.mobile-preview .find-match-top b { display:block!important;white-space:nowrap;font-size:.58rem; }
html.mobile-preview .notification-fab { z-index:58;right:auto;left:144px;bottom:16px;display:flex; }
html.mobile-preview .notification-center { top:auto;right:10px;bottom:10px;left:10px;width:auto;height:calc(100vh - 76px);transform:translateY(calc(100% + 90px)); }
html.mobile-preview .notification-center.open { transform:translateY(0); }

/* 0.1.26 — superficies reales de Administración y Moderación */
.audio-settings-card{display:none!important}
.staff-fabs{position:fixed;z-index:55;right:146px;bottom:18px;display:flex;gap:8px;align-items:center}
.staff-fab{min-height:42px;display:flex;align-items:center;gap:8px;padding:0 13px;border:1px solid var(--line);border-radius:22px;background:#101315;color:var(--text);box-shadow:0 12px 34px rgba(0,0,0,.58);cursor:pointer}
.staff-fab span{color:var(--gold-light)}
.staff-fab strong{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase}
.staff-fab b{min-width:20px;height:20px;display:grid;place-items:center;border-radius:12px;background:#b33b35;color:white;font-size:.6rem}
.staff-fab.admin{border-color:#9f7b25}
.staff-fab.moderation{border-color:#6c747a}
.staff-fab.active{opacity:0;pointer-events:none;transform:translateY(8px)}
.staff-panel{position:fixed;z-index:61;right:78px;bottom:72px;width:min(620px,calc(100vw - 380px));height:min(760px,calc(100dvh - 110px));display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--line);background:#0c0f10;box-shadow:0 34px 100px rgba(0,0,0,.82);opacity:0;visibility:hidden;transform:translateY(18px) scale(.985);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.staff-panel.open{opacity:1;visibility:visible;transform:none}
.staff-panel>header{min-height:66px;display:grid;grid-template-columns:44px minmax(0,1fr) 38px;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:#121516}
.staff-panel>header>span{width:34px;height:3px;background:var(--gold);justify-self:center}
.staff-panel>header small,.staff-panel>header strong{display:block}
.staff-panel>header small{color:var(--gold);font-size:.55rem;letter-spacing:.17em}
.staff-panel>header button{width:34px;height:34px;border:1px solid var(--line);background:#090b0c;color:var(--text);cursor:pointer}
.staff-panel-scroll{min-height:0;overflow:auto;padding:16px;display:grid;align-content:start;gap:18px}
.staff-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line)}
.staff-metrics>div{min-width:0;padding:12px;border-right:1px solid var(--line)}
.staff-metrics>div:last-child{border-right:0}
.staff-metrics small,.staff-metrics strong{display:block}
.staff-metrics small{color:var(--muted);font-size:.57rem;text-transform:uppercase;letter-spacing:.08em}
.staff-metrics strong{margin-top:5px;color:var(--gold-light);font-family:var(--serif);font-size:1.5rem}
.staff-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.staff-section-head h3,.staff-health h3{margin:0;font-family:var(--serif);font-size:1.15rem}
.staff-section-head button,.staff-item-actions button,.staff-user button,.staff-flag button{min-height:32px;padding:0 10px;border:1px solid var(--line);background:#111416;color:var(--text);font-size:.62rem;cursor:pointer}
.staff-queue-item{margin-top:8px;padding:13px;border:1px solid var(--line);background:#0a0c0d}
.staff-queue-item>header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--gold);font-size:.57rem;letter-spacing:.08em}
.staff-queue-item>strong{display:block}.staff-queue-item>p{margin:6px 0;color:var(--muted);font-size:.78rem;line-height:1.45}.staff-queue-item>small{color:#85898b;font-size:.62rem}
.staff-queue-item.priority-urgent{border-color:#8e302c}.staff-queue-item.priority-high{border-color:#7e6425}
.staff-item-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.staff-item-actions button:last-child{border-color:#55725c}
.staff-empty{padding:18px;border:1px dashed var(--line);color:var(--muted);text-align:center}
.staff-users,.staff-flags{display:grid;gap:7px}.staff-user,.staff-flag{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line)}
.staff-user span strong,.staff-user span small,.staff-flag span strong,.staff-flag span small{display:block}.staff-user small,.staff-flag small{margin-top:3px;color:var(--muted);font-size:.62rem}.staff-flag button.enabled{border-color:#317a4c;color:#82d89d}
.staff-audit-form{margin-top:12px;display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.staff-audit-form>label{display:grid;gap:5px;color:var(--muted);font-size:.65rem}.staff-audit-form input,.staff-audit-form textarea{min-height:36px;border:1px solid var(--line);background:#080a0b;color:var(--text);padding:8px}.staff-audit-form textarea{min-height:70px;resize:vertical}
.staff-audit-form fieldset{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:10px;border:1px solid var(--line)}.staff-audit-form legend{padding:0 5px;color:var(--gold-light);font-weight:700}.staff-audit-form fieldset label{display:grid;gap:4px;color:var(--muted);font-size:.58rem}.staff-finish-check{display:flex!important;align-items:center;gap:8px!important}.staff-finish-check input{min-height:0;width:16px;height:16px}
.staff-health{padding:12px;border-left:2px solid #377f52;background:#101613}.staff-health p{margin:4px 0 0;color:var(--muted)}

@media(max-width:820px){
  .staff-fabs{right:12px;bottom:76px;display:grid;justify-items:end}
  .staff-fab{min-height:44px;border-radius:24px;background:#101315}
  .staff-panel{top:auto;right:10px;bottom:10px;left:10px;width:auto;height:min(760px,calc(100dvh - 76px));border-radius:18px 18px 8px 8px;transform:translateY(calc(100% + 90px));opacity:1;visibility:visible}
  .staff-panel.open{transform:translateY(0)}
  .staff-panel>header{position:relative;padding-top:18px}
  .staff-panel>header::before{content:'';position:absolute;top:7px;left:50%;width:44px;height:4px;border-radius:4px;background:#5b5e60;transform:translateX(-50%)}
  .staff-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-metrics>div{border-bottom:1px solid var(--line)}
  .staff-audit-form fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 0.1.15 — identidad progresiva, audio y navegación sin recargas */
.mobile-menu-left { justify-self:center; }

.profile-avatar-frame {
  --rank-core:#7f858a;--rank-deep:#24282b;--rank-glow:rgba(127,133,138,.22);
  overflow:visible;isolation:isolate;
  background:
    linear-gradient(90deg,transparent 10%,rgba(255,255,255,.32) 50%,transparent 90%) top/70% 2px no-repeat,
    linear-gradient(135deg,var(--rank-deep),var(--rank-core) 48%,#111 52%,var(--rank-deep));
  box-shadow:0 0 0 1px rgba(0,0,0,.85),0 0 18px var(--rank-glow);
  transition:filter .18s ease,transform .18s ease;
}
.profile-avatar-frame::after {
  content:'';position:absolute;z-index:-1;inset:-7px;
  clip-path:polygon(14% 0,42% 0,50% 7%,58% 0,86% 0,100% 14%,100% 86%,86% 100%,58% 100%,50% 93%,42% 100%,14% 100%,0 86%,0 14%);
  border:1px solid var(--rank-core);
  background:linear-gradient(135deg,transparent 16%,var(--rank-glow),transparent 42%,var(--rank-glow) 72%,transparent);
  opacity:.28;
}
.profile-avatar-frame:hover { transform:translateY(-2px);filter:drop-shadow(0 0 12px var(--rank-glow)); }
.profile-avatar-frame.rank-e { --rank-core:#777d82;--rank-deep:#272a2c;--rank-glow:rgba(119,125,130,.2); }
.profile-avatar-frame.rank-d { --rank-core:#a46f43;--rank-deep:#352316;--rank-glow:rgba(164,111,67,.24); }
.profile-avatar-frame.rank-c { --rank-core:#6d9fac;--rank-deep:#203640;--rank-glow:rgba(109,159,172,.27); }
.profile-avatar-frame.rank-b { --rank-core:#53aed6;--rank-deep:#173b4e;--rank-glow:rgba(83,174,214,.34); }
.profile-avatar-frame.rank-a { --rank-core:#e69243;--rank-deep:#4b2812;--rank-glow:rgba(230,146,67,.38); }
.profile-avatar-frame.rank-a::after { inset:-9px;opacity:.48; }
.profile-avatar-frame.rank-s { --rank-core:#e9c85f;--rank-deep:#4d3f12;--rank-glow:rgba(233,200,95,.42); }
.profile-avatar-frame.rank-s::after { inset:-11px;opacity:.58;clip-path:polygon(10% 0,38% 0,50% 12%,62% 0,90% 0,100% 18%,96% 82%,84% 100%,58% 94%,50% 100%,42% 94%,16% 100%,4% 82%,0 18%); }
.profile-avatar-frame.rank-ss { --rank-core:#eeeae1;--rank-deep:#555d66;--rank-glow:rgba(238,234,225,.48); }
.profile-avatar-frame.rank-ss::after { inset:-13px;opacity:.72;box-shadow:0 0 20px var(--rank-glow); }
.profile-avatar-frame.rank-sss-,.profile-avatar-frame.rank-sss,.profile-avatar-frame.rank-sss\+ { --rank-core:#c67ef3;--rank-deep:#492265;--rank-glow:rgba(198,126,243,.52); }
.profile-avatar-frame[class*="rank-sss"]::after { inset:-15px;opacity:.88;box-shadow:0 0 28px var(--rank-glow);clip-path:polygon(7% 0,34% 4%,42% 0,50% 13%,58% 0,66% 4%,93% 0,100% 20%,95% 72%,100% 91%,70% 96%,60% 100%,50% 90%,40% 100%,30% 96%,0 91%,5% 72%,0 20%); }

/* Marcos de jugador v4: fortaleza mecánica con caída central y puntas descendentes. */
.profile-avatar-frame {
  --frame-asset:url('/assets/profile-frames/v8/rank-e.svg');
  padding:16px!important;
  clip-path:none!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 7px 7px rgba(0,0,0,.72)) drop-shadow(0 0 9px var(--rank-glow));
}
.profile-avatar-frame::before {
  z-index:0;inset:16px!important;
  clip-path:polygon(9% 0,91% 0,100% 9%,100% 91%,91% 100%,9% 100%,0 91%,0 9%)!important;
  background:#050607!important;
}
.profile-avatar-frame::after {
  z-index:2;inset:0!important;
  border:0!important;box-shadow:none!important;clip-path:none!important;
  background:var(--frame-asset) center/100% 100% no-repeat!important;
  opacity:1!important;pointer-events:none;
}
.profile-avatar-frame img,
.profile-avatar-frame .player-avatar {
  position:relative;z-index:1;width:100%;height:100%;object-fit:cover;
  clip-path:polygon(8% 0,92% 0,100% 8%,100% 92%,92% 100%,8% 100%,0 92%,0 8%)!important;
}
.profile-avatar-frame > span,.rank-frame-choice .profile-avatar-frame > i { z-index:4; }
.profile-avatar-frame.rank-e { --frame-asset:url('/assets/profile-frames/v8/rank-e.svg'); }
.profile-avatar-frame.rank-d { --frame-asset:url('/assets/profile-frames/v8/rank-d.svg'); }
.profile-avatar-frame.rank-c { --rank-core:#e3c632;--rank-deep:#4b3b05;--rank-glow:rgba(227,198,50,.38);--frame-asset:url('/assets/profile-frames/v8/rank-c.svg'); }
.profile-avatar-frame.rank-b { --rank-core:#20c7c2;--rank-deep:#06494a;--rank-glow:rgba(32,199,194,.4);--frame-asset:url('/assets/profile-frames/v8/rank-b.svg'); }
.profile-avatar-frame.rank-a { --rank-core:#6be0c0;--rank-deep:#145044;--rank-glow:rgba(107,224,192,.44);--frame-asset:url('/assets/profile-frames/v8/rank-a.svg'); }
.profile-avatar-frame.rank-s { --rank-core:#39c85b;--rank-deep:#103f20;--rank-glow:rgba(57,200,91,.48);--frame-asset:url('/assets/profile-frames/v8/rank-s.svg'); }
.profile-avatar-frame.rank-ss { --rank-core:#42aaf5;--rank-deep:#0c3d69;--rank-glow:rgba(66,170,245,.54);--frame-asset:url('/assets/profile-frames/v8/rank-ss.svg'); }
.profile-avatar-frame.rank-sss-minus { --rank-core:#6c58f0;--rank-deep:#20145f;--rank-glow:rgba(108,88,240,.56);--frame-asset:url('/assets/profile-frames/v8/rank-sss-minus.svg'); }
.profile-avatar-frame.rank-sss { --rank-core:#833fff;--rank-deep:#32106f;--rank-glow:rgba(131,63,255,.62);--frame-asset:url('/assets/profile-frames/v8/rank-sss.svg'); }
.profile-avatar-frame.rank-sss-plus { --rank-core:#d73b45;--rank-deep:#4c090f;--rank-glow:rgba(215,59,69,.68);--frame-asset:url('/assets/profile-frames/v8/rank-sss-plus.svg'); }
.rank-badge.rank-c { --rank-color:#e3c632; }.rank-badge.rank-b { --rank-color:#20c7c2; }.rank-badge.rank-a { --rank-color:#6be0c0; }
.rank-badge.rank-s { --rank-color:#39c85b; }.rank-badge.rank-ss { --rank-color:#42aaf5; }
.rank-badge.rank-sss-minus { --rank-color:#6c58f0; }.rank-badge.rank-sss { --rank-color:#833fff; }.rank-badge.rank-sss-plus { --rank-color:#d73b45; }
.rank-frame-choice .profile-avatar-frame,.lobby-rank-frame { padding:7px!important; }
.rank-frame-choice .profile-avatar-frame::before,.lobby-rank-frame::before { inset:7px!important; }
.identity-concept-board { margin:18px 0 8px;border:1px solid rgba(214,169,52,.28);background:#070809; }
.identity-concept-board img { display:block;width:100%;height:auto; }
.identity-concept-board figcaption { padding:10px 12px;color:#999;font-size:.72rem;line-height:1.45; }

.lobby-member > img { width:72px!important;height:72px!important;padding:5px;object-fit:cover;border:2px solid #53aed6!important;outline:1px solid rgba(83,174,214,.35);outline-offset:4px;clip-path:polygon(12% 0,88% 0,100% 12%,100% 88%,88% 100%,12% 100%,0 88%,0 12%);box-shadow:0 0 20px rgba(83,174,214,.25); }
.lobby-rank-frame { width:78px;height:78px;margin:0 auto 8px;padding:3px;filter:none; }
.lobby-rank-frame > span { min-width:24px;padding:2px;font-size:.5rem; }

.alliance-surface { position:relative;isolation:isolate;overflow:hidden; }
.alliance-surface > *:not(.alliance-rank-mantle) { position:relative;z-index:1; }
.alliance-rank-mantle { --mantle:#777;position:absolute;z-index:0;inset:0;display:grid;place-content:center;gap:9px;pointer-events:none;text-align:center;opacity:.11;transform:rotate(-7deg) scale(1.15); }
.alliance-rank-mantle::before,.alliance-rank-mantle::after { content:'';position:absolute;top:10%;bottom:10%;width:34%;border:1px solid var(--mantle);background:linear-gradient(135deg,transparent,var(--mantle),transparent);clip-path:polygon(0 0,100% 14%,78% 50%,100% 86%,0 100%,22% 50%); }
.alliance-rank-mantle::before { right:51%; }
.alliance-rank-mantle::after { left:51%;transform:scaleX(-1); }
.alliance-rank-mantle span { color:var(--mantle);font-size:.7rem;letter-spacing:.62em; }
.alliance-rank-mantle strong { color:var(--mantle);font:700 clamp(4rem,13vw,12rem)/.8 Georgia,serif;letter-spacing:.06em; }
.alliance-rank-company { --mantle:#98704a; }.alliance-rank-cohort { --mantle:#6f9dac; }.alliance-rank-battalion { --mantle:#4faed7; }.alliance-rank-legion { --mantle:#e58e41; }.alliance-rank-order { --mantle:#e7c760; }.alliance-rank-dominion { --mantle:#ece8df; }.alliance-rank-empire { --mantle:#bf79ee; }

.alliance-ad-slide { display:grid;grid-template-columns:1.3fr 1fr;opacity:0;visibility:hidden;transform:translateX(7%);transition:opacity .44s ease,transform .44s cubic-bezier(.2,.8,.2,1),visibility .44s; }
.alliance-ad-slide.active { display:grid;opacity:1;visibility:visible;transform:translateX(0); }
.alliance-ad-slide.slide-from-left { animation:ad-slide-left .44s cubic-bezier(.2,.8,.2,1); }
.alliance-ad-slide.slide-from-right { animation:ad-slide-right .44s cubic-bezier(.2,.8,.2,1); }
@keyframes ad-slide-left { from { opacity:0;transform:translateX(-7%); } }
@keyframes ad-slide-right { from { opacity:0;transform:translateX(7%); } }
.ad-carousel-dots { position:absolute;z-index:5;left:50%;bottom:13px;transform:translateX(-50%);justify-content:center; }
.ad-carousel-dots button { width:8px;height:8px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.2);transition:transform .18s,background .18s; }
.ad-carousel-dots button.active { background:var(--gold);transform:scale(1.25);box-shadow:0 0 10px rgba(214,169,52,.5); }
.ad-carousel-arrow { position:absolute;z-index:5;top:50%;width:44px;height:58px;border:1px solid rgba(255,255,255,.12);background:rgba(5,6,7,.38);color:#fff;font:2rem/1 Georgia,serif;transform:translateY(-50%);cursor:pointer;opacity:.7;backdrop-filter:blur(4px);transition:opacity .18s,background .18s; }
.ad-carousel-arrow:hover { opacity:1;background:rgba(214,169,52,.24); }
.ad-carousel-arrow.previous { left:12px; }.ad-carousel-arrow.next { right:12px; }

.ranking-eligibility-note { display:grid;grid-template-columns:72px minmax(0,1fr);gap:22px;align-items:start;margin-bottom:18px;background:linear-gradient(110deg,rgba(214,169,52,.1),#111315 45%); }
.ranking-eligibility-note h2 { margin:5px 0 7px; }.ranking-eligibility-note p { margin:0;max-width:960px;color:var(--muted);line-height:1.55; }
.eligibility-icon { width:64px;height:64px;display:grid;place-items:center;border:1px solid var(--gold-dark);color:var(--gold-light);font:700 1.3rem Georgia,serif;background:#090a0b; }

.audio-settings-card { display:grid;gap:12px; }
.audio-channel { display:grid;grid-template-columns:minmax(160px,.7fr) minmax(140px,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);background:#0b0d0e; }
.audio-toggle { display:flex;align-items:center;gap:9px; }.audio-channel button { min-height:36px;padding:0 12px;border:1px solid var(--gold-dark);background:transparent;color:var(--gold-light);cursor:pointer; }

.ephemeral-chat { z-index:57;right:auto;left:18px;bottom:78px;width:min(370px,calc(100vw - 36px)); }
.ephemeral-chat.minimized { width:auto;min-width:168px;height:52px;border-radius:27px;overflow:hidden;box-shadow:0 10px 34px rgba(0,0,0,.7),0 0 0 1px rgba(214,169,52,.15); }
.ephemeral-chat.minimized > header { min-height:52px;padding:8px 11px 8px 16px;border:0; }
.ephemeral-chat.minimized > header small,.ephemeral-chat.minimized > header button[data-action="minimize-friend-chat"] { display:none; }

@media (max-width:820px) {
  .topbar { grid-template-columns:54px 42px minmax(0,1fr) auto; }
  .mobile-menu-left { grid-column:2;grid-row:1; }
  .top-context { grid-column:3;grid-row:1; }
  .top-actions { grid-column:4;grid-row:1; }
  .ephemeral-chat { position:fixed;inset:auto 10px 82px;width:auto;height:min(430px,calc(100dvh - 170px)); }
  .ephemeral-chat.minimized { right:auto;width:auto;max-width:calc(100vw - 20px);height:52px; }
  .alliance-ad-slide,.alliance-ad-slide.active { grid-template-columns:1fr; }
  .ad-carousel-arrow { width:38px;height:50px; }
  .ranking-eligibility-note { grid-template-columns:46px minmax(0,1fr);gap:13px;padding:15px; }
  .eligibility-icon { width:44px;height:44px;font-size:.9rem; }
  .audio-channel { grid-template-columns:1fr; }
  .alliance-rank-mantle { opacity:.08; }
}

html.mobile-preview .topbar { grid-template-columns:54px 42px minmax(0,1fr) auto; }
html.mobile-preview .mobile-menu-left { grid-column:2;grid-row:1; }
html.mobile-preview .top-context { grid-column:3;grid-row:1; }
html.mobile-preview .top-actions { grid-column:4;grid-row:1; }
html.mobile-preview .ephemeral-chat { position:fixed;inset:auto 10px 82px;width:auto;height:430px; }
html.mobile-preview .ephemeral-chat.minimized { right:auto;width:auto;height:52px; }

/* 0.1.19 — preparación competitiva de escritorio */
.lobby-member .lobby-rank-frame { width:104px!important;height:104px!important;padding:9px!important;flex:0 0 104px; }
.lobby-member .lobby-rank-frame::before { inset:9px!important; }
.lobby-member .lobby-rank-frame img { width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;object-fit:cover!important;border:0!important;border-radius:0!important;outline:0!important;box-shadow:none!important; }
.profile-avatar-frame > span,.rank-frame-choice .profile-avatar-frame > i {
  position:absolute!important;z-index:4!important;top:-3px!important;right:50%!important;bottom:auto!important;
  min-width:34px!important;padding:3px 9px!important;transform:translateX(50%);border:1px solid color-mix(in srgb,var(--rank-core) 75%,#fff 25%)!important;
  clip-path:polygon(11% 0,89% 0,100% 30%,86% 100%,14% 100%,0 30%);background:linear-gradient(180deg,var(--rank-core),var(--rank-deep))!important;
  color:#fff!important;text-shadow:0 1px 2px #000;font:700 .62rem/1.2 Arial,sans-serif;text-align:center;letter-spacing:.08em;
}
.player-identity-card { --identity-glow:var(--rank-glow,rgba(32,199,194,.35));box-shadow:inset 0 0 42px color-mix(in srgb,var(--rank-core,#20c7c2) 8%,transparent),0 0 26px var(--identity-glow); }
.player-identity-card.rank-e{--rank-core:#777d82;--rank-glow:rgba(119,125,130,.2)}.player-identity-card.rank-d{--rank-core:#a46f43;--rank-glow:rgba(164,111,67,.24)}.player-identity-card.rank-c{--rank-core:#e3c632;--rank-glow:rgba(227,198,50,.38)}.player-identity-card.rank-b{--rank-core:#20c7c2;--rank-glow:rgba(32,199,194,.4)}.player-identity-card.rank-a{--rank-core:#6be0c0;--rank-glow:rgba(107,224,192,.44)}.player-identity-card.rank-s{--rank-core:#39c85b;--rank-glow:rgba(57,200,91,.48)}.player-identity-card.rank-ss{--rank-core:#42aaf5;--rank-glow:rgba(66,170,245,.54)}.player-identity-card.rank-sss-minus{--rank-core:#6c58f0;--rank-glow:rgba(108,88,240,.56)}.player-identity-card.rank-sss{--rank-core:#833fff;--rank-glow:rgba(131,63,255,.62)}.player-identity-card.rank-sss-plus{--rank-core:#d73b45;--rank-glow:rgba(215,59,69,.68)}

.full-country-draft { width:100%;max-width:none!important;margin:0; }
.full-country-draft > header { max-width:none; }
.full-country-draft .champion-draft-layout { grid-template-columns:minmax(150px,220px) minmax(420px,1fr) minmax(150px,220px);gap:18px;align-items:stretch; }
.full-country-draft .country-canvas-wrap { width:100%;max-width:none!important;min-height:min(74vh,820px);display:grid;place-items:center; }
.full-country-draft .interactive-vector-map,.full-country-draft .interactive-vector-map > svg { width:100%;height:100%;max-height:min(78vh,880px); }
.country-hover-readout { text-align:center; }
.country-hover-readout small,.country-hover-readout strong,.country-hover-readout span { display:block; }
.draft-team-side { position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--side-color) 56%,var(--line));box-shadow:inset 0 0 44px color-mix(in srgb,var(--side-color) 12%,transparent),0 0 24px color-mix(in srgb,var(--side-color) 15%,transparent); }
.draft-team-side.side-a { --side-color:var(--team-a); }.draft-team-side.side-b { --side-color:var(--team-b); }
.draft-team-side::before { content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 25%,color-mix(in srgb,var(--side-color) 22%,transparent) 50%,transparent 75%);transform:translateX(-100%);animation:team-panel-sheen 5.2s ease-in-out infinite; }
@keyframes team-panel-sheen { 0%,65%,100%{transform:translateX(-100%)}82%{transform:translateX(100%)} }

.hero-draft-stage { max-width:none; }
.hero-phase-heading { display:flex;align-items:center;justify-content:space-between;gap:20px; }
.hero-phase-heading .red-title { color:#e44343; }
.hero-turn-label { display:block;margin-top:7px;color:var(--muted);font-size:.58rem;letter-spacing:.16em; }
.choice-clock { min-width:110px;padding:12px 18px;border:1px solid var(--gold-dark);color:var(--gold-light);font:700 1.4rem/1 ui-monospace,monospace;text-align:center;background:#080a0b; }
.hero-draft-arena { display:grid;grid-template-columns:minmax(160px,230px) minmax(0,1fr) minmax(160px,230px);gap:16px;align-items:stretch;margin-top:18px; }
.hero-team-panel { position:relative;overflow:hidden;padding:12px;border:1px solid color-mix(in srgb,var(--draft-side) 54%,var(--line));background:#090b0c;box-shadow:inset 0 0 34px color-mix(in srgb,var(--draft-side) 9%,transparent); }
.hero-team-panel > header { display:flex;justify-content:space-between;padding:8px 4px 12px;border-bottom:1px solid var(--line); }.hero-team-panel > header small { color:var(--draft-side); }
.hero-team-panel.active-turn::after,.hero-team-panel.awaiting-confirm::after { content:'';position:absolute;inset:-12% -35%;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--draft-side) 34%,transparent),transparent 58%);filter:blur(12px);animation:horizontal-fire-shadow 2.2s ease-in-out infinite alternate; }
@keyframes horizontal-fire-shadow { from{transform:translateX(-18%) scaleX(.85);opacity:.45}to{transform:translateX(18%) scaleX(1.12);opacity:.85} }
.revealed-bans { position:relative;z-index:1;display:flex;gap:7px;min-height:34px;padding:8px 0; }
.revealed-bans span { width:30px;height:30px;display:grid;place-items:center;border:1px solid #bd3737;background:#241010;color:#ff8888;font-size:.58rem;clip-path:polygon(50% 0,100% 20%,88% 100%,12% 100%,0 20%); }
.revealed-bans i { color:#777;font-size:.56rem;letter-spacing:.13em; }
.hero-player-slot { position:relative;z-index:1;display:grid;grid-template-columns:28px 1fr;gap:8px;min-height:65px;padding:10px 5px;border-bottom:1px solid var(--line);align-items:center; }.hero-player-slot > span { color:var(--draft-side);font-size:.58rem; }.hero-player-slot b,.hero-player-slot small { display:block; }.hero-player-slot small { color:var(--muted);font-size:.6rem; }
.team-confirm-state { position:relative;z-index:1;margin-top:10px;color:var(--draft-side);font-size:.62rem;letter-spacing:.12em; }
.hero-center-stage { min-width:0; }.hero-pool { display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px; }
.hero-pool > button { min-width:0;padding:0;border:1px solid var(--line);background:#13171a;color:var(--text);text-align:left;cursor:pointer; }.hero-pool > button:disabled { cursor:default;opacity:.56; }.hero-pool > button.ban-selected { border-color:#df4141;box-shadow:inset 0 0 24px rgba(223,65,65,.22); }.hero-pool > button.banned { filter:grayscale(1);opacity:.25; }.hero-pool > button.picked { opacity:.42; }
.hero-pool > button > strong,.hero-pool > button > span:last-child { display:block;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.hero-pool > button > span:last-child { padding-top:0;color:var(--muted);font-size:.53rem;letter-spacing:.08em; }
.hero-portrait { height:92px;display:grid!important;place-items:center!important;padding:0!important;background:radial-gradient(circle,rgba(214,169,52,.22),#171b1e 64%); }.hero-portrait i { color:var(--gold-light);font:700 1rem Georgia,serif; }
.hero-confirm-action { margin:14px auto 0;display:block; }

.assignment-stage { max-width:none; }.assignment-stage > header { display:flex;justify-content:space-between;gap:18px; }.assignment-progress { color:var(--team-a);font-size:.7rem;letter-spacing:.13em; }
.assignment-board { display:grid;grid-template-columns:minmax(190px,230px) minmax(0,1fr);gap:16px;margin-top:18px; }
.assignment-bench { min-height:690px;padding:14px;border:1px solid color-mix(in srgb,var(--team-a) 50%,var(--line));background:#090b0c;box-shadow:inset 0 0 40px color-mix(in srgb,var(--team-a) 10%,transparent); }
.assignment-bench header { margin:14px 0 8px;color:var(--team-a);font-size:.6rem;letter-spacing:.13em; }.assignment-bench > small,.assignment-bench > p { display:block;margin-top:12px;color:var(--muted);font-size:.62rem; }
.assignment-token { width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;margin:6px 0;padding:7px;border:1px solid var(--line);background:#111416;color:var(--text);text-align:left;cursor:grab; }.assignment-token i { width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--team-a);color:var(--team-a);font-style:normal;font-size:.56rem; }.assignment-token span { white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.assignment-token.selected { border-color:var(--team-a);box-shadow:0 0 16px color-mix(in srgb,var(--team-a) 25%,transparent); }
.assignment-map-wrap { position:relative;min-height:690px;border:1px solid var(--gold-dark);overflow:hidden;background:#060809; }.assignment-map-wrap #assignment-map,.assignment-map-wrap #assignment-map > svg { width:100%;height:100%;max-height:790px; }.assignment-drop-layer { position:absolute;inset:0;pointer-events:none; }
.country-loadout { position:absolute;left:var(--x);top:var(--y);width:150px;padding:7px;transform:translate(-50%,-50%);pointer-events:auto;border:1px dashed rgba(255,255,255,.3);background:rgba(5,7,8,.88);backdrop-filter:blur(4px);transition:transform .18s,border-color .18s,box-shadow .18s; }.country-loadout.drag-over,.country-loadout.complete { border-color:var(--team-a);box-shadow:0 0 20px color-mix(in srgb,var(--team-a) 32%,transparent); }.country-loadout.drag-over { transform:translate(-50%,-50%) scale(1.07); }.country-loadout > b { display:block;margin-bottom:5px;color:var(--gold-light);font-size:.56rem;letter-spacing:.06em; }.country-loadout > button,.country-loadout .empty-slot { width:100%;min-height:29px;display:grid;grid-template-columns:25px 1fr;align-items:center;gap:5px;margin:3px 0;padding:2px 5px;border:1px solid var(--line);background:#111416;color:var(--text);text-align:left; }.country-loadout > button i { width:22px;height:22px;display:grid;place-items:center;color:var(--team-a);font-style:normal;font-size:.48rem; }.country-loadout > button span { white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.55rem; }.country-loadout .empty-slot { display:grid;place-items:center;color:#666;font-size:.48rem;letter-spacing:.1em; }
.assignment-stage.locked .assignment-token,.assignment-stage.locked .country-loadout button { cursor:not-allowed; }

.schedule-studio { display:grid;grid-template-columns:minmax(440px,1fr) 310px 260px;gap:18px;margin-top:18px; }.timezone-chip { padding:9px 13px;border:1px solid var(--gold-dark);color:var(--gold-light);font-size:.62rem; }
.fixed-calendar,.clock-station,.schedule-server { padding:18px;border:1px solid var(--line);background:#090b0c; }.fixed-calendar > header { display:grid;grid-template-columns:40px 1fr 40px;align-items:center;text-align:center; }.fixed-calendar > header button { min-height:38px;border:1px solid var(--line);background:#111416;color:var(--gold-light);font-size:1.4rem; }.fixed-calendar > header strong { text-transform:capitalize; }.calendar-week,.calendar-days { display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:12px; }.calendar-week span { color:var(--muted);font-size:.55rem;text-align:center; }.calendar-days button,.calendar-days i { aspect-ratio:1;display:grid;place-items:center;border:1px solid transparent;background:#111416;color:var(--text);font-style:normal; }.calendar-days button { cursor:pointer; }.calendar-days button:hover,.calendar-days button.today { border-color:var(--gold-dark); }.calendar-days button.selected { border-color:var(--gold);background:rgba(214,169,52,.2);color:var(--gold-light);box-shadow:0 0 15px rgba(214,169,52,.18); }.calendar-days button:disabled { opacity:.2;cursor:not-allowed; }
.analog-clock { position:relative;width:210px;aspect-ratio:1;margin:0 auto 18px;border:3px solid var(--gold);border-radius:50%;background:radial-gradient(circle,#15181a,#020303 72%);box-shadow:inset 0 0 28px #000,0 0 20px rgba(214,169,52,.2); }.analog-clock > span { position:absolute;color:#fff;font:700 .8rem Arial,sans-serif; }.analog-clock .n12{top:8px;left:50%;transform:translateX(-50%)}.analog-clock .n3{right:10px;top:50%;transform:translateY(-50%)}.analog-clock .n6{bottom:8px;left:50%;transform:translateX(-50%)}.analog-clock .n9{left:10px;top:50%;transform:translateY(-50%)}.analog-clock > i { position:absolute;left:50%;bottom:50%;width:2px;transform-origin:50% 100%;background:#fff;box-shadow:0 0 5px #fff; }.analog-clock .hour-hand { height:54px;transform:translateX(-50%) rotate(var(--hour)); }.analog-clock .minute-hand { height:75px;transform:translateX(-50%) rotate(var(--minute)); }.analog-clock > b { position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%); }.clock-station label,.schedule-server label { display:grid;gap:8px;color:var(--muted);font-size:.57rem;letter-spacing:.1em; }.clock-station input,.schedule-server select { min-height:44px;border:1px solid var(--gold-dark);background:#050607;color:#fff;padding:0 12px;color-scheme:dark; }.utc-readout { margin-top:14px;padding:10px;border:1px solid var(--line); }.utc-readout small,.utc-readout strong { display:block; }.utc-readout small { color:var(--muted);font-size:.52rem; }.utc-readout strong { margin-top:5px;color:var(--gold-light);font:600 .68rem ui-monospace,monospace;overflow-wrap:anywhere; }

.player-clash { max-width:none;background:radial-gradient(circle at center,rgba(214,169,52,.07),transparent 42%),#101315; }.player-clash > header { display:flex;justify-content:space-between; }.clash-roster { display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:8px; }.clash-roster h3 { grid-column:1/-1;margin:8px 0;color:var(--team-a);font-size:.62rem;letter-spacing:.18em; }.clash-roster.side-b h3 { color:var(--team-b);text-align:right; }.player-war-banner { position:relative;min-height:190px;padding:14px 10px;display:grid;grid-template-rows:auto 68px 1fr auto;place-items:center;border:1px solid color-mix(in srgb,var(--banner-color) 60%,var(--line));clip-path:polygon(8% 0,92% 0,100% 10%,94% 82%,50% 100%,6% 82%,0 10%);background:linear-gradient(180deg,color-mix(in srgb,var(--banner-color) 20%,#101315),#070809);box-shadow:inset 0 0 32px color-mix(in srgb,var(--banner-color) 15%,transparent);text-align:center; }.player-war-banner.side-a { --banner-color:var(--team-a); }.player-war-banner.side-b { --banner-color:var(--team-b); }.player-war-banner > span { color:var(--banner-color);font-size:.55rem; }.banner-avatar { width:60px;height:60px;display:grid;place-items:center;border:1px solid var(--banner-color);border-radius:50%;color:#fff;background:#111416; }.player-war-banner strong,.player-war-banner small { display:block; }.player-war-banner small,.player-war-banner em { color:var(--muted);font-size:.56rem;font-style:normal; }.player-war-banner > i { width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--banner-color);color:var(--banner-color);font-size:.52rem;font-style:normal; }.clash-mark { display:flex;justify-content:center;align-items:center;gap:18px;margin:16px 0;color:var(--gold); }.clash-mark b { font:700 2.2rem Georgia,serif; }.clash-mark span { color:#777;font-size:.55rem;letter-spacing:.4em; }

.verified-mark { display:inline-flex;align-items:center;gap:5px;color:var(--gold-light);font-size:.58rem;letter-spacing:.1em;vertical-align:middle; }.verified-mark i { width:16px;height:16px;display:grid;place-items:center;border:1px solid var(--gold);clip-path:polygon(50% 0,88% 18%,100% 58%,72% 100%,28% 100%,0 58%,12% 18%);background:#191507;color:#fff;font-size:.5rem;font-style:normal; }

@media (max-width:1180px) {
  .full-country-draft .champion-draft-layout,.hero-draft-arena { grid-template-columns:155px minmax(0,1fr) 155px; }
  .assignment-board { grid-template-columns:190px minmax(0,1fr); }
  .schedule-studio { grid-template-columns:1fr 280px; }.schedule-server { grid-column:1/-1; }
}
@media (max-width:1500px) and (min-width:821px) {
  .schedule-studio { grid-template-columns:minmax(390px,1fr) 280px; }
  .schedule-server { grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end; }
}
@media (max-width:820px) {
  .lobby-member .lobby-rank-frame { width:96px!important;height:96px!important; }
  .full-country-draft .champion-draft-layout,.hero-draft-arena,.assignment-board,.schedule-studio { grid-template-columns:1fr; }
  .full-country-draft .country-canvas-wrap { min-height:520px;order:-1; }.draft-team-side { min-height:0; }
  .hero-center-stage { order:-1; }.hero-pool { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .assignment-map-wrap { min-height:560px;order:-1; }.assignment-bench { min-height:0; }.country-loadout { width:120px; }
  .schedule-server { grid-column:auto; }.clash-roster { grid-template-columns:repeat(2,1fr); }.clash-roster .player-war-banner:last-child { grid-column:1/-1;width:50%;justify-self:center; }
}

/* 0.1.20 final cascade */
.profile-frame-hidden .profile-avatar-frame::after{display:none!important}.profile-frame-hidden .profile-avatar-frame>span,.profile-frame-hidden .profile-avatar-frame>i{display:none!important}

/* 0.1.24: marcos y audio retirados hasta contar con sus assets definitivos. */
.profile-frame-hidden .profile-avatar-frame::before,
.profile-frame-hidden .profile-avatar-frame::after{display:none!important}
.profile-frame-hidden .profile-avatar-frame{border:1px solid currentColor!important;border-radius:50%!important;clip-path:none!important;filter:none!important;box-shadow:none!important;padding:3px!important;background:#090b0d!important}
.profile-frame-hidden .profile-avatar-frame img{border-radius:50%!important;clip-path:none!important}
.audio-settings-card,[data-action="preview-ui-audio"],[data-action="preview-music"],[data-action="preview-match-audio"]{display:none!important}
.player-identity-card.rank-e{--card-rank:#8b929a}.player-identity-card.rank-d{--card-rank:#b97732}.player-identity-card.rank-c{--card-rank:#e3c632}.player-identity-card.rank-b{--card-rank:#20c7c2}.player-identity-card.rank-a{--card-rank:#6be0c0}.player-identity-card.rank-s{--card-rank:#39c85b}.player-identity-card.rank-ss{--card-rank:#42aaf5}.player-identity-card.rank-sss-minus{--card-rank:#6c58f0}.player-identity-card.rank-sss{--card-rank:#833fff}.player-identity-card.rank-sss-plus{--card-rank:#d73b45}
.player-identity-card{border-color:color-mix(in srgb,var(--card-rank,#20c7c2) 55%,#2d3034)!important;box-shadow:0 0 38px color-mix(in srgb,var(--card-rank,#20c7c2) 19%,transparent),inset 0 1px color-mix(in srgb,var(--card-rank,#20c7c2) 24%,transparent)!important}
.profile-visibility-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 20px}.profile-visibility-controls button{min-height:42px;border:1px solid var(--line);background:#0b0d0e;color:var(--muted);cursor:pointer}.profile-visibility-controls button.active{border-color:var(--gold);color:var(--gold-light);background:#18150d}
.competition-hub-tabs{display:flex;gap:6px;margin-bottom:24px;padding:5px;border:1px solid var(--line);background:#0b0d0e}.competition-hub-tabs button{flex:1;min-height:48px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.competition-hub-tabs button.active{color:var(--gold-light);border-bottom-color:var(--gold);background:#17150e}
.ranking-first{margin-bottom:18px}.ranking-board-v20>header{display:flex;align-items:end;justify-content:space-between;gap:18px}.ranking-search{display:grid;gap:5px;min-width:240px}.ranking-search span{color:var(--muted);font-size:.65rem}.ranking-search input{min-height:40px;padding:0 12px;border:1px solid var(--line);background:#080a0b;color:#fff}.league-table td small{display:block;color:var(--muted);font-size:.6rem}.ranking-pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;color:var(--muted);font-size:.7rem}.ranking-pager span{margin-right:auto}.ranking-pager button{width:36px;height:34px;border:1px solid var(--line);background:#0c0e0f}.ranking-pager b{color:var(--gold-light)}
.alliance-directory-layout-v20{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:stretch}.alliance-ad-rail.full-height{height:100%;min-height:720px}.recruiting-alliance-list{display:grid;gap:12px;margin-top:16px}.recruiting-alliance-card{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px;border:1px solid var(--line);background:var(--panel)}.recruiting-alliance-card>img{width:64px;height:64px;object-fit:cover;border-radius:50%}
.reference-article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reference-article-card{display:grid;grid-template-columns:70px minmax(0,1fr);gap:18px;min-height:210px;padding:22px;text-align:left;border:1px solid var(--line);background:linear-gradient(135deg,#121416,#090b0c);color:var(--text);cursor:pointer}.reference-article-card:hover{border-color:var(--gold);transform:translateY(-2px)}.reference-article-card>span{font-size:2rem;color:var(--gold)}.reference-article-card small,.reference-article-card em{color:var(--gold-light);font-size:.65rem;letter-spacing:.12em}.reference-article-card p{color:var(--muted);line-height:1.55}.article-reader-head{display:grid;gap:20px;margin-bottom:24px}.article-reader-head .button{justify-self:start}
.combat-groups{display:grid;grid-template-columns:.75fr 1fr 1.15fr;gap:16px;align-items:start}.combat-groups>section{display:grid;gap:10px}.combat-army{display:grid;grid-template-columns:1.3fr .7fr .7fr 1fr;gap:8px;padding:12px;border:1px solid var(--line)}.combat-army legend{padding:0 6px;color:var(--gold-light);font-size:.68rem}.combat-army label{display:grid;gap:4px;color:var(--muted);font-size:.58rem}.combat-army input,.combat-army select,.combat-context select{min-width:0;min-height:36px;border:1px solid var(--line);background:#080a0b;color:#fff;padding:0 7px}.combat-context{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px;padding:16px;border:1px solid var(--line);background:#0d0f10}.combat-context label{display:grid;gap:5px;min-width:220px}.combat-context p{max-width:760px;margin:0;color:var(--muted)}.combat-result{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.combat-result>div{padding:18px;border:1px solid var(--line)}.combat-result strong{display:block;font:2rem Georgia;color:var(--gold-light)}.combat-result p{grid-column:1/-1}.calculator-limit ul{padding-left:20px;line-height:1.8}
@media(max-width:1100px){.alliance-directory-layout-v20,.combat-groups{grid-template-columns:1fr}.alliance-ad-rail.full-height{min-height:0}.reference-article-grid{grid-template-columns:1fr}.ranking-board-v20>header{align-items:stretch;flex-direction:column}.ranking-search{width:100%}}
@media(max-width:680px){.profile-visibility-controls{grid-template-columns:1fr}.recruiting-alliance-card{grid-template-columns:54px 1fr}.recruiting-alliance-card .button{grid-column:1/-1}.combat-army{grid-template-columns:1fr 1fr}.combat-context{display:grid}.competition-hub-tabs{position:sticky;top:72px;z-index:5}.handoff-layout{display:block!important}}

/* Tournament Island usa <use>; estos selectores mantienen hover y propiedad visibles. */
.interactive-vector-map .country use{fill:#111416;stroke:var(--gold-dark);transition:fill .16s ease,filter .16s ease,stroke .16s ease}
.interactive-vector-map .country:hover use,.interactive-vector-map .country.is-hovered use{fill:rgba(214,169,52,.34);stroke:var(--gold);filter:drop-shadow(0 0 7px rgba(214,169,52,.55))}
.interactive-vector-map .country.is-selected-a use{fill:var(--team-a)!important;stroke:color-mix(in srgb,var(--team-a) 70%,#fff)!important;filter:drop-shadow(0 0 8px var(--team-a))}
.interactive-vector-map .country.is-selected-b use{fill:var(--team-b)!important;stroke:color-mix(in srgb,var(--team-b) 70%,#fff)!important;filter:drop-shadow(0 0 8px var(--team-b))}
.assignment-map-wrap .interactive-vector-map .country.is-selected-b use{fill:#08090a!important;stroke:#25282b!important;filter:none!important}
.full-country-draft:has([data-map-url$="tournament-island-10p.svg"]) .country-canvas-wrap{min-height:clamp(300px,34vw,480px)!important}
.full-country-draft [data-map-url$="tournament-island-10p.svg"],.full-country-draft [data-map-url$="tournament-island-10p.svg"]>svg{height:auto!important;min-height:0!important;max-height:none!important}

/* Cierre visual 0.1.20: draft legible y tablero de asignación despejado. */
@media (min-width:821px) and (max-width:1500px){
  .hero-draft-arena{grid-template-columns:180px minmax(0,1fr) 180px;gap:12px}
  .hero-pool{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.hero-center-stage{overflow:hidden}
.hero-pool{grid-template-columns:repeat(4,minmax(0,1fr))}
.hero-portrait{height:104px}
.hero-player-slot b{font-size:.72rem;line-height:1.25}
.hero-player-slot small{font-size:.62rem}
.assignment-bench header{font-size:.72rem}
.assignment-token{padding:9px;font-size:.74rem}
.assignment-token i{font-size:.62rem}
.country-loadout{width:132px;padding:4px;border:1px dashed rgba(230,190,70,.82);background:rgba(5,7,8,.18);backdrop-filter:none}
.country-loadout.complete{background:rgba(5,7,8,.48)}
.country-loadout>.empty-slot{min-height:25px;border:1px dashed rgba(230,190,70,.68);background:rgba(5,7,8,.08)}
.country-loadout>button{background:rgba(11,14,15,.9)}
.assignment-help{max-width:780px;margin:14px auto!important;text-align:center;font-size:.64rem;color:var(--muted)}
.assignment-help>span{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border:1px solid var(--gold);color:var(--gold-light)}
@media(max-width:680px){
  .hero-pool{grid-template-columns:repeat(2,minmax(0,1fr))}
  .country-loadout{width:92px}
}

/* 0.1.23 · marco circular con ornamentación inferior progresiva */
.profile-avatar-frame{
  --rank-core:#20c7c2;--rank-deep:#06494a;--rank-glow:rgba(32,199,194,.42);--spike-depth:12px;
  position:relative!important;width:176px!important;height:176px!important;padding:7px!important;border:2px solid var(--rank-core)!important;border-radius:50%!important;
  clip-path:none!important;background:radial-gradient(circle at 35% 22%,color-mix(in srgb,var(--rank-core) 35%,#fff),var(--rank-deep) 78%)!important;
  box-shadow:0 0 0 3px #07090a,0 0 22px var(--rank-glow)!important;filter:none!important;overflow:visible!important;transition:transform .18s,box-shadow .18s;
}
.profile-avatar-frame::before{content:""!important;position:absolute!important;inset:6px!important;border:1px solid color-mix(in srgb,var(--rank-core) 75%,#fff)!important;border-radius:50%!important;clip-path:none!important;background:#07090a!important;z-index:0!important}
.profile-avatar-frame::after{
  content:""!important;position:absolute!important;left:14%!important;right:14%!important;top:auto!important;bottom:calc(var(--spike-depth) * -1)!important;height:calc(25px + var(--spike-depth))!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--rank-core) 88%,#fff),var(--rank-core) 42%,var(--rank-deep))!important;
  clip-path:polygon(0 0,100% 0,92% 38%,86% 15%,78% 68%,70% 25%,61% 92%,52% 35%,44% 100%,35% 30%,27% 76%,19% 18%,11% 52%)!important;
  filter:drop-shadow(0 5px 5px var(--rank-glow))!important;opacity:.95!important;z-index:3!important;pointer-events:none!important;
}
.profile-avatar-frame img,.profile-avatar-frame .player-avatar{position:relative!important;width:100%!important;height:100%!important;border-radius:50%!important;clip-path:circle(50%)!important;object-fit:cover!important;z-index:2!important}
.profile-avatar-frame>span,.rank-frame-choice .profile-avatar-frame>i{position:absolute!important;left:50%!important;right:auto!important;top:-12px!important;bottom:auto!important;transform:translateX(-50%)!important;z-index:5!important;min-width:38px!important;padding:4px 8px!important;border:1px solid var(--rank-core)!important;border-radius:12px!important;background:#07090a!important;color:var(--rank-core)!important;text-align:center!important;font-weight:800!important;font-style:normal!important;box-shadow:0 0 10px var(--rank-glow)!important}
.profile-avatar-frame.rank-e{--rank-core:#8b929a;--rank-deep:#292d30;--rank-glow:rgba(139,146,154,.25);--spike-depth:2px}.profile-avatar-frame.rank-d{--rank-core:#b97732;--rank-deep:#3e210c;--rank-glow:rgba(185,119,50,.3);--spike-depth:4px}.profile-avatar-frame.rank-c{--rank-core:#e3c632;--rank-deep:#4b3b05;--rank-glow:rgba(227,198,50,.34);--spike-depth:6px}.profile-avatar-frame.rank-b{--rank-core:#20c7c2;--rank-deep:#06494a;--rank-glow:rgba(32,199,194,.4);--spike-depth:8px}.profile-avatar-frame.rank-a{--rank-core:#6be0c0;--rank-deep:#145044;--rank-glow:rgba(107,224,192,.44);--spike-depth:10px}.profile-avatar-frame.rank-s{--rank-core:#39c85b;--rank-deep:#103f20;--rank-glow:rgba(57,200,91,.48);--spike-depth:13px}.profile-avatar-frame.rank-ss{--rank-core:#42aaf5;--rank-deep:#0c3d69;--rank-glow:rgba(66,170,245,.54);--spike-depth:16px}.profile-avatar-frame.rank-sss-minus{--rank-core:#765cff;--rank-deep:#20145f;--rank-glow:rgba(118,92,255,.58);--spike-depth:19px}.profile-avatar-frame.rank-sss{--rank-core:#9948ff;--rank-deep:#32106f;--rank-glow:rgba(153,72,255,.64);--spike-depth:22px}.profile-avatar-frame.rank-sss-plus{--rank-core:#e3434d;--rank-deep:#4c090f;--rank-glow:rgba(227,67,77,.68);--spike-depth:26px}
.lobby-rank-frame,.rank-frame-choice .profile-avatar-frame{width:106px!important;height:106px!important;padding:5px!important}.lobby-rank-frame::before,.rank-frame-choice .profile-avatar-frame::before{inset:4px!important}.lobby-rank-frame::after,.rank-frame-choice .profile-avatar-frame::after{height:calc(17px + var(--spike-depth))!important}.lobby-member{overflow:visible!important}.player-identity-card{overflow:visible!important}

/* Avatares y negociación de preparación */
.prep-player-avatar{width:32px;height:32px;border:1px solid currentColor;border-radius:50%;object-fit:cover;background:#080a0b}.draft-side-slot,.hero-player-slot{grid-template-columns:34px 24px minmax(0,1fr)!important}.hero-player-slot{padding:10px!important}.negotiation-grid{display:grid;border:1px solid var(--line);background:#090b0c}.negotiation-grid-head,.negotiation-grid .rule-row{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(110px,.65fr);gap:10px;align-items:center;padding:10px 14px}.negotiation-grid-head{color:var(--muted);font-size:.58rem;letter-spacing:.12em;background:#111416}.negotiation-grid .rule-row{border-top:1px solid var(--line)}.negotiation-grid select,.rival-rule-choice{min-height:38px;padding:8px;border:1px solid var(--line);background:#07090a;color:#fff}.rival-rule-choice{text-align:center}.rule-result{font-size:.62rem;font-weight:800}.rule-result.negotiate{color:#ff7575}.rule-result.agreed{color:#6ee7a4}.negotiation-confirmations{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}.negotiation-confirmations p{width:100%;color:var(--muted)}

/* Banderas históricas utilizadas en la pantalla final */
.flag-great-britain{--country-flag:url('/assets/flags/1914/great-britain.svg')}.flag-france{--country-flag:url('/assets/flags/1914/france.svg')}.flag-germany{--country-flag:url('/assets/flags/1914/germany.svg')}.flag-italy{--country-flag:url('/assets/flags/1914/italy.svg')}.flag-russia{--country-flag:url('/assets/flags/1914/russia.svg')}.flag-spain{--country-flag:url('/assets/flags/1914/spain.svg')}.flag-sweden{--country-flag:url('/assets/flags/1914/sweden.svg')}.flag-ottoman{--country-flag:url('/assets/flags/1914/ottoman.svg')}.flag-austria-hungary{--country-flag:url('/assets/flags/1914/austria-hungary.svg')}.flag-morocco{--country-flag:url('/assets/flags/1914/morocco.svg')}.banner-country-flag,.player-war-banner::before{background-image:var(--country-flag)!important;background-size:cover!important;background-position:center!important}

/* Tournament Island conserva el raster exacto; estas son sólo zonas de interacción. */
.interactive-vector-map .interaction-zone{fill:transparent;stroke:transparent;cursor:pointer;transition:fill .16s,filter .16s}.interactive-vector-map .country:hover .interaction-zone,.interactive-vector-map .country.is-hovered .interaction-zone{fill:rgba(214,169,52,.18);filter:url(#hover-glow)}.interactive-vector-map .country.is-selected-a .interaction-zone{fill:color-mix(in srgb,var(--team-a) 52%,transparent)!important}.interactive-vector-map .country.is-selected-b .interaction-zone{fill:color-mix(in srgb,var(--team-b) 52%,transparent)!important}

/* Handoff, creación de alianza y mercado bloqueado */
.handoff-next-step{padding:18px;border:1px solid var(--line);background:#0b0e0f}.handoff-next-step h2{margin:.35rem 0}.handoff-next-step p{color:var(--muted);line-height:1.55}.handoff-next-step form{display:grid;gap:12px}.handoff-next-step label{display:grid;gap:6px;color:var(--muted);font-size:.68rem}.handoff-next-step input,.handoff-next-step select{min-height:42px;border:1px solid var(--line);background:#07090a;color:#fff;padding:0 10px}.handoff-confirm-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.handoff-data{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:14px 0;background:var(--line)}.handoff-data span{padding:10px;background:#0b0d0e}.handoff-data b{display:block;color:var(--gold);font-size:.55rem;text-transform:uppercase}.handoff-incident{position:relative;margin-top:10px;padding:16px;border:1px solid #7d2929;background:#1c0d0f}.handoff-incident>button{position:absolute;right:8px;top:8px;border:0;background:none;color:#fff;font-size:1.2rem}.persistent-profile-comments{margin-top:18px}.alliance-creation-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px}.alliance-creation-form label{display:grid;gap:7px;margin:10px 0;color:var(--muted)}.alliance-creation-form input,.alliance-creation-form textarea{min-height:44px;border:1px solid var(--line);background:#080a0b;color:#fff;padding:10px}.alliance-creation-form textarea{min-height:150px}.alliance-verification-route{display:grid;gap:1px;background:var(--line)}.alliance-verification-route>div{padding:18px;background:#0d0f10}.alliance-verification-route span{color:var(--gold);font-weight:800}.alliance-verification-route p{color:var(--muted)}.alliance-name-result{display:grid;gap:5px;margin-top:14px;padding:12px;border:1px solid var(--line)}.alliance-name-result.available b{color:#6ee7a4}.alliance-name-result.unavailable b{color:#ff7474}.market-locked{position:relative;min-height:720px;overflow:hidden}.market-frost{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(10,12,13,.55),rgba(25,28,30,.78));backdrop-filter:blur(11px) saturate(.4);border:1px solid rgba(255,255,255,.15)}.market-frost>div{max-width:650px;padding:40px;border:1px solid rgba(214,169,52,.42);background:rgba(5,7,8,.66);text-align:center;box-shadow:0 0 70px rgba(214,169,52,.12)}.market-frost span{color:var(--gold);letter-spacing:.18em}.market-frost h1{font-size:clamp(2.5rem,7vw,6rem);letter-spacing:.08em}.market-frost p{color:#c3c5c6}

/* Encuadre de las composiciones oficiales de los cuatro retratos agregados */
img[src*="orhan-official-square"],img[src*="allenby-official-square"]{object-position:88% center}img[src*="lawrence-official-square"]{object-position:12% center}
@media(max-width:820px){.negotiation-grid-head{display:none}.negotiation-grid .rule-row{grid-template-columns:1fr 1fr}.negotiation-grid .rule-row>div{grid-column:1/-1}.alliance-creation-layout{grid-template-columns:1fr}.handoff-data{grid-template-columns:1fr}.profile-avatar-frame{width:112px!important;height:112px!important}}
