:root{--ink: #263238;--paper: #fff8e1;--card: #ffffff;--go: #43a047;--accent: #1e88e5;--warn: #fb8c00;--radius: 28px;--tap: clamp(120px, 22vh, 230px);--shadow: 0 6px 0 rgba(38, 50, 56, .18);--font: "SF Pro Rounded", ui-rounded, "Arial Rounded MT Bold", "Nunito", system-ui, sans-serif;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font);overflow:hidden;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.35}svg{display:block}.app,.screen{height:100dvh;width:100vw}.screen{display:flex;flex-direction:column;align-items:center;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));gap:12px;position:relative;overflow:hidden}.zone-numbers{background:linear-gradient(#fff3c4,#ffe082)}.zone-letters{background:linear-gradient(#e3f2fd,#90caf9)}.zone-colors{background:linear-gradient(#fce4ec,#f8bbd0)}.zone-logic{background:linear-gradient(#fff3e0,#ffcc80)}.zone-garage{background:linear-gradient(#eceff1,#b0bec5)}.zone-play{background:linear-gradient(#e8f5e9,#a5d6a7)}.title{font-size:clamp(40px,9vh,88px);margin:2vh 0 0;color:var(--accent);text-shadow:0 5px 0 #fff,0 8px 0 rgba(0,0,0,.12);letter-spacing:1px}.title.small{font-size:clamp(26px,min(6vh,7.5vw),52px);margin:0;min-width:0;line-height:1.05}.title.long{font-size:clamp(32px,6.5vh,64px);text-align:center;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;padding-bottom:10px}.title.small.long{font-size:clamp(20px,min(4.5vh,5.2vw),40px);text-align:left;-webkit-line-clamp:2;padding-bottom:6px}.big-btn{min-width:var(--tap);height:calc(var(--tap) * .75);border-radius:999px;background:var(--card);box-shadow:var(--shadow);display:grid;place-items:center;font-size:44px;font-weight:900;transition:transform .1s}.big-btn.go{background:var(--go);color:#fff}.big-btn:active,.choice:active,.zone-card:active,.game-card:active,.scene-item:active{transform:scale(.94)}.round-btn{width:76px;height:76px;border-radius:50%;background:var(--accent);box-shadow:var(--shadow);display:grid;place-items:center;flex:none}.round-btn-spacer{width:76px;flex:none}.start{background:linear-gradient(#bbdefb,#fff8e1 70%);justify-content:space-around}.start-cars{display:flex;gap:3vw;align-items:flex-end;width:min(92vw,1000px)}.start-cars>div{flex:1}.start-btn{width:200px;height:200px}.pulse{animation:pulse 1.4s ease-in-out infinite}.home{background:linear-gradient(#bbdefb,#fff8e1 60%)}.home-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.home-head-actions{display:flex;gap:12px;align-items:center;flex:none}.garage-btn{flex:none;width:84px;height:84px;padding:12px;border-radius:50%;background:var(--card);box-shadow:var(--shadow);display:grid;place-items:center}.garage-btn>*{width:100%;height:100%}@media(max-width:520px){.garage-btn{width:64px;height:64px;padding:9px}.home-head .hold-btn{width:52px;height:52px;font-size:26px}}.zone-grid{flex:1;width:min(100%,1200px);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:2.4vh 2vw;min-height:0}.zone-card,.game-card{border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5vh;gap:1vh;min-height:0;transition:transform .1s;border:5px solid #fff}.zone-icon,.game-icon{width:78%;flex:1;min-height:0;display:grid;place-items:center}.zone-name,.game-name{font-size:clamp(18px,3.4vh,32px);font-weight:800;text-align:center}.hold-btn{position:relative;flex:none;width:64px;height:64px;aspect-ratio:1;border-radius:50%;background:#ffffffb3;font-size:30px;display:grid;place-items:center}.hold-ring{position:absolute;inset:-4px;border-radius:50%;border:5px solid transparent}.hold-btn.holding .hold-ring{border-color:var(--accent);clip-path:inset(0 0 0 0);animation:hold var(--hold-ms) linear forwards}.sleep .hold-btn{position:absolute;right:20px;bottom:20px}.fs-btn{background:#ffffffd9}.fs-tip{position:absolute;top:96px;right:16px;z-index:20;max-width:min(420px,90vw);background:#263238;color:#fff;padding:14px 18px;border-radius:16px;font-size:18px;line-height:1.35;box-shadow:0 8px 24px #00000040;animation:pop .25s;font-family:system-ui,sans-serif}.topbar{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.topbar-mid{flex:1;display:flex;justify-content:center;align-items:center}.zone-title{margin:0;font-size:clamp(26px,5vh,44px)}.game-grid{flex:1;width:min(100%,1200px);display:grid;gap:2.4vh 2vw;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;min-height:0}.game-grid.n4{grid-template-columns:repeat(2,1fr)}.game-grid.n1,.game-grid.n2{grid-template-columns:repeat(2,minmax(0,40vw));justify-content:center}.game-grid.n1,.game-grid.n2,.game-grid.n3{grid-auto-rows:minmax(0,56vh);align-content:center}.game-card{background:var(--card)}.dots{display:flex;gap:10px}.dots span{width:22px;height:22px;border-radius:50%;background:#fffc;border:3px solid var(--ink)}.dots span.on{background:var(--go)}.game{gap:2vh}.scene{width:100%;flex:1 1 0;min-height:0;display:flex;align-items:stretch;justify-content:center;gap:2vw}.scene-item{position:relative;flex:0 1 40vw;min-width:0;min-height:0;display:grid;place-items:center;border-radius:20px}.scene-road{background:#546e7a;border-radius:24px;padding:2.5vh 2vw;border-top:8px dashed #fdd835}.scene-road .scene-item{flex:1 1 0;max-width:17vw}.scene-pair .scene-item{flex-basis:38vw;background:#ffffff73;padding:1.5vh}.scene-lot{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows, 1),minmax(0,1fr));width:min(100%,calc(var(--cols) * var(--colw)));align-self:center;height:100%;background:#78909c;border-radius:24px;padding:1.5vh 0;gap:1vh 0;grid-auto-rows:minmax(0,1fr)}.scene-lot .scene-item{width:100%;height:100%;padding:0 1vw;border-left:4px solid #fff;border-radius:0}.scene-lot .scene-item:nth-child(5n),.scene-lot .scene-item:last-child{border-right:4px solid #fff}.scene-item.counted{background:#ffffff4d}.scene-item>.count-badge{position:absolute;top:4px;right:8px;width:48px;height:48px;border-radius:50%;background:var(--go);color:#fff;font-size:30px;font-weight:900;display:grid;place-items:center;border:3px solid #fff;animation:pop .25s}.choices{width:100%;flex:1 1 0;min-height:0;display:flex;justify-content:center;align-items:center;gap:2.5vw}.choices.n2{--cw: 30vw}.choices.n3{--cw: 26vw}.choices.n4{--cw: 21vw}.choice{flex:0 1 var(--cw);min-width:0;height:min(100%,34vh);background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;place-items:center;padding:1.6vh;transition:transform .12s,opacity .2s;border:5px solid #fff}.no-scene .choices.n2{--cw: 36vw}.no-scene .choices.n3{--cw: 28vw}.no-scene .choices.n4{--cw: 21.5vw}.no-scene .choice{height:min(100%,52vh)}.no-scene .choices.n3 .choice{height:min(100%,40vh)}.no-scene .choices.n4{flex-wrap:wrap;align-content:center;gap:2.4vh 3vw}.no-scene .choices.n4 .choice{flex:0 0 36vw;height:39vh}.scene.has-vehicles .t-mystery>*{height:34%;align-self:end}.choice.dim{opacity:.45}.choice.glow{animation:glow 1s ease-in-out infinite}.choice.win{animation:win .6s ease forwards;border-color:var(--go)}.scene{position:relative}.choices.waiting{opacity:.25;pointer-events:none;transition:opacity .3s}.scene.covered:after{content:"";position:absolute;inset:0;border-radius:24px;z-index:3;background:repeating-linear-gradient(#b0bec5 0 20px,#90a4ae 20px 25px);box-shadow:inset 0 -10px #78909c;transform-origin:top;animation:doordown .4s ease-out}@keyframes doordown{0%{transform:scaleY(0)}to{transform:none}}.scene-item.gone>*{visibility:hidden}.scene-item.m-arrive:not(.moved)>*{visibility:hidden}.scene-item.m-arrive.moved>*{animation:drivein .9s cubic-bezier(.2,1.1,.4,1) both}.scene-item.m-leave.moved{pointer-events:none}.scene-item.m-leave.moved>*{animation:driveaway 1.1s ease-in forwards}@keyframes driveaway{0%{transform:none}15%{transform:translate(-2vw)}to{transform:translate(70vw);opacity:0}}.choices.n5{--cw: 17vw}.thing-svg{width:100%;height:100%}.thing-vehicle{width:calc(var(--s, 1) * 100%);height:calc(var(--s, 1) * 100%);align-self:end;justify-self:center}.thing-vehicle.center{align-self:center}.choice>*,.scene-item>*,.mem-card>*,.zone-icon>*,.game-icon>*{min-width:0;min-height:0;width:100%;height:100%}.choice>.thing-vehicle,.scene-item>.thing-vehicle,.mem-card>.thing-vehicle,.zone-icon>.thing-vehicle,.game-icon>.thing-vehicle{width:calc(var(--s, 1) * 100%);height:calc(var(--s, 1) * 100%)}.thing-cap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6vh;width:100%;height:100%;min-height:0}.thing-cap-art{flex:1 1 0;min-height:0;width:100%;display:grid;place-items:center}.thing-cap-art>*{width:100%;height:100%;min-height:0}.caption{font-size:clamp(20px,4vh,40px);font-weight:900;line-height:1.1;color:var(--ink);letter-spacing:.5px}.caption b{color:#e53935;font-size:1.35em}.word-card{position:absolute;inset:0;display:grid;place-items:center;font-weight:900;color:var(--ink);letter-spacing:.5px;white-space:nowrap;font-size:min(6vh,4.5vw);font-size:calc(var(--k) * 1cqw)}.choice{container-type:inline-size;position:relative}.seq-top{flex:1 1 0;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.4vh}.plate{display:flex;align-items:center;gap:1vw;background:#fff;border:6px solid var(--ink);border-radius:18px;padding:1.2vh 2.4vw 1.2vh 1vw;font-weight:900;font-size:min(13vh,9vw);letter-spacing:.12em;box-shadow:var(--shadow);line-height:1}.plate>i{align-self:stretch;width:min(4vh,3vw);border-radius:8px;background:#1e88e5}.plate.slots span{width:min(12vh,8.5vw);height:min(15vh,11vw);border-bottom:6px solid #b0bec5;display:grid;place-items:center}.plate.slots span.cur{border-bottom-color:var(--go);animation:pulse 1.2s ease-in-out infinite}.spots{flex-direction:row;align-items:stretch;background:#78909c;border-radius:24px;padding:1.5vh 1vw;gap:0;width:min(100%,92vw)}.spot{position:relative;flex:1 1 0;border-left:4px solid #fff;display:grid;place-items:center;padding:1vh 1vw}.spot:last-child{border-right:4px solid #fff}.spot.cur{background:#ffffff2e}.spot-num{position:absolute;top:6px;left:8px;font-weight:900;font-size:26px;color:#fff;opacity:.8}.spot>.thing-vehicle{width:calc(var(--s, 1) * 100%);height:calc(var(--s, 1) * 100%)}.choices.pool .choice.used{visibility:hidden}.choices.n5{--cw: 16vw}.choices.n6{--cw: 13.5vw}.ptext{font-size:18px;padding:10px 12px;border-radius:10px;border:2px solid #cfd8dc;min-width:220px;-webkit-user-select:text;user-select:text}.carrier-row{flex:1.2 1 0;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;gap:2vw}.need-sign{width:min(18vh,14vw);aspect-ratio:1;flex:none}.carrier{position:relative;display:flex;align-items:flex-end;flex:none;width:min(62vw,105.8vh);aspect-ratio:2.3;min-width:0}.decks{flex:1;height:90%;display:flex;flex-direction:column;justify-content:space-between;padding-bottom:6%}.deck{display:flex;height:44%;border-bottom:10px solid #546e7a;border-radius:0 0 4px 4px}.deck .slot{flex:1 1 0;min-width:0;display:grid;place-items:end center;padding:2px 3px}.deck .slot.empty:after{content:"";width:80%;height:50%;border:3px dashed rgba(38,50,56,.35);border-radius:10px}.deck .slot>*{width:100%;height:100%}.deck .slot.pre{opacity:.85}.carrier-cab{height:100%;width:auto;flex:none}.carrier-wheels{position:absolute;left:4%;right:24%;bottom:2%;display:flex;justify-content:space-around;pointer-events:none}.carrier-wheels i{width:min(7vh,5vw);aspect-ratio:1;border-radius:50%;background:#cfd8dc;box-shadow:inset 0 0 0 min(2vh,1.5vw) #263238}.carrier-go{flex:none;font-size:40px;height:120px;min-width:120px}.lot-row{flex:.55 1 0;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;gap:1vw;flex-wrap:nowrap;background:#78909c;border-radius:24px;padding:1.5vh 1vw}.lot-car{flex:0 1 11vw;height:100%;max-height:22vh;min-width:0;border-left:4px solid #fff;display:grid;place-items:end center;padding:0 .5vw}.lot-car>*{width:100%;height:100%}.lot-car.used>*{visibility:hidden}.lot-car.used{pointer-events:none}.puzzle-body{flex:1;min-height:0;width:100%;display:flex;gap:3vw;align-items:center;justify-content:center}.puzzle-board{position:relative;display:grid;background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden;flex:none}.puzzle-board.sq{aspect-ratio:1;height:min(100%,68vh,48vw)}.puzzle-board.wide{aspect-ratio:5 / 3;width:min(50vw,100%)}.puzzle-ghost{position:absolute;inset:0;opacity:.16;pointer-events:none}.puzzle-cell{position:relative;overflow:hidden;border:2px dashed #b0bec5;z-index:1}.puzzle-cell.filled{border-color:transparent}.piece-art{position:absolute;pointer-events:none}.puzzle-tray{display:grid;gap:1.4vh 1.2vw;align-content:center;flex:none}.puzzle-piece{position:relative;overflow:hidden;background:#fff;border-radius:12px;box-shadow:var(--shadow);border:4px solid #fff;touch-action:none;cursor:grab}.puzzle-piece.sel{border-color:var(--accent);transform:scale(1.06)}.puzzle-piece.dragging{z-index:30;box-shadow:0 14px 30px #0000004d;cursor:grabbing}.puzzle-piece.used{visibility:hidden}@media(orientation:portrait){.puzzle-body{flex-direction:column}.puzzle-board.sq{height:auto;width:min(80vw,46vh)}.puzzle-board.wide{width:86vw}}.lr-body{flex:1;min-height:0;width:100%;display:grid;place-items:center}.lr-svg{height:min(100%,80vw);aspect-ratio:1;background:#a5d6a7;border-radius:28px;box-shadow:var(--shadow);touch-action:none}.lr-asphalt{fill:none;stroke:#607d8b;stroke-width:15;stroke-linecap:round;stroke-linejoin:round}.lr-road.todo .lr-asphalt{stroke:#90a4ae;opacity:.55}.lr-dash{fill:none;stroke:#fff;stroke-width:1.2;stroke-dasharray:3 3;stroke-linecap:round;pointer-events:none}.lr-paint{fill:none;stroke:#fdd835;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;opacity:.9;pointer-events:none}.lr-flag circle{fill:#43a047;stroke:#fff;stroke-width:1.5}.lr-flag path{fill:none;stroke:#fff;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.lr-arrow{stroke:#43a047;stroke-width:2;stroke-dasharray:2 2;pointer-events:none}.lr-car{pointer-events:none}.build2{gap:1vh}.bld{flex:1;min-height:0;width:100%;display:grid;gap:1.4vh 1.4vw;grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"cats stage" "cats opts"}.bld.has-order{grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"cats order" "cats stage" "cats opts"}.bld-cats{grid-area:cats;display:grid;grid-template-columns:repeat(2,auto);align-content:center;gap:1vh .8vw}.bcat{width:min(9.5vh,76px);height:min(9.5vh,76px);border-radius:20px;background:var(--card);box-shadow:var(--shadow);font-size:min(5vh,38px);border:4px solid #fff;display:grid;place-items:center}.bcat.on{border-color:var(--accent);background:#e3f2fd;transform:scale(1.06)}.bld-order{grid-area:order;justify-self:center;display:flex;align-items:center;gap:1vw;background:#fff;border-radius:20px;padding:.8vh 1.4vw;box-shadow:var(--shadow);border:4px dashed #fbc02d}.bo-icon{font-size:min(5vh,36px)}.bo-item{position:relative;height:min(8vh,64px);aspect-ratio:1;display:grid;place-items:center}.bo-item.car{aspect-ratio:1.4}.bo-item.ok:after{content:"✓";position:absolute;right:-6px;top:-8px;width:26px;height:26px;border-radius:50%;background:var(--go);color:#fff;font-weight:900;display:grid;place-items:center;font-size:17px}.bld-stage{grid-area:stage;position:relative;min-height:0;display:grid;place-items:center}.bld-car{width:min(92%,58vh * 1.35);aspect-ratio:216 / 160;display:grid;place-items:center;cursor:pointer}.bld-lift{position:absolute;bottom:6%;left:18%;right:18%;height:2.4vh;border-radius:12px;background:#90a4ae;box-shadow:0 6px #78909c;z-index:-1}.bld-go{position:absolute;right:0;bottom:0;height:min(12vh,100px);min-width:min(12vh,100px);font-size:min(4.5vh,36px)}.bld-surprise{position:absolute;left:0;bottom:0;height:min(12vh,100px);min-width:min(12vh,100px);font-size:min(6vh,46px)}.bld-opts{grid-area:opts;display:flex;gap:10px;align-items:center;overflow-x:auto;overflow-y:hidden;padding:4px 4px 10px;touch-action:pan-x;-webkit-overflow-scrolling:touch;min-width:0}.bopt{flex:none;height:min(11vh,86px);aspect-ratio:1;background:var(--card);border-radius:18px;box-shadow:var(--shadow);border:4px solid #fff;padding:4px;display:grid;place-items:center}.bopt.car{aspect-ratio:1.35}.bopt.wide{aspect-ratio:1.8}.bopt.on{border-color:var(--accent);background:#e3f2fd}.bopt>*{width:100%;height:100%}.bpot{display:block;width:78%;height:78%;border-radius:50%;border:3px solid rgba(0,0,0,.15);align-self:center;justify-self:center}.bopt .bpot{width:78%;height:78%}.bnum{display:grid;place-items:center;font-weight:900;font-size:min(5.5vh,42px);color:var(--ink)}.bplate{display:grid;place-items:center;font-weight:900;font-size:min(3.2vh,24px);letter-spacing:.08em;border:3px solid var(--ink);border-radius:8px;height:70%!important;align-self:center}.bemoji{display:grid;place-items:center;font-size:min(6vh,44px)}.bcat svg{width:72%;height:72%}.bmodel{display:grid;place-items:center;font-weight:900;font-style:italic;font-size:min(3vh,22px);color:#fff;background:var(--ink);border-radius:10px;height:64%!important;align-self:center;letter-spacing:.04em;overflow:hidden}.bld-type{position:fixed;inset:0;z-index:30;background:#26323873;display:grid;place-items:start center;padding-top:8vh}.bld-type-box{display:flex;align-items:center;gap:12px;background:#fff;border-radius:24px;padding:14px;box-shadow:var(--shadow);width:min(calc(100vw - 24px),640px)}.bld-type-box .bemoji{font-size:36px}.bmodel-input{flex:1 1 auto;width:0;min-width:0;font:inherit;font-size:clamp(20px,6vw,30px);font-weight:900;font-style:italic;text-transform:uppercase;padding:10px 14px;border:4px solid var(--accent);border-radius:16px;outline:none}.bld-type-box .big-btn{width:64px;height:64px;min-width:64px;font-size:30px;flex:none}@media(max-width:500px){.bld-type-box{gap:8px;padding:10px}.bld-type-box .bemoji{display:none}.bld-type-box .big-btn{width:54px;height:54px;min-width:54px;font-size:26px}}.bdiv{flex:none;width:3px;align-self:stretch;margin:8px 4px;background:#26323833;border-radius:2px}.drive-scene{position:fixed;inset:0;z-index:40;background:linear-gradient(#81d4fa,#e1f5fe 60%,#a5d6a7 60%);overflow:hidden}.ds-sun{position:absolute;right:8%;top:8%;width:14vh;aspect-ratio:1;border-radius:50%;background:#fdd835;box-shadow:0 0 40px #fff59d}.ds-road{position:absolute;left:0;right:0;bottom:12%;height:22%;background:#546e7a}.ds-road i{position:absolute;left:0;right:0;top:50%;border-top:8px dashed #fff}.ds-car{position:absolute;bottom:20%;width:min(48vw,52vh * 1.35);left:-55%;animation:dsdrive 3.4s ease-in-out forwards}.ds-hop.h1{animation:dshop .35s ease-out}.ds-hop.h0{animation:dshop2 .35s ease-out}@keyframes dsdrive{0%{left:-55%}45%{left:30%}60%{left:30%}to{left:110%}}@keyframes dshop{40%{transform:translateY(-12%)}}@keyframes dshop2{40%{transform:translateY(-12%)}}.garage-car{width:100%;height:100%}.garage-car.zoom{animation:gzoom 1.2s ease-in-out}@keyframes gzoom{40%{transform:translate(60%);opacity:0}41%{transform:translate(-60%);opacity:0}to{transform:none;opacity:1}}@media(orientation:portrait){.bld,.bld.has-order{grid-template-columns:minmax(0,1fr)}.bld{grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"stage" "opts" "cats"}.bld.has-order{grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"order" "stage" "opts" "cats"}.bld-cats{grid-template-columns:repeat(6,1fr);justify-items:center;gap:1.2vh 1.6vw}.bcat{width:min(13.5vw,76px);height:min(13.5vw,76px);font-size:min(7vw,36px)}.bld-car{width:min(96%,40vh * 1.35)}.bopt{height:min(17vw,90px)}.ds-car{width:80vw}}@media(max-height:500px)and (orientation:landscape){.bcat{width:50px;height:50px;font-size:26px;border-radius:14px;border-width:3px}.bld-cats{gap:6px;grid-template-columns:repeat(3,auto)}.bopt{height:64px}.bld-go,.bld-surprise{height:60px;min-width:60px;font-size:24px}.bo-item{height:40px}}.reward-top{position:absolute;top:0;left:0;right:0;padding:inherit;z-index:2}.reward{justify-content:center;background:radial-gradient(circle,#fff59d,#ffcc80);gap:4vh}.sticker-big{width:min(60vw,60vh * 1.6);filter:drop-shadow(0 8px 0 rgba(0,0,0,.15))}.reward-actions{display:flex;gap:4vw}.page-grid{flex:1;width:100%;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;padding:4px 4px 24px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.page-card{background:var(--card);border-radius:22px;box-shadow:var(--shadow);aspect-ratio:1.4;padding:12px;display:grid;place-items:center}.paint-tools{display:flex;gap:14px}.tool-btn{width:76px;height:76px;border-radius:22px;background:var(--card);box-shadow:var(--shadow);font-size:38px}.tool-btn.save{background:#fff59d}.paint-body{flex:1;width:100%;display:flex;gap:2vw;min-height:0}.canvas{flex:1;position:relative;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);display:grid;place-items:center;padding:2vh;min-width:0}.paint-svg{width:100%;height:100%}.paint-svg [data-region]{cursor:pointer}.reference *,.draw-ref *{pointer-events:none!important}.reference{position:absolute;left:12px;top:12px;width:22%;background:#fffde7;border-radius:16px;padding:6px;border:3px dashed #fbc02d;pointer-events:none}.palette{width:clamp(160px,22vw,280px);display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-content:center}.pot{aspect-ratio:1;border-radius:50%;background:var(--pot);border:5px solid #fff;box-shadow:var(--shadow),inset 0 -8px #00000026;transition:transform .1s}.pot.on{transform:scale(1.12);outline:5px solid var(--ink);outline-offset:2px}.pot.small{width:64px}.mix{grid-column:span 3;display:flex;align-items:center;justify-content:center;gap:6px;background:#fff;border-radius:999px;padding:6px;font-weight:900;font-size:22px;box-shadow:var(--shadow)}.mix span{width:34px;height:34px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px var(--ink)}.blank-page{font-size:56px;background:repeating-linear-gradient(#fff 0 22px,#e3f2fd 22px 24px)}.draw-body{flex:1;width:100%;min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) clamp(150px,19vw,240px);gap:1.4vw}.draw-tools{display:flex;flex-direction:column;justify-content:center;gap:.9vh}.draw-tool{position:relative;width:min(11vh,84px);height:min(9vh,70px);border-radius:18px;background:var(--card);box-shadow:var(--shadow);font-size:min(5vh,38px);display:grid;place-items:center;border:4px solid #fff;transition:transform .1s}.draw-tool.on{border-color:var(--accent);background:#e3f2fd;transform:scale(1.08)}.draw-tool i{position:absolute;right:6px;bottom:6px;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--ink)}.draw-sizes{display:flex;justify-content:space-between;gap:4px;margin-top:.6vh}.draw-sizes button{flex:1;height:min(6vh,46px);border-radius:12px;background:var(--card);box-shadow:var(--shadow);display:grid;place-items:center;border:3px solid #fff}.draw-sizes button.on{border-color:var(--accent)}.draw-sizes i{border-radius:50%;display:block}.draw-wrap{position:relative;min-height:0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;touch-action:none}.draw-wrap canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.draw-outline{position:absolute;inset:5%;pointer-events:none;mix-blend-mode:multiply}.draw-side{min-height:0;display:flex;flex-direction:column;justify-content:center;gap:1.2vh}.draw-ref{flex:none;aspect-ratio:1.4;background:#fffde7;border:3px dashed #fbc02d;border-radius:16px;padding:8px;pointer-events:none}.draw-palette{width:100%}.stamp-grid{width:100%;flex:0 1 auto;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px;touch-action:pan-y;-webkit-overflow-scrolling:touch}.stamp{aspect-ratio:1.3;background:var(--card);border-radius:14px;box-shadow:var(--shadow);padding:6px;border:3px solid #fff}.stamp.on{border-color:var(--accent)}.drawing-item{padding:0;overflow:hidden}.drawing-item img{width:100%;height:100%;object-fit:cover;display:block}.memory-grid{flex:1;width:min(100%,1100px);display:grid;gap:2vh 2vw;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;min-height:0;padding-bottom:1vh}.memory-grid.n4{grid-template-columns:repeat(2,1fr);width:min(100%,720px)}.memory-grid.n6{grid-template-columns:repeat(3,1fr)}.memory-grid.n10{grid-template-columns:repeat(5,1fr)}.mem-card{border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);padding:1.4vh;display:grid;place-items:center;border:5px solid #fff;min-height:0;transition:transform .25s}.mem-card.down{background:repeating-linear-gradient(0deg,#90a4ae 0 14px,#b0bec5 14px 28px)}.mem-card.sel{border-color:var(--accent);transform:scale(1.04)}.mem-card.matched{border-color:var(--go);opacity:.8}.mem-back{display:grid;place-items:center;font-size:64px;font-weight:900;color:#fff;text-shadow:0 3px 0 var(--ink)}.build-body{flex:1;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;gap:2vh 2vw;min-height:0}.build-preview{min-height:0;display:grid;place-items:center}.build-preview svg{max-height:100%;width:min(100%,700px)}.build-go{align-self:center;font-size:56px;height:150px}.build-rows{grid-column:1 / -1;min-width:0;display:flex;flex-direction:column;gap:1.4vh}.opt-row{display:flex;gap:12px;align-items:center;justify-content:center}.opt-row.scroll{justify-content:flex-start;overflow-x:auto;padding:4px 4px 10px;touch-action:pan-x;-webkit-overflow-scrolling:touch}.opt{flex:none;width:120px;height:84px;border-radius:20px;background:var(--card);box-shadow:var(--shadow);padding:6px;border:4px solid #fff;display:grid;place-items:center}.opt.logo{width:84px}.opt.horn{width:84px;font-size:40px}.opt.on{border-color:var(--accent);transform:scale(1.06)}.traffic-body{flex:1;width:100%;display:flex;gap:3vw;align-items:stretch;min-height:0}.signal{background:var(--ink);border-radius:40px;padding:2.4vh;display:flex;flex-direction:column;justify-content:space-around;gap:2vh;box-shadow:var(--shadow)}.lamp{width:min(19vh,150px);aspect-ratio:1;border-radius:50%;opacity:.3;border:6px solid #000;transition:opacity .2s,box-shadow .2s}.lamp.red{background:#e53935}.lamp.yellow{background:#fdd835}.lamp.green{background:#43a047}.lamp.lit{opacity:1;box-shadow:0 0 40px 10px currentColor}.lamp.red.lit{color:#ff8a80}.lamp.yellow.lit{color:#fff59d}.lamp.green.lit{color:#b9f6ca}.road{flex:1;position:relative;align-self:center;height:45%;background:#546e7a;border-radius:24px;overflow:hidden}.road-line{position:absolute;left:0;right:0;top:50%;border-top:10px dashed #fff;transform:translateY(-50%)}.road-car{position:absolute;bottom:8%;width:30%;left:10%}.tabs{display:flex;gap:12px}.tabs button{font-size:30px;font-weight:800;padding:12px 24px;border-radius:999px;background:#ffffffb3;box-shadow:var(--shadow)}.tabs button.on{background:var(--accent);color:#fff}.collection{flex:1;width:100%;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;align-content:start;padding:4px 4px 24px;touch-action:pan-y}.col-item{background:var(--card);border-radius:22px;box-shadow:var(--shadow);aspect-ratio:1.4;padding:12px;display:grid;place-items:center}.empty{grid-column:1 / -1;font-size:120px;text-align:center;padding-top:10vh;opacity:.6}.sleep{background:linear-gradient(#1a237e,#3949ab);color:#fff;justify-content:center}.moon{font-size:120px}.sleep-cars{display:flex;gap:3vw;width:min(90vw,900px);opacity:.8}.sleep-cars svg{flex:1}.zzz{font-size:56px;font-weight:900;animation:float 2s ease-in-out infinite}.parent{background:#fafafa;overflow-y:auto;align-items:stretch;display:block;padding:24px max(24px,env(safe-area-inset-right)) 48px max(24px,env(safe-area-inset-left));-webkit-user-select:auto;user-select:auto;touch-action:pan-y;font-family:system-ui,sans-serif}.parent-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.parent-head h2{flex:1}.parent h2{margin:0;font-size:28px}.parent section{background:#fff;border-radius:16px;padding:16px 20px;margin:16px 0;box-shadow:0 1px 3px #0000001a}.parent h3{margin:0 0 12px}.parent h4{margin:16px 0 6px;color:#546e7a}.prow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0;flex-wrap:wrap}.prow input[type=range]{width:240px}.check{display:flex;align-items:center;gap:10px;font-size:17px}.check input{width:22px;height:22px}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button,.pbtn{padding:10px 16px;border-radius:10px;background:#eceff1;font-size:16px;font-weight:600}.seg.small button{padding:6px 12px;font-size:14px}.seg button.on,.pbtn{background:var(--accent);color:#fff}.pbtn.danger{background:#e53935}.muted{color:#78909c;font-size:14px}.muted.small{text-align:center}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:50}.confetti span{position:absolute;top:-20px;width:14px;height:22px;border-radius:3px;animation:fall linear forwards}.pop-in{animation:pop .35s cubic-bezier(.3,1.6,.6,1) both}.drive-in{animation:drivein .6s cubic-bezier(.2,1.2,.4,1) both}.drive-off{animation:driveoff 1.4s ease-in forwards}.shake{animation:shake .4s}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes drivein{0%{transform:translate(-60vw)}to{transform:none}}@keyframes driveoff{0%{transform:none}15%{transform:translate(-3vw)}to{transform:translate(120vw)}}@keyframes shake{0%,to{transform:none}20%,60%{transform:translate(-14px) rotate(-3deg)}40%,80%{transform:translate(14px) rotate(3deg)}}@keyframes glow{0%,to{box-shadow:var(--shadow),0 0 #fdd835}50%{box-shadow:var(--shadow),0 0 30px 14px #fdd835;transform:scale(1.05)}}@keyframes win{0%{transform:scale(1)}40%{transform:scale(1.18) rotate(-4deg)}to{transform:scale(1.08)}}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes hold{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(orientation:portrait){.zone-grid,.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(0,1fr);align-content:stretch}.game-grid.n1,.game-grid.n2,.game-grid.n3{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(0,1fr)}.zone-icon,.game-icon{width:60%}.game-grid.n4 .game-icon{width:78%}.choices.n2{--cw: 42vw}.choices.n3{--cw: 29vw}.choices.n4{--cw: 22vw}.choice{height:min(100%,24vh)}.no-scene .choices.n2{--cw: 44vw}.no-scene .choices.n3{--cw: 29vw}.no-scene .choice,.no-scene .choices.n3 .choice{height:min(100%,28vh)}.no-scene .choices.n4 .choice{flex-basis:44vw;height:30vh}.scene-road{flex:0 1 24vh}.scene-road .scene-item{max-width:28vw}.scene-lot{grid-template-columns:repeat(var(--cols-p),minmax(0,1fr));grid-template-rows:repeat(var(--rows-p, 1),minmax(0,1fr));width:min(100%,calc(var(--cols-p) * 30vw))}.scene-lot .scene-item:nth-child(5n){border-right:0}.scene-lot .scene-item:nth-child(3n),.scene-lot .scene-item:last-child{border-right:4px solid #fff}.paint-body{flex-direction:column}.palette{width:100%;grid-template-columns:repeat(6,1fr)}.mix{grid-column:span 3}.traffic-body{flex-direction:column;align-items:center}.signal{flex-direction:row}.lamp{width:min(14vh,22vw)}.road{width:100%;align-self:center;height:36vh;flex:none;margin:auto 0}.road-car{width:45%}.build-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto}.build-go{justify-self:center;height:110px}.opt-row:not(.scroll){flex-wrap:wrap}.draw-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}.draw-tools{flex-direction:row;flex-wrap:wrap;justify-content:center}.draw-sizes{margin:0;width:180px}.draw-side{flex-direction:row;align-items:center}.draw-ref{width:15vw;padding:4px}.draw-side .palette{flex:1;grid-template-columns:repeat(6,1fr);gap:5px}.stamp-grid{flex:1}.stamp-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:120px;overflow-x:auto;overflow-y:hidden;touch-action:pan-x}.memory-grid,.memory-grid.n6,.memory-grid.n10{grid-template-columns:repeat(2,1fr)}}@media(orientation:portrait){.choice{height:auto;aspect-ratio:1;max-height:100%}.no-scene .choices.n4 .choice{aspect-ratio:auto}.choices.pool{flex-wrap:wrap;align-content:center;gap:2vw}.choices.pool.n5,.choices.pool.n6{--cw: min(25vw, 14vh)}.choices.pool .choice{max-height:min(30vw,14vh)}.seq-parking .choices.pool{--cw: min(42vw, 25vh)}.seq-parking .choices.pool .choice{max-height:min(42vw,25vh)}.seq-parking .seq-top{flex:0 0 auto;height:28vh}.plate{font-size:min(10vw,9vh)}.plate.slots span{width:min(9.5vw,9vh);height:min(12vw,11vh)}.carrier-row{flex-wrap:wrap;align-content:center;gap:3vw 6vw}.carrier{order:3;width:min(94vw,92vh)}.need-sign{width:min(20vw,14vh)}.carrier-go{height:min(20vw,14vh);min-width:min(20vw,14vh);font-size:min(6vw,30px)}.lot-row{flex:none;flex-wrap:wrap;gap:1.5vw 0}.lot-car{flex:0 0 18%;height:13vw;max-height:12vh}.draw-tool{width:min(12vw,64px);height:min(12vw,60px);font-size:min(6vw,32px);border-radius:14px;border-width:3px}.draw-tools{gap:1.5vw}}@media(max-width:520px),(max-height:500px){.screen{gap:8px}.round-btn{width:56px;height:56px}.round-btn svg{width:34px;height:34px}.round-btn-spacer{width:56px}.dots{gap:6px}.dots span{width:14px;height:14px;border-width:2px}.tool-btn{width:54px;height:54px;font-size:28px;border-radius:16px}.paint-tools{gap:8px}.zone-title{font-size:clamp(20px,6vw,30px)}.tabs{gap:6px}.tabs button{font-size:18px;padding:8px 10px}.garage-btn{width:56px;height:56px;padding:8px}.home-head .hold-btn{width:48px;height:48px;font-size:24px}.scene-item>.count-badge{width:32px;height:32px;font-size:20px}}@media(max-height:500px)and (orientation:landscape){.title{font-size:34px;margin-top:0}.start-btn{width:110px;height:110px}.start-btn svg{width:48px;height:48px}.start-cars{width:min(70vw,600px)}.no-scene .choices.n4{gap:2vh 2vw}.no-scene .choices.n4 .choice{height:36vh;flex-basis:30vw}.build-body{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr) auto}.build-preview{grid-column:1;grid-row:1}.build-go{grid-column:1;grid-row:2;justify-self:center;height:64px;font-size:30px;min-width:110px}.build-rows{grid-column:2;grid-row:1 / span 2;min-height:0;overflow-y:auto;justify-content:center}.opt-row:not(.scroll){flex-wrap:wrap}.opt{width:76px;height:52px}.opt.logo,.opt.horn{width:52px;font-size:28px}.pot.small{width:40px}.draw-tools{display:grid;grid-template-columns:repeat(2,auto);align-content:center;gap:6px}.draw-tool{width:44px;height:40px;font-size:22px;border-radius:12px;border-width:3px}.draw-sizes{grid-column:1 / -1;margin-top:0}.draw-sizes button{height:32px}.draw-body{grid-template-columns:auto minmax(0,1fr) clamp(120px,17vw,200px)}.draw-ref{aspect-ratio:auto;height:22vh}.draw-side .palette{gap:6px}.reward{gap:2vh}.sticker-big{width:min(50vw,50vh * 1.6)}}
