/* One working phone viewport, with an accessible scroll layout for large text. */
.game.hands-on-game{height:100dvh;min-height:0;max-width:600px;padding-top:var(--counter-safe-top,env(safe-area-inset-top));grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}
.hands-on-game .topbar{position:static;padding:6px 12px 2px;gap:7px;min-height:44px;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) auto}
.hands-on-game .brand{font-size:.95rem;max-width:100%;min-width:0;max-height:36px;overflow:hidden;line-height:1.08}
.hands-on-game .date{font-size:.65rem;white-space:nowrap;line-height:1.2;overflow:hidden}.hands-on-game .date small{font-size:.67rem;margin-top:3px;white-space:normal}
.hands-on-game .cash small{font-size:.49rem}.hands-on-game .cash strong{font-size:1.32rem}
.hands-on-game .utility{padding:0 12px 2px;min-height:18px;line-height:1}.hands-on-game .utility>span{font-size:.7rem}
.hands-on-game #world-screen:not([hidden]){display:flex;flex-direction:column;width:100%;max-width:none;height:100%;min-height:0;overflow:hidden;gap:0}
.hands-on-game .journey-strip{padding:1px 8px 4px;gap:5px;grid-template-columns:90px minmax(0,1fr)}
.hands-on-game .journey-strip button{min-height:30px;padding:3px 7px;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;font-size:.67rem}
.hands-on-game .journey-strip button:first-child{border-left-width:3px}.journey-strip .reserve-label{font-size:.56rem;letter-spacing:.015em;color:var(--muted)}.journey-strip .reserve-values{font-size:.66rem;font-weight:650}
.hands-on-game .owner-world .scene-wrap{height:auto;min-height:110px;max-height:none;flex:1 1 180px;aspect-ratio:auto}
.hands-on-game .world-top{top:3px;left:7px;right:7px}.hands-on-game .world-top button{min-height:40px;padding:5px 9px;font-size:.8rem;box-shadow:none}.hands-on-game .world-top .location-pill{max-width:calc(100% - 100px)}.hands-on-game .world-tools{gap:4px}.hands-on-game .help-button{width:40px;display:grid;place-items:center}
.hands-on-game .counter-speech{top:49px;left:8px;padding:6px 9px;max-width:57%;box-shadow:none}.hands-on-game .counter-speech small{font-size:.48rem}.hands-on-game .counter-speech p{font-size:.76rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hands-on-game #neighborhood-label{margin:3px 8px 4px;min-height:24px;max-height:24px;padding:3px 8px;font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:7px;line-height:1.3}
.hands-on-game #hands-on{padding:0 8px;flex:0 0 auto}.hands-on-game .touch-station{height:clamp(168px,25dvh,214px);min-height:0;padding:8px 10px 3px;margin-bottom:4px;grid-template-rows:auto minmax(90px,1fr) 31px;background:#f0dfbc;color:#294d37;border-radius:14px}
.hands-on-game .touch-caption{min-height:33px}.hands-on-game .touch-caption h2{font-size:.92rem;margin-bottom:2px}.hands-on-game .touch-caption p{font-size:.72rem;line-height:1.2}.hands-on-game .touch-recipe{min-height:32px;font-size:.7rem;top:0;padding:4px 7px}
.hands-on-game .touch-surface{min-height:88px}.hands-on-game .touch-art{height:100%;display:grid;place-items:center}.hands-on-game .touch-art svg{display:block;height:100%;width:100%;min-height:0;min-width:0;max-width:none;max-height:none;overflow:visible}
.touch-footer{display:flex;align-items:center;gap:9px;min-height:31px}.hands-on-game .touch-progress{position:static;flex:1;height:4px;margin:0;max-width:none}.hands-on-game .touch-progress span{transition:width .06s linear}.touch-readout{font:650 .63rem system-ui;color:#53734b;min-width:27px}
.hands-on-game .touch-alternative{min-height:31px;padding:2px 5px;width:auto;font-size:.7rem;text-decoration:underline;background:transparent;border:0;margin:0;color:#355c42}
.hands-on-game #counter-stations{margin:0 8px 3px;gap:5px;flex:0 0 auto}.hands-on-game #counter-stations button{min-height:42px;padding:4px 3px;border-radius:9px}.hands-on-game #counter-stations b{font-size:.81rem}.hands-on-game #counter-stations small{display:none}
.hands-on-game .owner-world .operate{padding:2px 8px 3px;flex:0 0 auto;min-height:0}.hands-on-game .service-overview{min-height:20px}.hands-on-game .touch-active .service-overview{display:none}.hands-on-game .counter-inventory{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:4px;min-height:32px}.hands-on-game .counter-inventory button{min-height:32px;font-size:.69rem;padding:4px 6px;overflow:hidden;text-overflow:ellipsis}.hands-on-game .counter-order{display:none}
.hands-on-game .counter-goal{min-height:31px;height:31px;padding:3px 8px;margin-top:2px;border-radius:8px}.hands-on-game .counter-goal strong{font-size:.69rem}.hands-on-game .goal-arrow svg{height:14px;width:14px}
.hands-on-game .time-row{min-height:35px;margin-top:1px}.hands-on-game .time-row button{min-height:35px;font-size:.72rem}.hands-on-game .speed-buttons button{min-width:34px;padding:3px}.hands-on-game .time-row .quiet{font-size:.74rem}
.hands-on-game .toast{position:fixed;left:15px;right:15px;bottom:calc(70px + var(--counter-safe-bottom,env(safe-area-inset-bottom)));max-width:530px;margin:auto;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;z-index:12;pointer-events:none;box-shadow:0 4px 18px #102e2422;font-size:.75rem}.hands-on-game .toast:empty{display:none}
.hands-on-game .bottom-nav{position:static;padding:0 8px var(--counter-safe-bottom,env(safe-area-inset-bottom));z-index:9}.hands-on-game .bottom-nav button{min-height:46px;padding:3px;font-size:.75rem}.hands-on-game .bottom-nav svg{width:18px;height:18px}
.hands-on-game .page{min-height:0;overflow:auto;max-height:none}
.settings-sheet{max-height:min(650px,87dvh)}.settings-sheet .sheet-context{display:none}.settings-sheet .sheet-header{padding:12px 16px 10px}.settings-sheet .sheet-header h2{font-size:1.4rem}.settings-sheet .sheet-header button{min-height:40px;min-width:40px}.settings-sheet .sheet-body{padding:10px 16px 14px}
.settings-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:12px}.settings-tabs button{min-height:42px;padding:5px;font-size:.85rem}.settings-tabs [aria-current=page]{background:var(--company-brand,#476b36);border-color:var(--company-brand,#476b36);color:#fff9e6}
.settings-sheet h3{margin:10px 0;font-size:.95rem}.settings-sheet label{margin:8px 0;font-size:.85rem}.settings-sheet label.checkbox{min-height:42px;justify-content:space-between;flex-direction:row-reverse;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 11px}.settings-sheet input[type=checkbox]{width:23px;height:23px;min-height:23px;accent-color:var(--green)}.settings-sheet .muted{font-size:.75rem;line-height:1.4}.settings-sheet .settings-done{min-height:44px;margin-top:6px}.settings-feedback{color:var(--muted);font-size:.68rem;margin:8px 0;text-align:center}
.counter-burst{position:fixed;width:0;height:0;z-index:15;pointer-events:none}.counter-burst i{position:absolute;left:-4px;top:-4px;width:8px;height:11px;animation:zest-burst .62s cubic-bezier(.14,.65,.36,1) forwards;box-shadow:0 1px 0 #af8a4433}
@keyframes zest-burst{0%{transform:translate(0,0) scale(.4);opacity:1}65%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.25);opacity:0}}
@keyframes ice-hover{50%{transform:translateY(-5px)}}@keyframes arrow-nudge{50%{transform:translateY(-5px)}}@keyframes half-pop{from{opacity:.4;scale:.7}to{opacity:1;scale:1}}
.ice-cubes{animation:ice-hover 1.7s ease-in-out infinite}.serve-arrow{animation:arrow-nudge 1.1s ease-in-out infinite}.lemon-half{animation:half-pop .2s ease-out;transform-box:fill-box;transform-origin:center}
@media(max-height:740px){.hands-on-game .owner-world .scene-wrap{min-height:95px}.hands-on-game .touch-station{height:160px;grid-template-rows:auto minmax(75px,1fr) 29px}.hands-on-game #counter-goal{display:none}.hands-on-game .touch-caption h2{font-size:.85rem}.hands-on-game .touch-caption p{font-size:.66rem}.hands-on-game .touch-surface{min-height:72px}.hands-on-game .counter-speech p{-webkit-line-clamp:1}.hands-on-game .journey-strip button{min-height:27px}}
@media(max-width:350px){.hands-on-game .brand{font-size:.8rem}.hands-on-game .date{font-size:.58rem}.hands-on-game .date small{font-size:.6rem}.hands-on-game .cash strong{font-size:1.15rem}.journey-strip .reserve-label{font-size:.49rem}.journey-strip .reserve-values{font-size:.59rem}}
@media(max-height:610px){.game.hands-on-game{height:auto;min-height:100dvh;overflow:visible}.hands-on-game #world-screen:not([hidden]){height:auto;overflow:visible}.hands-on-game .owner-world .scene-wrap{height:155px;min-height:155px;flex:none}.hands-on-game .touch-station{height:170px}}
.text-large .game.hands-on-game{height:auto;min-height:100dvh;overflow:visible}.text-large .hands-on-game #world-screen:not([hidden]){height:auto;overflow:visible}.text-large .hands-on-game .owner-world .scene-wrap{height:240px;min-height:240px;flex:none}.text-large .hands-on-game .touch-station{height:270px;min-height:270px}.text-large .hands-on-game .touch-caption h2{font-size:1.1rem}.text-large .hands-on-game .touch-caption p,.text-large .hands-on-game .touch-alternative{font-size:1rem}.text-large .hands-on-game #counter-stations{grid-template-columns:1fr 1fr}.text-large .hands-on-game #counter-stations button{min-height:48px}.text-large .hands-on-game .counter-inventory{grid-template-columns:1fr 1fr}.text-large .hands-on-game .counter-inventory button,.text-large .hands-on-game .time-row button{font-size:.9rem;min-height:44px}.text-large .hands-on-game .time-row{flex-wrap:wrap}.text-large .hands-on-game .journey-strip{grid-template-columns:1fr}.text-large .hands-on-game .journey-strip button{white-space:normal;font-size:1rem;min-height:44px}.text-large .hands-on-game #neighborhood-label{max-height:none;min-height:44px;white-space:normal;font-size:1rem}.text-large .hands-on-game #counter-goal{display:none}.text-large .hands-on-game .brand{max-height:none;font-size:1rem}.text-large .hands-on-game .date{white-space:normal}.text-large .hands-on-game .bottom-nav button{min-height:55px;font-size:1rem}
@media(prefers-reduced-motion:reduce){.counter-burst{display:none}.ice-cubes,.serve-arrow,.lemon-half{animation:none!important}}.reduced-motion .counter-burst{display:none}
