@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root{--ink:#244233;--muted:#536a52;--paper:#fff9e9;--green:#326445;--line:#c5ceb0;--danger:#963f32;font-family:'DM Sans',sans-serif;color:var(--ink);background:#d8e3c7}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 0 0,#f5efcd,transparent 50%),linear-gradient(135deg,#dde7c9,#b6cba9);min-height:100vh}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{border:1px solid #afbea3;border-radius:12px;background:var(--paper);color:var(--ink);padding:10px 14px;min-height:40px;font-weight:700;cursor:pointer}button:active:not(:disabled){transform:translateY(1px)}button:disabled{background:#e0e2d2;color:#66715e;cursor:not-allowed}button[aria-pressed=true],button.primary{background:var(--green);color:#fffbee;border-color:var(--green)}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #b36b28;outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Fraunces,Georgia,serif}h1{font-size:clamp(27px,4vw,43px);line-height:1.12;letter-spacing:-1.2px}h2{font-size:28px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;font-weight:700;color:var(--muted);margin-bottom:5px}.top-nav{max-width:1180px;margin:auto;padding:12px 20px;display:flex;justify-content:space-between;font-weight:700;font-size:13px}.top-nav a{text-decoration:none}.farm-app{max-width:1180px;margin:auto;padding:0 20px}.farm-title{display:flex;align-items:center;justify-content:space-between;padding:9px 2px 17px}.farm-title button{border-radius:50%;width:40px}.farm-frame{background:var(--paper);border:1px solid #94ac83;border-radius:24px;overflow:hidden;box-shadow:0 16px 40px #38563820}.farm-hud{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:center;padding:14px 20px}.farm-hud span{display:block;font-size:11px;color:var(--muted)}.farm-hud strong{display:block;font-size:20px;font-variant-numeric:tabular-nums}.day-track{height:3px;background:#d5dbc0}.day-track i{display:block;height:100%;background:#d4a349}.world-stage{position:relative;background:#729e53;isolation:isolate}canvas{display:block;width:100%;height:clamp(420px,65svh,650px);touch-action:none;user-select:none;-webkit-user-select:none;image-rendering:pixelated}.world-corner{position:absolute;bottom:12px;left:12px;z-index:3;min-height:36px;padding:7px 13px;background:#fff9e9ee}.mode-controls{position:absolute;bottom:12px;right:12px;z-index:3;display:flex;gap:5px}.mode-controls button{min-height:36px;padding:6px 9px;font-size:11px;background:#fff9e9ee}.mode-controls button:first-child{font-size:17px}.mode-controls button[aria-pressed=true]{background:#28563b;color:white}.stage-overlay{position:absolute;inset:0;z-index:8;background:#eaf0d8e8;display:grid;place-content:center;text-align:center;padding:24px}.stage-overlay strong{font-family:Fraunces,serif;font-size:25px}[hidden]{display:none!important}#notice{position:absolute;z-index:7;bottom:58px;left:50%;transform:translateX(-50%);width:min(600px,calc(100% - 28px));background:#fff9e9f2;border:1px solid #d5d6ab;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:600;min-height:40px;opacity:0;pointer-events:none;transition:opacity .2s}#notice.visible{opacity:1}#notice.error{color:var(--danger);border-color:#b67f5f}#shop-tray{position:absolute;z-index:6;left:0;right:0;bottom:0;padding:9px 64px 9px 10px;background:#183a2eee;border-top:1px solid #92ae7a;display:flex;align-items:center;gap:8px;min-height:86px}#shop-products{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#e5ba61 #183a2e;padding:2px}.shop-product{width:112px;flex:0 0 112px;min-height:61px;padding:6px;background:#fff9e9;border-radius:9px;text-align:left;display:grid;grid-template-columns:28px 1fr;gap:5px;align-items:center;font-size:10px;line-height:1.15}.shop-product strong{font-size:11px}.shop-product .shop-icon{grid-row:1/3;width:28px;height:28px;image-rendering:pixelated}.shop-product span{grid-column:2;color:#52644f}.shop-product[data-pending=true]{outline:3px solid #e8b24f;transform:translateY(-5px)}#shop-close{position:absolute;right:9px;top:50%;transform:translateY(-50%);padding:6px;min-height:42px;font-size:10px;background:#dbebd4}.farm-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 18px}.farm-controls span{font-size:12px;color:var(--muted)}#held-item{font-weight:700;color:var(--ink)}#held-detail{flex:1;min-width:120px}.farm-controls button{padding:7px 10px;min-height:35px;font-size:12px}.farm-app>footer{padding:15px 0 20px;text-align:center;font-size:11px;color:var(--muted)}footer p{margin-top:7px}dialog{width:min(600px,calc(100% - 24px));max-height:88svh;padding:0;border:1px solid #849774;border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #0b291951;overflow:auto}dialog::backdrop{background:#0e251965}.dialog-header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--paper);padding:20px;border-bottom:1px solid var(--line)}#panel-content{padding:18px;display:grid;gap:14px}.panel-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;background:#e7edd8;border-radius:12px;font-weight:700}.produce-list,.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.produce-row,.shelf,.upgrade-card,.paper-card{padding:12px;background:#f4eedb;border:1px solid #d9d7bd;border-radius:14px}.produce-row{display:flex;gap:8px;align-items:center}.produce-row strong{margin-left:auto}.shelf{display:grid;gap:9px}.shelf-title{display:flex;justify-content:space-between}.shelf-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shelf-controls label{display:grid;gap:4px;font-size:11px;font-weight:700}input,select{width:100%;min-width:0;border:1px solid #aaba9a;border-radius:9px;background:#fffdf4;min-height:38px;padding:7px}.shelf-actions{display:flex;gap:8px}.shelf-actions button{flex:1;font-size:12px;padding:7px}.upgrade-card{display:grid;grid-template-columns:1fr auto;gap:8px}.upgrade-card p{grid-column:1/-1;font-size:13px}.journal-grid div{padding:12px;background:#e6ebd6;border-radius:12px;font-size:12px}.journal-grid strong{display:block;font-size:23px}.help-list{padding-left:20px;margin:0;display:grid;gap:11px;line-height:1.5;font-size:14px}.danger{color:var(--danger);border-color:#bd8b74}.event-log{padding-left:18px;font-size:13px;line-height:1.6;max-height:170px;overflow:auto}@media(max-width:600px){.top-nav{padding:10px 12px;font-size:12px}.farm-app{padding:0 8px}.farm-title{padding:4px 5px 12px}.farm-frame{border-radius:18px}.farm-hud{padding:10px;gap:6px}.farm-hud strong{font-size:16px}.farm-hud span{font-size:9px}.farm-hud button{padding:8px;font-size:12px;min-height:36px}.farm-controls{padding:10px;gap:7px}.farm-controls span{font-size:11px}.mode-controls{right:8px;bottom:8px}.mode-controls button{padding:5px 7px}.world-corner{left:8px;bottom:8px}#notice{bottom:53px;font-size:12px}.produce-list,.journal-grid{gap:6px}.dialog-header{padding:15px}#panel-content{padding:12px}.shop-product{width:102px;flex-basis:102px}}

.basket-stock {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 12px;
  background: #e3edd2;
  border: 1px solid #b9cba8;
  border-radius: 14px;
}

.basket-stock > div {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.basket-stock button {
  font-size: 12px;
}

@media (max-width: 600px) {
  .basket-stock { grid-template-columns: 1fr; }
}

.hoe-actions {
  position: absolute;
  z-index: 5;
  display: grid;
  gap: 5px;
  width: 94px;
  padding: 5px;
  border-radius: 13px;
  background: #fff9e9ee;
  box-shadow: 0 3px 12px #24423340;
}
.hoe-actions button { min-height: 38px; padding: 6px 8px; font-size: 12px; }
.hoe-actions [data-hoe-action=till] { background: var(--green); color: #fffbee; }

.day-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.day-summary > div {
  display: grid;
  gap: 3px;
  padding: 12px;
  border: 1px solid #d9d7bd;
  border-radius: 12px;
  background: #f4eedb;
}
.day-summary span { color: var(--muted); font-size: 12px; }
.day-summary strong { font-size: 20px; }
.day-summary .day-summary-total { background: #e3edd2; border-color: #b9cba8; }
@media (max-width: 440px) { .day-summary { grid-template-columns: 1fr; } }

/* Suppress the transient status pill so chores never cover the farm. */
#notice { display: none !important; }

/* Full-screen farm HUD. The world canvas remains the bottom layer. */
html,body.tiffany-page{width:100%;height:100%;height:100dvh;overflow:hidden}
html{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}
body.tiffany-page{background:#173e32;overscroll-behavior:none}
.farm-app,.world-stage{position:relative;width:100%;height:100%;height:100dvh;max-width:none;margin:0;padding:0;overflow:hidden}
.world-stage{background:#628c4f}
#farm-canvas{display:block;width:100%;height:100%;height:100dvh;max-height:none;touch-action:none}
.farm-hud{position:absolute;z-index:3;top:0;left:0;right:0;padding:calc(env(safe-area-inset-top) + 8px) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));pointer-events:none;display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
.farm-hud>*{pointer-events:auto}
.hud-actions{display:flex;justify-content:flex-end;gap:6px}
.slot-button{position:relative;display:grid;place-items:center;flex:none;width:52px;height:52px;min-height:0;padding:0;border:0;border-radius:0;background:transparent url('tiffany-assets/ui-slots.png') no-repeat 0 0;background-size:224px 288px;box-shadow:none;color:#ffe7aa;image-rendering:pixelated;touch-action:manipulation}
.slot-button:hover{filter:brightness(1.16)}
.slot-button:active:not(:disabled){transform:translateY(2px)}
.slot-button canvas{display:block;width:30px;height:30px;max-height:none;image-rendering:pixelated;pointer-events:none}
.slot-button[aria-pressed=true]{border:0;background:transparent url('tiffany-assets/ui-slots.png') no-repeat 0 -48px;background-size:224px 288px;color:#fff0bd;filter:drop-shadow(0 0 5px #f8c569)}
.settings-glyph{display:block;width:27px;height:27px;color:#ffe0a0;filter:drop-shadow(1px 2px #2b160f);pointer-events:none}
.hud-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-width:540px;margin:auto;width:100%}
.hud-stat{display:grid;align-content:center;min-width:0;min-height:50px;padding:5px 8px 5px 11px;background:#40231c url('tiffany-assets/ui-slots.png') no-repeat 0 -96px;background-size:224px 288px;border:2px solid #ac6a3d;border-radius:9px;box-shadow:0 3px 0 #2e170f,0 4px 9px #1627198a;color:#fff1c8;text-shadow:1px 1px #321911}
.hud-stat span{display:flex;align-items:center;gap:3px;color:#e9c38a;font-size:10px;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.04em}
.hud-stat canvas{width:16px;height:16px;image-rendering:pixelated}
.hud-stat strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff5dc;font:700 clamp(14px,3.5vw,20px)/1.2 'DM Sans',sans-serif;font-variant-numeric:tabular-nums}
.day-track{width:min(540px,100%);height:5px;margin:auto;border:1px solid #3b210f;border-radius:10px;background:#3a2b20b9;overflow:hidden}
.day-track i{background:#eeb951}
.farm-bottom{position:absolute;z-index:4;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 10px);pointer-events:none}
.farm-bottom>*{pointer-events:auto}
.farm-controls{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 8px;width:fit-content;max-width:min(100%,540px);margin:0 auto 7px;padding:7px 11px;border:1px solid #c29357;border-radius:9px;background:#321e19de;color:#fff0d1;box-shadow:0 3px 10px #1322188c}
.farm-controls #held-item{grid-column:1;font-size:12px;color:#ffedbe}
.farm-controls #held-detail{grid-column:1;min-width:0;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#ead2a8}
.farm-controls #queue-count{grid-column:2;grid-row:1/3;color:#ffdb86;font-size:10px;white-space:nowrap}
.farm-buttons{display:flex;justify-content:space-between;align-items:end;gap:8px}
.shop-button{width:54px;height:63px;grid-template-rows:31px 17px;align-content:center;gap:0}
.shop-button canvas{width:28px;height:28px}
.shop-button span{font:900 11px/1 'DM Sans',sans-serif;letter-spacing:.08em;text-shadow:1px 2px #25120e;pointer-events:none}
.mode-controls{position:static;display:flex;gap:3px}
.mode-controls button{width:52px;height:52px;min-height:0;padding:0;border:0;border-radius:0;background:transparent url('tiffany-assets/ui-slots.png') no-repeat 0 0;background-size:224px 288px}
.mode-controls button:first-child{font-size:inherit}
.mode-controls button[aria-pressed=true]{background:transparent url('tiffany-assets/ui-slots.png') no-repeat 0 -48px;background-size:224px 288px}
#shop-tray{position:absolute;z-index:6;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 77px);padding:8px 60px 8px 8px;background:#261916e8;border:1px solid #a77948;border-radius:12px;min-height:82px;box-shadow:0 5px 18px #142719a8}
#shop-close{background:#f6dfa9;color:#2b2118}
.stage-overlay{z-index:8}
.settings-menu{display:grid;gap:9px}
.settings-menu .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.settings-actions a,.settings-actions button{display:grid;place-items:center;min-height:44px;padding:9px;border:1px solid #afbea3;border-radius:12px;background:#e6edd9;color:#244233;text-decoration:none;text-align:center;font-weight:700}
.settings-actions a:hover,.settings-actions button:hover{background:#cfdfbe}
.settings-credit{font-size:11px;color:var(--muted)}
@media(max-width:390px){.farm-hud{padding-left:5px;padding-right:5px}.hud-stat{padding-left:6px;padding-right:4px}.hud-stat strong{font-size:14px}.farm-bottom{left:5px;right:5px}.farm-controls{max-width:100%}}

/* HUD art uses exact sprite crops, rather than background positions that reveal adjacent sprites. */
.slot-button,.slot-button[aria-pressed=true],.mode-controls .slot-button,.mode-controls .slot-button[aria-pressed=true]{width:48px;height:48px;min-height:48px;display:block;padding:0;border:0;background:none;box-shadow:none;filter:none;overflow:visible}
.slot-button .slot-art{position:absolute;inset:0;width:48px;height:48px;max-height:none}
.slot-button .slot-icon{position:absolute;left:9px;top:9px;width:30px;height:30px;max-height:none}
.hud-stat{position:relative;min-height:48px;height:48px;padding:5px 8px 4px 11px;border:0;border-radius:0;background:none;box-shadow:none}
.hud-stat .stat-art{position:absolute;inset:0;width:100%;height:48px;max-height:none;z-index:0;pointer-events:none}
.hud-stat span,.hud-stat strong{position:relative;z-index:1}
.hud-stat span canvas{flex:none;width:16px;height:16px;max-height:none}
.shop-button{height:65px;min-height:65px;width:48px;display:block}
.shop-button .slot-icon{top:8px}
.shop-button span{position:absolute;left:0;right:0;top:49px;text-align:center}
.mode-controls{display:flex;flex-direction:column;align-items:center;gap:2px}
.mode-arrows{display:flex;justify-content:space-between;width:48px;gap:0}
.mode-controls .arrow-button{position:relative;display:block;width:23px;height:23px;min-height:23px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.arrow-button canvas{position:absolute;inset:0;width:23px;height:23px;max-height:none;image-rendering:pixelated;pointer-events:none}
.mode-controls .arrow-button:active{transform:translateY(2px)}

/* Match each HUD sprite pixel to a world sprite pixel (the renderer sets these sizes). */
.slot-button,.slot-button[aria-pressed=true],.mode-controls .slot-button,.mode-controls .slot-button[aria-pressed=true]{width:var(--hud-slot-size,120px);height:var(--hud-slot-size,120px);min-height:var(--hud-slot-size,120px)}
.slot-button .slot-art{width:var(--hud-slot-size,120px);height:var(--hud-slot-size,120px)}
.slot-button .slot-icon{left:50%;top:50%;width:var(--hud-icon-size,40px);height:var(--hud-icon-size,40px);transform:translate(-50%,-50%)}
.shop-button{width:var(--hud-slot-size,120px);height:calc(var(--hud-slot-size,120px) + 18px);min-height:calc(var(--hud-slot-size,120px) + 18px)}
.shop-button .slot-icon{top:calc(var(--hud-slot-size,120px) / 2)}
.shop-button span{top:var(--hud-slot-size,120px);line-height:18px}
.mode-arrows{width:var(--hud-slot-size,120px);justify-content:center;gap:6px}
.mode-controls .arrow-button{width:var(--hud-icon-size,40px);height:var(--hud-icon-size,40px);min-height:var(--hud-icon-size,40px)}
.arrow-button canvas{width:var(--hud-icon-size,40px);height:var(--hud-icon-size,40px)}

/* The 11x3 stat sprite establishes the same tile scale as the farm canvas. */
.farm-hud{padding:env(safe-area-inset-top) 0 0;gap:4px}
.hud-stats{position:relative;width:100%;max-width:none;height:var(--hud-slot-size,120px);margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.hud-stats>.stat-art{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;image-rendering:pixelated;pointer-events:none}
.hud-stat{position:relative;z-index:1;width:100%;height:100%;min-height:0;padding:10px 7px;align-content:center;text-align:center}
.hud-stat span{justify-content:center;overflow:hidden;white-space:nowrap;font-size:clamp(10px,2.5vw,16px)}
.hud-stat strong{font-size:clamp(14px,4vw,23px)}
.hud-stat span canvas{width:min(var(--hud-icon-size,40px),28px);height:min(var(--hud-icon-size,40px),28px)}
.hud-actions{padding-right:max(8px,env(safe-area-inset-right))}
.mode-controls .arrow-button,.mode-controls .arrow-button:hover{background:none;filter:drop-shadow(1px 2px 1px #21150f)}

/* The right-hand slots overlap the transparent sprite margins, one column wide. */
.hud-stats{padding-right:var(--hud-slot-size,120px)}
.hud-stat{padding:6px 2px}
.hud-stat strong{display:flex;justify-content:center;align-items:center;min-width:0}
.hud-stat .storage-line{gap:2px;font-size:clamp(12px,3vw,22px)}
.hud-stat .storage-line canvas{flex:none;width:min(var(--hud-icon-size,40px),30px);height:min(var(--hud-icon-size,40px),30px);max-height:none;image-rendering:pixelated}
.hud-stat .storage-line span{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;color:inherit;font:inherit;letter-spacing:normal;text-transform:none;white-space:nowrap}
.hud-actions{position:absolute;top:calc(env(safe-area-inset-top) + var(--hud-button-step,70px));right:0;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:0;padding:0;width:var(--hud-slot-size,120px)}
.hud-actions #settings-toggle{margin-top:calc(var(--hud-button-step,70px) - var(--hud-slot-size,120px))}
.shop-button{height:var(--hud-slot-size,120px);min-height:var(--hud-slot-size,120px)}
.shop-button span{top:50%;transform:translateY(-50%);line-height:1;font-size:clamp(12px,3vw,20px)}
.mode-controls{position:relative;display:block;width:var(--hud-slot-size,120px);height:var(--hud-slot-size,120px)}
.mode-controls #mode-current{position:absolute;inset:0}
.mode-arrows{position:absolute;z-index:2;left:calc(var(--hud-icon-size,40px) / 2);bottom:calc(var(--hud-icon-size,40px) / 2);display:flex;justify-content:space-between;gap:0;width:calc(var(--hud-slot-size,120px) - var(--hud-icon-size,40px))}

/* A mode arrow occupies each outer tile of the slot's bottom row. */
.mode-arrows{left:0;bottom:0;width:var(--hud-slot-size,120px)}
.hud-stats{padding-right:0}
.money-line{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}
.money-line canvas{flex:none;width:min(var(--hud-icon-size,40px),30px);height:min(var(--hud-icon-size,40px),30px);max-height:none;image-rendering:pixelated}
.money-line strong{min-width:0}
.farm-buttons{display:grid;grid-template-columns:var(--hud-slot-size,120px) minmax(0,1fr) var(--hud-slot-size,120px);align-items:start;height:var(--hud-slot-size,120px);gap:0}
.farm-buttons>.shop-button{grid-column:1;align-self:start}
.farm-buttons>.mode-controls{grid-column:3;align-self:start;top:auto;right:auto;bottom:auto;left:auto}

/* Shop inventory is a paged shelf of the same pixel slots used by the HUD. */
.shop-dialog{width:min(440px,calc(100% - 20px));max-height:min(760px,88dvh);background:#241511;border:3px solid #9b6035;border-radius:16px;color:#ffedc4;box-shadow:0 18px 0 #160b08,0 30px 80px #060d0ad1}
.shop-dialog::backdrop{background:#10221bc4}
.shop-dialog-header{background:#3a2118;border-bottom-color:#8f5732;color:#fff0c7}
.shop-dialog-header .eyebrow{color:#d6b27a}
.shop-dialog-header #shop-close{background:#68402a;border-color:#a56e45;color:#fff0c7}
.shop-close-button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border-radius:10px;font:900 30px/1 'DM Sans',sans-serif}
.shop-dialog-body{display:grid;gap:10px;padding:12px}
.shop-page-note{min-height:18px;text-align:center;color:#e5c48d;font-size:12px;font-weight:800}
#shop-products.shop-product-grid{--shop-card-height:calc(var(--hud-slot-size,120px) + 42px);display:grid;grid-template-columns:repeat(2,var(--hud-slot-size,120px));grid-auto-rows:var(--shop-card-height);justify-content:center;align-items:start;gap:12px 16px;min-height:calc(var(--shop-card-height) + var(--shop-card-height) + var(--shop-card-height) + 24px);padding:2px;overflow:visible}
.shop-product-slot{position:relative;display:grid;grid-template-rows:var(--hud-slot-size,120px) auto auto;justify-items:center;align-items:start;width:var(--hud-slot-size,120px);height:auto;min-width:0;min-height:0;padding:0 0 4px;border:0;border-radius:0;background:transparent;color:#ffedc4;text-align:center;text-shadow:1px 2px #160b08;box-shadow:none;overflow:visible}
.shop-product-slot:disabled{opacity:.55;filter:saturate(.5);background:transparent;color:#d9c7a8;cursor:not-allowed}
.shop-product-slot:not(:disabled):hover{filter:brightness(1.13)}
.shop-product-slot:active:not(:disabled){transform:translateY(2px)}
.shop-slot-visual{position:relative;display:block;width:var(--hud-slot-size,120px);height:var(--hud-slot-size,120px);pointer-events:none}
.shop-slot-art{position:absolute;inset:0;width:100%;height:100%;z-index:0;image-rendering:pixelated;pointer-events:none}
.shop-product-icon{position:absolute;z-index:1;left:50%;top:50%;width:calc(var(--hud-slot-size,120px) * .38);height:calc(var(--hud-slot-size,120px) * .38);transform:translate(-50%,-50%);margin:0;image-rendering:pixelated;pointer-events:none}
.shop-product-slot strong,.shop-product-price{position:relative;z-index:1;display:block;max-width:100%;pointer-events:none}
.shop-product-slot strong{margin-top:4px;color:#fff0c8;font:800 clamp(11px,calc(var(--hud-slot-size,120px) * .105),14px)/1.15 'DM Sans',sans-serif;overflow-wrap:anywhere}
.shop-product-slot .shop-product-price{margin-top:2px;color:#e4bd7f;font:800 clamp(9px,calc(var(--hud-slot-size,120px) * .08),11px)/1.2 'DM Sans',sans-serif}
.shop-product-slot .shop-locked{color:#e8c5b1}
.shop-pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}
.shop-pagination button{min-height:38px;padding:7px;background:#5d3521;color:#fff0c0;border-color:#9c6037}
.shop-pagination button:disabled{background:#9e8069;color:#dfcdbb}
.shop-pagination span{text-align:center;font-weight:900;font-size:12px;color:#e6c18a}
@media(max-width:430px){.shop-dialog{width:min(calc(100% - 12px),440px)}.shop-product-grid{gap:5px}.shop-product-slot{padding:5px 3px 7px}}

/* Roadside stand: visual stock baskets and button-only quarter-dollar pricing. */
.market-dialog{background:#241511;border:3px solid #9b6035;color:#ffedc4;box-shadow:0 18px 0 #160b08,0 30px 80px #060d0ad1}
.market-dialog .dialog-header{background:#3a2118;border-bottom-color:#8f5732;color:#fff0c7}
.market-dialog .dialog-header .eyebrow{color:#d6b27a}
.market-dialog .dialog-header button{background:#68402a;border-color:#a56e45;color:#fff0c7}
.market-dialog #panel-content{gap:12px;background:#241511}
.market-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;border:1px solid #7e4b2c;border-radius:12px;background:#321d16;color:#e5c48d;font-weight:800}
.market-summary strong{color:#fff0bd;font-size:18px}
.market-shelves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.market-shelf{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:8px;align-items:center;padding:10px;border:2px solid #75452a;border-radius:14px;background:#342018;box-shadow:inset 0 0 0 2px #1b0e0a}
.market-stock{display:grid;justify-items:center;gap:2px;min-width:0;text-align:center}
.market-stock canvas{width:72px;height:72px;max-height:none;image-rendering:pixelated}
.market-stock strong{max-width:100%;color:#fff0c8;font-size:13px;line-height:1.1;overflow-wrap:anywhere}
.market-stock span{color:#ddb77b;font-size:11px;font-weight:800}
.market-price-control{display:grid;grid-template-rows:34px 40px 34px;align-items:center;gap:4px}
.market-price-control button{display:grid;place-items:center;min-height:34px;height:34px;padding:0;border-color:#a76c3d;border-radius:9px;background:#694027;color:#fff1c7;font-size:22px;line-height:1}
.market-price-control button:disabled{background:#49372e;color:#8f7b6e}
.market-price-control strong{display:grid;place-items:center;height:40px;border:1px solid #83502f;border-radius:8px;background:#1b100d;color:#ffd889;font-size:14px;font-variant-numeric:tabular-nums}
.market-return{grid-column:1/-1;min-height:34px;padding:6px 9px;border-color:#805036;background:#4a2b20;color:#f4d49d;font-size:11px}
.market-tend{width:100%;background:#6d4328;color:#fff0c2;border-color:#ad7546}
@media(max-width:520px){.market-shelves{grid-template-columns:1fr}.market-shelf{grid-template-columns:minmax(0,1fr) 82px}.market-stock canvas{width:68px;height:68px}}

/* Current gameplay guide. */
.help-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;color:#3f2c20}
.help-guide article{padding:13px 14px;border:1px solid #dcc9a5;border-radius:13px;background:#fffaf0;box-shadow:0 3px 0 #d5bd91}
.help-guide h3{margin:0 0 6px;color:#285f45;font:900 15px/1.25 'DM Sans',sans-serif}
.help-guide p{margin:0;font:700 13px/1.45 'DM Sans',sans-serif}
@media(max-width:600px){.help-guide{grid-template-columns:1fr}.help-guide article{padding:11px 12px}.help-guide h3{font-size:14px}.help-guide p{font-size:12px}}
