#villageMissionConsole{position:absolute;right:172px;top:14px;z-index:46;pointer-events:auto;font-family:Georgia,serif}
#villageAttackButton{position:relative;display:flex;align-items:center;flex-direction:column;width:96px;height:106px;padding:0;border:0;background:none;color:#f4e3b9;cursor:pointer}
#villageAttackButton>img{width:88px;height:88px;object-fit:contain}
#villageAttackButton .art-caption{font:600 13px/1.2 Georgia,serif;text-shadow:0 2px 3px #000}
#villageAttackButton .mission-count{position:absolute;right:3px;top:4px;min-width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#46503a;color:#fff0c4;border:1px solid #c4ac76;font:700 13px Georgia,serif;box-shadow:0 2px 5px #0009}
#villageAttackButton .mission-count[hidden]{display:none}
#villageMissionConsole.has-incoming .mission-count{background:#8b3326}
#villageMissionConsole .mission-slide{position:absolute;top:110px;right:0;width:174px;display:grid;gap:3px;padding:6px 9px;text-align:right;border:1px solid #a28a56;border-radius:5px;background:#283224ef;color:#f5e6c2;box-shadow:0 4px 9px #0008;cursor:pointer;font:12px Georgia,serif}
#villageMissionConsole .mission-slide[hidden]{display:none}
#villageMissionConsole .mission-slide time{font:700 15px ui-monospace,monospace;font-variant-numeric:tabular-nums}
#villageMissionConsole.has-incoming .mission-slide{border-color:#c58165;background:#492d24ed}
#villageMissionDrawer{position:absolute;right:0;top:168px;width:376px;max-height:min(560px,calc(100vh - 200px));overflow:auto;border:1px solid #a28a56;border-radius:8px;background:#e8d7ae;color:#302818;box-shadow:0 12px 28px #0009}
#villageMissionDrawer[hidden]{display:none}
#villageMissionDrawer>header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#343b2b;color:#f3e4bf;gap:12px}
#villageMissionDrawer>header button{border:0;background:none;color:inherit;font:28px/1 Georgia,serif;min-width:36px;min-height:36px;cursor:pointer}
#villageMissionDrawer article{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-bottom:1px solid #a28a5666}
#villageMissionDrawer article.is-incoming{box-shadow:inset 3px 0 #9c4432}
#villageMissionDrawer article strong,#villageMissionDrawer article small,#villageMissionDrawer .mission-arrival span{display:block}
#villageMissionDrawer article small{margin-top:5px;font-size:12px;color:#5b513c}
#villageMissionDrawer .mission-arrival{text-align:right;font-size:12px}
#villageMissionDrawer time{display:block;font:700 17px/1.5 ui-monospace,monospace;font-variant-numeric:tabular-nums}
#villageMissionDrawer .mission-actions{grid-column:1/-1;display:flex;gap:8px}
#villageMissionDrawer button:not([data-mission-close]){padding:7px 12px;border:1px solid #9d8559;border-radius:4px;background:#fbefd2;color:#3b301c;cursor:pointer;font:600 12px Georgia,serif;min-height:34px}
#villageMissionDrawer button:hover{filter:brightness(1.12)}
#villageMissionDrawer button:focus-visible,#villageAttackButton:focus-visible{outline:2px solid #fff2ba;outline-offset:3px}
#villageMissionDrawer [hidden]{display:none!important}
#villageMissionDrawer footer{padding:10px 12px;display:grid;gap:8px}
#villageMissionDrawer .mission-feedback{font-size:12px;min-height:0}

@media(max-width:700px){#villageMissionConsole{right:154px;top:12px}#villageMissionDrawer{width:min(376px,calc(100vw - 24px));right:-140px}}

/* One incoming warning surface, owned by the mission console. */
.village-screen:has(#villageMissionConsole) #warIncomingAlert{display:none!important}

/* Keep the village activity entry beside the other shortcuts, with a clear
   gap before the portrait. Both popovers open directly below their triggers. */
#villageMissionConsole{left:610px;right:auto;top:12px}
#villageMissionConsole .mission-slide{left:0;right:auto;text-align:left}
#villageMissionDrawer{left:0;right:auto}
#resourceDrawer{left:394px!important;top:120px!important;width:540px;max-height:min(650px,calc(100% - 130px))}

/* Each active army owns one real phase timer; scouts retain the compact slide. */
#villageMissionConsole .mission-loading-rail{position:absolute;left:0;top:126px;z-index:1;display:grid;grid-template-columns:repeat(2,96px);gap:8px;width:200px;max-height:calc(100vh - 150px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;pointer-events:auto}
#villageMissionConsole .mission-loading-rail[hidden]{display:none}
#villageMissionConsole .mission-loading-button{--mission-color:#64e5ef;position:relative;display:block;width:96px;height:108px;padding:0;border:0;background:none;color:#e7faff;cursor:pointer;font:700 12px/1.3 Georgia,serif}
#villageMissionConsole .mission-loading-button[data-mission-state=incoming]{--mission-color:#ef7770;color:#ffe2dd}
#villageMissionConsole .mission-loading-button>img{position:absolute;left:13px;top:8px;width:70px;height:70px;object-fit:contain;filter:drop-shadow(0 2px 3px #000b) drop-shadow(0 0 5px var(--mission-color))}
#villageMissionConsole .mission-loading-button>svg{position:absolute;inset:0 auto auto 2px;width:92px;height:92px;overflow:visible;fill:none;transform:rotate(-90deg);pointer-events:none}
#villageMissionConsole .mission-loading-track{stroke:#0009;stroke-width:5}
#villageMissionConsole .mission-loading-progress{stroke:var(--mission-color);stroke-width:3;stroke-linecap:round;stroke-dasharray:100;transition:stroke-dashoffset .8s linear}
#villageMissionConsole .mission-loading-button>time{position:absolute;left:0;right:0;bottom:0;padding:2px 0;border-radius:4px;background:#0b110ac4;text-align:center;font:700 13px/1.3 ui-monospace,monospace;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000}
#villageMissionConsole .mission-loading-button:hover>img{filter:drop-shadow(0 2px 3px #000b) drop-shadow(0 0 9px var(--mission-color))}
#villageMissionConsole .mission-loading-button:focus-visible{outline:2px solid var(--mission-color);outline-offset:2px;border-radius:6px}
#villageMissionConsole[data-drawer-open=true] :is(.mission-loading-rail,.mission-slide){visibility:hidden}
.village-screen:has(#worldMapPanel:not([hidden])) #villageMissionConsole .mission-loading-rail{display:none}
#villageMissionDrawer{z-index:2}
@media(prefers-reduced-motion:reduce){#villageMissionConsole .mission-loading-progress{transition:none}}
