:root{color-scheme:dark;--bg:#101d30;--panel:#1b3047;--accent:#98efce;--warm:#ffe5a7;--ink:#f2f8ff;--muted:#afc4d8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 0%,var(--panel),transparent 70%),var(--bg);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;min-height:100vh;line-height:1.6}button,input{font:inherit}button{cursor:pointer;color:inherit;background:#ffffff0d;border:1px solid #ffffff30;border-radius:12px;min-height:44px;padding:9px 16px;touch-action:manipulation}button:hover:not(:disabled){background:#ffffff19;border-color:var(--accent)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--warm);outline-offset:3px}a{color:inherit}main,.topbar{max-width:940px;margin:auto;padding:0 22px}.topbar{display:flex;justify-content:space-between;align-items:center;padding-top:18px;padding-bottom:18px;border-bottom:1px solid #ffffff14}.topbar a{text-decoration:none;font-size:13px}.topbar span{font-size:10px;color:var(--muted);letter-spacing:2px}.topbar button{min-height:36px;font-size:11px;padding:5px 11px}.heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:25px 0 18px}h1{font-size:clamp(24px,5vw,36px);margin:0;color:var(--accent);line-height:1.3}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--warm);margin:0 0 8px}.lead{color:var(--muted);font-size:13px;margin:12px 0 0}.game-icon{font-size:60px;line-height:1}.panel{padding:20px;background:var(--panel);border:1px solid #ffffff1b;border-radius:22px;box-shadow:0 20px 40px #0002}.level-row{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}.level-row h2{font-size:16px;margin:0}.levels{display:flex;gap:5px;flex-wrap:wrap}.levels button{font-size:12px;min-height:34px;min-width:34px;padding:5px 8px}.levels [aria-current=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.hud{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:17px 0}.stat{flex:1;text-align:center;min-width:90px;border:1px solid #ffffff16;border-radius:12px;padding:9px;background:#06142738}.stat small{display:block;color:var(--muted);font-size:10px}.stat b{display:block;font-size:21px;color:var(--warm)}.field{position:relative;min-height:230px;border-radius:18px;background:#051b3438;padding:18px;overflow:hidden;outline-offset:2px}.actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin-top:16px}.actions:empty{display:none}.primary{background:var(--accent)!important;color:#132c37!important;font-weight:bold;border-color:transparent!important}.message{min-height:50px;text-align:center;padding:13px 5px 0;margin:0;font-size:13px;color:var(--warm);white-space:pre-line}.message.good{color:var(--accent)}.message.bad{color:#ffb6b6}.utility{display:flex;justify-content:center;gap:10px;margin-top:16px}.utility button{font-size:12px}.instructions{border:1px solid #ffffff16;background:#ffffff04;border-radius:16px;padding:18px 22px;margin:18px 0}.instructions summary{font-size:13px;cursor:pointer;color:var(--accent)}.instructions p{font-size:13px;line-height:1.9;color:var(--muted);white-space:pre-line}.footer{text-align:center;font-size:11px;color:var(--muted);padding:12px 10px 30px}.footer a{font-size:10px}.result{color:var(--ink);background:#182e43;border:1px solid #a5cdd950;border-radius:24px;padding:30px;width:min(90vw,430px);text-align:center;box-shadow:0 25px 100px #0008}.result::backdrop{background:#031022c9;backdrop-filter:blur(5px)}.result h2{font-size:27px;color:var(--warm);margin:8px 0 16px}.result p{white-space:pre-line;font-size:14px}.result .trophy{font-size:45px}.result button{display:block;width:100%;margin-top:12px}.result .small{font-size:10px;color:var(--muted)}.grid{display:grid;gap:7px;max-width:520px;margin:auto}.square{aspect-ratio:1;min-height:0;padding:0;border-radius:10px;font-size:23px;display:grid;place-items:center}.square.selected{outline:3px solid var(--warm);outline-offset:-4px}.square.lit{box-shadow:inset 0 0 0 3px var(--accent);background:#79edcf22}.tag{display:inline-block;border:1px solid #ffffff25;border-radius:99px;padding:3px 10px;font-size:11px;color:var(--muted)}.wide{width:100%}.muted{color:var(--muted);font-size:12px}.center{text-align:center}.item-emoji{font-size:36px;display:block}.flash{animation:pop .3s ease}@keyframes pop{50%{transform:scale(1.07)}}@media(max-width:600px){main,.topbar{padding-left:14px;padding-right:14px}.topbar span{display:none}.heading{margin-top:20px}.game-icon{font-size:43px}.panel{padding:14px;border-radius:18px}.field{padding:12px;min-height:210px}.level-row{justify-content:center}.level-row h2{width:100%;text-align:center}.square{font-size:19px}.stat b{font-size:18px}.result{padding:22px}.lead{font-size:12px}.instructions{padding:14px 16px}.grid{gap:5px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Distinct playfields; only navigation is shared. */
.garden-grid{grid-template-columns:repeat(6,1fr);max-width:440px}.garden-grid button{color:#142432;font-weight:bold;border:2px solid #ffffff25}.garden-grid button.owned{border-color:#fff;box-shadow:inset 0 0 0 2px #16344050}.color-buttons button{color:#142432;font-weight:bold;min-width:58px}.picnic-scene{background:linear-gradient(#264e48,#304d37);padding:20px;border-radius:16px}.picnic-tables{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.animal-table{flex:1;min-width:160px;max-width:240px;text-align:center;background:#0e282b80;border:1px solid #c9ecce40;border-radius:18px;padding:14px}.animal-table .animal{font-size:48px}.plate{border:3px solid #b8d6ca80;background:#edf6e520;border-radius:50%;min-height:70px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2px;margin:12px 0;padding:8px}.plate span{font-size:21px}.plate button{min-height:30px;padding:0;border:0}.portion{display:flex;justify-content:center;gap:8px}.portion button{font-size:20px}.pantry{text-align:center;font-size:24px;padding:12px}.lab-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.ingredient{padding:9px 4px;font-size:11px;min-height:76px}.ingredient.selected{border-color:var(--warm);background:#ffe5a720}.mixing-bowl{display:flex;justify-content:center;gap:14px;align-items:center;padding:20px 0}.mix-slot{width:100px;height:95px;display:grid;place-content:center;text-align:center;background:#ffffff0b;border:2px dashed #bca1df70;border-radius:22px}.recipe-book{font-size:12px;color:var(--muted);line-height:2;max-height:160px;overflow:auto;padding:12px;background:#0002;border-radius:12px}.cipher-card{text-align:center;padding:24px 12px;background:linear-gradient(145deg,#b9995530,#472d1620);border:1px solid #d8be6a50;border-radius:16px}.coded-word{font:700 clamp(28px,6vw,45px) monospace;letter-spacing:5px;color:var(--warm);overflow-wrap:anywhere;margin:18px 0}.clue{padding:12px;background:#0002;border-radius:12px;font-size:13px;white-space:pre-line}.answer-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:18px 0}.answer-row input{width:min(100%,260px);border:2px solid #b9d5d94a;border-radius:12px;background:#07192b;color:white;font:24px monospace;padding:10px;text-align:center;letter-spacing:3px}.letter-keys{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;max-width:550px;margin:auto}.letter-keys button{font:18px monospace;min-width:40px;padding:8px}.pipe-grid{grid-template-columns:repeat(5,1fr);max-width:420px}.pipe-grid .square{font-size:45px;position:relative;background:#102b3e;line-height:1}.pipe-grid .connected{color:var(--accent);background:#27534c}.pipe-grid .endpoint{color:var(--warm);font-size:28px}.number-grid{grid-template-columns:repeat(5,1fr);max-width:430px}.number-grid button{font-size:25px;font-weight:bold}.number-grid .path{background:#8df2d128;border-color:var(--accent);color:var(--accent)}.number-grid .wall{background:#111c30;color:#4d6179}.number-grid .treasure{background:#78581f40;border-color:#dbb66180}.word-train{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:20px 0}.word-slot{width:52px;height:60px;border:2px solid #bce7ee66;background:#102e42;border-radius:12px;text-align:center;font:32px monospace;display:grid;place-items:center;position:relative}.word-slot:after{content:'••';position:absolute;bottom:-17px;color:#c0e6ee;letter-spacing:18px;font-size:20px;left:8px}.word-picture{font-size:85px;line-height:1.2;text-align:center}.word-label{text-align:center;color:var(--warm);font-size:18px}.letter-bank{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;max-width:480px;margin:28px auto 10px}.letter-bank button{min-width:50px;font-size:25px;font-weight:bold;background:#315367}.fish-pond{position:relative;height:360px;background:linear-gradient(#69b9bc 0 12%,#255f79 12% 45%,#143b62 70%,#132c4a);overflow:hidden;border-radius:18px;touch-action:none}.fish-sprite{position:absolute;font-size:34px;line-height:1;pointer-events:none;filter:drop-shadow(0 3px 3px #001a33);transform:translate(-50%,-50%)}.fish-hook{position:absolute;top:0;width:2px;background:#ffefb1;pointer-events:none}.fish-hook:after{content:'J';position:absolute;bottom:-18px;left:-5px;color:#fff0bd;font:bold 21px sans-serif}.depth-line{position:absolute;left:0;right:0;border-top:1px dashed #ffffff20;pointer-events:none}.depth-line span{font-size:10px;color:#cde6ec99}.reel-panel{padding:15px;background:#142d42;border-radius:14px;margin-top:12px}.tension-track{height:22px;background:linear-gradient(90deg,#ec9d70 0 20%,#8ad9aa 20% 75%,#ec9d70 75%);border-radius:9px;position:relative;margin:10px 0}.tension-needle{position:absolute;top:-3px;width:5px;height:28px;background:#fff;box-shadow:0 0 5px #142d42;border-radius:3px}.reel-progress{height:10px;background:#ffffff18;border-radius:5px;overflow:hidden}.reel-progress div{height:100%;background:var(--accent)}.fish-catches{text-align:center;min-height:40px;font-size:26px}.meter-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}
.game-skin-refresh{font-family:"Zen Maru Gothic",sans-serif}
body{font-family:"Zen Maru Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.7}
