/* The scene is the activity: compact controls, tactile objects, one clear destination. */
body[data-counting-table] {background:#fffaf0}body[data-counting-table] main{max-width:1080px;padding-top:12px}.journey-play{max-width:960px;margin:auto}.journey-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:7px}.journey-toolbar strong{margin-right:auto;font-size:15px}.journey-toolbar button{min-width:42px;min-height:40px;border:1px solid #dce5d4;border-radius:14px;background:#fffefa}.journey-toolbar #pause{padding:7px 13px;font-size:13px}.journey-progress{display:flex;align-items:center;gap:10px;max-width:380px;margin:auto;color:#7a8a71;font-size:11px}.journey-progress progress{width:100%;height:6px;accent-color:#8db396}.journey-instruction{display:flex;align-items:center;justify-content:center;gap:10px;min-height:66px;padding:7px 12px}.journey-instruction h2{font-size:clamp(18px,2.5vw,25px);line-height:1.25;margin:0;text-align:center;max-width:650px}.journey-phase{text-align:center;font-size:11px;font-weight:750;color:#7c8c6c;margin:5px 0 0;min-height:16px}.journey-phase.probe{color:#a87647}.journey-scene{height:clamp(350px,58svh,550px);position:relative;border-radius:30px;background-image:var(--scene-art);background-position:center;background-size:cover;border:5px solid #fffdf5;box-shadow:0 9px 30px #6a8e6d23;isolation:isolate;overflow:hidden}.journey-scene:after{content:'';position:absolute;inset:0;border-radius:25px;box-shadow:inset 0 0 25px #637b3910;pointer-events:none}.journey-scene.desk{background-color:#f8dba9;background-blend-mode:soft-light}.journey-scene.treasure{background-color:#cfe5d4;background-blend-mode:soft-light}.journey-destination{position:absolute;top:24%;left:24%;width:57%;height:39%;padding:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1;transition:box-shadow .2s}.journey-destination:focus-visible,.journey-source:focus-visible{outline:4px solid #dca35d;outline-offset:3px}.journey-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;justify-content:center;gap:6px;width:100%;z-index:1}.journey-slot{display:flex;align-items:center;justify-content:center;min-width:0;min-height:63px;border-radius:14px;background:#fff9e32b}.size-3 .journey-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.size-3 .journey-slot{min-height:83px}.journey-piece{width:100%;height:72px;max-width:92px;padding:3px;filter:drop-shadow(0 5px 2px #8a5f3929)}.journey-piece svg{filter:drop-shadow(0 3px 1px #78533118)}.journey-piece:hover:not(:disabled){background:transparent;transform:translateY(-4px) rotate(-3deg)}.journey-slot .journey-piece{height:68px}.size-3 .journey-piece{height:88px;max-width:110px}.picnic-destination{border-radius:50%;background:radial-gradient(ellipse,#fffdf0 50%,#dfedcf 53%,#abc09a 60%,#eff5d8 64%,#fffdf0 69%,#c9d6ae 72%);border:2px solid #becb9c;box-shadow:0 10px 0 #8f9b6a3d,0 16px 12px #6e603529}.orchard-destination{background:repeating-linear-gradient(0deg,#dbac6e 0 6px,#b58b55 7px 9px);border:9px solid #e7bd7e;border-radius:18% 18% 32% 32%;box-shadow:inset 0 8px 0 #996b3e3d,0 10px 0 #8c724943,0 15px 15px #80653a23;padding-top:16px}.orchard-destination:before{content:'';position:absolute;width:61%;height:63%;top:-34%;left:19%;border:11px solid #ca995d;border-bottom:0;border-radius:80px 80px 0 0;z-index:-1}.garage-destination{background:#e8f0dc;border:9px solid #e9b27e;border-bottom-width:16px;border-radius:14px;box-shadow:0 10px 0 #97694339;padding:12px;top:26%}.garage-destination:before{content:'';position:absolute;top:-33px;height:28px;left:-23px;right:-23px;background:#df907c;border-radius:13px 13px 3px 3px;box-shadow:0 4px 0 #b06a5940}.garage-destination .journey-slot{background:#53695820;border:2px dashed #80998266;border-bottom:4px solid #b7c8a4;min-height:72px}.desk-destination{background:#edd3d5;border:8px solid #b98794;border-radius:25px;box-shadow:inset 0 5px 0 #fff8f1,0 9px 0 #87627045;top:26%;height:35%}.desk-destination:before{content:'';position:absolute;left:-8px;right:-8px;top:-26px;height:22px;border:5px solid #be8d97;background:#f8e3de;border-radius:20px 20px 4px 4px;transform:skewX(-7deg)}.desk-destination .journey-slot{background:#fff8ed77}.treasure-destination{background:repeating-linear-gradient(0deg,#dcad69 0 31px,#c18f50 32px 35px);border:9px solid #ae7f46;border-radius:16px 16px 25px 25px;box-shadow:inset 0 5px 0 #f7d394,0 10px 0 #795a3744}.treasure-destination:before{content:'';position:absolute;left:-9px;right:-9px;top:-35px;height:32px;background:#d3a465;border:7px solid #aa804c;border-radius:50px 50px 3px 3px;transform:skewX(-8deg)}.treasure-destination:after{content:'';position:absolute;bottom:-16px;left:46%;width:33px;height:32px;background:#f7d482;border:3px solid #b8974e;border-radius:7px}.journey-source{position:absolute;z-index:2;bottom:4%;left:12%;width:76%;min-height:83px;display:flex;justify-content:center;align-items:center;gap:13px;padding:8px 12px;background:#fff5dbed;border:3px solid #edcf9c;border-radius:24px;box-shadow:0 6px 0 #a1825140,inset 0 3px 0 #fffdf1}.journey-source-cell{display:flex;justify-content:center;align-items:center;width:83px;height:76px;flex:0 1 83px}.journey-source.many{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 7px;padding:4px 9px}.many .journey-source-cell{width:auto;height:56px}.many .journey-piece{height:56px;max-width:72px}.journey-count{position:absolute;top:8%;right:8%;width:65px;height:65px;display:flex;justify-content:center;align-items:center;background:#fff9e6;border:3px solid #e7c175;border-radius:50%;font-size:38px;font-weight:850;box-shadow:0 5px 0 #c2a36533}.journey-feedback{min-height:27px;margin:8px 0 0;text-align:center;font-size:14px;color:#956b45}.journey-feedback.good{color:#467252;font-weight:750}.journey-controls{display:flex;align-items:center;justify-content:center;gap:10px;min-height:0}.journey-controls:has(button:not([hidden])){min-height:51px;margin-top:7px}.journey-controls #helper{border:1px solid #cfddc5;border-radius:13px;background:#f1f5e8;padding:10px 14px;font-size:13px}.journey-controls .primary{padding:10px 26px}.journey-gesture{text-align:center;color:#7d8c73;font-size:11px;margin:2px 0}.journey-sparkle{position:absolute;top:6%;left:47%;font-size:57px;color:#ffd16e;text-shadow:0 3px #d6a747;animation:journey-cheer .7s ease-in-out 2;pointer-events:none}.celebrating .journey-destination{animation:journey-glow .7s ease-in-out 2}.journey-piece.counting-now{outline:4px solid #e7aa53;transform:translateY(-5px) scale(1.08)}.journey-start{max-width:770px;background:#f3f7e9}.journey-start>img{max-height:270px;object-position:50% 36%}.journey-start .start-copy{padding:18px 24px}.journey-start .start-copy h1{font-size:32px}.journey-start .journey-intro-steps{font-size:13px;font-weight:750;color:#6e866c}.journey-checkpoint{max-width:590px;margin:30px auto;padding:35px 24px;background:#eff5e3;border:2px solid #d3e0c2;border-radius:30px;text-align:center}.journey-checkpoint h2{font-size:29px;line-height:1.2}.journey-checkpoint .checkpoint-art{font-size:55px}.journey-checkpoint .plain{display:block;margin:22px auto 0;border:0;background:transparent;text-decoration:underline}.journey-result #replay{background:#43795e;color:#fff;text-decoration:none;padding:13px 20px;border-radius:17px;font-weight:800}.journey-result .result-details{font-size:13px}.journey-result .result-star{font-size:55px}
@keyframes journey-cheer{50%{transform:scale(1.3) rotate(15deg)}}@keyframes journey-glow{50%{filter:brightness(1.12)}}
@media(max-width:650px){body[data-counting-table] main{padding:8px 7px 22px}.journey-toolbar{padding:0 4px;margin-bottom:1px}.journey-toolbar strong{font-size:13px}.journey-toolbar button{min-height:36px;min-width:36px}.journey-toolbar #pause{font-size:12px}.journey-instruction{min-height:57px;padding:5px;gap:6px}.journey-instruction h2{font-size:18px}.journey-instruction .listen{width:35px;height:35px;font-size:18px}.journey-instruction .target-number{min-width:35px;height:38px;font-size:26px;border-radius:12px}.journey-phase{margin:3px 0 0;font-size:10px}.journey-progress{max-width:260px}.journey-scene{height:clamp(355px,57svh,490px);border-radius:23px;border-width:3px;background-position:42% center}.journey-destination{left:13%;width:76%;padding:12px;top:25%;height:35%}.journey-slot{min-height:49px}.journey-slots{gap:3px}.journey-slot .journey-piece{height:48px;padding:0}.size-3 .journey-slot{min-height:80px}.size-3 .journey-piece{height:77px;max-width:84px}.size-3.picnic-destination{left:21%;width:66%}.journey-source{bottom:5%;left:5%;width:90%;padding:7px 10px;gap:4px;min-height:71px;border-width:2px;border-radius:20px}.journey-source-cell{width:64px;height:64px;flex-basis:64px}.journey-source .journey-piece{height:62px;max-width:70px}.journey-source.many{padding:5px 7px;gap:2px;grid-template-columns:repeat(6,minmax(0,1fr))}.many .journey-source-cell{height:47px}.many .journey-piece{height:46px;max-width:53px}.garage-destination{border-width:6px;border-bottom-width:11px;top:27%}.garage-destination:before{height:22px;top:-28px;left:-13px;right:-13px}.garage-destination .journey-slot{min-height:54px;border-width:1px}.desk-destination{border-width:6px;height:32%;top:28%}.orchard-destination{border-width:7px}.orchard-destination:before{border-width:8px}.treasure-destination{border-width:7px;top:27%}.journey-count{width:49px;height:49px;top:9%;right:7%;font-size:29px}.journey-feedback{font-size:13px;min-height:24px;margin:6px 0 0}.journey-gesture{font-size:10px}.journey-start>img{max-height:205px}.journey-start .start-copy{padding:16px}.journey-start .start-copy h1{font-size:27px}.journey-start .start-copy p{font-size:14px}.journey-start .journey-intro-steps{font-size:12px}.journey-checkpoint{margin:15px auto;padding:24px 18px}.journey-checkpoint h2{font-size:26px}.journey-sparkle{font-size:43px}.journey-result{margin-top:20px}.journey-result h2{font-size:27px}}
@media(max-height:650px) and (min-width:651px){.journey-scene{height:325px}.journey-instruction{min-height:48px}.journey-slot{min-height:45px}.journey-slot .journey-piece{height:47px}.journey-source .journey-piece{height:48px}.journey-source-cell{height:48px}.journey-source.many .journey-source-cell{height:39px}.journey-source.many .journey-piece{height:39px}.journey-source{min-height:55px}.journey-instruction h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.celebrating .journey-destination,.journey-sparkle{animation:none}}
/* Keep destinations on the clear working surface beneath the illustrated characters. */
.journey-destination{top:35%;height:34%}.garage-destination,.treasure-destination,.desk-destination{top:38%}.desk-destination{height:30%}
@media(max-width:650px){.journey-scene{background-position:left center}.journey-destination{top:35%;height:34%}.garage-destination,.treasure-destination{top:39%;height:31%}.desk-destination{top:39%;height:29%}.size-10 .journey-slot{min-height:43px}.size-10 .journey-slot .journey-piece{height:43px}}
.journey-progress #step-count{white-space:nowrap}.journey-progress progress{min-width:0}.journey-source:not(.many) .journey-source-cell{width:102px;height:85px;flex-basis:102px}.journey-source:not(.many) .journey-piece{height:83px;max-width:98px}
@media(max-width:650px){.journey-source:not(.many) .journey-source-cell{width:64px;height:64px;flex-basis:64px}.journey-source:not(.many) .journey-piece{height:62px;max-width:70px}}
.journey-piece img,.table-ghost img{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-select:none;display:block;filter:drop-shadow(0 3px 2px #80542d20)}.journey-piece img{border-radius:0}
/* Finger interludes use exact, editable vector hands. */
.finger-scene{background:radial-gradient(ellipse at 50% 30%,#fff9df,#e4efda);display:flex;flex-direction:column;align-items:center;justify-content:center}.hands-button{border:0;background:none;display:flex;align-items:center;justify-content:center;width:85%;height:82%;padding:8px;gap:20px;cursor:pointer;position:relative}.counting-hand{height:100%;max-width:42%;display:flex;align-items:center;justify-content:center}.counting-hand:only-child{max-width:67%}.counting-hand svg{max-width:100%;height:100%;filter:drop-shadow(0 9px 3px #83715122)}.finger-hint{font-size:14px;font-weight:650;margin:0 12px 15px;text-align:center;color:#6e8067}.hand-next{font-size:54px;color:#8fb399}.raised-finger{animation:finger-up .25s ease-out}.groups-scene{display:flex;align-items:center;justify-content:center;gap:25px;padding:30px;background:linear-gradient(135deg,#e4efda,#fff4dc)}.journey-group{border:3px solid #fffdf1;border-radius:27px;background:#fff7e8;box-shadow:0 6px 0 #b8976930;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;align-items:center;gap:8px;width:45%;min-height:65%;padding:18px}.journey-group .journey-piece{width:86px;height:86px}.sharing-scene .journey-plates{display:flex;gap:20px;justify-content:center;align-items:center;position:absolute;top:35%;width:92%;left:4%}.picnic-place{width:29%;text-align:center}.place-name{display:inline-block;font-size:14px;font-weight:750;background:#fff8e9e6;padding:4px 14px;border-radius:12px;margin-bottom:8px}.mini-plate{height:128px;border-radius:50%;background:radial-gradient(ellipse,#fffdf1 50%,#c5d9af 56%,#f7fbe9 67%,#b6c997 73%);border:2px solid #afc292;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 0 #84704b22}.mini-plate .journey-piece{height:90px;max-width:100px}.sharing-scene .journey-source{bottom:6%}.journey-result #continue{margin:10px auto;display:block;max-width:340px}.journey-result #replay{font-size:14px}.hands-button:focus-visible,.journey-group:focus-visible{outline:4px solid #dba258;outline-offset:3px}
@keyframes finger-up{from{opacity:.5;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(max-width:650px){.hands-button{width:96%;gap:9px;height:79%}.counting-hand{max-width:47%}.finger-hint{font-size:12px}.groups-scene{gap:12px;padding:15px}.journey-group{width:48%;padding:8px;gap:3px}.journey-group .journey-piece{height:57px;width:57px}.sharing-scene .journey-plates{gap:8px;top:38%;width:94%;left:3%}.mini-plate{height:83px}.mini-plate .journey-piece{height:62px;max-width:65px}.place-name{font-size:12px;padding:3px 8px}.finger-scene .journey-count{top:6%;right:5%}.journey-phase{min-height:15px}}
