/* Touch-first adventure boards. */
.game-dialog{width:min(760px,calc(100vw - 24px));padding:24px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;max-height:calc(100dvh - 24px)}
.game-top{position:sticky;top:-24px;background:var(--paper,#fffef8);z-index:5;padding:12px 0;align-items:center}.game-top h2{font-size:20px;min-width:0;overflow-wrap:anywhere}.game-bottom{position:sticky;bottom:-24px;padding:14px 0;background:var(--paper,#fffef8);z-index:4}.game-bottom .button{width:100%}#game-body{min-height:0}.game-question{margin:4px 0!important;font-size:23px;line-height:1.3;overflow-wrap:anywhere}.game-challenge-header{display:flex;gap:16px;text-align:left;align-items:center;margin:14px 0}.game-challenge-header>div{min-width:0}.game-mini-guide{width:74px;height:80px;object-fit:contain;flex:none}.game-eyebrow{display:block;font-size:11px;letter-spacing:1.5px;font-weight:900;color:#37604b}.game-welcome{padding:28px 24px;border-radius:22px;background:#e6f3dd;border:2px solid #abc79c}.game-welcome.words{background:#e0eff7;border-color:#9fbfcf}.game-welcome.patterns{background:#fff0d7;border-color:#d9b582}.game-guide{height:170px;max-width:100%;object-fit:contain;filter:drop-shadow(0 10px 4px #23482418);animation:guide-float 4s ease-in-out infinite}.game-welcome h3{font-size:30px;margin:12px 0}.game-welcome p{max-width:420px;margin:12px auto;line-height:1.6;color:#274334}.interactive-board{border:2px solid #b8c9ac;border-radius:22px;overflow:hidden;margin:16px 0;background:#edf4e6;padding:20px}.interaction-note{font-size:13px;color:#364d3a;line-height:1.6;margin:16px 0}.game-helper-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:12px 0}.game-small-button{border:2px solid #bbc8b2;border-radius:12px;background:#fffef8;box-shadow:0 3px 0 #bbc8b2;padding:10px 15px;min-height:44px;font-weight:800;color:#294e35;cursor:pointer}.game-small-button:disabled{opacity:.45;cursor:default;box-shadow:none}.game-dialog button:focus-visible{outline:3px solid #246abe;outline-offset:4px}.game-feedback{min-height:1.5em;line-height:1.5;padding:8px 0}.game-award{width:160px;height:180px;object-fit:contain;animation:award-pop .7s cubic-bezier(.22,1,.36,1)}
.garden-goal{background:#fffef8;border:2px solid #bdcbb1;border-radius:16px;padding:12px}.garden-goal>span{font-size:10px;font-weight:900;letter-spacing:2px;color:#486541;display:block}.garden-goal strong{font-size:38px;color:#234b32;display:block;line-height:1.2;padding:5px}.garden-goal p{font-size:14px;margin:5px}.garden-tools{display:flex;gap:10px;justify-content:center;margin:16px 0 0}.garden-tool{display:flex;gap:6px;align-items:center;justify-content:center;flex:1;max-width:170px;min-height:54px;border-radius:14px;border:2px solid #9fb793;box-shadow:0 4px 0 #9fb793;background:#fffef8;color:#31523c;font-weight:900;cursor:pointer;touch-action:none}.garden-tool.selected{background:#285c39;border-color:#19402a;box-shadow:0 4px 0 #19402a;color:white}.tool-symbol{font-size:25px;line-height:1}.garden-plots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:14px;background:#d5e6c2;border-radius:18px}.garden-plot{height:70px;position:relative;border:2px solid #866649;border-bottom-width:7px;border-radius:18px;background:#c59b72;color:#593d28;cursor:pointer;display:grid;place-items:center;overflow:visible;transition:background .25s,transform .3s}.garden-plot::after{content:'';position:absolute;inset:auto 10px 10px;border-bottom:2px dashed #936847;pointer-events:none}.seed-mark{font-size:25px;font-weight:900}.garden-plot.seeded{background:#a9784d}.garden-plot.seeded .seed-mark{color:#fbedc5;font-size:20px}.garden-plot.grown{background:#b48a61}.grown-plant{width:52px;height:62px;object-fit:contain;position:relative;z-index:1;animation:plant-grow .5s ease-out}.garden-inventory{display:flex;gap:12px;justify-content:center;margin-top:15px;font-size:13px;font-weight:900}.garden-inventory span{background:white;border-radius:30px;padding:8px 14px}.garden.solved{background:#d6efb8}.garden.solved .grown-plant{animation:guide-float 3s infinite}
.workshop{background:#e6f1f7;border-color:#aec5d4}.workshop-sample{background:#fffef8;border-radius:16px;padding:18px;border:2px solid #bacbd1}.sample-word{font-size:32px;display:block;overflow-wrap:anywhere;color:#254759;margin:10px 0 18px;line-height:1.35}.workshop-slots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;min-height:72px;margin:20px 0}.workshop-slot{width:52px;height:62px;border:2px dashed #7b9bb0;border-radius:13px;background:#d3e5f0;font-size:15px;font-weight:800;color:#45667a;cursor:pointer;touch-action:none}.workshop-slot.filled{background:#fff5ca;border:2px solid #baa254;box-shadow:0 4px 0 #baa254;font-size:27px;color:#403721}.workshop-bank{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;min-height:65px;padding:14px;background:#cee2ed;border-radius:16px}.workshop-tile.letter-tile{width:52px;height:56px;flex:none;font-size:25px;touch-action:none;background:#fffef8;border:2px solid #90aabd;box-shadow:0 4px 0 #90aabd;color:#254b64}.workshop-tile:disabled{visibility:hidden}.workshop-count{font-size:12px;font-weight:800;color:#3e657b;margin:14px 0 0}.workshop.solved .workshop-slot{background:#d9f0bf;border-color:#8caf69;box-shadow:0 4px 0 #8caf69;animation:award-pop .6s ease-out}
.trail{background:#fff0d9;border-color:#d4b892}.river-trail{position:relative;background:#c5e5eb;border:2px solid #8db9c3;border-radius:18px;padding:95px 14px 25px;overflow:hidden}.river-ripple{position:absolute;border:2px solid #91c3ce;border-radius:50%;width:220px;height:70px;pointer-events:none;animation:ripple-drift 7s ease-in-out infinite}.ripple-one{top:80px;left:-30px}.ripple-two{bottom:20px;right:-80px;animation-delay:-3s}.trail-runner{position:absolute;top:8px;left:12px;display:flex;align-items:center;gap:6px;transition:left 1.6s cubic-bezier(.22,1,.36,1);max-width:180px}.trail-animal{height:74px;width:65px;object-fit:contain}.trail-runner>span{font-size:11px;font-weight:900;background:white;border-radius:12px;padding:7px;color:#385c65}.trail-stones{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 10px;position:relative;z-index:1}.trail-stone{width:100%;height:62px;display:grid;place-items:center;border:2px solid #768778;border-bottom-width:6px;border-radius:20px;background:#d9dfcf;touch-action:none;cursor:pointer}.trail-stone.fixed{cursor:default;opacity:1!important}.trail-stone.missing{border-style:dashed;background:#e1f2f4;border-color:#6b9aa4}.trail-stone.missing.placed{background:#fff2cf;border-style:solid;border-color:#b1a06f}.stone-number{font-size:16px;font-weight:900;color:#4d7882}.shape-tray{display:flex;justify-content:center;gap:10px}.shape-supply{min-height:85px;min-width:0;flex:1;max-width:170px;background:#fffef8;border:2px solid #bca681;box-shadow:0 4px 0 #bca681;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:800;color:#57492e;touch-action:none;cursor:pointer;overflow-wrap:anywhere}.game-dialog .shape{display:block;width:28px;height:28px;flex:none;background:#2f7b86;border:0}.game-dialog .shape.circle{border-radius:50%;background:#ce624b}.game-dialog .shape.square{border-radius:5px;background:#376bba}.game-dialog .shape.triangle{width:0;height:0;background:none;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:29px solid #3c834d}.hinted{position:relative}.hint-shape{position:absolute;opacity:.35}.trail.solved .trail-runner{left:calc(100% - 175px)}.trail.solved .trail-stone.missing{background:#e0eebc;border-color:#85965f}
.game-drag-ghost{position:fixed;z-index:50;transform:translate(-50%,-60%);pointer-events:none;border:2px solid #31553e;background:#fff7ce;border-radius:14px;padding:13px 18px;box-shadow:0 12px 24px #18342540;color:#284b35;font-size:22px;font-weight:900;max-width:180px}.try-bounce{animation:try-bounce .4s ease-out}@keyframes guide-float{50%{transform:translateY(-7px) rotate(2deg)}}@keyframes plant-grow{from{transform:scale(.2) translateY(20px);opacity:.3}to{transform:scale(1);opacity:1}}@keyframes award-pop{from{transform:scale(.7);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes ripple-drift{50%{transform:translateX(20px)}}@keyframes try-bounce{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(max-width:600px){.game-dialog{padding:16px;width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:20px}.game-top{top:-16px}.game-bottom{bottom:-16px}.interactive-board{padding:12px}.game-question{font-size:20px}.game-mini-guide{width:55px;height:64px}.game-challenge-header{gap:10px}.game-top h2{font-size:18px}.garden-plots{padding:10px;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.garden-plot{height:60px;border-radius:14px}.grown-plant{height:55px;width:45px}.garden-tool{gap:5px;font-size:12px;min-height:50px}.garden-tools{gap:8px}.workshop-slot{width:44px;height:54px}.workshop-tile.letter-tile{width:44px;height:50px}.workshop-slots{gap:6px}.sample-word{font-size:27px}.trail-stones{gap:12px 6px}.trail-stone{height:54px;border-radius:15px}.river-trail{padding:95px 8px 20px}.shape-supply{font-size:11px}.game-welcome{padding:20px 14px}.game-welcome h3{font-size:26px}.game-guide{height:145px}}
@media(prefers-reduced-motion:reduce){.game-dialog *{animation:none!important;transition:none!important}}body.quiet-motion .game-dialog *{animation:none!important;transition:none!important}

@media(max-width:400px){.trail-stones{grid-template-columns:repeat(4,minmax(0,1fr))}.trail-stone{min-height:48px}.game-top h2{font-size:16px}.game-helper-row{gap:8px}.game-small-button{padding:10px 12px}}
