@import url('https://fonts.googleapis.com/css2?family=DotGothic16&family=M+PLUS+Rounded+1c:wght@400;500;700;800&display=swap');
:root{--ink:#e6e4c8;--muted:#a5b29a;--panel:#253a36;--panel2:#304b42;--line:#536e56;--gold:#e6c36f;--green:#83b475;--red:#c97b68;--shadow:0 8px 28px #101b1b70}
*{box-sizing:border-box}body{margin:0;background:#172626;color:var(--ink);font-family:'M PLUS Rounded 1c',system-ui,sans-serif;background-image:radial-gradient(ellipse at 20% 10%,#30443a 0,transparent 48%),linear-gradient(160deg,#1c302d,#142120 70%)}button{font:inherit;cursor:pointer;color:inherit}.topbar{height:68px;padding:0 max(20px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;background:#1b2d2b;border-bottom:2px solid #425746;position:sticky;top:0;z-index:3;box-shadow:0 4px 18px #10191980}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}.brand-mark{width:39px;height:39px;background:#d6bd70;border:3px solid #907d4d;display:grid;place-items:center;font-size:22px;color:#233b34;box-shadow:inset 0 0 0 2px #f4df98}.brand strong{display:block;font-family:'DotGothic16',sans-serif;font-size:16px;letter-spacing:.06em}.brand small{display:block;color:#a7b8a1;font-size:10px;margin-top:2px}.top-actions{display:flex;gap:10px;align-items:center}.demo-pill,.tile-badge{background:#354b3c;border:1px solid #70805a;padding:5px 10px;font-family:'DotGothic16',sans-serif;font-size:9px;color:#e7ce7d;letter-spacing:.08em}.icon-btn{border:2px solid #758160;background:#30483d;width:34px;height:34px;color:#f2da91;font-weight:800;font-size:16px;box-shadow:inset 0 -3px #24382f}.layout{max-width:1280px;margin:20px auto;padding:0 18px 20px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:16px;align-items:start}.panel{background:linear-gradient(145deg,#293f39,#213530);border:2px solid #50674e;box-shadow:var(--shadow),inset 0 0 0 2px #30483c;border-radius:4px}.world-panel{padding:18px}.world-heading,.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.eyebrow{font-family:'DotGothic16',sans-serif;color:#d6bd70;font-size:9px;letter-spacing:.12em;margin:0 0 4px}.world-heading h1,.section-title h2,.profile-head h2,.dialog-inner h2{margin:0;font-family:'DotGothic16',sans-serif}.world-heading h1{font-size:20px;text-shadow:2px 2px #101c19}.section-title h2,.profile-head h2,.dialog-inner h2{font-size:15px}.small-button,.primary-button{border:2px solid #8c7840;background:linear-gradient(#ecd58c,#c8a955);color:#26382e;padding:8px 12px;font-family:'DotGothic16',sans-serif;font-size:10px;box-shadow:inset 0 -3px #aa8e4b,0 2px #111d19}.small-button:disabled{opacity:.45;cursor:not-allowed}.world-stats{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0;color:#adbd9f;font-family:'DotGothic16',sans-serif;font-size:10px}.world-stats b{color:#f2dfa2}.map-wrap{background:#202f29;border:3px solid #64784e;padding:7px;overflow:auto;box-shadow:inset 0 0 0 2px #15231f}.map{display:grid;grid-template-columns:repeat(13,minmax(30px,1fr));grid-template-rows:repeat(11,40px);gap:2px;min-width:440px;background:#29382d;padding:3px}.cell{position:relative;border:2px solid #6c8a54;background:#719054;box-shadow:inset 0 -4px #536f42;display:grid;place-items:center;cursor:pointer;user-select:none;font-size:15px;transition:filter .12s,transform .12s}.cell::after{content:'';position:absolute;inset:3px auto auto 4px;width:3px;height:3px;background:#ccd28c;box-shadow:7px 6px #ccd28c,17px 2px #607e49;opacity:.55}.cell:hover{filter:brightness(1.2);transform:translateY(-1px)}.cell:focus-visible{outline:3px solid #f5d77b;z-index:1}.cell.path{background:#829a5b}.cell.water{background:#548b91;border-color:#46777b;box-shadow:inset 0 -4px #3d6f73;cursor:not-allowed}.cell.forest{background:#476f4b;border-color:#3d6546;box-shadow:inset 0 -4px #31543d}.cell.yours{background:#c9a952;border-color:#f0d278;box-shadow:inset 0 -4px #977b37}.cell.other{background:#a45f52;border-color:#d18a67;box-shadow:inset 0 -4px #804b43}.cell.reclaim{background:#765990;border-color:#ba91c7;box-shadow:inset 0 -4px #594675}.cell.yours.reclaim{background:#c9a952;border-color:#f0d278;box-shadow:inset 0 -4px #977b37}.cell.selected{outline:3px solid #fff0a4;outline-offset:1px;z-index:1}.cell.player::before{content:'🧙';position:absolute;z-index:2;font-size:20px;filter:drop-shadow(0 2px 1px #15201b);animation:bob 1s infinite alternate}.cell.player .cell-icon{opacity:0}.cell.home::after{content:'⌂';inset:auto;position:static;background:none;box-shadow:none;font-size:17px;color:#fff0bd}.cell-icon{position:relative;z-index:1}.land-mark{position:absolute;bottom:0;right:2px;color:#fff0bd;font-size:9px;z-index:1}.map-legend{display:flex;gap:14px;flex-wrap:wrap;padding:11px 2px 7px;color:#b4c09d;font-family:'DotGothic16',sans-serif;font-size:9px}.map-legend span{display:flex;align-items:center;gap:5px}.legend-swatch{width:11px;height:11px;display:inline-block;border:1px solid #d6dcbb}.legend-swatch.yours{background:#c9a952}.legend-swatch.other{background:#a45f52}.legend-swatch.wild{background:#829a5b}.legend-swatch.path{background:#548b91}.travel-panel{border-top:1px solid #53694e;margin-top:7px;padding-top:11px}.travel-row{display:flex;justify-content:space-between;gap:10px;font-family:'DotGothic16',sans-serif;font-size:10px;color:#d8d5ad}.travel-row span{color:#e4ca7a}.travel-track{height:8px;margin-top:7px;background:#172722;border:1px solid #637450;overflow:hidden}.travel-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7fac64,#e1c163);transition:width .2s}.travel-track.moving i{box-shadow:0 0 8px #e1c163}.hint{margin:9px 0 0;font-size:10px;color:#a0ae97;line-height:1.6}.house-view{padding:10px 2px}.house-view.hidden,.hidden{display:none!important}.house-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#f1d783;font-family:'DotGothic16',sans-serif;font-size:11px;margin:0 0 8px}.house-caption small{font-family:'M PLUS Rounded 1c',sans-serif;font-size:9px;color:#abb99f}.house-floor{max-width:570px;margin:auto;display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));grid-template-rows:repeat(5,58px);gap:3px;padding:15px 21px 17px;background:#634c3b;border:5px solid #b19a67;box-shadow:inset 0 0 0 4px #e3ca89,0 5px #17211d;position:relative}.house-floor::before,.house-floor::after{content:'';position:absolute;background:#89684a}.house-floor::before{height:8px;left:10px;right:10px;top:8px}.house-floor::after{height:8px;left:10px;right:10px;bottom:8px}.room-tile{position:relative;border:1px solid #ac9260;background:repeating-linear-gradient(90deg,#b08a58 0 27px,#a17d50 27px 29px);box-shadow:inset 0 0 0 2px #c4a16b;display:grid;place-items:center;font-size:22px}.room-tile:nth-child(odd){filter:brightness(.97)}.room-tile.occupied{background:#a37c4c}.room-tile.slot-selected{outline:3px solid #f5dc83;z-index:2}.room-player{position:absolute;bottom:0;right:1px;font-size:17px;font-style:normal;filter:drop-shadow(0 2px 1px #33251d)}.house-legend{display:flex;justify-content:center;gap:16px;margin:9px;color:#c9c7a3;font-size:9px}.inventory-box{max-width:570px;margin:12px auto 0;background:#1b2d29;border:1px solid #58694b;padding:10px}.inventory-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#eed783;font-family:'DotGothic16',sans-serif;font-size:10px}.inventory-heading small{font:9px 'M PLUS Rounded 1c',sans-serif;color:#aab59c}.inventory-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;min-height:34px}.inventory-item{display:flex;align-items:center;gap:5px;background:#394b3a;border:1px solid #728157;padding:5px 7px;font-size:9px;color:#e5e1c0}.inventory-item.chosen{outline:2px solid #f1d172;background:#685b35}.inventory-item span:first-child{font-size:17px}.inventory-item.remove-item{background:#634239;border-color:#a46650}.empty-inventory{font-size:9px;color:#aab59c;align-self:center}.side-column{display:flex;flex-direction:column;gap:12px}.profile-panel,.action-panel,.shop-panel,.log-panel{padding:14px}.profile-head{display:flex;align-items:center;gap:9px}.profile-head h2{font-size:14px}.profile-head .eyebrow{margin-bottom:3px}.avatar{width:40px;height:40px;background:#66593c;border:2px solid #b4a064;display:grid;place-items:center;font-size:23px}.text-button{border:0;background:transparent;color:#d3c479;font:inherit;font-size:9px;font-weight:800;padding:5px;cursor:pointer}.profile-head .text-button{margin-left:auto}.wallet{margin-top:13px;background:#172a28;border:1px solid #56664a;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;color:#e4cf83;font-family:'DotGothic16',sans-serif;font-size:11px}.wallet strong{font-size:22px;color:#fff0be}.income-row{display:flex;justify-content:space-between;margin-top:8px;color:#a7b49b;font-size:10px}.income-row b{color:#cfe09e}.morale{margin-top:12px;padding-top:10px;border-top:1px solid #4b6049}.morale>div:first-child{display:flex;justify-content:space-between;font-size:10px;font-weight:800}.bar{height:9px;background:#142420;overflow:hidden;margin-top:6px;border:1px solid #55674b}.bar i{display:block;height:100%;width:100%;background:#89b477;transition:width .2s}.morale small{display:block;color:#9ca993;font-size:9px;margin-top:6px;line-height:1.5}.section-title h2{font-size:13px}.section-title .eyebrow{margin-bottom:3px}.tile-description{font-size:10px;color:#b0bba3;line-height:1.6;margin:9px 0}.tile-actions{display:flex;gap:7px;flex-wrap:wrap}.tile-actions button,.shop-item button{border:1px solid #77875a;background:linear-gradient(#526e4c,#394f3d);color:#eff0ce;padding:7px 9px;font-family:'DotGothic16',sans-serif;font-size:9px;box-shadow:inset 0 -2px #273b32;cursor:pointer}.tile-actions button.warn{background:#714339;border-color:#a87154}.tile-actions button:disabled,.shop-item button:disabled{opacity:.45;cursor:not-allowed}.occupation{background:#172a28;border:1px solid #796743;padding:9px;margin:9px 0}.occupation.hidden{display:none}.occ-head{display:flex;justify-content:space-between;font-size:10px;font-weight:800;color:#ead484}.occupation .bar i{background:#d8a94d}.occupation .text-button{float:right}.shop-items{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.shop-item{border:1px solid #4d624b;background:#1d302c;padding:8px;display:grid;grid-template-columns:27px 1fr;gap:0 6px;align-items:center}.shop-item .emoji{grid-row:span 2;font-size:20px}.shop-item strong{font-size:9px}.shop-item small{font-size:8px;color:#a6b399}.shop-item button{grid-column:1/3;margin-top:6px}.shop-note{font-size:9px;color:#a4b098;margin:8px 0 0;line-height:1.5}.log-panel .section-title{margin-bottom:6px}.event-log{padding:0;margin:0;list-style:none;max-height:105px;overflow:auto}.event-log li{padding:6px 0;border-top:1px dashed #4a5d49;font-size:9px;color:#bdc3a7}.event-log li:first-child{border:0}.event-log time{color:#e2c76e;margin-right:5px}.log-panel .text-button{margin-left:auto}footer{max-width:1280px;margin:0 auto 20px;padding:0 18px;color:#9ba995;font-size:9px;text-align:center}.dialog-inner{min-width:min(88vw,370px);padding:24px;border:3px solid #748154;background:#263a34;color:var(--ink);position:relative;box-shadow:inset 0 0 0 3px #1b2d29}.dialog-inner ul{padding-left:20px;color:#c1c9ac;font-size:11px;line-height:1.9}.dialog-inner input{width:100%;border:1px solid #8c966a;background:#152522;color:white;padding:11px;font:inherit;margin:13px 0}.primary-button{width:100%;margin-top:8px}.demo-warning{background:#453e2d;border:1px solid #83764b;padding:10px;color:#ded09a;font-size:9px;line-height:1.5}dialog{padding:0;border:0;background:transparent;box-shadow:0 20px 80px #08110fbb}dialog::backdrop{background:#0c1514cc}@keyframes bob{to{transform:translateY(-3px)}}
@media(max-width:800px){.topbar{height:60px;padding:0 12px}.brand-mark{width:34px;height:34px}.brand strong{font-size:13px}.brand small{font-size:8px}.demo-pill{font-size:8px}.layout{grid-template-columns:1fr;margin:11px auto;padding:0 9px 13px;gap:10px}.world-panel{padding:12px}.world-heading h1{font-size:16px}.world-stats{gap:7px 13px;font-size:9px}.map{grid-template-rows:repeat(11,34px);min-width:430px}.side-column{display:grid;grid-template-columns:1fr 1fr;align-items:start}.profile-panel,.action-panel,.shop-panel,.log-panel{padding:10px}.shop-panel,.log-panel{grid-column:span 2}.profile-head{gap:6px}.avatar{width:33px;height:33px}.profile-head h2{font-size:12px}.profile-head .text-button{font-size:8px}.wallet{padding:8px}.wallet strong{font-size:18px}.income-row{font-size:8px}.shop-items{grid-template-columns:repeat(2,1fr)}.house-floor{grid-template-rows:repeat(5,48px);padding:13px 14px}.house-caption{align-items:flex-start;flex-direction:column;gap:2px}.travel-row{font-size:9px}footer{padding:0 12px;font-size:8px}}
@media(max-width:420px){.side-column{grid-template-columns:1fr}.profile-panel,.action-panel,.shop-panel,.log-panel{grid-column:1}.map{min-width:420px}.world-heading .small-button{font-size:8px;padding:7px}.house-floor{grid-template-rows:repeat(5,44px);padding:12px 10px}.house-legend{font-size:8px;gap:9px}.inventory-heading{align-items:flex-start;flex-direction:column;gap:2px}}

/* Side-on, cutaway pixel room: furniture snaps along one visible floor line. */
.house-view{overflow-x:auto;padding:10px 2px 14px}
.house-floor{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(20,minmax(38px,1fr));grid-template-rows:1fr;gap:0;min-width:900px;max-width:100%;height:285px;margin:52px auto 0;padding:32px 10px 0;border:8px solid #835a3a;border-top:0;background-color:#b9955b;background-image:repeating-linear-gradient(90deg,transparent 0 69px,#a57d4b 70px 73px,transparent 74px 142px),linear-gradient(180deg,#c4a66b 0%,#b9955b 100%);box-shadow:inset 0 0 0 3px #dfbf78,0 6px #111d19}
.house-floor::before{content:'';position:absolute;z-index:-1;left:-2.5%;right:-2.5%;height:58px;top:-53px;background:#765137;clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 5px #d1ae67)}
.house-floor::after{content:'';position:absolute;z-index:0;left:0;right:0;bottom:0;height:48px;border-top:7px solid #67472f;background:repeating-linear-gradient(0deg,#a97e4a 0 12px,#8d6840 13px 15px);box-shadow:inset 0 4px #d0a361}
.room-tile{z-index:1;position:relative;min-width:0;border:0;border-bottom:0;padding:0 1px 14px;background:transparent;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-size:29px;overflow:visible}
.room-tile:nth-child(odd){filter:none}
.room-tile::after{content:'';position:absolute;z-index:-1;left:3px;right:3px;bottom:7px;height:7px;background:#f1d58b;opacity:0;transition:opacity .12s}
.room-tile:hover::after,.room-tile.slot-selected::after{opacity:.8}
.room-tile.occupied{background:transparent}
.room-tile span{position:relative;z-index:2;filter:drop-shadow(1px 2px #493523)}
.room-tile:first-child span{align-self:flex-start;margin-left:4px}
.room-player{position:absolute;z-index:3;left:50%;right:auto;bottom:12px;transform:translateX(-50%);font-size:21px;font-style:normal;filter:drop-shadow(1px 2px #493523)}
.house-legend{color:#d2c89f}
@media(max-width:800px){.house-floor{height:250px;margin-top:48px;grid-template-columns:repeat(20,minmax(38px,1fr));padding:28px 8px 0}.house-floor::before{height:50px;top:-47px}.house-floor::after{height:43px}.room-tile{font-size:25px}.room-player{font-size:18px}}

/* Scrollable catalog, bundles, and territory pop-up shop */
.shop-panel{scroll-margin-top:78px}
.top-actions .shop-jump{padding:7px 10px;font-size:9px;white-space:nowrap}
.shop-panel>.shop-note{line-height:1.55}
.shop-sets{display:grid;gap:7px;margin:11px 0 14px}
.bundle-card{display:grid;grid-template-columns:30px 1fr;gap:2px 7px;align-items:center;padding:9px;background:#243a32;border:1px solid #718052}
.bundle-card .bundle-icon{grid-row:span 2;font-size:22px}
.bundle-card strong{font-size:10px;color:#f0db91}
.bundle-card small{font-size:8px;color:#b3bea5;line-height:1.5}
.bundle-card button,.shop-item .upgrade-button{grid-column:1/-1;border:1px solid #957d43;background:linear-gradient(#e5ca78,#b59448);color:#27372d;padding:6px 7px;font-family:'DotGothic16',sans-serif;font-size:9px;box-shadow:inset 0 -2px #92753b}
.bundle-card button:disabled,.shop-item button:disabled{opacity:.45;cursor:not-allowed}
.catalog-title{margin:10px 0 5px;color:#ebd588;font:11px 'DotGothic16',sans-serif}
.shop-items{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:430px;overflow-y:auto;overscroll-behavior:contain;padding:4px 5px 8px 0;scrollbar-color:#8c8959 #1a2c27;scrollbar-width:thin}
.shop-items .catalog-group{grid-column:1/-1;margin:9px 0 0;padding:5px 7px;background:#182a26;border-left:3px solid #b3a461;color:#d9d49f;font:9px 'DotGothic16',sans-serif}
.shop-item{grid-template-columns:27px 1fr;min-height:96px;align-content:start}
.shop-item small{line-height:1.5}
.shop-item button{font-size:8px;padding:6px 4px}
.shop-item .upgrade-button{background:linear-gradient(#748b59,#4b6648);border-color:#a2a96d;color:#f0efce;box-shadow:inset 0 -2px #3d573d}
.limited-shop-panel{margin-top:12px;padding:10px;background:#2b3b30;border:2px solid #dfbd59;box-shadow:inset 0 0 0 2px #182722}
.limited-shop-panel.hidden{display:none}
.limited-timer{color:#ffe68b;font:9px 'DotGothic16',sans-serif;white-space:nowrap}
.limited-shop-offers{display:grid;gap:6px;max-height:315px;overflow-y:auto}
.limited-offer{position:relative;padding-top:15px}
.limited-discount{position:absolute;z-index:1;top:0;right:7px;padding:2px 5px;background:#a75345;color:white;font:8px 'DotGothic16',sans-serif}
.limited-offer .shop-items{max-height:none;overflow:visible;padding:0}
.limited-offer .shop-item{background:#1a2c27}
.limited-offer .shop-item button:first-of-type{border-color:#b38c46}
.limited-shop-mark{position:absolute;z-index:3;right:1px;top:0;font-size:15px;filter:drop-shadow(1px 1px #2b1e13);animation:bob .65s infinite alternate}
.cell.limited-shop{outline:3px solid #ffe27b;outline-offset:-3px;z-index:2}
.wall-style-moss-wall{background-color:#8ca583!important}
.wall-style-wave-wall{background-color:#8baeb4!important}
.wall-style-star-wall{background-color:#585e82!important}
.room-piece{font-size:30px;line-height:1;image-rendering:pixelated}
@media(max-width:800px){.top-actions .shop-jump{padding:6px;font-size:8px}.shop-items{max-height:380px;grid-template-columns:1fr 1fr}.limited-shop-offers{max-height:280px}}
@media(max-width:420px){.demo-pill{display:none}.top-actions{gap:5px}.top-actions .shop-jump{font-size:8px}.shop-items{grid-template-columns:1fr 1fr}.bundle-card{padding:7px}}

/* Chunky, hand-pixelated cutaway room, matching the supplied reference. */
.house-view{overflow-x:auto;padding:10px 2px 14px}
.house-floor{min-width:680px;width:100%;height:310px;margin:14px auto 0;padding:142px 12px 42px;grid-template-columns:repeat(20,minmax(30px,1fr));background-color:#c5b3b2;background-image:linear-gradient(#30221d,#30221d),linear-gradient(#422d2c,#422d2c),linear-gradient(#10202e,#10202e),linear-gradient(132deg,transparent 44%,#8297a7 45% 51%,transparent 52%),linear-gradient(132deg,transparent 44%,#8297a7 45% 51%,transparent 52%),linear-gradient(#6b4845,#6b4845);background-size:100% 27px,112px 72px,40px 55px,40px 55px,40px 55px,4px 63px;background-position:0 0,50% 73px,calc(50% - 21px) 81px,calc(50% - 21px) 81px,calc(50% + 21px) 81px,50% 77px;background-repeat:no-repeat;border:0;box-shadow:none}
.house-floor::before{left:0;right:0;top:auto;bottom:38px;height:4px;background:#4b3431;clip-path:none;filter:none;box-shadow:0 4px #2f211e}
.house-floor::after{left:0;right:0;bottom:0;height:38px;border:0;background:repeating-linear-gradient(90deg,#392722 0 34px,#493128 34px 38px);box-shadow:inset 0 5px #63413a}
.room-tile{padding:0 0 9px;justify-content:flex-end;z-index:1}
.room-tile::after{left:1px;right:1px;bottom:39px;height:5px;background:#f4dd8e;image-rendering:pixelated}
.room-tile span{filter:none}
.room-door{display:block;width:24px;height:40px;margin-bottom:-1px;background:linear-gradient(90deg,#593837 0 5px,#9b4d4a 5px 19px,#663c37 19px);border:4px solid #51312e;box-shadow:0 3px #29201d}
.room-piece{display:block;position:relative;width:48px;height:62px;margin-bottom:-1px;image-rendering:pixelated;background-repeat:no-repeat;background-position:center bottom;background-size:contain;filter:drop-shadow(3px 3px #46322b)}
.piece-flower{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 20' shape-rendering='crispEdges'%3E%3Cpath fill='%23523428' d='M7 3h2v10H7zM5 6h2v2H5zM9 4h3v2H9zM3 9h4v2H3zM9 9h4v2H9z'/%3E%3Cpath fill='%233b8c52' d='M3 5h3v2H3zM10 2h3v3h-2V4h-1zM1 9h3v2H1zM11 9h4v2h-4zM6 1h3v3H7V3H6z'/%3E%3Cpath fill='%23e5d44f' d='M7 0h2v2H7zM5 2h2v2H5zM9 3h2v2H9z'/%3E%3Cpath fill='%238f4944' d='M4 13h8v2h-1v4H5v-4H4z'/%3E%3Cpath fill='%23b85e57' d='M6 15h5v3H6z'/%3E%3C/svg%3E")}
.piece-lamp{width:44px;height:58px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 20' shape-rendering='crispEdges'%3E%3Cpath fill='%23e7b54f' d='M6 0h4v2h3v2h2v5h-2v2h-2v2H5v-2H3V9H1V4h2V2h3z'/%3E%3Cpath fill='%23f5d77a' d='M6 2h4v2h3v4h-2v2H5V8H3V4h3z'/%3E%3Cpath fill='%23664838' d='M6 10h4v5H6zM4 15h8v2H4zM3 17h10v2H3z'/%3E%3Cpath fill='%23ffefa5' d='M7 5h2v3H7z'/%3E%3C/svg%3E")}
.piece-cottage{width:58px;height:68px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 22' shape-rendering='crispEdges'%3E%3Cpath fill='%2349342a' d='M1 9 10 1l9 8v2h-2v9H3v-9H1z'/%3E%3Cpath fill='%23834b3e' d='M2 8 10 1l8 7-2 2-6-5-6 5z'/%3E%3Cpath fill='%23c6985d' d='M4 10h12v9H4z'/%3E%3Cpath fill='%23614232' d='M8 13h4v6H8z'/%3E%3Cpath fill='%2393b7a0' d='M5 11h2v2H5zM13 11h2v2h-2z'/%3E%3C/svg%3E")}
.piece-fence{width:48px;height:48px;margin-bottom:8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16' shape-rendering='crispEdges'%3E%3Cpath fill='%236b442e' d='M2 3h3v11H2zM8 3h3v11H8zM14 3h3v11h-3zM0 6h18v2H0zM0 11h18v2H0z'/%3E%3Cpath fill='%23b27c49' d='M2 3h1v10H2zM8 3h1v10H8zM14 3h1v10h-1zM0 6h18v1H0zM0 11h18v1H0z'/%3E%3C/svg%3E")}
.room-player{bottom:42px;font-size:22px;filter:drop-shadow(3px 3px #46322b)}
@media(max-width:800px){.house-floor{min-width:680px;height:285px;margin-top:14px;padding-top:128px;grid-template-columns:repeat(20,minmax(30px,1fr))}.house-floor::before{top:auto;bottom:38px;height:4px}.house-floor::after{height:38px}.room-piece{width:43px;height:56px}.piece-cottage{width:52px;height:60px}.room-player{bottom:42px;font-size:19px}}

/* Keep the room scene inside phone screens; each floor slot still remains tappable. */
.house-view{width:100%;min-width:0;overflow:hidden;padding:10px 0}
.house-caption{align-items:flex-start;flex-wrap:wrap}
.house-floor{width:100%;max-width:570px;min-width:0!important;height:clamp(205px,56vw,285px);grid-template-columns:repeat(20,minmax(0,1fr));grid-template-rows:1fr;gap:clamp(1px,.45vw,3px);padding:clamp(76px,24vw,125px) clamp(5px,2.5vw,14px) 36px;overflow:hidden;touch-action:manipulation}
.room-tile{min-width:0;padding:0;font-size:clamp(11px,3.5vw,20px);overflow:visible}
.room-door{width:100%;max-width:20px;height:clamp(25px,9vw,43px)}
.room-piece{width:clamp(19px,6.3vw,38px);height:clamp(30px,11vw,53px);max-width:100%;background-size:contain}
.piece-cottage{width:clamp(23px,8vw,46px);height:clamp(32px,12vw,58px)}
.piece-fence{width:clamp(20px,7vw,40px);height:clamp(24px,8vw,42px)}
.room-player{bottom:1px;right:0;font-size:clamp(12px,4vw,19px)}
.house-floor::before{left:6px;right:6px;top:8px;height:5px}
.house-floor::after{left:6px;right:6px;bottom:7px;height:28px}
.inventory-box{width:100%;min-width:0}
@media(max-width:600px){.layout{grid-template-columns:minmax(0,1fr);padding:0 9px 15px;margin:10px auto;gap:10px}.world-panel{padding:12px}.topbar{height:58px;padding:0 10px}.brand{gap:6px}.brand small{font-size:8px}.brand-mark{width:32px;height:32px}.demo-pill{display:none}.shop-jump{padding:7px;font-size:9px}.map-wrap{padding:4px}.map{min-width:420px}.world-heading h1{font-size:16px}.house-floor{height:clamp(205px,64vw,260px);padding-top:clamp(75px,24vw,102px);padding-bottom:32px}.house-floor::after{height:24px}.house-legend{gap:8px;flex-wrap:wrap;font-size:8px}.inventory-item{font-size:8px;padding:5px}.travel-row{font-size:9px}}

/* Phone-first compact field view: fit the full map and fold secondary guidance. */
@media(max-width:600px){
  .topbar{height:48px;padding:0 8px}
  .brand{gap:5px}.brand-mark{width:29px;height:29px;font-size:17px;border-width:2px}
  .brand strong{font-size:11px}.brand small{font-size:7px;margin-top:0}
  .top-actions{gap:5px}.top-actions .shop-jump{padding:5px 7px;font-size:8px}.icon-btn{width:29px;height:29px}
  .layout{margin:5px auto;padding:0 6px 10px;gap:7px}
  .world-panel{padding:8px}.world-heading{gap:5px}.world-heading h1{font-size:14px}
  .world-heading .eyebrow{font-size:7px;margin-bottom:2px}.world-heading .small-button{padding:5px 7px;font-size:8px}
  .world-stats{gap:4px 10px;margin:6px 0 8px;font-size:8px}
  .map-wrap{width:100%;padding:3px;border-width:2px;overflow:hidden}
  .map{width:100%;min-width:0;grid-template-columns:repeat(13,minmax(0,1fr));grid-template-rows:repeat(11,clamp(22px,6.2vw,27px));gap:1px;padding:2px}
  .cell{min-width:0;border-width:1px;font-size:clamp(9px,2.8vw,12px);box-shadow:inset 0 -2px #536f42}
  .cell::after{inset:2px auto auto 2px;width:2px;height:2px;box-shadow:5px 4px #ccd28c,10px 2px #607e49}
  .cell.player::before{font-size:clamp(11px,3.5vw,15px)}.cell.home::after{font-size:12px}
  .land-mark{right:0;font-size:7px}.limited-shop-mark{font-size:10px}
  .map-details{margin-top:3px}.map-details summary{padding:4px 2px;color:#c5c9a6;font-size:8px;cursor:pointer;list-style:none}
  .map-details summary::-webkit-details-marker{display:none}.map-details summary::after{content:'＋';float:right;color:#e4ca7a}.map-details[open] summary::after{content:'−'}
  .map-details-content{padding:2px 4px 4px}.map-legend{gap:7px;padding:3px 1px;font-size:8px}.legend-swatch{width:9px;height:9px}
  .map-details .shop-note{margin:2px 0;font-size:8px}
  .mobile-target{margin:6px 0 0;padding:7px 8px;scroll-margin-top:50px}
  .mobile-target>summary{cursor:pointer;list-style:none}.mobile-target>summary::-webkit-details-marker{display:none}
  .mobile-target>summary::after{content:'＋';color:#e4ca7a;font-size:12px}.mobile-target[open]>summary::after{content:'−'}
  .mobile-target .eyebrow{font-size:7px;margin-bottom:1px}.mobile-target .section-title h2{font-size:11px}.mobile-target .tile-badge{padding:3px 6px;font-size:8px}
  .mobile-target .tile-description{margin:4px 0;font-size:9px;line-height:1.45}.mobile-target .tile-actions{gap:4px}.mobile-target .tile-actions button{padding:5px 6px;font-size:8px}
  .mobile-target .occupation{margin:5px 0;padding:6px}.mobile-target .limited-shop-panel{padding:6px;margin-top:6px}
  .travel-panel{margin-top:5px;padding-top:6px}.travel-row{font-size:8px}.travel-track{height:6px;margin-top:4px}
  .travel-help{margin-top:2px}.travel-help .hint{margin:2px 0;font-size:8px}
  .side-column{gap:7px}.profile-panel,.shop-panel,.log-panel{padding:8px}
}

.compact-profile>summary,.compact-log>summary{cursor:pointer;list-style:none}
.compact-profile>summary::-webkit-details-marker,.compact-log>summary::-webkit-details-marker{display:none}
.compact-profile>summary::after,.compact-log>summary::after{content:'＋';color:#e4ca7a;font-size:12px}
.compact-profile[open]>summary::after,.compact-log[open]>summary::after{content:'−'}
.profile-summary{display:flex;align-items:center;justify-content:space-between;gap:8px}
.profile-summary .profile-head{gap:7px}.profile-summary .avatar{width:32px;height:32px;font-size:18px}
.profile-summary .eyebrow{margin:0;font-size:7px}.profile-summary h2{font-size:11px}
.fold-hint{font-size:8px;color:#aeb99c;white-space:nowrap}
.profile-more{padding-top:8px}.profile-more .text-button{padding:2px 0}
.compact-log .section-title>span{font-size:8px;color:#aeb99c}
.compact-log .log-content{padding-top:5px}.compact-log .event-log{max-height:150px}
.shop-dialog{width:min(96vw,700px);max-width:none;max-height:90vh;max-height:90dvh;padding:0;overflow:hidden;background:transparent}
.shop-dialog-inner{position:relative;max-height:90vh;max-height:90dvh;overflow-y:auto;padding:34px 10px 10px;background:#20352e;border:2px solid #718052;box-shadow:0 16px 60px #08110fbb}
.shop-dialog .dialog-close{position:absolute;z-index:2;top:5px;right:8px;width:30px;height:26px;border:1px solid #77875a;background:#30483d;color:#f3dc91;font-size:18px}
.shop-dialog .shop-panel{padding:8px;border:0;box-shadow:none;background:transparent}
@media(max-width:600px){
  .world-stats{justify-content:space-between;gap:4px 6px}.world-stats span{white-space:nowrap}
  .compact-profile{padding:7px 8px}.profile-summary .profile-head{gap:5px}.profile-summary .avatar{width:28px;height:28px;font-size:16px}
  .profile-summary .eyebrow{font-size:6px}.profile-summary h2{font-size:9px}.fold-hint{font-size:7px}
  .profile-more{padding-top:5px}.profile-more .morale{margin-top:6px;padding-top:6px}
  .compact-log{padding:7px 8px}.compact-log .section-title h2{font-size:10px}
  .shop-dialog{width:100vw;max-width:none;max-height:calc(100dvh - 16px);margin:auto 0 0}
  .shop-dialog-inner{max-height:calc(100dvh - 16px);padding:30px 7px 7px;border-radius:8px 8px 0 0}
  .shop-dialog .shop-panel{padding:5px}.shop-dialog .shop-items{max-height:38vh}
}

/* Keep the two resources used during play visible; only history and extra stats fold away. */
.resource-hud{display:grid;grid-template-columns:minmax(125px,.8fr) minmax(150px,1.2fr);gap:8px;margin:0 0 9px}
.resource-card{min-height:58px;padding:8px 11px;background:linear-gradient(140deg,#172a28,#203a32);border:2px solid #61754e;box-shadow:inset 0 0 0 2px #2b4539;display:flex;flex-direction:column;justify-content:center}
.resource-card>span,.morale-label{font:9px 'DotGothic16',sans-serif;color:#c1c8a5}
.points-card>div{display:flex;align-items:baseline;gap:4px;color:#f4dd8e}
.points-card strong{font:26px 'DotGothic16',sans-serif;line-height:1.1;color:#fff0be;text-shadow:2px 2px #202719}
.points-card small{font:10px 'DotGothic16',sans-serif;color:#e7ce7d}
.morale-card{gap:4px}.morale-label{display:flex;justify-content:space-between;align-items:center;font-size:11px}
.morale-label strong{font:16px 'DotGothic16',sans-serif;color:#fff0be}
.morale-card .bar{height:11px;margin:0;border-color:#778459}.morale-card .bar i{background:linear-gradient(90deg,#76b67b,#c4d57f);box-shadow:0 0 8px #94ca72}
.world-alert{display:flex;align-items:center;gap:8px;min-height:34px;margin:0 0 8px;padding:6px 9px;background:linear-gradient(90deg,#5b342d,#392c27);border:2px solid #d08b56;box-shadow:0 2px 0 #241e1a;color:#fff0cf;font-size:11px}
.world-alert.hidden{display:none!important}.world-alert>span{flex:none;padding:2px 5px;background:#b44d3e;color:white;font:9px 'DotGothic16',sans-serif}
.world-alert strong{font-size:10px;line-height:1.4}.world-alert.alert-flash{animation:alertPulse .45s ease-out 2}
@keyframes alertPulse{50%{filter:brightness(1.4);transform:translateY(-1px)}}
.profile-note{margin:5px 0 0;color:#9ca993;font-size:8px}
.compact-log .section-title{justify-content:flex-start;gap:8px;margin:0}
.compact-log .section-title h2{flex:none}
.compact-log .log-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font:8px 'M PLUS Rounded 1c',sans-serif;color:#a9b39e}
.compact-log .event-log{max-height:76px}
.compact-log .event-log li{padding:3px 0;font-size:8px;line-height:1.35}
@media(max-width:600px){
  .world-stats{margin:5px 0 6px}
  .resource-hud{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:7px}
  .resource-card{min-height:55px;padding:6px 8px}
  .resource-card>span{font-size:8px}.points-card strong{font-size:24px}
  .morale-label{font-size:10px}.morale-label strong{font-size:15px}
  .morale-card .bar{height:10px}
  .world-alert{min-height:32px;margin-bottom:6px;padding:5px 7px;font-size:10px}
  .world-alert strong{font-size:9px}
  .compact-log .section-title{gap:6px}.compact-log .log-preview{font-size:7px}
  .compact-log .event-log{max-height:68px}
}

/* Clear marker for a participant currently online in this tile. */
.cell.online-presence{outline:2px solid #75ff9a;outline-offset:-3px;z-index:2}
.online-presence-mark{position:absolute;z-index:6;top:1px;right:2px;color:#74ff91;font-size:9px;line-height:1;text-shadow:0 0 4px #10351b,0 1px 1px #102017}
.online-legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#74ff91;box-shadow:0 0 5px #74ff91}

/* Clear three-page shop navigation and a visible guide entry. */
.shop-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0 7px}
.shop-tabs button{min-width:0;padding:8px 5px;background:#20332d;border:1px solid #647750;color:#c4cdae;font:9px 'DotGothic16',sans-serif;box-shadow:inset 0 -2px #152722}
.shop-tabs button.active{background:linear-gradient(#e4ca79,#b39146);border-color:#f0db8f;color:#283a30;box-shadow:inset 0 -2px #92743b}
.shop-page-note{min-height:2.8em;margin:4px 0 8px;color:#aeb99c;font-size:9px;line-height:1.5}
.top-actions .help-jump{padding:7px 9px;font-size:9px;white-space:nowrap}
.dialog-inner{max-height:90vh;max-height:90dvh;overflow-y:auto}
@media(max-width:600px){.top-actions .help-jump{padding:5px 6px;font-size:8px}.shop-tabs{gap:4px;margin:7px 0 5px}.shop-tabs button{padding:7px 2px;font-size:8px}.shop-page-note{font-size:8px;min-height:2.7em}}

.cell.self-online-presence{outline-color:#56d9ff;box-shadow:inset 0 0 0 2px #56d9ff,0 0 10px #28b8ef}
.self-online-presence-mark{color:#56d9ff;text-shadow:0 0 5px #063847,0 1px 1px #102017}
.online-self-legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#56d9ff;box-shadow:0 0 5px #56d9ff}

.occupation-estimate{font-size:8px;line-height:1.4;color:#91a18d;opacity:.78;margin:2px 0 6px}.occupation-estimate.hidden{display:none}

.occ-duration{font-size:8px;font-weight:400;color:#a4ad91;opacity:.82;margin-left:auto;white-space:nowrap}.occ-head{gap:8px}

.occ-formula{display:block;font-size:8px;line-height:1.45;color:#9ba590;opacity:.8;margin:3px 0 5px}

.occ-rounding{display:block;font-size:8px;line-height:1.4;color:#9ba590;opacity:.76;margin:0 0 5px}

.raid-panel{margin:9px 0;padding:8px 10px;background:linear-gradient(145deg,#273d3a,#202f30);border-color:#65734f}.raid-panel>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;list-style:none;font-family:'DotGothic16',sans-serif;font-size:10px;color:#ecd787}.raid-panel>summary::-webkit-details-marker{display:none}.raid-summary-state{display:flex;align-items:center;gap:9px}.raid-summary-state b{color:#f1b879}.raid-summary-state small{font:8px 'M PLUS Rounded 1c',sans-serif;color:#b4bea5}.raid-content{padding:9px 2px 2px}.raid-boss-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px}.raid-boss-row strong{color:#f0db9a}.raid-boss-row span{font-size:9px;color:#b4bea5}.raid-bar{height:7px;margin-top:6px}.raid-bar i{background:linear-gradient(90deg,#d97754,#e6bd62)}.raid-team{font-size:8px;line-height:1.5;color:#aeb9a4;margin:7px 0}.raid-join{padding:5px 9px;font-size:8px}.raid-content .shop-note{font-size:8px;margin-top:6px}

.raid-heading{display:inline-flex;align-items:center;gap:7px}.raid-emblem{width:23px;height:23px;image-rendering:pixelated;flex:none}.raid-panel.is-active{border-color:#d17b66;box-shadow:0 0 0 1px #d17b6644,inset 0 0 0 2px #30483c}.raid-panel.is-active>summary{color:#ffc18d}.raid-panel.is-cleared .raid-emblem{filter:hue-rotate(75deg);opacity:.8}.raid-join{background:linear-gradient(#efbd70,#ca8751);border-color:#f2ca85}
.land-mark{bottom:1px;z-index:4;line-height:1}.opponent-mark{left:1px;right:auto;min-width:13px;padding:1px 2px;background:#342a32;border:1px solid #e69a82;color:#ffd6c7;font:600 5px/1.15 'DotGothic16',sans-serif;text-align:center;border-radius:2px}.defense-mark,.npc-defense-mark{right:1px;left:auto;width:13px;height:15px;color:#6ed8f3;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 1px 1px #18211f)}.defense-mark svg,.npc-defense-mark svg{width:12px;height:14px;position:absolute}.defense-mark b,.npc-defense-mark b{position:relative;font:700 6px/1 sans-serif;color:#102b32;background:#d4f7ff;border-radius:5px;min-width:8px;text-align:center;padding:1px}.npc-defense-mark{color:#d899ff}.npc-defense-mark b{color:#322039;background:#f3d7ff}.plot-mark{left:auto;right:2px;color:#fff0bd}.attack-mark{top:1px;bottom:auto;left:1px;right:auto;width:12px;height:12px;border-radius:50%;background:#fb765d;color:#361c1a;font:900 8px/12px sans-serif;text-align:center}.legend-owner-chip,.legend-defense-chip,.legend-attack-chip{display:inline-flex;align-items:center;justify-content:center;font:700 6px/1 sans-serif;padding:2px;border-radius:2px}.legend-owner-chip{color:#ffd6c7;background:#342a32;border:1px solid #e69a82}.legend-defense-chip{width:12px;height:12px;color:#102b32;background:#6ed8f3;border:1px solid #d4f7ff;clip-path:polygon(50% 0,100% 20%,90% 68%,50% 100%,10% 68%,0 20%)}.legend-attack-chip{width:12px;height:12px;color:#361c1a;background:#fb765d;border-radius:50%}

/* Original pixel map marks and raid-site marker */
.map-mark-svg{display:block;width:18px;height:18px;shape-rendering:crispEdges;filter:drop-shadow(0 1px 1px #17231d)}
.cell-icon{display:grid;place-items:center;line-height:0}
.cell.player::before{content:none;animation:none}
.cell.player .cell-icon{opacity:1;z-index:3;transform:translateY(-2px)}
.cell.home::after{content:none}
.online-presence-mark{position:absolute;z-index:5;top:1px;right:1px;width:10px;height:10px;line-height:0}
.online-presence-mark .map-mark-svg{width:10px;height:10px}
.raid-site{border-color:#f2c66d!important;box-shadow:inset 0 0 0 2px #6e4a86,0 0 8px #dbb45e!important;animation:raidPulse 1.4s infinite alternate}
.raid-site-marker{position:absolute;z-index:5;top:0;left:0;width:17px;height:17px;padding:1px;background:#49345b;border:1px solid #f2c66d;border-radius:3px;line-height:0}
.raid-site-marker .map-mark-svg{width:14px;height:14px}
@keyframes raidPulse{from{filter:brightness(.92)}to{filter:brightness(1.3)}}
.limited-shop-mark{position:absolute;z-index:5;top:0;right:0;width:16px;height:16px;padding:1px;display:grid;place-items:center;background:#263c32;border:1px solid #f4dc89;border-radius:2px;line-height:0}
.limited-shop-mark .map-mark-svg{width:13px;height:13px}
.attack-mark{width:14px;height:14px;display:grid;place-items:center;background:none;border-radius:0;line-height:0}
.attack-mark .map-mark-svg{width:13px;height:13px}
.plot-mark{width:12px;height:12px;display:block;line-height:0}
.plot-mark .map-mark-svg{width:11px;height:11px}
.legend-raid-mark,.legend-shop-mark{display:inline-block;width:12px;height:12px;border:1px solid #f2c66d;border-radius:3px;background:#49345b;position:relative}
.legend-raid-mark::after{content:'✦';position:absolute;inset:0;color:#ffdc7b;font:8px/10px sans-serif;text-align:center}
.legend-shop-mark{border-color:#f4dc89;background:#526942;border-radius:1px}
.legend-shop-mark::after{content:'⌑';position:absolute;inset:0;color:#ffe08a;font:10px/10px sans-serif;text-align:center}
.raid-location{font-size:8px;color:#f2d987;margin:6px 0 3px}
.raid-go{margin:0 4px 0 0;padding:5px 9px;font-size:8px}
@media(max-width:600px){.map-mark-svg{width:15px;height:15px}.raid-site-marker{width:15px;height:15px}.raid-site-marker .map-mark-svg{width:12px;height:12px}.limited-shop-mark{width:14px;height:14px}.limited-shop-mark .map-mark-svg{width:11px;height:11px}}
.legend-owner-chip{width:14px;height:14px;padding:0;display:inline-grid;place-items:center}.legend-owner-chip svg{width:12px;height:12px}
.legend-defense-chip{width:14px;height:15px;padding:0;background:none;clip-path:none;border:0}.legend-defense-chip svg{width:14px;height:15px}
.legend-attack-chip{width:14px;height:14px;padding:0;background:none;border-radius:0}.legend-attack-chip svg{width:14px;height:14px;display:block}
.legend-raid-mark,.legend-shop-mark{display:inline-grid;place-items:center;width:14px;height:14px;padding:0;background:none;border:0;border-radius:0}.legend-raid-mark::after,.legend-shop-mark::after{content:none}.legend-raid-mark svg,.legend-shop-mark svg{width:14px;height:14px;display:block}
/* Emoji labels are back on ordinary tiles; only the raid marker keeps its emblem. */
.cell-icon{line-height:1}
.cell.other.lost{background:#c17c93!important;border-color:#f0b6c7!important;box-shadow:inset 0 -4px #92566e!important}
.legend-swatch.lost{background:#c17c93;border-color:#f0b6c7}
.raid-panel{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;margin:8px 0;border-color:#d17b66;color:#ffc18d;font:11px 'DotGothic16',sans-serif}
.raid-panel.hidden{display:none!important}.raid-panel .raid-go{margin:0;white-space:nowrap}
.raid-details{margin-top:7px;padding:9px;background:linear-gradient(145deg,#273d3a,#202f30);border:1px solid #d17b66;box-shadow:inset 0 0 0 2px #30483c}
.raid-details.hidden{display:none!important}.raid-details .raid-boss-row{margin-bottom:2px}
.raid-details .raid-bar i{background:linear-gradient(90deg,#d97754,#e6bd62);transition:width .4s linear}
.raid-stats{display:flex;justify-content:space-between;gap:8px;margin-top:5px;color:#ecd787;font:8px 'DotGothic16',sans-serif}
.raid-stats span{color:#b9c2ac;text-align:right}
.raid-cost-note{display:block;margin-top:5px;color:#d6a780;font-size:8px}
@media(max-width:600px){.raid-panel{padding:6px 8px;margin:5px 0;font-size:9px}.raid-panel .raid-go{padding:5px 8px;font-size:8px}.raid-details{padding:7px}.raid-stats{font-size:7px}}
.points-card{width:100%;text-align:left;cursor:pointer;color:inherit;font-family:inherit}
.points-card:hover{border-color:#ead386;filter:brightness(1.08)}
.points-card .points-state{font-size:8px;color:#c1d5a4;margin-top:2px}
.points-card .points-card-heading small{font-size:7px;color:#aeb99c;margin-left:4px}
.offline-result{display:flex;width:100%;align-items:center;gap:7px;margin:0 0 8px;padding:8px 10px;text-align:left;background:linear-gradient(110deg,#3a4936,#443c30);border:2px solid #e1c276;box-shadow:0 3px #14211d;color:#f4e4b0;font:9px 'DotGothic16',sans-serif}
.offline-result strong{white-space:nowrap;color:#ffe394;font-size:10px}
.offline-result span{flex:1;line-height:1.5}
.offline-result small{white-space:nowrap;color:#b7c2a4;font-size:7px}
.pointsDialog{}.point-current-rate{padding:8px;background:#172a28;border:1px solid #657650;color:#f0dc94;font:10px 'DotGothic16',sans-serif}
.cell.other.lost{background:#d18ba3!important;border-color:#ffd0df!important;box-shadow:inset 0 -4px #a65c78,0 0 5px #ffb5cf!important}
@media(max-width:600px){.offline-result{gap:5px;margin-bottom:6px;padding:6px 7px;font-size:8px}.offline-result strong{font-size:9px}.offline-result small{font-size:6px}.points-card .points-state{font-size:7px}}
.offline-result span{min-width:0;overflow-wrap:anywhere}

.offline-result-dialog{width:min(92vw,430px);max-width:calc(100vw - 24px);padding:0;border:3px solid #e1c276;background:#263a34;color:#f0e8c6;box-shadow:0 18px 60px #07110fe6}.offline-result-card{padding:22px;background:linear-gradient(145deg,#2e453a,#1b302d);box-shadow:inset 0 0 0 4px #1b2d29}.offline-result-card h2{margin:0 0 12px;color:#ffe394;font:18px 'DotGothic16',sans-serif}.offline-result-text{margin:0;padding:11px;background:#172a28;border:1px solid #657650;font:11px/1.6 'DotGothic16',sans-serif}.offline-result-loss{margin:10px 0 0;padding:11px;background:#613d4c;border:2px solid #e69bb2;color:#fff0f4;font:12px/1.7 'DotGothic16',sans-serif;white-space:pre-line}.offline-result-dialog::backdrop{background:#091310d9}

.rest-stop{border-color:#e4f0b3!important;box-shadow:inset 0 0 0 2px #6d8b55,0 0 8px #b7df82!important;animation:restPulse 1.8s infinite alternate}.rest-stop-marker{position:absolute;z-index:5;top:0;left:0;width:18px;height:18px;padding:1px;display:grid;place-items:center;background:#324936;border:1px solid #e4f0b3;border-radius:3px;line-height:0}.rest-stop-marker svg{width:14px;height:14px}@keyframes restPulse{to{filter:brightness(1.25)}}@media(max-width:600px){.rest-stop-marker{width:15px;height:15px}.rest-stop-marker svg{width:12px;height:12px}}

.world-heading-meta{display:flex;align-items:center;gap:9px}.world-heading-meta .world-stats{margin:0;gap:7px;font-size:8px;justify-content:flex-end}.compact-log{border-color:#907b48;background:linear-gradient(120deg,#344239,#263a34);box-shadow:inset 0 0 0 2px #3a4938,0 3px #182520}.compact-log>.section-title{min-height:32px;padding:4px 8px}.compact-log .section-title h2{color:#f0d78e;font-size:11px;text-shadow:1px 1px #1a241d}.compact-log .log-preview{color:#e0d6a6;font-size:9px}.compact-log[open] .log-content{padding:7px 10px 9px}.compact-log .event-log li{font-size:9px;padding:5px 2px;border-top-color:#746440}.compact-log .event-log time{color:#f0d078}
@media(max-width:600px){.world-heading-meta{flex-direction:column;align-items:flex-end;gap:4px}.world-heading-meta .world-stats{display:grid;grid-template-columns:auto auto;justify-content:end;gap:2px 6px;font-size:7px}.world-heading-meta .world-stats span{white-space:nowrap}.world-heading-meta .small-button{white-space:nowrap}.compact-log>.section-title{min-height:29px;padding:3px 6px}.compact-log .section-title h2{font-size:9px}.compact-log .log-preview{font-size:8px}.compact-log[open] .event-log{max-height:112px}}
@media(max-width:360px){.world-heading-meta .world-stats{display:flex;flex-direction:column;align-items:flex-end}}
.time-event-panel{margin:7px 0 8px;padding:7px 10px;background:linear-gradient(120deg,#303c31,#263b34);border:1px solid #897846;box-shadow:inset 0 0 0 1px #3e4a37}.time-event-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font:10px 'DotGothic16',sans-serif;color:#f1d783}.time-event-head b{white-space:nowrap;color:#ffc17d}.time-event-panel p{margin:4px 0 0;color:#c0c5a8;font-size:9px;line-height:1.5}@media(max-width:600px){.time-event-panel{padding:5px 7px;margin:5px 0}.time-event-head{font-size:8px}.time-event-panel p{font-size:8px}}.home-fixed-mark{position:absolute;top:1px;left:1px;z-index:3;font-size:9px;line-height:1;filter:drop-shadow(0 1px 1px #132019);pointer-events:none}.cell.home::after{content:'';background:none;box-shadow:none}

/* Make overlapping player and NPC positions visibly distinct. */
.cell.overlap-presence{outline:2px solid #60ddff;outline-offset:-3px;box-shadow:inset 0 0 0 2px #60ddff,inset 0 0 0 5px #ef7991,0 0 8px #35bddd;z-index:8}
.presence-stack{position:absolute;z-index:9;top:1px;display:grid;place-items:center;min-width:12px;height:12px;padding:0 2px;border:1px solid #f4edcb;border-radius:3px;font:700 7px/1 'DotGothic16',sans-serif;box-shadow:0 1px 3px #14221b}
.presence-stack.self{left:1px;background:#147f9f;color:#e8fbff}
.presence-stack.rival{right:1px;background:#a73c58;color:#fff1f2}

.beginner-guide{display:flex;align-items:center;gap:14px;margin:14px 0;padding:14px 16px;background:linear-gradient(110deg,#314d3e,#203a35);border:2px solid #d0b66c;border-radius:10px;box-shadow:0 0 0 3px #172b2b,0 0 18px #d0b66c55}.guide-mark{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;background:#d0b66c;color:#263b31;font-size:25px;font-weight:900;clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%)}.guide-copy{flex:1;min-width:0}.guide-copy .eyebrow{margin:0 0 4px;color:#e2c979;font-size:.75rem}.guide-copy h2{margin:0 0 4px;font-size:1rem}.guide-copy p:last-child{margin:0;color:#e0e8d8;font-size:.9rem;line-height:1.45}.guide-start-button{margin:8px 0 14px;width:100%}.cell.guide-target{position:relative;z-index:2;outline:3px solid #b89b4f!important;outline-offset:-4px;box-shadow:inset 0 0 0 2px #e2cd86!important;filter:none!important;animation:guide-pulse 1.1s steps(2,end) infinite}@keyframes guide-pulse{50%{opacity:.62}}

.mini-raid-site{border-color:#a8c88d!important;box-shadow:inset 0 0 0 2px #426a55!important;animation:miniRaidPulse 2s infinite alternate}.raid-site-marker.mini{background:#315648;border-color:#c6db9d}@keyframes miniRaidPulse{from{filter:brightness(.97)}to{filter:brightness(1.06)}}

/* Short rotating events */
.bonus-events-panel{display:grid;gap:6px;margin:6px 0;padding:7px;background:#1c302b;border:1px solid #647750}
.bonus-event{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:6px 8px;background:#263c33;border-left:3px solid #e6c768}
.bonus-event:nth-child(2){border-left-color:#91bd8b}
.bonus-event strong{font:10px 'DotGothic16',sans-serif;color:#f2dc8d}
.bonus-event p{margin:3px 0 0;color:#c0c8ad;font-size:9px;line-height:1.4}
.bonus-event>b{font:9px 'DotGothic16',sans-serif;color:#ffd28b;white-space:nowrap}
.bonus-event .small-button{font-size:8px;padding:5px 7px}
.cell.vacant-event-land{outline:2px solid #f0d377;outline-offset:-3px;box-shadow:inset 0 0 0 3px #8b773c}
.cell.quick-event-land{outline:2px solid #a8d49b;outline-offset:-3px;box-shadow:inset 0 0 0 3px #527a4e}
.event-land-marker{position:absolute;right:1px;bottom:0;z-index:5;font-size:10px;line-height:1;filter:drop-shadow(0 1px 2px #17211c);pointer-events:none}
@media(max-width:600px){.bonus-events-panel{gap:4px;padding:5px}.bonus-event{gap:5px;padding:5px}.bonus-event strong{font-size:8px}.bonus-event p{font-size:8px}.bonus-event>b{font-size:8px}}
