:root{--bg: #dff3ee;--wall: #cdebe3;--surface: #ffffff;--surface-hover: #f1f7f5;--border: #c9e0d9;--text: #33241a;--muted: #6d6660;--accent: #0f9e8a;--danger: #d6334a;--game: #f59e2e;--game-dark: #d97c10;--game-text: #3b2516;--ink: #3b2516;--frame: #d99a5b;--frame-dark: #b8743a;--lip: #e8b277;--lip-dark: #b97a3e;--inner-top: #fff6e6;--inner-bottom: #f2d6ae;--radius: 14px;--shadow: 0 6px 18px rgba(38, 90, 80, .14);color-scheme:light}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.38) 0 22px,transparent 22px 44px),linear-gradient(var(--bg),var(--wall));background-attachment:fixed;color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}html.playing,html.playing body{overflow:hidden;overscroll-behavior:none}html.playing .pl-info,html.playing .pl-lang-hint{display:none}@media(display-mode:standalone){html .pl-info,html .pl-lang-hint{display:none}}button,input{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer;padding:0}a{color:inherit}h1,h2,p{margin:0}.app{max-width:480px;height:var(--app-height, 100dvh);margin:0 auto;display:flex;flex-direction:column}.screen{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));position:relative}.scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.grow{flex:1;min-width:0}.grow-center{margin:auto 0}.spacer{flex:1}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.item-art{display:block;width:100%;height:100%}.topbar{display:flex;align-items:center;gap:8px;min-height:48px}.topbar h1{flex:1;font-size:17px;line-height:1.2}.topbar h1 small{display:block;font-size:12px;font-weight:500;color:var(--muted)}.topbar-actions{min-width:0}.icon-button{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.icon-button svg,.action svg{width:22px;height:22px}.btn{min-height:50px;padding:0 16px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;gap:8px;font-weight:650;text-decoration:none;text-align:center}.btn.primary{background:var(--game);color:var(--game-text);box-shadow:0 4px 0 var(--game-dark),var(--shadow)}.btn.ghost{background:var(--surface);border:1px solid var(--border)}.btn.small{min-height:38px;font-size:14px}.btn.danger{color:var(--danger)}.link{color:var(--accent);font-weight:600}.hero{text-align:center;margin:6px 0 4px}.hero h1{margin:14px 0 2px;font-size:38px;font-weight:900;letter-spacing:-.02em;color:var(--ink)}.hero h1 span{color:var(--game);text-shadow:0 2px 0 var(--game-dark)}.hero-stage{position:relative;width:300px;margin:0 auto}.hero-stage .mascot{position:absolute;right:-8px;bottom:-12px;width:96px;height:96px;animation:wave 3.2s ease-in-out infinite;transform-origin:50% 100%}@keyframes wave{0%,70%,to{transform:rotate(0)}78%{transform:rotate(-7deg) translateY(-3px)}88%{transform:rotate(5deg)}}.mini{position:relative;width:210px;height:118px;margin:0 auto 0 0;padding:8px;border-radius:16px;border:2px solid #8a5326;background:linear-gradient(var(--frame),var(--frame-dark));box-shadow:inset 0 2px #ffffff59,0 12px 24px #78461e4d;overflow:hidden}.mini:before{content:"";position:absolute;inset:8px;border-radius:10px;background:linear-gradient(var(--inner-top),var(--inner-bottom));box-shadow:inset 0 10px 12px -6px #6e3c1459}.mini-back,.mini-front{position:absolute;left:18px;right:18px;display:grid;grid-template-columns:repeat(3,1fr);justify-items:center}.mini-back{top:8px}.mini .lip{position:absolute;left:8px;right:8px;bottom:8px;border-radius:0 0 8px 8px}.mini-back .item-art{width:46px;height:46px;filter:brightness(.32) saturate(.6);opacity:.85}.mini-front{bottom:14px}.mini-front .item-art{width:64px;height:64px;filter:drop-shadow(0 3px 2px rgba(80,40,10,.3));animation:bob 2.4s ease-in-out infinite}.mini-front .item-art:nth-child(2){animation-delay:.2s}.mini-front .item-art:nth-child(3){animation-delay:.4s}@keyframes bob{50%{transform:translateY(-4px)}}.label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:8px;font-weight:650}.card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);text-decoration:none}.card b{display:block}.card small{display:block;color:var(--muted);font-size:13px}.card.continue{border-color:#f59e2e99;background:linear-gradient(135deg,#f59e2e38,#f59e2e0d),var(--surface)}.card.locked{opacity:.55}.chapter-art{width:48px;height:48px;flex:none}.chevron{color:var(--muted);font-size:20px}.progress{height:6px;margin-top:6px;border-radius:99px;background:var(--surface-hover);overflow:hidden}.progress i{display:block;height:100%;background:var(--game)}.soon{text-align:center;margin-top:6px}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.level{aspect-ratio:1;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);text-decoration:none}.level b{font-size:20px}.level small{color:var(--muted);font-size:12px}.level.done{border-color:#f59e2e99;background:linear-gradient(#f59e2e1f,#f59e2e05),var(--surface)}.level.locked{opacity:.45}.level{position:relative}.belt-mark{position:absolute;top:4px;right:6px;font-size:13px;font-weight:800;color:var(--accent)}.stars{font-size:13px;letter-spacing:1px}.stars .on{color:var(--game)}.stars .off{color:#b9b1a8}.stars.big{font-size:40px;letter-spacing:6px}.play{gap:8px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.hud{display:flex;align-items:center;gap:6px;min-height:44px}.hud .icon-button{width:40px;height:40px}.hud-title{flex:1;min-width:0}.hud-title h1{font-size:15px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal{display:flex;align-items:center;gap:5px;margin-top:3px}.goal-bar{flex:1;height:9px;border-radius:99px;background:#3b25161f;box-shadow:inset 0 1px 2px #3b251633;overflow:hidden}.goal-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ffd25a,var(--game));transition:width .5s ease .55s}.goal-star{font-size:19px;line-height:1;color:#ffc531;-webkit-text-stroke:1.2px var(--ink)}.goal-star.pulse{animation:pulse .45s ease-out}@keyframes pulse{40%{transform:scale(1.6) rotate(-12deg)}}.goal small{font-size:12px;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}.chip{display:flex;align-items:center;gap:4px;height:34px;padding:0 10px;border-radius:99px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.chip svg{width:16px;height:16px;color:var(--muted)}.chip b{font-size:15px;font-variant-numeric:tabular-nums}.board{flex:1;min-height:0;position:relative;container-type:size;display:grid;place-items:center}.cabinet{--ratio: .745;width:min(100cqw,100cqh * var(--ratio));aspect-ratio:var(--ratio);display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(5,1fr);gap:6px;padding:7px;border-radius:18px;border:2px solid #8a5326;background:repeating-linear-gradient(100deg,rgba(255,255,255,.07) 0 3px,transparent 3px 11px),linear-gradient(var(--frame),var(--frame-dark));box-shadow:inset 0 2px #ffffff59,0 14px 28px #78461e4d;touch-action:none;user-select:none;-webkit-user-select:none}.belt{position:relative;width:100cqw;height:100cqh;overflow:hidden;border-radius:18px;border:2px solid #8a5326;background:repeating-linear-gradient(100deg,rgba(255,255,255,.07) 0 3px,transparent 3px 11px),linear-gradient(var(--frame),var(--frame-dark));box-shadow:inset 0 2px #ffffff59,0 14px 28px #78461e4d;touch-action:none;user-select:none;-webkit-user-select:none}.belt .shelf{position:absolute;left:0;top:0;will-change:transform}.shelf{position:relative;min-height:0;border-radius:9px;background:linear-gradient(var(--inner-top),var(--inner-bottom));box-shadow:inset 0 12px 14px -8px #6e3c1473,inset 0 0 0 1.5px #6e3c1440;overflow:hidden}.shelf:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(circle at 50% 60%,rgba(255,246,180,.95),rgba(255,210,90,.4) 45%,transparent 70%)}.shelf.can-drop{box-shadow:inset 0 0 0 2px #0f9e8a8c,inset 0 12px 14px -8px #6e3c1473}.shelf.hint-target{box-shadow:inset 0 0 0 3px var(--accent),inset 0 12px 14px -8px #6e3c1473}.shelf.cleared:after{animation:glow .5s ease-out}@keyframes glow{30%{opacity:1}}.front-row,.back-row{position:absolute;left:2%;right:2%;display:grid;grid-template-columns:repeat(3,1fr)}.front-row{bottom:8%;height:76%}.back-row{bottom:30%;height:62%}.back-place{position:relative}.back-place .item-art.back{position:absolute;left:-2%;bottom:0;width:104%;height:100%;filter:brightness(.32) saturate(.6);opacity:.85}.depth{position:absolute;top:5px;right:6px;z-index:2;padding:0 6px 0 9px;border-radius:3px 6px 6px 3px;font-size:11px;line-height:17px;font-weight:800;color:var(--ink);background:#fffaf0;border:1.5px solid var(--ink);transform:rotate(4deg);box-shadow:0 2px 3px #50280a40}.depth:before{content:"";position:absolute;left:3px;top:6px;width:3px;height:3px;border-radius:50%;background:var(--ink)}.slot{position:relative;border-radius:10px;cursor:grab}.slot .item-art{position:absolute;left:-7%;bottom:0;width:114%;height:100%;transform-origin:50% 100%;filter:drop-shadow(0 3px 2px rgba(80,40,10,.35));transition:transform .15s ease}.slot.free{cursor:pointer}.slot:before{content:"";position:absolute;left:8%;right:8%;bottom:-4%;height:22%;border-radius:50%}.slot.free:before{left:22%;right:22%;height:10%;bottom:0;background:#6e3c142e}.slot.selected .item-art{transform:translateY(-9%) scale(1.08);filter:drop-shadow(0 10px 6px rgba(80,40,10,.35))}.slot.selected:before,.slot.hint-from:before{background:radial-gradient(closest-side,#ffc531f2,#ffc53100)}.slot.hover:before{left:4%;right:4%;height:30%;background:radial-gradient(closest-side,#0f9e8ad9,#0f9e8a00)}.slot.hover{background:#0f9e8a24}.slot.cursor{outline:2px dashed var(--accent);outline-offset:-2px}.slot.landed .item-art{animation:land .3s ease-out}@keyframes land{0%{transform:translateY(-14%) scale(1.04,.96)}55%{transform:translateY(0) scale(1.08,.9)}80%{transform:scale(.97,1.04)}}.shelf.advanced .slot .item-art,.shelf.advanced .back-place{animation:advance .4s ease-out}@keyframes advance{0%{transform:translateY(-20%) scale(.85);filter:brightness(.35)}}.intro .slot .item-art{animation:drop .55s cubic-bezier(.3,1.45,.55,1) backwards;animation-delay:var(--d, 0s)}@keyframes drop{0%{transform:translateY(-70%) scale(.7);opacity:0}}.intro .back-place{animation:fade .6s ease-out .5s backwards}@keyframes fade{0%{opacity:0}}.lip{position:absolute;left:0;right:0;bottom:0;height:9%;background:linear-gradient(var(--lip),var(--lip-dark));border-top:1.5px solid rgba(255,255,255,.55)}.mini .lip{height:12px}.lifted{position:fixed;pointer-events:none;z-index:20;transform:translate(-50%,-50%) rotate(-4deg);filter:drop-shadow(0 14px 8px rgba(80,40,10,.35))}.combo{position:absolute;top:0;left:50%;z-index:5;padding:2px 14px 7px;border-radius:99px;background:#fffaf0;border:2px solid var(--ink);box-shadow:0 4px #3b251640;font-size:15px;font-weight:900;color:var(--game-dark);white-space:nowrap;pointer-events:none;transform:translate(-50%,-40%);animation:combo-in .35s cubic-bezier(.3,1.6,.5,1)}.combo i{position:absolute;left:14px;right:14px;bottom:3px;height:3px;border-radius:99px;background:var(--game);transform-origin:left;animation:drain linear forwards}@keyframes combo-in{0%{transform:translate(-50%,-40%) scale(.4)}}@keyframes drain{to{transform:scaleX(0)}}.fx{position:absolute;inset:0;z-index:15;overflow:hidden;pointer-events:none}.burst{position:absolute;width:0;height:0}.burst .pop{position:absolute;animation:pop .45s ease-in forwards}@keyframes pop{35%{transform:scale(1.28);filter:brightness(1.25)}to{transform:scale(.15);opacity:0}}.ring{position:absolute;left:-40px;top:-40px;width:80px;height:80px;border-radius:50%;border:5px solid #fff3a8;box-shadow:0 0 18px #ffd166,inset 0 0 12px #ffd166;animation:ring .55s ease-out .15s backwards;opacity:0}@keyframes ring{0%{transform:scale(.2);opacity:1}to{transform:scale(2.3);opacity:0}}.spark{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:2px;background:#ffd166;opacity:0;transform:rotate(var(--a)) translate(10px) rotate(45deg);animation:spark .65s ease-out .15s forwards}.spark:nth-of-type(3n){background:#fff}.spark:nth-of-type(3n+1){background:#ff8fb8}@keyframes spark{0%{opacity:1}to{transform:rotate(var(--a)) translate(82px) rotate(45deg) scale(.3);opacity:0}}.praise{position:absolute;left:0;top:0;font-size:32px;font-weight:900;color:#ffd25a;-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);white-space:nowrap;animation:praise 1s ease-out forwards}@keyframes praise{0%{transform:translate(-50%,-50%) scale(.3) rotate(-6deg);opacity:0}20%{transform:translate(-50%,-60%) scale(1.15) rotate(-6deg);opacity:1}35%{transform:translate(-50%,-60%) scale(1) rotate(-4deg)}75%{transform:translate(-50%,-85%) scale(1) rotate(-4deg);opacity:1}to{transform:translate(-50%,-110%) scale(.9) rotate(-4deg);opacity:0}}.fly-x{position:absolute;left:0;top:0;animation:fly-x .6s cubic-bezier(.4,0,.9,.6) .2s forwards}.fly-y{display:block;font-size:28px;line-height:1;color:#ffc531;-webkit-text-stroke:1.5px var(--ink);transform:translate(-50%,-50%) scale(0);animation:fly-y .6s cubic-bezier(.2,.6,.5,1) .2s forwards}@keyframes fly-x{to{transform:translate(var(--dx))}}@keyframes fly-y{0%{transform:translate(-50%,-50%) scale(1.4)}90%{opacity:1}to{transform:translate(-50%,-50%) translateY(var(--dy)) scale(.7);opacity:0}}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;top:-16px;width:8px;height:14px;border-radius:2px;animation-name:fall;animation-timing-function:cubic-bezier(.3,.2,.7,1);animation-fill-mode:both}.confetti i.round{width:10px;height:10px;border-radius:50%}@keyframes fall{to{transform:translate(var(--drift),105vh) rotate(var(--turn))}}.won{position:absolute;left:0;right:0;top:32%;z-index:16;display:flex;flex-direction:column;align-items:center;pointer-events:none;animation:won-in .5s cubic-bezier(.3,1.5,.5,1)}.won b{font-size:44px;font-weight:900;color:#fff;-webkit-text-stroke:8px var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink)}.won-mascot{width:130px;height:130px;animation:hop .5s ease-in-out infinite alternate}@keyframes won-in{0%{transform:scale(.3);opacity:0}}@keyframes hop{to{transform:translateY(-10px)}}.calm .slot .item-art,.calm .back-place,.calm .mini-front .item-art,.calm .goal-star,.calm .won,.calm .won-mascot,.calm .combo,.calm .shelf:after{animation:none!important}.calm .slot .item-art,.calm .goal-bar i{transition:none}@media(prefers-reduced-motion:reduce){.slot .item-art,.back-place,.mini-front .item-art,.hero-stage .mascot,.goal-star,.won,.won-mascot,.combo,.shelf:after{animation:none!important}}.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.action{position:relative;min-height:56px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;font-weight:750;color:var(--ink);background:var(--surface);border:2px solid var(--border);box-shadow:0 4px #b4d3ca}.action:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #b4d3ca}.action svg{width:24px;height:24px}.action:disabled{opacity:.45}.action .badge{position:absolute;top:5px;right:14px;min-width:21px;height:21px;border-radius:99px;font-size:12px;font-weight:800;display:grid;place-items:center;background:var(--game);color:var(--game-text);border:1.5px solid var(--ink)}.toast{position:absolute;left:16px;right:16px;top:60px;z-index:10;padding:10px 14px;border-radius:12px;font-size:14px;background:var(--surface);border:2px solid var(--game);box-shadow:0 12px 30px #265a5040}.stuck{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:var(--surface);border:2px solid var(--danger);font-size:14px}.stuck-mascot{width:66px;height:66px;flex:none}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.row3 .btn{min-height:40px;padding:0 6px;font-size:13px}.result-head{text-align:center;margin:8px 0 10px}.result-head .tag{color:var(--game);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.result-head h1{font-size:40px;font-weight:900;margin:0 0 4px;color:#fff;-webkit-text-stroke:8px var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink)}.result{position:relative}.trophy{position:relative;width:170px;height:150px;margin:4px auto 0;display:grid;place-items:center}.rays{position:absolute;left:50%;top:50%;width:300px;height:300px;margin:-150px 0 0 -150px;border-radius:50%;background:repeating-conic-gradient(rgba(255,210,90,.55) 0 10deg,transparent 10deg 24deg);mask:radial-gradient(closest-side,#000 30%,transparent);-webkit-mask:radial-gradient(closest-side,#000 30%,transparent);animation:spin 14s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result-mascot{position:relative;width:140px;height:140px;animation:hop .55s ease-in-out infinite alternate}.stars.big{font-size:50px;-webkit-text-stroke:2px var(--ink)}.stars.big span{display:inline-block;animation:star-in .45s cubic-bezier(.3,1.7,.5,1) backwards}.stars.big span:nth-child(1){animation-delay:.35s}.stars.big span:nth-child(2){animation-delay:.6s}.stars.big span:nth-child(3){animation-delay:.85s}@keyframes star-in{0%{transform:scale(0) rotate(-40deg);opacity:0}}.stars.big .off{color:#e6ddd2}.calm .rays,.calm .result-mascot,.calm .stars.big span{animation:none}@media(prefers-reduced-motion:reduce){.rays,.result-mascot,.stars.big span{animation:none}}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{padding:8px 10px;border-radius:14px;text-align:center;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.stat b{display:block;font-size:24px;font-weight:850;font-variant-numeric:tabular-nums}.stat small{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.bottom-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px}.benefits{margin:4px 0;padding-left:20px;line-height:1.7}.account-hint{padding:10px 12px;border-radius:12px;font-size:14px;color:var(--muted);background:var(--surface);border:1px solid var(--border)}.account-hint .row{display:flex;align-items:center;gap:14px;margin-top:8px}.setting{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.setting small{display:block;color:var(--muted);font-size:12px}.setting input[type=checkbox]{width:22px;height:22px;accent-color:var(--game)}.consent{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;max-width:456px;margin:0 auto;padding:14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 30px #0006;font-size:14px}.consent .row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}@media(max-height:700px){.stat b{font-size:17px}.topbar{min-height:40px}.action{min-height:48px}}.pl-info{color:var(--muted)}.legal-links{margin:4px 0}.share-toast{position:fixed;left:50%;bottom:max(32px,calc(env(safe-area-inset-bottom) + 32px));transform:translate(-50%);z-index:20;margin:0;max-width:min(440px,calc(100vw - 32px));padding:10px 16px;border-radius:12px;font-size:14px;font-weight:600;text-align:center;background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 30px #00000040}
