:root{color-scheme:dark;--bg:#211b16;--surface:#2b231c;--ink:#f4e8cf;--muted:#b5a58f;--accent:#e7a25d;--line:#4b3b2c;--paper:#eadebf;--dark:#342a1f;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--ink);background-image:radial-gradient(ellipse at 50% 15%,#62412824,transparent 58%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,iframe:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a{color:inherit}.skip-link{position:fixed;z-index:100;top:-80px;left:16px;background:var(--accent);color:var(--bg);padding:12px}.skip-link:focus{top:16px}[hidden]{display:none!important}.masthead,main,footer{width:min(1240px,calc(100% - 80px));margin-inline:auto}.masthead{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:10px;letter-spacing:1.8px;line-height:1.5;font-weight:700}.brand strong{font-size:17px;letter-spacing:3px}.brand svg{width:36px;fill:var(--accent)}.brand svg circle{fill:var(--bg)}.edition{font-family:monospace;letter-spacing:1.8px;font-size:10px;color:var(--muted);display:flex;align-items:center;gap:12px}.status-dot,.live-light{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.edition-divider{opacity:.4}.how-link{font-size:12px;text-decoration:none}.how-link span{margin-left:14px;font-size:19px;color:var(--accent)}.intro{text-align:center;padding:50px 0 36px}.eyebrow{font-family:monospace;letter-spacing:2.7px;font-size:10px;display:flex;align-items:center;justify-content:center;gap:17px;color:var(--accent)}.eyebrow>span{width:36px;height:1px;background:#80583b}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(58px,7.8vw,110px);line-height:1.12;letter-spacing:-4px;font-weight:900;margin:12px 0 10px;text-shadow:0 3px 0 #9e7f4b3d}.sun{font-family:Georgia,serif;font-weight:400;font-size:.45em;display:inline-block;vertical-align:middle;margin:0 .16em;color:var(--accent)}.intro>p{font-size:14px;color:var(--muted);margin:10px 0;line-height:1.6}.intro em{font-family:Georgia,serif;font-size:17px;color:var(--ink);margin-left:4px}.arcade{border:1px solid #5c4935;border-radius:7px;box-shadow:0 22px 70px #0003;background:#30261d;overflow:hidden}.cabinet-label{height:43px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#382c21;font:10px monospace;letter-spacing:1.6px;color:#c3ae90;border-bottom:1px solid #51402d}.cabinet-label>span:first-child{color:var(--ink);display:flex;align-items:center;gap:10px}.cabinet-label b{margin:0 8px;color:#8f7350}.cabinet-body{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:24px;padding:24px}.screen-shell{min-width:0;background:#100f0c;border:1px solid #0d0b08;border-radius:4px;box-shadow:0 1px 0 #5f4b35;padding:8px 8px 0}.screen{position:relative;aspect-ratio:4/3;overflow:hidden;background:#151a20;border-radius:2px;isolation:isolate}.backdrop{width:100%;height:100%;object-fit:cover;image-rendering:pixelated;filter:brightness(.55) saturate(.65);opacity:.7;position:absolute;inset:0}.screen:has(.poster:not([hidden]))::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(#16171005,#1b1713c2 55%,#171411f2)}.poster{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.poster-stars{color:var(--accent);font-size:15px;margin-bottom:20px}.poster-label{font:10px monospace;letter-spacing:3.8px;color:#ddc7a5}.poster h2,.loading-panel h2,.paused-panel h2,.error-panel h2{font:700 clamp(25px,3vw,40px)/1.2 Georgia,serif;letter-spacing:-1px;margin:14px 0 9px}.poster p{font-size:13px;line-height:1.8;color:#ccbda5;margin:0 0 24px}.start-button{display:flex;justify-content:center;align-items:center;gap:12px;min-height:49px;padding:14px 26px;border:1px solid #f7c286;border-radius:3px;background:var(--accent);color:#281b0d;font-size:11px;font-weight:800;letter-spacing:1.6px;box-shadow:0 3px 0 #a96533;transition:background .15s,transform .15s}.start-button svg{width:17px;fill:currentColor}.start-button:hover{background:#f9b779;transform:translateY(-1px)}.start-note{color:#bcab93;font-size:10px;margin-top:19px}.start-note>span{margin:0 5px}.screen .native-game{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;background:black;z-index:1;object-fit:contain;image-rendering:pixelated;outline:0}.screen-toolbar{min-height:47px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 5px 0 9px}.game-status{font-size:10px;color:#b2a38e;letter-spacing:.2px}.tools{display:flex;align-items:center;gap:4px}.tool{border:0;color:#cfc0a8;background:none;display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border-radius:3px;padding:0 8px;font:9px monospace;letter-spacing:.5px}.tool:hover:enabled{color:var(--accent);background:#ffffff09}.icon-tool{font-size:23px;min-width:37px}.sound-icon{font:22px Georgia,serif;color:var(--accent)}.tool svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.5}.field-notes{color:var(--dark);background:var(--paper);padding:22px 21px 15px;position:relative;border-radius:2px;display:flex;flex-direction:column;background-image:repeating-linear-gradient(12deg,transparent,transparent 8px,#79603f03 8px,#79603f03 9px);box-shadow:2px 3px 8px #0002}.notes-top{display:flex;align-items:center;justify-content:space-between;font:8px monospace;letter-spacing:1.1px;border-bottom:1px solid #b9a586;padding-bottom:14px}.notes-top>span:last-child{font-size:18px}.field-notes h2{font:700 27px/1.15 Georgia,serif;letter-spacing:-.7px;margin:22px 0}.control-note{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px}.control-note>div:last-child{flex:1}.control-note h3{font-size:11px;margin:1px 0 6px}.control-note p{font-size:11px;line-height:1.65;color:#72614e;margin:0}.key-cluster{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:62px}.key-cluster>span{display:flex;gap:2px}kbd{font:12px monospace;border:1px solid #aa977c;border-bottom-width:2px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:21px;color:#594631;background:#f6edd7}.space-key{font-size:8px;letter-spacing:.5px;min-width:62px;height:27px}.tip{border-top:1px dashed #bca98c;padding:19px 0;display:flex;gap:11px;margin-top:auto}.tip>span{font-size:22px;color:#906837}.tip p{font-size:11px;line-height:1.65;margin:0;color:#72614e}.tip strong{display:block;font-size:10px;color:#594631;margin-bottom:4px}.notes-bottom{display:flex;justify-content:space-between;border-top:1px solid #b9a586;padding-top:13px;font:7px monospace;letter-spacing:.6px;color:#8d795d}.loading-panel,.paused-panel,.error-panel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#17130ff5;z-index:3;padding:20px}.loading-panel p,.error-panel p{color:var(--muted);font-size:12px;line-height:1.7;max-width:330px}.loading-star{font-size:50px;color:var(--accent);animation:turn 7s linear infinite}.loading-panel h2,.paused-panel h2,.error-panel h2{font-size:28px}.paused-panel>span{font-size:43px;color:var(--accent)}.paused-panel .start-button,.error-panel .start-button{margin-top:20px}.touch-controls{display:none;padding:20px 28px;border-top:1px solid #4b3b2c;justify-content:space-between;align-items:center;gap:20px}.dpad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(3,38px);gap:3px}.direction{border:1px solid #6d5135;color:#eddec4;border-radius:5px;background:#493525;font-size:21px;touch-action:none;user-select:none;-webkit-user-select:none}.direction:active,.direction.is-held{background:var(--accent);color:#211b16;border-color:var(--accent)}.northwest,.northeast,.southwest,.southeast{opacity:.7;font-size:18px}.dpad-center{display:flex;align-items:center;justify-content:center;font-size:25px;color:#7b5c3e}.fire-button{touch-action:none;user-select:none;-webkit-user-select:none;border:2px solid #efb57b;background:#ba6d3d;color:#ffe6c0;width:90px;height:90px;flex-shrink:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:bold 11px monospace;letter-spacing:1px;box-shadow:0 5px 0 #754525}.fire-button>span{font-size:30px;line-height:1.1;margin-bottom:3px}.fire-button:active,.fire-button.is-held{background:#efab70;transform:translateY(3px);box-shadow:0 2px 0 #754525;color:#462a17}.touch-caption{font:9px/1.8 monospace;letter-spacing:1px;color:var(--muted)}.touch-caption>span{font:italic 13px Georgia,serif;color:var(--accent);letter-spacing:0}.below-game{display:flex;align-items:center;gap:10px;padding:22px 3px;color:#ac9b83}.below-game p{margin:0;font-size:11px}.pixel-badge{font-size:19px;color:var(--accent)}.authentic-stamp{margin-left:auto;font:8px monospace;letter-spacing:1.4px}footer{margin-top:16px;border-top:1px solid var(--line);padding:24px 0 30px;display:flex;justify-content:space-between;font:8px monospace;letter-spacing:1px;color:#887762}footer b{color:var(--accent);margin:0 6px}footer a{text-decoration:none;color:#b8a58c;font-family:Arial,sans-serif;font-size:10px;letter-spacing:0}footer a:hover{color:var(--accent)}footer a span{margin-left:10px}.screen-shell:fullscreen{padding:0;background:#100f0c;display:flex;flex-direction:column;justify-content:center;border:0;border-radius:0}.screen-shell:fullscreen .screen{flex:1;min-height:0;aspect-ratio:auto;width:100%}.screen-shell:fullscreen .screen-toolbar{flex-shrink:0;background:#100f0c;padding-inline:20px}.credit-page{max-width:730px;margin:50px auto;line-height:1.8}.credit-page h1{font-size:52px;letter-spacing:-2px}.credit-page h2{font:700 24px Georgia,serif;margin-top:36px}.credit-page p{color:var(--muted);font-size:14px}.credit-page a{color:var(--accent)}.credit-page code{font-size:12px}.credit-page .back-link{font-size:12px;text-decoration:none}@keyframes turn{to{transform:rotate(360deg)}}@media(pointer:coarse){.touch-controls{display:flex}}@media(min-width:1600px){.intro{padding-top:58px}.cabinet-body{grid-template-columns:minmax(0,1fr) 285px}.field-notes{padding:25px}.field-notes h2{font-size:31px}.control-note p{font-size:12px}.control-note h3{font-size:12px}.notes-bottom{font-size:8px}}@media(max-width:1000px){.masthead,main,footer{width:calc(100% - 40px)}.cabinet-body{gap:18px;padding:18px;grid-template-columns:minmax(0,1fr) 225px}.field-notes{padding:17px 16px 13px}.field-notes h2{font-size:23px;margin:20px 0}.control-note{gap:9px;margin-bottom:18px}.control-note h3{font-size:10px}.control-note p{font-size:10px}.key-cluster,.space-key{min-width:54px}.notes-top{font-size:7px}.notes-bottom{font-size:6px}.poster-stars{margin-bottom:12px}.poster h2{font-size:28px}.poster p{font-size:11px;margin-bottom:18px}.screen-toolbar{padding:0;flex-wrap:wrap;justify-content:center}.game-status{margin-left:auto;margin-right:auto}.tools{gap:0}.tool{padding-inline:6px}.cabinet-label{padding:0 18px}.authentic-stamp{font-size:7px}}@media(max-width:760px){.masthead{height:80px}.edition{font-size:8px;letter-spacing:1px;gap:6px}.edition-divider,.edition-divider+span{display:none}.brand{font-size:8px;gap:8px}.brand strong{font-size:13px}.brand svg{width:29px}.how-link{font-size:10px}.how-link span{margin-left:5px}.intro{padding:35px 0 28px}.eyebrow{font-size:8px;letter-spacing:1.6px;gap:10px}.eyebrow>span{width:20px}h1{font-size:clamp(45px,10vw,77px);letter-spacing:-2.5px}.intro>p{font-size:12px}.intro em{font-size:15px}.cabinet-body{display:flex;flex-direction:column;padding:14px;gap:16px}.screen-toolbar{justify-content:space-between}.game-status{margin:0 0 0 4px}.field-notes{padding:18px 20px;display:grid;grid-template-columns:1fr 1fr;gap:17px 24px}.notes-top{grid-column:1/-1;padding-bottom:9px;font-size:9px}.field-notes h2{grid-column:1/-1;font-size:26px;margin:0}.field-notes h2 br{display:none}.control-note{margin:0}.control-note h3{font-size:11px}.control-note p{font-size:11px}.tip{grid-column:1/-1;padding:14px 0 0;margin:0}.notes-bottom{display:none}.tip strong{font-size:11px}.tip p{font-size:11px}.cabinet-label{height:38px;padding:0 15px;font-size:9px}.cabinet-label>span:last-child{font-size:7px;letter-spacing:.7px}.cabinet-label b{margin:0 4px}.touch-controls{display:flex;padding:20px 24px}.authentic-stamp{display:none}.below-game{padding:18px 3px}.below-game p{font-size:10px}footer{font-size:7px;flex-wrap:wrap;gap:16px;padding-top:20px}footer>span:last-child{display:none}.credit-page{margin:35px 20px}.poster h2{font-size:32px}.poster p{font-size:12px;margin-bottom:23px}}@media(max-width:400px){.masthead,main,footer{width:calc(100% - 24px)}.edition{display:none}.screen-toolbar{padding:4px 0;gap:0}.game-status{font-size:9px}.tool{font-size:8px;padding-inline:5px}.icon-tool{font-size:22px;min-width:29px}.poster-stars{font-size:11px;margin-bottom:10px}.poster-label{font-size:8px;letter-spacing:2.5px}.poster h2{font-size:26px}.poster p{font-size:10px;margin-bottom:18px}.start-button{min-height:44px;padding:12px 20px;font-size:10px}.start-note{font-size:8px;margin-top:14px}.field-notes{padding:15px;gap:14px}.control-note{flex-direction:column;gap:9px}.key-cluster{height:44px}.space-key{margin-top:17px;margin-bottom:0}.touch-controls{padding:18px 16px;gap:10px}.touch-caption{display:none}.below-game p{font-size:9px}.cabinet-body{padding:10px}.cabinet-label>span:last-child{font-size:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

@media(max-width:370px){.poster p{display:none}.poster h2{font-size:23px}.poster-stars{margin-bottom:8px}.start-note{font-size:7px}}

.cheat-form{margin-top:18px;padding:16px 20px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}
.cheat-form fieldset{border:0;padding:0;margin:0;min-width:0}
.cheat-form legend{font:700 18px Georgia,serif;padding:0;margin-bottom:12px}
.cheat-form label{display:block;font-size:12px;margin-bottom:7px;color:var(--muted)}
.cheat-entry{display:flex;gap:8px;max-width:460px}
.cheat-entry input{min-width:0;flex:1;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink);font:16px monospace;padding:10px}
.cheat-entry button{border:1px solid #f7c286;border-radius:3px;background:var(--accent);color:#281b0d;font:700 10px Arial,sans-serif;letter-spacing:1px;padding:10px 14px;min-height:44px}
.cheat-entry input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
#cheat-help,#cheat-message,.paused-panel p{font-size:12px;line-height:1.6;color:var(--muted)}
#cheat-help{margin:10px 0 0}#cheat-message{margin:10px 0 0;color:var(--ink)}#cheat-message:empty{display:none}
.scoreboard{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}
.screen-shell .touch-controls{padding:12px 8px;flex-shrink:0}
.scoreboard-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.scoreboard h2{font:700 22px Georgia,serif;margin:0}
.scoreboard-heading button{border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--accent);padding:10px;font:11px monospace;min-height:44px}
#highscores{padding-left:26px;margin:16px 0;font-size:14px}
#highscores li{padding:8px 0 8px 6px;border-bottom:1px solid var(--line)}
#highscores li span{display:inline-block;max-width:75%;overflow-wrap:anywhere}
#highscores li strong{float:right;color:var(--accent);font-family:monospace}
#score-form label{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}
#score-form p,#score-message{font-size:12px;line-height:1.6;color:var(--muted)}
.score-panel{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;overflow:auto;margin:0;padding:16px;background:#17130fed}
.score-card{width:min(100%,400px);max-height:100%;overflow:auto;padding:clamp(12px,3vw,24px);border:1px solid var(--accent);border-radius:4px;background:var(--surface);text-align:left}
.score-card h2{font:700 clamp(19px,3vw,28px)/1.15 Georgia,serif;margin:0 0 12px;color:var(--ink)}
#score-name{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink);font:16px monospace;padding:10px}
#score-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#score-dialog-message:empty{display:none}
.score-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.score-actions .start-button{flex:1;padding:12px;font-size:10px;letter-spacing:.7px;min-height:44px}
#score-skip{border:0;background:none;color:var(--muted);font:10px monospace;min-height:44px;padding:8px}
@media(max-width:400px){.score-panel{padding:8px}.score-card{padding:12px}.score-card h2{font-size:19px;margin-bottom:6px}#score-form p{font-size:11px;margin:6px 0}.score-actions{gap:6px;margin-top:10px}#score-skip{font-size:9px;padding:4px}}

@media(orientation:landscape) and (max-height:600px) and (pointer:coarse){
  html{scroll-behavior:auto}
  .masthead,.intro,.cabinet-label,.field-notes{display:none}
  main{width:100%;margin:0}
  .arcade{border:0;border-radius:0;box-shadow:none}
  .cabinet-body{display:block;padding:0}
  .screen-shell,.screen-shell:fullscreen{
    display:grid;grid-template-areas:"move display fire" "toolbar toolbar toolbar";
    grid-template-columns:minmax(138px,1fr) minmax(0,calc((100dvh - 62px)*4/3)) minmax(138px,1fr);
    grid-template-rows:minmax(0,1fr) 42px;gap:4px 8px;
    width:100%;height:100vh;height:100dvh;
    padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
    border:0;border-radius:0;box-shadow:none;
  }
  .screen-shell .screen,.screen-shell:fullscreen .screen{grid-area:display;min-width:0;min-height:0;width:100%;height:100%;aspect-ratio:auto}
  .screen-shell .touch-controls{display:contents}
  .touch-controls .dpad{grid-area:move;align-self:center;justify-self:center;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px)}
  .touch-controls .fire-button{grid-area:fire;align-self:center;justify-self:center;width:94px;height:94px}
  .touch-controls .touch-caption{display:none}
  .screen-shell .screen-toolbar,.screen-shell:fullscreen .screen-toolbar{grid-area:toolbar;min-height:0;padding:0;flex-wrap:nowrap;justify-content:space-between}
  .game-status{margin:0;font-size:9px}
  .poster{padding:12px}
  .poster-stars,.start-note{display:none}
  .poster-label{font-size:8px}
  .poster h2{font-size:24px;margin:8px 0}
  .poster p{font-size:10px;margin-bottom:12px}
  .paused-panel>span{display:none}
  .paused-panel h2,.error-panel h2,.loading-panel h2{font-size:22px;margin:8px 0}
  .paused-panel p{margin:6px 0}
  .paused-panel .start-button,.error-panel .start-button{margin-top:8px}
  .score-card{padding:12px}
  .score-card h2{font-size:20px;margin-bottom:6px}
  #score-form p{margin:6px 0;font-size:11px}
  .score-actions{margin-top:10px}
  .scoreboard,.cheat-form,.below-game{margin-inline:16px}
}
