:root{color:#303e38;font-synthesis:none;--teal:#247e7b;--orange:#d48043;--ink:#303e38;background:#f4f0e6;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}body{background-image:radial-gradient(#b8b7aa4d .65px,#0000 .65px);background-size:9px 9px;min-width:280px;margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:4px;outline:3px solid #247e7b}button:disabled{cursor:default;opacity:.4}button:not(:disabled):active{transform:translateY(2px)}button,canvas{-webkit-user-select:none;user-select:none}[hidden]{display:none!important}.app{width:min(100% - 64px,1020px);margin:0 auto}.masthead{justify-content:space-between;align-items:center;padding:26px 0 21px;display:flex}.eyebrow{letter-spacing:.16em;color:#768278;margin:0 0 6px;font-size:10px;font-weight:700}.eyebrow span{color:#91988c;padding-left:14px}h1{letter-spacing:.045em;margin:0;font-size:31px;font-weight:800;line-height:1.2}.title-dot{color:var(--orange);padding-left:2px}.help-button{background:#faf8ef;border:1px solid #c9cdc1;border-radius:24px;align-items:center;gap:7px;min-height:44px;padding:8px 15px;font-size:12px;display:flex}.help-button>span:first-child{border:1px solid #8a978b;border-radius:50%;width:18px;height:18px;font-size:12px}.game-shell{grid-template-columns:minmax(0,560px) minmax(255px,300px);justify-content:center;align-items:center;gap:clamp(28px,5vw,70px);display:grid}.stage{justify-self:center;width:min(100%,100svh - 232px);min-width:0}.stage-head{justify-content:space-between;align-items:baseline;height:34px;display:flex}.board-label{letter-spacing:.06em;color:#778174;align-items:center;gap:8px;font-size:10px;display:flex}.board-label b{color:var(--ink);letter-spacing:.08em;font-size:14px}.board-label i{background:#b4baab;border-radius:50%;width:4px;height:4px;margin-left:4px}.move-count{color:#84907f;font-size:11px}.move-count b{font-variant-numeric:tabular-nums;color:var(--ink);margin-right:3px;font-size:19px}.board-wrap{background:#dedfd1;border:1px solid #bec9b8;border-radius:17px;padding:9px;box-shadow:0 5px #c6cdbb,0 14px 30px #687c6010}canvas{aspect-ratio:1;border-radius:9px;width:100%;display:block}.board-message{text-align:center;color:#6f7d6f;min-height:26px;margin:16px 0 0;font-size:12px;line-height:1.7}.board-message.warning{color:#986637}.board-message.hint{color:#246d68;font-weight:700}.console{gap:11px;min-width:0;display:grid}.mission h2{letter-spacing:.055em;margin:8px 0;font-size:24px;line-height:1.4}.mission>p:last-child{color:#7a8677;margin:0;font-size:12px;line-height:1.7}.unit-key{gap:8px;display:grid}.unit-card{background:#fdfcf6;border:1px solid #d6dccf;border-radius:11px;align-items:center;gap:11px;padding:8px 12px;display:flex}.unit-card b{font-size:12px;font-weight:700;display:block}.unit-card small{color:#889185;margin-top:1px;font-size:10px;display:block}.unit-card>strong{color:var(--teal);margin-left:auto;font-size:23px}.unit-card>strong span{margin-left:3px;font-size:10px;font-weight:500}.unit-card.echo>strong{color:var(--orange)}.mini-robot{background:var(--teal);color:#fff9e5;border-radius:9px 9px 7px 7px;place-items:center;width:30px;height:30px;font-size:17px;font-weight:800;display:grid;box-shadow:0 3px #b9d7c8}.echo .mini-robot{background:var(--orange);border-radius:11px 7px 7px;transform:rotate(6deg);box-shadow:0 3px #e7cbaa}.controls{grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,54px);justify-content:center;gap:5px;margin:0 auto;display:grid}.dir{background:#fdfbf3;border:1px solid #c1cdba;border-radius:10px;font-family:Arial,sans-serif;font-size:25px;line-height:1;box-shadow:0 3px #d1d7c8}.dir:hover:not(:disabled){background:#e8efdf;border-color:#9db39a}.dir:disabled{opacity:.55}.dir.hinted{background:#d6e9ce;border:2px solid #367b65;box-shadow:0 3px #aac5a1,0 0 0 3px #c4d9b955}.up{grid-area:1/2}.left{grid-area:2/1}.right{grid-area:2/3}.down{grid-area:3/2}.control-center{letter-spacing:.1em;color:#8b9785;grid-area:2/2;place-items:center;font-size:11px;display:grid}.actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.actions button{background:#f8f6ed;border:1px solid #ccd3c3;border-radius:8px;min-height:42px;font-size:12px}.actions button span{vertical-align:-1px;padding-right:3px;font-size:19px}.actions #hint{color:#267873;border-color:#aabfaa;font-weight:700}.actions button.hinted{background:#d6e9ce;border:2px solid #367b65}.new-board{color:#788574;background:0 0;border:0;border-bottom:1px solid #d9dfd0;border-radius:4px;min-height:38px;padding:4px 10px;font-size:12px}.new-board span{padding-left:8px}.new-board.success{color:#fffdf0;background:#267873;border-color:#1b625e;border-radius:10px;min-height:46px;font-weight:700}.keyboard-note{text-align:center;color:#939b8d;margin:-6px 0 0;font-size:9px}.result{background:#e0eddf;border:1px solid #b6d2b5;border-radius:12px;align-items:center;gap:12px;padding:15px;display:flex}.result-mark{color:#2b8274;border:1px solid #70a995;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.result h2{letter-spacing:.03em;margin:0 0 4px;font-size:19px}.result p{color:#6a856b;margin:0;font-size:11px}.console.won .mission{display:none}footer{letter-spacing:.07em;color:#9da592;justify-content:space-between;padding:15px 0 18px;font-size:9px;display:flex}dialog{width:min(480px,100% - 32px);color:var(--ink);background:#fbf8ef;border:1px solid #bec9b8;border-radius:20px;max-height:calc(100svh - 40px);padding:28px;box-shadow:0 30px 100px #25362944}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#283b3570}.dialog-head{justify-content:space-between;align-items:center;display:flex}.close-button{background:0 0;border:1px solid #d6dbcf;border-radius:50%;width:44px;height:44px;font-size:25px}dialog h2{margin:15px 0 20px;font-size:21px;line-height:1.55}dialog ol{margin:0;padding-left:21px;font-size:13px;line-height:1.85}dialog li{margin:12px 0;padding-left:4px}.help-note{background:#eef0e3;border-radius:8px;padding:13px;font-size:11px;line-height:1.8}.dialog-return{color:#fff;background:#267873;border:0;border-radius:8px;width:100%;min-height:46px;margin-top:7px;font-weight:700}@media (max-width:700px){.app{width:min(100% - 32px,440px)}.masthead{padding:19px 0 17px}h1{font-size:25px}.eyebrow{margin-bottom:5px;font-size:8px}.help-button{min-width:44px;padding:7px 10px;font-size:10px}.help-button>span:first-child{display:none}.game-shell{display:block}.stage{width:100%}.stage-head{height:29px}.board-wrap{border-radius:13px;padding:7px}.board-message{min-height:22px;margin-top:12px;margin-bottom:13px;font-size:11px}.console{grid-template-columns:minmax(0,1fr) 157px;align-items:center;gap:10px}.mission{display:none}.unit-key{grid-area:1/1;gap:8px}.controls{grid-area:1/2;grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,47px);gap:4px}.unit-card{gap:7px;padding:9px 8px}.mini-robot{flex-shrink:0;width:25px;height:27px;font-size:15px}.unit-card b{font-size:11px}.unit-card small{font-size:9px}.unit-card>strong{display:none}.actions{grid-column:1/-1}.actions button{min-height:44px}.new-board{grid-column:1/-1;min-height:44px}.keyboard-note{display:none}.result{grid-area:2/1/auto/-1;padding:12px}.console.won .controls{opacity:.5}.result h2{font-size:18px}footer{padding:15px 0 16px;font-size:8px}dialog{padding:20px}}@media (prefers-reduced-motion:reduce){button:not(:disabled):active{transform:none}}
