/* A full-screen pixel landscape, with the navigation kept quietly around it. */
body.pixel-town{--pixel-ink:#0b1728;--pixel-panel:#101e34;--pixel-line:#344b66;--pixel-cyan:#64dcea;--pixel-pink:#e28db2;--pixel-muted:#91a8bf;background:var(--pixel-ink)!important;color:#e8f1ff;font-family:'VT323',monospace;overflow:hidden}
body.pixel-town .desktop-scene{height:100dvh!important;min-height:640px!important;padding:0!important;overflow:hidden!important;background:var(--pixel-ink)!important}
body.pixel-town .world-stage{display:block!important;max-width:none!important;width:100%;height:100%!important;position:relative}
body.pixel-town .left-rail,body.pixel-town .right-rail,body.pixel-town .mobile-tool-dock,body.pixel-town .map-titlebar,body.pixel-town .taskbar{display:none!important}
body.pixel-town .map-shell{height:100%!important;width:100%!important;min-height:0!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;background:var(--pixel-ink);border:0;box-shadow:none;overflow:clip}
body.pixel-town .town-map{min-height:0!important;background:linear-gradient(#b1d6d7 0 var(--sky-shift,60px),#91bcc4 var(--sky-shift,60px) var(--land-horizon,150px),#50776d var(--land-horizon,150px) var(--grass-horizon,195px),#3b6459 var(--grass-horizon,195px) 100%)!important}
body.pixel-town .town-map:focus-visible{box-shadow:none!important}
body.pixel-town .town-world{background:transparent!important}
body.pixel-town .town-world:after{display:none}
.pixel-landscape{position:absolute;inset:0;width:100%;height:100%;z-index:-4;pointer-events:none}
body.pixel-town .town-world>.hill,body.pixel-town .town-world>.cloud,body.pixel-town .town-world>.sky-orb,body.pixel-town .town-world>.river,body.pixel-town .town-world>.tree{display:none!important}
body.pixel-town .town-world>.building,body.pixel-town .town-world>.map-farm{filter:none!important;overflow:visible;background:transparent!important}
body.pixel-town .town-world>.building:hover,body.pixel-town .town-world>.map-farm:hover{filter:brightness(1.16)!important}
body.pixel-town .town-world .building>span:not(.building-label):not(.tomato-town-live-dot):not(.data-center-live),body.pixel-town .town-world .building>.tomato-roof-badge,body.pixel-town .map-farm>span:not(.farm-label){display:none!important}
.pixel-building{position:absolute;inset:0;width:100%;height:100%;overflow:visible;image-rendering:pixelated;pointer-events:none}
body.pixel-town .town-world .building .building-label,body.pixel-town .town-world .farm-label{top:-22px!important;min-width:0!important;padding:0!important;bottom:auto!important;color:#eef4dc!important;background:transparent!important;border:0!important;box-shadow:none!important;text-shadow:2px 2px #213d40;letter-spacing:.6px;pointer-events:none}
body.pixel-town .town-world .building-label b,body.pixel-town .town-world .farm-label{font:20px 'VT323',monospace!important}
body.pixel-town .town-world .building-label small{display:none}
body.pixel-town .town-world .building.is-nearby .building-label,body.pixel-town .town-world .map-farm.is-nearby .farm-label{color:#86f0e3!important;box-shadow:none!important}
body.pixel-town .tomato-town-live-dot,body.pixel-town .data-center-live{top:31px!important;right:9px!important;width:6px!important;height:6px!important;border-radius:0!important;box-shadow:none!important}
body.pixel-town .entrance-marker{height:6px;width:16px;border:0;border-radius:0;background:#bdeed266;box-shadow:0 3px #223e3a;transform:translate(-50%,-50%)}
body.pixel-town .entrance-marker.active{background:#8bf1e0;box-shadow:0 0 0 3px #83ecd72b}
body.pixel-town .town-player{filter:none;width:30px;height:43px}
body.pixel-town .town-player:after{font:12px 'VT323',monospace;color:#bdede0;background:#223d3e;border:0;border-radius:0;bottom:49px;padding:1px 4px}
body.pixel-town .town-player:before{border-radius:0;height:4px;width:24px;background:#203d42;left:3px}
body.pixel-town .scanlines{opacity:.3;background:repeating-linear-gradient(to bottom,transparent 0 2px,#061a3433 3px 4px)}
.pixel-header{position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(1120px,100%);height:140px;z-index:25;pointer-events:none}
.pixel-identity{text-align:center;padding-top:20px;color:#e5f1ed}
.pixel-identity h1{font:clamp(44px,5.5vw,76px)/1 'VT323',monospace;font-weight:400;letter-spacing:7px;margin:0;text-shadow:-3px -2px #60e2e9,3px 3px #d8709e;white-space:nowrap}
.pixel-identity p{margin:11px 0 0;color:#346a7f;font:15px 'VT323',monospace;letter-spacing:3px;text-shadow:1px 1px #d6eee4}
.pixel-header button{pointer-events:auto;width:34px;height:32px;padding:0;display:grid;place-items:center;border:1px solid #557487;border-radius:0;background:#152c3be8;color:#acc6d2;box-shadow:inset 0 0 0 2px #263d4d;font:22px 'VT323',monospace;cursor:pointer}
.pixel-header button:hover{color:#79eef2;border-color:#79eef2}
.pixel-menu-button{position:absolute;top:18px;left:22px}
.pixel-utilities{position:absolute;right:22px;top:18px;display:grid;gap:4px}
body.pixel-town .town-walk-controls{z-index:30;padding:14px max(22px,calc((100vw - 940px)/2)) 20px;display:flex;flex-direction:column;gap:12px;background:#091423;color:#e8f1ff;border:0;box-shadow:0 -8px #203e43;font:16px 'VT323',monospace}
.walk-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#829bb4;letter-spacing:2px;font-size:12px}
.walk-help{position:relative;letter-spacing:2px}
.walk-help summary{cursor:pointer;list-style:none;min-height:22px;padding:3px 0;outline-offset:5px}.walk-help summary:before{content:'▸ ';color:#75cbd4}.walk-help[open] summary:before{content:'▾ '}
.walk-help>div{position:absolute;left:0;bottom:30px;width:340px;max-width:calc(100vw - 44px);padding:16px 20px;background:#102033fa;box-shadow:0 0 0 1px #67b2c4,5px 5px #07101de0;color:#bbd0de;font:17px/1.35 'VT323',monospace;letter-spacing:0;z-index:50}
.walk-help p{margin:0 0 13px}.walk-help p:last-child{margin:0}.walk-help b{display:block;color:#76dbe6;letter-spacing:2px;margin-bottom:3px;font-weight:400}
.walk-main{display:grid;grid-template-columns:150px minmax(140px,1fr) minmax(240px,1.3fr);gap:22px;align-items:center}
.key-guide{display:flex;align-items:center;gap:12px;color:#aac1d4;letter-spacing:2px;font-size:14px}.key-guide small{display:block;font-size:12px;color:#708ca7;letter-spacing:0;margin-top:3px}
.arrow-key-cluster{display:grid;grid-template-columns:repeat(3,23px);grid-template-rows:repeat(2,22px);gap:3px}
.arrow-key-cluster kbd{display:grid;place-items:center;border:1px solid #43617a;box-shadow:0 2px #030b17;background:#162c42;color:#b1dbdf;font:18px 'VT323',monospace}.arrow-key-cluster kbd:first-child{grid-column:2}.arrow-key-cluster kbd:nth-child(2){grid-column:1;grid-row:2}.arrow-key-cluster kbd:nth-child(3){grid-column:2;grid-row:2}.arrow-key-cluster kbd:nth-child(4){grid-column:3;grid-row:2}
body.pixel-town .walk-status{gap:3px;align-content:center}.walk-status>small{color:#7995b0;letter-spacing:2px;font-size:11px}body.pixel-town .walk-status strong{font:23px/1 'VT323',monospace;color:#dde9f4;font-weight:400}body.pixel-town .walk-status .walk-nudge{font:13px 'VT323',monospace;color:#86a1b9}
body.pixel-town .enter-place{display:flex;align-items:center;justify-content:center;gap:15px;min-height:64px;width:100%;background:#111f35;color:#cfe7f1;border:2px solid #65d6e4;border-radius:0;box-shadow:inset 0 0 0 3px #192c43,3px 3px #020a18;font:21px 'VT323',monospace;letter-spacing:2px;cursor:pointer;text-transform:uppercase}
body.pixel-town .enter-place kbd{font:20px 'VT323',monospace;color:#73b8c8}body.pixel-town .enter-place:disabled{border-color:#355b6e;opacity:1;color:#758eaa;cursor:default}body.pixel-town .enter-place:enabled:hover{background:#1b344b;box-shadow:inset 0 0 0 3px #192c43,3px 3px #020a18,0 0 12px #54d4e62e}
body.pixel-town .walk-actions{display:flex;max-width:none;justify-content:flex-end;gap:7px;flex-wrap:wrap}body.pixel-town .walk-actions>span{margin-right:auto;align-self:center;color:#68839e;letter-spacing:1px;font-size:11px}
body.pixel-town .walk-actions button,body.pixel-town .walk-actions select{min-height:26px;background:#101d31;color:#8daac2;border:1px solid #273c54;border-radius:0;box-shadow:none;font:13px 'VT323',monospace;letter-spacing:1px;padding:4px 8px;max-width:none;width:auto;cursor:pointer}body.pixel-town .walk-actions button:hover,body.pixel-town .walk-actions select:hover{color:#76dfea;border-color:#4a8a9e}
body.pixel-town .town-touch-pad{display:none}
.town-drawer{position:fixed;top:0;left:0;bottom:0;right:auto;margin:0;width:340px;max-width:88vw;height:100dvh;max-height:100dvh;overflow-y:auto;padding:22px;background:#0d1a2b;color:#c6d9e8;border:0;border-right:1px solid #436378;box-shadow:10px 0 #020b1844;font:20px 'VT323',monospace}
.town-drawer::backdrop{background:#031120ad;backdrop-filter:blur(2px)}
.town-drawer header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:26px;color:#8ed7df;letter-spacing:2px}.town-drawer header strong{font-weight:400;font-size:20px}.town-drawer header button{color:#a4c6d4;background:#142940;border:1px solid #466078;width:34px;height:34px;font:28px 'VT323';cursor:pointer}.town-drawer>p{color:#658ba6;font-size:12px;letter-spacing:3px;margin:20px 0 8px}.town-drawer nav{display:grid;gap:3px}.town-drawer nav button{display:flex;justify-content:space-between;width:100%;padding:10px 12px;background:#122238;color:#b2cadc;border:1px solid #23364e;font:20px 'VT323';cursor:pointer;text-align:left}.town-drawer nav button:hover{background:#19374a;color:#75e2e6;border-color:#487e8d}.town-drawer nav button>span:last-child{color:#668eab}.town-drawer footer{color:#5b7c97;font-size:12px;letter-spacing:1px;padding:25px 0 5px}
/* Rooms retain their contents and behavior, with a consistent pixel frame. */
body.pixel-town .desktop{inset:0;z-index:100}
body.pixel-town .xp-window,body.pixel-town .cinema-window{border:2px solid #50788e;border-radius:0!important;box-shadow:0 0 0 4px #11273e,10px 10px #020b18a6}
body.pixel-town .xp-title,body.pixel-town .cinema-titlebar{background:#10283e!important;border-bottom:1px solid #426680;color:#c9e5ee;font:19px 'VT323',monospace;text-shadow:none;min-height:38px;height:auto}
body.pixel-town .xp-title button,body.pixel-town .cinema-titlebar button,body.pixel-town .mobile-window-close{background:#203b51!important;border:1px solid #638595!important;border-radius:0;color:#c6e0e8;font:22px 'VT323'!important;box-shadow:none}
body.pixel-town .xp-body{background:#dce4d9;color:#283e48;line-height:1.5}
body.pixel-town .xp-body h2,body.pixel-town .xp-body h3{color:#315d69;font-family:'VT323',monospace;font-weight:400;letter-spacing:.5px}
body.pixel-town .xp-body h2{font-size:30px}body.pixel-town .xp-body h3{font-size:24px}
body.pixel-town .toast{background:#10273a;color:#c3e4e8;border:1px solid #75b5c6;font:18px 'VT323';box-shadow:4px 4px #05111f}
body.pixel-town .library-shelves nav button,body.pixel-town .library-shelves nav a{background:#cbdacf;border-color:#90aaa5;color:#294d54}
body.pixel-town .library-resume{background:#ccd9cd;border-color:#779e96}
@media(max-width:760px){body.pixel-town .desktop-scene{min-height:660px!important}.pixel-identity{padding-top:30px}.pixel-identity h1{font-size:52px;letter-spacing:4px}.pixel-identity p{font-size:12px;letter-spacing:1.5px}.pixel-menu-button{left:12px;top:14px}.pixel-utilities{right:12px;top:14px}.pixel-header button{width:28px;height:28px;font-size:19px}.pixel-header{height:130px}.walk-main{grid-template-columns:100px minmax(0,1fr);gap:12px}body.pixel-town .key-guide{display:none}body.pixel-town .town-touch-pad{display:grid;grid-template-columns:repeat(3,32px);grid-template-rows:repeat(2,32px);gap:3px}body.pixel-town .town-touch-pad button{border:1px solid #55718b;background:#172e43;color:#b3d9e1;font:23px 'VT323';box-shadow:0 2px #030d1a;touch-action:none}.walk-status{grid-column:2;grid-row:1}body.pixel-town .enter-place{grid-column:1/-1;min-height:47px;font-size:21px}.walk-actions>span{display:none}body.pixel-town .town-walk-controls{padding:12px 16px 16px;gap:8px}.walk-topline{font-size:11px;letter-spacing:1px}.town-mode{font-size:11px}body.pixel-town .walk-actions{justify-content:center;gap:5px}body.pixel-town .walk-actions select,body.pixel-town .walk-actions button{font-size:12px;min-height:30px;padding:4px 7px}.walk-help>div{bottom:26px}body.pixel-town .town-player{width:34px;height:48px}body.pixel-town .town-map:focus-visible{box-shadow:none!important}}
@media(max-width:400px){.pixel-identity h1{font-size:45px;letter-spacing:3px}.pixel-identity p{font-size:11px;letter-spacing:1px}.pixel-identity{padding-top:44px}.pixel-utilities{display:flex;top:10px}.pixel-menu-button{top:10px}.pixel-header{height:130px}body.pixel-town .walk-status strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){body.pixel-town .scanlines{display:none}.town-drawer::backdrop{backdrop-filter:none}}

/* Interior panels use the same midnight palette; decorative rooms keep their art. */
body.pixel-town .xp-window{background:#112238}
body.pixel-town .xp-body{background:#112238;color:#b8ccdc;font:18px/1.4 'VT323',monospace}
body.pixel-town .xp-body h2,body.pixel-town .xp-body h3{color:#81d6dc}
body.pixel-town .xp-body :is(.avatar-card,.project-card,.mini-status,.bug-card,.inspector,.guest-entry,.achievement,.analytics-room section,.incident-list>div,.assistant-panel,.visitor-detail-panel){background:#182d43;border-color:#38556b;color:#c7d9e3}
body.pixel-town .xp-body :is(.demo-stats>div,.analytics-cards>div){background:#182d43;border-color:#38556b}
body.pixel-town .xp-body :is(.demo-stats b,.analytics-cards b){color:#82d7de}
body.pixel-town .xp-body :is(.muted,.guest-entry small,.achievement small,.bug-card small,.incident-list small,.demo-stats span,.analytics-cards span,.assistant-status span){color:#8ca7bd;font-size:15px}
body.pixel-town .chips span{background:#193748;color:#a5d9d7;border-color:#3b6674;font:16px 'VT323'}
body.pixel-town .xp-body :is(input,textarea,select){background:#091a2b;color:#c9e0e8;border:1px solid #416681;border-radius:0;padding:8px;font:17px 'VT323'}
body.pixel-town .xp-body :is(.win-btn,.shop-item){background:#213c50;color:#c1e2e6;border:1px solid #5c8997;font:18px 'VT323'}
body.pixel-town .xp-body .newspaper{color:#b8ccdc}
body.pixel-town .library-shelves nav button,body.pixel-town .library-shelves nav a{background:#193349;border-color:#3b6378;color:#c2e3e7;font:21px 'VT323'}
body.pixel-town .library-shelves nav small{color:#8facbe;font:16px 'VT323'}
body.pixel-town .library-resume{background:#192d42;border-color:#537d8d;color:#a3bdce;font:17px 'VT323'}
body.pixel-town .avatar-card small{font:16px 'VT323';color:#91adbf}
body.pixel-town .tomato-login-state{background:#152d3e;color:#acccd5;border-color:#426271}
body.pixel-town .inspector dt{color:#7f9fb8}
body.pixel-town .data-center-login-dialog{background:#112238;color:#bbd6e2;border-color:#537f94}
body.pixel-town .data-center-login-body>p,body.pixel-town .data-center-login-body label{color:#b6ceda}
body.pixel-town .data-center-login-note{color:#849fb3}
body.pixel-town :is(button,a,select,input,textarea,summary):focus-visible{outline:2px solid #75e0e8;outline-offset:3px}
@media(max-width:760px){.walk-main{grid-template-columns:138px minmax(0,1fr)}body.pixel-town .town-touch-pad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,40px)}body.pixel-town .walk-status .walk-nudge{font-size:14px;line-height:1.2}}
@media(max-height:660px){body.pixel-town{overflow:auto}body.pixel-town .desktop-scene{height:720px!important;min-height:720px!important}}
