:root{--ink:#193e36;--paper:#f4f0df;--muted:#6d7e6d;--accent:#ee7442;--line:#d7dccc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;background-image:radial-gradient(#7b977522 .7px,transparent .7px);background-size:7px 7px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}header{height:76px;max-width:1250px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line)}header a{font:700 23px Georgia,serif;letter-spacing:2px;color:var(--ink);text-decoration:none}header a span{font:9px sans-serif;letter-spacing:2px;margin-left:10px}.version{font-size:10px;color:var(--muted)}main{max-width:1140px;display:grid;grid-template-columns:250px 420px 210px;gap:45px;align-items:center;margin:30px auto;padding:0 24px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--muted)}h1{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:64px;line-height:1.17;letter-spacing:-5px;margin:25px 0}h1 span{color:var(--accent)}.lead{font-size:17px;line-height:1.9;margin-bottom:34px}.mini-rule{display:flex;gap:17px;align-items:baseline;margin:15px 0}.mini-rule>b{font:italic 20px Georgia;color:#c47b49}.mini-rule p{font-size:11px;line-height:1.9;margin:0;color:var(--muted)}.mini-rule strong{color:var(--ink);font-size:12px}.record{border-top:1px solid var(--line);margin-top:35px;padding-top:18px;font-size:10px;color:var(--muted)}.record strong{display:inline-block;margin:8px 8px 0 0;font:36px Georgia;color:var(--ink)}.game{border:1px solid #c4d0bd;background:#fffdf2;box-shadow:0 16px 48px #243d2316;border-radius:24px;padding:10px;overflow:hidden}.top{height:64px;display:flex;align-items:center;padding:0 9px 9px;gap:8px}.top>div:first-child{flex:1}.label{font-size:9px;display:block;color:var(--muted);letter-spacing:1px}.top strong{font:700 31px Georgia;font-variant-numeric:tabular-nums}.top small{font-size:10px}.stage{text-align:right;margin-right:8px}.stage span{display:block;font-size:8px;color:var(--muted)}.stage b{display:block;font-size:11px;margin-top:5px}.top button{width:31px;height:36px;border:0;background:none;color:var(--ink);font-size:20px;border-radius:8px}.top button:hover{background:#e6ecde}.top button:disabled{opacity:.25}.top button[aria-pressed=false]{opacity:.35}.board-wrap{position:relative;aspect-ratio:420/620;overflow:hidden;border-radius:15px;background:#d6e9d0;touch-action:none}#board{display:block;width:100%;height:100%;touch-action:none;cursor:ew-resize;user-select:none}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#f7f4e6eb;backdrop-filter:blur(8px);padding:25px}.overlay section{width:100%;max-width:300px;text-align:center}.overlay h2{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:36px;line-height:1.5;margin:14px 0}.overlay p:not(.eyebrow){font-size:11px;line-height:2;color:var(--muted)}#fruit-preview{width:210px;height:50px;margin:16px 0 0}.primary{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:var(--ink);color:#fff9dd;border-radius:12px;padding:17px 19px;font-size:13px;font-weight:700;box-shadow:0 4px #0c2c25;margin-top:23px}.primary:hover{background:#2d5945}.primary:active{transform:translateY(3px);box-shadow:0 1px #0c2c25}.primary span{font-size:20px}.secondary{border:0;background:none;color:var(--muted);padding:20px;text-decoration:underline}.overlay small{display:block;font-size:8px;color:var(--muted);margin-top:20px}.bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 8px 5px;font-size:9px}.bottom p{margin:0;color:var(--muted);font-size:9px}.reserve{white-space:nowrap}.reserve span{color:var(--muted);margin-right:5px}.reserve b{letter-spacing:2px;color:#d98c4c}.result-score strong{font:700 65px Georgia}.result-stats{display:flex;justify-content:space-around;border-block:1px solid var(--line);margin-top:20px}.result-stats b{display:block;font:25px Georgia;color:var(--ink)}aside h2{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:25px;margin:18px 0 7px}#fruit-region{font-size:10px;color:var(--muted)}#hero-fruit{width:115px;height:115px;display:block;margin:18px 0}.aside-copy{font-size:12px;line-height:2.2}.fruit-list{border-top:1px solid var(--line);margin-top:30px;padding-top:12px}.fruit-list p{font-size:10px;font-weight:700}.fruit-list span{display:block;font-size:10px;color:var(--muted);line-height:2.3}.key-help{font-size:9px;line-height:1.8;margin-top:22px;color:var(--muted)}footer{max-width:1160px;margin:15px auto 0;border-top:1px solid var(--line);padding:18px 24px;font-size:9px;color:var(--muted);display:flex;justify-content:space-between}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:1080px){main{grid-template-columns:210px 410px;justify-content:center;gap:30px}aside{display:none}h1{font-size:64px}}@media(max-width:680px){header{height:43px;padding:0 17px;border:0}header a{font-size:16px}header a span{font-size:7px;margin-left:5px;letter-spacing:1px}.version{font-size:8px}main{display:block;margin:0 auto;padding:0 9px;max-width:min(440px,calc((100dvh - 163px) * .6774 + 40px))}.intro,aside,footer{display:none}.game{border-radius:18px;padding:8px}.top{height:58px;padding:0 6px 8px}.board-wrap{border-radius:12px}.bottom{padding:11px 4px 4px}.overlay{padding:20px}.overlay h2{font-size:29px}.primary{font-size:12px;padding:15px}.top strong{font-size:28px}.stage{margin-right:2px}.bottom p{font-size:8px}.reserve{font-size:8px}}@media(max-height:710px) and (max-width:680px){.overlay h2{font-size:25px;margin:8px 0}.overlay p:not(.eyebrow){font-size:10px}.overlay small{margin-top:12px}.primary{margin-top:15px;padding:13px}#fruit-preview{margin-top:5px;height:38px;width:160px}.stage span{font-size:7px}.top button{width:27px}.result-score strong{font-size:48px}.bottom{gap:3px}.bottom p{font-size:7px}.result-stats{margin-top:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
