/* THESIS: a coronation hall that leads directly to a duel.
   OWN-WORLD: an original split bell/crown mark, cut brass, ink-dark stone and existing paintings.
   STORY: identity → home → trial → party/accept → warden/loadout → existing game.
   FIRST VIEWPORT: the still causeway, drawn wordmark and one obvious invitation to play.
   FORM: the user-pinned MOBA client grammar; real state, native controls, no invented roster or queue estimate. */
:root{--oath-ink:#080f14;--oath-stone:#111c21;--oath-edge:#65583e;--oath-brass:#ceb47a;--oath-paper:#f1e5c9;--oath-copy:#c1ccc9;--oath-sight:#91c8bf;--oath-ease:cubic-bezier(.16,1,.3,1)}
#entry,#waitingLobby,#heroSelect{color:var(--oath-paper)}
#waitingLobby .partyScene{top:76px}
#entry .clientNav,#waitingLobby .clientNav{height:76px;gap:24px;padding:0 26px;background:var(--oath-ink);border-top:1px solid var(--oath-brass);border-bottom:1px solid #544b37}
#entry .clientNav .brandHome,#waitingLobby .clientNav .brandHome{display:flex;align-items:center;gap:10px;flex:0 0 174px;padding:0;border:0;background:none;min-height:44px;height:auto}
.brandEmblem{width:31px;height:39px;flex:none}.brandLetters{width:133px;height:auto}
#entry .clientNav #beginPlay,#waitingLobby .clientNav .clientPlay{width:130px;min-width:130px;flex:0 0 130px;height:42px;padding:0 14px 0 45px;border:1px solid var(--oath-brass);font-size:15px;clip-path:none;background:#172b30!important;box-shadow:inset 0 0 0 3px #080f14}
#entry .clientNav #beginPlay:hover,#waitingLobby .clientNav .clientPlay:hover{background:#2b4141!important}
.clientNav .gateMark{width:25px!important;height:32px!important;top:4px!important;left:10px!important}
#entry .clientNav button[data-page]{font-size:12px;padding:0 7px;letter-spacing:.09em}
.clientIcon{width:22px;height:22px;display:inline-block;vertical-align:middle;flex-shrink:0;pointer-events:none}
#entry .clientNav .navSettings{height:44px!important;min-width:44px;padding:10px!important;border-bottom:0!important}
#entry .clientBody{height:calc(100% - 76px);grid-template-columns:minmax(0,1fr) 244px}
#entry .clientSidebar{padding:24px 20px;background:#091318;border-left:1px solid #3b433f}
#entry .sidebarIdentity{grid-template-columns:52px minmax(0,1fr);grid-template-rows:26px 22px;column-gap:12px;margin-bottom:23px}
#entry .avatarMedallion{width:52px;height:52px;border:1px solid var(--oath-brass)}
#entry .sidebarIdentity strong{font-size:15px;color:var(--oath-paper)}
#entry #clientPresence{font-size:12px;letter-spacing:0;line-height:1.5;white-space:normal}
#entry .identityRailButton{font-size:11px;color:var(--oath-brass);min-height:32px;letter-spacing:.04em}
#entry .sidebarFooter{font-size:10px;color:#bac6c1;letter-spacing:.11em;margin-top:18px}
#entry .clientError{right:244px;padding-left:26px;padding-right:26px}
/* Still means still: no moving illustration, environment video or menu ambience. */
#entry .homePage{background-position:64% 50%}
#entry .homePage:before{background:linear-gradient(90deg,#08131bdc 0,#08131b83 43%,#08131b00 73%),linear-gradient(0deg,#08131bdc 0,transparent 48%)}
#entry .homeSubnav{height:45px;padding:0 5%;font-size:11px;background:none;border-bottom:1px solid #b3a27322;gap:30px}
#entry .homeSubnav button{font-size:11px;min-height:44px;color:#dfd4ba}
#entry .homeSubnav span:first-child{padding:14px 0;border-bottom-color:var(--oath-brass)}
#entry .homeStory{left:6%;top:15%;max-width:470px;right:8%;width:auto}
.homeWordmark{display:block;width:min(100%,405px);height:auto;margin:0 0 26px}
#entry .homeStory>p:first-of-type{font-size:11px;color:var(--oath-brass);letter-spacing:.17em}
#entry .homeStory h1#homeTitle{font-size:clamp(36px,3.9vw,64px);line-height:1.04;letter-spacing:.015em;margin:20px 0 18px;max-width:none}
#entry .homeRule{width:48px;margin:18px 0;background:var(--oath-brass);height:1px}
#entry .homeDescription{font-size:15px;line-height:1.65;color:#e2e4d8;margin:0}
#entry .homeStory .clientPrimary{margin-top:24px;min-width:270px}
#entry .homeFeatures{left:6%;right:6%;bottom:28px;gap:28px;max-width:880px}
#entry .homeFeatures button{min-height:100px;padding:15px 20px 15px 103px;background:#0b191ee8;border:0;border-top:1px solid #857450;overflow:visible}
#entry .homeFeatures button:hover{background:#192a2feF;border-top-color:#e4c88a}
#entry .homeFeatures img,#entry .homeFeatures .rulesFeature img{left:0;top:12px;bottom:auto;width:78px;height:78px;object-fit:cover;border:1px solid #857450}
#entry .homeFeatures strong{font-size:18px;letter-spacing:.02em}
#entry .homeFeatures small{font-size:10px;color:#c6c3ab;letter-spacing:.1em}
#entry .homeFeatures em{font-size:12px;color:#c4cdc6;line-height:1.5}
/* Brass control faces: one treatment across the pre-game client. */
#entry .clientPrimary,#waitingLobby .clientPrimary,#heroSelect .clientPrimary,#matchFound .clientPrimary,.socialDialog .clientPrimary,.identityDialog .clientPrimary{background:#1e3337;color:#f2e3b9;border:1px solid #c5a86d;box-shadow:inset 0 0 0 4px #0b171d;min-height:48px;padding:14px 24px;font-size:13px;letter-spacing:.08em;transition:background .16s,color .16s,transform .1s}
#entry .clientPrimary:hover,#waitingLobby .clientPrimary:hover,#heroSelect .clientPrimary:hover,#matchFound .clientPrimary:hover,.socialDialog .clientPrimary:hover,.identityDialog .clientPrimary:hover{background:#344d4c;color:#fff2d3;border-color:#efdaaa}
#entry .clientPrimary:active,#heroSelect .clientPrimary:active,#matchFound .clientPrimary:active{transform:translateY(1px)}
#entry .clientSecondary,#waitingLobby .clientSecondary,#heroSelect .clientSecondary,.socialDialog .clientSecondary,.identityDialog .clientSecondary{min-height:42px;font-size:12px;background:#111f24;border:1px solid #75664a;color:#e8d7ad;padding:10px 16px}
#entry button:disabled,#heroSelect button:disabled,#matchFound button:disabled{opacity:.48;cursor:default;transform:none}
#entry button:focus-visible,#waitingLobby button:focus-visible,#heroSelect button:focus-visible,#matchFound button:focus-visible{outline:2px solid #f5deb0;outline-offset:4px}
#entry [hidden],#heroSelect [hidden],#waitingLobby [hidden],#matchFound [hidden]{display:none!important}
#entry .screenHeading{height:52px;padding:0 5%;font-size:12px;color:#d7c79e}
/* The selection is on the emblem, never a rectangular mode-card outline. */
#entry .modeHeading{padding:24px 24px 0}
#entry .modeHeading h1#modeTitle{font-size:32px;margin:12px 0 0}
#entry .modeChoices{top:165px;bottom:80px;left:8%;right:8%;gap:7%;align-items:center;overflow:visible}
#entry .modeCard{width:46%;height:auto;min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:none;padding:0}
#entry .modeChoice{height:auto;min-height:0;max-height:none;width:100%;padding:10px 8px 6px;overflow:visible;background:none;text-align:center}
#entry .modeChoice svg{height:166px;width:166px;overflow:visible}
#entry .modeCrest{overflow:visible;width:166px;height:176px}
#entry .modeCrest::before{inset:-38px;background:radial-gradient(ellipse,#80c0b437 0%,#80c0b415 36%,transparent 72%)}
#entry .modeChoice.selected .crestInner{stroke:#cbebd8}
#entry .modeChoice.selected .crestSymbol{stroke:#e9f5dd!important}
#entry .modeType{font-size:11px;margin:15px 0 10px;color:#bbd1ca}
#entry .modeChoice strong{font-size:26px;letter-spacing:.02em}
#entry .modeDescription{font-size:14px;line-height:1.7;max-width:31ch;margin-top:14px;color:#cdd6cd}
#entry .modeConfirm{position:static;margin:16px 0 0;min-width:210px}
#entry .modeFooter{height:66px;background:#09171dcc;font-size:12px}
#entry .modeFooter>span{font-size:12px;color:var(--oath-copy)}
#entry #matchSetup{background:linear-gradient(#0a1a20ec,#0a1a20ee),url('icons/causeway-menu.jpg') center/cover}
/* Warden paintings lead. The actual equipped model is an explicit second view. */
#entry .collectionPage{background:linear-gradient(90deg,#08131bab,#08131bf2 65%),url('icons/causeway-menu.jpg') center/cover}
.collectionPage[data-warden="aureth"],.selectStage[data-warden="aureth"]{--warden-tone:#947485}
.collectionPage[data-warden="teren"],.selectStage[data-warden="teren"]{--warden-tone:#ba9255}
.collectionPage[data-warden="aldren"],.selectStage[data-warden="aldren"]{--warden-tone:#96b5ac}
#entry .collectionArt{position:absolute;left:6%;width:40%;top:92px;bottom:123px;display:flex;align-items:center;justify-content:center}
#entry .collectionArt:before{content:'';position:absolute;inset:7% -12px 7%;border-top:1px solid var(--warden-tone,#a99870);border-bottom:1px solid var(--warden-tone,#a99870);pointer-events:none}
#entry .collectionArt .collectionHero{position:relative;left:auto;top:auto;bottom:auto;width:100%;height:auto;max-height:100%;object-fit:cover;aspect-ratio:1;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
#entry .collectionPage.showModel .collectionHero{height:100%;aspect-ratio:auto;object-fit:contain;clip-path:none}
.artToggle{position:absolute;z-index:2;bottom:0;left:0;padding:10px 14px;background:#0c1921eb;border:1px solid #85734f;color:#e9d7ae;min-height:40px;font-size:11px;letter-spacing:.08em}
.artToggle:hover{background:#28383c}.artCaption{position:absolute;bottom:11px;right:0;font-size:10px;letter-spacing:.13em;color:#c9b789}
#entry .collectionCopy{left:52%;right:6%;top:95px;bottom:130px;padding-right:8px}
#entry .collectionCopy h1#collectionTitle{font-size:clamp(40px,4vw,62px);margin:18px 0 7px}
#entry .collectionCopy h2{font-size:22px;color:#d8dcd2;margin:0 0 20px}
#entry .collectionCopy>p:not(:first-child){font-size:14px;line-height:1.75}
#entry .roleTraits{font-size:10px;gap:12px 18px;margin:20px 0;color:#e4caa0}
#entry .collectionSpells{gap:10px;margin:22px 0}
#entry .collectionSpells button{width:50px;height:50px;border-color:#807359;transition:border-color .14s}
#entry .collectionSpells button[aria-pressed="true"]{border-color:#f2d9a2;box-shadow:inset 0 -3px #f2d9a2}
#entry .collectionSkill p{font-size:14px;line-height:1.65;color:#cad4ce}
#entry .collectionSkill h3{font-size:21px}
#entry .collectionFooter{left:5%;right:5%;bottom:24px;gap:24px}
#entry .collectionRoster{background:#0c1c23;border:1px solid #6d654d}
#entry .collectionRoster button{min-height:65px;padding:8px 12px;gap:10px}
#entry .collectionRoster button img{width:42px;height:42px;object-fit:cover}
#entry .collectionRoster button span{font-size:14px;letter-spacing:.02em}
#entry .collectionRoster button small{font-size:11px;line-height:1.4;margin-top:5px}
#entry .collectionRoster button[aria-pressed="true"]{background:#243537;border-bottom-color:#dac28a}
#entry #collectionStatus{bottom:64px}
#entry .profilePage{background:linear-gradient(#111f26c9,#08151bf0),url('icons/causeway-menu.jpg') center/cover;overflow:auto;padding-bottom:24px}
#entry .profileCrest{width:126px;height:126px;border:1px solid #c3a369;margin:35px auto 20px}
#entry #profileTitle{font-size:40px!important;overflow-wrap:anywhere;max-width:20ch;margin:12px auto!important}
#entry .profilePage>p{font-size:14px;color:#c8d2cb}
#entry .profileRecord{gap:70px;max-width:560px;padding:22px;margin:26px auto;font-size:12px}
/* Two real seats. Presence and searching have distinct, readable states. */
#entry #rivalParty{inset:52px 0 0;overflow:auto;background:none;padding:0}
#entry .rivalHeading{padding:0 6%;margin:24px 0 18px}
#entry #rivalParty .rivalHeading h1{font-size:36px!important;margin:8px 0 0}
#entry .rivalHeading>div>p{font-size:11px;color:#c7b584}
#entry .rivalSeats{min-height:280px;gap:5%;padding:0 5%;margin-bottom:24px;align-items:center}
#entry .rivalBanner{width:245px;align-self:stretch;max-height:410px;min-height:280px;box-sizing:border-box;padding:26px 24px 42px;background:linear-gradient(#203139,#0d1c23);border-top:1px solid #ceb47a;clip-path:polygon(0 0,100% 0,100% calc(100% - 29px),50% 100%,0 calc(100% - 29px));box-shadow:none}
#entry .rivalBanner .partyLeader{font-size:10px;letter-spacing:.08em;color:#c6b482}
#entry .rivalBanner h2{font-size:25px!important;overflow:hidden;text-overflow:ellipsis;margin:17px 0 0}
#entry .rivalPortrait{width:136px;height:136px;border:1px solid #ddc58c;margin:25px auto 19px;box-shadow:none}
#entry .rivalPortrait img{width:100%;height:100%;object-fit:cover;transform:none}
#entry .bannerSubtitle{font-size:10px;letter-spacing:.11em;color:#d3c69e;margin:0}
#entry .rivalReady{font-size:12px;color:#a2d1b6;margin-top:12px}
#entry .rivalDivider{font:italic 20px Georgia,serif;color:#a29473}
#entry .rivalGuest{width:255px;min-width:0;padding:12px 0;text-align:center}
#entry .rivalGuest #partyInvite{position:relative;width:112px;height:112px;border:1px solid #a9905e;border-radius:50%;background:#102129;color:#e8d6a5;margin:0 auto 21px;padding:0}
#entry .rivalGuest #partyInvite:hover{border-color:#f3db9e;background:#233c42}
#entry .rivalGuest #rivalSlot{font:35px Georgia,serif;display:block}
#entry #partyRivalPortrait{width:100%;height:100%;object-fit:contain;border-radius:50%;padding:18px;box-sizing:border-box}
#entry .rivalGuest.hasRival #partyInvite{opacity:1;border-color:#c8ba80}
#entry .rivalGuest h2{font-size:25px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 0 14px}
#entry .rivalGuest p{font-size:14px;line-height:1.6;color:#c3d1c8;margin:0 auto;max-width:29ch}
#entry .rivalGuest .clientSecondary{margin-top:20px}
#entry .rivalFooter{min-height:104px;padding:16px 5%;background:#0b171ee9;gap:20px}
#entry .rivalFooter p{font-size:12px;line-height:1.6;max-width:38ch;color:#c2d1ca}
#entry .rivalFooter>span{font-size:11px;width:125px;color:#d3c398}
#entry .partyTextButton{font-size:12px;min-height:40px;color:#dac7a0}
#entry #findRival{min-width:240px}
#entry #rivalParty[data-status="searching"] .rivalGuest #partyInvite{border-color:#93b9b0}
#entry #rivalParty[data-status="searching"] .rivalReady{color:#d9c58d}
#entry #partyInviteBox{bottom:128px;left:7%;right:7%;background:#0d2028;padding:20px;border-color:#9b855b}
#entry #partyInviteBox label,#entry #partyCopyStatus{font-size:12px;line-height:1.5}
#entry #queuePanel{background:#18333b;border-top:1px solid #c1a367;border-bottom:1px solid #61736b;margin:0 -20px 24px;padding:19px 20px}
#entry #queuePanel>p{font-size:11px;color:#efdfb5}
#entry #queuePanel img{width:32px;height:40px}
#entry #queueClock{font:32px Georgia,serif;font-variant-numeric:tabular-nums;color:#efe2bd}
#entry #queuePanel small{font-size:12px;color:#b4d7ce;margin-left:44px}
#entry #queueCancel{min-width:32px;min-height:32px;top:9px;right:9px}
#entry #socialPanel h2{font-size:12px!important;color:#d6c28d}
#entry #socialPanel>header{padding-top:18px}
#entry #socialPanel>header button{min-width:32px;min-height:36px;padding:5px}
#entry .friendIdentity{font-size:11px;margin:16px 0}
#entry .friendIdentity button{font-size:12px;min-height:28px}
#entry .friendsHeading{font-size:11px;padding:18px 0 10px}
#entry .friendRow{min-height:64px;gap:10px;padding:10px 0}
#entry .friendDetails strong{font-size:13px}
#entry .friendDetails small{font-size:11px;line-height:1.4}
#entry .friendAvatar{width:36px;height:36px}
#entry .friendAction{min-width:28px;min-height:32px;padding:5px}
#entry .socialEmpty{font-size:13px;line-height:1.7;color:#becbc4;padding:16px 0}
#entry .socialInvitation{background:#233c3c;border-color:#94b0a0;padding:16px 12px}
#entry .socialInvitation strong{font-size:13px}.socialInvitation small{font-size:12px!important}
#entry #socialStatus{font-size:12px;line-height:1.5;min-height:0}
#entry #resumeMatch{display:block;margin-bottom:22px;min-height:46px;font-size:12px;width:100%;border-color:#c4a975;color:#f3e1b5}
/* Accept is a deliberate ritual, not an automatic transition into a game. */
#matchFound{width:min(460px,calc(100vw - 48px));max-height:calc(100vh - 32px);padding:12px;overflow:auto}
#matchFound::backdrop{background:#030c14dc;backdrop-filter:none}
#matchFound .matchHalo{border-radius:50%;box-shadow:none;background:radial-gradient(ellipse at 50% 30%,#263c46,#0a1b25 76%)}
#matchFound .matchHalo>img{width:68px;height:82px;margin-bottom:7px}
#matchFound .matchHalo h2{font-size:32px;letter-spacing:.02em;margin:12px 0}
#matchFound .matchHalo>p{font-size:11px;color:#d5bd86}
#matchFound .matchHalo small{font-size:11px;color:#c9d7ce}
#matchFound #matchCountdown{font-size:14px;color:#e0e4d9;line-height:1.5;margin:22px 0 15px;height:auto;min-height:21px}
#matchFound #acceptMatch{width:220px;font-size:14px;min-height:50px}
#matchFound .matchClock #matchArc{stroke:#a9d4c5;filter:none;stroke-width:3}
#matchFound #declineMatch{min-width:170px;min-height:42px;font-size:12px;margin-top:18px}
#matchFound #matchError{font-size:13px;color:#f5c2ab;line-height:1.5;overflow-wrap:anywhere}
/* The three wardens share a stage, but not a palette or silhouette. */
#heroSelect.clientSelect{inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0a161d;display:flex;flex-direction:column}
#heroSelect.clientSelect:not([open]){display:none}
#heroSelect .selectHeader{flex:none;height:80px;padding:0 32px;background:#0a1319;border-bottom:1px solid #8d784f;gap:28px}
#heroSelect .selectHeader h2#pickerTitle{font-size:23px;letter-spacing:.05em}
#heroSelect .selectHeader p{font-size:11px;color:#d2b981}
#heroSelect .selectCounter{font-size:11px;color:#d0c197}
#heroSelect .selectBody{flex:1;min-height:0;grid-template-columns:215px minmax(250px,1fr) 330px;height:auto}
#heroSelect .selectRoster{padding:27px 22px;overflow:auto;background:#0f1c23}
#heroSelect .selectRoster h3{font-size:11px;color:#d0c09b;margin:0 0 18px;letter-spacing:.08em}
#heroSelect .heroChoice{min-height:64px;padding:10px;gap:10px;border:1px solid #746449;background:#142830;box-shadow:none}
#heroSelect .heroChoice[aria-pressed="true"]{border-color:#e4c890;background:#304244}
#heroSelect .heroChoice[aria-pressed="false"]{background:#0e1d25;border-color:#35444b}
#heroSelect .heroChoice img{width:40px;height:40px;object-fit:cover}
#heroSelect .heroChoice b{font-size:16px;letter-spacing:.01em}
#heroSelect .heroChoice small{font-size:11px;line-height:1.5;color:#c4cec6}
#heroSelect .selectRole{border-top:1px solid #5b5847;margin-top:25px;padding-top:20px}
#heroSelect .selectRole h4{font-size:12px;color:#dbc590}
#heroSelect .selectRole p{font-size:14px;line-height:1.7;color:#c7d4cd}
#heroSelect .selectRole>span{font-size:11px;color:#d4c293}
#heroSelect .selectStage{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 55%,#3c444540,#0b1821 76%)}
#heroSelect .oathHalo{border:0;box-shadow:none;opacity:.35;border-radius:0;background:none;inset:18px;width:auto;height:auto;transform:none}
#heroSelect .oathHalo:before{display:none}
#heroSelect .oathHalo:after{content:'';position:absolute;inset:0;border:0;border-top:1px solid var(--warden-tone,#a99870);border-bottom:1px solid var(--warden-tone,#a99870);border-radius:0}
#heroSelect #pickerPortrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 34%;animation:none;mask-image:linear-gradient(#000 0%,#000 65%,transparent 100%);z-index:0}
#heroSelect .selectStage.showModel #pickerPortrait{object-fit:contain;mask-image:none;height:94%;top:0}
#heroSelect #pickerModel{left:20px;bottom:18px;background:#0c1921ef}
#heroSelect .selectHeroName{bottom:75px;z-index:2;left:25px;right:25px;pointer-events:none;background:none;padding:0}
#heroSelect .selectHeroName h1{font-size:clamp(42px,5vw,75px);margin:12px 0 7px;color:#f7ecd4;letter-spacing:.025em}
#heroSelect .selectHeroName p{font-size:11px;color:#e0c894;letter-spacing:.12em}
#heroSelect .selectHeroName span{font-size:12px;color:#dbe1d3}
#heroSelect .pickerKit{padding:26px 24px;overflow-y:auto;background:#101c23;border-left:1px solid #334144}
#heroSelect .kitTitle{font-size:11px;color:#d1bc8c}
#heroSelect #pickerSkills{gap:19px;margin-top:22px}
#heroSelect #pickerSkills article{gap:12px;align-items:start}
#heroSelect #pickerSkills img{width:44px;height:44px;flex:none;border-color:#9a8054}
#heroSelect #pickerSkills h4{font-size:15px;color:#ecdbb8;line-height:1.4;margin:0 0 7px}
#heroSelect #pickerSkills small{font-size:11px;color:#b9ccc6;line-height:1.4}
#heroSelect #pickerSkills p,#heroSelect .passiveNote{font-size:13px;line-height:1.6;color:#cad6cf}
#heroSelect .passiveNote{border-top:1px solid #635b47;margin-top:25px;padding-top:20px}
#heroSelect .pickerFooter{height:auto;min-height:115px;flex:none;padding:16px 32px;background:#0b161d;border-top:1px solid #746448;gap:24px;align-items:center;justify-content:space-between}
#heroSelect #confirmHero{min-width:230px;font-size:13px;flex:none}
#heroSelect #pickerMatchup{font-size:12px;color:#c6d2ca;max-width:25ch;text-align:right}
#heroSelect .pickerMatch{flex:1;max-width:330px}
#heroSelect #soloOpponentPicker legend{font-size:11px;margin-bottom:8px}
#heroSelect #soloOpponentChoices button{font-size:12px;min-height:42px;gap:7px}
#heroSelect .summonerSlots{gap:9px;margin-top:14px}
#heroSelect .summonerSlots button{font-size:12px;min-height:44px;padding:6px 10px}
/* Native dialogs keep focus protection. Menus share the same stone/brass material. */
#wardenWelcome.socialDialog,#addFriendDialog.socialDialog,#friendInviteDialog.socialDialog,dialog.identityDialog{background:#101e25;border:1px solid #a78d5d;padding:34px 36px;color:#f0e2c2;box-shadow:none;max-height:calc(100vh - 40px)}
dialog.socialDialog::backdrop,dialog.identityDialog::backdrop{background:#030d16dd;backdrop-filter:none}
#wardenWelcome .welcomeSigil{height:74px;width:64px}
.socialDialog h2,.identityDialog h2{font-size:32px;line-height:1.12}
.socialDialog p,.identityDialog p{font-size:14px;line-height:1.65;color:#cbd5cc}
.socialDialog label,.identityDialog label{font-size:12px;color:#d8c79a;letter-spacing:.05em}
.socialDialog input{min-height:46px;padding:12px;background:#09151d;border:1px solid #8a8266;font-size:16px;color:#f6ebcf}
.socialDialog input::placeholder{color:#a7b6b1}
.socialDialog small,.identityDialog small{font-size:12px;color:#b8c9c1;line-height:1.6}
#menu{background:#101e25;border:1px solid #9e8559;padding:30px 34px;box-shadow:none;width:min(590px,calc(100vw - 40px));max-height:calc(100vh - 40px)}
#menu h2#menuTitle{font:30px Georgia,serif;margin:0 0 12px;color:#f1e3bf}
#menu>p{font-size:14px;line-height:1.6;color:#bdcdc6}
#menu .menuTabs{margin:22px 0;gap:6px}
#menu .menuTabs button{min-height:44px;font-size:13px;padding:10px 18px}
#menu .menuTabs [aria-selected="true"]{background:#29413f;border-color:#c0ab77;color:#f4e5c3}
#menu .menuPage label,#menu .menuPage p{font-size:14px;line-height:1.6}
#menu .sidebarSection label{font-size:12px;letter-spacing:.07em}
#menu .sidebarSection input,#menu .sidebarSection select{min-height:44px;font-size:14px;background:#09151b;border-color:#81806b}
#menu .menuActions button{min-height:44px;font-size:13px}
#menu small{font-size:12px;line-height:1.6}
#loading{background:#0a161e;color:#e9d6aa}
#loading .loadingMark{width:74px;height:90px;margin:0 auto 24px}
#loading h1{width:min(330px,70vw);margin:0 auto 24px}
#loading h1 img{width:100%;height:auto}
#loading>p{font-size:11px;letter-spacing:.17em;color:#c8b481}
#loading progress{height:3px;width:min(330px,70vw);margin:20px 0;background:#263630;accent-color:#c7ae74}
#loading progress::-webkit-progress-bar{background:#263630}#loading progress::-webkit-progress-value{background:#c7ae74}
#loading small{font-size:13px;line-height:1.5;color:#b9cdc5}
@media(max-width:1150px){
 #entry .clientNav,#waitingLobby .clientNav{gap:20px;padding:0 20px}
 #entry .clientNav .brandHome,#waitingLobby .clientNav .brandHome{flex-basis:156px;gap:8px}.brandLetters{width:118px}.brandEmblem{width:29px}
 #entry .clientBody{grid-template-columns:minmax(0,1fr) 210px}.clientSidebar{padding:22px 15px!important}
 #entry .clientError{right:210px}
 #entry .homeStory{left:6%;top:13%;max-width:370px}.homeWordmark{width:325px;max-width:100%;margin-bottom:20px}
 #entry .homeStory h1#homeTitle{font-size:44px}
 #entry .homeFeatures{gap:20px}.homeFeatures button{padding-right:12px!important}
 #entry .homeFeatures strong{font-size:15px}.homeFeatures em{font-size:11px!important}
 #entry .collectionCopy{left:51%;right:4%;top:82px}.collectionArt{left:5%!important;width:40%!important}
 #entry .collectionFooter{gap:18px}.collectionRoster button{padding:6px 8px!important;gap:7px!important}.collectionRoster button span{font-size:12px!important}.collectionRoster button small{font-size:10px!important}
 #entry .collectionFooter>.clientPrimary{min-width:170px;padding:13px 14px}
 #heroSelect .selectBody{grid-template-columns:190px minmax(250px,1fr) 290px}
 #heroSelect .selectRoster{padding:22px 16px}.pickerKit{padding:22px 18px!important}
 #heroSelect .pickerFooter{padding:14px 22px;gap:18px}#heroSelect #confirmHero{min-width:200px}
 #entry .rivalFooter{gap:12px}.rivalFooter>span{width:105px!important}#entry #findRival{min-width:215px}
 #entry #queuePanel{margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px}
}
@media(max-height:800px){
 #entry .homeStory{top:11%;max-width:395px}.homeWordmark{width:320px;margin-bottom:18px}
 #entry .homeStory h1#homeTitle{font-size:44px;margin:17px 0 15px}.homeRule{margin:14px 0!important}
 #entry .homeStory .clientPrimary{margin-top:18px}#entry .homeFeatures{bottom:22px}
 #entry .modeHeading{padding-top:17px}#entry .modeHeading h1#modeTitle{font-size:28px}
 #entry .modeChoices{top:136px;bottom:66px}.modeChoice svg{height:138px!important;width:138px!important}.modeCrest{width:138px!important;height:147px!important}
 #entry .modeType{margin:12px 0 8px}.modeChoice strong{font-size:23px!important}.modeDescription{font-size:13px!important;margin-top:12px!important}.modeConfirm{margin-top:12px!important}
 #entry .collectionCopy{top:79px;bottom:118px}.collectionCopy h1#collectionTitle{font-size:42px!important;margin-top:12px!important}.collectionCopy h2{font-size:20px!important;margin-bottom:16px!important}
 #entry .collectionArt{top:80px;bottom:115px}.collectionSpells{margin:18px 0!important}.collectionSkill h3{font-size:19px!important}
 #entry .rivalHeading{margin:17px 0 14px}#entry #rivalParty .rivalHeading h1{font-size:30px!important}
 #entry .rivalBanner{padding:20px 20px 35px;max-height:340px}#entry .rivalPortrait{width:112px;height:112px;margin:20px auto 16px}
 #entry .rivalSeats{margin-bottom:18px}.rivalFooter{min-height:92px!important}.rivalGuest #partyInvite{width:98px!important;height:98px!important}
 #heroSelect .selectHeader{height:72px}#heroSelect .selectHeroName{bottom:70px}
 #heroSelect .selectRole{margin-top:20px;padding-top:16px}#heroSelect .selectRole p{font-size:13px}
 #heroSelect .pickerFooter{min-height:100px}#heroSelect .pickerKit{padding-top:20px!important}#heroSelect #pickerSkills{gap:15px;margin-top:18px}
 #heroSelect .selectHeroName h1{font-size:54px}#heroSelect #pickerSkills p{font-size:12px}
 #matchFound{width:410px}#matchFound .matchHalo h2{font-size:29px}#matchFound .matchHalo>img{width:60px;height:72px}
 #entry .profileCrest{width:108px;height:108px;margin-top:24px}#entry .profileRecord{margin:20px auto;padding:18px}
}
@media(max-width:900px){
 #entry .clientNav,#waitingLobby .clientNav{gap:14px;padding:0 14px}.brandLetters{width:104px}
 #entry .clientNav .brandHome,#waitingLobby .clientNav .brandHome{flex-basis:137px}
 #entry .clientNav #beginPlay{width:114px;min-width:114px;flex-basis:114px}
 #entry .homeFeatures{grid-template-columns:1fr;gap:12px;bottom:18px;left:auto;width:230px;right:4%}
 #entry .homeFeatures button{min-height:80px;padding:12px 12px 12px 72px!important}.homeFeatures img{width:58px!important;height:58px!important;top:11px!important}
 #entry .homeFeatures em{display:none}.homeFeatures strong{font-size:14px!important}
 #entry .modeChoices{left:3%;right:3%;gap:2%}.modeDescription{font-size:12px!important}
 #entry .collectionFooter{flex-wrap:wrap}.collectionFooter .collectionRoster{width:100%;flex-basis:100%}.collectionFooter>.clientPrimary{min-height:40px;margin-left:auto}
 #entry .collectionArt,#entry .collectionCopy{bottom:165px!important}
 #entry .rivalFooter .partyTextButton{max-width:90px}.rivalFooter>span{display:none}
 #heroSelect .selectBody{grid-template-columns:170px minmax(190px,1fr) 260px}#heroSelect .selectCounter{display:none}#heroSelect #pickerMatchup{display:none}
 #entry .homeStory{max-width:330px}.homeWordmark{width:280px}
}
@media(prefers-reduced-motion:no-preference){
 #entry .clientPage:not([hidden]),#heroSelect[open] .selectHeader{animation:coronationOpen .28s var(--oath-ease)}
 @keyframes coronationOpen{from{opacity:.82;transform:translateY(5px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){#entry *,#heroSelect *,#waitingLobby *,#matchFound *{animation:none!important;transition:none!important}}

/* Public custom rooms are a secondary task, separate from the matchmaking party. */
#entry #pvpMode{inset:72px 5% 88px}
#entry .pvpHeading{gap:22px;margin:0 0 28px}
#entry .pvpHeading h2{font-size:32px;color:#eee0bd}
#entry .pvpHeading .backGlyph{font-size:13px;min-height:42px}
#entry #lobbyBrowser .lobbyHeading{padding:0 0 15px;border-bottom-color:#877550}
#entry #lobbyBrowser .lobbyHeading h2{font-size:12px;letter-spacing:.1em}
#entry #lobbyRefresh{font-size:13px;min-height:42px;padding:10px 18px;background:#15272d;border-color:#8c7b55;color:#eadbb4}
#entry #lobbyStatus{font-size:13px;line-height:1.6;min-height:21px;margin:18px 0}
#entry #lobbyBrowser table{width:100%;border-collapse:collapse}
#entry #lobbyBrowser th{font-size:12px;padding:13px 12px;text-align:left;color:#cdbb8a;border-bottom:1px solid #536359}
#entry #lobbyBrowser td{font-size:14px;padding:16px 12px;color:#dfe3d3;border-bottom:1px solid #34463f;background:#11252c80}
#entry #lobbyBrowser td:first-child{font-family:Georgia,serif;font-size:18px;overflow-wrap:anywhere}
#entry #lobbyBrowser td:last-child{text-align:right;white-space:nowrap}
#entry #lobbyBrowser .clientSecondary{font-size:11px;min-height:40px;padding:10px 15px}
#entry #lobbyEmpty{text-align:center;padding:24px 20px 28px;color:#c1d1c7}
#entry #lobbyEmpty img{width:44px;height:54px;opacity:.7}
#entry #lobbyEmpty h3{font:24px Georgia,serif;margin:14px 0;color:#e6d7b1}
#entry #lobbyEmpty p{font-size:14px;line-height:1.7;margin:0}
#entry #pvpMode .codeJoinDisclosure{margin-top:24px;border-top:1px solid #526152;padding-top:18px}
#entry #pvpMode .codeJoinDisclosure>summary{font-size:13px;color:#d4c39a;cursor:pointer;min-height:34px;list-style:disclosure-closed}
#entry #pvpMode .codeJoinDisclosure[open]>summary{list-style:disclosure-open}
#entry #pvpMode .codeJoin{border:0;padding-top:0;margin-top:12px;gap:22px}
#entry #pvpMode .codeJoin label{font-size:13px;color:#bccfc5}
#entry #pvpMode .codeJoin input{min-height:44px;font-size:14px;background:#0c1c24;color:#efdfbd;border-color:#7c805f}
#entry #pvpMode .codeJoin button{min-height:44px;font-size:12px;background:#1c3037;color:#efdfbd;border-color:#a28d5e}

/* Inspect one ability deliberately instead of reading a narrow four-paragraph stack. */
#heroSelect #pickerSkillTabs{display:flex;gap:12px;margin:16px 0 20px}
#heroSelect #pickerSkillTabs button{position:relative;width:48px;height:48px;padding:0;border:1px solid #807053;background:#0d171d}
#heroSelect #pickerSkillTabs img{width:100%;height:100%;display:block;object-fit:cover}
#heroSelect #pickerSkillTabs span{position:absolute;bottom:0;left:0;padding:2px 5px;background:#0a1116e6;color:#f2e2bf;font-size:10px}
#heroSelect #pickerSkillTabs [aria-selected="true"]{border-color:#edd5a4;box-shadow:inset 0 0 0 1px #edd5a4}
#heroSelect #pickerSkills{margin-top:0;min-height:165px}
#heroSelect #pickerSkills article>img{display:none}
#heroSelect #pickerSkills article{display:block}
#heroSelect #pickerSkills h4{font:21px Georgia,serif;margin-bottom:14px}
#heroSelect #pickerSkills h4 kbd{font:11px Arial,sans-serif;color:#c3b48a;margin-right:6px}
#heroSelect #pickerSkills h4 small{display:block;font:12px Arial,sans-serif;margin-top:8px;color:#becec4}
#heroSelect #pickerSkills p{font-size:14px;line-height:1.7;margin:0}
#heroSelect .passiveNote{font-size:13px;line-height:1.7;margin-top:20px;padding-top:17px}
#heroSelect #summonerPicker header span{font-size:12px;color:#c6d3cb}
#heroSelect .summonerChoices button span{font-size:11px;color:#c1cac2}
#heroSelect .summonerDescription{font-size:12px!important;line-height:1.6!important;color:#c6d3cb}

#heroSelect .passiveNote>img{float:left;width:40px;height:40px;object-fit:cover;border:1px solid #94835c;margin:0 12px 8px 0}
#heroSelect .passiveNote{overflow:auto}

/* Detail presentation must not escape into the Collection gallery. */
#entry .collectionPage:not(.collectionDetail)>.collectionArt,#entry .collectionPage:not(.collectionDetail)>.collectionCopy,#entry .collectionPage:not(.collectionDetail)>.collectionFooter,#entry .collectionPage:not(.collectionDetail)>.collectionBack{display:none}
/* The eight wardens of 2026-10-21: signature tones (palettes.json). */
[data-warden=gorvath]{--warden-tone:#d9733a}
[data-warden=seris]{--warden-tone:#6fc2c0}
[data-warden=velka]{--warden-tone:#c8203c}
[data-warden=morth]{--warden-tone:#7ccf4f}
[data-warden=veyra]{--warden-tone:#d65aa8}
[data-warden=elian]{--warden-tone:#4f7fd6}
[data-warden=nera]{--warden-tone:#8b5ad6}
[data-warden=kasimir]{--warden-tone:#e3c044}
