@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;9..144,800&display=swap');

:root { --ink:#183348; --paper:#fbf7ed; --coral:#d86859; --teal:#47727b; --yellow:#ffc95d; --pixel:'Courier New',ui-monospace,SFMono-Regular,Menlo,monospace; --shadow:0 16px 36px rgba(14,37,52,.25), 0 2px 0 rgba(255,255,255,.5) inset; }
* { box-sizing:border-box; } button { font:inherit; } body { min-width:320px; min-height:100vh; margin:0; overflow:hidden; color:var(--ink); font-family:'DM Sans',system-ui,sans-serif; background:radial-gradient(circle at 50% 7%,#a8c5cf,#385a6f 50%,#172a3d); }
.game-shell { min-height:100svh; display:grid; place-items:center; }.phone { position:relative; isolation:isolate; overflow:hidden; width:min(100vw,470px); height:100svh; max-height:950px; background:#a9cbd2; box-shadow:0 0 0 12px rgba(8,24,39,.3),0 40px 90px rgba(0,0,0,.5); } @media(min-width:600px){.phone{height:min(94svh,920px);border-radius:38px}}
#gameCanvas { position:absolute; inset:0; width:100%; height:100%; display:block; touch-action:none; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; image-rendering:auto; }.vignette { position:absolute; z-index:2; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(9,34,53,.18),transparent 27%,transparent 68%,rgba(14,45,56,.16)),radial-gradient(ellipse at center,transparent 62%,rgba(20,50,67,.2)); }.snow-ui,.snow-ui::before,.snow-ui::after { position:absolute; z-index:3; inset:-20px 0 0; pointer-events:none; content:''; opacity:.64; background-image:radial-gradient(circle,#fff 0 1.2px,transparent 1.8px),radial-gradient(circle,#fff 0 1px,transparent 1.6px),radial-gradient(circle,rgba(255,255,255,.85) 0 1.3px,transparent 1.9px); background-size:67px 93px,91px 121px,131px 79px; background-position:9px 14px,35px 9px,54px 35px; animation:snowfall 13s linear infinite; }.snow-ui::before{animation-duration:19s;opacity:.5}.snow-ui::after{animation-duration:24s;animation-direction:reverse;opacity:.35}
.glass-panel { backdrop-filter:blur(14px); background:linear-gradient(135deg,rgba(253,255,249,.86),rgba(215,235,235,.68)); border:1px solid rgba(255,255,255,.86); box-shadow:0 10px 22px rgba(27,58,75,.15),0 1px 0 rgba(255,255,255,.92) inset; }.topbar { position:absolute; z-index:15; top:max(16px,env(safe-area-inset-top)); left:18px; right:18px; height:59px; border-radius:18px; display:flex; justify-content:space-between; align-items:center; padding:7px 10px 7px 7px; }.profile-chip { border:0; cursor:pointer; background:none; display:flex; align-items:center; padding:0; color:var(--ink); text-align:left; gap:8px; }.avatar { position:relative; display:grid; place-items:center; width:43px; height:43px; overflow:hidden; border-radius:14px 14px 16px 16px; background:linear-gradient(136deg,#d55c59,#7b4744); border:2px solid #f7eee4; box-shadow:0 3px 0 rgba(38,69,81,.14); }.avatar::before { content:''; width:20px; height:20px; margin-top:-7px; border-radius:50%; background:#f3bd91; box-shadow:0 -8px 0 3px #633f36; }.avatar i { position:absolute; bottom:0; width:28px; height:21px; border-radius:14px 14px 0 0; background:#4e7c87; }.profile-copy { display:grid; line-height:1.05; gap:3px; letter-spacing:-.02em; }.profile-copy b{font-size:16px}.profile-copy small{font-size:12px;color:#55707c}.resource-row{display:flex;gap:7px}.resource{font-size:16px;padding:8px 9px;border-radius:12px;background:rgba(255,255,255,.56);box-shadow:0 1px rgba(255,255,255,.7) inset}.resource i{font-style:normal;color:#e5a62d}.resource.energy i{color:#e56f65}
.book-button { position:absolute; z-index:17; top:max(14px,env(safe-area-inset-top)); right:16px; display:flex; align-items:center; gap:6px; height:38px; padding:0 12px; border:1px solid rgba(255,255,255,.78); border-radius:13px; color:#fff9e9; background:rgba(37,75,87,.62); box-shadow:0 3px 10px rgba(16,43,55,.2),0 1px rgba(255,255,255,.3) inset; cursor:pointer; backdrop-filter:blur(12px); }.book-button span{font-size:20px;color:#ffdb81}.book-button b{font-size:13px;letter-spacing:.03em}.book-button:active{transform:translateY(2px)}
.fuel-alert{position:absolute;z-index:19;top:calc(max(14px,env(safe-area-inset-top)) + 46px);right:16px;width:38px;height:38px;padding:0;border:1px solid #ffd7a8;border-radius:13px;background:#c0453a;box-shadow:0 3px 10px rgba(16,43,55,.3),0 1px rgba(255,255,255,.3) inset;cursor:pointer;animation:fuelAlertFlash 1s step-start infinite}
.fuel-alert:active{transform:translateY(2px)}
.fuel-alert-icon{position:relative;display:block;width:20px;height:18px;margin:0 auto}
.fuel-alert-icon i{position:absolute;left:2px;bottom:0;width:14px;height:12px;border:2px solid #3a1410;border-radius:2px;background:#ffe9a8;box-shadow:inset 0 4px #f2b54a}
.fuel-alert-icon i::before{content:'';position:absolute;right:-6px;top:-6px;width:5px;height:9px;border:2px solid #3a1410;border-bottom:0;background:#ffe9a8}
.fuel-alert-icon i::after{content:'!';position:absolute;inset:0;display:grid;place-items:center;font:900 10px/1 var(--pixel);color:#8a1f16}
@keyframes fuelAlertFlash{0%,49%{opacity:1}50%,100%{opacity:.35}}
.map-controls{position:absolute;z-index:17;right:16px;bottom:18px;display:grid;gap:6px}.map-controls button{width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.78);border-radius:12px;background:rgba(37,75,87,.68);color:#fff9e9;box-shadow:0 3px 10px rgba(16,43,55,.2),0 1px rgba(255,255,255,.3) inset;font:900 23px/1 monospace;cursor:pointer;backdrop-filter:blur(10px)}.map-controls button:active{transform:translateY(2px)}
.title-lockup { position:absolute; z-index:7; pointer-events:none; top:18px; width:100%; text-align:center; text-shadow:0 2px 0 rgba(255,255,255,.35); }.title-lockup p{margin:0 0 3px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:#eaf3ef}.title-lockup h1{margin:0;color:#fff9eb;font:900 clamp(29px,4vw,42px)/.86 'Fraunces',serif;letter-spacing:-.07em;text-shadow:0 3px 10px rgba(22,56,72,.46)}.title-lockup h1 em{color:#ffd887;font-style:normal}.weather-pill{display:inline-flex;gap:6px;margin-top:7px;padding:5px 9px;background:rgba(30,66,79,.35);border:1px solid rgba(255,255,255,.48);border-radius:99px;color:#f8fbef;font-weight:600;font-size:11px;box-shadow:0 5px 11px rgba(35,75,87,.1)}.weather-pill span{color:#ffdd80}
.world-hint { position:absolute; z-index:10; left:16px; right:64px; bottom:max(18px,env(safe-area-inset-bottom)); width:auto; transform:translateY(10px); padding:9px 12px; border:1px solid rgba(255,255,255,.7); border-radius:12px; background:rgba(32,65,75,.78); color:#fff9ec; box-shadow:0 5px 14px rgba(18,47,57,.18); font-size:13px; font-weight:700; line-height:1.25; opacity:0; transition:.25s; pointer-events:none; backdrop-filter:blur(9px); }.world-hint.is-visible { opacity:1; transform:translateY(0); }.world-hint b{color:#ffdb81}
.quest-card { position:absolute; z-index:15; left:50%; width:min(380px,calc(100% - 220px)); min-height:54px; transform:translateX(-50%); bottom:18px; padding:8px 39px 8px 45px; border-radius:16px; }.quest-badge{position:absolute;left:9px;top:12px;display:grid;place-items:center;width:27px;height:27px;background:#fae4ac;color:#a35b43;border:2px solid #fff8e7;border-radius:9px 9px 11px;font:900 17px 'Fraunces',serif;box-shadow:0 2px 0 #d9b877}.eyebrow{font-size:8px;font-weight:800;letter-spacing:.12em;color:#b76b53}.quest-copy h2{margin:1px 0;font:900 17px/1 'Fraunces',serif;letter-spacing:-.035em}.quest-copy p{margin:0;font-size:11px;color:#587480;line-height:1.18}.round-button{position:absolute;right:9px;top:14px;width:25px;height:25px;padding:0;border:0;border-radius:50%;color:#fffaf0;background:#d86d5d;font-size:20px;cursor:pointer;box-shadow:0 2px 0 #ad554c}.round-button:active{transform:translateY(2px);box-shadow:0 1px 0 #ad554c}
.touch-controls { position:absolute; z-index:16; left:18px; bottom:18px; display:grid; justify-items:center; gap:12px; pointer-events:none; }.joystick,.interact-button { pointer-events:auto; }.joystick { grid-row:2; position:relative; width:82px; height:82px; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:rgba(35,70,80,.28); box-shadow:0 4px 15px rgba(21,48,56,.2),0 1px rgba(255,255,255,.45) inset; touch-action:none; }.joystick::after{content:'MOVE';position:absolute;left:0;right:0;bottom:8px;text-align:center;color:rgba(255,255,255,.8);font-size:10px;font-weight:800;letter-spacing:.12em}.joystick span { position:absolute; left:21px; top:21px; width:40px; height:40px; border:2px solid rgba(255,255,255,.72); border-radius:50%; background:rgba(231,245,240,.68); box-shadow:0 3px 8px rgba(20,56,65,.2),0 2px rgba(255,255,255,.6) inset; }.interact-button { grid-row:1; display:grid; place-items:center; gap:0; width:76px; height:76px; border:2px solid rgba(255,255,255,.87); border-radius:50%; color:#fff8ea; background:linear-gradient(145deg,#e68564,#bd504b); box-shadow:0 5px 0 #934441,0 11px 19px rgba(68,40,45,.27),0 2px rgba(255,255,255,.35) inset; cursor:pointer; }.interact-button span{font-size:28px;line-height:20px;color:#ffe596}.interact-button b{font-size:11px;letter-spacing:.04em}.interact-button:active{transform:translateY(4px);box-shadow:0 1px 0 #934441}
.look-controls { position:absolute; z-index:16; right:18px; bottom:18px; pointer-events:none; }.look-joystick { position:relative; width:82px; height:82px; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:rgba(35,70,80,.28); box-shadow:0 4px 15px rgba(21,48,56,.2),0 1px rgba(255,255,255,.45) inset; touch-action:none; pointer-events:auto; }.look-joystick::after{content:'VIEW';position:absolute;left:0;right:0;bottom:8px;text-align:center;color:rgba(255,255,255,.8);font-size:10px;font-weight:800;letter-spacing:.12em}.look-joystick span { position:absolute; left:21px; top:21px; width:40px; height:40px; border:2px solid rgba(255,255,255,.72); border-radius:50%; background:rgba(221,238,240,.72); box-shadow:0 3px 8px rgba(20,56,65,.2),0 2px rgba(255,255,255,.6) inset; }
.bottom-nav { position:absolute; z-index:16; height:78px; left:0;right:0;bottom:0;padding:8px max(18px,env(safe-area-inset-left)) max(9px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0;display:flex;justify-content:space-between}.nav-item{position:relative;display:grid;place-items:center;gap:2px;min-width:58px;padding:4px 9px;border:0;border-radius:14px;background:transparent;color:#6a8590;cursor:pointer}.nav-item span{height:27px;font-size:26px;line-height:24px}.nav-item b{font-size:11px;font-weight:700}.nav-item.is-selected{color:#2e6370;background:rgba(255,255,255,.56);box-shadow:0 2px rgba(255,255,255,.8) inset}.nav-dot{position:absolute;top:5px;right:9px;width:6px;height:6px;border-radius:50%;background:#e77861;border:1px solid #fff}
.sheet{position:absolute;z-index:40;left:0;right:0;bottom:-110%;max-height:76%;padding:10px 23px 28px;border-radius:28px 28px 0 0;overflow:auto;color:var(--ink);background:#fbf8ee;box-shadow:0 -18px 40px rgba(19,51,63,.28);transition:bottom .42s cubic-bezier(.22,.87,.3,1)}.sheet.is-open{bottom:0}.sheet-handle{width:42px;height:4px;margin:0 auto 18px;border-radius:4px;background:#bbd0d0}.close-sheet{position:absolute;top:14px;right:19px;width:31px;height:31px;border:0;border-radius:50%;cursor:pointer;color:#52707a;background:#e4eeee;font-size:25px}.sheet h2{margin:0;font:900 34px/.95 'Fraunces',serif;letter-spacing:-.06em}.sheet .sheet-lead{margin:8px 0 19px;color:#6a8288;font-size:16px;line-height:1.45}.person-row{display:flex;gap:12px;align-items:center;padding:13px;border:1px solid #e2e0d0;border-radius:17px;background:#fffdf6}.person-avatar{display:grid;place-items:center;flex:0 0 50px;height:50px;border-radius:17px;background:linear-gradient(135deg,#f2b477,#b35354);color:#fff5e0;font:900 24px 'Fraunces',serif}.person-row h3{margin:0 0 3px;font-size:18px}.person-row p{margin:0;color:#67808a;font-size:14px}.job-reward{display:flex;align-items:center;gap:7px;margin-top:16px;padding:10px 12px;border-radius:12px;background:#eaf1e9;color:#497165;font-size:14px;font-weight:700}.job-reward b{color:#a75d45}.action-button{width:100%;margin-top:14px;padding:15px 16px;border:0;border-radius:15px;cursor:pointer;color:#fff9ed;background:linear-gradient(135deg,#de755d,#c4564f);box-shadow:0 4px 0 #9e4a47,0 11px 17px rgba(176,75,69,.25);font-weight:800;letter-spacing:.01em}.action-button:active{transform:translateY(3px);box-shadow:0 1px 0 #9e4a47}.secondary-button{margin-top:11px;color:#53717d;background:#e5eeee;box-shadow:0 3px 0 #b3c8c8}.inventory-item{display:flex;align-items:center;gap:12px;margin:12px 0;padding:13px;border:1px solid #dedfcf;border-radius:16px;background:#fffdf5}.item-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#f1e4c9;font-size:29px}.inventory-item h3{margin:0;font-size:17px}.inventory-item p{margin:2px 0 0;color:#657e87;font-size:13px}.inventory-item .price{margin-left:auto;font-weight:800;color:#b45e47}.inventory-item.is-locked{opacity:.58}.task-list{display:grid;gap:8px}.task{display:flex;gap:10px;align-items:center;padding:12px;border-radius:14px;background:#f1f3e9;font-size:16px;font-weight:600}.task i{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#e2b959;color:white;font-style:normal}.task b{margin-left:auto;font-size:13px;color:#6b8285}.book-stats{display:flex;gap:9px;margin:15px 0 12px}.book-stat{flex:1;padding:11px 12px;border-radius:14px;background:#e7f0ed;color:#4f6f76;font-size:13px;font-weight:700}.book-stat b{display:block;margin-top:2px;color:#aa604a;font:900 23px 'Fraunces',serif}.book-menu{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.book-menu button{display:flex;align-items:center;gap:8px;min-height:58px;padding:10px;border:1px solid #e2dfce;border-radius:15px;background:#fffdf5;color:#315466;text-align:left;cursor:pointer}.book-menu button span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#dcebe7;color:#467770;font-size:20px}.book-menu button b{font-size:14px}.scrim{position:absolute;z-index:30;inset:0;pointer-events:none;opacity:0;background:rgba(16,42,55,.34);transition:opacity .3s}.scrim.is-open{pointer-events:auto;opacity:1}@keyframes snowfall{to{transform:translateY(115px)}}
@media (min-aspect-ratio: 1/1) { .title-lockup{top:15px}.quest-card{left:50%;right:auto;bottom:18px;min-height:54px;padding:8px 39px 8px 45px}.touch-controls,.look-controls{bottom:18px}.sheet{left:14%;right:14%;bottom:-110%;border-radius:28px 28px 0 0;max-height:85%}.sheet.is-open{bottom:0} }
@media(max-height:690px) and (max-aspect-ratio: 1/1){.title-lockup{top:86px}.touch-controls{bottom:177px}.quest-card{bottom:91px;transform:scale(.92);transform-origin:bottom center}.bottom-nav{height:70px}.nav-item span{font-size:23px}}

/* Keep the hidden field book out of the phone's scrollable layout. */
.phone{overflow:clip;overscroll-behavior:none}
button.inventory-item,button.equipment-bay,button.crew-row{width:100%;text-align:left;cursor:pointer;font:inherit}
.sheet{bottom:0;transform:translateY(110%);transition:transform .42s cubic-bezier(.22,.87,.3,1)}
.sheet.is-open{bottom:0;transform:translateY(0)}

/* Pixel-game HUD --------------------------------------------------------- */
[hidden]{display:none!important}
.game-hud{
  position:absolute;
  z-index:18;
  top:max(12px,env(safe-area-inset-top));
  left:12px;
  right:84px;
  display:grid;
  grid-template-columns:minmax(92px,auto);
  gap:6px;
  align-items:stretch;
  pointer-events:none;
  color:#fffbe8;
  font-family:var(--pixel);
  filter:drop-shadow(0 3px 0 rgba(17,43,53,.35));
}
.event-clock{
  min-height:40px;
  border:2px solid #f8f1d5;
  border-radius:5px;
  background:#244e60;
  box-shadow:inset 0 0 0 2px #487789,0 2px 0 #173847;
  display:flex;align-items:center;gap:6px;padding:4px 7px 4px 5px
}
.event-icon{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border:2px solid #bdebf0;background:#5f9bab;color:#fff;font-size:19px;line-height:1;text-shadow:1px 1px #3e7180}
.event-copy{display:grid;align-content:center;line-height:1}
.event-copy small{font-size:8px;font-weight:900;letter-spacing:.08em;color:#c8e8e9}
.event-copy b{margin-top:2px;font-size:18px;letter-spacing:.02em;color:#fff5b8}
.coffee-boost{grid-column:1/-1;justify-self:start;display:flex;align-items:center;gap:5px;margin-top:1px;padding:4px 7px;border:2px solid #fff0bf;border-radius:3px;background:#9a583f;box-shadow:inset 0 0 0 2px #cf8862,0 2px 0 #653a31;color:#fff8d7;font-size:10px;font-style:normal;letter-spacing:.04em}
.coffee-boost span{font-size:14px}.coffee-boost em{font-style:normal;color:#ffe383}
.energy-boost{background:#3a7d5c;box-shadow:inset 0 0 0 2px #62a884,0 2px 0 #245038}
.hud-row{grid-column:1/-1;display:flex;gap:6px}
.hud-row .event-clock{flex:1;min-width:0}
.coin-clock .event-icon{background:#8a6a2e;border-color:#ffe9a8;color:#ffe9a8;text-shadow:1px 1px #5c4519}
.coin-clock .event-copy b{color:#ffe9a8}

/* Crisp controls remain legible without covering the playfield. */
.book-button{
  top:max(12px,env(safe-area-inset-top));right:12px;width:40px;height:40px;padding:0;justify-content:center;
  border:2px solid #fff2c8;border-radius:5px;background:#b45d4f;
  box-shadow:inset 0 0 0 2px #df8170,0 4px 0 #713d3d,0 7px 10px rgba(16,43,55,.2);
  font-family:var(--pixel);backdrop-filter:none;text-shadow:1px 1px #713d3d
}
.book-icon{position:relative;display:block;width:18px;height:16px;border:2px solid #713d3d;border-radius:1px 3px 3px 1px;background:#f7dfa0;box-shadow:inset -7px 0 0 -1px #f2c85a,inset 2px 0 0 0 #713d3d}
.book-icon::after{content:'';position:absolute;right:3px;top:-3px;width:5px;height:9px;background:#5f9bab;clip-path:polygon(0 0,100% 0,100% 100%,50% 70%,0 100%)}
.book-button:active{transform:translateY(3px);box-shadow:inset 0 0 0 2px #df8170,0 1px 0 #713d3d}
.map-controls{right:12px;bottom:max(16px,env(safe-area-inset-bottom));gap:7px}
.map-controls button{width:40px;height:40px;border:2px solid #f8efd0;border-radius:4px;background:#285469;box-shadow:inset 0 0 0 2px #4c7d8f,0 4px 0 #173948;font-family:var(--pixel);backdrop-filter:none}
.map-controls button:active{transform:translateY(3px);box-shadow:inset 0 0 0 2px #4c7d8f,0 1px 0 #173948}
.camera-toggle{--camera-state:#9be39b;display:grid;place-items:center}
.camera-toggle-icon{position:relative;display:block;width:29px;height:29px;border:2px solid var(--camera-state);border-radius:50%;filter:drop-shadow(1px 1px 0 #173948)}
.camera-toggle-icon i{position:absolute;left:5px;top:9px;width:15px;height:10px;border:2px solid var(--camera-state);background:#214757;box-shadow:inset 0 0 0 1px #4d7d89}
.camera-toggle-icon i::before{content:'';position:absolute;left:2px;top:-5px;width:6px;height:3px;border:2px solid var(--camera-state);border-bottom:0;background:#214757}
.camera-toggle-icon i::after{content:'';position:absolute;left:4px;top:1px;width:4px;height:4px;border:1px solid #173948;background:var(--camera-state)}
.camera-toggle-icon::after{content:'';display:none;position:absolute;left:1px;top:11px;width:23px;height:3px;background:#f58a76;box-shadow:0 1px 0 #713d3d;transform:rotate(-45deg);transform-origin:center}
.camera-toggle[aria-pressed="false"]{--camera-state:#f58a76;background:#4e5961;box-shadow:inset 0 0 0 2px #747f86,0 4px 0 #2b373e}
.camera-toggle[aria-pressed="false"] .camera-toggle-icon::after{display:block}
.world-hint{
  left:12px;right:62px;bottom:max(16px,env(safe-area-inset-bottom));
  padding:9px 11px;border:2px solid #fff1c9;border-radius:5px;
  background:#294f5c;box-shadow:inset 0 0 0 2px #4c7880,0 4px 0 #183640;
  font:900 12px/1.3 var(--pixel);letter-spacing:-.02em;backdrop-filter:none
}
.world-hint b{color:#ffe37c}
.toast{position:absolute;z-index:55;top:calc(max(12px,env(safe-area-inset-top)) + 52px);left:12px;right:84px;width:auto;max-width:none;transform:translateY(-7px);padding:8px 10px;border:2px solid #fff1cf;border-radius:4px;background:#264c59;color:#fffdf2;box-shadow:inset 0 0 0 2px #4c7880,0 4px 0 #153744;font:900 11px/1.4 var(--pixel);text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.toast.is-visible{transform:translateY(0);opacity:1}
.queue-toggle{position:absolute;z-index:51;top:calc(100% + 8px);right:-72px;display:grid;grid-template-rows:20px 8px;place-items:center;width:44px;height:44px;padding:5px 0 3px;pointer-events:auto;touch-action:manipulation;border:2px solid #fff1c9;border-radius:4px;background:#2f756f;color:#fff7d5;box-shadow:inset 0 0 0 2px #58a095,0 4px 0 #173f43;font-family:var(--pixel);cursor:pointer}
.queue-toggle::after{content:'PAUSE';font:900 8px/1 var(--pixel);letter-spacing:.02em}.queue-toggle:active{transform:translateY(3px);box-shadow:inset 0 0 0 2px #58a095,0 1px 0 #173f43}
.queue-toggle-icon{position:relative;display:block;width:18px;height:16px}.queue-toggle[data-state="playing"] .queue-toggle-icon::before,.queue-toggle[data-state="playing"] .queue-toggle-icon::after{content:'';position:absolute;top:1px;width:5px;height:14px;background:#fff0a8;box-shadow:2px 2px 0 #1e514f}.queue-toggle[data-state="playing"] .queue-toggle-icon::before{left:2px}.queue-toggle[data-state="playing"] .queue-toggle-icon::after{right:2px}
.queue-toggle[data-state="paused"]{background:#9a583f;box-shadow:inset 0 0 0 2px #cf8862,0 4px 0 #653a31}.queue-toggle[data-state="paused"]::after{content:'PLAY'}.queue-toggle[data-state="paused"] .queue-toggle-icon::before{content:'';position:absolute;left:4px;top:1px;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid #ffe383;filter:drop-shadow(2px 2px 0 #653a31)}

/* Polished 8-bit field-book sheets and customer offers. */
.sheet{
  left:8px;right:8px;max-height:min(82%,720px);padding:17px 16px max(24px,env(safe-area-inset-bottom));
  pointer-events:none;touch-action:pan-y;
  border:3px solid #183b4c;border-bottom:0;border-radius:9px 9px 0 0;
  background-color:#fff7da;
  background-image:linear-gradient(rgba(75,121,120,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(75,121,120,.055) 1px,transparent 1px);
  background-size:8px 8px;
  box-shadow:inset 0 0 0 3px #d9c99d,0 -6px 0 rgba(24,59,76,.22),0 -14px 32px rgba(19,51,63,.28);
  font-family:var(--pixel);scrollbar-width:thin;scrollbar-color:#5c8891 #eadfbf
}
.sheet.is-open{pointer-events:auto}
.sheet-handle{width:48px;height:5px;margin:-7px auto 15px;border:1px solid #173a4b;border-radius:0;background:#648d91;box-shadow:2px 2px 0 #c9bc94}
.close-sheet{top:12px;right:13px;width:33px;height:33px;border:2px solid #21485a;border-radius:3px;background:#d96758;color:#fff9df;box-shadow:inset 0 0 0 2px #f08c75,0 3px 0 #843f3e;font:900 24px/1 var(--pixel)}
.close-sheet:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px #f08c75,0 1px 0 #843f3e}
.home-sheet{position:absolute;top:12px;right:54px;width:33px;height:33px;padding:0;border:2px solid #21485a;border-radius:3px;background:#2f7d78;color:#fff9df;box-shadow:inset 0 0 0 2px #58a095,0 3px 0 #173f43;font:900 20px/1 var(--pixel);cursor:pointer}
.home-sheet:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px #58a095,0 1px 0 #173f43}
.back-sheet{position:absolute;top:12px;right:95px;width:33px;height:33px;padding:0;border:2px solid #21485a;border-radius:3px;background:#4d7f9b;color:#fff9df;box-shadow:inset 0 0 0 2px #7fabc2,0 3px 0 #2c4c5f;font:900 22px/1 var(--pixel);cursor:pointer}
.back-sheet:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px #7fabc2,0 1px 0 #2c4c5f}
.sheet h2{max-width:calc(100% - 38px);margin:2px 0 0;color:#173e50;font:900 26px/1.05 var(--pixel);letter-spacing:-.07em;text-transform:uppercase;text-shadow:2px 2px 0 #d7e4d5}
.sheet .sheet-lead{margin:9px 0 16px;padding-bottom:12px;border-bottom:2px dashed #c4b98f;color:#536d70;font:900 13px/1.5 var(--pixel)}
.eyebrow{display:inline-block;padding:4px 6px;border:2px solid #174052;background:#4f8290;color:#fff8d9;font:900 10px/1 var(--pixel);letter-spacing:.08em;box-shadow:2px 2px 0 #c9ba8d}
.person-row,.inventory-item,.task,.book-stat,.book-menu button,.customer-offer,.shop-card,.clothes-card,.item-card,.slot-card{
  border:2px solid #294e58!important;border-radius:4px!important;background:#fffdf0!important;
  box-shadow:inset 0 0 0 2px #e1d7b6,3px 3px 0 #b6aa83!important
}
.person-row{position:relative;gap:11px;padding:11px}.person-avatar,.customer-portrait{position:relative;display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border:2px solid #274b57;border-radius:3px;background:linear-gradient(#8ec7d1 0 50%,#f2c27d 50%);box-shadow:inset 0 0 0 2px #fff1c8;color:#7e463c;font:900 23px/1 var(--pixel);image-rendering:pixelated}.person-row h3,.inventory-item h3,.shop-card h3,.clothes-card h3{margin:0 0 4px;color:#213f4d;font:900 14px/1.2 var(--pixel);text-transform:uppercase}.person-row p,.inventory-item p,.shop-card p,.clothes-card p{margin:0;color:#617274;font:900 11px/1.4 var(--pixel)}
.job-reward{border:2px solid #385f58;border-radius:3px;background:#dcebd0;box-shadow:inset 0 0 0 2px #f6f0cd,3px 3px 0 #aab08d;font:900 12px/1.3 var(--pixel)}
.action-button{padding:13px 12px;border:2px solid #713b3b;border-radius:4px;background:#d86757;box-shadow:inset 0 0 0 2px #ef8a72,0 5px 0 #7f3f3d;color:#fffbe8;font:900 13px/1.1 var(--pixel);text-transform:uppercase;text-shadow:1px 1px #7f3f3d}
.action-button:active{transform:translateY(4px);box-shadow:inset 0 0 0 2px #ef8a72,0 1px 0 #7f3f3d}.secondary-button{color:#274b57;background:#d6e6df;box-shadow:inset 0 0 0 2px #eef6e9,0 5px 0 #829b92;text-shadow:none}
.inventory-item{min-height:68px;margin:11px 0;padding:10px}.item-icon,.shop-card-icon,.clothes-card-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:2px solid #375966;border-radius:3px;background:#f1d798;box-shadow:inset 0 0 0 2px #fff2c7;font-size:28px;image-rendering:pixelated}.inventory-item .price,.shop-card .price,.clothes-card .price{margin-left:auto;color:#9e4d3e;font:900 12px/1 var(--pixel);white-space:nowrap}.inventory-item.is-locked,.shop-card.is-locked,.clothes-card.is-locked{opacity:.58;filter:saturate(.5)}
.book-stats{gap:7px}.book-stat{padding:9px;color:#537075;font:900 10px/1.2 var(--pixel);text-transform:uppercase}.book-stat b{margin-top:4px;color:#a65442;font:900 18px/1 var(--pixel)}.book-menu{gap:8px}.book-menu button{min-height:55px;padding:8px;font-family:var(--pixel)}.book-menu button span{border:2px solid #3d6970;border-radius:3px;background:#cfe4d8}.book-menu button b{font-size:12px;text-transform:uppercase}
.task-list{gap:9px}.task{padding:10px;font:900 12px/1.3 var(--pixel)}.task i{border:2px solid #806638;border-radius:2px;background:#e5b852;box-shadow:inset 0 0 0 1px #ffe8a4}.task b{font-size:10px}
.task-list .task{width:100%;color:#294e58;text-align:left;cursor:pointer}.task span{display:grid;gap:4px;min-width:0}.task small{display:block;color:#6b7f7d;font:900 10px/1.35 var(--pixel);text-transform:none}.task-list button.task:active{transform:translate(2px,2px);box-shadow:inset 0 0 0 2px #e1d7b6,1px 1px 0 #b6aa83!important}
.book-button em{position:absolute;right:-7px;bottom:-7px;display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border:2px solid #fff2be;border-radius:50%;background:#2f7d78;color:#fffbe8;box-shadow:2px 2px 0 #173e50;font:900 11px/1 var(--pixel);font-style:normal}.book-button em[hidden]{display:none}

/* Optional card contracts for the expanded shops/customer artwork. */
.customer-offer{position:relative;overflow:hidden;margin:12px 0;padding:10px}.customer-scene,.offer-scene{position:relative;height:104px;margin:-10px -10px 10px;border-bottom:3px solid #294e58;overflow:hidden;background:linear-gradient(#8fc7d5 0 55%,#eef6e8 55%);image-rendering:pixelated}.customer-scene img,.offer-scene img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.customer-scene::after,.offer-scene::after{content:'';position:absolute;inset:auto 0 0;height:18px;background:repeating-linear-gradient(90deg,#dbe9df 0 16px,#c5ddd7 16px 32px);opacity:.9}.pixel-tag{display:inline-block;padding:3px 5px;border:2px solid #244b57;border-radius:2px;background:#f5ce62;color:#583c2f;font:900 10px/1 var(--pixel);text-transform:uppercase;box-shadow:2px 2px 0 #9d7742}.shop-grid,.clothes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}.shop-card,.clothes-card,.item-card{display:grid;align-content:start;gap:7px;min-height:262px;padding:9px;overflow:hidden}.shop-card .action-button,.clothes-card .action-button{align-self:end;margin-top:auto;padding:9px 6px;font-size:10px}.shop-card .price,.clothes-card .price{justify-self:end}.clothes-card.is-equipped{outline:3px solid #79a968;outline-offset:-6px}.rarity-common{color:#537075}.rarity-cool{color:#287f88}.rarity-rare{color:#84579f}.rarity-legendary{color:#c06d26;text-shadow:1px 1px #ffe083}

/* Tiny playable-looking product demos replace abbreviation-only shop icons. */
.purchase-preview{
  position:relative;isolation:isolate;height:86px;margin:-9px -9px 2px;overflow:hidden;border-bottom:3px solid #294e58;
  background:linear-gradient(#8fc8d5 0 61%,#dcebe8 61% 67%,#f8fcf0 67%);image-rendering:pixelated
}
.purchase-preview span{position:absolute;display:block}.purchase-preview .preview-ground{z-index:-1;inset:auto 0 0;height:20px;background:repeating-linear-gradient(90deg,#d5e7e4 0 15px,#edf5e9 15px 30px)}
.purchase-preview>b{position:absolute;z-index:5;top:6px;right:6px;padding:4px 5px;border:2px solid #294e58;background:#f4c850;color:#5b402c;box-shadow:2px 2px 0 #8e7043;font:900 8px/1 var(--pixel);white-space:nowrap}
.purchase-preview .preview-person{left:17px;bottom:17px;width:17px;height:29px;border:2px solid #294e58;background:#d86952;box-shadow:inset 0 -7px #344d68}
.purchase-preview .preview-person::before{content:'';position:absolute;left:-2px;top:-19px;width:17px;height:16px;border:2px solid #294e58;border-radius:7px 7px 4px 4px;background:linear-gradient(90deg,#5c392d 0 25%,#efad79 25%);box-shadow:inset 0 4px #356350}
.purchase-preview .preview-person::after{content:'';position:absolute;left:-4px;bottom:-7px;width:9px;height:6px;background:#5a4032;box-shadow:15px 0 #5a4032}
.purchase-preview .preview-prop,.purchase-preview .preview-action{z-index:2}

.preview-shovel .preview-prop{left:52px;bottom:13px;width:4px;height:46px;border:2px solid #5a4332;background:#a76b3c;transform:rotate(8deg);transform-origin:bottom}
.preview-shovel .preview-prop::before{content:'';position:absolute;left:-6px;top:-7px;width:12px;height:8px;border:3px solid #ca9130;background:transparent}
.preview-shovel .preview-prop::after{content:'';position:absolute;left:-8px;bottom:-7px;width:16px;height:13px;border:2px solid #294e58;background:linear-gradient(135deg,#f4f7e8,#8ea6a4);clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}
.preview-shovel .preview-action{right:8px;bottom:13px;width:24px;height:11px;border:2px solid #a9c8cc;background:#fff;box-shadow:-17px 3px 0 -1px #fff}

.preview-coffee .preview-person,.preview-energy .preview-person{left:auto;right:15px}.preview-coffee .preview-prop,.preview-energy .preview-prop{left:26px;bottom:21px;width:30px;height:25px;border:3px solid #294e58;background:#d95f4e;box-shadow:inset 0 5px #fff1d1}
.preview-coffee .preview-prop::after,.preview-energy .preview-prop::after{content:'';position:absolute;right:-13px;top:4px;width:10px;height:12px;border:3px solid #294e58;background:transparent}
.preview-coffee .preview-action,.preview-energy .preview-action{left:34px;top:11px;width:4px;height:15px;background:#fff;box-shadow:10px 4px #fff,5px -5px #dceae4}
.preview-energy .preview-prop{background:#c9d94a;box-shadow:inset 0 5px #eef7c9}

.preview-plow .preview-person{display:none}.preview-plow .preview-prop{left:28px;bottom:19px;width:67px;height:26px;border:3px solid #294e58;background:#ce6650;box-shadow:inset -18px 0 #e8a84a}
.preview-plow .preview-prop::before{content:'';position:absolute;right:4px;top:-18px;width:28px;height:17px;border:3px solid #294e58;background:linear-gradient(90deg,#7fb6c5 0 58%,#d97750 58%)}
.preview-plow .preview-prop::after{content:'';position:absolute;left:7px;bottom:-9px;width:13px;height:9px;border-radius:50%;background:#293f4b;box-shadow:42px 0 #293f4b}
.preview-plow .preview-action{left:7px;bottom:13px;width:27px;height:15px;border:3px solid #294e58;background:#a8b8b5;clip-path:polygon(0 20%,100% 0,82% 100%,10% 100%)}

.preview-blower .preview-person{left:auto;right:13px}.preview-blower .preview-prop{left:43px;bottom:18px;width:27px;height:20px;border:3px solid #294e58;background:#df724d;box-shadow:inset 0 6px #f2b54a}
.preview-blower .preview-prop::before{content:'';position:absolute;right:-15px;top:-20px;width:19px;height:25px;border-left:4px solid #294e58;border-top:4px solid #294e58;transform:skewX(-17deg)}
.preview-blower .preview-prop::after{content:'';position:absolute;left:2px;bottom:-8px;width:10px;height:8px;border-radius:50%;background:#294e58;box-shadow:15px 0 #294e58}
.preview-blower .preview-action{left:9px;top:30px;width:7px;height:7px;background:#fff;box-shadow:10px -8px #fff,21px -13px #e5f2ef,14px 5px #fff,27px 1px #d9e9e8}

.purchase-preview[class*='preview-clothes-']{background:linear-gradient(90deg,#e9d6bd 0 10%,#f6ead1 10% 90%,#e9d6bd 90%)}
.purchase-preview[class*='preview-clothes-']::before{content:'';position:absolute;left:14px;right:14px;top:8px;bottom:10px;border:2px solid #c8a979;background:linear-gradient(#a9ced2 0 64%,#e4d5b8 64%);box-shadow:inset 0 0 0 3px #f7edcf}
.purchase-preview[class*='preview-clothes-'] .preview-ground{left:14px;right:14px}.purchase-preview[class*='preview-clothes-'] .preview-person{z-index:2;left:calc(50% - 13px);bottom:12px;width:24px;height:34px;box-shadow:inset 0 -8px #34445f}
.purchase-preview[class*='preview-clothes-'] .preview-person::before{left:1px;top:-21px;width:18px;height:18px}.purchase-preview[class*='preview-clothes-'] .preview-person::after{left:-2px;bottom:-7px;box-shadow:18px 0 #5a4032}
.preview-clothes-scarf .preview-prop{z-index:3;left:calc(50% - 15px);bottom:42px;width:31px;height:8px;border:2px solid #743b4b;background:#cf5061;box-shadow:17px 7px 0 -2px #cf5061}
.preview-clothes-parka .preview-person{background:#4e8da8!important;box-shadow:inset 5px 0 #6eb8c4,inset -5px 0 #386879,inset 0 -7px #34445f!important}.preview-clothes-parka .preview-prop{left:calc(50% - 1px);bottom:21px;width:3px;height:25px;background:#f6d66c}
.preview-clothes-snowsuit .preview-person{background:#70538f!important;box-shadow:inset 5px 0 #45b4aa,inset -5px 0 #543c72,inset 0 -9px #463866!important}.preview-clothes-snowsuit .preview-prop{left:calc(50% - 10px);bottom:23px;width:21px;height:5px;background:#5bd4c2;box-shadow:0 10px #5bd4c2}
.preview-clothes-crown .preview-prop{z-index:3;left:calc(50% - 13px);bottom:57px;width:27px;height:11px;border:2px solid #294e58;border-radius:8px 8px 2px 2px;background:#2f65ad;box-shadow:inset 0 4px #5b94d4}
.preview-clothes-crown .preview-prop::before{content:'';position:absolute;left:7px;top:1px;width:10px;height:10px;background:#f3c854;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 94%,50% 72%,21% 94%,32% 56%,2% 35%,39% 35%);filter:drop-shadow(1px 1px 0 #8c652a)}
.preview-clothes-crown .preview-prop::after{content:'';position:absolute;left:9px;top:-9px;width:7px;height:7px;border:2px solid #8c652a;border-radius:50%;background:#f3c854}
.preview-clothes-glacier_hoodie .preview-person{background:#2f8f86!important;box-shadow:inset 5px 0 #58c2b6,inset -5px 0 #1f6259,inset 0 -7px #1c4a44!important}.preview-clothes-glacier_hoodie .preview-prop{left:calc(50% - 11px);bottom:38px;width:22px;height:9px;border-radius:9px 9px 2px 2px;background:#bff2e6;box-shadow:inset 0 3px #e4fbf5}
.preview-clothes-ember_coat .preview-person{background:#c9432a!important;box-shadow:inset 5px 0 #ef7a4e,inset -5px 0 #8f2c1a,inset 0 -7px #6b2013!important}.preview-clothes-ember_coat .preview-prop{left:calc(50% - 10px);bottom:24px;width:20px;height:6px;background:#ffcf5c;box-shadow:0 9px #ffcf5c}
.preview-clothes-starlight_suit .preview-person{background:#3b2f6b!important;box-shadow:inset 5px 0 #5b4a9e,inset -5px 0 #241c47,inset 0 -9px #1a1433!important}.preview-clothes-starlight_suit .preview-prop{z-index:3;left:calc(50% - 4px);bottom:44px;width:9px;height:9px;background:#cfd8ff;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 94%,50% 72%,21% 94%,32% 56%,2% 35%,39% 35%);filter:drop-shadow(1px 1px 0 #1a1433)}
.preview-clothes-starter .preview-person{background:var(--preview-coat)!important;box-shadow:inset 0 -8px var(--preview-pants)!important}.preview-clothes-starter .preview-person::after{background:var(--preview-boots);box-shadow:18px 0 var(--preview-boots)!important}.preview-clothes-starter .preview-prop{z-index:3;left:calc(50% - 13px);bottom:57px;width:27px;height:11px;border:2px solid #294e58;border-radius:8px 8px 2px 2px;background:var(--preview-hat);box-shadow:inset 0 4px var(--preview-hat-light)}
.item-effect{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:5px;min-height:31px;padding:5px;border:2px solid #9eb7ad;background:#e6f0dc;color:#466566;font:900 8px/1.35 var(--pixel);text-transform:uppercase}
.item-effect>b{padding:3px 4px;background:#47747a;color:#fff7dc;font-size:7px;line-height:1}
.scene-building{position:absolute;left:42px;bottom:18px;width:94px;height:47px;border:3px solid #294b56;background:var(--scene-wall,#d79568);box-shadow:6px 5px 0 rgba(41,75,86,.22)}.scene-building::before{content:'';position:absolute;left:-10px;top:-31px;width:108px;height:35px;border:3px solid #294b56;background:var(--scene-roof,#76505b);clip-path:polygon(50% 0,100% 80%,100% 100%,0 100%,0 80%)}.scene-building::after{content:'';position:absolute;left:36px;bottom:0;width:20px;height:29px;border:2px solid #294b56;background:#4c5963}.scene-person{position:absolute;right:47px;bottom:18px;width:18px;height:31px;border:3px solid #294b56;background:#d96955;box-shadow:0 -13px 0 -2px #f0b181,0 -13px 0 1px #294b56}.scene-snow{position:absolute;right:82px;bottom:14px;width:52px;height:10px;background:#fff;box-shadow:-24px 2px 0 #d7e8e7,29px 1px 0 #fff}

/* Snow-removal HQ: pixel storefront designer, equipment and crew cards. */
.business-preview{
  position:relative;isolation:isolate;overflow:hidden;min-height:150px;margin:12px 0 15px;padding:14px;
  border:3px solid #254957;border-radius:4px;background:linear-gradient(#87beca 0 48%,#e9f2df 48% 69%,#879da0 69% 100%);
  box-shadow:inset 0 0 0 3px rgba(255,250,218,.75),4px 4px 0 #a99c78;color:#fffbe5;
  font:900 13px/1.35 var(--pixel);text-shadow:2px 2px #294552;image-rendering:pixelated
}
.business-preview::before{content:'';position:absolute;z-index:-1;left:9%;right:9%;bottom:17px;height:46px;border:3px solid #294956;background:var(--business-wall,#d66d57);box-shadow:7px 5px 0 rgba(38,65,74,.25)}
.business-preview::after{content:'';position:absolute;z-index:-1;left:16%;right:16%;bottom:54px;height:25px;border:3px solid #294956;background:var(--business-banner,#2f7880);box-shadow:inset 0 -5px rgba(31,70,78,.28)}
.business-preview h3{display:inline-block;max-width:82%;margin:69px 0 0;padding:5px 8px;border:2px solid #fff2c9;background:var(--business-banner,#2f7880);color:#fffbe5;font:900 13px/1.15 var(--pixel);text-transform:uppercase;box-shadow:3px 3px 0 #294956}
.business-preview p{margin:7px 0 0;color:#fffbe5;font:900 10px/1.4 var(--pixel)}

.business-name-input{
  display:block;width:100%;height:43px;margin:8px 0 13px;padding:9px 10px;border:3px solid #294e58;border-radius:3px;outline:0;
  background:#fffdf0;color:#244653;box-shadow:inset 0 0 0 2px #ded2aa,3px 3px 0 #b4a77f;
  font:900 14px/1 var(--pixel);text-transform:uppercase;caret-color:#d45e50
}
.business-name-input::placeholder{color:#8d9b91}.business-name-input:focus{border-color:#b85a49;box-shadow:inset 0 0 0 2px #f0c779,3px 3px 0 #8f493f}
.text-link{display:block;margin:-6px 0 4px;padding:2px;border:0;background:none;color:#3a6a76;font:900 11px/1 var(--pixel);letter-spacing:.02em;text-decoration:underline;cursor:pointer}

.banner-swatches{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0 15px;padding:9px;border:2px dashed #a99970;background:rgba(224,215,181,.38)}
.banner-swatch{position:relative;width:34px;height:34px;padding:0;border:3px solid #fff7dc;border-radius:2px;background:var(--swatch,#4f8290);box-shadow:0 0 0 2px #294e58,3px 3px 0 #968b6d;cursor:pointer;color:transparent}
.banner-swatch:active{transform:translateY(2px);box-shadow:0 0 0 2px #294e58,1px 1px 0 #968b6d}
.banner-swatch.is-selected,.banner-swatch[aria-pressed="true"]{outline:3px solid #f4bf46;outline-offset:3px;box-shadow:0 0 0 2px #294e58,4px 4px 0 #9c7040}
.banner-swatch.is-selected::after,.banner-swatch[aria-pressed="true"]::after{content:'\2713';position:absolute;right:-6px;bottom:-7px;display:grid;place-items:center;width:15px;height:15px;border:2px solid #294e58;background:#f5ca55;color:#3d493f;font:900 12px/1 var(--pixel)}

.hq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 15px}
.hq-stat{min-width:0;padding:10px;border:2px solid #294e58;border-radius:3px;background:#edf0d6;box-shadow:inset 0 0 0 2px #fff8d9,3px 3px 0 #aaa47e;color:#577071;font:900 10px/1.3 var(--pixel);text-transform:uppercase}
.hq-stat b,.hq-stat strong{display:block;overflow:hidden;margin-top:5px;color:#9d4e3f;font:900 19px/1 var(--pixel);text-overflow:ellipsis;white-space:nowrap}

.equipment-bay,.crew-row,.dispatch-card{position:relative;margin:10px 0;padding:11px;border:2px solid #294e58;border-radius:4px;background:#fffdf0;box-shadow:inset 0 0 0 2px #e1d7b6,3px 3px 0 #b6aa83;font-family:var(--pixel)}
.equipment-bay{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:72px;background:linear-gradient(90deg,#e0e5d8 0 60px,#fffdf0 60px)}
.equipment-bay::before{content:'BAY';display:grid;place-items:center;width:44px;height:44px;border:2px solid #365764;background:repeating-linear-gradient(135deg,#d0bd79 0 6px,#b49a58 6px 12px);color:#fff8d6;box-shadow:inset 0 0 0 2px #eadb9d;font:900 10px/1 var(--pixel);text-shadow:1px 1px #6c5d3c}
.equipment-bay h3,.crew-row h3,.dispatch-card h3{margin:0 0 4px;color:#254653;font:900 13px/1.2 var(--pixel);text-transform:uppercase}.equipment-bay p,.crew-row p,.dispatch-card p{margin:0;color:#617375;font:900 10px/1.45 var(--pixel)}
.equipment-bay .action-button{width:auto;min-width:65px;margin:0;padding:9px 7px;font-size:10px}

.crew-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:64px}
.crew-row > b,.crew-row > strong{padding:5px 6px;border:2px solid #537367;background:#d9ead2;color:#3f665c;font:900 10px/1 var(--pixel);text-transform:uppercase;white-space:nowrap}
.crew-buffs{margin-top:2px!important;color:#a05a2c!important}
.npc-headshot{position:relative;display:inline-block;width:38px;height:38px;flex:0 0 38px;vertical-align:middle;border:2px solid #294e58;border-radius:3px;overflow:hidden;background:linear-gradient(#efb487 0 54%,var(--npc-color,#497b83) 54%);box-shadow:inset 0 0 0 2px #fff2cb}
.npc-headshot::after{content:'';position:absolute;top:-2px;left:-2px;right:-2px;height:13px;background:#344b55;border-radius:2px 2px 0 0}
h2 .npc-headshot{margin-right:9px;border-radius:8px}
.buff-active{color:#a05a2c}

.dispatch-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding-left:16px;background:linear-gradient(90deg,#4d7f87 0 7px,#fffdf0 7px)}
.dispatch-card::after{content:'';position:absolute;right:10px;bottom:9px;width:28px;height:4px;background:repeating-linear-gradient(90deg,#8cb7b2 0 4px,transparent 4px 7px);opacity:.7}
.dispatch-card .action-button{grid-column:1/-1;margin-top:4px;padding:10px;font-size:11px}.dispatch-card > b,.dispatch-card > strong{align-self:start;color:#ad5542;font:900 12px/1.2 var(--pixel);white-space:nowrap}

/* Powered-equipment fuel desk and compact fuel readouts. */
.fuel-grid{display:grid;gap:10px;margin:12px 0 16px}
.fuel-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:76px;padding:10px;border:2px solid #294e58;border-radius:4px;background:#fffdf0;box-shadow:inset 0 0 0 2px #e1d7b6,3px 3px 0 #b6aa83;font-family:var(--pixel)}
.fuel-icon{display:grid;place-items:center;width:42px;height:42px;border:2px solid #315765;background:linear-gradient(#f2bd55 0 26%,#d96c4f 26%);box-shadow:inset 0 0 0 2px #ffe6a2;color:#fffce1;font:900 12px/1 var(--pixel);text-shadow:1px 1px #7f4038}
.fuel-copy{display:grid;gap:5px;min-width:0}.fuel-copy h3{margin:0;color:#254653;font:900 13px/1.2 var(--pixel);text-transform:uppercase}.fuel-copy p{margin:0;color:#617375;font:900 10px/1.35 var(--pixel)}
.fuel-track{display:block;height:9px;padding:2px;border:1px solid #294e58;background:#c7d0c2;overflow:hidden}.fuel-track i{display:block;height:100%;background:#62aa66;box-shadow:inset 0 -2px #3c8150}
.fuel-card .action-button{width:auto;min-width:82px;margin:0;padding:9px 7px;font-size:10px}.fuel-status{padding:6px 7px;border:2px solid #4d755c;background:#d8e9c8;color:#3c6552;font:900 8px/1.1 var(--pixel);text-align:center;white-space:nowrap}.fuel-status.is-empty{border-color:#8d5a4d;background:#efd2bb;color:#8e453c}

@media(max-width:350px){
  .game-hud{right:76px;grid-template-columns:88px;left:8px;gap:4px}.event-clock{padding-left:4px}.event-icon{width:21px;height:21px;flex-basis:21px;font-size:16px}.event-copy b{font-size:16px}.book-button{right:8px}.toast{left:8px;right:76px}.queue-toggle{right:-68px}.sheet{left:4px;right:4px;padding-left:13px;padding-right:13px}.shop-grid,.clothes-grid{gap:6px}
  .business-preview{min-height:138px}.business-preview h3{margin-top:58px}.banner-swatches{gap:7px}.banner-swatch{width:31px;height:31px}.hq-grid{gap:6px}.hq-stat{padding:8px}.hq-stat b,.hq-stat strong{font-size:16px}.equipment-bay{grid-template-columns:42px minmax(0,1fr)}.equipment-bay::before{width:38px;height:38px}.equipment-bay .action-button{grid-column:1/-1;width:100%}.crew-row{grid-template-columns:38px minmax(0,1fr)}.crew-row > b,.crew-row > strong{grid-column:2}.fuel-card{grid-template-columns:40px minmax(0,1fr)}.fuel-icon{width:38px;height:38px}.fuel-card .action-button,.fuel-card .fuel-status{grid-column:2;width:100%}
}

/* First-time player flow ------------------------------------------------ */
.game-stage.is-intro > :not(.flow-screen):not(.guide-overlay):not(#gameCanvas):not(.vignette):not(.snow-ui){pointer-events:none}
.flow-concealed{visibility:hidden!important}
.flow-screen{position:absolute;z-index:100;inset:0;overflow:hidden;font-family:var(--pixel);color:#173e50;background:#d9ebeb;image-rendering:pixelated}
.flow-screen.is-active{animation:flow-pop .34s steps(4,end)}
.flow-button{min-height:48px;padding:12px 17px;border:3px solid #713b3b;border-radius:4px;background:#d86757;color:#fffbe8;box-shadow:inset 0 0 0 3px #ef8a72,0 6px 0 #7f3f3d;font:900 14px/1 var(--pixel);letter-spacing:.03em;text-transform:uppercase;text-shadow:2px 2px #7f3f3d;cursor:pointer;touch-action:manipulation}
.flow-button:active{transform:translateY(4px);box-shadow:inset 0 0 0 3px #ef8a72,0 2px 0 #7f3f3d}.flow-button:focus-visible{outline:4px solid #ffe077;outline-offset:3px}.flow-button-secondary{border-color:#31535c;background:#d8e6dc;color:#31535c;box-shadow:inset 0 0 0 3px #f5f1d5,0 6px 0 #7d9790;text-shadow:none}

.start-screen{display:grid;grid-template-rows:minmax(315px,53%) 1fr;background:linear-gradient(#73a9bd,#b6d5d6 52%,#f5f4df 52%)}
.start-screen::after{content:'';position:absolute;z-index:5;inset:-30px 0 0;pointer-events:none;background-image:radial-gradient(circle,#fff 0 2px,transparent 2.6px),radial-gradient(circle,#fff 0 1.3px,transparent 2px);background-size:67px 91px,103px 77px;animation:title-snow 8s linear infinite}
.start-sky{position:relative;overflow:hidden;border-bottom:5px solid #294e58;background:linear-gradient(#73acc1 0 64%,#e9f3ec 64%)}
.start-sky::before{content:'';position:absolute;left:-8%;right:-8%;bottom:0;height:74px;background:#f9fbef;clip-path:polygon(0 60%,12% 25%,25% 57%,39% 22%,54% 64%,67% 31%,82% 59%,100% 18%,100% 100%,0 100%)}
.start-mountain{position:absolute;bottom:95px;width:230px;height:190px;background:#71899a;clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(8px 7px 0 rgba(50,71,87,.18))}.start-mountain::after{content:'';position:absolute;inset:0;background:#eef5f0;clip-path:polygon(50% 0,69% 38%,59% 32%,50% 47%,39% 31%,29% 42%)}.mountain-one{left:-68px}.mountain-two{right:-92px;bottom:114px;transform:scale(.78)}
.start-pine{position:absolute;z-index:2;bottom:58px;width:32px;height:72px;background:#346d64;clip-path:polygon(50% 0,80% 34%,66% 34%,94% 72%,66% 72%,82% 100%,18% 100%,34% 72%,6% 72%,34% 34%,20% 34%);filter:drop-shadow(4px 4px 0 #8db0aa)}.pine-one{left:25px;transform:scale(.78)}.pine-two{left:76px;bottom:44px;transform:scale(1.16)}.pine-three{right:27px;bottom:58px;transform:scale(.92)}
.start-house{position:absolute;z-index:3;left:50%;bottom:47px;width:150px;height:92px;transform:translateX(-50%);border:4px solid #294e58;background:#d86d55;box-shadow:9px 8px 0 rgba(38,70,80,.22)}.start-house::before{content:'';position:absolute;left:-16px;top:-63px;width:173px;height:67px;border:4px solid #294e58;background:#416b68;clip-path:polygon(50% 0,100% 80%,100% 100%,0 100%,0 80%)}.start-house::after{content:'';position:absolute;left:61px;bottom:0;width:30px;height:55px;border:4px solid #294e58;background:#5f4f4d}.start-house i{position:absolute;left:22px;top:25px;width:28px;height:24px;border:3px solid #294e58;background:#ffe47e;box-shadow:78px 0 #ffe47e,78px 0 0 3px #294e58}
.start-road{position:absolute;z-index:3;left:50%;bottom:-11px;width:112px;height:74px;transform:translateX(-50%) perspective(80px) rotateX(22deg);background:#74858b;border-left:4px solid #c8d9d5;border-right:4px solid #c8d9d5}.start-road::after{content:'';position:absolute;left:51px;top:4px;width:5px;height:14px;background:#f7eab3;box-shadow:0 28px #f7eab3,0 56px #f7eab3}
.start-shovel{position:absolute;z-index:4;right:55px;bottom:22px;width:8px;height:91px;border:3px solid #5c4433;background:#a36a3f;transform:rotate(10deg)}.start-shovel::before{content:'';position:absolute;left:-9px;top:-15px;width:20px;height:15px;border:4px solid #f1b93f;background:transparent}.start-shovel::after{content:'';position:absolute;left:-13px;bottom:-15px;width:28px;height:24px;border:3px solid #294e58;background:linear-gradient(135deg,#f8faf0,#94a9aa);clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}
.start-card{position:relative;z-index:6;display:grid;align-content:center;justify-items:center;gap:12px;padding:18px 24px max(25px,env(safe-area-inset-bottom));text-align:center;background-color:#fff5d7;background-image:linear-gradient(rgba(67,105,108,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(67,105,108,.06) 1px,transparent 1px);background-size:9px 9px;box-shadow:inset 0 5px #dac69a}
.start-kicker{padding:5px 8px;border:2px solid #294e58;background:#f2c652;color:#62462e;box-shadow:3px 3px 0 #a5824e;font:900 10px/1 var(--pixel);letter-spacing:.08em}.start-card h1{margin:0;color:#244f60;font:900 clamp(48px,12vw,74px)/.78 var(--pixel);letter-spacing:-.09em;text-shadow:4px 4px 0 #b8d4ce}.start-card h1 small{display:block;margin-bottom:7px;color:#b35849;font:900 13px/1 var(--pixel);letter-spacing:.18em;text-shadow:none}.start-card h1 em{color:#d86757;font-style:normal}.start-card p{margin:0;color:#536c6d;font:900 12px/1.4 var(--pixel)}.start-card .flow-button{width:min(290px,92%);margin-top:3px}.start-greeting{color:#728381;font:900 10px/1.35 var(--pixel)}
.start-card .start-replay-button{min-height:36px;margin-top:-4px;padding:7px;font-size:8px}

.creator-screen{overflow:auto;padding:calc(max(16px,env(safe-area-inset-top)) + 4px) 14px max(24px,env(safe-area-inset-bottom));background-color:#fff5d7;background-image:linear-gradient(rgba(70,111,112,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(70,111,112,.06) 1px,transparent 1px);background-size:8px 8px;scrollbar-width:thin;scrollbar-color:#4f8290 #ddcfaa}
.flow-header{text-align:center}.flow-step{display:inline-block;padding:5px 7px;border:2px solid #294e58;background:#4f8290;color:#fff8db;box-shadow:3px 3px 0 #b5a578;font:900 10px/1 var(--pixel);letter-spacing:.08em}.flow-header h2{margin:11px 0 3px;color:#173e50;font:900 34px/.9 var(--pixel);letter-spacing:-.08em;text-shadow:3px 3px #c6ddd2}.flow-header p{margin:0;color:#657675;font:900 11px/1.4 var(--pixel)}
.slot-list{display:grid;gap:10px;max-width:430px;margin:14px auto 0;max-height:calc(100% - 270px);overflow:auto;padding:2px 2px 4px}
.slot-card{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;margin:0}
.slot-card .slot-avatar{flex:0 0 50px}
.slot-delete{position:absolute;top:9px;right:9px;width:27px;height:27px;padding:0;border:2px solid #713b3b;border-radius:50%;background:#d86757;color:#fffbe8;box-shadow:inset 0 0 0 2px #ef8a72;font:900 13px/1 var(--pixel);cursor:pointer}
.slot-delete.is-armed{background:#a7473e;box-shadow:inset 0 0 0 2px #d97b6e}
.slot-empty{padding:22px 10px;text-align:center;color:#657675;font:900 10px/1.6 var(--pixel)}
.slot-screen-actions{grid-template-columns:1fr;max-width:430px;margin:14px auto 0}
.creator-form{display:grid;gap:10px;max-width:430px;margin:12px auto 0}.creator-preview{position:relative;overflow:hidden;height:166px;border:3px solid #294e58;background:linear-gradient(#84bbc8 0 60%,#d9e7df 60% 67%,#f7fae8 67%);box-shadow:inset 0 0 0 3px #eaf3db,4px 4px 0 #ae9f78}.creator-preview::before{content:'';position:absolute;left:14px;top:13px;width:38px;height:62px;background:#3f776b;clip-path:polygon(50% 0,79% 35%,66% 35%,93% 72%,66% 72%,82% 100%,18% 100%,34% 72%,7% 72%,34% 35%,21% 35%);filter:drop-shadow(3px 3px 0 #9fbeb5)}.creator-preview::after{content:'';position:absolute;right:18px;top:20px;width:70px;height:45px;background:#f6fbf0;clip-path:polygon(0 70%,28% 30%,45% 58%,68% 0,100% 70%)}.preview-snowbank{position:absolute;left:-8px;right:-8px;bottom:0;height:37px;background:#fff;clip-path:polygon(0 43%,13% 15%,30% 47%,48% 18%,69% 55%,84% 17%,100% 40%,100% 100%,0 100%)}.preview-name{position:absolute;right:10px;bottom:8px;max-width:48%;overflow:hidden;padding:5px 7px;border:2px solid #294e58;background:#f4c850;color:#5f432f;box-shadow:2px 2px 0 #987340;font:900 10px/1 var(--pixel);text-overflow:ellipsis;white-space:nowrap}
.creator-character{--skin:#f2b486;--skin-light:#ffd0a2;--hair:#5f4035;--beanie:#2d6849;--beanie-light:#4c8a61;--pom:#ead6b9;--jacket:#d7633c;--trim:#efb28a;--pants:#34445f;--boots:#704832;position:absolute;z-index:3;left:50%;bottom:28px;width:74px;height:123px;transform:translateX(-50%);filter:drop-shadow(4px 5px 0 rgba(39,66,72,.25))}.creator-character span{position:absolute;display:block}.cc-shadow{left:7px;bottom:-5px;width:62px;height:12px;background:rgba(37,55,60,.25);border-radius:50%}.cc-leg{z-index:2;bottom:14px;width:23px;height:35px;border:3px solid #294e58;background:var(--pants)}.cc-leg-left{left:13px}.cc-leg-right{right:13px}.cc-boot{z-index:3;bottom:5px;width:28px;height:22px;border:3px solid #294e58;background:var(--boots);box-shadow:inset 0 -5px rgba(51,35,30,.3)}.cc-boot-left{left:8px}.cc-boot-right{right:8px}.cc-body{z-index:4;left:8px;top:53px;width:58px;height:48px;border:3px solid #294e58;background:var(--jacket);box-shadow:inset 0 -9px var(--trim)}.cc-body::after{content:'';position:absolute;left:25px;top:0;width:4px;height:38px;background:var(--trim)}.cc-arm{z-index:3;top:58px;width:20px;height:46px;border:3px solid #294e58;background:var(--jacket)}.cc-arm::after{content:'';position:absolute;left:3px;bottom:-8px;width:10px;height:10px;border:3px solid #294e58;background:var(--skin)}.cc-arm-left{left:-4px;transform:rotate(7deg)}.cc-arm-right{right:-4px;transform:rotate(-7deg)}.cc-head{z-index:5;left:13px;top:18px;width:49px;height:47px;border:3px solid #294e58;border-radius:16px 16px 12px 12px;background:var(--skin);box-shadow:inset 0 -5px rgba(143,77,52,.12)}.cc-head::before,.cc-head::after{content:'';position:absolute;top:19px;width:7px;height:10px;background:#3d3839}.cc-head::before{left:10px}.cc-head::after{right:10px}.cc-face{z-index:6;left:32px;top:53px;width:13px;height:4px;border-bottom:3px solid #7d433d;border-radius:50%}.cc-hair{z-index:6;left:12px;top:18px;width:51px;height:17px;background:var(--hair);clip-path:polygon(0 0,100% 0,100% 55%,82% 100%,69% 53%,55% 100%,40% 52%,23% 100%,0 68%)}.creator-character[data-gender="girl"] .cc-hair{height:32px;clip-path:polygon(0 0,100% 0,100% 100%,82% 77%,72% 42%,56% 72%,41% 41%,24% 72%,17% 100%,0 100%)}.creator-character[data-gender="boy"] .cc-hair{height:14px;clip-path:polygon(0 0,100% 0,100% 75%,75% 44%,62% 100%,44% 46%,31% 91%,0 67%)}.cc-beanie{z-index:7;left:9px;top:7px;width:57px;height:22px;border:3px solid #294e58;border-radius:18px 18px 3px 3px;background:var(--beanie);box-shadow:inset 0 8px var(--beanie-light)}.cc-pom{z-index:8;left:30px;top:-2px;width:16px;height:16px;border:3px solid #294e58;border-radius:50%;background:var(--pom)}
.creator-name-label{margin-top:2px;color:#31535b;font:900 10px/1.25 var(--pixel);letter-spacing:.04em}.creator-name-input{width:100%;height:45px;padding:10px 12px;border:3px solid #294e58;border-radius:3px;outline:0;background:#fffdf0;color:#244653;box-shadow:inset 0 0 0 2px #ded2aa,3px 3px 0 #b4a77f;font:900 17px/1 var(--pixel);text-transform:none;caret-color:#d45e50}.creator-name-input:focus{border-color:#b85a49;box-shadow:inset 0 0 0 2px #f0c779,3px 3px 0 #8f493f}.creator-error{min-height:10px;margin:-4px 0 0;color:#a7473e;font:900 10px/1.3 var(--pixel)}
.creator-group{min-width:0;margin:0;padding:9px;border:2px solid #294e58;background:#efe6c6;box-shadow:inset 0 0 0 2px #fff5d5,3px 3px 0 #b9aa81}.creator-group legend{padding:4px 6px;border:2px solid #294e58;background:#4f8290;color:#fff8dc;font:900 10px/1 var(--pixel)}.choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.choice-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-row button{min-height:34px;padding:5px;border:2px solid #6b7f7d;background:#fffbed;color:#506768;box-shadow:0 3px 0 #9a9d7c;font:900 10px/1 var(--pixel);cursor:pointer}.choice-row button.is-selected{border-color:#294e58;background:#f3c850;color:#5f422e;box-shadow:inset 0 0 0 2px #ffe89a,0 3px 0 #92713d}.choice-row button:focus-visible,.swatch-button:focus-visible{outline:3px solid #d86152;outline-offset:2px}
.creator-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.swatch-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.swatch-button{position:relative;display:grid;place-items:end center;min-height:42px;padding:4px 2px;border:2px solid #294e58;background:var(--swatch,#888);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35),0 3px 0 #7f8068;color:#fff;font:900 7px/1 var(--pixel);text-shadow:1px 1px #294e58;cursor:pointer}.swatch-button.is-selected{outline:3px solid #f4c650;outline-offset:2px}.swatch-button.is-selected::after{content:'✓';position:absolute;right:1px;top:1px;display:grid;place-items:center;width:14px;height:14px;border:1px solid #294e58;background:#fff3af;color:#31535b;text-shadow:none;font-size:11px}.creator-actions{display:grid;grid-template-columns:.72fr 1.28fr;gap:9px;margin:4px 0 8px}.creator-actions .flow-button{width:100%;font-size:11px}

.cutscene-screen{display:grid;grid-template-rows:auto minmax(260px,1fr) auto;padding-top:max(10px,env(safe-area-inset-top));background:#182e3c}.cutscene-header{z-index:3;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 12px;color:#fff4ce;font:900 10px/1 var(--pixel);letter-spacing:.04em}.cutscene-header span{padding:5px 6px;border:2px solid #fff0be;background:#365a68;box-shadow:2px 2px 0 #0d222d}.cutscene-header button{padding:7px;border:2px solid #fff0be;background:#934b49;color:#fff8d7;box-shadow:2px 2px 0 #0e222c;font:900 8px/1 var(--pixel);cursor:pointer}
.cutscene-stage{position:relative;overflow:hidden;margin:0 10px;border:4px solid #0d222e;background:#91b9bd;box-shadow:inset 0 0 0 3px #e9e1bd,0 6px 0 #071821}.room-wall{position:absolute;inset:0 0 38%;background:#d9c79d;background-image:linear-gradient(90deg,rgba(111,85,65,.08) 2px,transparent 2px);background-size:29px 100%}.room-floor{position:absolute;inset:62% 0 0;background:repeating-linear-gradient(90deg,#8f694a 0 25px,#76563f 25px 28px)}.room-window{position:absolute;left:20px;top:23px;width:92px;height:93px;border:7px solid #6e543e;background:linear-gradient(#79b8ca 0 56%,#f5fbf2 56%);box-shadow:inset 0 0 0 3px #d9ecdf}.room-window::after{content:'';position:absolute;left:39px;top:0;width:5px;height:100%;background:#6e543e}.room-window i{position:absolute;left:0;top:40px;width:100%;height:5px;background:#6e543e}.pixel-tv{position:absolute;right:22px;top:44px;width:122px;height:83px;border:7px solid #37444b;background:#162a35;box-shadow:9px 8px 0 rgba(28,36,40,.25)}.pixel-tv::after{content:'';position:absolute;left:46px;bottom:-17px;width:31px;height:13px;background:#37444b}.pixel-tv i{position:absolute;inset:11px 8px;display:grid;place-items:center;background:#4d7684;color:#ffe264;font:900 11px/1.35 var(--pixel);font-style:normal;text-align:center;animation:tv-flicker .7s steps(2,end) infinite}.pixel-console{position:absolute;right:52px;top:139px;width:58px;height:18px;border:4px solid #37444b;background:#d85f51}.pixel-couch{position:absolute;left:54px;bottom:30px;width:174px;height:74px;border:6px solid #37444b;background:#4d7b78;box-shadow:inset 0 -18px #37625f}.pixel-couch::before,.pixel-couch::after{content:'';position:absolute;bottom:-17px;width:14px;height:17px;background:#37444b}.pixel-couch::before{left:18px}.pixel-couch::after{right:18px}
.pixel-actor{--actor-skin:#f2b486;--actor-hair:#5e4035;--actor-coat:#d7633c;position:absolute;z-index:4;width:50px;height:89px;filter:drop-shadow(4px 4px 0 rgba(32,45,48,.25));transition:left .35s steps(4,end),right .35s steps(4,end),bottom .35s steps(4,end),transform .35s steps(4,end),opacity .2s}.pixel-actor span{position:absolute;display:block}.actor-head{z-index:3;left:7px;top:4px;width:37px;height:37px;border:4px solid #29424b;border-radius:13px 13px 9px 9px;background:var(--actor-skin)}.actor-head::before,.actor-head::after{content:'';position:absolute;top:16px;width:5px;height:7px;background:#3a3334}.actor-head::before{left:7px}.actor-head::after{right:7px}.actor-hair{z-index:4;left:5px;top:2px;width:41px;height:16px;background:var(--actor-hair);clip-path:polygon(0 0,100% 0,100% 70%,73% 45%,62% 100%,43% 45%,27% 96%,0 67%)}.actor-body{z-index:2;left:4px;top:36px;width:43px;height:38px;border:4px solid #29424b;background:var(--actor-coat)}.actor-legs{left:8px;bottom:0;width:14px;height:24px;border:4px solid #29424b;background:#34445f;box-shadow:22px 0 0 #34445f,22px 0 0 4px #29424b}.scene-player{left:109px;bottom:48px;transform:rotate(-3deg)}.scene-mom{right:-70px;bottom:47px;--actor-skin:#d99562;--actor-hair:#623c33;--actor-coat:#725888;opacity:0}.scene-mom .actor-hair{height:25px}.scene-snow-wall{position:absolute;z-index:5;left:18px;top:20px;width:96px;height:99px;background:#f9fcf4;clip-path:polygon(0 30%,14% 20%,28% 34%,41% 10%,55% 32%,72% 14%,100% 33%,100% 100%,0 100%);opacity:0}.scene-coin-thought{position:absolute;z-index:7;left:124px;bottom:151px;padding:8px;border:4px solid #29424b;border-radius:50%;background:#fff8d6;color:#cb8a24;box-shadow:7px -4px 0 -4px #fff8d6,7px -4px 0 0 #29424b;font:900 19px/1 var(--pixel);opacity:0}.scene-shovel{position:absolute;z-index:6;left:220px;bottom:30px;width:7px;height:105px;border:3px solid #553e2e;background:#a76c3d;transform:rotate(7deg);opacity:0}.scene-shovel::before{content:'';position:absolute;left:-8px;top:-13px;width:17px;height:14px;border:4px solid #f2bc42}.scene-shovel::after{content:'';position:absolute;left:-12px;bottom:-15px;width:25px;height:23px;border:3px solid #29424b;background:#a5b5b4;clip-path:polygon(10% 0,90% 0,100% 100%,0 100%)}
.cutscene-stage[data-scene="mom"] .scene-mom,.cutscene-stage[data-scene="snow"] .scene-mom,.cutscene-stage[data-scene="news"] .scene-mom,.cutscene-stage[data-scene="idea"] .scene-mom,.cutscene-stage[data-scene="gear"] .scene-mom{right:24px;opacity:1}.cutscene-stage[data-scene="mom"] .scene-player,.cutscene-stage[data-scene="snow"] .scene-player,.cutscene-stage[data-scene="news"] .scene-player,.cutscene-stage[data-scene="idea"] .scene-player{left:92px}.cutscene-stage[data-scene="snow"] .scene-snow-wall{opacity:1}.cutscene-stage[data-scene="news"] .pixel-tv i{background:#b4514b;color:#fff5be}.cutscene-stage[data-scene="news"] .scene-player{transform:rotate(0)}.cutscene-stage[data-scene="idea"] .scene-coin-thought{opacity:1;animation:coin-think .8s steps(3,end) infinite}.cutscene-stage[data-scene="gear"] .scene-player{left:142px;bottom:42px;transform:rotate(0) scale(1.12)}.cutscene-stage[data-scene="gear"] .scene-shovel{opacity:1}.cutscene-stage[data-scene="outside"]{background:linear-gradient(#78adbf 0 62%,#f7fbf1 62%)}.cutscene-stage[data-scene="outside"] .room-wall,.cutscene-stage[data-scene="outside"] .room-floor,.cutscene-stage[data-scene="outside"] .pixel-tv,.cutscene-stage[data-scene="outside"] .pixel-console,.cutscene-stage[data-scene="outside"] .pixel-couch,.cutscene-stage[data-scene="outside"] .room-window,.cutscene-stage[data-scene="outside"] .scene-mom{display:none}.cutscene-stage[data-scene="outside"]::before{content:'';position:absolute;left:-5%;right:-5%;bottom:16%;height:85px;background:#fff;clip-path:polygon(0 57%,14% 16%,29% 53%,46% 20%,66% 64%,82% 19%,100% 53%,100% 100%,0 100%)}.cutscene-stage[data-scene="outside"]::after{content:'CEDAR HOLLOW';position:absolute;right:20px;top:28px;padding:7px;border:4px solid #294e58;background:#d96758;color:#fff8d8;box-shadow:4px 4px 0 #294e58;font:900 11px/1 var(--pixel)}.cutscene-stage[data-scene="outside"] .scene-player{left:calc(50% - 25px);bottom:43px;transform:scale(1.18)}.cutscene-stage[data-scene="outside"] .scene-shovel{left:calc(50% + 35px);bottom:36px;opacity:1}
.dialogue-box{position:relative;z-index:5;margin:0 10px max(12px,env(safe-area-inset-bottom));padding:16px 15px 12px;border:4px solid #0d2633;background:#fff5d7;box-shadow:inset 0 0 0 3px #d7c795,0 6px 0 #071821}.dialogue-speaker{position:absolute;left:14px;top:-14px;padding:6px 8px;border:3px solid #0d2633;background:#d86757;color:#fff9dc;box-shadow:3px 3px 0 #76504a;font:900 11px/1 var(--pixel)}.dialogue-box p{min-height:54px;margin:9px 0 10px;color:#294e58;font:900 13px/1.55 var(--pixel)}.dialogue-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialogue-footer span{color:#74817b;font:900 10px/1 var(--pixel)}.dialogue-footer .flow-button{min-width:105px;min-height:40px;padding:8px;font-size:11px}

.guide-overlay{position:absolute;z-index:95;inset:0;display:grid;align-items:end;padding:20px 13px max(22px,env(safe-area-inset-bottom));background:linear-gradient(transparent 20%,rgba(12,34,44,.22) 55%,rgba(12,34,44,.62));font-family:var(--pixel);pointer-events:auto}.guide-card{position:relative;padding:18px 15px 14px;border:4px solid #173b4b;background-color:#fff5d7;background-image:linear-gradient(rgba(75,121,120,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(75,121,120,.055) 1px,transparent 1px);background-size:8px 8px;box-shadow:inset 0 0 0 3px #d9c99d,0 7px 0 #102b38,0 16px 30px rgba(9,27,36,.32);text-align:center;animation:guide-in .3s steps(4,end)}.guide-count{position:absolute;left:10px;top:-13px;padding:5px 7px;border:3px solid #173b4b;background:#4f8290;color:#fff7d8;box-shadow:2px 2px 0 #173b4b;font:900 8px/1 var(--pixel)}.guide-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 10px;border:3px solid #294e58;background:#f2c650;color:#5e432f;box-shadow:inset 0 0 0 3px #ffe89c,4px 4px 0 #92713d;font:900 28px/1 var(--pixel)}.guide-card h2{margin:0;color:#173e50;font:900 22px/1.05 var(--pixel);letter-spacing:-.05em;text-transform:uppercase;text-shadow:2px 2px #d2e0ce}.guide-card p{margin:10px 0 14px;color:#516b6d;font:900 12px/1.55 var(--pixel)}.guide-card .flow-button{width:100%;min-height:44px;font-size:12px}.guide-skip{margin-top:10px;padding:5px;border:0;background:transparent;color:#78847e;font:900 8px/1 var(--pixel);text-decoration:underline;cursor:pointer}

@keyframes flow-pop{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes title-snow{to{transform:translateY(91px)}}@keyframes tv-flicker{50%{filter:brightness(1.18)}}@keyframes coin-think{50%{transform:translateY(-7px)}}@keyframes guide-in{from{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-height:740px){.start-screen{grid-template-rows:minmax(270px,48%) 1fr}.start-card{gap:5px;padding-top:10px}.start-card h1{font-size:47px}.start-card .flow-button{margin-top:0}.start-greeting{font-size:9px}.creator-preview{height:139px}.creator-character{bottom:13px;transform:translateX(-50%) scale(.86);transform-origin:bottom}.creator-form{gap:8px}.cutscene-screen{grid-template-rows:auto minmax(220px,1fr) auto}.dialogue-box p{min-height:43px;font-size:11px}.creator-group{padding:7px}.swatch-button{min-height:36px}.flow-button{min-height:43px}}
@media(max-width:355px){.creator-options{grid-template-columns:1fr}.creator-preview{height:138px}.choice-row button{font-size:8px}.start-card{padding-left:14px;padding-right:14px}.cutscene-stage{margin:0 6px}.dialogue-box{margin-left:6px;margin-right:6px}.pixel-tv{right:10px;transform:scale(.88);transform-origin:right top}.scene-mom{transform:scale(.88);transform-origin:bottom}.guide-overlay{padding-left:8px;padding-right:8px}}
@media(prefers-reduced-motion:reduce){.start-screen::after,.pixel-tv i,.scene-coin-thought{animation:none!important}.flow-screen.is-active,.guide-card{animation:none!important}.pixel-actor{transition:none}}

/* Cutscene character inherits the creator's winter palette. */
.pixel-actor{--actor-pants:#34445f;--actor-boots:#704832;--actor-hat:#2d6849;--actor-hat-light:#4c8a61;--actor-pom:#ead6b9}
.actor-legs{background:var(--actor-pants);box-shadow:22px 0 0 var(--actor-pants),22px 0 0 4px #29424b}
.actor-legs::after{content:'';position:absolute;left:-4px;bottom:-4px;width:14px;height:9px;border-top:3px solid #29424b;background:var(--actor-boots);box-shadow:22px 0 0 var(--actor-boots),22px -3px 0 #29424b}
.actor-beanie{display:none!important;z-index:6;left:3px;top:-5px;width:45px;height:18px;border:4px solid #29424b;border-radius:13px 13px 2px 2px;background:var(--actor-hat);box-shadow:inset 0 6px var(--actor-hat-light)}
.actor-beanie::after{content:'';position:absolute;left:15px;top:-13px;width:10px;height:10px;border:3px solid #29424b;border-radius:50%;background:var(--actor-pom)}
.scene-player[data-gender="girl"] .actor-hair{height:27px;clip-path:polygon(0 0,100% 0,100% 100%,84% 76%,73% 43%,57% 72%,42% 42%,25% 73%,17% 100%,0 100%)}
.scene-player[data-gender="boy"] .actor-hair{height:14px;clip-path:polygon(0 0,100% 0,100% 75%,75% 44%,62% 100%,44% 46%,31% 91%,0 67%)}
.actor-controller{display:none!important;z-index:7;left:8px;top:59px;width:34px;height:13px;border:3px solid #29424b;border-radius:4px;background:#efc34d;box-shadow:inset 0 -4px #c67f38}.actor-controller::before,.actor-controller::after{content:'';position:absolute;top:3px;width:5px;height:5px;background:#29424b}.actor-controller::before{left:5px;box-shadow:3px 0 #29424b,1px -2px #29424b,1px 2px #29424b}.actor-controller::after{right:5px;border-radius:50%}
.cutscene-stage[data-scene="gaming"] .scene-player .actor-controller,.cutscene-stage[data-scene="mom"] .scene-player .actor-controller{display:block!important;animation:controller-tap .45s steps(2,end) infinite}
.cutscene-stage[data-scene="gaming"] .scene-player,.cutscene-stage[data-scene="mom"] .scene-player{bottom:52px;transform:rotate(-3deg) translateY(8px)}
.cutscene-stage[data-scene="gaming"] .scene-player .actor-legs,.cutscene-stage[data-scene="mom"] .scene-player .actor-legs{bottom:8px;transform:rotate(72deg);transform-origin:7px 7px}
.cutscene-stage[data-scene="gaming"] .scene-player .actor-body,.cutscene-stage[data-scene="mom"] .scene-player .actor-body,.cutscene-stage[data-scene="snow"] .scene-player .actor-body,.cutscene-stage[data-scene="news"] .scene-player .actor-body,.cutscene-stage[data-scene="idea"] .scene-player .actor-body{background:#6c7297}
.cutscene-stage[data-scene="gaming"] .scene-player .actor-legs::after,.cutscene-stage[data-scene="mom"] .scene-player .actor-legs::after,.cutscene-stage[data-scene="snow"] .scene-player .actor-legs::after,.cutscene-stage[data-scene="news"] .scene-player .actor-legs::after,.cutscene-stage[data-scene="idea"] .scene-player .actor-legs::after{background:#d7e4db;box-shadow:22px 0 0 #d7e4db,22px -3px 0 #29424b}
.cutscene-stage[data-scene="gear"] .scene-player .actor-beanie,.cutscene-stage[data-scene="outside"] .scene-player .actor-beanie{display:block!important}
@keyframes controller-tap{50%{transform:translateY(2px)}}

/* Bigger, bolder text everywhere for readability. */
body,button,input{font-weight:900}
*{font-weight:900!important}
