@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(./fredoka-latin-400-normal-17JuUzdy.woff2)format("woff2"),url(./fredoka-latin-400-normal-DbXSrOeS.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(./fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}:root{--ink:#2b2d42;--ink-soft:#5c5f7a;--sky-1:#7cc6fe;--sky-2:#cdeafe;--grass:#8ac926;--grass-dark:#5f9a12;--wood:#c98b4d;--wood-dark:#8d5a2b;--wood-light:#e8b67a;--gold:#ffbe0b;--brass:#e0a526;--brass-dark:#a8740f;--card:#fff;--accent:#ff5d8f;--accent-dark:#d93a6c;--action:#3a86ff;--warn:#ff7b00;--radius:1.25rem;--shadow:0 .35rem 0 #2b2d4226;color:var(--ink);-webkit-tap-highlight-color:transparent;font-family:Fredoka,Nunito,Comic Sans MS,system-ui,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 62%, #e9f7d3 62.2%, #b5e06a 100%);background-attachment:fixed;min-height:100dvh;margin:0}body[data-page=setup],body[data-page=broken]{background:radial-gradient(circle at 20% 0,#fff4cc 0,#0000 40%),linear-gradient(160deg,#cdeafe,#f3e8ff)}button,input{font:inherit;color:inherit}h1,h2{margin:0;font-weight:600}.btn{background:var(--card);min-height:3rem;color:var(--ink);cursor:pointer;box-shadow:var(--shadow);border:0;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.2rem;font-size:1.05rem;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(2px);box-shadow:0 .1rem #2b2d4226}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-big{background:var(--accent);color:#fff;min-height:3.75rem;box-shadow:0 .4rem 0 var(--accent-dark);padding:.8rem 2rem;font-size:1.35rem}.btn-big:active{box-shadow:0 .1rem 0 var(--accent-dark)}.btn-soft{background:#ffffffeb}:focus-visible{outline:4px solid var(--action);outline-offset:3px}.game{max-width:52rem;min-height:100dvh;padding:max(.75rem, env(safe-area-inset-top)) 1rem max(.75rem, env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none;grid-template-rows:auto 1fr auto auto;gap:.75rem;margin:0 auto;display:grid}.hud{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pill{box-shadow:var(--shadow);white-space:nowrap;background:#ffffffe6;border-radius:999px;align-items:baseline;gap:.35rem;padding:.45rem .95rem;font-size:1.05rem;display:inline-flex}.pill b{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:600}.pill-moves{background:var(--gold)}.pill-moves b.bump{animation:.35s ease-out bump;display:inline-block}.pill-stars{margin-left:auto}.icon-btn{width:3rem;height:3rem;box-shadow:var(--shadow);cursor:pointer;background:#ffffffe6;border:0;border-radius:50%;font-size:1.4rem}.stage{align-content:center;gap:.5rem;display:grid;position:relative}.bubble{max-width:30rem;min-height:3.2rem;box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:1.4rem;order:-1;justify-self:center;margin:0 0 .6rem;padding:.7rem 1.2rem;font-size:clamp(1rem,3.6vw,1.25rem);position:relative}.bubble:after{content:"";border:.75rem solid #0000;border-top-color:#fff;border-bottom:0;position:absolute;bottom:-.7rem;left:50%;transform:translate(-50%)}.bubble[data-mood=warn]{background:#ffe3c7}.bubble[data-mood=warn]:after{border-top-color:#ffe3c7}.bubble[data-mood=happy]{background:#fff3b0}.bubble[data-mood=happy]:after{border-top-color:#fff3b0}.bubble.pop{animation:.3s ease-out pop}.scale{--tilt:0deg;--beam-y:3.2rem;--beam-w:64%;--hang:clamp(8rem, 30vw, 10.5rem);width:100%;height:calc(var(--beam-y) + var(--hang) + 5.5rem);margin:0 auto;position:relative}.beam{top:var(--beam-y);width:var(--beam-w);background:linear-gradient(180deg, var(--wood-light), var(--wood) 55%, var(--wood-dark));height:1rem;transform:translate(-50%, -50%) rotate(var(--tilt));z-index:3;border-radius:999px;transition:transform .7s cubic-bezier(.34,1.56,.64,1);position:absolute;left:50%;box-shadow:0 .25rem #0000001f}.beam:before,.beam:after{content:"";background:var(--brass);border:3px solid var(--brass-dark);border-radius:50%;width:1.1rem;height:1.1rem;position:absolute;top:50%;transform:translateY(-50%)}.beam:before{left:-.4rem}.beam:after{right:-.4rem}.beam-knob{background:var(--gold);border:4px solid var(--brass-dark);border-radius:50%;width:1.8rem;height:1.8rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.post{left:50%;top:var(--beam-y);background:linear-gradient(90deg, var(--wood-dark), var(--wood) 40%, var(--wood-light) 60%, var(--wood-dark));z-index:2;border-radius:.6rem;width:1.5rem;position:absolute;bottom:1.6rem;transform:translate(-50%)}.foot{background:linear-gradient(180deg, var(--wood-light), var(--wood-dark));border-radius:1.2rem 1.2rem .6rem .6rem;width:clamp(7rem,26%,10rem);height:1.8rem;position:absolute;bottom:.4rem;left:50%;transform:translate(-50%);box-shadow:0 .35rem #00000026}.face{width:clamp(4.2rem,13vw,5.6rem);position:absolute;top:42%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.face-head{fill:var(--gold);stroke:var(--brass-dark);stroke-width:4px}.face-cheek{fill:#ff8fab;opacity:.55}.face-eyes{fill:var(--ink);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.face-glint{fill:#fff}.face-mouth{fill:none;stroke:var(--ink);stroke-width:5px;stroke-linecap:round;transition:d .3s}.face-mouth.filled{fill:#d93a6c}.scale.cheer .face{animation:.6s ease-in-out 3 jump}.pan{top:var(--beam-y);width:34%;height:calc(var(--hang) + 1.6rem);transform:translate(-50%, var(--drop,0px));cursor:pointer;z-index:4;border-radius:1rem;transition:transform .7s cubic-bezier(.34,1.56,.64,1);position:absolute}.pan-L{left:calc(50% - var(--beam-w) / 2)}.pan-R{left:calc(50% + var(--beam-w) / 2)}.strings{width:100%;height:calc(100% - 1.4rem);stroke:var(--brass-dark);stroke-width:1.2px;vector-effect:non-scaling-stroke;position:absolute;inset:0 0 1.4rem;overflow:visible}.strings line{stroke-width:3px;vector-effect:non-scaling-stroke}.hook{background:var(--brass-dark);border-radius:50%;width:.8rem;height:.8rem;position:absolute;top:-.35rem;left:50%;transform:translate(-50%)}.dish{background:linear-gradient(180deg, #ffd166, var(--brass) 60%, var(--brass-dark));border-radius:0 0 50% 50%/0 0 100% 100%;height:1.6rem;position:absolute;bottom:0;left:-4%;right:-4%;box-shadow:0 .3rem #0000001f}.sum{background:var(--ink);color:#fff;text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:2.6rem;margin-top:.35rem;padding:.1rem .6rem;font-size:1.25rem;font-weight:600;position:absolute;top:100%;left:50%;transform:translate(-50%)}.pan .stones{pointer-events:none;flex-wrap:wrap-reverse;place-content:flex-start center;gap:.15rem;display:flex;position:absolute;bottom:1.35rem;left:6%;right:6%}.pan .stones .stone{--size:calc(clamp(2.3rem, 7.5vw, 3rem) * var(--grow));pointer-events:auto}.zone.over,.choosing .zone:hover{filter:drop-shadow(0 0 .6rem #3a86ffe6)}.choosing .zone,.dragging .zone{animation:1.4s ease-in-out infinite glow}.won .zone{animation:none}.box{border-radius:var(--radius);background:repeating-linear-gradient(0deg, transparent 0 2.4rem, #00000014 2.4rem 2.55rem), linear-gradient(180deg, var(--wood-light), var(--wood));border:.35rem solid var(--wood-dark);box-shadow:var(--shadow);cursor:pointer;padding:.6rem .8rem .9rem;position:relative}.box-title{background:var(--wood-dark);color:#fff;border-radius:999px;padding:.05rem .8rem;font-size:1rem;position:absolute;top:-.95rem;left:1rem}.box .stones{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.5rem;min-height:5.2rem;padding-top:.4rem;display:flex}.stone{--grow:1;--size:calc(clamp(2.8rem, 10vw, 3.5rem) * var(--grow));width:var(--size);height:calc(var(--size) * .86);border-radius:var(--shape);background:radial-gradient(circle at 32% 28%, #ffffffd9 0 12%, transparent 13%), radial-gradient(circle at 40% 35%, #ffffff80, transparent 60%), var(--color);font-size:calc(var(--size) * (.5 - .06 * (var(--digits) - 1)));color:var(--ink);cursor:grab;touch-action:none;border:0;place-items:center;padding:0;font-weight:600;transition:transform .15s,filter .15s;display:grid;position:relative;box-shadow:inset -.3rem -.4rem #00000021,0 .25rem #0000002e}.stone span{pointer-events:none;text-shadow:0 1px #ffffffb3}.stone:hover{transform:translateY(-3px)}.stone.selected{outline:4px solid var(--action);outline-offset:3px;animation:.9s ease-in-out infinite wiggle;transform:translateY(-6px)scale(1.12)}.stone.lifted{opacity:.3}.stone.ghost{z-index:50;pointer-events:none;filter:drop-shadow(0 .8rem .6rem #00000040);cursor:grabbing;margin:0;transition:none;position:fixed;transform:translate(-50%,-50%)scale(1.18)rotate(-6deg)}.won .pan .stone{animation:hop .5s ease-in-out var(--hop-delay,0s) 3}.shake{animation:.45s ease-in-out shake}.pan.shake{animation:.45s ease-in-out pan-shake}.actions{justify-content:center;gap:.75rem;display:flex}.win{z-index:40;background:#2b2d4259;place-items:center;padding:1rem;animation:.3s ease-out fade;display:grid;position:fixed;inset:0}.win[hidden]{display:none}.win-card{text-align:center;background:#fff;border-radius:2rem;width:min(26rem,100%);padding:1.5rem 1.5rem 1.75rem;animation:.5s cubic-bezier(.34,1.56,.64,1) rise;box-shadow:0 .6rem #2b2d4233}.win-card h2{margin:.3rem 0;font-size:2rem}.win-stars{justify-content:center;gap:.4rem;font-size:3.6rem;line-height:1;display:flex}.win-star{color:#e3e5ee;animation:.5s cubic-bezier(.34,1.8,.64,1) forwards star-in;animation-delay:calc(var(--n) * .22s + .15s);transform:scale(0)}.win-star:nth-child(2){margin-top:-.6rem;font-size:4.4rem}.win-star.on{color:var(--gold);text-shadow:0 .2rem 0 var(--brass-dark)}.win-moves{margin:.4rem 0;font-size:1.35rem}.win-record{color:var(--ink-soft);min-height:1.5rem}.badge{color:var(--ink);background:#fff3b0;border-radius:999px;padding:.35rem .9rem;font-weight:600;animation:1.2s ease-in-out infinite pulse;display:inline-block}.win-actions{gap:.75rem;margin-top:1.1rem;display:grid}.confetti{z-index:60;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}@keyframes bump{40%{transform:scale(1.5)}}@keyframes pop{0%{transform:scale(.85)}60%{transform:scale(1.05)}}@keyframes wiggle{0%,to{rotate:-4deg}50%{rotate:4deg}}@keyframes shake{20%,60%{translate:-6px}40%,80%{translate:6px}}@keyframes pan-shake{20%,60%{rotate:-5deg}40%,80%{rotate:5deg}}@keyframes glow{50%{filter:drop-shadow(0 0 .45rem #3a86ffb3)}}@keyframes hop{50%{translate:0 -.9rem}}@keyframes jump{50%{translate:0 -.8rem;rotate:8deg}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(3rem)scale(.8)}}@keyframes star-in{to{transform:scale(1)}}@keyframes pulse{50%{transform:scale(1.06)}}@media (width<=30rem){.pill{padding:.35rem .7rem;font-size:.9rem}.pill b{font-size:1.2rem}.pill-label{font-size:.85rem}.pill-record .pill-label{display:none}.hud{gap:.35rem}.icon-btn{width:2.6rem;height:2.6rem;font-size:1.15rem}.scale{--beam-w:62%}.pan{width:37%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.setup,.broken{max-width:46rem;margin:0 auto;padding:1.25rem 1rem 3rem}.setup-head{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.setup-head h1{font-size:clamp(1.8rem,6vw,2.5rem)}.setup-head p{color:var(--ink-soft);margin:.1rem 0 0}.logo{background:var(--gold);width:4.2rem;height:4.2rem;box-shadow:var(--shadow);border-radius:1.3rem;flex:none;place-items:center;font-size:2.4rem;display:grid}.card{background:var(--card);box-shadow:var(--shadow);border-radius:1.6rem;margin-bottom:1.25rem;padding:1.25rem}.card h2{margin-bottom:.8rem;font-size:1.35rem}.card p{line-height:1.5}.presets{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.chip{cursor:pointer;background:#f7f8ff;border:2px solid #d9dcef;border-radius:999px;min-height:2.75rem;padding:.4rem 1rem;font-weight:600}.chip.active{border-color:var(--action);background:#e3eeff}fieldset{border:2px solid #eceefa;border-radius:1rem;margin:0 0 1rem;padding:.9rem 1rem .4rem}legend{padding:0 .4rem;font-weight:600}.row{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));align-items:start;gap:.25rem 1rem;display:grid}.field{gap:.25rem;margin-bottom:.7rem;display:grid}.field-label{color:var(--ink-soft);font-size:.95rem}.field input{background:#fbfbff;border:2px solid #d9dcef;border-radius:.8rem;width:100%;min-height:2.9rem;padding:.4rem .8rem;font-size:1.15rem}.field small{color:var(--ink-soft)}.check{cursor:pointer;align-items:center;gap:.6rem;min-height:2.6rem;margin-bottom:.4rem;display:flex}.check input{width:1.4rem;height:1.4rem;accent-color:var(--action)}.problem,.warn{background:#ffe3c7;border-radius:.9rem;padding:.7rem 1rem}.example{color:var(--ink-soft);margin:0}.result{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:1.25rem;display:flex}.result canvas{box-shadow:var(--shadow);border-radius:1rem;width:14rem!important;height:14rem!important}.result-side{flex:16rem;min-width:0}.result-actions{flex-wrap:wrap;gap:.5rem;display:flex}.result .btn-soft,.broken .btn-soft{border:2px solid #d9dcef}.small{color:var(--ink-soft);font-size:.9rem}.broken{text-align:center;margin-top:3rem}.broken .logo{margin:0 auto 1rem}.print-sheet{display:none}@media print{body{background:#fff!important}.setup{display:none}.print-sheet{text-align:center;padding-top:2cm;display:block}.print-sheet h1{font-size:2.6rem}.print-sheet p{font-size:1.4rem}.print-sheet img{width:12cm;height:12cm}}
