  @font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;
    src:url("fonts/press-start-2p.woff2") format("woff2")}
  :root{--night:#0b0a10;--panel:#15121f;--line:#2c2640;--ink:#ece6f7;--muted:#8d879a;
    --flint:#FF2E63;--mogi:#FFD60A;--jax:#A6FF00;--cyan:#00F0FF;--kip:#7CFFC4;--bruno:#4DA6FF;--byte:#E8E0FF}
  *{box-sizing:border-box}
  html,body{margin:0;height:100%;background:var(--night);color:var(--ink);
    font-family:"Press Start 2P",ui-monospace,monospace;-webkit-user-select:none;user-select:none}
  .game{display:flex;flex-direction:column;height:100%;max-width:1100px;margin:0 auto;padding:12px 16px 16px;gap:10px}
  .hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:11px;gap:8px;line-height:1.6}   /* wrapped HUD lines never overlap */
  .hud .right{justify-self:end;display:flex;gap:14px;align-items:center}
  .hud .lives{color:var(--flint);font-size:14px;letter-spacing:2px}
  .daily{color:var(--muted)}
  .mute{font-family:inherit;font-size:9px;color:var(--muted);background:none;border:1px solid var(--line);border-radius:6px;padding:5px 7px;cursor:pointer}
  .mute[aria-pressed=true]{color:var(--flint);border-color:var(--flint)}
  .zone-label{color:var(--ink)}
  .zone-banner{position:absolute;top:18%;left:50%;transform:translateX(-50%);font-size:clamp(12px,2.6vw,22px);
    letter-spacing:2px;color:var(--ink);text-shadow:3px 3px 0 #0b0a10;opacity:0;pointer-events:none;white-space:nowrap}
  .zone-banner.show{animation:zoneIn 2.2s steps(8) forwards}
  @keyframes zoneIn{0%{opacity:0}10%,75%{opacity:1}100%{opacity:0}}
  @media (prefers-reduced-motion:reduce){.zone-banner.show{animation:none;opacity:1}}
  .tip{justify-self:center;color:var(--cyan);min-height:1em;text-align:center}
  .screen{position:relative;flex:1;min-height:0;display:grid;place-items:center}
  canvas#world{image-rendering:pixelated;border-radius:6px;touch-action:none;display:block}
  .overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:16px}
  .overlay[hidden]{display:none}
  .card{background:#0b0a10e6;border:2px solid var(--line);border-radius:10px;padding:22px 20px;max-width:440px;width:100%}
  .card h1,.card h2{font-size:22px;margin:0 0 14px;letter-spacing:1px}
  .card p{font-size:10px;line-height:1.8;color:var(--muted);margin:0 0 12px}
  .rules{display:grid;gap:8px;margin:0 0 16px;font-size:10px;text-align:left}
  .rules div{display:flex;align-items:center;gap:10px;line-height:1.6}   /* a wrapped rule line never overlaps the next */
  .rules b{flex:none}
  .rules canvas{width:36px;height:36px;image-rendering:pixelated}
  .big{font-family:inherit;font-size:12px;background:var(--ink);color:var(--night);border:0;border-radius:8px;
    padding:12px 18px;cursor:pointer}
  .big:focus-visible,.pad:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
  .score-line{font-size:12px;margin:6px 0;color:var(--ink)}
  .controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .pad{font-family:inherit;font-size:10px;color:var(--ink);background:var(--panel);border:2px solid var(--line);
    border-radius:10px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;
    touch-action:manipulation;transition:transform .08s ease,border-color .08s ease}
  .pad canvas{width:44px;height:44px;image-rendering:pixelated}
  .pad .key{color:var(--muted);font-size:12px;font-family:ui-monospace,Menlo,monospace}
  .pad[data-act=flint].on{border-color:var(--flint)} .pad[data-act=mogi].on{border-color:var(--mogi)}
  .pad[data-act=jax].on{border-color:var(--jax)}
  .pad:active{transform:scale(.96)}
  @media (max-width:560px){.hud{font-size:9px;grid-template-columns:1fr 1fr}.tip{grid-column:1/-1;order:3}}
  .progress{position:relative;height:16px;background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden}
  .progress-fill{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--flint),var(--mogi),var(--jax))}
  .progress-label{position:absolute;inset:0;display:grid;place-items:center;font-size:8px;color:var(--ink);
    text-shadow:1px 1px 0 #0b0a10,-1px -1px 0 #0b0a10}
  .title{font-size:26px;letter-spacing:2px}
  .title .h{color:var(--flint)} .title .b{color:var(--mogi)} .title .m{color:var(--jax)} .title .c{color:var(--cyan)}
  .hero{width:96px;height:96px;image-rendering:pixelated;display:block;margin:0 auto 10px;animation:bob 0.8s steps(2) infinite}
  @keyframes bob{50%{transform:translateY(-6px)}}
  .goal{color:var(--cyan)!important}
  .best-line{font-size:10px;color:var(--mogi);margin:0 0 14px}
  .big-score{font-size:30px;margin:4px 0 10px;color:var(--mogi)}
  .new-best{display:inline-block;font-size:10px;color:var(--night);background:var(--jax);padding:6px 10px;border-radius:6px;margin:0 0 8px}
  .new-best[hidden]{display:none}
  @media (prefers-reduced-motion:reduce){.hero{animation:none}}
  .btn-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
  .big.alt{background:none;color:var(--ink);border:2px solid var(--ink)}
  .big.alt:hover{background:var(--ink);color:var(--night)}
  .share-box{display:block;width:100%;height:72px;margin:12px 0 0;background:var(--panel);color:var(--ink);
    border:1px solid var(--line);border-radius:6px;font:11px/1.5 ui-monospace,Menlo,monospace;padding:8px;resize:none}
  .share-box[hidden]{display:none}
  /* two-way tool switch under the board (Minesweeper DIG/FLAG, Pixel Daily FILL/X); .on = chosen */
  .tools{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .tool{font-family:inherit;font-size:12px;color:var(--ink);background:var(--panel);border:2px solid var(--line);border-radius:10px;
    padding:16px 6px;cursor:pointer;touch-action:manipulation;transition:transform .08s ease,border-color .08s ease}
  .tool.on{border-color:var(--jax);color:var(--jax)}
  .tool:active{transform:scale(.97)}
  .tool:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
  /* four-way pad under the board (Snake steering, Mogi Merge slides); arrows in a normal font (pixel font has none) */
  .dpad{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
  .dir{font:20px/1 ui-monospace,Menlo,monospace;color:var(--ink);background:var(--panel);border:2px solid var(--line);
    border-radius:10px;padding:16px 6px;cursor:pointer;touch-action:manipulation;transition:transform .08s ease,border-color .08s ease}
  .dir:active,.dir.on{border-color:var(--flint);transform:scale(.96)}
  .dir:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}

  /* How to play: plain readable text under the game (the page scrolls to it) */
  .about{max-width:980px;margin:0 auto;padding:40px 20px 56px;font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    color:var(--ink);-webkit-user-select:text;user-select:text;border-top:2px solid var(--line)}
  .about h1,.about h2{font-family:"Press Start 2P",ui-monospace,monospace;line-height:1.5;letter-spacing:1px}
  .about h1{font-size:18px;margin:0 0 18px;color:var(--mogi)}
  .about h2{font-size:12px;margin:34px 0 12px;color:var(--cyan)}
  .about h3{font-size:16px;margin:20px 0 4px}
  .about p,.about li{color:#cfc9da}
  .about .lead{font-size:18px;color:var(--ink)}
  .about ul,.about ol{padding-left:22px}
  .about li{margin:6px 0}
  .about b{color:var(--ink)}
  .about a{color:var(--cyan)}
  .about .guide{background:var(--panel);border:2px solid var(--line);border-radius:14px;padding:0 20px;margin:0 0 30px}
  .about .guide[open]{padding-bottom:18px}
  .about .guide summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0}
  .about .guide summary::-webkit-details-marker{display:none}
  .about .guide summary::after{content:"▾";font-size:18px;color:var(--cyan);transition:transform .2s}
  .about .guide[open] summary::after{transform:rotate(180deg)}
  .about .guide summary h1{margin:0;font-size:14px}
  .about .guide summary:focus-visible{outline:3px solid var(--cyan);outline-offset:4px;border-radius:6px}
  .about .more-title{margin-top:0}
  .about .more{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
  .about .more li{margin:0}
  .about .more a{display:block;height:100%;text-decoration:none;color:var(--ink);background:var(--panel);border:2px solid var(--line);
    border-radius:14px;overflow:hidden;transition:border-color .15s,transform .15s}
  .about .more a:hover,.about .more a:focus-visible{border-color:var(--cyan);transform:translateY(-2px)}
  .about .more img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:var(--night)}
  .about .more b{display:block;padding:10px 12px 2px;font:15px/1.3 "Bricolage Grotesque",system-ui,sans-serif;font-weight:800}
  .about .more span{display:block;padding:0 12px 12px;font-size:13px;line-height:1.4;color:var(--muted)}
  @media (prefers-reduced-motion:reduce){.about .more a,.about .guide summary::after{transition:none}}
  .about .home{margin-top:28px}
  .about .crumbs{font-size:14px;color:var(--muted);margin:0 0 14px}

  /* Level progress (progress.js): start-card track, total, Continue / Daily run, and the level-clear toast */
  .level-track{display:flex;gap:5px;margin:4px 0 8px}
  .level-track .lvl{flex:1;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:5px 2px 4px;
    font:600 10px/1.25 "Plus Jakarta Sans",system-ui,sans-serif;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .level-track .lvl b{display:block;font:9px "Press Start 2P",monospace;color:var(--ink);margin-bottom:2px}
  .level-track .st{display:block;font:12px/1.2 system-ui,sans-serif;letter-spacing:1px;color:#3d3656}
  .level-track .lvl.on{border-color:#ffd60a66}
  .level-track .lvl.on .st{color:var(--mogi)}
  .level-track .lvl.next{border-color:var(--cyan);box-shadow:0 0 0 2px #00f0ff33}
  .level-track .lvl.next b{color:var(--cyan)}
  .level-total{font-size:9px;color:var(--mogi);margin:0 0 12px}
  .level-total .sym,.progress-toast .stars{font-family:system-ui,sans-serif}
  .start-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .start-pair .big{width:100%;margin:0}
  .big small{display:block;font:600 11px "Plus Jakarta Sans",system-ui,sans-serif;margin-top:4px;opacity:.75;text-transform:none}
  .big.continue{background:var(--mogi);color:var(--night)}
  .big.daily{background:var(--panel);color:var(--ink);border:2px solid var(--line)}
  .progress-toast{position:absolute;left:50%;top:30%;transform:translate(-50%,-8px);z-index:6;background:#0b0a10ee;border:2px solid var(--line);
    border-radius:12px;padding:12px 18px;text-align:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;min-width:220px}
  .progress-toast.show{opacity:1;transform:translate(-50%,0)}
  .progress-toast b{display:block;font-size:12px;color:var(--jax);margin-bottom:6px}
  .progress-toast .stars{font-size:30px;letter-spacing:4px;color:var(--mogi);line-height:1.1}
  .progress-toast ul{list-style:none;padding:0;margin:8px 0 0;text-align:left;font:600 12px/1.7 "Plus Jakarta Sans",system-ui,sans-serif}
  .progress-toast .ok{color:var(--jax)} .progress-toast .no{color:var(--muted)}
  .progress-toast small{font-size:11px}
  .progress-toast .new{font-size:9px;color:var(--mogi);margin-top:6px}
  @media (prefers-reduced-motion:reduce){.progress-toast{transition:none}}
  @media (max-width:480px){
    .start-pair .big{font-size:11px;padding:10px 6px;white-space:nowrap}
    .start-pair .big small{white-space:normal;font-size:10px}
    .level-track{gap:3px}
    .level-track .lvl{font-size:9px}
  }
