@charset "UTF-8";
:root{--paper:#f9f8f1;--ink:#263c9d;--dark:#18245c;--muted:#6a6e80;--line:#dce0e8;--yellow:#f2e88e;--white:#fffef9;--red:#bd594b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--dark);font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--ink);text-underline-offset:4px}a:hover{color:#5268d0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait}:focus-visible{outline:3px solid #c57d24;outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15}h1{font-size:clamp(42px,5vw,66px);letter-spacing:-3px;margin-bottom:12px;font-weight:850}h2{font-size:32px;letter-spacing:-1.2px;margin-bottom:18px}h3{font-size:20px;letter-spacing:-.5px;margin-bottom:10px}p{margin-bottom:18px}svg{display:block}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.skip{position:fixed;top:-100px;left:20px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.site-header{border-bottom:1px solid var(--line);height:84px;display:flex;align-items:center}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;text-decoration:none;letter-spacing:-.8px}.brand-icon{height:34px;width:34px;transform:rotate(-8deg);border:2px solid var(--ink);display:grid;place-content:center;font-size:24px;line-height:1;background:var(--yellow);box-shadow:2px 2px 0 var(--ink)}nav{display:flex;gap:28px;align-items:center}nav a{font-size:13px;text-decoration:none;font-weight:650}.nav-play{border:1px solid var(--ink);padding:7px 15px;box-shadow:2px 2px 0 var(--ink);background:var(--white)}.eyebrow{font:600 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.intro{padding:30px 0 23px;display:flex;align-items:center;justify-content:space-between;gap:32px}.intro .eyebrow{margin-bottom:12px}.intro .lede{font-size:14px;max-width:680px;color:var(--muted);margin-bottom:0;line-height:1.65}.title-note{font-family:"Comic Sans MS","Chalkboard SE",cursive;font-size:19px;transform:rotate(-7deg);min-width:180px;line-height:1.5;color:var(--ink)}.title-note span{display:inline-block;border-bottom:2px solid var(--ink)}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:24px;align-items:start}.game-box{border:2px solid var(--ink);background:var(--white);box-shadow:5px 5px 0 #dfe2ef;min-width:0}.game-toolbar{height:38px;display:flex;justify-content:space-between;align-items:center;padding:0 14px;border-bottom:1px solid var(--line);font:11px ui-monospace,monospace;letter-spacing:1px}.game-toolbar span:before{content:"";display:inline-block;width:6px;height:6px;background:#6c8d50;border-radius:100%;margin-right:7px}.stage-wrap{aspect-ratio:16/10;background:#efefe4;position:relative}.stage-wrap iframe{display:block;width:100%;height:100%;border:0}.game-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:6px 14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.game-bottom button{border:0;background:transparent;color:var(--ink);font-size:12px;font-weight:700}.stage-note{font-size:12px;color:var(--muted);margin:13px 0 0;line-height:1.7}.game-side .eyebrow{color:var(--ink)}.quick-card{border:1px solid #dadcc9;background:#f2f0df;padding:20px;transform:rotate(1deg);box-shadow:2px 3px 0 #e8e6d6}.quick-card h3{font-size:21px;margin-bottom:17px;letter-spacing:-.5px}.key-row{display:flex;justify-content:space-between;gap:10px;margin:10px 0;font-size:12px}.key-row span{color:var(--muted)}kbd{font:11px ui-monospace,monospace;background:var(--white);padding:2px 5px;border:1px solid #b8bdcf;border-bottom-width:2px;border-radius:3px;color:var(--ink)}.small-link{font-size:11px;font-weight:700;display:inline-block;margin-top:12px}.online-card{margin-top:24px;padding:0 4px}.online-card h3{font-size:18px}.online-card p{font-size:12px;color:var(--muted);margin-bottom:14px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:10px 16px;background:var(--ink);color:white;text-decoration:none;font-size:12px;font-weight:650;border:1px solid var(--ink);box-shadow:3px 3px 0 #c5cae0}.button:hover{color:white;background:#162b88}.button-outline{background:transparent;color:var(--ink)}.button-outline:hover{background:#e5e8f5;color:var(--ink)}.hand-note{font-family:"Comic Sans MS","Chalkboard SE",cursive;color:var(--muted);font-size:13px;margin:24px 0;transform:rotate(-3deg)}.mobile-notice{display:none}.facts-strip{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:32px 0 55px;font:11px ui-monospace,monospace;letter-spacing:.5px}.facts-strip span{display:flex;align-items:center;gap:9px}.facts-strip b{color:var(--ink);font-size:16px}.editorial{display:grid;grid-template-columns:180px minmax(0,1fr);gap:65px}.contents{position:sticky;top:25px;align-self:start}.contents nav{display:flex;align-items:stretch;flex-direction:column;gap:14px;margin-top:22px;border-left:1px solid var(--line);padding-left:17px}.contents nav a{font-size:12px;color:var(--muted)}.contents nav a:hover{color:var(--ink)}.article section,.faq-section,.guides-section{margin-bottom:60px}.section-index{display:block;font:11px ui-monospace,monospace;letter-spacing:2px;color:var(--muted);margin-bottom:12px}.article p,.prose p{color:#62687b;font-size:14px;line-height:1.85}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px;margin-top:28px}.feature-grid h3{font-size:18px}.feature-grid p{font-size:13px;margin-bottom:0}.feature-wide{grid-column:1/-1;border-left:3px solid var(--ink);padding-left:18px}.steps{counter-reset:steps;list-style:none;padding:0;margin:25px 0;display:grid;gap:18px}.steps li{counter-increment:steps;position:relative;padding-left:44px;font-size:14px;color:var(--muted)}.steps li:before{content:"0" counter(steps);position:absolute;left:0;top:0;font:20px ui-monospace,monospace;color:var(--ink)}.steps strong{display:block;color:var(--dark);margin-bottom:3px}.table-wrap{overflow:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{background:#efefe5;font:11px ui-monospace,monospace;letter-spacing:1px;text-transform:uppercase}td,th{padding:12px 18px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td:first-child{width:48%;color:var(--muted)}.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mode-card{border:1px solid var(--line);padding:23px}.mode-card:first-child{background:#edf0e8}.mode-card .eyebrow{margin-bottom:13px}.mode-card p{font-size:13px}.map-card{border:1px solid var(--line);background:var(--white);text-decoration:none;color:var(--dark);display:block}.map-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line)}.map-card div{padding:20px}.map-card h3{font-size:21px}.map-card p{font-size:12px;margin:0}.map-card .eyebrow{font-size:9px;margin-bottom:8px}.weapon-list{display:flex;gap:10px;flex-wrap:wrap;margin:23px 0}.weapon-list span{border:1px solid var(--line);background:var(--white);padding:9px 16px;font-size:12px}.faq-section>p{font-size:14px;color:var(--muted)}.faq{margin:24px 0}.faq dt{font-weight:700;font-size:15px;padding:20px 0 8px;border-top:1px solid var(--line)}.faq dt:before{content:"↗";color:var(--ink);margin-right:12px}.faq dd{margin:0 0 18px 28px;font-size:13px;line-height:1.85;color:var(--muted)}.guide-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.guide-heading a{font-size:12px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.guide-card{display:block;padding:23px 20px;background:#f0f0e6;border:1px solid var(--line);text-decoration:none;color:var(--dark);transition:transform .15s,box-shadow .15s}.guide-card:hover{transform:translateY(-3px);box-shadow:3px 3px 0 #dce0ed;color:var(--ink)}.guide-card .eyebrow{font-size:9px}.guide-card h3{font-size:19px;line-height:1.3;margin-top:16px}.guide-card p{font-size:12px;color:var(--muted);margin-bottom:24px}.guide-card .arrow{font-size:21px;color:var(--ink)}.site-footer{margin-top:30px;border-top:1px solid var(--line);padding:32px 0 25px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:40px}.site-footer p{color:var(--muted);font-size:11px;max-width:550px;margin:18px 0}.site-footer nav{gap:24px}.footer-bottom{display:flex;justify-content:space-between;font:10px ui-monospace,monospace;letter-spacing:1px;color:var(--muted);margin-top:24px}.subpage{max-width:820px;margin:55px auto 70px}.subpage h1{font-size:48px;line-height:1.12;margin:24px 0}.breadcrumbs{display:flex;gap:10px;font-size:11px;color:var(--muted)}.subpage .lead{font-size:18px;color:var(--muted);line-height:1.8}.subpage h2{margin-top:42px;font-size:28px}.subpage h3{margin-top:28px}.subpage .guide-grid{grid-template-columns:1fr 1fr}.subpage .meta{font:11px ui-monospace,monospace;color:var(--muted);margin:22px 0 35px}.subpage .callout{border-left:3px solid var(--ink);background:#eeefe6;padding:24px;margin:30px 0}.subpage li{color:var(--muted);font-size:14px}.ad-slot:empty{display:none}.js-only[hidden]{display:none}.game-box:fullscreen{width:100%;height:100%;display:flex;flex-direction:column;background:var(--paper)}.game-box:fullscreen .stage-wrap{flex:1;aspect-ratio:auto}.game-box:fullscreen .game-bottom{flex-shrink:0}#game-status:empty{display:none}#game-status{font-size:12px;margin:10px 0;color:var(--muted)}@media(min-width:900px) and (max-height:800px){.intro{padding:19px 0}.intro h1{font-size:48px}.game-box{max-width:100%}}@media(max-width:1050px){.editorial{gap:35px}.game-layout{grid-template-columns:minmax(0,1fr) 200px}.quick-card{padding:16px}}@media(max-width:899px){.stage-wrap,.game-toolbar,.game-bottom{display:none}.game-layout{display:block}.game-side{display:none}.mobile-notice{display:block;padding:30px;background:repeating-linear-gradient(transparent 0 31px,#dce0e8 31px 32px);font-size:14px}.mobile-notice strong{display:block;font-size:24px;color:var(--ink);line-height:1.3;margin-bottom:16px}.mobile-notice p{margin:0;color:var(--muted)}.mobile-notice .eyebrow{margin-bottom:15px;color:var(--ink)}.title-note{display:none}.editorial{display:block}.contents{display:none}.intro .lede{max-width:none}.facts-strip{flex-wrap:wrap;gap:18px;margin-bottom:40px}.facts-strip span{width:45%}.footer-top{flex-direction:column;gap:12px}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}.site-header{height:auto;padding:18px 0}.header-inner{flex-wrap:wrap;gap:18px}.brand{font-size:20px}.header-inner nav{width:100%;gap:0;justify-content:space-between}.header-inner nav a{font-size:11px}.nav-play{padding:4px 9px}.intro{padding:28px 0 24px}h1{font-size:45px;letter-spacing:-2px}h2{font-size:28px}.intro .lede{font-size:13px}.mobile-notice{padding:25px}.two-cards,.feature-grid,.guide-grid,.subpage .guide-grid{grid-template-columns:1fr}.feature-wide{grid-column:auto}.article section,.faq-section,.guides-section{margin-bottom:44px}.guide-heading{align-items:start}.guide-heading h2{max-width:230px}.guide-card h3{margin-top:12px}.facts-strip{font-size:10px}.subpage{margin-top:30px}.subpage h1{font-size:40px;letter-spacing:-1.5px}.footer-bottom{flex-direction:column;gap:14px}.site-footer nav{gap:20px}.faq dt{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.guide-card{transition:none}}
.game-box:fullscreen .stage-wrap{max-height:none;min-height:0;width:100%;margin:0}.game-box:fullscreen .stage-wrap iframe{aspect-ratio:auto}
.subpage .guide-card h2{font-size:19px;line-height:1.3;letter-spacing:-.5px;margin-top:16px;margin-bottom:10px}

/* Keep the external game's fixed-size menu inside a proportional viewport. */
.stage-wrap{overflow:hidden}
.stage-wrap iframe[data-fitted]{position:absolute;left:50%;top:50%;width:1600px;height:1000px;max-width:none;transform:translate(-50%,-50%) scale(var(--game-scale));transform-origin:center}
.game-box:fullscreen .stage-wrap iframe[data-fitted]{width:1600px;height:1000px}
/* Comfortable reading sizes for the game guide and supporting UI. */
.intro .lede{font-size:17px;line-height:1.8;max-width:750px}
.article p,.prose p,.faq-section>p,.steps li,.subpage li{font-size:17px;line-height:1.85}
.feature-grid p,.mode-card p,.map-card p,.guide-card p,.faq dd{font-size:16px;line-height:1.8}
.faq dt{font-size:18px;line-height:1.5}
table{font-size:16px}td,th{padding:14px 18px}kbd{font-size:13px}
.key-row{font-size:15px}.online-card p{font-size:15px;line-height:1.75}
.stage-note,#game-status,.game-bottom,.game-bottom button{font-size:14px;line-height:1.7}
.game-bottom{flex-wrap:wrap;padding:10px 14px}.game-bottom button{padding:4px 8px}
.small-link,.button,.guide-heading a,.contents nav a,nav a{font-size:14px}
.breadcrumbs,.site-footer p{font-size:13px}.facts-strip{font-size:12px}
.mobile-notice p{font-size:16px;line-height:1.8}
@media(max-width:600px){.intro .lede{font-size:16px}.header-inner nav a{font-size:12px}.header-inner nav{flex-wrap:wrap;gap:12px}.facts-strip{font-size:11px}.faq dt{font-size:17px}.site-footer nav{flex-wrap:wrap}.game-toolbar{font-size:10px}}
.mobile-notice .eyebrow{font-size:12px;line-height:1.6}
/* A compact heading keeps the first screen focused on the game. */
.home-main{width:min(1440px,calc(100% - 64px))}
body:has(.home-main) .site-header{height:64px}
body:has(.home-main) .header-inner{width:min(1440px,calc(100% - 64px))}
.home-main .intro{padding:22px 0 18px;display:block}
.home-main .intro>div{display:flex;align-items:center;justify-content:space-between;gap:24px}
.home-main h1{font-size:36px;letter-spacing:-1.5px;margin:0;flex-shrink:0}
.home-main .intro .lede{font-size:16px;line-height:1.65;margin:0;max-width:650px}
.home-main .game-layout{display:block}
.home-main .game-box{box-shadow:3px 3px 0 #dfe2ef}
.home-main .game-bottom{min-height:44px;padding:6px 16px}
.home-main .stage-note{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin:16px 0 0}
.home-main .editorial{max-width:1160px;margin:64px auto 0;padding-top:40px;border-top:1px solid var(--line)}
@media(max-width:1100px){.home-main .intro>div{display:block}.home-main .intro .lede{margin-top:6px}.home-main .intro{padding:16px 0}}
@media(max-width:600px){.home-main,body:has(.home-main) .header-inner{width:calc(100% - 36px)}body:has(.home-main) .site-header{height:auto}.home-main h1{font-size:34px}.home-main .intro{padding:24px 0 18px}.home-main .intro .lede{font-size:16px}.home-main .stage-note{flex-direction:column;gap:10px}.home-main .editorial{margin-top:36px;padding-top:28px}}

/* Margin notes add character without taking the game's wide-screen space. */
@media(min-width:1200px){
  .home-main,body:has(.home-main) .header-inner{width:min(1700px,calc(100% - 64px))}
  .home-main .game-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:30px;align-items:start}
  .home-main .game-layout>div{min-width:0}
  .home-main .game-side{display:block;padding-top:20px}
  .home-main .game-side .title-note{display:block;font-size:18px;line-height:1.55;margin:0 0 42px 4px;transform:rotate(-5deg)}
  .home-main .quick-card{padding:22px 18px}
  .home-main .key-row{margin:13px 0}
}
@media(min-width:900px) and (max-width:1199px){
  .home-main .game-side{display:flex;align-items:center;justify-content:center;gap:48px;margin-top:32px}
  .home-main .game-side .title-note{display:block;font-size:18px}
  .home-main .quick-card{width:310px;padding:20px 24px}
}

/* Paper, marker and pencil finishes; keep existing layout and sizing intact. */
:root{
  color-scheme:light;
  --paper:#f6f3e9;
  --ink:#292d2a;
  --dark:#292d2a;
  --muted:#686e60;
  --line:#d8d8cb;
  --yellow:#f9d55b;
  --white:#fcfbf5;
  --blue:#293db2;
  --note:#efeccd;
  --shadow:#2a2f29;
}
body{
  background-color:var(--paper);
  background-image:radial-gradient(#93958128 .75px,transparent .75px);
  background-size:8px 8px;
}
a{color:var(--blue)}
a:hover{color:#1d2e8e}
:focus-visible{outline-color:var(--blue)}
.brand,.header-inner nav a,.site-footer nav a{color:var(--ink)}
.brand-icon,.nav-play{border-radius:4px 3px 5px 3px;box-shadow:2px 2px 0 var(--shadow)}
.nav-play{background:var(--white)}
.nav-play:hover{background:var(--yellow);color:var(--ink)}
.home-main h1{position:relative;isolation:isolate}
.home-main h1::after{
  content:"";
  position:absolute;
  left:0;
  bottom:.01em;
  width:7.2em;
  max-width:100%;
  height:.27em;
  background:var(--yellow);
  border-radius:50% 20% 45% 30%;
  transform:rotate(-1.5deg);
  z-index:-1;
  pointer-events:none;
}
.game-box,.home-main .game-box{
  border-color:var(--ink);
  border-radius:9px 8px 10px 7px;
  background:var(--white);
  box-shadow:5px 5px 0 var(--shadow);
}
.stage-wrap{background:#f6f3e6;border-radius:7px 6px 0 0}
.game-toolbar,.game-bottom{background:#fbfaf4}
.game-bottom{border-radius:0 0 8px 5px}
.game-toolbar span::before{background:var(--ink)}
.game-bottom button{color:var(--ink);border-radius:4px}
.game-bottom button:hover{background:#eeecdf}
.game-bottom #fullscreen{
  background:var(--yellow);
  box-shadow:inset 0 0 0 1px var(--ink),2px 2px 0 var(--shadow);
}
.game-bottom #fullscreen:hover{background:#ffe47f}
.title-note{color:#62674f}
.title-note span{
  border-bottom-color:transparent;
  background:linear-gradient(transparent 72%,var(--yellow) 72% 94%,transparent 94%);
}
.quick-card{
  position:relative;
  background:var(--note);
  border-color:#d3d0b3;
  border-radius:2px 3px 2px 1px;
  box-shadow:2px 3px 0 #373c321a,5px 8px 14px -10px #373c3238;
}
.quick-card::before{
  content:"";
  position:absolute;
  width:74px;
  height:24px;
  left:calc(50% - 37px);
  top:-13px;
  background:#dddcc3b0;
  box-shadow:inset 0 0 0 1px #c5c3a52e;
  transform:rotate(-7deg);
  pointer-events:none;
}
.game-side .eyebrow{color:#63684f}
.key-row span{color:#62674f}
kbd{background:#fdfbf4;border-color:#b5b8ac;color:#4b5248;box-shadow:0 1px 0 #373c3210}
.small-link{color:var(--ink);text-decoration-color:#999d85}
.small-link:hover{color:var(--blue);text-decoration-color:var(--blue)}
.article p,.prose p{color:var(--muted)}
.feature-wide{border-left-color:#baaa55}
.table-wrap{background:#fcfbf5b3;border-radius:4px;box-shadow:2px 2px 0 #373c3210}
th{background:#eeecdf}
.mode-card,.map-card,.guide-card{
  border-color:#c9ccbd;
  border-radius:5px 4px 6px 3px;
  background:var(--white);
  box-shadow:3px 3px 0 #373c321a;
}
.mode-card:first-child{background:#eeeddb}
.map-card{overflow:hidden}
.guide-card{background:#f1efdf}
.guide-card:hover{border-color:var(--ink);box-shadow:4px 4px 0 var(--shadow);color:var(--ink)}
.weapon-list span{border-radius:3px;box-shadow:2px 2px 0 #373c3210}
.button{background:var(--yellow);color:var(--ink);border-radius:4px;box-shadow:3px 3px 0 var(--shadow)}
.button:hover{background:#ffe47f;color:var(--ink)}
.button-outline{background:var(--white)}
.button-outline:hover{background:#eeecdf;color:var(--ink)}
.subpage .callout{background:#eeeddb;border-left-color:#baaa55}
.mobile-notice{
  background-color:var(--white);
  background-image:repeating-linear-gradient(transparent 0 31px,#d8d8cb80 31px 32px);
  border-radius:7px 6px 8px 5px;
}

/* Native disclosure controls keep answers accessible without JavaScript. */
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item>summary{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  padding:20px 0;
  font-size:18px;
  font-weight:700;
  line-height:1.5;
  cursor:pointer;
  list-style:none;
  -webkit-tap-highlight-color:transparent;
}
.faq-item>summary::-webkit-details-marker{display:none}
.faq-item>summary::after{
  content:"+";
  flex-shrink:0;
  color:var(--ink);
  font:24px/1 ui-monospace,monospace;
}
.faq-item[open]>summary::after{content:"−"}
.faq-item>summary:hover{color:var(--blue)}
.faq-item>summary:focus-visible{outline-offset:2px;border-radius:3px}
.faq-answer{margin:0 28px 20px 0;font-size:16px;line-height:1.8;color:var(--muted)}
@media(max-width:600px){.faq-item>summary{font-size:17px}}
