:root{--paper:#f5f1e6;--ink:#26382c;--orange:#f2633b;--yellow:#e7ec91;--line:#d2d6c5;--muted:#64715e;--green:#dce8ba}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 'Helvetica Neue',Arial,sans-serif}a{color:inherit}button,input{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.045em;line-height:1.03}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #305fc2;outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:16px;z-index:99;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}.g-nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--ink);gap:25px}.g-brand{font-size:36px;letter-spacing:-2.8px;font-weight:900;text-decoration:none;line-height:1}.g-brand span{display:inline-block;color:var(--orange);font-size:31px;padding-left:4px}.g-nav nav{display:flex;gap:32px;font-size:13px;font-weight:600}.g-nav nav a{text-decoration:none}.g-nav nav a:hover,.g-nav nav [aria-current]{text-decoration:underline;text-underline-offset:6px}.edition,.kicker{font:10px/1.4 monospace;letter-spacing:.1em}.edition{border:1px solid var(--line);border-radius:30px;padding:8px 12px}.game-main{max-width:1440px;margin:auto;padding:36px 4vw 50px}.game-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.game-heading h1{font-size:52px;margin-top:8px}.game-heading h1>span{font:18px monospace;vertical-align:top;margin-left:5px}.heading-tools{display:flex;gap:10px}.quiet{background:transparent;border:1px solid var(--line);padding:10px 16px;border-radius:30px;font-size:12px;min-height:44px}.quiet:hover{border-color:var(--ink)}.quiet span{margin-left:8px}.game-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr);gap:26px;align-items:start}.board-panel{border:1px solid var(--ink);border-radius:16px;overflow:hidden;background:#dbe9b9;box-shadow:0 5px 0 #26382c0b}.board-top{display:flex;justify-content:space-between;gap:14px;padding:18px 22px;background:#e8eccc;border-bottom:1px solid #26382c30;font:10px monospace;letter-spacing:.06em}.canvas-wrap{position:relative}canvas{display:block;width:100%;height:auto}.board-bottom{display:flex;justify-content:space-between;gap:10px;padding:16px 20px;background:#e8eccc;border-top:1px solid #26382c30;font-size:11px;align-items:center}.legend-snack{color:#b3692b;padding-right:4px}.legend-nest{color:#977645;padding-right:4px}.text-link{border:0;border-bottom:1px solid transparent;padding:5px 0;min-height:32px;background:none;font-size:11px;text-align:left}.text-link:hover{border-bottom-color:currentColor}.board-toast{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);padding:12px 24px;border:1px solid var(--ink);border-radius:40px;background:var(--paper);font-weight:700;white-space:nowrap;box-shadow:0 4px 0 #26382c18}.control-panel{background:#fcf9f0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.mission-info{padding:24px 25px 18px;border-bottom:1px solid var(--line)}.mission-info h2{font-size:29px;margin:10px 0 12px}.mission-info>p{font-size:13px;color:var(--muted);max-width:330px}.mission-stats{display:flex;justify-content:space-between;gap:10px;font:10px monospace;margin-top:19px}.planner{padding:20px 25px}.planner-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.planner-label h3{font-size:18px}.planner-label span{font:10px monospace}.micro{font-size:11px;color:var(--muted)}.plan-slots{min-height:80px;display:flex;align-content:flex-start;flex-wrap:wrap;gap:6px;background:#eeeee3;border:1px dashed #b7bfa9;border-radius:9px;padding:10px;margin-top:12px}.plan-empty{font:12px/1.6 monospace;color:#738069;padding:6px;max-width:240px}.plan-step{width:36px;height:37px;border:1px solid #bdc5ad;border-radius:6px;background:#fffdf4;font-size:20px;position:relative}.plan-step small{position:absolute;font:8px monospace;top:1px;left:3px;color:var(--muted)}.plan-step.active{background:var(--orange);color:var(--paper);border-color:var(--ink);box-shadow:0 2px 0 var(--ink)}.plan-step.done{background:var(--green)}.plan-tools{display:flex;justify-content:space-between;margin:4px 0 12px}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.action-button{background:#fffdf7;border:1px solid #cbd2be;border-radius:8px;min-height:65px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;font-size:10px;box-shadow:0 3px 0 #e1e3d7}.action-button b{font-size:24px;line-height:1;font-weight:500}.action-button:hover{background:#e8edce;transform:translateY(-1px)}.keyboard-note{font:9px/1.5 monospace;color:var(--muted);margin:14px 0}.run-row{display:flex;gap:8px}.g-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:50px;border:1px solid var(--ink);border-radius:7px;padding:12px 20px;text-decoration:none;font-size:13px;font-weight:700;box-shadow:0 3px 0 var(--ink);transition:transform .15s}.g-button:hover{transform:translateY(-2px)}.primary{background:var(--orange);color:var(--ink)}.run-row .g-button{flex:1}.reset-button{font-size:28px;border:1px solid var(--line);border-radius:7px;background:transparent;width:50px}.playback-tools{display:flex;justify-content:space-between;margin-top:10px;gap:8px}.game-status{font-size:12px;line-height:1.6;min-height:40px;color:var(--muted);margin-top:10px}.hint-box{font-size:12px;padding:14px;background:#f0ebc5;border-radius:7px;margin-top:10px}.result-card{margin:0 25px 20px;padding:20px;background:#e4ecc4;border:1px solid #b7c699;border-radius:9px}.result-stars{color:#a14b23;font-size:25px;letter-spacing:5px}.result-card h3{font-size:22px;margin-top:8px}.result-card p{font-size:12px;margin:10px 0 15px}.result-card .g-button{width:100%}.share-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 25px;border-top:1px solid var(--line)}#shareFallback{padding:15px;font-size:12px}#shareUrl{width:100%;margin-top:8px;padding:10px;border:1px solid var(--line)}#textMap{font:12px/1.6 monospace;white-space:pre-wrap;padding:20px;margin:0;border-top:1px solid var(--line)}.mission-section{margin-top:36px}.mission-section-head{display:flex;align-items:center;gap:20px;margin-bottom:18px}.mission-section-head h2{font-size:25px}.mission-section-head p{font-size:12px;color:var(--muted)}.daily-button{margin-left:auto;background:var(--yellow);border:1px solid var(--ink);border-radius:25px;min-height:42px;padding:8px 16px;font-size:12px}.daily-button.active{background:var(--ink);color:var(--paper)}.level-list{display:grid;grid-template-columns:repeat(8,1fr);gap:9px}.level-button{text-align:left;border:1px solid #cbd2bf;background:transparent;border-radius:8px;padding:13px 12px;min-height:101px;display:flex;flex-direction:column;justify-content:space-between}.level-button .level-number{font:10px monospace;color:var(--muted)}.level-button strong{font-size:11px;line-height:1.3;margin:8px 0;min-height:28px}.level-button .level-stars{color:#885325;font-size:11px;letter-spacing:2px}.level-button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.level-button.active .level-number,.level-button.active .level-stars{color:#dce8ba}.level-button:hover{border-color:var(--ink)}.save-note{font:10px/1.6 monospace;color:var(--muted);margin-top:18px}.g-footer{border-top:1px solid var(--ink);padding:27px 4vw;display:flex;justify-content:space-between;gap:22px;align-items:center}.g-footer>span{font-size:12px}.g-footer>div{display:flex;gap:25px;font-size:11px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:15px;padding:35px;max-width:560px;width:calc(100% - 32px);max-height:90dvh}dialog::backdrop{background:#26382c99;backdrop-filter:blur(4px)}dialog h2{font-size:36px;margin-top:16px}.close-dialog{position:absolute;right:15px;top:15px;border:0;background:none;font-size:28px;width:40px;height:40px}.help-list{padding-left:20px;font-size:13px;line-height:1.7}.help-list li{margin:15px 0}.help-list strong{display:block}
/* Game-first brand home. */
.home-hero{padding:55px 4vw 65px;max-width:1540px;margin:auto;display:grid;grid-template-columns:1fr 1.05fr;gap:55px;align-items:center}.home-hero h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(65px,8vw,125px);font-weight:900;line-height:.96;letter-spacing:-.025em;margin:24px 0}.home-hero h1 em{font-family:Georgia,serif;font-weight:400;text-transform:lowercase}.home-hero p.hero-copy{max-width:390px;font-size:16px;line-height:1.7;margin-bottom:26px}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.hero-actions .g-button{padding:16px 25px;min-width:220px}.hero-fine{font:10px monospace;letter-spacing:.03em;color:var(--muted);margin-top:22px}.hero-board{position:relative;transform:rotate(2deg)}.hero-board .board-panel{box-shadow:9px 10px 0 #26382c15;border-radius:14px}.hero-board .board-top{background:var(--orange)}.hero-sticker{position:absolute;bottom:4%;left:-5%;background:var(--yellow);border:1px solid var(--ink);width:105px;height:105px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-15deg);box-shadow:3px 3px 0 var(--ink);font:10px/1.5 monospace;text-align:center}.hero-sticker b{font-size:27px;font-family:Georgia,serif}.marquee{display:flex;justify-content:space-around;gap:30px;overflow:hidden;padding:17px 25px;background:var(--orange);border-block:1px solid var(--ink);font:20px Impact,'Arial Narrow',sans-serif;letter-spacing:.04em;white-space:nowrap}.marquee b{font-family:Arial}.home-section{padding:80px 4vw;max-width:1440px;margin:auto}.home-section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.home-section-heading h2{font-size:48px}.home-section-heading p{font-size:13px;max-width:300px;color:var(--muted)}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.how-card{border-top:1px solid var(--ink);padding-top:24px}.how-card .number{font:12px monospace}.how-illustration{height:135px;display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0;border-radius:10px;background:#e4e8d5}.how-illustration span{font-size:40px;background:#fffaf0;border:1px solid var(--ink);border-radius:9px;width:63px;text-align:center;box-shadow:0 4px 0 var(--ink)}.how-card:nth-child(2) .how-illustration{background:#d5e5b5}.how-card:nth-child(3) .how-illustration{background:#ead8bc}.how-card h3{font-size:23px;margin-bottom:12px}.how-card p{font-size:13px;line-height:1.7;max-width:350px;color:var(--muted)}.flock-block{background:#dce8ba;border-block:1px solid var(--ink)}.flock-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.flock-layout h2{font-size:60px;margin:20px 0}.flock-layout p{max-width:350px;font-size:14px;line-height:1.7;margin-bottom:20px}.portrait-stack{display:flex;align-items:center;justify-content:center;padding:30px 0}.portrait-stack figure{width:33%;margin:0 -6px;background:var(--paper);border:1px solid var(--ink);padding:8px;transform:rotate(-9deg);box-shadow:4px 5px 0 #26382c20}.portrait-stack figure:nth-child(2){transform:rotate(4deg) translateY(-20px);z-index:1}.portrait-stack figure:nth-child(3){transform:rotate(12deg)}.portrait-stack img{width:100%;height:auto;display:block}.portrait-stack figcaption{font:8px monospace;padding:10px 0 3px;text-align:center}.home-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.home-faq h2{font-size:48px;margin-top:20px}.home-faq details{border-bottom:1px solid var(--line)}.home-faq summary{padding:22px 0;cursor:pointer;font-size:16px}.home-faq details p{padding-bottom:22px;font-size:13px;line-height:1.8;color:var(--muted)}.home-last{padding:65px 4vw;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:30px}.home-last h2{font-size:clamp(35px,5vw,65px)}.home-last .g-button{border-color:var(--paper);box-shadow:none}.home-last .kicker{margin-bottom:18px}
@media(min-width:1450px){.game-main{padding-inline:45px}}
@media(max-width:1100px){.game-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);gap:18px}.level-list{grid-template-columns:repeat(4,1fr)}.mission-info,.planner{padding:20px}.edition{display:none}.home-hero{gap:30px}.home-hero h1{font-size:8vw}.home-section-heading h2{font-size:40px}.flock-layout h2{font-size:48px}.share-row{flex-wrap:wrap;padding-inline:20px}.board-bottom{flex-wrap:wrap}}
@media(max-width:760px){.g-nav{padding:0 20px;min-height:72px;gap:14px}.g-brand{font-size:30px}.g-brand span{font-size:25px}.g-nav nav{gap:17px;font-size:11px}.game-main{padding:24px 16px 35px}.game-heading{align-items:start;margin-bottom:20px}.game-heading h1{font-size:36px}.game-heading .kicker{font-size:8px}.heading-tools{flex-direction:column;gap:5px}.quiet{font-size:10px;min-height:34px;padding:6px 10px}.game-layout{grid-template-columns:1fr}.board-top{padding:14px 16px;font-size:9px}.board-bottom{padding:10px 14px;font-size:10px}.mission-info h2{font-size:27px}.control-panel{display:block}.action-button{min-height:61px}.keyboard-note{display:none}.run-row{margin-top:18px}.plan-slots{min-height:63px}.mission-section-head{flex-wrap:wrap;gap:10px}.mission-section-head h2{font-size:25px}.mission-section-head p{order:3;width:100%}.daily-button{font-size:11px}.level-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.level-button{padding:10px 8px;min-height:110px}.level-button strong{font-size:10px}.g-footer{flex-wrap:wrap;padding:25px 20px}.g-footer>span{order:3;width:100%;font-size:11px}.g-footer>div{margin-left:auto}.home-hero{grid-template-columns:1fr;padding:35px 24px 50px;gap:35px}.home-hero h1{font-size:clamp(70px,15vw,110px);margin:18px 0}.home-hero p.hero-copy{font-size:14px;max-width:350px}.hero-fine{font-size:9px}.hero-board{max-width:550px;width:94%;margin:auto}.hero-sticker{width:80px;height:80px;font-size:8px}.hero-sticker b{font-size:23px}.home-section{padding:50px 24px}.home-section-heading{display:block;margin-bottom:25px}.home-section-heading h2{font-size:37px}.home-section-heading p{margin-top:20px}.how-grid{grid-template-columns:1fr;gap:30px}.how-card{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.how-card .number{grid-column:1/-1}.how-illustration{grid-row:2/4;margin-top:15px}.how-illustration span{font-size:27px;width:40px}.how-card h3{margin-top:22px;font-size:21px}.how-card p{font-size:12px}.flock-layout,.home-faq{grid-template-columns:1fr;gap:25px}.flock-layout h2{font-size:47px}.portrait-stack{padding:25px 0}.home-faq h2{font-size:40px}.home-last{display:block;padding:45px 24px}.home-last .g-button{margin-top:25px}.marquee{justify-content:flex-start;font-size:17px;gap:22px}.board-toast{font-size:12px;padding:8px 16px;bottom:12px}dialog{padding:28px 22px}dialog h2{font-size:30px}}
@media(max-width:360px){.g-nav{padding-inline:16px}.g-nav nav{gap:12px;font-size:10px}.game-heading h1{font-size:31px}.mission-stats{font-size:9px}.level-list{grid-template-columns:repeat(2,1fr)}.level-button{min-height:86px}.how-card{display:block}.home-hero{padding-inline:20px}.home-hero h1{font-size:65px}.hero-actions{gap:15px}.home-section{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(min-width:761px){.game-layout>.board-panel{position:sticky;top:18px}}
@media(max-width:760px){.game-layout>.board-panel{position:sticky;top:0;z-index:8}.play-page .canvas-wrap canvas{max-height:36dvh;object-fit:contain}.play-page .board-top{padding-block:9px}.play-page .board-bottom{padding-block:5px}}
