/* Naïri 0.46 · a map-first command room. All artwork is bundled locally. */
:root{--t:#f0eee3;--m:#afbeb6;--gold:#e8c782;--line:#365247;--danger:#ffb09b;--ok:#97dab4;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{font:16px/1.5 'Golos Text',system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper-2);color:var(--ink)}
button,input,select{font:inherit}button{cursor:pointer;min-height:44px;touch-action:manipulation}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--line)!important;outline-offset:3px}input,select{accent-color:var(--wine);max-width:100%}input[type=range]{width:100%;min-height:32px;cursor:pointer}select{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2)}
.hint,.mapHint,.lead,.nText{color:var(--muted)!important}.hint{font-size:14px!important;line-height:1.55!important;margin:8px 0}small{font-size:12px;line-height:1.5}.challengeCount{font-size:12px!important;letter-spacing:.12em;line-height:1.5}
.choose{max-width:1260px;padding:56px 24px 70px}.choose:before{content:"";position:absolute;inset:0 0 auto;height:650px;background:linear-gradient(180deg,var(--paper-2),var(--paper-2)),url('/assets/terrain.png') center 20%/cover;opacity:.3;pointer-events:none;z-index:-1}.choose>div:first-child{font-size:12px!important}.choose h1{font:clamp(64px,9vw,100px)/1 'Cormorant Garamond',Georgia;margin:8px 0 22px;letter-spacing:.08em}.choose .lead{font:20px/1.55 'Cormorant Garamond',Georgia;max-width:720px;margin-bottom:30px}.cards{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.choose .card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--line);border-top:3px solid var(--house-color,var(--line));border-radius:16px;background:var(--paper-2);box-shadow:0 6px 24px rgb(63 37 21 / .09)}.choose .card h2{font:28px 'Cormorant Garamond',Georgia!important;margin:16px 0 8px}.choose .card p{font-size:14px;line-height:1.5}.choose .card .houseBonus{color:var(--ink);flex:1}.choose .card button{margin-top:16px;min-height:48px;border-radius:10px}.seal{border-radius:12px}.card .trait{color:var(--ink)}
.top{position:sticky;top:0;display:grid;grid-template-columns:minmax(185px,1fr) auto auto;gap:20px;align-items:center;min-height:96px;padding:14px 24px;background:var(--paper-2);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);z-index:18}.top>div:first-child{min-width:0}.top #clanName{font:26px 'Cormorant Garamond',Georgia;letter-spacing:.02em}.online{font-size:12px;line-height:1.4;color:var(--ink)}.res.primaryResources{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:6px;max-width:none;margin:0;overflow:visible}.res.primaryResources>span{display:grid;grid-template-columns:24px 1fr;gap:0 8px;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:19px;align-items:center}.res.primaryResources>span>b{font-size:20px;font-variant-numeric:tabular-nums}.res.primaryResources>span>small{grid-column:2;font-size:12px;color:var(--muted)}.statusControls{display:flex;gap:8px;align-items:center}.moreResources{position:relative}.moreResources>summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-height:44px;font-size:14px}.moreResources[open]>div{position:absolute;right:0;top:50px;z-index:25;background:var(--paper-2);box-shadow:0 6px 24px rgb(63 37 21 / .09);border:1px solid var(--line);border-radius:12px;padding:18px;min-width:255px;display:grid;gap:12px}.moreResources span{display:flex;justify-content:space-between;gap:14px;font-size:14px}.moreResources b{color:var(--ink)}.notifyBell{min-width:58px;min-height:46px;font-size:16px}.connection{display:block;color:var(--ink);font-size:12px}.connection.offline{color:var(--danger)}
.layout{max-width:1680px;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:20px}.panel{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--paper-2);box-shadow:0 6px 24px rgb(63 37 21 / .09)}.layout>aside.panel{top:116px;max-height:calc(100dvh - 205px);overflow:auto;scrollbar-gutter:stable}.panel h2{font:34px/1.2 'Cormorant Garamond',Georgia}.mapHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mapHeading h2{margin:0;font-size:32px}.mapHeading small{font-size:13px;color:var(--muted)}.mapKicker{font-size:12px;letter-spacing:.16em;color:var(--ink)}.mapStage{padding:0;border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 24px rgb(63 37 21 / .09)}.mapScroll{height:clamp(400px,58vw,680px)!important;min-height:0!important}.mapTools{right:12px;top:12px;gap:8px}.mapTools button{width:42px;height:42px;min-height:42px;border-radius:8px;background:var(--paper-2);font-size:19px}.mapFitBadge{font-size:12px;left:12px;top:12px;border-radius:7px;color:var(--ink)}.mapLayerSwitch button{font-size:14px;min-height:40px}.mapLegend{font-size:12px;background:none;border:0;padding:8px 0;gap:8px 16px}.mapLegend span{white-space:normal}.mapHint{font-size:13px!important;margin-bottom:0}.worldEventBanner{font-size:14px;border-radius:10px;margin:12px 0;background:var(--paper-2)}.worldEventBanner .hint{font-size:13px!important}.eventTimer{font-size:14px!important}
.mapSearch{display:flex;gap:8px;position:relative;margin:12px 0}.mapSearch input{width:100%;height:44px;background:var(--paper-2);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.mapSearch button{border:1px solid var(--line);border-radius:10px;padding:8px 14px;background:var(--paper-2);color:var(--ink);white-space:nowrap}.searchResults{position:absolute;top:48px;left:0;right:0;z-index:10;max-height:285px;overflow:auto;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px rgb(63 37 21 / .09)}.searchResults:empty{display:none}.searchResults button{display:flex;justify-content:space-between;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;gap:12px}.searchResults small{color:var(--muted)}
#mapAdvisor .campaignAdvisor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;align-items:center;padding:16px;margin:14px 0;background:var(--paper-2);border:1px solid var(--line);border-radius:12px}#mapAdvisor .advisorLabel{grid-column:1/-1;font-size:12px;margin:0}#mapAdvisor .advisorBody b{font:20px 'Cormorant Garamond',Georgia}#mapAdvisor .advisorBody p{font-size:14px}#mapAdvisor .advisorSteps{display:none}#mapAdvisor .campaignAdvisor>button{width:auto;margin:0;min-height:44px;padding:10px 16px}.advisorBody{grid-template-columns:30px 1fr}
.territoryHeader{display:flex;align-items:start;justify-content:space-between;gap:10px}.territoryHeader h2{font-size:34px!important;margin:2px 0 12px!important}.territoryHeader .eyebrow{color:var(--ink);font-size:12px;letter-spacing:.09em}.territoryHeader .closeLand{display:none;background:var(--paper-2);border:1px solid var(--line);border-radius:9px;color:var(--ink);font-size:22px;min-width:44px}.territoryTabs{display:flex;border-bottom:1px solid var(--line);gap:4px;margin-bottom:14px;position:sticky;top:-20px;z-index:2;background:var(--paper-2);padding:8px 0}.territoryTabs button{flex:1;padding:8px;border:0;border-radius:9px;background:transparent;color:var(--ink);font-size:14px}.territoryTabs button[aria-selected=true]{background:var(--paper-2);color:var(--ink);font-weight:800}.landPane[hidden]{display:none!important}.landPane>.stats{margin:12px 0}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stats div{padding:12px;border-color:var(--line);background:var(--paper-2)}.stats small{font-size:12px;color:var(--muted)}.stats b{display:block;font-size:17px;overflow-wrap:anywhere}.stats>div:last-child{grid-column:1/-1}.landSummary{display:flex;justify-content:space-between;gap:8px;font-size:14px;padding:10px 0;border-bottom:1px solid var(--line);margin-bottom:12px;color:var(--ink)}.landSummary b{color:var(--ink)}
.attack,.garrisonBox,.armyPos,.reinforce,.battlebox,.readinessBox,.strategicBox,.worldEventBox,.actionGuide,.result{padding:16px!important;margin:12px 0!important;border-radius:12px!important;box-shadow:none}.attack>button,.armyPos>button,.garrisonBox>button,.reinforce>button,.defense>button{min-height:48px;font-size:15px!important;border-radius:9px!important}.actionGuide .actionRow{grid-template-columns:24px 76px 1fr;font-size:14px}.actionGuideHead b{font-size:20px}.actionRow .aState{line-height:1.4}.quiet{font-size:14px}.quiet button{font-size:14px}.chronicle>h3{font:22px 'Cormorant Garamond',Georgia}.event{font-size:14px;padding:12px 0}.event small{display:block;font-size:12px}.morePanel{border-top:1px solid var(--line);padding:12px 0}.morePanel summary{cursor:pointer;font-size:14px;color:var(--ink)}.morePanel[open] summary{margin-bottom:12px}
.operationOptions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:14px 0}.operationOptions button{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid var(--line)!important;background:var(--paper-2)!important;color:var(--ink)!important;padding:12px 6px;min-height:92px;box-shadow:none!important;font-size:14px}.operationOptions button[aria-pressed=true]{border-color:var(--line)!important;background:var(--paper-2)!important;box-shadow:0 6px 24px rgb(63 37 21 / .09)!important}.operationOptions span{font-size:24px}.operationOptions small{font-size:12px;color:var(--muted)}.operationNote{font-size:14px;padding:12px;margin:10px 0;background:var(--paper-2);border-left:2px solid var(--line)}.operationCosts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.operationCosts div{background:var(--paper-2);border:1px solid var(--line);border-radius:9px;padding:10px}.operationCosts small{display:block;font-size:12px;color:var(--muted)}.operationCosts b{font-size:18px;color:var(--ink)}.operationReady{font-size:14px;color:var(--ink);padding:8px 0}.operationReady.blocked{color:var(--ink)}.operationConfirm{font-size:13px;color:var(--ink)}.forcePresets{display:flex;gap:8px;margin:8px 0}.forcePresets button{flex:1;min-height:40px;background:var(--paper-2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:8px!important;box-shadow:none!important;font-size:13px!important}
.nav{width:min(680px,calc(100% - 24px));height:72px;bottom:0;border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;background:var(--paper-2);padding:5px 10px;padding-bottom:env(safe-area-inset-bottom);z-index:20}.nav button{font-size:14px;min-height:58px}.nav button:before{font-size:21px}.nav button.active{background:var(--paper-2);border-radius:10px;color:var(--ink)}.nav button.active:after{display:none}
.estateOverlay,.houseOverlay{z-index:32;overflow:auto;overscroll-behavior:contain;padding:24px 20px 80px;background:var(--scrim)}.estateCard,.houseCard{width:min(1080px,100%)!important;max-width:1080px!important;border:1px solid var(--line)!important;border-radius:18px!important;padding:28px!important;background:var(--paper-2)!important}.estateTop{position:relative;border-bottom:1px solid var(--line);padding-bottom:18px;gap:20px}.estateTop h2,.houseHero h2{font:clamp(26px,4vw,36px)/1.2 'Cormorant Garamond',Georgia!important;overflow-wrap:anywhere}.estateClose,.challengeClose{min-width:44px;min-height:44px;font-size:14px;white-space:normal}.estateSummary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.estateSummary div{padding:16px}.estateSummary small,.building small{font-size:13px}.estateSummary b{font-size:24px}.buildingGrid{gap:16px}.building,.clanProject{padding:20px;border-color:var(--line);background:var(--paper-2)}.building h3,.clanProject h3{font:27px 'Cormorant Garamond',Georgia}.building .ico{font-size:32px}.building button,.clanProject button{min-height:48px;font-size:15px}.construction{padding:18px;border-radius:12px;background:var(--paper-2)}.clanTreasury{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.clanTreasury small,.clanLeaderCard small,.clanMember .meta{font-size:13px}.houseHero{padding:22px;border-radius:14px}.clanLeadership{gap:12px}.clanMember{gap:16px}.clanMember .actions{display:flex;flex-wrap:wrap;gap:8px}.clanMember button,.clanContribution button,.dipRelation button,.dipComposer button,.clanGovernors button,.clanPriority button{min-height:44px;font-size:14px}.clanGovernors select,.clanPriority select,.dipComposer select{margin:8px 0}.houseTraitGrid div{font-size:14px}.bonusRow,.bonusRow b,.bonusRow em{font-size:14px;line-height:1.5}.bonusRow{display:block}.bonusValues{justify-content:start;text-align:left}.seasonTable{font-size:14px}.seasonTable th,.seasonTable td{padding:12px 8px}.seasonTabs button{font-size:14px;min-height:44px}.ceText,.goalCard,.goalReward,.goalMeta{font-size:14px}.notificationList{max-height:none;overflow:visible}.notificationItem{padding:18px;gap:14px}.notificationItem .nTitle,.notificationItem .nText,.notificationItem .nTime{display:block}.notificationItem .nTitle{font-size:17px}.notificationItem .nText,.notificationItem .nDeadline{font-size:14px}.notificationItem .nTime{font-size:12px}.notificationGroup h3{font-size:24px}.notificationActions{flex-wrap:wrap}
.challengeOverlay{z-index:60;padding:20px;background:var(--scrim)}.challengeCard{width:min(680px,100%);padding:24px;max-height:calc(100dvh - 40px);overflow:auto;border-radius:16px;background:var(--paper-2)}.challengeHead h2{font:28px 'Cormorant Garamond',Georgia}.challengePrompt{font-size:20px;line-height:1.5}.challengeOptions button{font-size:16px;line-height:1.4;min-height:50px;padding:14px;text-align:left}.challengeTimer{font-size:26px}.miniMap{height:230px}.tacticalGrid div{font-size:14px;line-height:1.5;padding:12px}.challengeNote,.challengeLegend,.challengeFeedback{font-size:14px}.battleReportGrid small{font-size:12px}.battleReportGrid b{font-size:18px}
#uiToast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);z-index:65;width:min(540px,calc(100% - 28px));padding:14px 20px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);color:var(--ink);box-shadow:0 6px 24px rgb(63 37 21 / .09);pointer-events:none;font-size:15px}#uiToast[hidden]{display:none}#uiToast.error{border-color:var(--line);background:var(--paper-2)}.modal-open{overflow:hidden}.layout>aside.panel.landClosed{display:none!important}
body.mapFocusMode .layout.mapFocus>aside.panel:not(.landClosed){display:block!important;position:fixed;right:16px;top:16px;bottom:16px;width:380px;max-height:none;margin:0;z-index:47;background:var(--paper-2)}body.mapFocusMode .mapTools{right:12px}body.mapFocusMode .territoryHeader .closeLand{display:block}body.mapFocusMode #mapAdvisor,body.mapFocusMode .mapHeading,body.mapFocusMode .mapSearch,body.mapFocusMode .mapKicker{display:none!important}
@media(max-width:1150px){.top{grid-template-columns:1fr auto;gap:10px;padding:12px 18px}.res.primaryResources{grid-row:2;grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.statusControls{justify-content:end}.layout{grid-template-columns:minmax(0,1fr) 350px;padding:16px;gap:14px}.layout>aside.panel{top:174px;max-height:calc(100dvh - 265px)}#mapAdvisor .campaignAdvisor{display:block}#mapAdvisor .campaignAdvisor>button{width:100%;margin-top:10px}}
@media(max-width:860px){.layout{display:block;padding:14px}.layout>aside.panel{position:static;max-height:none;margin:16px 0 0}.landOpen .layout>aside.panel:not(.landClosed){position:fixed;left:8px;right:8px;top:auto;bottom:74px;height:min(76dvh,800px);margin:0;z-index:24;overflow:auto;background:var(--paper-2);box-shadow:0 6px 24px rgb(63 37 21 / .09);border-radius:18px}.territoryHeader .closeLand{display:block}.territoryTabs{top:-20px}.mapScroll{height:clamp(360px,65vw,570px)!important}.estateSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.buildingGrid{grid-template-columns:1fr}.buildingGrid .building:last-child{grid-column:auto}.clanProjects{grid-template-columns:1fr}.clanLeadership{grid-template-columns:1fr}.clanMember{grid-template-columns:1fr}.houseTraitGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.estateOverlay,.houseOverlay{padding:10px 8px 90px}.estateCard,.houseCard{padding:20px!important}.top #clanName{font-size:23px}.seasonTable{font-size:13px}.seasonTable th,.seasonTable td{padding:10px 5px}body.mapFocusMode .layout.mapFocus>aside.panel:not(.landClosed){left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:78dvh}}
@media(max-width:520px){body{font-size:16px}.top{padding:10px;gap:8px}.res.primaryResources{gap:4px}.res.primaryResources>span{grid-template-columns:1fr;justify-items:start;padding:7px 9px;font-size:0;gap:0}.res.primaryResources>span>b{font-size:18px}.res.primaryResources>span>small{grid-column:1;font-size:12px}.moreResources>summary{padding:9px 10px}.top .online{max-width:210px;font-size:12px}.statusControls{gap:6px}.notifyBell{min-width:48px}.mapHeading h2{font-size:27px}.mapHeading small{font-size:12px}.panel{padding:14px}.mapSearch button{padding:8px}.mapScroll{height:370px!important}.mapLayerSwitch{bottom:8px!important}.mapFitBadge{font-size:10px;padding:4px}.mapTools button{width:38px;height:38px;min-height:38px}.nav{width:100%;height:72px;padding:4px 4px env(safe-area-inset-bottom);border-radius:14px 14px 0 0}.nav button{font-size:12px}.nav button:before{font-size:20px}.choose{padding:32px 16px 60px}.choose h1{font-size:68px}.choose .lead{font-size:18px}.cards{grid-template-columns:1fr}.choose .card{padding:20px}.choose .card h2{font-size:28px!important}.choose .card p{font-size:15px}.estateTop{align-items:flex-start}.estateTop h2{font-size:28px!important}.estateTop .estateClose{font-size:13px;max-width:115px}.houseHero{padding:16px}.clanTreasury{grid-template-columns:repeat(2,minmax(0,1fr))}.clanTreasury>div{padding:12px}.houseTraitGrid{grid-template-columns:1fr}.challengeOverlay{padding:8px}.challengeCard{padding:18px;max-height:calc(100dvh - 16px)}.challengeHead h2{font-size:24px}.challengePrompt{font-size:18px}.tacticalGrid{grid-template-columns:1fr 1fr}.miniMap{height:190px}.territoryTabs{top:-14px}.notificationItem{padding:14px}.notificationActions button{width:100%}}
.mapHelp{margin-top:12px;font-size:13px;color:var(--ink)}.mapHelp summary{cursor:pointer;min-height:32px}.mapHelp[open] summary{margin-bottom:8px}
.houseTabs{display:flex;gap:6px;margin:20px 0;position:sticky;top:-24px;z-index:2;background:var(--paper-2);padding:8px 0;border-bottom:1px solid var(--line)}.houseTabs button{flex:1;border:0;border-radius:8px;padding:10px 8px;background:transparent;color:var(--ink);font-size:14px}.houseTabs button[aria-selected=true]{background:var(--paper-2);color:var(--ink);font-weight:700}.housePane[hidden]{display:none!important}.armyPos>button,.garrisonBox>button{width:100%;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);padding:10px}.estateTop{position:sticky;top:-28px;z-index:3;background:var(--paper-2);padding-top:8px}.housePane>.houseHero:first-child{margin-top:0}.estateSummary{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}#attackCost{display:block}.landPane>.garrisonBox:has(+.attack)>p{font-size:13px!important}.landPane .garrisonBox:has(+.attack){padding:12px!important}
@media(max-width:520px){.houseTabs{gap:2px;top:-20px}.houseTabs button{font-size:12px;padding:8px 3px}.estateTop{top:-20px}.estateSummary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:861px){.layout{padding-top:16px}.mapKicker{font-size:10px}.mapHeading{margin-bottom:6px}.mapHeading h2{font-size:28px}.mapSearch{margin:8px 0}.worldEventBanner{padding:8px 12px;margin:8px 0}.worldEventBanner .hint{display:none}#mapAdvisor .campaignAdvisor{display:grid;padding:10px 12px;margin:8px 0;gap:3px 10px}#mapAdvisor .advisorLabel{display:none}#mapAdvisor .advisorBody b{font-size:17px}#mapAdvisor .advisorBody p{font-size:12px;margin:4px 0 0}#mapAdvisor .campaignAdvisor>button{width:auto;margin:0;padding:8px 10px;font-size:13px}.mapScroll{height:clamp(320px,calc(100dvh - 450px),680px)!important}}
@media(min-width:861px) and (max-width:1150px){.mapScroll{height:clamp(320px,calc(100dvh - 467px),680px)!important}.mapHeading small{display:none}}
.top>div:first-child{display:block}
@media(max-width:860px){.panel.map{display:flex;flex-direction:column}#mapAdvisor{order:1}.mapHelp{order:2}.worldEventBanner{padding:8px 10px;margin:6px 0 10px}.worldEventBanner .hint{display:none}.layout>aside.panel{display:none}.landOpen .layout>aside.panel:not(.landClosed){display:block}#mapAdvisor .advisorLabel{display:none}#mapAdvisor .campaignAdvisor{padding:12px}#mapAdvisor .advisorBody b{font-size:18px}#mapAdvisor .advisorBody p{font-size:13px}.mapHeading small{white-space:nowrap}}
@media(max-width:520px){.res.primaryResources>span{min-width:0;white-space:normal}.res.primaryResources>span>small{font-size:10px}.top .connection{font-size:11px}.top .online{font-size:10px}.mapKicker{font-size:10px}.mapHeading small{font-size:10px}.mapHeading h2{font-size:25px}.statusControls{padding-top:5px}.mapScroll{height:360px!important}.mapTools button{width:40px;height:40px;min-height:40px}.mapTools{gap:5px}.mapLayerSwitch button{padding:7px 14px}}
@media(max-width:520px){.estateSummary{gap:8px}.estateSummary>div{padding:12px;min-width:0}.estateSummary b{font-size:17px;white-space:nowrap}.estateSummary small{font-size:11px}.estateSummary>div:last-child{grid-column:1/-1}.estateSummary>div:last-child b{display:inline-block;margin-right:10px}.estateTop h2{font-size:25px!important}.estateTop .hint{font-size:12px!important}.estateTop{gap:10px}.estateTop .estateClose{padding:8px;min-width:84px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* v0.49 — original game emblems, crisp at every screen density. */
.choose .seal{width:96px;height:112px;background:transparent!important;box-shadow:none;border-radius:0;filter:drop-shadow(0 8px 9px #0006);transition:transform .2s ease}
.choose .seal img{display:block;width:100%;height:100%;object-fit:contain}
.choose .card:hover .seal,.choose .card:focus-within .seal{transform:translateY(-3px)}
.challengeTimeTrack{height:5px;margin:14px 0 4px;border-radius:9px;background:var(--paper-2);overflow:hidden}
.challengeTimeTrack>span{display:block;height:100%;width:100%;background:var(--paper-2);transform-origin:left}
.challengeTimer.urgent{color:var(--ink)}
.challengeTimeTrack.urgent>span{background:var(--paper-2)}
.quizMeta{color:var(--ink);font-size:12px;line-height:1.5;margin:6px 0 0}
.challengeOptions button:disabled{opacity:.55;cursor:wait}
.miniMap{background:var(--paper-2);border:1px solid var(--line);border-radius:12px}
@media(prefers-reduced-motion:reduce){.choose .seal{transition:none}.choose .card:hover .seal,.choose .card:focus-within .seal{transform:none}}
.chronologyEvents{padding:0 0 0 28px;font-size:17px;line-height:1.4}
.chronologyEvents li{padding:5px 8px}
.chronologyEvents li::marker{color:var(--ink);font-weight:800}

.saveInfo{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px;font-size:12px}.saveInfo small{color:var(--muted);line-height:1.4}.saveWarning{margin:12px auto;padding:13px 18px;max-width:1400px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);color:var(--ink);font-size:14px;line-height:1.5}.saveWarning[hidden]{display:none}

.battleFactors{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.battleFactors summary{cursor:pointer;font-weight:800}.battleFactorCols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.battleFactorCols section{padding:10px;border:1px solid var(--line);border-radius:10px}.battleFactorCols h4{margin:0 0 8px}.battleFactors .bonusRow{display:flex!important;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}.battleFactors .bonusRow span{display:grid}.battleFactors .bonusRow small{opacity:.7}.battleFactors .bonusRow em{font-style:normal;font-weight:800;white-space:nowrap}@media(max-width:700px){.battleFactorCols{grid-template-columns:1fr}}

/* v0.66 — mobile map usability */
@media(max-width:860px){
  .landOpen .layout>aside.panel:not(.landClosed){
    height:min(52dvh,560px);
    bottom:72px;
    border-radius:18px 18px 0 0;
    box-shadow:0 6px 24px rgb(63 37 21 / .09);
  }
}
@media(max-width:520px){
  .landOpen .layout>aside.panel:not(.landClosed){
    left:4px;right:4px;height:min(46dvh,470px);
  }
  .territoryHeader{position:sticky;top:-14px;z-index:5;background:var(--paper-2);padding-top:4px}
}

/* v0.68 — a single territory sheet on every device */
#mapQuickPanel{display:none!important}
@media(max-width:860px){
  .landOpen .layout>aside.panel:not(.landClosed){height:min(48dvh,520px)}
}
@media(max-width:520px){
  .landOpen .layout>aside.panel:not(.landClosed){height:min(44dvh,450px)}
  .mapScroll,#map{touch-action:none;-webkit-tap-highlight-color:transparent}
}

/* v0.70 canonical territory sheet */
#mapQuickPanel{display:none!important}
.neighborTargetGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.neighborTargetGrid button{min-height:44px}
@media(max-width:860px){
  .landOpen .layout>aside.panel:not(.landClosed){
    display:block!important;position:fixed!important;
    left:6px!important;right:6px!important;top:auto!important;bottom:74px!important;
    width:auto!important;height:min(52dvh,540px)!important;max-height:min(52dvh,540px)!important;
    margin:0!important;overflow:auto!important;overscroll-behavior:contain;
    border-radius:18px 18px 0 0!important;z-index:24!important;
  }
  body.mapFocusMode .layout.mapFocus>aside.panel:not(.landClosed){
    left:6px!important;right:6px!important;top:auto!important;bottom:74px!important;
    width:auto!important;height:min(52dvh,540px)!important;max-height:min(52dvh,540px)!important;
  }
}
@media(max-width:520px){
  .landOpen .layout>aside.panel:not(.landClosed),
  body.mapFocusMode .layout.mapFocus>aside.panel:not(.landClosed){
    left:4px!important;right:4px!important;height:min(50dvh,460px)!important;max-height:min(50dvh,460px)!important;
  }
  .neighborTargetGrid{grid-template-columns:1fr}
}

/* v0.74 — profile is a permanent top-right account hub */
.profileTopButton{
  min-width:108px;min-height:46px;padding:9px 13px;border:1px solid var(--line);
  border-radius:10px;background:var(--paper-2);color:var(--ink);font-weight:800;
  display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap
}
.profileTopButton:hover,.profileTopButton.active{background:var(--paper-2);border-color:var(--line);color:var(--ink)}
.profileTopIcon{font-size:17px}.profileTopText{font-size:12px}
.profileSection{margin-top:14px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--paper-2)}
.profileSectionHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.profileSectionHead .hint{margin:5px 0 0}
.profileNameForm{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.profileNameForm input{flex:1;min-width:180px;padding:11px;border-radius:10px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);font:inherit}
.profileNameForm button{min-width:120px}
.profilePrestigeTrack{height:12px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);overflow:hidden}
.profilePrestigeTrack>div{height:100%;background:var(--paper-2)}
.profileGrid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.profileActionRow{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 7px}
.profileActionRow button{flex:1;min-width:145px}
.profileDanger{background:var(--paper-2)!important;border-color:var(--line)!important;color:var(--ink)!important}
.profileToggle{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 5px}
.profileToggle input{width:20px;height:20px;accent-color:var(--wine)}
.profileRange{width:100%;accent-color:var(--wine)}
.profileRanksTitle{font:28px 'Cormorant Garamond',Georgia;margin:22px 0 10px}
@media(max-width:860px){
  .profileTopButton{min-width:46px;width:46px;padding:8px}
  .profileTopText{display:none}
  .profileGrid2{grid-template-columns:1fr}
}
@media(max-width:520px){
  .profileTopButton{min-width:42px;width:42px;min-height:42px;height:42px;border-radius:10px}
  .profileTopIcon{font-size:18px}
  .profileNameForm{display:grid;grid-template-columns:1fr}
  .profileNameForm input,.profileNameForm button{width:100%;min-width:0}
  .profileActionRow{display:grid;grid-template-columns:1fr}
  .profileActionRow button{width:100%;min-width:0}
}

/* v0.93 flexible clan treasury contribution */
.contributionComposer{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper-2)}
.contributionComposer label{display:grid;gap:6px;color:var(--ink);font-weight:800;font-size:13px}.contributionInput{display:grid;grid-template-columns:1fr auto;gap:6px}.contributionInput input{width:100%;min-width:0;background:var(--paper-2);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px 12px;font:800 15px 'Golos Text',system-ui}.contributionInput button{min-width:54px!important;padding:9px!important}.contributionSubmit{min-height:44px;padding:10px 16px!important;background:var(--paper-2)!important;color:var(--ink)!important;border-color:var(--line)!important}.contributionComposer input:focus{outline:2px solid var(--line);outline-offset:1px}@media(max-width:720px){.contributionComposer{grid-template-columns:1fr}.contributionSubmit{width:100%}}
