:root{--paper:#f8f9f6;--ink:#342b23;--green:#79a95d;--line:#655c49}
body{background:var(--paper);color:var(--ink)}main{max-width:480px;padding:14px 12px 24px}button{border:2px solid var(--line);border-radius:18px;background:#fafaf5;color:var(--ink);box-shadow:inset 0 -4px #00000008,0 2px #00000012;font-weight:800;min-height:48px}button:hover{filter:brightness(1.025)}button:active{transform:translateY(2px);box-shadow:none}button.primary{background:linear-gradient(#8db66c,#72a452);color:white;border-color:#455d36;box-shadow:inset 0 0 0 3px #b8d39a77,0 3px #4f603d;font-size:21px}.scene{position:relative;isolation:isolate;border:2px solid var(--line);border-radius:26px;overflow:hidden;aspect-ratio:2/3;min-height:620px;max-height:860px;background:#edf6fa}.scene-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.title-logo{position:absolute;top:5%;left:7%;right:7%;margin:0;font-size:clamp(40px,11vw,62px);font-weight:950;line-height:1.16;letter-spacing:-3px;text-shadow:0 3px #fff8;transform:rotate(-3deg)}.title-logo span,.clear-logo span,.play-header h1 span{color:#e47745}.title-logo i{position:absolute;right:0;bottom:9px;font-size:19px;color:#e47745}.title-bubble,.clear-bubble{position:absolute;padding:12px 16px;border:2px solid var(--ink);background:#ffffffed;border-radius:48% 50% 45% 45%;font-size:clamp(13px,3.9vw,18px);line-height:1.5;font-weight:800;box-shadow:0 2px #0001}.title-bubble{top:31%;right:7%;transform:rotate(4deg)}.scene-actions{position:absolute;bottom:4%;left:12%;right:12%;display:grid;gap:12px}.scene-actions .big{font-size:34px;min-height:70px;border-radius:32px;letter-spacing:4px}.scene-actions button:not(.big){background:#fffdf8ed;font-size:16px}.clear-logo{position:absolute;top:4%;left:0;right:0;font-size:clamp(38px,12vw,60px);font-weight:950;letter-spacing:-3px;margin:0;transform:rotate(-3deg)}.clear-bubble{top:22%;left:7%;font-size:14px}.clear-actions{position:absolute;bottom:2%;left:10%;right:10%;display:grid;gap:9px}.clear-actions .ribbon{background:#df865e;color:white;border:2px solid #a75e3b;border-radius:8px 8px 42% 42%;font-size:24px;font-weight:800;letter-spacing:7px;padding:8px}.clear-actions #clear-score{font-size:35px;font-weight:900;line-height:1.2}.clear-actions p{margin:0;font-size:11px;color:#5e5d50}.clear-actions .primary{min-height:53px;font-size:18px}.clear-actions button{min-height:42px;padding:8px}.clear-actions .text-button{border:0;background:transparent;box-shadow:none;font-size:12px;min-height:25px;padding:0}.game-screen{padding:0 11px 10px;border:2px solid var(--line);border-radius:22px;background:#fafbf8}.game-nav{display:flex;justify-content:space-between;margin:9px 0}.game-nav button{flex:none;min-height:30px;border:0;box-shadow:none;background:transparent;padding:4px 3px;font-size:11px;color:#76806d}.game-nav button:first-child{font-size:22px}.play-header{display:flex;align-items:center;gap:5px;min-height:90px;padding-bottom:9px;border-bottom:2px solid #aeb4a333}.play-header h1{font-size:clamp(20px,6vw,29px);line-height:1.2;letter-spacing:-1.5px;font-weight:950;margin:0;flex:1.1;transform:rotate(-4deg)}.play-header>img{width:74px;height:74px;object-fit:contain}.play-header #say{flex:1;margin:0;padding:10px 7px;font-size:11px;background:white;min-height:58px;border:1.5px solid var(--line);border-radius:23px;display:grid;place-items:center}.stats{margin:13px 0 10px;gap:14px}.stats span{border:1.6px solid #8b8978;background:#fffef9;border-radius:12px;padding:6px 13px;font-size:16px;min-width:82px;box-shadow:0 2px #0001}.parking-wrap{padding:5px 27px 8px 5px;background:#edf1e9;border:2px solid #83917c;border-radius:16px}#board{border:3px solid #dddcc9;border-radius:9px;background-color:#7b827d;background-image:linear-gradient(#e6e4cd9e 1px,transparent 1px),linear-gradient(90deg,#e6e4cd9e 1px,transparent 1px),repeating-linear-gradient(12deg,transparent 0 5px,#ffffff04 6px 7px);background-size:16.6667% 16.6667%,16.6667% 16.6667%,100% 100%;box-shadow:0 0 0 2px #535e54}#board:before{content:none}.exit{width:28px;background:#7a9d6c;border-radius:0 4px 4px 0;border-top:1px dashed #fff;border-bottom:1px dashed #fff;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:0;font-size:15px;line-height:1.1}.exit span{font-size:10px;font-weight:bold}.piece{filter:drop-shadow(0 2px 1px #0005);padding:0}.cat{background:transparent}.piece img{width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}.piece.cat img{transform:scale(1.16)}.piece svg{filter:contrast(1.04);padding:1px}.buttons{margin-top:16px;gap:8px}.buttons button{font-size:12px;border-radius:17px;min-height:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:6px}.tool-icon{font-size:33px;line-height:1.1;font-weight:900}.instructions{font-size:11px;color:#6d7063;margin:15px 0 0;line-height:1.9}.stage-screen{background:#fafbf8;border:2px solid var(--line);border-radius:24px;min-height:620px;padding:20px 18px}.stage-screen h1{font-size:29px;margin-top:24px}.stage-screen>p{color:#7a826c;font-size:12px}.back-button{display:block;border:0;background:transparent;box-shadow:none;font-size:12px;padding:0;min-height:28px}#levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:24px 0}.stage-card{display:flex;flex-direction:column;align-items:center;padding:14px 8px;gap:3px;background:#fffef8;min-height:145px}.stage-card.current{background:#edf4e5;border-color:#738963}.stage-card small{font-size:11px;letter-spacing:2px;color:#7c8867}.stage-card strong{font-size:32px;line-height:1.2}.stage-card span{font-size:12px}.stage-card em{font-size:10px;color:#7c8867;font-style:normal;margin-top:5px}.hint{outline:3px dashed #ffe393;background:#ffe39322}
.title-scene .scene-art{height:89%;object-fit:fill;mask-image:linear-gradient(#000 88%,transparent 100%)}.title-scene{background:#f3f5f1}.title-logo i{display:none}.clear-scene{background:#fafbf7}.clear-scene .scene-art{height:86%;object-fit:fill;mask-image:linear-gradient(#000 82%,transparent 100%)}
@media(max-width:360px){main{padding:6px 5px 16px}.scene{min-height:570px}.play-header>img{width:56px;height:56px}.play-header #say{font-size:10px}.stats span{font-size:14px;padding:5px 10px}.clear-actions{left:8%;right:8%}.clear-actions .ribbon{font-size:20px;padding:6px}.clear-actions #clear-score{font-size:28px}}
.title-logo{top:3%;left:7%;right:7%;height:31%;transform:rotate(-3deg);font-size:0;line-height:0}.title-logo>img{width:100%;height:100%;object-fit:contain}.play-header h1{min-width:0;transform:rotate(-3deg);line-height:0}.play-header h1>img{width:100%;max-height:85px;object-fit:contain}.vehicle-art{position:absolute;left:50%;top:50%;object-fit:fill!important;max-width:none;max-height:none;pointer-events:none}.piece{filter:drop-shadow(0 2px 1px #26342a66)}.piece.cat{filter:drop-shadow(0 2px 1px #26342a44)}.parking-wrap{background:linear-gradient(140deg,#f5f7ee,#e7eddf);box-shadow:inset 0 0 0 2px #fff9,0 2px #0001}.exit{letter-spacing:.03em}.title-bubble,.clear-bubble{box-shadow:1px 3px #354c2815}.scene-actions .big{box-shadow:inset 0 0 0 3px #c3dda688,0 4px #4e673b}.game-nav button:last-child{border:1px solid #97a18a44;border-radius:12px;background:#eff3eaaa;padding:5px 10px}.stats span{font-variant-numeric:tabular-nums}.stage-card{box-shadow:inset 0 -4px #d9e4c733,0 2px #0001}.stage-card.current{box-shadow:inset 0 0 0 2px #9fba8c66,0 2px #0001}.clear-logo{color:#33271e;text-shadow:0 2px #ffffff88}.buttons button{box-shadow:inset 0 0 0 2px #fff9,inset 0 -4px #e6e9da,0 2px #53644122}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
