/* Shared wood, parchment and forest palette for the city's shops and residents. */
.market-vip-access{margin:0 24px 15px;padding:8px 12px;color:#78623b;border:1px solid #b5a279;background:#e2d3ad;font:bold 10px monospace;cursor:pointer}
#progression-panel{background:#10251cdd}
#progression-panel .progression-card{background:#f0e4c7;border:3px solid #6c5335;box-shadow:0 0 0 2px #c5a468,0 25px 70px #0007;border-radius:3px;color:#3a3d2e;font:14px/1.5 Georgia,serif}
#progression-panel h2{font:bold 26px Georgia;color:#31503c;margin-right:30px}
#progression-panel .progression-sub{color:#7a6c4f}
#progression-panel .progression-close{background:#ded0ae;border:1px solid #b49b6a;color:#5b4832}
#progression-panel .skill-list span{background:#d8ddbb;color:#4b6041;border-radius:2px;font:11px monospace}
#progression-panel .mission-list article,#progression-panel .vip-plan{background:#f9efd6;border:1px solid #c6b48d;color:#4d4937}
#progression-panel .mission-list h3,#progression-panel .vip-plan h3{color:#31523d}
#progression-panel .mission-list p,#progression-panel .vip-island-store p{color:#75684e}
#progression-panel .mission-list small{color:#927238}
#progression-panel .mission-list button,#progression-panel .vip-buy{background:#365c44;color:#f4e6bb;border-radius:2px;font:11px monospace;border:1px solid #234030}
#progression-panel .mission-bar{background:#d6c8a4;height:7px}
#progression-panel .mission-bar i{background:#708c59}
#progression-panel .vip-plan strong{color:#8f6b30}
#progression-panel .vip-plan-badge,#progression-panel .vip-store-kicker{color:#7b6b41}
#progression-panel .vip-saving{color:#88734e}
#progression-panel .vip-island-store{background:#e5d8b5;border:1px solid #c2a56e}
#progression-panel .vip-island-store h3{color:#47613d}
#progression-panel .vip-checkout-note{color:#7b6841}
.town-journal{padding:18px 0;border-top:1px solid #cabb96;border-bottom:1px solid #cabb96;margin:18px 0}
.town-journal>h3{font:23px Georgia;color:#31543c;margin:0}
.town-journal>p{color:#837350}
.town-journal>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.town-journal article{border:1px solid #cab58b;background:#fbf0d5;padding:14px}
.town-journal article strong{color:#39513a}
.town-journal article p{color:#7c6b4f;font-size:13px}
.town-journal article small{display:block;font:10px monospace;color:#9a7837}
#island-shop{background:#ede0bd!important;border:3px solid #6b5538!important;color:#3e442e!important;border-radius:3px!important}
#island-shop .island-shop-head{background:#294b39;color:#eedeb0;border-bottom:2px solid #c3a36a}
#island-shop .island-odds{display:none}
#island-shop .island-shop-body>p,#island-shop .island-note{color:#77684a}
#island-shop .owned-island-list button{background:#fbf0d4;border:1px solid #c7b18b;color:#4b5036}
#island-shop .owned-island-list button.active{border-color:#456a47;background:#dce3bc}
#island-shop #island-buy,#island-shop #island-enter{background:#36563f;color:#f9ebc3;border:1px solid #253d2c}
@media(max-width:540px){.town-journal>div{grid-template-columns:1fr}}
:root{--town-ink:#302b22;--town-paper:#f1e5c7;--town-gold:#d4ae63;--town-green:#254b3f;--town-wood:#49352a}
.town-prop,.town-neighbor{position:absolute;transform:translate(-50%,-100%);image-rendering:pixelated;pointer-events:none}
.town-neighbor-sprite{display:block;width:100%;height:100%;background-size:400% 400%;background-repeat:no-repeat;image-rendering:pixelated;transform:translateY(5%);filter:drop-shadow(0 1px 0 #15291b66)}
.town-portrait{display:block;flex:none;width:90px;height:90px;background-size:400% 400%;background-position:0 0;background-repeat:no-repeat;image-rendering:pixelated}
.town-neighbor-name{position:absolute;top:100%;left:50%;transform:translateX(-50%);color:#ffe9b3;font:bold 8px monospace;text-shadow:1px 1px #201b16;white-space:nowrap}
.town-quest-marker{position:absolute;bottom:105%;left:50%;transform:translateX(-50%);background:#f2cc6c;color:#44311d;border:1px solid #45311d;font:bold 12px monospace;width:14px;text-align:center;box-shadow:1px 2px #0005}
.town-district{position:absolute;transform:translate(-50%,-100%);z-index:8;color:#e4d6a6;background:#244735d9;border-top:1px solid #b39a65;border-bottom:1px solid #b39a65;padding:3px 7px;font:bold 7px monospace;letter-spacing:1px;white-space:nowrap;pointer-events:none}
.town-lantern-glow{position:absolute;width:3%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(#ffc66e55,#ffd38b00 70%);pointer-events:none;z-index:1700;animation:town-light 4s ease-in-out infinite}
@keyframes town-breathe{50%{transform:translateY(-1px)}}
@keyframes town-light{50%{opacity:.55}}
#market-dialog{width:min(1080px,94vw);max-height:88vh;padding:0;border:3px solid #49372b;border-radius:5px;background:#eee3c7;box-shadow:0 0 0 2px #c4a162,0 22px 70px #0008;color:var(--town-ink);font:13px/1.55 Georgia,serif;isolation:isolate}
#market-dialog .market-heading{position:sticky;top:0;z-index:3;padding:23px 26px 18px;background:linear-gradient(110deg,#203e34,#365945);border-bottom:3px solid #c5a265;display:flex;align-items:center;gap:16px;color:#f7e9c5}
#market-dialog .market-heading small{font:bold 10px monospace;letter-spacing:2px;color:#d9c292}
#market-dialog .market-heading h2{font:bold 29px Georgia,serif;margin:4px 0 0;color:#fff0cf;text-shadow:none;letter-spacing:0}
#market-dialog .market-close{margin-left:auto;align-self:flex-start;position:static;border:1px solid #bea071;background:#20382d;color:#ffe6b4;width:33px;height:33px;font:23px Georgia;cursor:pointer}
#market-dialog>.market-intro{padding:0 26px;margin:16px 0;color:#645b46;font-size:14px}
#market-dialog .market-tabs{margin:0;padding:0 24px;display:flex;gap:4px;border-bottom:1px solid #b9a782;background:#e3d6b8;flex-wrap:wrap}
#market-dialog .market-tab{border:0;border-radius:0;padding:13px 14px;background:transparent;color:#655540;font:bold 11px monospace;box-shadow:none;border-bottom:3px solid transparent}
#market-dialog .market-tab.active{color:#224b3b;background:#f5eace;border-bottom-color:#385c42}
#market-dialog .market-local-badge{margin-left:auto;background:#294737;color:#dfcca3;border:1px solid #6c8263;font:10px monospace;padding:5px 8px}
#market-dialog #market-buy-view,#market-dialog #market-sell-view,#market-dialog #market-my-view,#market-dialog #market-activity-view,#market-dialog #market-islands-view{padding:22px 24px}
#market-dialog [hidden]{display:none!important}
#market-dialog .market-catalog,#market-dialog .market-orderbook{border:1px solid #c2af8a;border-radius:3px;box-shadow:none;background:#faf1da;padding:13px}
#market-dialog .market-catalog-title{background:transparent;color:#655d46;font:bold 10px monospace;letter-spacing:1px;padding:4px 0 12px}
#market-dialog .market-row{border:1px solid #cdbf9e;background:#fff6df;border-radius:3px;box-shadow:none;padding:13px;margin-bottom:8px}
#market-dialog .market-btn,#market-dialog .market-back,#market-dialog .market-sell-form button{border:1px solid #1c382b;background:#315743;color:#fff0cb;border-radius:3px;padding:9px 13px;font:bold 11px monospace;box-shadow:0 2px #193526}
#market-dialog button:disabled{opacity:.55;cursor:not-allowed}
#market-dialog .market-empty{padding:36px 18px;border:1px dashed #b6a583;background:#e9dec3;color:#756b52;line-height:1.7;text-align:center}
#market-dialog .market-balance{position:sticky;bottom:0;background:#e4d7b8;border-top:1px solid #beaa7d;padding:11px 26px;color:#4a5037;font:bold 12px monospace}
#market-dialog .market-orderbook-head{padding:0 0 14px;border-bottom:1px solid #c9b996;margin-bottom:12px;background:transparent}
#market-dialog .market-orderbook-head strong{color:#304d3c}
#market-dialog .market-orderbook-head small{color:#84755b;margin-top:6px}
#market-dialog input,#market-dialog select{background:#fff8e5;color:#3a3329;border:1px solid #b8a177;border-radius:2px;padding:10px;font:14px monospace}
#market-dialog .market-sell-form{padding:16px;background:#f8efd9;border:1px solid #c4b38f;border-radius:3px}
.town-kicker{font:bold 10px monospace;letter-spacing:1.5px;color:#7b683d}
.island-catalog-intro{max-width:640px;margin:4px 0 22px}
.island-catalog-intro h3{font:26px Georgia;margin:7px 0;color:#304f3c}
.island-catalog-intro p{color:#756a51;margin:0;font-size:14px}
.island-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.island-catalog-card{border:1px solid #c5b08b;background:#fff3d8;overflow:hidden;box-shadow:0 3px 0 #c5b08b44}
.island-card-art{position:relative;height:150px;display:grid;place-items:center;background:radial-gradient(ellipse at center,#557e7755,#17343a);border-bottom:3px solid var(--rarity);overflow:hidden}
.island-card-art:after{content:'';position:absolute;left:18%;right:18%;bottom:16px;height:14px;background:#10212c77;filter:blur(5px);border-radius:50%}
.island-card-art img{height:128px;width:135px;object-fit:contain;image-rendering:pixelated;z-index:1;filter:drop-shadow(0 9px 4px #071e2244)}
.island-card-art.rarity-uncommon{background:radial-gradient(#377655,#112e28)}
.island-card-art.rarity-rare{background:radial-gradient(#386884,#182b44)}
.island-card-art.rarity-epic{background:radial-gradient(#674e80,#29223e)}
.island-card-art.rarity-legendary{background:radial-gradient(#857243,#302a25)}
.island-card-art span{position:absolute;top:9px;right:12px;color:var(--rarity);font:12px monospace;z-index:2}
.island-card-copy{padding:15px}
.island-card-copy>small{font:9px monospace;color:#807153;letter-spacing:1px}
.island-card-copy h4{font:bold 24px Georgia;margin:4px 0 8px;color:#394a37}
.island-card-copy p{color:#817458;min-height:42px;margin:0 0 12px}
.island-card-copy dl{border-top:1px solid #ddceb0;padding-top:10px;margin:0}
.island-card-copy dt{font:10px monospace;color:#877a61;margin-top:9px}
.island-card-copy dd{margin:2px 0;font:bold 12px Georgia;color:#554d3a}
.island-card-copy button{width:100%;margin-top:17px;padding:10px;border:1px solid #b6a57b;background:#e6d9b6;color:#796c50;font:bold 10px monospace;letter-spacing:1px}
.island-catalog-note{padding:15px;border-left:3px solid #a99051;color:#736348;background:#e9dcba;font-size:12px;margin:20px 0 0}
#market-top-button{width:auto!important;padding:6px 10px!important;display:flex;align-items:center;gap:8px;background:#304b3a!important;border:2px solid #c09e59!important;box-shadow:0 3px #152b21!important}
#market-top-button b{font:10px monospace;color:#f3dc9e;letter-spacing:1px}
.town-contract{width:min(460px,90vw);max-height:85vh;padding:25px;background:#efe1bf;border:3px solid #4b3b2b;border-radius:3px;color:#443a2d;box-shadow:0 0 0 2px #c3a267,0 24px 80px #0007;font:15px/1.5 Georgia,serif}
.town-contract::backdrop{background:#11251dd4}
.town-contract header{display:flex;gap:20px;align-items:center;border-bottom:1px solid #c5b189;padding-bottom:14px}
.town-contract header img{height:90px;width:58px;object-fit:contain;image-rendering:pixelated}
.town-contract header small{color:#776c51;font:11px monospace}
.town-contract h2{font:bold 32px Georgia;margin:3px 0;color:#2d503a}
.town-contract h3{font:bold 22px Georgia;margin:8px 0;color:#3c503b}
.town-dialogue{font-style:italic;font-size:17px;color:#78684d;padding:5px 8px}
.town-close{float:right;border:1px solid #b7a37b;color:#534630;background:#e0ceaa;width:30px;height:30px;font:21px Georgia;cursor:pointer}
.town-contract-sheet{background:#f9efd6;border:1px solid #c9b690;padding:20px}
.town-contract-sheet label{display:block;font:12px monospace;margin:18px 0;color:#526446}
.town-contract-sheet progress{display:block;width:100%;height:10px;margin-top:8px;accent-color:#4f7754}
.town-contract-sheet>small{display:block;color:#867550;font-size:12px}
.town-contract-sheet button{width:100%;background:#31533e;border:1px solid #223e2d;color:#f4e4ba;padding:12px;font:bold 11px monospace;margin-top:18px;cursor:pointer}
.town-contract-sheet button:disabled{background:#8d9b70;cursor:default}
.town-badge{color:#8b6b2f;border-top:1px solid #dcccaa;padding-top:10px}
@media(max-width:760px){.island-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#market-dialog .market-heading{padding:16px}#market-dialog .market-heading h2{font-size:23px}#market-dialog .market-tabs{padding:0 9px}#market-dialog .market-tab{font-size:10px;padding:11px 8px}#market-top-button b{display:none}}
@media(max-width:480px){.island-catalog-grid{grid-template-columns:1fr}.island-catalog-card{display:grid;grid-template-columns:105px 1fr}.island-card-art{height:100%;border-bottom:0;border-right:3px solid var(--rarity)}.island-card-art img{width:100px;height:110px}.island-card-copy{padding:12px}.island-card-copy h4{font-size:22px}#market-dialog #market-islands-view{padding:14px}.town-contract{padding:14px}}
@media(prefers-reduced-motion:reduce){.town-neighbor img,.town-lantern-glow{animation:none}}

/* Official store: a separate surface from Mara's player-to-player market. */
#progression-panel:has(.vip-card){background:#071410df}
#progression-panel .vip-card{width:min(1120px,96vw);max-height:min(790px,94vh);padding:0!important;overflow:auto;background:#493025!important;border:4px solid #8c633d!important;box-shadow:0 0 0 3px #24180f,0 25px 80px #000b!important;font:14px/1.5 Georgia,serif}
#progression-panel .vip-card [hidden]{display:none!important}
.public-store-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:center;min-height:64px;padding:6px 55px;background:linear-gradient(#69482e,#3f2a21);border-bottom:4px solid #b88746;box-sizing:border-box}
.public-store-brand{font:bold 27px Georgia,serif;color:#f7db91;text-shadow:2px 3px #251912;letter-spacing:2px}
.public-store-brand small{display:block;text-align:center;color:#e0b46b;font:9px monospace;letter-spacing:3px}
#progression-panel .vip-card .progression-close{top:12px;right:14px;background:#873d2c;color:#ffdfab;border:2px solid #d49856;font:bold 22px Georgia;line-height:28px;width:34px;height:34px;padding:0}
.public-store-layout{display:grid;grid-template-columns:155px minmax(0,1fr) 190px;min-height:570px}
.public-store-nav{padding:18px 9px;background:#38251e;border-right:3px solid #946539;display:flex;flex-direction:column;gap:7px}
.public-store-nav button{padding:11px 9px;border:1px solid #765237;background:#4d3326;color:#f3d7a0;text-align:left;font:bold 12px Georgia;cursor:pointer}
.public-store-nav button.active,.public-store-nav button:hover{background:#32705d;border-color:#d3a968;color:#fff1c8}
.public-store-nav p{margin:auto 5px 0;color:#c6a77c;font:10px/1.5 monospace}
.public-store-content{min-width:0;padding:24px;background:linear-gradient(#e5d0a1,#f2e2bc 130px,#e7d4ae);color:#473622}
.public-store-content h2{margin:0 0 4px!important;color:#4b3625!important;font:bold 27px Georgia!important}
.public-store-content h3{color:#51402a!important;margin:7px 0}
.public-store-content .progression-sub{margin:0 0 18px;color:#725f45!important}
.public-store-hero{display:grid;grid-template-columns:minmax(170px,1.25fr) minmax(190px,1fr);gap:18px;padding:7px;border:3px solid #8a6339;background:#f9eccd;box-shadow:3px 4px #87633b55}
.public-store-island-art{display:grid;place-items:center;min-height:230px;overflow:hidden;background:radial-gradient(circle at 50% 68%,#a4d4d0,#5a9cad 55%,#38647d);border:2px solid #946c3d}
.public-store-island-art img{display:block;width:82%;max-height:235px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(3px 8px 2px #183e4777)}
.public-store-hero>div:last-child{align-self:center;padding:8px}
.public-store-hero p{color:#675741;line-height:1.5}.public-store-hero b{display:block;margin:12px 0;color:#7f6234;font:12px monospace}
.public-store-content button[data-store-target]{padding:10px 13px;border:2px solid #224a38;background:#39745a;color:#fff1c8;font:bold 11px monospace;cursor:pointer}
.public-store-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.public-store-feature-grid article{position:relative;min-height:115px;padding:15px 15px 14px 80px;border:2px solid #a07745;background:#f9edcf}
.public-store-feature-grid article>span{position:absolute;left:16px;top:20px;color:#b98232;font-size:43px}.public-store-feature-grid article p{margin:4px 0 12px;color:#765f42}
.public-store-aside{padding:18px 14px;background:#ddc496;border-left:3px solid #a17644;color:#493a2a}
.public-store-aside h3{margin:0 0 10px;color:#503920;font:bold 16px Georgia}.public-store-avatar{display:grid;place-items:center;width:55px;height:55px;margin-bottom:6px;border:3px solid #8f6538;background:#e6ae67;color:#523a27;font-size:32px}.public-store-aside strong{display:block;overflow-wrap:anywhere}.public-store-aside hr{border:0;border-top:1px solid #ae9065;margin:18px 0}.public-store-aside ol{padding-left:20px;font-size:12px;line-height:1.7}.public-store-aside small{color:#735c3f}
#progression-panel .vip-card .vip-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#progression-panel .vip-card .vip-plan{background:#f9e9c7;border:2px solid #a7814d}
#progression-panel .vip-card .vip-buy:disabled{opacity:.72;cursor:not-allowed}
#progression-panel .vip-card .vip-benefits{padding:12px 20px;background:#f9e9c7;border:1px solid #b89c6a}
#progression-panel .vip-card .island-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.public-store-layout{grid-template-columns:125px minmax(0,1fr)}.public-store-aside{grid-column:1/-1;border-left:0;border-top:2px solid #a17644;display:flex;align-items:center;gap:14px}.public-store-aside hr,.public-store-aside ol,.public-store-aside small{display:none}.public-store-aside h3{margin:0}.public-store-avatar{width:32px;height:32px;margin:0;font-size:22px}.public-store-content{padding:16px}}
@media(max-width:650px){.public-store-header{min-height:54px}.public-store-brand{font-size:20px}.public-store-layout{display:block}.public-store-nav{position:sticky;top:54px;z-index:4;flex-direction:row;overflow-x:auto;padding:8px;border-right:0;border-bottom:2px solid #946539}.public-store-nav button{flex:none;padding:9px;font-size:10px}.public-store-nav p{display:none}.public-store-hero{grid-template-columns:1fr}.public-store-island-art{min-height:155px}.public-store-island-art img{max-height:150px}.public-store-feature-grid{grid-template-columns:1fr}.public-store-feature-grid article{min-height:70px}#progression-panel .vip-card .vip-plan-grid,#progression-panel .vip-card .island-catalog-grid{grid-template-columns:1fr}.public-store-aside{padding:10px}}

.island-sale-layout{display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:12px;align-items:start}
#progression-panel .vip-card .island-sale-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#progression-panel .vip-card .island-catalog-card{border:2px solid #a07b50;background:#faeed0;box-shadow:2px 3px #93734a55}
#progression-panel .vip-card .island-catalog-card.selected{border-color:var(--rarity);box-shadow:0 0 0 2px #584329,2px 3px #93734a55}
#progression-panel .vip-card .island-card-art{height:110px}
#progression-panel .vip-card .island-card-art img{height:100%;width:100%;object-fit:cover;transform:scale(1.24)}
#progression-panel .vip-card .island-card-copy{padding:9px 11px}
#progression-panel .vip-card .island-card-copy h4{font-size:18px;margin:2px 0}
#progression-panel .vip-card .island-card-copy p{min-height:0;margin:3px 0;color:#776348;font:11px monospace}
#progression-panel .vip-card .island-card-copy strong{display:block;color:#6e5431;font:10px monospace}
#progression-panel .vip-card .island-card-copy button{margin-top:8px;cursor:pointer;background:#3d7455;border-color:#315b43;color:#fff2d2}
.island-sale-detail{position:sticky;top:85px;padding:13px;border:2px solid #987244;background:#f9ebca;color:#493b29;box-shadow:2px 3px #97744955}
.island-detail-art{display:grid;place-items:center;height:125px;margin:8px 0;border:2px solid var(--rarity,#9cbb8c);background:radial-gradient(#8ab8bc,#426e79);overflow:hidden}
.island-detail-art img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated;transform:scale(1.12)}
.island-sale-detail h4{font:bold 23px Georgia;margin:7px 0;color:#493925}
.island-sale-detail dl{margin:0}.island-sale-detail dt{margin-top:8px;color:#86704e;font:10px monospace}.island-sale-detail dd{margin:1px 0;font:bold 12px Georgia}
.island-sale-detail button{width:100%;margin:15px 0 7px;padding:9px;border:1px solid #978364;background:#d8c49f;color:#65573e;font:bold 10px monospace;cursor:not-allowed}
.island-sale-detail small{display:block;color:#856e4c;font:9px/1.4 monospace}
@media(min-width:1180px){#progression-panel .vip-card .island-sale-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.island-sale-layout{grid-template-columns:1fr}.island-sale-detail{position:static;display:grid;grid-template-columns:110px 1fr;gap:4px 12px}.island-sale-detail .town-kicker,.island-sale-detail h4,.island-sale-detail dl,.island-sale-detail button,.island-sale-detail small{grid-column:2}.island-sale-detail .island-detail-art{grid-column:1;grid-row:1/5;height:105px}.island-detail-art img{width:95px;height:95px}}
@media(max-width:650px){
  #progression-panel .vip-card{width:100vw;max-height:calc(100dvh - 12px);border-width:2px!important}
  #progression-panel .vip-card .public-store-content{padding:12px}
  #progression-panel .vip-card .public-store-aside{display:none}
  #progression-panel .vip-card .island-catalog-intro{margin:0 0 12px}
  #progression-panel .vip-card .island-catalog-intro h3{font-size:21px;margin:3px 0}
  #progression-panel .vip-card .island-catalog-intro p{font-size:12px}
  #progression-panel .vip-card .island-sale-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #progression-panel .vip-card .island-catalog-card{display:block;min-width:0}
  #progression-panel .vip-card .island-card-art{height:105px;border-right:0;border-bottom:3px solid var(--rarity)}
  #progression-panel .vip-card .island-card-copy{padding:8px}
  #progression-panel .vip-card .island-card-copy small{display:block;min-height:20px;font:8px/1.2 monospace;letter-spacing:0}
  #progression-panel .vip-card .island-card-copy h4{font-size:17px;line-height:1.1}
  #progression-panel .vip-card .island-card-copy p{font-size:10px}
  #progression-panel .vip-card .island-card-copy strong{font-size:9px}
  #progression-panel .vip-card .island-card-copy button{min-height:40px;padding:7px 3px;font-size:9px}
  #progression-panel .vip-card .island-sale-detail{display:block;padding:12px}
  #progression-panel .vip-card .island-detail-art{height:145px}
  #progression-panel .vip-card .island-catalog-note{font-size:11px;margin:12px 0 0}
}

/* World labels are scaled by the mobile camera; reduce their source size so they
   remain landmarks instead of covering paths, residents and the touch HUD. */
@media(max-width:820px), (hover:none) and (pointer:coarse){
  body.scene-city .town-district{font-size:4px;letter-spacing:.2px;padding:2px 4px;border-width:1px;max-width:70px;overflow:hidden;text-overflow:ellipsis}
  body.scene-city .town-quest-marker{font-size:7px;width:9px;line-height:10px;border-width:1px}
  body.scene-city .town-neighbor-name{font-size:5px}
  body.scene-city .city-mine-road-gate{font-size:5px;padding:4px 6px;border-width:1px;gap:1px}
  body.scene-city .city-mine-road-gate:after{right:-10px;width:11px;height:3px}
  body.scene-city .scene-portal{min-width:50px;padding:4px 6px;border-width:1px;font-size:6px;text-shadow:1px 1px #241722}
  #market-top-button{width:46px!important;height:42px!important;padding:0!important;display:grid!important;place-items:center!important;overflow:hidden!important}
  #market-top-button b{display:none!important}
}

/* Simple pixel storefront stays legible at the small touch-control size. */
#market-top-button .storefront-icon{position:relative;display:block;flex:none;width:36px;height:32px;pointer-events:none}
#market-top-button .storefront-icon::before{content:"";position:absolute;z-index:2;top:2px;left:1px;width:34px;height:11px;box-sizing:border-box;border:2px solid #2b2022;border-bottom:3px solid #f8dfa1;background:repeating-linear-gradient(90deg,#bb5840 0 6px,#f8e2ad 6px 12px);box-shadow:0 2px 0 #241920}
#market-top-button .storefront-icon::after{content:"";position:absolute;top:12px;left:4px;width:28px;height:18px;box-sizing:border-box;border:2px solid #2b2022;background:#a66e42;box-shadow:inset 0 3px #dba768,0 2px #241920}
#market-top-button .storefront-icon i{position:absolute;z-index:1;top:18px;left:14px;width:8px;height:12px;box-sizing:border-box;border:2px solid #f4d58f;background:#315e58}
#market-top-button .storefront-icon i::before,#market-top-button .storefront-icon i::after{content:"";position:absolute;top:0;width:5px;height:5px;background:#315e58;border:1px solid #f4d58f}
#market-top-button .storefront-icon i::before{left:-10px}
#market-top-button .storefront-icon i::after{right:-10px}
@media(max-width:520px) and (orientation:portrait){
  #market-top-button{left:calc(50% + 38px)}
}
@media(max-width:350px) and (orientation:portrait){
  #market-top-button{left:50%;top:137px}
}
