/* One business footer for all four World Life sections. Phone internals remain canonical. */
#ahBottom,#actorLifeMapBottom{display:flex;align-items:center;justify-content:space-between;gap:24px;box-sizing:border-box;padding:0 48px;pointer-events:auto;background:linear-gradient(180deg,transparent,#111b29b8)}
#actorLifeMapBottom{position:fixed;z-index:50;left:env(safe-area-inset-left,0px);right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);height:80px}
#ahBottom .ah-nav,#actorLifeMapBottom .ah-nav{position:static;display:grid;grid-template-columns:repeat(4,112px);gap:8px;align-items:center;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;visibility:visible}
#ahBottom .ah-nav>a,#actorLifeMapBottom .ah-nav>a{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-width:0;width:112px;min-height:52px;margin:0;padding:8px;border:1px solid transparent;border-radius:2px;background:transparent;color:#e9e8e2;text-decoration:none;font:500 13px/1 'Noto Serif SC','Songti SC',STSong,serif;text-shadow:0 1px 4px #14202c}
#ahBottom .ah-nav>a[aria-current=page],#actorLifeMapBottom .ah-nav>a[aria-current=page]{color:#fff8e7;border-color:#ffffff45;background:#ffffff16}
#ahBottom .ah-nav>a:hover,#actorLifeMapBottom .ah-nav>a:hover{background:#ffffff12;color:#fff}
#ahBottom .ah-nav>a:focus-visible,#actorLifeMapBottom .ah-nav>a:focus-visible{outline:2px solid #8fd9c5;outline-offset:2px}
#ahBottom .ah-nav i,#actorLifeMapBottom .ah-nav i{font:normal 20px/1 Georgia,serif}
#ahBottom .ah-nav span,#actorLifeMapBottom .ah-nav span{font:inherit}
#ahBottom .ah-right-tools{position:static;display:flex;align-items:center;visibility:visible}
#ahBottom .phone-hub-entry,#actorLifeMapBottom .phone-hub-entry{position:relative;inset:auto;flex:0 0 44px;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;display:grid;place-items:center;color:#725b44;isolation:isolate;overflow:visible}
#ahBottom .phone-hub-entry::before,#actorLifeMapBottom .phone-hub-entry::before{border-radius:16px}
#ahBottom .phone-hub-entry__icon,#actorLifeMapBottom .phone-hub-entry__icon{width:20px;height:27px}
#ahPageTools{position:fixed;z-index:30;right:48px;bottom:96px}#ahPageTools[hidden]{display:none}
#ahPageTools .ah-testbar{position:static;display:block}#ahPageTools .ah-testbar>span{display:none}#ahPageTools button{min-height:44px;padding:8px 16px;border:1px solid #d8ba78;border-radius:6px;background:#d8ba78;color:#17130c;font:600 13px/1.4 'Songti SC',serif}
.am-room-tools{position:fixed;left:48px;bottom:96px}
body.actor-map-navigation .map-hint{bottom:96px}
body.actor-map-navigation .top-controls{left:auto;right:48px!important;bottom:96px}
@media(max-width:1000px),(max-height:560px){#ahBottom,#actorLifeMapBottom{padding:0 24px;gap:16px}#actorLifeMapBottom{height:64px}#ahBottom .ah-nav,#actorLifeMapBottom .ah-nav{grid-template-columns:repeat(4,92px);gap:8px}#ahBottom .ah-nav>a,#actorLifeMapBottom .ah-nav>a{width:92px;min-height:44px;font-size:12px}#ahBottom .ah-nav i,#actorLifeMapBottom .ah-nav i{font-size:18px}#ahPageTools{right:24px;bottom:72px}.am-room-tools{left:24px;bottom:72px}body.actor-map-navigation .map-hint{bottom:72px}body.actor-map-navigation .top-controls{left:auto;right:24px!important;bottom:72px}}
/* World Life navigation V2: opaque pearl enamel, champagne edge and inset corners. */
#ahBottom,#actorLifeMapBottom{background:linear-gradient(180deg,transparent,#15223135)}
#ahBottom .ah-nav>a,#actorLifeMapBottom .ah-nav>a{isolation:isolate;border:0;border-radius:12px 3px 12px 3px;background:linear-gradient(125deg,#fffdf5,#e9e0cf);color:#665443;text-shadow:none;box-shadow:inset 0 0 0 1px #c4ad87,0 3px 10px #17233340;gap:8px;font-weight:600}
#ahBottom .ah-nav>a::before,#actorLifeMapBottom .ah-nav>a::before{content:none}
#ahBottom .ah-nav>a[aria-current=page],#actorLifeMapBottom .ah-nav>a[aria-current=page]{color:#fff9ea;background:linear-gradient(125deg,#826b51,#4e5c65);box-shadow:inset 0 0 0 1px #d9c39d,0 3px 12px #16233340}
#ahBottom .ah-nav>a[aria-current=page]::before,#actorLifeMapBottom .ah-nav>a[aria-current=page]::before{border-color:#f7e0b687}
#ahBottom .ah-nav>a:hover,#actorLifeMapBottom .ah-nav>a:hover{filter:brightness(1.08)}
#ahBottom .ah-nav i,#actorLifeMapBottom .ah-nav i{display:grid;place-items:center;flex:none;width:24px;height:24px;color:inherit}
#ahBottom .ah-nav svg,#actorLifeMapBottom .ah-nav svg{width:24px;height:24px}
#actorLifeMapBottom nav{margin-right:auto!important}
#actorLifeMapBottom #footprintButton{flex:none;min-height:44px;padding:0 12px;border:1px solid #c4ad87;border-radius:10px 2px 10px 2px;background:linear-gradient(125deg,#fffdf5,#e9e0cf);color:#665443;box-shadow:0 3px 10px #17233340}
body.actor-map-navigation .environment-controls{top:50%;transform:translate(-50%,-50%)}
/* The upgrade remains a C01 action; the scene frame and icon belong to the residence. */
.am-room-tools{left:48px;top:88px;bottom:auto!important;background:#f5efe1f5;border:1px solid #baa580;box-shadow:0 4px 16px #26364626;border-radius:16px 3px 16px 3px;padding:4px 10px;gap:4px;--wqxt-action-text:#665443;--wqxt-action-line:transparent;--wqxt-action-soft:#665443}
.am-room-tools .am-action{--wqxt-action-min-width:104px}
.am-house-icon{display:grid;place-items:center;font:28px/1 Georgia;color:#91744d;width:32px}
#ahPageTools{left:44%;top:72%;right:auto;bottom:auto;transform:translate(-50%,-50%);z-index:21}
#ahPageTools button.am-calendar-entry{position:relative;display:grid;justify-items:center;gap:5px;min-width:124px;min-height:78px;padding:4px;background:transparent;border:0;color:#354c5c;text-shadow:0 1px 3px #fff;font:600 13px/1.4 'Songti SC',serif;filter:drop-shadow(0 4px 4px #2a415b35)}
.am-calendar-leaf{position:relative;display:grid;place-items:center;width:64px;height:48px;background:linear-gradient(120deg,#fffdf7,#eae4d9);border:1px solid #ac997c;border-radius:4px 4px 10px 2px;transform:skewY(-5deg);box-shadow:2px 3px 0 #c3c4c0}
.am-calendar-leaf::before,.am-calendar-leaf::after{content:'';position:absolute;top:-4px;width:3px;height:9px;border-radius:2px;background:#826b51}.am-calendar-leaf::before{left:13px}.am-calendar-leaf::after{right:13px}
.am-calendar-leaf i{position:absolute;inset:0 0 auto;height:10px;background:#b5c8cf;border-radius:3px 3px 0 0}
.am-calendar-leaf b{padding-top:8px;font:600 24px/1 Georgia;color:#5b6573}
.am-calendar-leaf em{position:absolute;right:-10px;bottom:-6px;display:grid;place-items:center;width:24px;height:24px;border:1px solid #ccb684;border-radius:50%;background:#f0dfb7;color:#715c40;font:18px/1 Georgia}
.am-calendar-label{padding:2px 10px;border:1px solid #cbbd9e;background:#fffaf0ed;border-radius:7px 1px 7px 1px}
#ahPageTools button:disabled{filter:grayscale(.6);opacity:.65}
@media(max-width:1000px),(max-height:560px){.am-room-tools{left:24px;top:68px;padding:0 6px}.am-house-icon{width:24px;font-size:24px}#ahBottom .ah-nav i,#actorLifeMapBottom .ah-nav i,#ahBottom .ah-nav svg,#actorLifeMapBottom .ah-nav svg{width:20px;height:20px}#ahPageTools{left:44%;top:70%}#ahPageTools button.am-calendar-entry{min-width:112px;min-height:70px;font-size:12px;gap:3px}.am-calendar-leaf{width:56px;height:40px}.am-calendar-leaf b{font-size:22px}#actorLifeMapBottom #footprintButton{padding:0 10px;font-size:10px}}

#ahBottom .ah-nav>a,#actorLifeMapBottom .ah-nav>a{gap:6px;padding-inline:6px}#ahBottom .ah-nav span,#actorLifeMapBottom .ah-nav span{white-space:nowrap}

/* V2.2 annotation: one border, stacked scene launcher, phone-matched memory entry. */
:root{--ah-serif:'Noto Serif SC','Source Han Serif SC','Songti SC',STSong,serif;--am-serif:'Noto Serif SC','Source Han Serif SC','Songti SC',STSong,serif;--ah-sans:'PingFang SC','Microsoft YaHei',sans-serif}
#ahBottom .ah-nav>a,#actorLifeMapBottom .ah-nav>a{font-family:var(--am-serif);font-weight:500}
#actorLifeMapBottom #footprintButton{border:1px solid rgba(255,244,222,.68);border-radius:16px;background:linear-gradient(145deg,rgba(255,252,245,.94),rgba(229,210,181,.91));color:#725b44;box-shadow:0 10px 28px rgba(15,27,36,.26),inset 0 0 0 1px rgba(255,255,255,.46);backdrop-filter:blur(9px);font:600 14px/1 var(--am-serif)}
#actorLifeMapBottom #footprintButton b{font:600 10px/1.2 'DM Mono','SFMono-Regular',Consolas,monospace;color:inherit}
.am-room-tools{left:48px;top:88px;padding:0;background:none;border:0;box-shadow:none;display:flex;align-items:flex-start}
.am-upgrade-launcher{position:relative;display:grid;justify-items:center;align-content:center;gap:4px;min-width:104px;padding:8px 6px 2px;border:1px solid #baa580;border-radius:20px 4px 20px 4px;background:#f5efe1f5;box-shadow:0 4px 16px #26364626;cursor:pointer}
.am-upgrade-launcher .am-house-icon{width:32px;height:32px;color:#91744d;pointer-events:none}
.am-house-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.am-upgrade-launcher .am-action{--wqxt-action-min-width:92px;--wqxt-action-soft:#665443}
#ahPageTools button.am-calendar-entry{font:600 14px/1 var(--am-serif)}
.am-calendar-leaf b{font-family:'DM Mono','SFMono-Regular',Consolas,monospace}
@media(max-width:1000px),(max-height:560px){.am-room-tools{left:24px;top:68px;padding:0}.am-upgrade-launcher{min-width:100px;padding:6px 4px 0;gap:0}.am-upgrade-launcher .am-house-icon,.am-house-icon svg{width:28px;height:28px}#actorLifeMapBottom #footprintButton,#ahPageTools button.am-calendar-entry{font-size:13px}}

/* Arrow annotation: upgrade sits in the top row, after the date block. */
.am-room-tools{left:calc(env(safe-area-inset-left,0px) + 280px);top:calc(env(safe-area-inset-top,0px) + 12px)}
@media(max-width:1000px),(max-height:560px){.am-room-tools{left:calc(env(safe-area-inset-left,0px) + 228px);top:calc(env(safe-area-inset-top,0px) + 8px)}}

.am-room-tools{z-index:22}

/* The home header's empty area must not intercept scene hotspot clicks. */
#actorHome[data-page=home] #ahHeader,#actorHome[data-page=home] #ahHeader .page-header__inner{pointer-events:none}
#actorHome[data-page=home] #ahHeader :is(button,a,wqxt-resource-bar){pointer-events:auto}

/* V3: C11-sized icon-only upgrade action; label is accessible via focus/tooltip. */
.am-room-tools{left:calc(env(safe-area-inset-left,0px) + 336px);top:calc(env(safe-area-inset-top,0px) + 16px)}
.am-upgrade-launcher{display:block;min-width:44px;width:44px;height:44px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
#ahUpgrade{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:6px;background:none;color:#e9d1a0}
.am-upgrade-launcher .am-house-icon,.am-upgrade-launcher wqxt-icon,.am-upgrade-launcher svg{width:34px;height:34px;--wqxt-icon-size:34px}
#ahUpgrade:hover{color:#fff4d5}#ahUpgrade:focus-visible{outline:2px solid #ffd479;outline-offset:2px}
@media(max-width:1000px),(max-height:560px){.am-room-tools{left:calc(env(safe-area-inset-left,0px) + 300px);top:calc(env(safe-area-inset-top,0px) + 12px)}.am-upgrade-launcher{min-width:44px;padding:0}}

.am-entry-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* User-selected utility position: residence upgrade mirrors the footprint pill. */
.am-room-tools{left:auto;right:116px;top:auto;bottom:18px!important}
.am-upgrade-launcher{width:auto;min-width:112px;height:44px}
#ahUpgrade,#ahPageTools button.am-nextday-entry{min-width:112px;width:auto;height:44px;padding:0 14px;border:1px solid rgba(255,244,222,.68);border-radius:16px;background:linear-gradient(145deg,rgba(255,252,245,.94),rgba(229,210,181,.91));color:#725b44;box-shadow:0 10px 28px rgba(15,27,36,.26),inset 0 0 0 1px rgba(255,255,255,.46);font:600 14px/1 var(--wqxt-serif)}
#ahUpgrade .am-house-icon{display:none}
#ahUpgrade .am-entry-name{position:static;width:auto;height:auto;margin:0;overflow:visible;clip-path:none;white-space:nowrap}
.am-room-resume{position:fixed;z-index:22;left:48px;bottom:96px}
@media(max-width:1000px),(max-height:560px){.am-room-tools{left:auto;right:84px;top:auto;bottom:10px!important}.am-upgrade-launcher,#ahUpgrade{min-width:104px}#ahUpgrade{font-size:13px}.am-room-resume{left:24px;bottom:72px}}

#ahBottom{pointer-events:none}#ahBottom :is(.ah-nav,.ah-right-tools){pointer-events:auto}

/* V15: residence utilities share the same row and button material. */
.am-room-tools{display:flex;gap:12px;align-items:center;background:none;padding:0}
.am-room-tools #ahPageTools{position:static;inset:auto;transform:none}
@media(max-width:1000px),(max-height:560px){.am-room-tools{gap:8px}#ahPageTools button.am-nextday-entry{min-width:104px;font-size:13px}}

/* Map decoration must not intercept the map or the rail behind empty footer space. */
#actorLifeMapBottom{pointer-events:none}
#actorLifeMapBottom :is(.ah-nav,#footprintButton,#phoneHubEntry){pointer-events:auto}
/* Keep original portrait sizes and order; only the rail scrolls when the footer needs space. */
body.actor-map-navigation .lead-rail{max-height:calc(100dvh - 72px - env(safe-area-inset-bottom,0px) - 80px - 52px - 16px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}
body.actor-map-navigation .lead-rail>.lead-button{flex-shrink:0}
@media(max-width:950px){body.actor-map-navigation .lead-rail{max-height:calc(100dvh - 53px - env(safe-area-inset-bottom,0px) - 64px - 48px - 16px)}}

/* Existing button sizes and order are retained; the home rail gains one ability entry. */
#ahBottom .ah-nav[data-items="5"]{grid-template-columns:repeat(5,112px)}
@media(max-width:1000px),(max-height:560px){#ahBottom .ah-nav[data-items="5"]{grid-template-columns:repeat(5,92px)}}

@media(max-width:1000px),(max-height:560px){#actorHome[data-page=home] .am-room-tools{right:24px;bottom:124px!important}}
