/* Command network and the monthly service ladder. */
.commander-inline{display:flex;align-items:center;gap:5px;min-width:0;flex-wrap:wrap;text-align:left}.identity-name{min-width:0;overflow-wrap:anywhere}.clan-tag{font:700 .7em/1.2 Arial,sans-serif;letter-spacing:.7px;color:#d6bd7e;flex:none}.rank-symbol{display:inline-flex;width:23px;height:28px;color:var(--rank-color);flex:0 0 23px;vertical-align:middle}.rank-crest{width:100%;height:100%;overflow:visible;color:var(--rank-color,#d1be85)}
#account-open .menu-callsign{display:flex;align-items:center;gap:5px;width:100%;min-width:0}#account-open .menu-callsign .identity-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#account-open .rank-symbol{width:18px;height:23px;flex-basis:18px}#account-open .clan-tag{font-size:10px}.army-loadout .commander-signature>strong,.account-callsign,#lobby .commander-seat strong,#lobby .team-seat strong{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.account-callsign .rank-symbol,.army-loadout .rank-symbol{width:27px;height:32px;flex-basis:27px}
.network-launchers{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.network-launchers button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;font-size:13px;padding:10px 7px}.network-launchers [data-social-count]{padding:2px 6px;border-radius:20px;background:#d3b775;color:#15212a;font-size:11px}.room-code{flex-wrap:wrap}.room-code #invite-friends{font-size:12px;min-height:40px}
/* Keep every home action above the footer on phones held sideways. */
@media(max-height:500px) and (min-width:600px){#menu:has(#setup:not(.hidden)) .menu-panel{padding:10px 0}#setup h1{font-size:52px;margin-bottom:8px}#setup .menu-intro{font-size:13px;margin-bottom:14px}#setup #deploy{height:48px;min-height:48px;font-size:20px}#setup #ranked-open{min-height:44px;margin-top:8px;padding:10px 16px;font-size:16px}#setup .network-launchers{margin-top:8px}}
.social-dialog,.ladder-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 36px);padding:26px;border:1px solid #526373;background:linear-gradient(145deg,#132c3f,#091725 70%);color:#e7eff2;border-radius:16px}.social-dialog[open],.ladder-dialog[open]{display:flex;flex-direction:column}.social-dialog>h2,.ladder-dialog>h2{margin:0 32px 14px 0;font-size:25px;letter-spacing:-.6px}.social-body,.ladder-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:3px}.social-tabs{display:flex;gap:7px;position:sticky;top:0;background:#112536;z-index:2;padding:0 0 10px}.social-tabs button{flex:1;min-height:44px;border:1px solid #3c5363;background:#122b3f;color:#acc4d1;border-radius:7px;font-size:14px}.social-tabs button[aria-pressed=true]{background:#d6c08a;color:#132331;border-color:#ead7a4}.social-tabs button span{font-size:11px;opacity:.75;margin-left:6px}.social-status{font-size:12px;color:#e0cc9a;margin:0 0 12px;min-height:0}.social-status:empty{display:none}.social-page h3{font-size:16px;color:#eef4f7;margin:22px 0 12px}.social-page h3 span{font-size:12px;color:#8ba6b7;margin-left:7px}.social-empty{padding:28px 16px;margin:0;text-align:center;font-size:14px;line-height:1.7;color:#9cb3c2;background:#07162266;border:1px dashed #354958;border-radius:8px}.social-note,.ladder-note{font-size:12px;line-height:1.6;color:#a4bac9}.friend-search label,.regiment-create label,.ladder-select{display:block;font:600 12px/1.5 Arial,sans-serif;color:#b5c8d3}.friend-search>div{display:flex;gap:8px;margin-top:7px}.friend-search input,.regiment-create input,.ladder-select select{width:100%;min-width:0;min-height:44px;border:1px solid #446073;border-radius:6px;background:#081a29;color:#f0f6fa;font:16px Arial,sans-serif;padding:11px 12px;box-sizing:border-box}.friend-search button{min-width:110px;min-height:44px;font-size:13px}.friend-search small{display:block;color:#859fad;font-size:11px;margin-top:8px}.social-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.social-section-heading small{font-size:11px;color:#b1c4cf;text-align:right;max-width:180px}.social-person{display:flex;align-items:center;gap:10px;padding:14px 2px;border-bottom:1px solid #304858}.social-person-copy{flex:1;min-width:0}.social-person-copy>strong{font:700 15px/1.35 Arial,sans-serif}.social-person small{display:block;font-size:11px;color:#96b1c3;margin-top:4px}.presence-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#9fe2c2;box-shadow:0 0 10px #9fe2c233}.presence-dot.offline{background:#52697b;box-shadow:none}.social-person-tools{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.social-person button,.social-request button{font-size:12px;min-height:38px;padding:8px 11px}.social-person details{position:relative}.social-person summary{min-width:34px;min-height:38px;display:flex;align-items:center;justify-content:center;color:#b9cbd6;cursor:pointer;font-size:12px;list-style:none;padding:6px}.social-person details>div{position:absolute;z-index:4;right:0;background:#1b3448;border:1px solid #537085;padding:5px;border-radius:6px;width:160px;box-shadow:0 8px 24px #0008}.social-person details>div button{width:100%;text-align:left}.social-request{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #294153}.social-request>strong{font-size:13px;min-width:0}.social-request>div{display:flex;gap:4px;flex:none}.social-pending{margin-top:16px;font-size:12px;color:#acc3d1}.social-pending summary{cursor:pointer;padding:10px 0}.social-invitation{display:flex;gap:12px;border:1px solid #bca46f88;background:linear-gradient(120deg,#263c49,#132638);border-radius:9px;padding:15px;margin:10px 0;color:#e8f0f4}.invite-signal{font-size:30px;color:#ddc387;flex:none}.social-invitation>div:last-child{min-width:0;flex:1}.social-invitation small{font-size:9px;letter-spacing:1.6px;color:#d9c48e}.social-invitation strong{font-size:15px;margin-top:5px}.social-invitation p{font-size:12px;color:#a9bfcc;margin:5px 0 12px}.social-row-buttons{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.social-row-buttons button{min-height:39px;padding:9px 13px;font-size:12px}
#social-invite-popup{position:fixed;inset:84px 18px auto auto;width:355px;max-width:calc(100vw - 28px);margin:0;padding:0;background:#0c1b29;color:#edf4f7;border:1px solid #baa474;border-radius:11px;z-index:10000;box-shadow:0 14px 60px #0009;animation:invite-arrive .3s ease-out}#social-invite-popup .social-invitation{border:0;background:none;margin:0;padding:17px 16px 9px}#social-invite-popup .invite-later{display:block;margin:0 16px 10px auto;font-size:11px;background:transparent;border:0;color:#b1c7d4;padding:8px 12px;min-height:32px}@keyframes invite-arrive{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.regiment-intro{text-align:center;max-width:450px;margin:0 auto 22px}.regiment-mark{width:72px;height:84px;margin:8px auto 15px;--rank-color:#d6c08a}.regiment-intro .eyebrow{font-size:9px;letter-spacing:2px;color:#d6c08a}.regiment-intro h3{font-size:29px;margin:9px 0}.regiment-intro p{font-size:13px;color:#aec3d0;line-height:1.6}.regiment-create{display:grid;grid-template-columns:1fr 100px;gap:14px}.regiment-create label{display:flex;flex-direction:column;justify-content:space-between}.regiment-create input{margin-top:6px}.regiment-create input[name=tag]{text-transform:uppercase;letter-spacing:3px}.regiment-cost,.regiment-create .social-note,.regiment-create>button{grid-column:1/-1}.regiment-cost{display:flex;justify-content:space-between;gap:14px;border-block:1px solid #30495b;padding:15px 0;color:#9bb4c4;font-size:11px}.regiment-cost strong{display:block;color:#e8d6a8;font-size:18px;margin-top:6px}.regiment-cost>span:last-child{text-align:right}.regiment-create>button{min-height:46px}.regiment-create .social-note{margin:0}.regiment-header{display:flex;gap:19px;align-items:center;margin:12px 0 24px}.regiment-standard{width:82px;height:102px;flex:none;display:grid;place-items:center;background:linear-gradient(140deg,#d5bd80,#8d784e);clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);color:#0c1b29;position:relative}.regiment-standard:before{content:'';position:absolute;inset:5px;border:1px solid #293a4277}.regiment-standard span{font:800 22px Arial;letter-spacing:3px}.regiment-header .eyebrow{font-size:10px;color:#d7c491;letter-spacing:1.5px}.regiment-header h3{font-size:25px;line-height:1.2;margin:6px 0;overflow-wrap:anywhere}.regiment-header p{font-size:12px;color:#95b1c5}.regiment-footer{margin-top:22px;text-align:right}.regiment-footer button{font-size:12px;color:#dba18f}
.ladder-mast{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:12px 0 18px}.ladder-mast .eyebrow{font-size:9px;letter-spacing:1.5px;color:#d6bd7d}.ladder-mast h3{font-size:30px;margin:8px 0}.ladder-mast p{font-size:12px;line-height:1.5;color:#9ab5c7}.ladder-seal{width:70px;height:90px;flex:none;--rank-color:#dfc385}.ladder-select{display:flex;gap:12px;align-items:center}.ladder-select select{max-width:250px;font-size:14px}.ladder-columns,.ladder-row{display:grid;grid-template-columns:36px minmax(0,1fr) 64px;gap:10px;align-items:center}.ladder-columns{font-size:9px;color:#7f9aab;letter-spacing:1.4px;padding:14px 10px 9px;border-bottom:1px solid #365365}.ladder-columns>span:last-child{text-align:right}.ladder-list,.ladder-own ol{list-style:none;margin:0;padding:0}.ladder-row{padding:14px 10px;border-bottom:1px solid #293f50}.ladder-position{font:700 18px Arial;color:#a3b7c2}.ladder-row:first-child .ladder-position{color:#e1c687}.ladder-row .commander-inline{font:600 14px Arial}.ladder-row small{display:block;color:#8faabd;font-size:10px;margin-top:4px}.ladder-rating{text-align:right;font:700 18px Arial;color:#e5d5ac}.ladder-row.is-you{background:#213b4d}.ladder-own{border:1px solid #5e777d;border-radius:7px;overflow:hidden;margin-top:15px}.ladder-own>small{display:block;padding:10px 12px 0;font-size:9px;color:#b0c6ce;letter-spacing:1.4px}.season-champions h3{font-size:17px}.season-champions article{display:grid;grid-template-columns:130px 1fr 55px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #294453}.season-champions article>span{font-size:12px;color:#a0b9c8}.season-champions strong{font-size:13px}.season-champions b{font-size:15px;color:#d9c491;text-align:right}.ranked-season-info{font-size:11px;color:#a4beca;margin:14px 0;line-height:1.5}#ranked-leaderboard{margin-top:12px;width:100%;font-size:13px;min-height:42px}
/* One synchronized ceremony: convergence → crest assembly → impact → settle. */
.rank-ceremony{width:min(680px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;border:1px solid #9ca68a66;border-radius:16px;background:#050d18;overflow:hidden;box-shadow:0 30px 100px #000b}.rank-ceremony::backdrop{background:#02050bc9;backdrop-filter:blur(5px)}.rank-ceremony>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.rank-ceremony>.dialog-close{z-index:5;color:#cbd6db;right:12px;top:12px}.ceremony-stage{position:relative;height:min(600px,calc(100dvh - 32px));min-height:340px;overflow:hidden;isolation:isolate}.ceremony-grid{position:absolute;inset:0;background:linear-gradient(transparent 49%,#5e849012 50%,transparent 51%) 0 0/38px 38px,linear-gradient(90deg,transparent 49%,#5e849012 50%,transparent 51%) 0 0/38px 38px,radial-gradient(ellipse at 50% 44%,#25445c99,transparent 67%);mask-image:linear-gradient(transparent,#000 25%,#000 80%,transparent)}.ceremony-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;box-sizing:border-box;padding:38px 20px 25px}.ceremony-kicker{color:var(--rank-color);font:600 10px Arial;letter-spacing:4px;animation:ceremony-copy .6s .1s both}.ceremony-crest{width:180px;height:212px;max-height:39%;margin:23px 0 9px;color:var(--rank-color);filter:drop-shadow(0 8px 14px #000a);animation:crest-arrive 1.4s cubic-bezier(.15,.7,.2,1) both}.ceremony-crest .crest-left{transform-origin:30px 60px;animation:crest-left .8s .35s both}.ceremony-crest .crest-right{transform-origin:90px 60px;animation:crest-right .8s .35s both}.ceremony-crest .crest-mark{animation:crest-mark .8s .75s both}.ceremony-crest .crest-laurel{animation:ceremony-copy .7s .9s both}.ceremony-previous{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#839dab;margin:8px 0;animation:ceremony-copy .5s 1.2s both}.ceremony-previous span{color:var(--rank-color);margin-left:5px}.ceremony-tier{font:700 clamp(34px,7vw,60px)/1.05 'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:var(--tier-spacing,7px);color:var(--rank-color);text-shadow:0 0 24px color-mix(in srgb,var(--rank-color) 30%,transparent);animation:tier-arrive .9s 1.15s cubic-bezier(.14,.8,.3,1) both}.ceremony-rating{font:600 16px Arial;color:#e0e9ee;margin:13px 0;animation:ceremony-copy .65s 1.5s both}.ceremony-rating span{font-size:9px;letter-spacing:2px;margin-left:5px;color:#a2b6c2}.ceremony-earned{font-size:12px;color:#879fac;line-height:1.5;margin:0 0 15px;animation:ceremony-copy .6s 1.7s both}.ceremony-continue{margin-top:auto;min-height:44px;min-width:180px;font-size:13px}.ceremony-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.ceremony-beam{position:absolute;width:140%;height:1px;left:-20%;top:44%;background:var(--rank-color);box-shadow:0 0 45px 8px var(--rank-color);opacity:0;animation:ceremony-beam 1.4s .95s both}.ceremony-rings{position:absolute;left:50%;top:44%;width:290px;height:290px;transform:translate(-50%,-50%)}.ceremony-rings i{position:absolute;inset:0;border:1px solid var(--rank-color);border-radius:50%;opacity:0;animation:ceremony-ring 2s 1.05s both}.ceremony-rings i:nth-child(2){inset:25px;animation-delay:1.25s}.ceremony-rings i:nth-child(3){inset:-30px;border-style:dashed;animation-delay:1.15s}
@keyframes crest-arrive{0%{opacity:0;transform:translateY(-38px) scale(.7);filter:blur(5px)}65%{opacity:1;transform:translateY(2px) scale(1.035);filter:blur(0)}100%{transform:none;opacity:1}}@keyframes crest-left{from{opacity:0;transform:translateX(-30px) rotate(-15deg)}to{opacity:1;transform:none}}@keyframes crest-right{from{opacity:0;transform:translateX(30px) rotate(15deg)}to{opacity:1;transform:none}}@keyframes crest-mark{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes ceremony-copy{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes tier-arrive{from{opacity:0;letter-spacing:18px;transform:scale(1.18)}to{opacity:1;letter-spacing:var(--tier-spacing,7px);transform:none}}@keyframes ceremony-beam{0%{opacity:0;transform:scaleX(.05)}15%{opacity:.8;transform:scaleX(.8)}100%{opacity:0;transform:scaleX(1.2)}}@keyframes ceremony-ring{0%{opacity:0;transform:scale(.35)}10%{opacity:.6}100%{opacity:0;transform:scale(2.1)}}
.ceremony-reduced *{animation:none!important;transition:none!important}.ceremony-reduced .ceremony-beam,.ceremony-reduced .ceremony-rings,.ceremony-reduced canvas{display:none}
@media(max-width:600px){.social-dialog,.ladder-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:18px 14px;border-radius:12px}.social-dialog>h2,.ladder-dialog>h2{font-size:22px}.social-person{gap:8px;flex-wrap:wrap}.social-person-copy{flex-basis:calc(100% - 25px)}.social-person-tools{margin-left:auto;gap:6px}.social-person-tools:has(>button){width:100%;padding-left:15px;justify-content:flex-start}.social-person-tools details{margin-left:auto}.social-request{flex-wrap:wrap}.social-request>strong{flex-basis:100%}.social-request>div{margin-left:auto}.social-section-heading{align-items:baseline}.social-section-heading small{max-width:125px}.regiment-intro h3{font-size:25px}.regiment-create{grid-template-columns:1fr 85px}.regiment-create input{padding:10px}.regiment-header{gap:13px}.regiment-standard{width:62px;height:80px}.regiment-standard span{font-size:18px}.regiment-header h3{font-size:22px}.ladder-mast h3{font-size:25px}.ladder-seal{width:52px;height:70px}.ladder-columns,.ladder-row{grid-template-columns:24px minmax(0,1fr) 48px;gap:6px;padding-inline:4px}.ladder-row .commander-inline{font-size:12px;gap:4px}.ladder-rating,.ladder-position{font-size:16px}.ladder-row .rank-symbol{width:19px;height:25px;flex-basis:19px}.season-champions article{grid-template-columns:1fr 50px}.season-champions article>span{grid-column:1/-1}.ceremony-copy{padding:30px 14px 18px}.ceremony-crest{width:155px;height:180px;margin-top:25px}.ceremony-kicker{font-size:9px;letter-spacing:2px}.ceremony-tier{--tier-spacing:4px;letter-spacing:4px;font-size:clamp(30px,10vw,46px)}.ceremony-earned{font-size:11px;max-width:240px}.ceremony-rating{font-size:14px}#social-invite-popup{inset:72px 10px auto;width:auto;max-width:none}.network-launchers button{font-size:12px}.regiment-manage{margin-left:auto}}
@media(max-height:500px){.ceremony-stage{height:calc(100dvh - 24px);min-height:260px}.ceremony-copy{display:grid;grid-template-columns:160px 1fr;grid-template-rows:auto auto auto auto auto;gap:4px 18px;padding:25px 35px}.ceremony-kicker{grid-column:2;grid-row:1}.ceremony-crest{grid-column:1;grid-row:1/6;width:145px;height:175px;max-height:none;margin:0}.ceremony-previous{grid-column:2;grid-row:2;margin:0}.ceremony-tier{grid-column:2;grid-row:3;font-size:42px}.ceremony-rating{grid-column:2;grid-row:4;margin:0}.ceremony-continue{grid-column:2;grid-row:5;min-width:0;margin:8px 0 0}.ceremony-earned{display:none}.ceremony-rings{left:27%;top:48%}.social-dialog,.ladder-dialog{max-height:calc(100dvh - 16px)}#social-invite-popup{top:54px}.regiment-intro{margin-bottom:10px}.regiment-mark{display:none}}
@media(prefers-reduced-motion:reduce){.rank-ceremony *{animation:none!important;transition:none!important}.ceremony-rings,.ceremony-beam,.ceremony-particles{display:none}#social-invite-popup{animation:none}}
#ranked-profile .rank-emblem .rank-symbol{width:64px;height:76px;flex-basis:64px}.intro-identity h2 .rank-symbol{width:32px;height:40px;margin-right:8px;vertical-align:middle}.intro-identity h2 .clan-tag{font-size:.45em;vertical-align:middle}.intro-name-divider{font-size:.5em;color:#829dab}.intro-identity h2 .identity-name{overflow-wrap:anywhere}@media(max-width:600px){.intro-identity h2 .rank-symbol{width:23px;height:30px;margin-right:5px}.intro-identity h2 .clan-tag{font-size:.5em}}
