@charset "UTF-8";
:root{--ink:#253f47;--muted:#607b7f;--paper:#f8f6ec;--green:#286451;--mint:#e0ede3;--yellow:#ffd352;--line:#d5ded4;--coral:#ed7951;font-family:"Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #346ca1;outline-offset:4px}button{transition:transform .15s,background .15s}button:active:not(:disabled){transform:translateY(2px)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}.topbar{height:90px;max-width:1200px;margin:auto;padding:0 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:900}.brand-mark{background:var(--yellow);border-radius:50%;font-size:24px;display:grid;place-items:center;width:38px;height:38px;transform:rotate(-12deg)}.brand-dot{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:10px}.top-actions{display:flex;gap:8px}.icon-btn{background:transparent;border:1px solid var(--line);border-radius:50px;min-height:42px;min-width:42px;padding:8px 13px;font-weight:700;font-size:13px}main{max-width:1200px;margin:auto}.home{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;padding:53px 44px 0}.eyebrow{font:700 11px/1.4 sans-serif;letter-spacing:2px;color:var(--green);display:flex;align-items:center;gap:8px}.eyebrow>span{width:7px;height:7px;border-radius:50%;background:var(--coral)}h1{font-size:68px;font-weight:900;line-height:1.12;letter-spacing:-4px;margin:24px 0 26px}h1 small{display:block;font-size:26px;letter-spacing:2px;margin-top:14px}.lead{font-size:28px;line-height:1.7;margin:0 0 17px;font-weight:700;letter-spacing:1px}.lead strong{background:linear-gradient(transparent 65%,#ffe99c 65%)}.intro{font-size:13px;line-height:2;color:var(--muted)}.hero-buttons{display:flex;gap:10px;margin-top:29px}.primary{display:flex;align-items:center;justify-content:center;gap:20px;background:var(--green);color:white;border-radius:12px;min-height:52px;padding:13px 22px;font-weight:800;font-size:14px;box-shadow:0 4px 0 #173f34}.primary span{font-size:23px}.secondary{background:transparent;border:1px solid #b9cbc0;border-radius:12px;padding:12px 18px;font-size:13px;font-weight:700;min-height:46px}.primary:hover{background:#34745f}.secondary:hover,.icon-btn:hover{background:#e7ece1}.home-stats{display:flex;align-items:center;gap:20px;margin:25px 0;color:var(--muted);font-size:11px}.home-stats b{color:var(--ink);font-size:15px}.home-stats button{padding:8px 0;background:transparent;font-size:11px;color:var(--green)}.hero-art{position:relative;align-self:center;min-width:0}.hero-art canvas{width:100%;height:auto;display:block}.art-note{position:absolute;top:8px;right:28px;writing-mode:vertical-rl;font-size:12px;font-weight:700;letter-spacing:3px}.art-caption{display:flex;justify-content:space-between;margin:0 30px;color:var(--muted);font-size:11px;letter-spacing:1px}.art-caption span{font-family:monospace}.how-strip{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:28px;padding:24px 0;gap:16px;font-size:13px}.how-strip>div{display:flex;align-items:center;gap:14px}.how-strip i{font:12px monospace;color:var(--green);border:1px solid #becfc1;border-radius:50%;padding:9px}.time-note{font-size:10px;color:var(--muted)}footer{max-width:1200px;margin:0 auto;padding:23px 44px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted);letter-spacing:1px}footer span{font-size:9px;letter-spacing:0}
.play{display:grid;grid-template-columns:260px minmax(0,440px);justify-content:center;gap:75px;padding:30px 28px}.expedition{padding-top:42px}.expedition h2{font-size:28px;margin:13px 0}.expedition>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.9}.expedition canvas{width:100%;height:auto}.tip-card{background:#e7edde;border-radius:16px;padding:19px;margin:12px 0 22px}.tip-card span{font-size:10px;color:var(--green);letter-spacing:1px}.tip-card p{font-size:14px;font-weight:700;line-height:1.8;margin:9px 0 0}.expedition .secondary{width:100%}.game-panel{min-width:0}.game-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.game-top>div{flex:1}.game-top h2{margin:3px 0 0;font-size:16px}.game-top #stage-label{font:10px monospace;letter-spacing:1px;color:var(--muted)}#hearts{color:#d85346;letter-spacing:3px;font-size:19px;white-space:nowrap}.game-stats{display:flex;justify-content:space-between;margin:0 4px 12px;font-size:11px;color:var(--muted)}.game-stats b{font-size:15px;color:var(--ink)}.board-wrap{position:relative;margin:auto;width:min(100%,360px);border:1px solid #bfd6c9;border-radius:20px;overflow:hidden;background:#edf4df;box-shadow:0 7px 0 #d9e3d3}#board{width:100%;height:auto;display:block;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair}.status{text-align:center;font-size:12px;font-weight:700;min-height:20px;line-height:1.6;margin:14px 0 10px}.aim-controls{display:flex;align-items:center;gap:12px;min-height:50px}.aim-controls label{font-size:10px;display:grid;gap:3px;white-space:nowrap}.aim-controls output{font:bold 13px monospace}.aim-controls input{width:100%;min-width:50px;accent-color:var(--green);height:42px}.aim-controls button{min-width:110px;padding:10px 12px;min-height:46px;font-size:13px}.small-note{text-align:center;font-size:10px;color:var(--muted);margin:13px 0 0}.combo{position:absolute;top:52%;left:0;right:0;text-align:center;font-weight:900;font-size:30px;color:var(--green);pointer-events:none;text-shadow:0 2px white;opacity:0;transition:opacity .25s}.combo.show{opacity:1}#pause-shade{position:absolute;inset:0;background:#f8f6eccc;display:grid;place-items:center;font-size:23px;font-weight:800}.save-notice{text-align:center;font-size:12px;color:#984b36}
dialog{border:1px solid var(--line);border-radius:24px;background:var(--paper);color:var(--ink);padding:24px;width:min(600px,calc(100% - 28px));max-height:85dvh;box-shadow:0 22px 90px #183b4840;overscroll-behavior:contain}dialog::backdrop{background:#203c4680;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:center}dialog h2{font-size:26px;margin:12px 0 22px}dialog p{font-size:13px;line-height:1.9}.modal-actions{display:flex;gap:10px;justify-content:center;margin-top:24px;flex-wrap:wrap}.map-world{margin:22px 0}.map-world h3{font-size:13px;margin-bottom:10px;display:flex;gap:10px;align-items:center}.world-dot{width:9px;height:9px;border-radius:50%;background:var(--green)}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.level-btn{border:1px solid var(--line);border-radius:12px;background:#fffdf5;min-height:72px;padding:10px}.level-btn b{display:block;font:700 22px monospace}.level-btn span{font-size:11px;letter-spacing:2px;color:#926d1d}.level-btn.current{border:2px solid var(--green);background:var(--mint)}.friend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.friend-card{border-radius:16px;background:#ebece1;padding:12px 7px;text-align:center;min-height:137px}.friend-card canvas{width:100%;max-width:100px;display:block;margin:auto}.friend-card b{font-size:12px}.friend-card p{font-size:9px;margin:4px 0 0;line-height:1.5}.friend-card.locked canvas{filter:grayscale(1);opacity:.3}.result{text-align:center}.result-hero{height:140px;margin:auto;display:block}.result-stars{font-size:37px;letter-spacing:12px;color:#e3a628;margin:8px 0}.result-summary{display:flex;justify-content:center;gap:25px;padding:15px;border-block:1px solid var(--line);font-size:12px}.result-summary b{font-size:23px;display:block;margin-bottom:5px}.discovery{background:#f7e6ad;border-radius:12px;padding:12px;font-weight:700}.help-list{list-style:none;padding:0;counter-reset:step}.help-list li{counter-increment:step;display:flex;gap:12px;margin:20px 0;font-size:13px;line-height:1.8}.help-list li:before{content:counter(step,decimal-leading-zero);font:20px monospace;color:var(--green)}.help-special{display:flex;gap:10px}.help-special p{flex:1;background:#e7edde;border-radius:12px;padding:13px;font-size:11px}.help-special b{display:block;font-size:15px}
@media(min-width:1000px) and (max-height:850px){.play{padding-top:19px}.board-wrap{width:310px}.expedition{padding-top:30px}.topbar{height:75px}.play+footer{padding-top:10px}.home{padding-top:32px}h1{font-size:62px}}
@media(max-width:850px){.home{padding:36px 28px 0;column-gap:0}h1{font-size:50px;letter-spacing:-3px}h1 small{font-size:20px}.lead{font-size:22px}.intro{font-size:11px}.hero-buttons{flex-wrap:wrap}.home-stats{gap:12px}.topbar{padding:0 28px;height:74px}.hero-art{align-self:center}.how-strip{flex-wrap:wrap}.time-note{display:none}.play{grid-template-columns:210px minmax(0,360px);gap:28px}.expedition h2{font-size:25px}footer{padding:22px 28px}}
@media(max-width:620px){.topbar{height:65px;padding:0 20px}.brand{font-size:15px}.brand-dot{display:none}.brand-mark{height:32px;width:32px;font-size:22px}.top-actions{gap:4px}.icon-btn{min-height:38px;min-width:38px;padding:7px 10px}.home{display:flex;flex-direction:column;padding:30px 24px 0}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:9px}h1{font-size:57px;margin:22px 0}h1 small{font-size:23px;letter-spacing:2px}.lead{font-size:21px;line-height:1.7}.intro{font-size:12px}.hero-art{width:100%;max-width:430px;margin-top:0}.hero-buttons{margin-top:23px;flex-wrap:nowrap}.hero-buttons .primary{flex:1;font-size:13px;gap:14px;padding:12px}.hero-buttons .secondary{padding:12px}.home-stats{font-size:10px;justify-content:space-between;margin-bottom:0}.hero-art{margin-top:14px}.art-note{right:7px;top:20px;font-size:10px}.art-caption{margin:0 10px}.how-strip{width:100%;gap:8px;margin-top:26px;padding:18px 0}.how-strip>div{gap:6px;font-size:10px}.how-strip i{padding:5px;font-size:9px}.play{display:block;padding:14px 16px 0;max-width:430px;margin:auto}.expedition{display:none}.game-top{margin-bottom:11px}.game-top h2{font-size:14px}.game-top #stage-label{font-size:9px}.board-wrap{width:min(100%,calc((100svh - 267px) * .706));min-width:222px;border-radius:17px}.game-stats{font-size:10px;margin-bottom:10px}.game-stats b{font-size:13px}.status{font-size:11px;margin:12px 0 5px}.aim-controls{gap:8px}.small-note{font-size:9px}.play~.save-notice{padding:0 15px}body.is-playing footer{display:none}footer{padding:23px 24px;font-size:9px;letter-spacing:0}footer span{display:none}dialog{padding:18px}dialog h2{font-size:23px}.friend-grid{gap:7px}.friend-card{padding:9px 4px}.friend-card b{font-size:10px}.friend-card p{font-size:9px}.modal-actions .primary{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
