/* WaterBreak: cream, black, electric lime and the bright flavor colors.
   Loaded after feature styles so the same visual language reaches every room. */
:root {
  --cream:#fffdf5; --paper:#fffdf5; --ink:#101616; --muted:#485254;
  --line:#10161630; --coral:#ff73b6; --yellow:#fff049; --mint:#dfff4f;
  --aqua:#77e6f5; --lime:#dfff4f; --lilac:#e9daf3; --cyan:#17ccec;
  --blue:#2877f2; --pink:#ff73b6; --shadow:0 4px 0 #10161618;
  font-family:Arial,Helvetica,sans-serif; font-size:16px; color:var(--ink);
  background:var(--cream); -webkit-font-smoothing:antialiased;
}
body { background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; font-size:16px; }
button,input,select,textarea { font-family:inherit; }
button,input,select,textarea { font-size:16px; }
button { touch-action:manipulation; }
button:hover { filter:brightness(1.02); }
button:disabled { opacity:.48; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:3px solid var(--blue); outline-offset:4px;
}
h1,h2,h3 { color:var(--ink); font-family:Impact,'Arial Narrow','Helvetica Neue',Arial,sans-serif; font-weight:900; letter-spacing:-.025em; }
h1 { font-size:clamp(34px,4vw,52px); }
h2 { font-size:30px; }
h3 { font-size:25px; }
h1 em,h2 em,h3 em,.walk-intro h2 em,.facility-intro h2 em {
  color:inherit; font:inherit; font-style:normal;
}
p { line-height:1.5; }
.eyebrow,.of-kicker { font-family:Arial,Helvetica,sans-serif; font-size:13px; letter-spacing:.035em; font-weight:800; color:var(--muted); }
.primary-button,.soft-button,.play-small,.filter-button,.of-primary,.of-small-button {
  min-height:48px; padding:12px 18px; border:2px solid var(--ink);
  border-radius:999px; font-size:16px; line-height:1.2; font-weight:800;
  letter-spacing:0; color:var(--ink); background:var(--lime); box-shadow:0 3px 0 var(--ink);
}
.primary-button:hover,.of-primary:hover,.play-small:hover { background:#edff92; }
.primary-button:active,.soft-button:active,.of-primary:active,.play-small:active { box-shadow:0 1px 0 var(--ink); }
.soft-button,.of-small-button { background:var(--cream); box-shadow:none; }
.text-link,.back-link { min-height:44px; padding:10px 0; font-size:16px; font-weight:800; color:var(--ink); }
.page-note,.page-footer,.page-footer button { color:var(--muted); font-size:13px; line-height:1.5; }
.page-footer button { min-height:44px; }
.close-button { width:44px; height:44px; min-height:44px; border:2px solid var(--ink); border-radius:50%; background:var(--cream); font-size:28px; color:var(--ink); }
.toast { background:var(--ink); color:var(--cream); font-size:16px; line-height:1.4; border:2px solid var(--cream); border-radius:16px; padding:14px 19px; }
.info-dialog { width:min(520px,calc(100vw - 24px)); padding:28px; border:2px solid var(--ink); border-radius:24px; color:var(--ink); background:var(--cream); box-shadow:6px 7px 0 #10161630; }
.info-dialog::backdrop,.game-dialog::backdrop { background:#101616b8; backdrop-filter:blur(4px); }
.info-dialog h2 { font-size:36px; line-height:1.07; margin-bottom:18px; }
.info-dialog p,.info-dialog li { color:var(--muted); font-size:16px; line-height:1.5; }
.info-dialog small { color:var(--muted); font-size:13px; line-height:1.5; }

/* The map is the home screen; the frame is deliberately short and tactile. */
.map-first-shell { --hud-height:78px; --dock-height:80px; }
.map-first-shell .sidebar { display:none; }
.map-first-shell .app-shell { margin:0; padding:0 0 calc(var(--dock-height) + env(safe-area-inset-bottom)); }
.map-first-shell .game-hud { display:flex; align-items:center; justify-content:space-between; height:var(--hud-height); min-height:var(--hud-height); padding:10px 28px; background:var(--cream); border-bottom:2px solid var(--ink); gap:16px; position:relative; z-index:20; }
.hud-brand { display:flex; align-items:center; gap:17px; color:var(--ink); min-width:0; }
.hud-brand img { display:block; width:154px; height:43px; object-fit:contain; }
.hud-brand>span,.hud-brand>strong { display:block; border-left:2px solid var(--ink); padding-left:17px; font-family:Impact,'Arial Narrow',Arial,sans-serif; font-size:28px; line-height:1; letter-spacing:-.02em; }
.hud-resources,.hud-actions { display:flex; align-items:center; gap:9px; }
.hud-resources { margin-left:auto; }
.hud-account .portrait { width:32px; height:32px; flex:0 0 32px; }
.hud-account { position:relative; }
.account-dot { position:absolute; width:11px; height:11px; border:2px solid var(--ink); border-radius:50%; background:var(--lime); right:-2px; bottom:-2px; }
.game-hud .dew-balance { display:flex; gap:5px; align-items:center; border-left:1px solid var(--ink); margin-left:4px; padding-left:9px; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; padding:0!important; border:0!important; }
.game-hud .top-actions { gap:10px; }
.hud-pill,.hud-basket,.hud-account,.game-hud .icon-button {
  min-height:48px; border:2px solid var(--ink); border-radius:999px; display:flex;
  align-items:center; justify-content:center; gap:9px; padding:8px 15px; background:var(--cream); color:var(--ink); font-size:17px; font-weight:800;
}
.hud-pill.coin-hud { background:var(--yellow); }
.coin-hud .coin-icon { color:var(--ink); font-size:24px; }
.hud-basket { background:var(--lilac); }
.hud-basket svg,.hud-account svg { width:25px; height:25px; }
.hud-basket>span:first-child,.hud-account>span:first-child { font-size:25px; line-height:1; }
.hud-basket b,.hud-pill b { font-size:19px; font-variant-numeric:tabular-nums; }
.hud-account { width:48px; padding:8px; background:var(--cream); }
.game-hud .icon-button { width:46px; padding:9px; }
.hud-account.is-connected { background:var(--lime); }
.map-first-shell main { max-width:1280px; padding:24px 28px 30px; min-height:calc(100dvh - var(--hud-height) - var(--dock-height)); }
.map-first-shell main.map-mode { width:100%; max-width:none; padding:0; min-height:0; }
.map-first-shell:has(main.map-mode) .page-footer { display:none; }
.game-dock { position:fixed; bottom:0; left:0; right:0; z-index:30; display:flex; flex-direction:row; justify-content:center; align-items:stretch; gap:8px; height:calc(var(--dock-height) + env(safe-area-inset-bottom)); padding:8px 16px calc(8px + env(safe-area-inset-bottom)); background:var(--cream); border-top:2px solid var(--ink); box-shadow:0 -5px 20px #1016160c; }
.game-dock button { position:relative; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; min-width:88px; max-width:140px; padding:6px 20px; color:var(--ink); background:transparent; border:2px solid transparent; border-radius:15px; font-size:14px; font-weight:800; line-height:1.1; }
.game-dock button svg { width:25px; height:25px; }
.game-dock button>span:first-child { font-size:26px; line-height:1; }
.game-dock button.active,.game-dock button[aria-current=page] { background:var(--lime); border-color:var(--ink); color:var(--ink)!important; }
.game-dock button.active svg,.game-dock button.active span { color:var(--ink)!important; }
.dock-badge { position:absolute; right:15px; top:1px; min-width:20px; height:20px; display:grid; place-items:center; background:var(--pink); border:1.5px solid var(--ink); border-radius:99px; color:var(--ink); font-size:12px; font-weight:800; padding:0 4px; }
.dock-badge[hidden] { display:none!important; }
.island-game { position:relative; height:calc(100dvh - var(--hud-height) - var(--dock-height) - env(safe-area-inset-bottom)); min-height:420px; overflow:hidden; background:#63dff3; }
.island-game .living-map { height:100%; border:0; border-radius:0; box-shadow:none; background:#63dff3; }
.island-game .map-scroll { height:100%; max-height:none; display:flex; align-items:safe center; scrollbar-color:var(--blue) transparent; }
.island-game .map-surface { min-width:0; width:calc(min(100%,(100dvh - var(--hud-height) - var(--dock-height))*1.454545) * var(--map-scale)); flex:0 0 calc(min(100%,(100dvh - var(--hud-height) - var(--dock-height))*1.454545) * var(--map-scale)); margin-inline:auto; aspect-ratio:1600/1100; }
.island-game .world-art { filter:none; }
.island-tools { position:absolute; z-index:8; top:18px; right:18px; display:flex; flex-direction:column; gap:9px; }
.island-tools button,.map-tools button { width:46px; height:46px; min-height:46px; display:grid; place-items:center; border:2px solid var(--ink); border-radius:50%; box-shadow:0 3px 0 #10161630; background:var(--cream); color:var(--ink); font-size:23px; font-weight:800; }
.island-tools button svg { width:24px; height:24px; }
.island-statusbar { position:absolute; z-index:7; bottom:15px; left:50%; transform:translateX(-50%); display:flex; justify-content:center; gap:8px; max-width:calc(100% - 25px); pointer-events:none; }
.island-statusbar button,.island-statusbar>span { display:flex; align-items:center; justify-content:center; gap:6px; padding:10px 14px; border:2px solid var(--ink); border-radius:999px; background:var(--lime); color:var(--ink); font-size:14px; font-weight:800; box-shadow:0 3px 0 #10161620; white-space:nowrap; pointer-events:auto; }
.island-statusbar button.water,.island-statusbar .water-status { background:#82eaff; }
.district-pin { min-width:110px; min-height:51px; grid-template-columns:28px 1fr; border:2px solid var(--ink); border-bottom:5px solid var(--district,var(--ink)); border-radius:13px; background:var(--cream); color:var(--ink); box-shadow:0 3px 0 #10161635; padding:8px 11px; gap:6px; }
.district-pin:hover { background:var(--lime); }
.district-pin:after { border-color:var(--ink); border-width:2px; }
.district-pin strong,.district-pin .pin-name { color:var(--ink); font-family:Arial,Helvetica,sans-serif; font-size:14px; font-weight:800; letter-spacing:-.02em; line-height:1.1; }
.district-pin .pin-crop { font-size:27px; line-height:1; }
.district-pin small { font-size:12px; letter-spacing:0; color:var(--ink); }
.district-pin.crop-ready,.district-pin.has-fruit { background:var(--lime); }
.district-pin.needs-water { background:#82eaff; }
.pin-alert { position:absolute; right:-8px; top:-12px; display:grid; place-items:center; min-width:25px; height:25px; padding:0 5px; border:2px solid var(--ink); border-radius:99px; background:var(--lime); color:var(--ink); font-size:15px; font-weight:900; box-shadow:0 0 0 3px #fffdf5; animation:wb-alert 2.3s ease-in-out infinite; }
.pin-alert.water,.pin-alert.needs-water { background:#82eaff; right:auto; left:-8px; }
.factory-map-pin { border:2px solid var(--ink); background:var(--lime); color:var(--ink); min-height:66px; padding:10px 12px; box-shadow:0 4px 0 #10161644; border-radius:14px; }
.factory-map-pin strong { font-size:14px; letter-spacing:0; line-height:1.15; }
.factory-map-pin>span { color:var(--ink); font-size:28px; }
.factory-map-pin small { color:var(--ink); font-size:12px; letter-spacing:0; }
.factory-map-pin:hover { background:#eeff9d; }
.map-top-label,.map-caption { background:var(--cream); color:var(--ink); border:2px solid var(--ink); box-shadow:0 3px 0 #10161620; }
.map-top-label b,.map-caption b { font-size:16px; letter-spacing:0; }
.map-top-label span,.map-caption span,.map-legend,.map-bottom-label { font-size:13px; letter-spacing:0; color:var(--ink); }

/* Basket: fruit is the information, with a direct route to the facility. */
.fruit-basket-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin:22px 0; }
.basket-fruit { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:7px; min-width:0; min-height:100px; border:2px solid var(--ink); border-radius:16px; padding:10px; background:var(--lilac); color:var(--ink); }
.basket-fruit>span:first-child { font-size:34px; line-height:1; }
.basket-fruit b,.basket-fruit strong { font-size:25px; line-height:1; }
.basket-fruit small,.basket-fruit>span:last-child:not(:first-child) { font-size:13px; font-weight:700; color:var(--ink); }
.basket-fruit.is-empty,.basket-fruit.empty { opacity:.45; }
.basket-summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:15px 18px; background:var(--yellow); border:2px solid var(--ink); border-radius:14px; font-size:16px; font-weight:700; margin:15px 0; }
.basket-summary strong { font-size:26px; }
.account-panel form label { font-size:16px; color:var(--ink); font-weight:800; margin:16px 0; }
.account-panel input,.facility-sell-controls input { min-height:52px; padding:12px 14px; border:2px solid var(--ink); border-radius:12px; background:var(--cream); font-size:18px; color:var(--ink); }
.account-panel input::placeholder { color:#626c6e; }
.account-panel .auth-buttons button { min-height:52px; font-size:17px; }
.account-panel>p,.account-panel form>p { font-size:16px; color:var(--muted); }
.account-panel>small,.account-panel form>small { font-size:13px; color:var(--muted); line-height:1.5; }
.account-error { font-size:15px!important; color:#b3263d!important; }
.account-panel>.soft-button { font-size:16px; }
.connection-light,.live-dot { background:var(--yellow); border:1px solid var(--ink); width:10px; height:10px; }
.connection-light.connected { background:var(--lime); }
.world-profile { background:var(--lilac); border:2px solid var(--ink); color:var(--ink); font-size:14px; min-height:44px; }
.world-heading h1,.world-page .world-heading h1,.district-page .world-heading h1 { color:var(--ink); font-size:clamp(32px,4vw,48px); }
.world-heading h1 em { color:var(--ink); }
.world-heading p { font-size:16px; color:var(--muted); }

/* The neighborhood is a little bright playable world, not an article. */
.district-play-now { border:2px solid var(--ink); background:var(--lilac); color:var(--ink); padding:18px 22px; border-radius:22px; box-shadow:0 4px 0 #10161618; }
.district-play-now h2 { color:var(--ink); font-size:32px; line-height:1.05; }
.district-play-now small,.district-play-now p { color:var(--ink); font-size:14px; letter-spacing:0; }
.district-play-now>button { color:var(--ink); background:var(--lime); font-size:18px; border:2px solid var(--ink); min-height:54px; }
.walkabout { --walk-ink:#101616; --walk-accent:#dfff4f; color:var(--ink); }
.walk-layout { border:2px solid var(--ink); background:var(--cream); box-shadow:0 5px 0 #10161620; border-radius:22px; }
.walk-view-wrap { border-color:var(--ink); }
.walk-stage { background:#c8ee55; }
.walk-controls { background:var(--lilac); border-top:2px solid var(--ink); }
.walk-dpad button,.arcade-dpad .control { border:2px solid var(--ink); border-bottom-width:4px; color:var(--ink); background:var(--cream); font-size:24px; border-radius:11px; }
.walk-dpad button:active,.arcade-dpad .control:active { background:var(--lime); }
.walk-controls .walk-interact { color:var(--ink); background:var(--lime); border:2px solid var(--ink); min-height:50px; padding:10px 17px; font-size:16px; font-weight:800; }
.walk-control-copy b { font-size:16px; color:var(--ink); }
.walk-control-copy span { font-size:14px; color:var(--muted); }
.walk-shortcuts { background:var(--cream); border-color:var(--line); padding:10px 16px; }
.walk-shortcuts button { min-height:44px; color:var(--ink); font-size:15px; border-bottom:0; text-decoration:underline; text-underline-offset:4px; }
.walk-shortcuts>span { font-size:14px; color:var(--ink); }
.walk-panel { padding:22px; color:var(--ink); border-color:var(--ink); }
.walk-panel h3 { font-size:30px; color:var(--ink); }
.walk-panel p,.walk-panel-welcome p { font-size:16px; line-height:1.45; color:var(--muted); }
.walk-panel-head>span+span,.walk-panel .eyebrow { font-size:13px; letter-spacing:0; color:var(--ink); }
.walk-panel button { color:var(--ink); min-height:48px; font-size:16px; background:var(--cream); border:2px solid var(--ink); border-radius:12px; }
.walk-panel button.main-action { background:var(--lime); color:var(--ink); border-color:var(--ink); box-shadow:0 3px 0 var(--ink); }
.walk-panel-icon { background:var(--lime); color:var(--ink); border:2px solid var(--ink); }
.walk-care-actions button { background:#9aeafe; font-size:16px; }
.walk-care-actions button>span { font-size:13px; color:var(--ink); }
.walk-basket { background:var(--lilac); border:2px solid var(--ink); padding:15px; }
.walk-basket strong { color:var(--ink); font-size:31px; }
.walk-basket strong small { color:var(--muted); font-size:17px; }
.walk-basket>div>span,.walk-basket>small { font-size:13px; color:var(--ink); letter-spacing:0; }
.walk-basket-meter,.walk-growth-meter,.walk-health>div { height:8px; background:#1016161c; }
.walk-basket-meter i,.walk-growth-meter i,.walk-health i { background:#b3d82b; }
.walk-production-state>span,.walk-health>span,.walk-maturity small { font-size:13px; letter-spacing:0; color:var(--muted); }
.walk-production-state>b,.walk-health b { font-size:15px; color:var(--ink); line-height:1.3; }
.walk-timer { font-size:13px; letter-spacing:0; color:var(--muted); }
.walk-maturity i { font-size:13px; color:#10161628; }
.walk-maturity i.done { color:#597500; }
.walk-facility-link { background:var(--lime); border-top:2px solid var(--ink); color:var(--ink); padding:17px 19px; }
.walk-facility-link>span { font-size:13px; color:var(--ink); letter-spacing:0; }
.walk-facility-link>b { font-size:18px; }
.walk-facility-link>small { color:var(--ink); font-size:14px; }
.walk-name { color:var(--cream); background:var(--ink); font-size:13px; padding:6px 9px; border:2px solid var(--cream); }
.walk-name b { color:var(--lime); font-size:11px; }
.walk-npc .walk-name { background:var(--cream); color:var(--ink); border-color:var(--ink); }
.walk-npc .walk-name b { color:var(--ink); border-color:var(--line); }
.walk-camera-note { background:var(--cream); color:var(--ink); font-size:13px; border:2px solid var(--ink); letter-spacing:0; }
.walk-nearby { background:var(--ink); color:var(--cream); font-size:14px; border:2px solid var(--cream); }
.walk-object small { color:var(--ink); background:var(--cream); font-size:12px; border:2px solid var(--ink); letter-spacing:0; }
.walk-gate button>span { color:var(--ink); background:var(--lime); border-color:var(--ink); }
.walk-arcade button { background:var(--pink); border-color:var(--ink); }
.walk-arcade button>span { background:var(--lime); color:var(--ink); border-color:var(--ink); }
.walk-arcade small { background:var(--pink); color:var(--ink); font-size:12px; }
.walk-cart-roof { background:repeating-linear-gradient(90deg,var(--lime) 0 16px,var(--cream) 16px 31px); border-color:var(--ink); }
.walk-plant-badge { border:2px solid var(--ink); border-radius:99px; padding:7px 9px; background:var(--cream); color:var(--ink); font-size:13px; letter-spacing:0; box-shadow:0 3px 0 #10161625; line-height:1; }
.walk-plant.has-fruit .walk-plant-badge,.walk-plant.ready .walk-plant-badge { background:var(--lime); animation:wb-alert 2.3s ease-in-out infinite; }
.walk-plant.needs-water .walk-plant-badge { background:#82eaff; }
.walk-plant.needs-care .walk-plant-badge,.walk-plant.infested .walk-plant-badge { background:var(--pink); }
.walk-plant.needs-water:before { content:'💧'; position:absolute; top:9px; right:8px; z-index:3; display:grid; place-items:center; width:34px; height:34px; font-size:21px; background:#82eaff; border:2px solid var(--ink); border-radius:50%; box-shadow:0 3px 0 #10161630; animation:wb-alert 2.3s ease-in-out infinite; pointer-events:none; }
.walk-plot-number { background:var(--ink); color:var(--cream); font-size:12px; width:22px; height:22px; line-height:22px; }
.walk-conversation blockquote { font-family:Arial,Helvetica,sans-serif; font-weight:700; font-size:24px; color:var(--ink); }
.walk-conversation small { color:var(--muted); font-size:14px; }
.district-garden-details>summary { font-size:16px; color:var(--ink); }
.walk-mission-summary { border:2px solid var(--ink); background:var(--lilac); color:var(--ink); }
.walk-mission-summary>span { background:var(--pink); color:var(--ink); border:2px solid var(--ink); }
.walk-mission-summary p { font-size:16px; color:var(--muted); }
.walk-mission-summary .primary-button { font-size:16px; }

/* The facility is a toy campus: four distinct rooms and direct play controls. */
.of-explore { --of-ink:#101616; --of-muted:#485254; --of-line:#10161630; --of-cream:#fffdf5; color:var(--ink); }
.of-heading h2 { font-size:42px; color:var(--ink); }
.of-heading p { font-size:16px; color:var(--muted); }
.of-small-button { color:var(--ink); background:var(--cream); border:2px solid var(--ink); font-size:16px; }
.of-primary { background:var(--lime); border:2px solid var(--ink); color:var(--ink); font-size:18px; }
.of-campus { border:2px solid var(--ink); background:#98e9fa; gap:32px; border-radius:24px; }
.of-path { background:var(--cream); box-shadow:0 0 0 2px var(--ink); }
.of-room { border:2px solid var(--ink); box-shadow:0 4px 0 #10161635; background:var(--cream); }
.of-room:hover { border-color:var(--ink); box-shadow:0 7px 0 #10161635; }
.of-room-art { background:var(--lilac); }
.of-lab .of-room-art { background:#8eeaff; }
.of-works .of-room-art { background:#ffaad1; }
.of-garden .of-room-art { background:var(--lime); }
.of-room-label { border-top:2px solid var(--ink); padding:17px; }
.of-room-label strong { font-size:25px; color:var(--ink); font-family:Impact,'Arial Narrow',Arial,sans-serif; letter-spacing:-.02em; }
.of-room-label small { font-size:14px; color:var(--muted); }
.of-room-number { font-size:14px; color:var(--muted); }
.of-room-label>b { color:var(--ink); background:var(--lime); border:2px solid var(--ink); padding:11px 14px; font-size:15px; }
.of-lab .of-room-label>b { background:#8eeaff; color:var(--ink); }
.of-works .of-room-label>b { background:var(--pink); color:var(--ink); }
.of-campus-center { border:2px solid var(--ink); background:var(--yellow); box-shadow:0 3px 0 #10161630; }
.of-campus-center span { color:var(--ink); }
.of-map-note { font-size:14px; color:var(--muted); }
.of-game-heading h2 { font-size:34px; color:var(--ink); }
.of-hud { background:var(--lilac); border:2px solid var(--ink); }
.of-hud>div { border-color:var(--line); padding:14px; }
.of-hud small { font-size:13px; letter-spacing:0; color:var(--ink); }
.of-hud strong { color:var(--ink); font-size:28px; }
.of-hud [data-of-lives] { color:#c5215d; }
.of-game-stage { border:2px solid var(--ink); background:#8eeaff; }
.of-game-overlay { background:#101616aa; backdrop-filter:blur(2px); }
.of-speech,.of-pause-card,.of-result-card { background:var(--cream); border:2px solid var(--ink); box-shadow:0 5px 0 #10161650; }
.of-speech h3,.of-result-card h3 { color:var(--ink); }
.of-speech p,.of-speech .of-intro-note,.of-result-card p { font-size:16px; color:var(--muted); line-height:1.45; }
.of-speech .of-primary { font-size:17px; }
.of-host span { color:var(--ink); font-size:14px; }
.of-feedback { color:var(--ink); font-size:16px; }
.of-controls button,.of-controls .of-fruit-control { color:var(--ink); background:var(--lime); border:2px solid var(--ink); box-shadow:0 4px 0 var(--ink); border-radius:17px; }
.of-controls .of-sugar-control { color:var(--ink); background:#8eeaff; border-color:var(--ink); }
.of-controls .of-work-control { color:var(--ink); background:var(--pink); border-color:var(--ink); }
.of-controls button strong { font-size:21px; }
.of-controls button small { color:var(--ink); font-size:14px; opacity:1; }
.of-result-stats,.of-result-card .of-reward-message { font-size:14px; color:var(--ink); }
.of-rooftop { background:linear-gradient(#8eeaff 0 70%,var(--lime) 70%); border:2px solid var(--ink); }
.of-garden-copy h3 { color:var(--ink); font-size:36px; }
.of-garden-copy p,.of-garden-tag,.of-garden-status { color:var(--ink); font-size:16px; }
.of-rooftop-sun { color:#ffe629; }
.of-pot { background:#ff83ad; border-color:var(--ink); }
.of-plant-stem { background:#628c0a; }
.of-plant-stem:before,.of-plant-stem:after { background:#a9d92c; }
.of-planter-label { color:var(--ink); font-size:14px; }
.facility-balance { background:var(--yellow); border:2px solid var(--ink); }
.facility-balance>span { font-size:13px; color:var(--ink); letter-spacing:0; }
.facility-balance>strong { color:var(--ink); font-size:31px; }
.facility-counter-heading h2 { font-size:35px; }
.facility-counter-heading p { font-size:16px; color:var(--muted); }
.facility-basket-summary { background:var(--lilac); border:2px solid var(--ink); }
.facility-basket-summary>div>span { color:var(--ink); font-size:13px; letter-spacing:0; }
.facility-basket-summary .primary-button { font-size:17px; min-height:52px; }
.facility-receipt { background:#e8ff8e; border-color:var(--ink); color:var(--ink); font-size:16px; }
.facility-intake-row { background:var(--cream); border:2px solid var(--ink); }
.facility-fruit { background:var(--lilac); border:1px solid var(--ink); }
.facility-fruit-name>span,.facility-fruit-name small { color:var(--muted); font-size:14px; letter-spacing:0; }
.facility-fruit-name small b { color:var(--ink); }
.facility-fruit-name h3 { font-size:28px; }
.facility-sell-controls label { color:var(--ink); font-size:14px; }
.facility-sell-controls button { min-height:52px; font-size:17px; color:var(--ink); }
.facility-empty,.facility-town-progress { background:var(--lilac); border:2px solid var(--ink); }
.facility-empty p,.facility-town-progress p,.facility-town-progress small,.facility-town-progress>div:last-child>span { font-size:15px; color:var(--muted); }
.facility-empty h3 { font-size:27px; }
.facility-empty>.text-link { font-size:16px; }
.facility-price-board { background:var(--cream); border:2px solid var(--ink); }
.facility-price-board summary { color:var(--ink); font-size:16px; min-height:28px; }
.facility-price-board th,.facility-price-board td { color:var(--ink); font-size:15px; letter-spacing:0; padding:12px 0; }
.facility-progress { background:#10161620; }
.facility-progress i { background:#b0d32b; }
.facility-next .primary-button,.facility-next .soft-button { font-size:16px; min-height:50px; }

/* Arcade: legible live scores and phone controls share the packaging palette. */
.game-dialog { border:2px solid var(--ink); color:var(--ink); background:var(--lilac); width:min(560px,calc(100vw - 24px)); }
.game-layout { display:block; }
.game-stage { background:var(--lilac); max-width:520px; margin:auto; }
.game-toolbar { min-height:44px; height:auto; gap:10px; }
.game-toolbar #game-title { font-family:Impact,'Arial Narrow',Arial,sans-serif; font-size:24px; letter-spacing:-.02em; }
.game-icon { width:44px; height:44px; border:2px solid var(--ink); background:var(--cream); color:var(--ink); border-radius:50%; font-size:23px; }
.scorebar { color:var(--ink); padding:12px 2px; font-size:14px; }
.scorebar b { color:var(--ink); font-size:25px; }
.run-status { background:var(--lime); color:var(--ink); font-size:14px; font-weight:800; padding:8px 12px; border:2px solid var(--ink); border-radius:11px; margin-bottom:10px; }
.canvas-wrap { border:2px solid var(--ink); border-radius:17px; background:var(--ink); overflow:hidden; max-height:calc(96dvh - 320px); width:calc((96dvh - 320px)*.75); }
.game-overlay { background:#101616c9; color:var(--cream); }
.game-overlay h2 { color:var(--cream); font-size:38px; }
.game-overlay p { color:var(--cream); font-size:16px; }
.game-overlay button { background:var(--lime); color:var(--ink); border:2px solid var(--ink); font-size:17px; min-height:48px; box-shadow:0 3px 0 #fffdf566; }
.input-mode-tabs { gap:8px; }
.input-mode-tabs button { font-size:14px; min-height:42px; border:2px solid var(--ink); color:var(--ink); background:var(--cream); }
.input-mode-tabs button[aria-pressed=true] { color:var(--ink); background:var(--lime); border-color:var(--ink); }
.arcade-touchpad { background:#92eafd; border:2px solid var(--ink); color:var(--ink); font-size:16px; border-radius:16px; }
.arcade-touchpad.is-tracking { background:var(--lime); border-color:var(--ink); }
.touchpad-glyph { color:var(--ink); opacity:1; }
.touchpad-finger { background:#fffdf599; border-color:var(--ink); box-shadow:0 0 0 7px #10161615; }
.control { color:var(--ink); background:var(--cream); border:2px solid var(--ink); }
.arcade-action-row .control { min-height:44px; height:auto; font-size:15px; padding:9px 15px; background:var(--lime); color:var(--ink); }
.control.ability-control { background:var(--pink); color:var(--ink); }
.score-submission { font-size:15px!important; color:var(--lime)!important; }

/* Tips are short comic bubbles, never a gate before play. */
.orchard-tip,.oh-tip { display:flex; align-items:center; gap:12px; background:var(--cream); color:var(--ink); border:2px solid var(--ink); border-radius:20px; box-shadow:4px 5px 0 #10161635; padding:12px 12px 12px 10px; font-family:Arial,Helvetica,sans-serif; font-size:17px; line-height:1.3; }
.orchard-tip-avatar { width:56px; height:70px; object-fit:contain; flex:0 0 56px; }
.orchard-tip .coach-portrait { width:56px; height:56px; border:2px solid var(--ink); flex:0 0 56px; margin:0; animation:none; position:static; }
.orchard-tip-text { flex:1; font-size:17px; line-height:1.3; font-weight:800; min-width:0; }
.orchard-tip-close { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; min-height:44px; border:0!important; border-radius:50%; background:var(--lime)!important; color:var(--ink)!important; font-size:25px!important; padding:0!important; box-shadow:none!important; }
.game-overlay.coach-tip-overlay { background:transparent; backdrop-filter:none; padding:12px; justify-content:flex-end; align-items:stretch; }
.coach-tip { margin-top:auto; width:100%; }
.coach-tip-overlay { z-index:6; }
.context-tip,.oh-context-tip { position:fixed; z-index:120; width:min(340px,calc(100vw - 24px)); }
.quick-tour.quick-help,.oh-help-card { max-width:400px; background:var(--cream); color:var(--ink); border:2px solid var(--ink); padding:16px; border-radius:22px; font-size:17px; box-shadow:4px 5px 0 #10161630; }
.quick-help-icons { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:0; margin:0; list-style:none; width:100%; }
.quick-help-icons li { display:flex; align-items:center; flex-direction:column; gap:8px; font-size:15px; font-weight:800; color:var(--ink); }
.quick-help-icons li>span { display:grid; place-items:center; width:45px; height:45px; border:1px solid var(--ink); border-radius:12px; background:var(--lime); font-size:27px; }
.quick-help-icons li:nth-child(2)>span { background:#82eaff; }
.quick-help-icons li:nth-child(3)>span { background:var(--pink); }
.quick-help-icons li:nth-child(4)>span { background:var(--yellow); }

/* Scores, missions and optional extras keep the same hierarchy and contrast. */
.daily-heading h1 { font-size:44px; }
.daily-heading p,.daily-prize { font-size:16px; color:var(--muted); }
.daily-tabs button { background:var(--cream); color:var(--ink); border:2px solid var(--ink); min-height:48px; font-size:16px; }
.daily-tabs button.active { background:var(--lime); color:var(--ink); }
.daily-status { background:var(--lilac); color:var(--ink); border:2px solid var(--ink); font-size:16px; }
.daily-status b { font-size:21px; }
.daily-rows li { border-color:var(--line); padding:19px 12px; font-size:17px; }
.daily-rows small { font-size:14px; color:var(--muted); }
.daily-rows li:first-child { background:var(--yellow); border-radius:14px; border:2px solid var(--ink); }
.daily-empty { border:2px dashed var(--ink); background:var(--lilac); font-size:17px; }
.daily-error { color:#ad1f3b; }
.monthly-mission-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.monthly-mission-card,.market-item,.character-card,.stamp-card,.neighbors-board { border:2px solid var(--ink); background:var(--cream); color:var(--ink); box-shadow:0 4px 0 #1016161c; }
.monthly-mission-card.complete { border-color:var(--ink); background:#edffac; }
.monthly-mission-card .eyebrow,.mission-card-top small,.monthly-mission-card>p,.reward-line,.mission-neighbors>span:last-child:not(.portrait) { font-size:14px; color:var(--muted); letter-spacing:0; }
.monthly-mission-card h2 { font-size:29px; }
.monthly-mission-card .primary-button { font-size:16px; }
.monthly-mission-card .mission-card-top>span { background:var(--lilac); border:1px solid var(--ink); }
.mission-season-summary,.passport-card { border:2px solid var(--ink); background:var(--lilac); }
.mission-season-summary p,.mission-season-summary>div:first-child p { font-size:15px; color:var(--muted); }
.mission-season-summary>div:first-child strong>span { color:var(--ink); }
.market-balance { background:var(--yellow); border:2px solid var(--ink); color:var(--ink); }
.market-balance>span,.market-balance small,.market-balance p { color:var(--ink); font-size:15px; letter-spacing:0; }
.market-balance>span { font-size:45px; }
.market-item p { font-size:16px; color:var(--muted); }
.market-item h2 { font-size:32px; }
.market-item .eyebrow { font-size:14px; }
.supply-art { background:#8eeaff; color:var(--ink); }
.supply-art.purifier { background:var(--lilac); color:var(--ink); }
.supply-art.soil { background:var(--lime); color:var(--ink); }
.supply-inventory>span { font-size:16px; color:var(--ink); }
.character-copy>small,.character-copy p { font-size:14px; color:var(--muted); letter-spacing:0; }
.character-copy h3 { font-size:31px; }
.character-card.selected { background:var(--lime); }
.selected-mark { background:var(--ink); color:var(--cream); font-size:13px; }
.character-image { background:var(--lilac); }
.passport-card small,.mission-card p,.stamp-card p { font-size:15px; color:var(--muted); }
.mission-card { border:2px solid var(--ink); background:var(--yellow); }
.stamp-card.earned { background:var(--lime); }
.game-card { border:2px solid var(--ink); box-shadow:0 4px 0 #10161625; }
.game-card p { font-size:16px; color:var(--muted); line-height:1.45; }
.game-card h3 { font-size:29px; }
.game-meta,.game-meta .tag,.best,.best strong { font-size:13px; color:var(--ink); letter-spacing:0; }
.game-meta .tag { background:var(--lilac); }
.game-art.rally { background:#8eeaff; }.game-art.stack { background:var(--pink); }.game-art.crossing { background:var(--lime); }
.game-card-bottom { gap:12px; }
.play-small { font-size:16px; }
.section-head h2 { font-size:30px; }.section-head small { color:var(--muted); font-size:15px; }
.quick-actions>button { background:var(--lilac); border:2px solid var(--ink); color:var(--ink); font-size:20px; }
.quick-actions small { font-size:15px; }
.district-directory-card { background:var(--cream); border:2px solid var(--ink); }
.district-directory-card small,.district-directory-card div>span { color:var(--muted); font-size:13px; letter-spacing:0; }
.district-directory-card strong { font-size:16px; color:var(--ink); }
.district-travel button { background:var(--lilac); color:var(--ink); font-size:16px; min-height:46px; border:2px solid var(--ink); }
.farm-plot { background:var(--lilac); border:2px solid var(--ink); }
.farm-plot>strong { font-size:17px; }.farm-plot>p,.farm-plot>small { font-size:14px; color:var(--muted); }
.farm-plot>button { font-size:16px; min-height:46px; color:var(--ink); background:var(--lime); border:2px solid var(--ink); }
.farm-plot.ready>button { color:var(--ink); background:var(--lime); border-color:var(--ink); }
.plot-number,.plot-satisfied { font-size:13px; color:var(--muted); letter-spacing:0; }
.crop-progress>i { background:#a4ce1e; }.progress-fill { background:#a4ce1e; }

@keyframes wb-alert { 0%,100% { box-shadow:0 0 0 3px var(--cream),0 0 0 3px #10161600; } 50% { box-shadow:0 0 0 3px var(--cream),0 0 0 8px #10161615; } }
@media(min-width:1500px) { .map-first-shell .game-hud { padding-left:38px; padding-right:38px; } .game-dock { gap:12px; } }
@media(max-width:1000px) {
  .monthly-mission-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .district-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .walk-layout { grid-template-columns:minmax(0,1fr) 270px; }
  .walk-panel { padding:18px; }
  .of-room-label { flex-wrap:wrap; }
  .of-room-label>b { margin-left:0; width:100%; text-align:center; }
  .of-room-label strong { font-size:24px; }
}
@media(max-width:740px) {
  .map-first-shell { --hud-height:68px; --dock-height:74px; }
  .map-first-shell .game-hud { padding:8px 12px; gap:7px; }
  .hud-brand { gap:8px; }
  .hud-brand img { width:113px; height:35px; }
  .hud-brand>span,.hud-brand>strong { display:none; }
  .hud-resources,.hud-actions { gap:6px; }
  .game-hud .top-actions { gap:6px; }
  .hud-pill,.hud-basket { padding:8px 10px; gap:5px; min-height:44px; font-size:16px; }
  .hud-basket svg { width:22px; height:22px; }
  .hud-basket b,.hud-pill b { font-size:17px; }
  .hud-account,.game-hud .icon-button { width:44px; min-height:44px; padding:8px; }
  .game-hud .hud-account { display:none!important; }
  .game-hud .coin-hud .dew-balance { display:none; }
  .game-dock { gap:0; padding-left:4px; padding-right:4px; }
  .game-dock button { flex:1; min-width:0; max-width:90px; padding:5px 4px; gap:4px; font-size:12px; border-radius:13px; }
  .game-dock button svg { width:24px; height:24px; }
  .dock-badge { top:0; right:7px; font-size:11px; }
  .map-first-shell main { padding:20px 16px 28px; }
  .island-game { min-height:380px; }
  .island-game .map-surface { width:calc(100% * var(--map-scale)); flex-basis:calc(100% * var(--map-scale)); aspect-ratio:1600/1650; }
  .island-game .world-art { object-fit:fill; }
  .island-tools { right:12px; top:12px; gap:8px; }
  .island-tools button { width:44px; height:44px; min-height:44px; }
  .island-statusbar { bottom:12px; gap:6px; }
  .island-statusbar button,.island-statusbar>span { font-size:13px; padding:9px 12px; }
  .island-game .district-pin { min-width:0!important; width:70px; min-height:57px; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:5px 3px; border-radius:13px; gap:3px; border-bottom-width:4px; }
  .island-game .district-pin strong,.island-game .district-pin .pin-name { font-size:12px; white-space:nowrap; }
  .island-game .district-pin .pin-crop { font-size:24px; line-height:1; }
  .island-game .pin-alert { top:-12px; right:-8px; font-size:12px; min-width:23px; height:23px; padding:0 3px; border-width:1.5px; }
  .island-game .pin-alert.water { right:auto; left:-8px; }
  .island-game .factory-map-pin { min-width:0!important; max-width:94px; width:94px; min-height:64px; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:6px 4px; border-radius:14px; gap:3px; text-align:center; }
  .island-game .factory-map-pin strong { font-size:12px; line-height:1; }
  .island-game .factory-map-pin small { font-size:11px; margin-top:0; }
  .island-game .factory-map-pin>span { font-size:27px; line-height:1; }
  .info-dialog { padding:24px 20px; }
  .info-dialog h2 { padding-right:30px; font-size:34px; }
  .fruit-basket-grid { gap:8px; }.basket-fruit { padding:10px 5px; min-height:95px; }.basket-fruit small { font-size:12px; }
  .district-play-now { padding:15px; gap:12px; }
  .district-play-now h2 { font-size:29px; }
  .district-play-now>button { width:100%; font-size:18px; min-height:52px; }
  .walk-layout { display:flex; flex-direction:column; }
  .walk-panel { padding:20px; border-top:2px solid var(--ink); }
  .walk-panel h3 { font-size:29px; }
  .walk-panel p { max-width:none; font-size:16px; }
  .walk-panel-welcome p { max-width:none; }
  .walk-panel-head { max-width:67%; }
  .walk-controls { padding:12px; }
  .walk-controls .walk-interact { min-height:48px; font-size:16px; padding:10px 13px; }
  .walk-dpad { grid-template-columns:44px 44px 44px!important; grid-template-rows:42px 42px 42px!important; flex-basis:140px; }
  .walk-shortcuts { gap:12px; padding:10px 13px; }
  .walk-shortcuts button { font-size:14px; }
  .walk-shortcuts>span { font-size:14px; }
  .walk-camera-note { font-size:12px; max-width:calc(100% - 24px); }
  .walk-nearby { font-size:13px; max-width:94%; }
  .walk-facility-link { padding:16px; }
  .walk-facility-link>b { font-size:18px; }
  .walk-basket>div>span { font-size:13px; }
  .walk-production-state>span,.walk-health>span { font-size:13px; }
  .walk-production-state>b,.walk-health b { font-size:14px; }
  .walk-mission-summary .primary-button { font-size:16px; }
  .of-explore { margin-top:20px; }
  .of-heading h2 { font-size:36px; }
  .of-heading p { font-size:16px; max-width:none; }
  .of-kicker { font-size:13px; letter-spacing:0; }
  .of-heading>.of-small-button { font-size:15px; padding:10px 13px; }
  .of-campus { gap:24px 14px; padding:12px; }
  .of-room-label { padding:12px 10px; min-height:120px; }
  .of-room-label strong { font-size:22px; }
  .of-room-label small { font-size:13px; min-height:0; }
  .of-room-label>b { font-size:14px; min-height:44px; padding:10px 7px; }
  .of-hud>div { padding:12px 5px; }
  .of-hud small { font-size:11px; letter-spacing:0; }
  .of-hud strong { font-size:24px; }
  .of-game-heading h2 { font-size:31px; }
  .of-game-heading .of-small-button { font-size:15px; }
  .of-speech { grid-template-columns:60px 1fr; padding:15px 12px; }
  .of-speech h3 { font-size:27px; }
  .of-speech p,.of-speech .of-intro-note { font-size:15px; }
  .of-speech .of-primary { font-size:17px; }
  .of-host span { font-size:12px; }
  .of-controls button strong { font-size:19px; }.of-controls button small { font-size:13px; }
  .of-feedback { font-size:15px; }
  .of-result-card p { font-size:15px; }.of-result-card .of-primary { font-size:17px; }.of-result-card .of-small-button { font-size:15px; }
  .of-rooftop { padding:22px 16px; }.of-garden-copy h3 { font-size:32px; max-width:250px; }.of-garden-copy p,.of-garden-tag,.of-garden-status { font-size:15px; }
  .of-planter-label { font-size:12px; }.of-garden-actions .of-primary { font-size:17px; }.of-garden-actions .of-small-button { font-size:15px; }
  .facility-page .world-heading h1 { font-size:35px; }
  .facility-page .world-heading p { font-size:16px; }
  .facility-counter-heading h2 { font-size:31px; }.facility-counter-heading p { font-size:15px; }
  .facility-balance { min-width:93px; padding:12px; }.facility-balance>span { font-size:12px; }.facility-balance>strong { font-size:25px; }
  .facility-basket-summary { padding:18px; }.facility-basket-summary>div>span { font-size:13px; }.facility-basket-summary .primary-button { font-size:17px; }
  .facility-fruit-name h3 { font-size:26px; }.facility-fruit-name>span,.facility-fruit-name small { font-size:14px; }
  .facility-sell-controls { grid-template-columns:90px 1fr; }.facility-sell-controls input { width:90px; }.facility-sell-controls button { font-size:17px; }
  .facility-receipt { font-size:16px; }.facility-empty p,.facility-town-progress p,.facility-town-progress small { font-size:15px; }.facility-price-board td { font-size:15px; }
  .facility-next .soft-button { font-size:16px; }
  .daily-heading h1 { font-size:37px; }.daily-heading p,.daily-prize { font-size:16px; }.daily-tabs { gap:7px; }.daily-tabs button { font-size:15px; padding:11px 15px; }
  .daily-rows li { gap:10px; padding:17px 9px; font-size:16px; }.daily-rows small { font-size:13px; }
  .game-dialog { width:100%; border:0; border-radius:0; background:var(--lilac); }
  .game-stage { padding:8px 12px max(14px,env(safe-area-inset-bottom)); }
  .game-toolbar #game-title { font-size:22px; }
  .game-toolbar { margin-bottom:3px; }.game-icon { width:40px; height:40px; }
  .scorebar { padding:8px 0; font-size:13px; }.scorebar b { font-size:24px; }
  .run-status { font-size:12px; min-height:30px; padding:6px 8px; margin-bottom:7px; }
  .arcade-input { gap:7px; }.input-mode-tabs button { min-height:38px; font-size:14px; padding:7px 15px; }
  .arcade-touchpad { height:72px; font-size:16px; }.arcade-action-row .control { font-size:14px; min-height:44px; height:44px; }
  .game-stage:has(.arcade-input) .canvas-wrap { max-height:calc(100dvh - 330px); width:calc((100dvh - 330px)*.75); }
  .game-stage:has(.arcade-input[data-input-mode=buttons]) .canvas-wrap { max-height:calc(100dvh - 395px); width:calc((100dvh - 395px)*.75); }
  .game-stage:has(.arcade-input[data-input-type=rally][data-input-mode=buttons]) .canvas-wrap { max-height:calc(100dvh - 303px); width:calc((100dvh - 303px)*.75); }
  .game-overlay h2 { font-size:32px; }.game-overlay p { font-size:16px; }.game-overlay button { font-size:17px; }
  .orchard-tip,.oh-tip { gap:8px; padding:10px; }.orchard-tip-text { font-size:16px; }.orchard-tip-avatar { width:44px; height:60px; flex-basis:44px; }.orchard-tip .coach-portrait { width:44px; height:44px; flex-basis:44px; }
  .quick-tour.quick-help { bottom:calc(var(--dock-height) + 12px + env(safe-area-inset-bottom)); padding:14px; }.quick-help-icons { gap:7px; }.quick-help-icons li { font-size:14px; }
  .monthly-mission-grid { grid-template-columns:1fr; }.monthly-mission-card h2 { font-size:30px; }.monthly-mission-card>p { font-size:16px; min-height:0; }.monthly-mission-card .primary-button { font-size:17px; }
  .market-grid { grid-template-columns:1fr; }.market-item p { font-size:16px; min-height:0; }.supply-inventory { flex-wrap:wrap; gap:16px; }.supply-inventory h2 { width:100%; }
  .game-card,.arcade-page .game-card { grid-template-columns:34% 1fr; }.game-card h3,.arcade-page .game-card h3 { font-size:27px; }.game-card p,.arcade-page .game-card p { font-size:15px; }.game-card .play-small,.arcade-page .play-small { font-size:15px; padding:10px 12px; }.game-meta .tag { font-size:12px; }
  .character-copy p { font-size:14px; }.character-copy h3 { font-size:29px; }.character-copy>small { font-size:12px; }.filter-button { font-size:15px; min-height:46px; }
}
@media(max-width:400px) {
  .hud-brand img { width:98px; }.hud-brand>span,.hud-brand>strong { display:none; }.game-hud .top-actions { gap:5px; }.hud-pill,.hud-basket { padding:8px; }.game-hud #sound-button { display:none!important; }
  .game-dock button { font-size:12px; }.map-first-shell main { padding-left:13px; padding-right:13px; }.map-first-shell main.map-mode { padding:0; }
  .fruit-basket-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.basket-fruit { border-radius:13px; }.basket-fruit small { font-size:11px; }
  .walk-controls .walk-interact { font-size:15px; padding:10px 12px; }.walk-shortcuts>span { font-size:13px; }.walk-panel { padding:18px; }
  .of-room-label strong { font-size:21px; }.of-room-label>b { font-size:13px; }.of-room-label small { font-size:12px; }
  .game-meta { flex-wrap:wrap; }.game-card p { font-size:14px; }.game-card-bottom { align-items:flex-start; flex-wrap:wrap; }
}
@media(max-height:650px) and (max-width:740px) {
  .arcade-touchpad { height:60px; }.input-mode-tabs button { min-height:36px; }.run-status { margin-bottom:4px; }
  .game-stage:has(.arcade-input) .canvas-wrap { max-height:calc(100dvh - 305px); width:calc((100dvh - 305px)*.75); }
  .game-stage:has(.arcade-input[data-input-mode=buttons]) .canvas-wrap { max-height:calc(100dvh - 370px); width:calc((100dvh - 370px)*.75); }
}
@media(prefers-reduced-motion:reduce) { .pin-alert,.walk-plant.has-fruit .walk-plant-badge,.walk-plant.ready .walk-plant-badge,.walk-plant.needs-water:before { animation:none; } }
.basket-fruit.empty { opacity:1; background:#f1edf5; }
.basket-fruit.empty>span:first-child { filter:grayscale(.45); opacity:.55; }
.basket-fruit.empty strong { color:#62646a; }
.basket-fruit small { font-size:12px; letter-spacing:-.25px; }
@media(max-width:360px) {
  .island-game .factory-map-pin { min-width:0!important; width:80px; padding:7px 4px; }
  .island-game .district-pin { width:68px; }
}
