@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-hebrew-wght-normal-DdnsCkLr.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-latin-ext-wght-normal-CYrqKuxd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-latin-wght-normal-DM6njrJ3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#4a2c17;--cream:#fff8ea;--lip-cream:#c49a68;--gold:#ffcf3a;--gold-deep:#ef9f00;--green:#1fa544;--floor:#c68e56;color:var(--ink);-webkit-text-size-adjust:100%;font-family:Fredoka Variable,ui-rounded,Arial Rounded MT Bold,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overscroll-behavior:none;background:var(--floor);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;overflow:hidden}.app{background:var(--floor) var(--wood-url);position:fixed;inset:0;overflow:hidden}.game-host{position:absolute;inset:0}.game-canvas{touch-action:none;display:block}.vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 120px 10px #46230a57}.floats{pointer-events:none;position:absolute;inset:0;overflow:hidden}.float-score{color:var(--cream);white-space:nowrap;paint-order:stroke fill;-webkit-text-stroke:5px var(--ink);font-size:clamp(18px,3.8vh,28px);font-weight:700;animation:.85s ease-out forwards float-up;position:absolute;transform:translate(-50%,-50%)}.float-combo{color:var(--gold);font-size:clamp(24px,5.8vh,42px)}.float-power{color:#fff;font-size:clamp(22px,5vh,36px);animation-duration:1.2s}@keyframes float-up{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}20%{opacity:1;transform:translate(-50%,-60%)scale(1.1)}to{opacity:0;transform:translate(-50%,-190%)scale(1)}}.btn{--face:#fff8ea;--face-low:#f3e3c6;--lip:#c49a68;background:linear-gradient(var(--face), var(--face-low));min-height:44px;box-shadow:inset 0 2px 0 #ffffffbf, 0 5px 0 var(--lip), 0 9px 12px #3c1e0a59;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:16px;padding:8px 20px;font-size:17px;font-weight:600;transition:transform 80ms,box-shadow 80ms}.btn:active{box-shadow:inset 0 2px 0 #ffffffbf, 0 1px 0 var(--lip), 0 3px 5px #3c1e0a59;transform:translateY(4px)}.btn:focus-visible,.block-tile:focus-visible{outline:3px solid var(--cream);outline-offset:3px}.btn-primary{--face:#41a0f5;--face-low:#1668d0;--lip:#0d4796;color:#fff;text-shadow:0 1px 2px #05235a99}.btn-large{border-radius:22px;min-width:220px;padding:8px 44px;font-size:clamp(24px,7vh,36px)}.btn-small{padding:6px 14px;font-size:15px}.btn-off{--face:#e4d9c6;--face-low:#cfc1a9;--lip:#998a70;color:#6b5c47}.screen{padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));flex-direction:column;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.title-screen{background:radial-gradient(#3c1e0a4d,#3c1e0a0d 75%);justify-content:center;gap:clamp(10px,4vh,28px)}.logo{filter:drop-shadow(0 7px 0 var(--ink)) drop-shadow(0 14px 12px #28140580);flex-wrap:wrap;justify-content:center;gap:0 .28em;margin:0;font-size:clamp(44px,19vh,124px);font-weight:700;line-height:1.02;display:flex}.logo-word{display:flex}.logo-letter{paint-order:stroke fill;-webkit-text-stroke:clamp(5px, 1.7vh, 11px) var(--cream);animation:.6s cubic-bezier(.2,1.5,.4,1) backwards letter-in;display:inline-block}.logo-red{color:#e8323f}.logo-blue{color:#1f78e6}.logo-green{color:#1fa544}.logo-yellow{color:#f0a800}@keyframes letter-in{0%{opacity:0;transform:translateY(-60%)scale(.5)}}.load-bar{background:var(--ink);border-radius:14px;width:min(340px,70vw);height:22px;padding:4px;box-shadow:0 6px 12px #28140566}.load-bar div{background:linear-gradient(#ffdc6a,#f0a800);border-radius:8px;height:100%;transition:width .12s}.load-error{background:var(--cream);text-align:center;border-radius:16px;max-width:480px;margin:0;padding:12px 20px;font-weight:600}.title-tools,.dialog-tools{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.levels-screen{background:#3c1e0a47;justify-content:center}.board{background:var(--wood-url);border-radius:24px;flex-direction:column;gap:clamp(8px,2vh,16px);width:min(100%,980px);max-height:100%;padding:clamp(8px,2.4vh,20px) clamp(10px,2.4vw,24px);display:flex;box-shadow:inset 0 3px #fff0d780,inset 0 -4px #5a321459,0 8px #7d5129,0 16px 26px #28140580}.board-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.world-nav{flex:1;justify-content:center;align-items:center;gap:clamp(8px,2vw,18px);min-width:0;display:flex}.world-title{text-align:center;min-width:0}.world-title h2{text-shadow:0 1px #ffebcd99;margin:0;font-size:clamp(19px,5.6vh,30px);font-weight:700;line-height:1.1}.world-title p{margin:0;font-size:clamp(11px,3.2vh,15px);font-weight:600}.world-arrow{flex:none;width:44px;padding:0;font-size:22px;line-height:1}.world-arrow:disabled{opacity:.35;cursor:default}.star-total{white-space:nowrap;background:#fff8ead9;border-radius:12px;align-items:center;gap:6px;margin:0;padding:4px 12px;font-weight:700;display:flex}.level-grid{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(8px,2.2vh,16px);padding-bottom:6px;display:grid}.block-tile{--face:#e8323f;--face-low:#c31f2e;--lip:#86121d;background:linear-gradient(var(--face), var(--face-low));min-width:0;height:clamp(74px,25vh,150px);box-shadow:inset 0 2px 0 #fff6, 0 6px 0 var(--lip), 0 10px 12px #3c1e0a66;color:#fff;font:inherit;cursor:pointer;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 6px;transition:transform 80ms,box-shadow 80ms;display:flex;position:relative}@media (height<=340px){.block-tile{height:66px}}.block-tile:before{content:"";pointer-events:none;border:2px solid #ffffff61;border-radius:11px;position:absolute;inset:5px}.block-tile:active:not(:disabled){box-shadow:inset 0 2px 0 #fff6, 0 2px 0 var(--lip), 0 4px 6px #3c1e0a66;transform:translateY(4px)}.block-blue{--face:#2f8dee;--face-low:#1668d0;--lip:#0d4796}.block-green{--face:#2fbd56;--face-low:#1e9840;--lip:#116628}.block-yellow{--face:#ffcf3a;--face-low:#f0a800;--lip:#a56f00;color:var(--ink)}.block-tile strong{text-shadow:0 2px #0000002e;font-size:clamp(22px,8vh,44px);font-weight:700;line-height:1}.block-yellow strong{text-shadow:0 1px #ffffff73}.block-tile small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 6px;font-size:clamp(11px,3vh,15px);font-weight:600;overflow:hidden}.block-tile:disabled{cursor:default;background:linear-gradient(#d9ae78,#c4935c);box-shadow:inset 0 2px #fff0d780,0 6px #8a5c30,0 10px 12px #3c1e0a4d}.block-tile:disabled:before{border-color:#5a371940}.lock{background:#7a5230;border-radius:4px;width:22px;height:17px;margin-top:10px;position:relative}.lock:before{content:"";box-sizing:border-box;border:3px solid #7a5230;border-bottom:0;border-radius:9px 9px 0 0;width:14px;height:13px;position:absolute;top:-11px;left:4px}.board-foot{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;padding-bottom:5px;display:flex}.board-foot .btn{min-height:34px;padding:3px 12px;font-size:14px}.board-foot p{text-align:center;margin:0;font-size:14px;font-weight:600}.unlock-all{min-height:32px;padding:3px 12px;font-size:13px}.stars{gap:2px;display:flex}.block-tile .stars{background:#3c1e0a66;border-radius:9px;padding:2px 6px}.star{aspect-ratio:1;clip-path:polygon(50% 0,62% 35%,100% 37%,70% 59%,80% 95%,50% 75%,20% 95%,30% 59%,0 37%,38% 35%);background:#fff8ea59;width:clamp(12px,3.6vh,16px);display:inline-block}.star-on{background:#ffd23f}.star-total .star-on{background:var(--gold-deep)}.stars-large{gap:6px}.stars-large .star{background:#e4d6bc;width:clamp(32px,11vh,52px)}.stars-large .star-on{background:var(--gold-deep);animation:.4s cubic-bezier(.2,1.6,.4,1) backwards star-in}@keyframes star-in{0%{opacity:0;transform:scale(.2)rotate(-40deg)}}.hud{top:max(4px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));pointer-events:none;align-items:center;gap:10px;height:42px;display:flex;position:absolute}.hud-pause{pointer-events:auto;border-radius:12px;width:42px;height:34px;min-height:34px;margin-bottom:5px;padding:0}.pause-icon{border-right:4px solid var(--ink);border-left:4px solid var(--ink);border-radius:1px;width:13px;height:14px;margin:auto;display:block}.hud-level,.hud-score{white-space:nowrap;background:#fff8eae6;border-radius:12px;padding:3px 12px;font-weight:600;box-shadow:0 3px 6px #3c1e0a4d}.hud-level{text-overflow:ellipsis;max-width:28%;font-size:15px;overflow:hidden}.hud-progress{background:#3c230fd9;border-radius:10px;flex:1;height:16px;padding:3px;box-shadow:0 3px 6px #3c1e0a4d}.hud-progress div{background:linear-gradient(#6fe08d,#1fa544);border-radius:6px;height:100%;transition:width .2s}.hud-score{font-variant-numeric:tabular-nums;text-align:right;min-width:76px;font-size:19px;font-weight:700}.swap-button{right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));aspect-ratio:1;width:clamp(54px,15.5vh,84px);color:var(--ink);cursor:pointer;opacity:.88;touch-action:none;background:linear-gradient(#fff8ea,#f3e3c6);border:0;border-radius:50%;padding:clamp(4px,1.2vh,7px);transition:transform 80ms,box-shadow 80ms;display:block;position:absolute;box-shadow:inset 0 2px #ffffffbf,0 4px #c49a68,0 8px 12px #3c1e0a66}.swap-button:active{transform:translateY(3px);box-shadow:inset 0 2px #ffffffbf,0 1px #c49a68,0 3px 5px #3c1e0a66}.swap-button:focus-visible{outline:3px solid var(--cream);outline-offset:3px}.swap-same .swap-ball{opacity:.6}.swap-ball{pointer-events:none;width:100%;height:100%;animation:.16s cubic-bezier(.2,1.6,.4,1) swap-pop;display:block}@keyframes swap-pop{0%{transform:scale(.6)}}.swap-arrows{background:#fff8ea;border-radius:50%;width:42%;height:42%;padding:3px;position:absolute;top:-4px;left:-4px;box-shadow:0 2px 4px #3c1e0a66}.swap-key{background:#fff8ea;border-radius:7px;padding:0 7px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.4;position:absolute;bottom:-6px;left:50%;transform:translate(-50%);box-shadow:0 2px 4px #3c1e0a66}.swap-highlight{opacity:1;animation:.9s ease-in-out infinite swap-attention}@keyframes swap-attention{50%{transform:scale(1.14);box-shadow:inset 0 2px #ffffffbf,0 4px #c49a68,0 0 0 7px #ffcf3abf}}.tutorial-panel{bottom:max(8px, env(safe-area-inset-bottom));background:linear-gradient(#fff8ea, #f7ead0) padding-box, var(--wood-url) border-box;border:clamp(4px,1.2vh,7px) solid #0000;border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:clamp(1px,.6vh,5px) 12px;width:min(100% - 180px,680px);padding:clamp(4px,1.2vh,10px) clamp(10px,2vw,18px);display:grid;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px #7d5129,0 10px 18px #28140573}.tutorial-dots{grid-column:1/-1;justify-content:center;gap:5px;display:flex}.tutorial-words{min-width:0}.tutorial-dot{background:#dcc9a8;border-radius:50%;width:8px;height:8px}.tutorial-dot-on{background:#1f78e6}.tutorial-text{text-align:center;margin:0;font-size:clamp(13px,3.5vh,17px);font-weight:600;line-height:1.2}.tutorial-retry{color:#c0392b;text-align:center;margin:0;font-size:clamp(12px,3.4vh,15px);font-weight:600}.tutorial-actions{justify-content:center;gap:10px;padding-bottom:4px;display:flex}.tutorial-actions .btn{min-height:34px}.tutorial-hud{right:auto}.tutorial-hud .hud-level{max-width:none}.slingshot-guide{background:#1f78e6b3;border:4px solid #fff;border-radius:50%;width:34px;height:34px;margin:-17px 0 0 -17px;animation:1.5s ease-in-out infinite slingshot-drag;position:absolute;box-shadow:0 3px 8px #28140580}@keyframes slingshot-drag{0%,15%{opacity:0;transform:scale(1.3)}30%{opacity:1;transform:scale(1)}80%{opacity:1;transform:translate(var(--drag-x), var(--drag-y))}to{opacity:0;transform:translate(var(--drag-x), var(--drag-y)) scale(.6)}}.hint-banner{width:max-content;max-width:min(84vw,800px);box-shadow:0 4px 0 var(--lip-cream), 0 8px 12px #3c1e0a59;text-align:center;pointer-events:none;background:#fff8eaf2;border-radius:16px;padding:8px 20px;font-size:clamp(14px,3.8vh,18px);font-weight:600;position:absolute;top:65%;left:50%;transform:translate(-50%,-50%)}.danger-glow{opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0;box-shadow:inset 0 0 70px 14px #eb282899}.danger-on{opacity:1}.dialog-backdrop{background:#32190a80;justify-content:center;align-items:center;padding:10px;display:flex;position:absolute;inset:0;overflow-y:auto}.dialog{background:linear-gradient(#fff8ea, #f7ead0) padding-box, var(--wood-url) border-box;border:clamp(7px,2vh,12px) solid #0000;border-radius:28px;flex-direction:column;align-items:center;gap:clamp(4px,2vh,14px);width:min(100%,540px);padding:clamp(8px,2.8vh,22px) 24px clamp(12px,3.2vh,26px);display:flex;box-shadow:0 7px #7d5129,0 16px 26px #28140580}.dialog h2{margin:0;font-size:clamp(24px,7.5vh,38px);font-weight:700}.dialog-text{text-align:center;margin:0;font-size:clamp(13px,3.6vh,16px)}.dialog-score{align-items:center;gap:10px;margin:0;font-size:clamp(22px,7vh,34px);font-weight:700;display:flex}.best-tag{background:var(--green);color:#fff;border-radius:9px;padding:2px 10px;font-size:13px;font-weight:600}.dialog-actions{flex-wrap:wrap;justify-content:center;gap:12px;padding-bottom:5px;display:flex}.rotate-prompt{display:none}@media (orientation:portrait) and (pointer:coarse){.rotate-prompt{z-index:10;background:var(--floor) var(--wood-url);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:24px;font-size:22px;font-weight:700;display:flex;position:absolute;inset:0}.rotate-prompt p{background:#fff8eaeb;border-radius:16px;margin:0;padding:10px 20px}.rotate-phone{border:6px solid var(--cream);border-radius:13px;width:56px;height:96px;animation:2.2s ease-in-out infinite rotate-hint;box-shadow:0 6px 10px #28140573}}@keyframes rotate-hint{0%,25%{transform:rotate(0)}65%,to{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){.logo-letter,.swap-ball,.rotate-phone{animation:none}.float-score{animation-duration:.4s}}
