:root{--paper: #fdfbf7;--card: #ffffff;--pencil: #2d2d2d;--muted: #e5e0d8;--red: #ff4d4d;--blue: #2d5da1;--postit: #fff9c4;--yellow: #ffd93d;--ink-soft: rgba(45, 45, 45, .62);--ink-faint: rgba(45, 45, 45, .4);--world: #ffb36b;--cell: 34px;--cols: 10;--rows: 18;--wobbly: 255px 15px 225px 15px / 15px 225px 15px 255px;--wobbly-md: 26px 9px 22px 11px / 10px 24px 9px 27px;--wobbly-sm: 12px 6px 13px 5px / 5px 12px 6px 13px;--shadow: 4px 4px 0 0 var(--pencil);--shadow-lg: 8px 8px 0 0 var(--pencil);--hand: "Kalam", "Patrick Hand", "Comic Sans MS", cursive;--body: "Patrick Hand", "Kalam", "Comic Sans MS", cursive;--snap: cubic-bezier(.16, 1, .3, 1);color-scheme:light;font-family:var(--body)}*{box-sizing:border-box}html,body{height:100%;margin:0;color:var(--pencil);overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}body{background-color:var(--paper);background-image:radial-gradient(var(--muted) 1px,transparent 1px);background-size:24px 24px}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:default}:focus-visible{outline:2.5px dashed var(--blue);outline-offset:4px}.label{font-family:var(--hand);font-size:15px;font-weight:700;letter-spacing:.02em;color:var(--ink-soft)}.tape{position:absolute;top:-13px;left:50%;width:78px;height:24px;margin-left:-39px;background:#c4c0b68c;border-left:2px dashed rgba(255,255,255,.6);border-right:2px dashed rgba(255,255,255,.6);transform:rotate(-4deg);pointer-events:none;z-index:2}.tack{position:absolute;top:-9px;left:50%;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--red) 45%,#fff),var(--red) 55%,color-mix(in srgb,var(--red) 75%,#000));border:2px solid var(--pencil);box-shadow:2px 2px 0 0 var(--pencil);pointer-events:none;z-index:3}.sticker{display:inline-block;padding:2px 14px 3px;border:2px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--postit);font-family:var(--hand);font-size:15px;font-weight:700;transform:rotate(-4deg);box-shadow:3px 3px 0 0 var(--pencil)}kbd{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border:2px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--card);box-shadow:2px 2px 0 0 var(--pencil);font-family:var(--body);font-size:15px;line-height:1;color:var(--pencil)}kbd.wide{min-width:58px}.app{position:relative;z-index:1;height:100dvh;display:grid;grid-template-rows:auto 1fr;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 26px 6px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--hand);font-size:30px;font-weight:700;line-height:1;transform:rotate(-2deg)}.brand>span:not(.brand-dot){color:var(--red)}.brand-dot{width:26px;height:26px;border-radius:50% 45% 52% 48%/48% 52% 46% 50%;background:radial-gradient(circle at 35% 30%,#ffd08a,#f7931e 60%);border:2.5px solid var(--pencil);box-shadow:2px 2px 0 0 var(--pencil)}.top-actions{display:flex;gap:12px}.icon-btn{width:42px;height:42px;display:grid;place-items:center;border:2.5px solid var(--pencil);border-radius:52% 46% 50% 48%/47% 53% 46% 52%;background:var(--card);box-shadow:3px 3px 0 0 var(--pencil);transition:transform .1s,box-shadow .1s,background .1s,color .1s}.icon-btn:hover{background:var(--red);color:var(--on-red, #000);transform:translate(1px,1px) rotate(-6deg);box-shadow:2px 2px 0 0 var(--pencil)}.icon-btn:active{transform:translate(3px,3px);box-shadow:none}.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;grid-area:1 / 1}.i-play path{fill:currentColor}.i-off,.i-play{display:none}.effects-chip{font:inherit;font-size:.95rem;color:var(--pencil);cursor:pointer;padding:4px 12px;background:var(--postit);border:2px dashed var(--pencil);border-radius:255px 15px 225px/15px 225px 15px 255px;transform:rotate(-1.5deg)}.effects-chip[hidden]{display:none}.effects-chip:hover{background:var(--yellow)}#btn-sound[aria-pressed=false] .i-on{display:none}#btn-sound[aria-pressed=false] .i-off{display:block}body.mode-paused #btn-pause .i-pause{display:none}body.mode-paused #btn-pause .i-play{display:block}.stage{display:grid;grid-template-columns:minmax(170px,220px) auto minmax(170px,220px);justify-content:center;gap:clamp(26px,3.6vw,60px);min-height:0;padding:4px 28px 26px}.side{align-self:center;display:flex;flex-direction:column;gap:26px;min-width:0}.play{display:flex;flex-direction:column;align-items:center;min-height:0}.note{position:relative;padding:18px 16px 14px;border:2.5px solid var(--pencil);border-radius:var(--wobbly-md);background:var(--card);box-shadow:var(--shadow);transition:transform .1s}.note:hover{transform:rotate(0) scale(1.01)}.note-score{background:var(--postit);transform:rotate(-1.6deg)}.note-hold{transform:rotate(1.2deg);cursor:pointer}.note-next{transform:rotate(1.4deg)}.card-head{display:flex;justify-content:space-between;align-items:center}.note canvas{display:block;width:100%;height:auto;margin-top:6px}.note-hold canvas{transition:opacity .2s,filter .2s}.note-hold.used canvas{opacity:.3;filter:grayscale(.9)}.score{font-family:var(--hand);font-size:clamp(42px,4vw,60px);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;margin:4px 0 2px;transform-origin:left center}.score.bump{animation:bump .3s var(--snap)}.best{font-size:17px;color:var(--ink-soft)}.best span{color:var(--pencil);font-family:var(--hand);font-weight:700}.stats{margin:0;padding:0 6px;display:grid}.stats div{display:flex;justify-content:space-between;align-items:baseline;padding:8px 2px;border-bottom:2px dashed var(--muted)}.stats div:last-child{border-bottom:0}.stats dt{font-size:18px;color:var(--ink-soft)}.stats dd{margin:0;font-family:var(--hand);font-size:20px;font-weight:700}.stats small{font-family:var(--body);font-weight:400;color:var(--ink-faint);margin-left:3px;font-size:14px}.keys{list-style:none;margin:0;padding:4px 6px;display:grid;gap:10px;font-size:18px;color:var(--ink-soft)}.keys li{display:grid;grid-template-columns:82px 1fr;align-items:center}.keys li span{display:flex;gap:5px}.console{position:relative;display:flex;flex-direction:column;min-height:0;flex:1;padding:14px 12px 12px;border:3px solid var(--pencil);border-radius:var(--wobbly-md);background:var(--card);box-shadow:var(--shadow-lg)}.tack-console{top:-10px}.goal{position:relative;padding:0 2px 12px;width:calc(var(--cell) * var(--cols))}.goal-top{display:flex;align-items:center;gap:10px}.level-chip{display:inline-flex;flex-direction:column;align-items:center;padding:3px 12px 5px;border:2.5px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--postit);box-shadow:3px 3px 0 0 var(--pencil);font-family:var(--hand);transform:rotate(-4deg);line-height:1}.level-chip span{font-size:12px;font-weight:700;color:var(--ink-soft)}.level-chip b{font-size:26px;font-weight:700;display:inline-block}.level-chip b.bump{animation:bump .5s var(--snap)}.goal-world{flex:1;min-width:78px;display:flex;flex-direction:column;gap:2px}.goal-theme{font-family:var(--hand);font-size:19px;font-weight:700;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timer{display:inline-flex;align-items:center;gap:6px;width:max-content;color:var(--blue)}.timer svg{width:22px;height:22px;transform:rotate(-90deg)}.timer circle{fill:none;stroke-width:3}.timer-track{stroke:var(--muted)}.timer-ring{stroke:currentColor;stroke-linecap:round;stroke-dasharray:56.55;stroke-dashoffset:0}.timer b{font-family:var(--hand);font-size:20px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.timer.low{color:var(--red-text, var(--red))}.timer.crit b{padding:1px 7px 2px;border:2px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--red);color:var(--on-red, #000)}.timer.beat{animation:beat .35s var(--snap)}.goal-nums{display:flex;flex-shrink:0;margin-left:4px;align-items:baseline;font-family:var(--hand);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1}.goal-nums b{font-size:clamp(34px,calc(var(--cell) * 1.15),46px);color:var(--red-text, var(--red));transform:rotate(-2deg);display:inline-block}.goal-nums i{font-style:normal;font-size:26px;margin:0 4px;color:var(--ink-faint)}.goal-nums span{font-size:22px;color:var(--ink-soft)}.goal-track{position:relative;height:16px;margin-top:12px;border:2.5px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--paper);overflow:hidden}.goal-gain,.goal-fill{position:absolute;inset:0;clip-path:inset(0 100% 0 0)}.goal-gain{background:var(--yellow)}.goal-fill{background:repeating-linear-gradient(-45deg,var(--red) 0 7px,color-mix(in srgb,var(--red) 72%,#fff) 7px 13px)}.goal.near .goal-track{animation:wiggle .5s ease-in-out infinite}.goal.bump .goal-track{animation:bump .35s var(--snap)}.goal.full .goal-fill{background:repeating-linear-gradient(-45deg,var(--blue) 0 7px,color-mix(in srgb,var(--blue) 72%,#fff) 7px 13px)}.goal-sub{margin-top:6px;font-size:18px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.goal-sub b{font-family:var(--hand);color:var(--pencil)}.combo{position:absolute;bottom:-8px;right:6px;display:flex;align-items:baseline;gap:6px;padding:2px 12px 4px;border:2.5px solid var(--blue);border-radius:var(--wobbly-sm);background:var(--card);box-shadow:3px 3px 0 0 var(--blue);color:var(--blue);font-family:var(--hand);pointer-events:none;opacity:0;transform:rotate(3deg) scale(.6);transition:opacity .15s,transform .2s var(--snap);white-space:nowrap;z-index:3}.combo.on{opacity:1;transform:rotate(3deg)}.combo.pop{animation:comboPop .35s var(--snap)}.combo b{font-size:24px;font-weight:700;line-height:1}.combo .combo-word{font-size:15px;font-weight:700}.combo em{font-style:normal;font-weight:700;font-size:17px;color:var(--red-text, var(--red))}.combo.hot{border-color:var(--red-text, var(--red));box-shadow:3px 3px 0 0 var(--red);color:var(--red-text, var(--red))}.combo.out{opacity:0;transform:rotate(8deg) translateY(10px) scale(.8);transition:opacity .35s,transform .35s}.board-area{flex:1;min-height:0;display:flex;justify-content:center;align-items:flex-start}.board-wrap{position:relative;box-sizing:content-box;width:calc(var(--cell) * var(--cols));height:calc(var(--cell) * var(--rows));border:3px solid var(--pencil);border-radius:var(--wobbly-md);overflow:hidden;box-shadow:5px 5px 0 0 var(--pencil);transition:box-shadow .15s,border-color .15s;will-change:transform}.board-wrap.danger{border-color:var(--red);border-style:dashed;box-shadow:5px 5px 0 0 var(--red)}.board-wrap.glow{box-shadow:5px 5px 0 0 var(--blue),0 0 0 4px #2d5da12e}#board{display:block;touch-action:none}.callout{position:absolute;inset:30% 0 auto;text-align:center;pointer-events:none;z-index:2}.callout .c{display:inline-flex;flex-direction:column;align-items:center;gap:4px;animation:callout 1.2s cubic-bezier(.2,.8,.2,1) forwards}.callout strong{font-family:var(--hand);font-size:clamp(32px,calc(var(--cell) * 1.25),58px);font-weight:700;line-height:1;color:#fff;transform:rotate(-4deg);text-shadow:2px 2px 0 var(--pencil),-2px -2px 0 var(--pencil),2px -2px 0 var(--pencil),-2px 2px 0 var(--pencil),0 3px 0 var(--pencil),5px 6px 0 var(--pencil)}.callout span{padding:1px 12px 3px;border:2px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--postit);font-size:17px;transform:rotate(2deg)}.callout .c.big strong{font-size:clamp(40px,calc(var(--cell) * 1.6),74px);color:var(--yellow)}.receipt{position:absolute;top:82px;right:-34px;width:196px;padding:16px 14px 12px;border:2.5px solid var(--pencil);border-radius:var(--wobbly-md);background:var(--postit);box-shadow:5px 5px 0 0 var(--pencil);pointer-events:none;z-index:6;opacity:0;transform:rotate(4deg) translate(30px) scale(.8);visibility:hidden}.receipt:before{content:"";position:absolute;top:-12px;left:50%;width:64px;height:22px;margin-left:-32px;background:#c4c0b699;transform:rotate(-5deg)}.receipt.show{visibility:visible;animation:receipt 2.1s cubic-bezier(.16,1,.3,1) forwards}.receipt.big.show{animation-duration:2.6s}.receipt strong{display:block;font-family:var(--hand);font-size:36px;font-weight:700;line-height:1;color:var(--red);transform:rotate(-3deg)}.receipt.big strong{font-size:44px}.receipt ul{list-style:none;margin:8px 0 6px;padding:0}.receipt li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:2px dashed rgba(45,45,45,.2);font-size:17px}.receipt li b{font-family:var(--hand)}.receipt p{margin:6px 0 0;font-size:17px;color:var(--blue);line-height:1.2}.mhud,.pad{display:none}.pad button{height:58px;display:grid;place-items:center;border:2.5px solid var(--pencil);border-radius:var(--wobbly-md);background:var(--card);box-shadow:3px 3px 0 0 var(--pencil);touch-action:none;transition:transform .08s,box-shadow .08s}.pad button.down{transform:translate(3px,3px);box-shadow:none}.pad svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.pad .pad-drop{background:var(--red);color:var(--on-red, #000)}.pad .pad-small svg{width:21px;height:21px}body.touch .pad{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:4px;width:max(288px,calc(var(--cell) * var(--cols) + 30px));margin-top:14px}#fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}#popups{position:fixed;inset:0;pointer-events:none;z-index:7;overflow:hidden}.pts{position:absolute;left:0;top:0;font-family:var(--hand);font-weight:700;font-size:26px;line-height:1;color:#fff;white-space:nowrap;text-shadow:2px 2px 0 var(--pencil),-2px -2px 0 var(--pencil),2px -2px 0 var(--pencil),-2px 2px 0 var(--pencil),3px 4px 0 var(--pencil);will-change:transform,opacity}.pts.big{font-size:36px;color:var(--yellow)}.pts.small{display:flex;flex-direction:column;align-items:center;gap:3px;text-shadow:none}.pts.small b{font-size:24px;color:#fff;text-shadow:2px 2px 0 var(--pencil),-2px -2px 0 var(--pencil),2px -2px 0 var(--pencil),-2px 2px 0 var(--pencil),3px 3px 0 var(--pencil)}.pts.small span{padding:0 8px 2px;border:2px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--postit);color:var(--pencil);font-family:var(--body);font-weight:400;font-size:14px}.screen{position:fixed;inset:0;z-index:10;display:grid;place-items:center;overflow-y:auto;overscroll-behavior:contain;padding:24px;background-color:#fdfbf7d1;background-image:radial-gradient(rgba(45,45,45,.12) 1px,transparent 1px);background-size:24px 24px;animation:fadeIn .2s ease-out both}.screen[hidden]{display:none}.sheet{position:relative;width:min(440px,calc(100% - 20px));padding:34px 30px 26px;border:3px solid var(--pencil);border-radius:var(--wobbly);background:var(--card);box-shadow:var(--shadow-lg);text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;transform:rotate(-1deg);animation:sheetIn .35s var(--snap) both}.sheet.small{width:min(390px,calc(100% - 20px))}.sheet h2{margin:0;font-family:var(--hand);font-size:44px;font-weight:700;line-height:1}.sheet-sub{margin:-2px 0 6px;color:var(--ink-soft);font-size:19px}.menu{width:min(560px,calc(100% - 20px));padding-top:36px}.logo{margin:6px 0 0;font-family:var(--hand);font-size:clamp(64px,13vw,108px);font-weight:700;line-height:.9;transform:rotate(-2deg)}.logo span{color:var(--red);display:inline-block;transform:rotate(4deg)}.squiggle{width:min(300px,70%);height:18px;margin-top:-8px}.squiggle path{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:round}#menu-fruits{width:min(440px,100%);height:auto}.lede{margin:0 0 8px;max-width:420px;font-size:20px;line-height:1.35;color:var(--ink-soft)}.cta-row{position:relative;width:100%}.doodle-arrow{position:absolute;left:-96px;top:-26px;width:90px;height:60px}.doodle-arrow path{fill:none;stroke:var(--pencil);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 6}.btn{position:relative;width:100%;height:58px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 24px;border:3px solid var(--pencil);border-radius:var(--wobbly);background:var(--card);box-shadow:var(--shadow);font-family:var(--body);font-size:24px;line-height:1;transition:transform .1s,box-shadow .1s,background .1s,color .1s}.btn:hover{background:var(--red);color:var(--on-red, #000);transform:translate(2px,2px);box-shadow:2px 2px 0 0 var(--pencil)}.btn:active{transform:translate(4px,4px);box-shadow:none}.btn.primary{justify-content:flex-start;padding:0 8px 0 28px;background:var(--yellow);font-family:var(--hand);font-weight:700;font-size:26px}.btn.primary:hover{background:var(--red);color:var(--on-red, #000)}.btn-icon{margin-left:auto;width:40px;height:40px;display:grid;place-items:center;border:2.5px solid currentColor;border-radius:52% 46% 50% 48%/47% 53% 46% 52%;transition:transform .15s var(--snap)}.btn-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.btn-icon svg path[d^="M9 6.5"]{fill:currentColor}.btn.primary:hover .btn-icon{transform:rotate(-12deg) scale(1.08)}.btn:disabled{opacity:.55;transform:none;box-shadow:var(--shadow);background:var(--muted);color:var(--pencil)}.link{font-size:19px;color:var(--blue);padding:4px 8px;text-decoration:underline wavy rgba(45,93,161,.45);text-underline-offset:5px}.link:hover{text-decoration-color:var(--blue);transform:rotate(-2deg)}.menu-meta{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:19px;color:var(--ink-soft);padding:0 6px}.menu-meta b{font-family:var(--hand);color:var(--pencil)}.boot-bar{width:100%;height:10px;border:2px solid var(--pencil);border-radius:var(--wobbly-sm);overflow:hidden;transition:opacity .3s}.boot-bar i{display:block;height:100%;width:0;background:repeating-linear-gradient(-45deg,var(--red) 0 6px,color-mix(in srgb,var(--red) 70%,#fff) 6px 12px);transition:width .2s}body:not(.is-booting) .boot-bar{opacity:0}.final{font-family:var(--hand);font-size:76px;font-weight:700;line-height:1;color:var(--red);margin:0 0 6px;transform:rotate(-3deg);font-variant-numeric:tabular-nums}.final-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:0 0 12px}.final-stats div{padding:8px 6px 10px;border:2px dashed var(--pencil);border-radius:var(--wobbly-sm)}.final-stats div:nth-child(2n){transform:rotate(1deg)}.final-stats div:nth-child(odd){transform:rotate(-1deg)}.final-stats dt{font-size:16px;color:var(--ink-soft)}.final-stats dd{margin:0;font-family:var(--hand);font-size:26px;font-weight:700}dialog{width:min(720px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow:auto;padding:32px 30px 26px;border:3px solid var(--pencil);border-radius:var(--wobbly-md);background:var(--card);color:var(--pencil);box-shadow:var(--shadow-lg)}dialog::backdrop{background:#fdfbf7cc}dialog[open]{animation:sheetIn .3s var(--snap) both}dialog .tape{top:6px}dialog h2{margin:6px 0;font-family:var(--hand);font-size:42px;font-weight:700;transform:rotate(-1.5deg)}dialog h3{margin:20px 0 8px;font-family:var(--hand);font-size:20px;font-weight:700;text-decoration:underline wavy var(--red);text-underline-offset:5px}.close{position:absolute;top:18px;right:18px}.help-lede{margin:0;color:var(--ink-soft);font-size:20px;line-height:1.35;max-width:600px}.help-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.help-list{list-style:none;margin:0;padding:0}.help-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 2px;border-bottom:2px dashed var(--muted);font-size:18px}.help-list li span:last-child{color:var(--ink-soft);display:flex;gap:5px;align-items:center}.help-note{margin:0;font-size:18px;line-height:1.35;color:var(--ink-soft)}.help-settings{display:flex;gap:28px;margin:22px 0 18px;flex-wrap:wrap}.switch{display:inline-flex;align-items:center;gap:10px;font-size:20px;cursor:pointer}.switch input{position:absolute;opacity:0;pointer-events:none}.switch span{position:relative;width:50px;height:28px;border:2.5px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--paper);transition:background .15s}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border:2px solid var(--pencil);border-radius:50%;background:var(--card);transition:transform .2s var(--snap)}.switch input:checked+span{background:var(--yellow)}.switch input:checked+span:after{transform:translate(21px);background:var(--red)}.switch input:focus-visible+span{outline:2.5px dashed var(--blue);outline-offset:3px}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.16) rotate(-2deg)}to{transform:scale(1)}}@keyframes beat{0%{transform:scale(1)}40%{transform:scale(1.25) rotate(-6deg)}to{transform:scale(1)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-.6deg)}75%{transform:rotate(.6deg)}}@keyframes comboPop{0%{transform:rotate(3deg) scale(1)}40%{transform:rotate(-4deg) scale(1.35)}to{transform:rotate(3deg) scale(1)}}@keyframes callout{0%{transform:scale(.3) rotate(-10deg);opacity:0}16%{transform:scale(1.15) rotate(3deg);opacity:1}28%{transform:scale(1) rotate(0)}78%{transform:translateY(-6px);opacity:1}to{transform:translateY(-28px) scale(.95);opacity:0}}@keyframes receipt{0%{opacity:0;transform:rotate(16deg) translate(40px) scale(.6)}14%{opacity:1;transform:rotate(2deg) translate(0) scale(1.06)}24%{transform:rotate(4deg) scale(1)}82%{opacity:1;transform:rotate(4deg) scale(1)}to{opacity:0;transform:rotate(10deg) translate(16px,-20px) scale(.92)}}@keyframes fadeIn{0%{opacity:0}}@keyframes sheetIn{0%{opacity:0;transform:rotate(-6deg) scale(.9)}}body.touch .keys{display:none}@media(max-width:920px),(pointer:coarse)and (max-height:520px){.topbar{padding:10px 14px 4px}.brand{font-size:24px}.brand-dot{width:22px;height:22px}.icon-btn{width:38px;height:38px}.top-actions{gap:9px}.stage{display:flex;flex-direction:column;align-items:center;padding:4px 12px calc(10px + env(safe-area-inset-bottom))}.side{display:none}.play{height:100%;width:100%}.mhud{display:grid;grid-template-columns:82px 1fr 82px;align-items:center;gap:10px;width:calc(var(--cell) * var(--cols) + 30px);max-width:100%;margin-bottom:12px}.mini{display:flex;flex-direction:column;align-items:center;gap:0;padding:4px 4px 3px;border:2.5px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--card);box-shadow:3px 3px 0 0 var(--pencil)}.mini:first-child{transform:rotate(-2deg)}.mini:last-child{transform:rotate(2deg)}.mini .label{font-size:13px}.mini canvas{width:66px;height:40px}.mini.used canvas{opacity:.3;filter:grayscale(.9)}.mscore{display:flex;flex-direction:column;align-items:center;gap:0}.mscore b{font-family:var(--hand);font-size:38px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.mscore b.bump{animation:bump .3s var(--snap)}.console{padding:12px 10px 10px;box-shadow:5px 5px 0 0 var(--pencil)}.goal{padding:0 2px 10px}.goal-theme{font-size:17px}.timer b{font-size:18px}.goal-nums{flex-wrap:wrap;justify-content:flex-end;max-width:46%;row-gap:2px}.goal-nums b{font-size:30px;flex-basis:100%;text-align:right}.goal-nums i{font-size:16px;margin:0 2px}.goal-nums span{font-size:15px}.goal-sub{font-size:16px}.receipt{right:4px;top:76px;width:172px}.pad,body.touch .pad{display:grid;grid-template-columns:.82fr 1fr 1fr 1fr 1fr 1.25fr;gap:8px;width:calc(var(--cell) * var(--cols) + 30px);max-width:100%;margin-top:12px}.help-cols{grid-template-columns:1fr}.sheet{padding:30px 20px 22px}.final{font-size:60px}.doodle-arrow{display:none}}@media(max-width:920px)and (max-height:720px){.pad button{height:50px}.mhud{margin-bottom:8px}.goal-sub{display:none}}@media(prefers-reduced-motion:reduce){.goal.near .goal-track{animation:none}}:root{--ink-soft: #595650;--ink-faint: #68635b}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:12px;z-index:50;padding:12px;background:var(--paper);color:var(--pencil)}.skip-link:focus{top:12px}.icon-btn{min-width:44px;min-height:44px}.link{min-height:44px;display:inline-flex;align-items:center;justify-content:center}button:disabled{opacity:.55;cursor:not-allowed}.player-button{display:inline-flex;align-items:center;gap:6px;min-height:44px;max-width:180px;padding:0 12px 0 5px;border:2px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--postit)}.player-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-button:hover{background:var(--yellow)}.player-intro{margin:16px 0 0;padding-top:12px;border-top:1px dashed color-mix(in srgb,var(--pencil) 40%,var(--paper))}.player-intro p{margin:0;font-size:17px}.player-intro .link{font-size:18px}.menu-meta{margin-top:8px}.screen{overflow-y:auto;padding:28px 20px}.screen .sheet{margin:auto;flex-shrink:0}.save-status{font-size:16px;color:var(--ink-soft);margin:8px 0}.note-hold{text-align:left}.profile-sheet{width:min(960px,calc(100vw - 32px));max-width:960px;max-height:calc(100dvh - 32px);padding:clamp(20px,4vw,38px);border:3px solid var(--pencil);border-radius:18px 9px 16px 10px;background:var(--paper);color:var(--pencil);box-shadow:7px 7px 0 var(--pencil);overflow-y:auto;overscroll-behavior:contain;-webkit-user-select:text;user-select:text}.profile-sheet::backdrop{background:#24201a9e}.profile-header{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:2px solid var(--pencil)}.profile-header>div{flex:1;min-width:0}.profile-header h2{font:700 clamp(26px,4vw,40px)/1.25 var(--hand);margin:5px 0 0;overflow-wrap:anywhere}.profile-header p{margin:0;font-size:17px}.profile-header .icon-btn{align-self:flex-start;flex-shrink:0;font:28px/1 system-ui}.eyebrow{font:700 12px/1.4 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}.profile-sheet h3{font:700 23px/1.4 var(--hand);margin:24px 0 12px}.profile-sheet p{line-height:1.5}.profile-sheet .small-print,.profile-sheet small{font:13px/1.55 system-ui,sans-serif;color:var(--ink-soft)}.profile-sheet .small-print{margin:12px 0}.account-invite{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;margin:20px 0 28px;padding:22px;border-radius:12px;background:var(--postit)}.account-invite h3{margin-top:0}.account-invite p{font-size:19px}.profile-sheet fieldset{border:0;padding:0;margin:0;min-width:0}.profile-sheet label:not(.pref){display:block;font:600 14px/1.5 system-ui,sans-serif;margin:0 0 10px}.profile-sheet input:not([type=checkbox]){display:block;width:100%;min-height:44px;border:1.5px solid color-mix(in srgb,var(--pencil) 60%,var(--paper));background:var(--card);color:var(--pencil);border-radius:6px;font:16px/1.4 system-ui,sans-serif;padding:10px;margin-top:5px}.profile-sheet input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;accent-color:var(--blue)}.profile-sheet input:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.profile-sheet .btn{width:100%;margin-top:14px;font-size:20px;min-height:48px}.profile-status:empty{display:none}.profile-status,.profile-notice{padding:12px 14px;background:color-mix(in srgb,var(--blue) 12%,var(--card));border-radius:8px;font:14px/1.5 system-ui,sans-serif}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:2px solid var(--pencil);border-radius:10px;overflow:hidden;margin:0}.profile-stats>div{padding:16px 18px;background:var(--card);border-bottom:1px solid var(--muted)}.profile-stats .stat-featured{background:var(--postit)}.profile-stats dt{font:13px/1.5 system-ui,sans-serif;color:var(--ink-soft)}.profile-stats dd{margin:4px 0 0;font:700 32px/1.2 var(--hand);font-variant-numeric:tabular-nums}.milestones{display:flex;flex-wrap:wrap;gap:8px 20px;padding:14px 0;margin:0;list-style:none;font:13px/1.5 system-ui,sans-serif;color:var(--ink-soft)}.milestones .earned{color:var(--blue);font-weight:700}.profile-columns{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;border-top:1px dashed color-mix(in srgb,var(--pencil) 40%,var(--paper))}.pref{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--muted);cursor:pointer}.pref b{display:block;font:600 14px/1.6 system-ui,sans-serif}.pref small{display:block}.table-scroll{overflow-x:auto}.profile-sheet table{width:100%;border-collapse:collapse;font:13px/1.5 system-ui,sans-serif;font-variant-numeric:tabular-nums}.profile-sheet th{color:var(--ink-soft);text-align:left;font-weight:600}.profile-sheet td,.profile-sheet th{padding:10px 7px;border-bottom:1px solid var(--muted);white-space:nowrap}.profile-sheet td:nth-child(2){font-weight:700}.history-empty{padding:34px 14px;text-align:center;background:color-mix(in srgb,var(--muted) 55%,var(--card));border-radius:8px}.history-empty p{margin:6px 0;font-size:22px}.profile-footer{display:flex;gap:12px 24px;flex-wrap:wrap;border-top:2px solid var(--pencil);margin-top:26px;padding-top:12px}.high-contrast{--ink-soft: #292722;--ink-faint: #39352e;--red: #af2020;--red-text: #af2020;--on-red: #fff;--blue: #154c91}.high-contrast .goal{background:var(--card)}.reduced-effects *,.reduced-effects *:before,.reduced-effects *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reduced-effects .receipt.show{opacity:1;transform:none}@media(max-width:620px){.topbar{padding:10px 10px 4px}.top-actions{gap:7px}.brand{font-size:21px;gap:4px}.brand-dot{display:none}.player-button{max-width:95px;padding-right:7px;font-size:16px}.player-button img{display:none}.profile-sheet{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:18px}.profile-header{gap:8px}.profile-header>img{width:48px;height:48px}.profile-stats{grid-template-columns:repeat(2,1fr)}.profile-stats>div{padding:12px}.profile-columns,.account-invite{grid-template-columns:1fr;gap:12px}.account-invite{padding:16px}.profile-footer{gap:4px 20px}.eyebrow{font-size:10px}.sheet.menu{padding:28px 22px 20px}}.screen{align-items:safe center}.topbar,.top-actions{min-width:0}.top-actions>button{flex-shrink:0}@media(max-width:620px){.effects-chip{display:none}}@media(max-width:920px),(pointer:coarse)and (max-height:520px){.console{width:min(100%,max(246px,calc(var(--cell) * var(--cols) + 32px)))}.goal{width:100%}.pad,body.touch .pad{width:min(100%,max(288px,calc(var(--cell) * var(--cols) + 30px)));grid-template-columns:repeat(6,minmax(44px,1fr));gap:4px;flex-shrink:0}.mhud{flex-shrink:0}}.goal-top{container:goal-top / inline-size}@container goal-top (max-width: 380px){.goal-world{min-width:56px}}@container goal-top (max-width: 320px){.goal-world{min-width:44px}.level-chip{padding:2px 6px}.goal-nums{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;max-width:50%;row-gap:2px}.goal-nums b{font-size:clamp(20px,11cqi,30px);flex-basis:100%;text-align:right}.goal-nums #goal-now{min-width:0}.goal-nums i{font-size:16px;margin:0 2px}.goal-nums span{font-size:15px}body.variant-journey .goal-top .goal-nums{flex-wrap:nowrap;max-width:none}body.variant-journey .goal-top .goal-nums b{flex-basis:auto}body.variant-journey .goal-top .goal-nums span{font-size:15px}}@media(max-width:620px)and (max-height:740px),(max-height:520px){.console{padding:6px 8px}.mhud{margin-bottom:6px}.mini{padding:2px 4px}.mini canvas{height:26px;width:48px}.mscore b{font-size:28px}.goal{padding-bottom:6px}.goal-top{gap:6px}.goal-world{min-width:58px}.goal-theme{font-size:13px}.level-chip{padding:2px 6px}.level-chip b{font-size:20px}.goal-nums{flex-wrap:nowrap;max-width:none}.goal-nums b{font-size:21px;flex-basis:auto}.goal-nums span{font-size:13px}.goal-nums i{font-size:13px;margin:0}.goal-sub{display:none}.pad,body.touch .pad{margin-top:6px}.pad button{height:48px}}@media(min-width:540px)and (max-height:520px){.stage{display:flex;padding:4px 12px calc(8px + env(safe-area-inset-bottom))}.side{display:none}.play{display:grid;grid-template-columns:100px minmax(0,280px) 152px;gap:14px;justify-content:center;align-items:center;width:100%;height:100%}.mhud{display:flex;flex-direction:column;width:100px;gap:12px;margin:0}.mini{width:82px}.console{height:100%;width:100%}.pad,body.touch .pad{display:grid;grid-template-columns:repeat(2,minmax(44px,1fr));width:152px;gap:10px;margin:0}.pad button{height:60px}}.guide-picker{margin:0;padding:12px 0 14px;border:0;border-bottom:1px solid var(--muted);min-width:0}.guide-picker legend{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;padding:12px 0 0;float:left;width:100%}.guide-picker legend small{color:var(--ink-soft);font-size:14px;line-height:1.35}.guide-options{clear:both;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-sheet .guide-option{position:relative;margin:0;cursor:pointer}.guide-option input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.guide-option span{display:block;height:100%;padding:8px 10px;background:var(--card);border:2px solid var(--pencil);border-radius:255px 15px 225px/15px 225px 15px 255px;box-shadow:2px 2px 0 0 var(--pencil);transition:transform .1s,box-shadow .1s,background .1s}.guide-option b{display:block;font:600 14px/1.4 system-ui,sans-serif}.guide-option small{display:block;color:var(--ink-soft);font-size:12.5px;line-height:1.3}.guide-option input:checked+span{background:var(--postit);transform:translate(2px,2px);box-shadow:none}.guide-option input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}.profile-sheet .guide-count{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 0}.guide-picker:has(input[value=off]:checked) .guide-count{opacity:.45}.stepper{display:inline-flex;align-items:center;border:2px solid var(--pencil);border-radius:12px 4px;background:var(--card)}.stepper button{width:34px;height:34px;border:0;background:none;font:700 18px/1 system-ui,sans-serif;color:var(--pencil);cursor:pointer}.stepper button:hover{background:var(--postit)}.stepper input{width:42px;height:34px;border:0;border-inline:2px solid var(--pencil);text-align:center;font:700 15px/1 system-ui,sans-serif;background:none;color:var(--pencil);-moz-appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media(max-width:520px){.guide-options{grid-template-columns:1fr}}.palette-picker{margin:14px 0 16px;padding:0;border:0;min-width:0}.locker-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.profile-sheet .locker-item{position:relative;margin:0;cursor:pointer}.locker-item input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.locker-item input:disabled{cursor:not-allowed}.locker-item span{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;padding:6px 6px 8px;background:var(--card);border:2px solid var(--pencil);border-radius:255px 15px 225px/15px 225px 15px 255px;box-shadow:2px 2px 0 0 var(--pencil);font:600 12.5px/1.25 system-ui,sans-serif;text-align:center;transition:transform .1s,box-shadow .1s,background .1s}.locker-item canvas,.locker-item img{width:64px;height:44px;border-radius:6px;border:1.5px solid var(--pencil);object-fit:cover;background:var(--muted)}.locker-item input:checked+span{background:var(--postit);transform:translate(2px,2px);box-shadow:none}.locker-item input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}.locker-item input:disabled+span{opacity:.55}.locker-item small{color:var(--ink-soft);font-weight:500}.app-only{margin-top:22px}.app-actions{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}.btn.btn-small{padding:8px 14px;font-size:15px}.dev-panel{margin-top:14px;padding:10px 12px;border:2px dashed var(--pencil);border-radius:10px;background:color-mix(in srgb,var(--postit) 60%,var(--card))}.dev-title{margin:0 0 4px}.dev-title small{display:block;color:var(--ink-soft)}.dev-log{margin:6px 0 0;font:12.5px/1.4 ui-monospace,Menlo,monospace;white-space:pre-wrap;min-height:1.4em}.palette-picker legend{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;padding:0}.palette-picker legend small{color:var(--ink-soft);font-size:14px;line-height:1.35}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:8px;max-height:248px;overflow-y:auto;padding:4px 4px 6px 2px}.swatch{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px 4px;border:2px solid var(--muted);border-radius:var(--wobbly-sm);background:var(--card);cursor:pointer;transition:transform .1s,border-color .1s,box-shadow .1s}.swatch:hover{transform:rotate(-2deg);border-color:var(--pencil)}.swatch input{position:absolute;opacity:0;pointer-events:none}.swatch .chips{display:flex;width:100%;height:22px;border:2px solid var(--pencil);border-radius:5px 3px 6px/3px 6px 3px 5px;overflow:hidden}.swatch .chips i{flex:1}.swatch small{font-family:var(--hand);font-size:13px;font-weight:700;color:var(--ink-soft);line-height:1}.swatch:has(input:checked){border-color:var(--pencil);box-shadow:3px 3px 0 0 var(--pencil);transform:rotate(-1.5deg);background:var(--postit)}.swatch:has(input:checked) small{color:var(--pencil)}.swatch:has(input:focus-visible){outline:2.5px dashed var(--blue);outline-offset:3px}.lesson{flex:0 0 auto;padding:6px 10px;background:var(--card);color:var(--ink);border-bottom:2px solid var(--pencil)}.lesson strong{font:700 14px/1.2 system-ui,sans-serif}.lesson-goal{display:block;font:700 13px/1.25 system-ui,sans-serif;margin-top:3px}.lesson p{margin:4px 0 0;font:14px/1.3 system-ui,sans-serif}.lesson .link{min-height:44px;font-size:14px}.lesson .link+.link{margin-left:12px}.file-preview .app,.file-preview .screen,.file-preview #fx,.file-preview .skip-link{display:none}.file-preview-note{max-width:520px;margin:10vh auto}body:is(.practicing,.adventuring) .pad{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:4px;margin-top:8px;width:min(100%,max(288px,calc(var(--cell) * var(--cols) + 30px)));flex-shrink:0}body:is(.practicing,.adventuring) .pad button{min-height:44px}#continue-note:empty{display:none}#btn-continue{margin-top:12px}@media(max-height:450px)and (orientation:landscape){.lesson{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:4px 8px}.lesson strong{font-size:12px}.lesson p,.lesson-goal{grid-column:1;font-size:12px;margin:0}.practice-panel>:not(.lesson-actions){grid-column:1}.practice-panel .lesson-actions{grid-column:2;grid-row:1 / 5;flex-direction:column;align-items:stretch;gap:0}}@media(min-width:540px)and (max-height:520px){body:is(.practicing,.adventuring) .play{position:relative;grid-template-columns:160px minmax(0,280px) 152px}body:is(.practicing,.adventuring) .mhud{visibility:hidden}body:is(.practicing,.adventuring) .console{position:static}body:is(.practicing,.adventuring) .tack-console{display:none}body:is(.practicing,.adventuring) .lesson{position:absolute;left:0;top:0;width:160px;max-height:100%;overflow:auto;display:block;padding:8px;border:2px solid var(--pencil);border-radius:8px}body:is(.practicing,.adventuring) .lesson p{margin-top:6px}body:is(.practicing,.adventuring) .lesson-goal{margin-top:6px}body:is(.practicing,.adventuring) .pad{grid-template-columns:repeat(2,minmax(44px,1fr));width:152px;gap:10px;margin:0}body:is(.practicing,.adventuring) .lesson .link{display:block;margin-left:0}}.adventure-map{width:min(740px,100%)}.adventure-map h2{font-size:clamp(28px,5vw,44px)}.adventure-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 24px}.adventure-stage{text-align:left;padding:12px;min-height:68px;border:2px solid var(--pencil);border-radius:12px;color:var(--ink);background:var(--card);cursor:pointer}.adventure-stage span{display:block;font:600 12px/1.4 system-ui,sans-serif;margin-top:5px}.adventure-stage:disabled{cursor:default;opacity:.58}.adventure-stage[aria-current=step]{border:3px solid var(--ink)}.adventure-passport{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.passport-fruit{text-align:center;font:12px/1.3 system-ui,sans-serif;padding:6px 2px;border:1px solid var(--pencil);border-radius:10px}.passport-fruit img{display:block;width:100%;max-width:68px;aspect-ratio:1;margin:auto}.passport-fruit.locked img{filter:grayscale(1);opacity:.3}.passport-fruit span{display:block}.adventure-reward{margin:2px auto;object-fit:contain}#screen-adventure-step p{margin:10px 0}#screen-adventure-step [hidden]{display:none}#adventure-step-save:empty,#adventure-save-note:empty{display:none}@media(max-width:380px){.adventure-passport{grid-template-columns:repeat(3,minmax(0,1fr))}.adventure-stages{gap:6px}.adventure-stage{font-size:13px}}@media(min-width:540px)and (max-height:520px){body.adventuring .mhud{visibility:visible;position:absolute;left:0;bottom:0;width:160px;flex-direction:row;gap:6px}body.adventuring .mhud .mscore{display:none}body.adventuring .mhud .mini{width:76px}body.adventuring #adventure-goal{max-height:calc(100% - 78px)}}.mode-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:12px}.mode-btn{flex-direction:column;align-items:center;justify-content:center;gap:2px;height:auto;min-height:62px;padding:8px 10px;font-size:21px}.mode-btn b{font-family:var(--hand);font-weight:700;line-height:1.05}.mode-btn small{font:13px/1.25 system-ui,sans-serif;color:var(--ink-soft)}.mode-btn:hover small{color:inherit}.menu-meta{flex-wrap:wrap;gap:4px 10px}.goal-mode:empty{display:none}.goal-mode{display:block;font:700 12px/1.2 system-ui,sans-serif;color:var(--blue);letter-spacing:.02em}body:is(.variant-orchard,.variant-journey) .timer{display:none}body:is(.variant-orchard,.variant-journey) .goal-world{justify-content:center}body.variant-journey .best{visibility:hidden}.guidance{width:100%;display:flex;flex-direction:column;gap:6px;margin:-4px 0 4px;text-align:left}.guidance p{margin:0;font:15px/1.4 system-ui,sans-serif}.over-compare{font-weight:700}.over-tip{color:var(--ink-soft)}.over-stamp{padding:6px 10px;border:2px dashed var(--pencil);border-radius:var(--wobbly-sm);background:color-mix(in srgb,var(--postit) 70%,var(--card))}.over-stamp.fresh{border-style:solid;background:var(--postit);font-weight:700}.over-stamp:empty,.guidance .save-status:empty{display:none}#over-action{height:auto;min-height:50px;padding:8px 14px;font-size:19px}.screen .sheet.small:has(.guidance){width:min(430px,calc(100% - 20px))}.daily-sheet{width:min(520px,calc(100% - 20px))}.daily-challenge{margin:0;padding:8px 12px;border:2px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--postit);font:600 15px/1.4 system-ui,sans-serif}.daily-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.daily-stats dd{font-size:22px}.daily-code{width:100%;text-align:left;margin-top:4px}.daily-code label{display:block;font:600 14px/1.5 system-ui,sans-serif;margin-bottom:4px}.daily-code-row{display:flex;gap:8px}.daily-code input{flex:1;min-width:0;min-height:44px;padding:8px 10px;border:2px solid var(--pencil);border-radius:8px;background:var(--card);color:var(--pencil);font:16px/1.3 ui-monospace,Menlo,monospace;text-transform:uppercase;-webkit-user-select:text;user-select:text}.daily-code input:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.daily-code .btn{width:auto;min-height:44px;flex-shrink:0}.daily-code-error{margin:6px 0 0;font:14px/1.4 system-ui,sans-serif;color:var(--red-text, #a11d1d)}.daily-code-error:empty,#daily-play-note:empty,#daily-share-status:empty,#daily-save-note:empty{display:none}.share-status{-webkit-user-select:text;user-select:text;overflow-wrap:anywhere}.daily-sheet h3{margin:6px 0 0;font:700 20px/1.2 var(--hand)}.daily-history{width:100%;margin:0;padding:0 0 0 20px;text-align:left;font:14px/1.6 system-ui,sans-serif;color:var(--ink-soft)}.daily-sheet .small-print{font:12.5px/1.45 system-ui,sans-serif;color:var(--ink-soft);margin:0}@media(max-width:420px){.daily-stats{grid-template-columns:1fr 1fr}}.passport-sheet{width:min(760px,calc(100% - 20px))}.passport-next{margin:0;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--blue) 10%,var(--card));font:15px/1.4 system-ui,sans-serif;text-align:left;width:100%}.passport-pages{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;width:100%;text-align:left}.passport-page{padding:10px 12px 12px;border:2px solid var(--pencil);border-radius:12px 6px 14px 8px;background:var(--card);box-shadow:3px 3px 0 0 var(--pencil)}.passport-page.done{background:color-mix(in srgb,var(--postit) 65%,var(--card))}.passport-page header{display:flex;align-items:center;gap:8px}.passport-page header h3{flex:1;margin:0;font:700 21px/1.1 var(--hand)}.passport-page header span{font:700 13px/1 system-ui,sans-serif;color:var(--ink-soft)}.stamps{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.stamps li{display:grid;grid-template-columns:28px 1fr;column-gap:8px;align-items:center;font:13px/1.35 system-ui,sans-serif}.stamps i{grid-row:span 2;width:28px;height:28px;display:grid;place-items:center;border:2px dashed var(--ink-faint);border-radius:50%;font-style:normal;font-weight:700}.stamps li.earned i{border:2px solid var(--pencil);background:var(--red);color:var(--on-red, #000);transform:rotate(-8deg)}.stamps b{font-weight:700}.stamps small{color:var(--ink-soft)}.passport-reward{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:8px;border-top:1px dashed var(--ink-faint)}.passport-reward canvas{width:64px;height:44px;border:1.5px solid var(--pencil);border-radius:6px}.passport-reward p{flex:1;min-width:120px;margin:0;font:13px/1.35 system-ui,sans-serif}.passport-reward .btn{width:auto;height:auto;min-height:40px}.passport-discoveries{margin:8px 0 0;font:700 21px/1.2 var(--hand)}.passport-sheet .adventure-passport{width:100%}.adventure-chapter-title{grid-column:1 / -1;margin:6px 0 0;font:700 18px/1.2 var(--hand);text-align:left}.adventure-stage.has-crates{background:color-mix(in srgb,#d79a57 16%,var(--card))}.passport-fruit.crate{background:color-mix(in srgb,#d79a57 22%,var(--card));border-style:dashed}@media(min-width:381px){.adventure-passport{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}}.controls-picker .guide-options{margin-top:8px}.guide-options.two{grid-template-columns:1fr 1fr}body.pad-left .pad [data-act=hard]{order:1}body.pad-left .pad [data-act=rotate]{order:2}body.pad-left .pad [data-act=left]{order:3}body.pad-left .pad [data-act=soft]{order:4}body.pad-left .pad [data-act=right]{order:5}body.pad-left .pad [data-act=hold]{order:6}body.pad-compact .pad button{height:46px}body.pad-large:not(.pad-clamped) .pad button{height:68px}body.pad-large:not(.pad-clamped) .pad svg{width:28px;height:28px}@media(min-width:540px)and (max-height:520px){body.pad-compact .pad button{height:50px}body.pad-large:not(.pad-clamped) .pad button{height:70px}body.pad-left:not(.practicing):not(.adventuring) .play{grid-template-columns:152px minmax(0,280px) 100px}body.pad-left:not(.practicing):not(.adventuring) .pad{order:-1}body.pad-left:not(.practicing):not(.adventuring) .mhud{order:3}body.pad-left .pad [data-act=left]{order:1}body.pad-left .pad [data-act=hold]{order:2}body.pad-left .pad [data-act=right]{order:3}body.pad-left .pad [data-act=soft]{order:4}body.pad-left .pad [data-act=hard]{order:5}body.pad-left .pad [data-act=rotate]{order:6}}.passport-sheet,.daily-sheet{transform:none}.mode-art{width:40px;height:40px;object-fit:contain}.stamps i.has-art{border:0;background:none}.stamps i.has-art img{width:28px;height:28px;object-fit:contain}.stamps li:not(.earned) i.has-art img{filter:grayscale(1);opacity:.35}.daily-code input{flex:1 1 0;width:0}.practice-panel{width:calc(var(--cell) * var(--cols) + 6px);max-width:100%;align-self:center;display:flex;flex-direction:column;gap:3px}.lesson-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.lesson-stack{display:grid;min-width:0}.lesson-stack>*,.lesson-sizer>*{grid-area:1 / 1}.lesson-sizer{display:grid;visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.practice-panel .lesson-goal,.practice-panel p{margin:0}.lesson-msg p{min-height:2.6em}.lesson-dots{display:inline-flex;gap:5px;flex-shrink:0}.lesson-dots i{width:9px;height:9px;border:1.5px solid var(--pencil);border-radius:50%;background:var(--card);transition:background-color .3s,transform .3s var(--snap)}.lesson-dots i.now{background:var(--yellow);transform:scale(1.2)}.lesson-dots i.done{background:var(--red)}.lesson-actions{display:flex;align-items:center;gap:14px;min-height:44px}.practice-panel .link+.link{margin-left:0}.lesson-next{margin-left:auto;font-weight:700;color:var(--pencil);text-decoration-color:var(--red)}.practice-panel .lesson-goal.won{color:#1d6b42}.pad button.cue{outline:3px solid var(--yellow);outline-offset:2px;animation:cue 1.1s ease-in-out infinite}.pad button.cue[data-act=hard]{outline-color:#2fa66a}@keyframes cue{0%,to{box-shadow:3px 3px 0 0 var(--pencil)}50%{box-shadow:3px 3px 0 0 var(--pencil),0 0 0 6px color-mix(in srgb,var(--yellow) 55%,transparent)}}.reduced-effects .pad button.cue,body.reduced-effects .pad button.cue{animation:none}@media(prefers-reduced-motion:reduce){.pad button.cue{animation:none}}@media(min-width:540px)and (max-height:520px){body.practicing .practice-panel .lesson-actions{flex-direction:column;align-items:stretch;gap:0}body.practicing .practice-panel .lesson-next{margin-left:0}}@media(max-width:920px),(pointer:coarse)and (max-height:520px){.practice-panel{width:100%}}@media(min-width:921px)and (min-height:521px){.practice-panel{min-width:280px}}@media(min-width:540px)and (max-height:520px){body.practicing .practice-panel .lesson-actions{min-height:88px;justify-content:flex-start}}.keys li{border-radius:8px;transition:background-color .25s}.keys li.cue{background:color-mix(in srgb,var(--yellow) 70%,transparent)}.keys li.cue kbd{animation:bump .9s var(--snap) infinite}.reduced-effects .keys li.cue kbd{animation:none}.goal-ribbon{position:absolute;inset:-6px -6px 2px;z-index:3;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:10px;row-gap:0;padding:4px 12px;border:2.5px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--postit);box-shadow:4px 4px 0 0 var(--pencil);text-align:center;pointer-events:none;visibility:hidden;clip-path:inset(0 100% 0 0 round 8px)}.goal-ribbon.show{visibility:visible;animation:ribbon var(--ribbon-time, 2.2s) cubic-bezier(.2,.8,.2,1) forwards}.ribbon-kicker{font:700 14px/1 var(--hand);color:var(--red-text, var(--red));text-transform:uppercase;letter-spacing:.06em}.ribbon-title{font:700 clamp(22px,calc(var(--cell) * .95),34px)/1.05 var(--hand)}.ribbon-sub{flex-basis:100%;font:15px/1.25 var(--body);color:var(--ink-soft)}.ribbon-sub:empty{display:none}@keyframes ribbon{0%{clip-path:inset(0 100% 0 0 round 8px);transform:rotate(-1.5deg)}14%{clip-path:inset(0 0 0 0 round 8px);transform:rotate(-1deg)}84%{clip-path:inset(0 0 0 0 round 8px);opacity:1;transform:rotate(-1deg)}to{clip-path:inset(0 0 0 100% round 8px);opacity:.6;transform:rotate(-1deg)}}.reduced-effects .goal-ribbon.show{animation:ribbonCalm var(--ribbon-time, 2.2s) linear forwards}@keyframes ribbonCalm{0%,to{opacity:0;clip-path:none}8%,88%{opacity:1;clip-path:none}}.goal.full .goal-track:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.85) 50%,transparent 80%);transform:translate(-100%);animation:shimmer .75s ease-out forwards}@keyframes shimmer{to{transform:translate(100%)}}.timer.refill .timer-ring{transition:stroke-dashoffset .7s cubic-bezier(.3,1.2,.5,1)}@media(max-width:620px)and (max-height:740px),(max-height:520px){.goal-ribbon{inset:-4px -4px 0;padding:2px 8px}.ribbon-sub{font-size:13px}}.page-sheet{width:min(760px,calc(100vw - 32px));overflow-x:hidden}.settings-sheet::backdrop{background:#24201a47}.settings-icon{width:56px;height:56px;flex-shrink:0;fill:none;stroke:var(--pencil);stroke-width:2.2;stroke-linecap:round}.settings-status{min-height:1.5em;margin:8px 0 0;font:600 14px/1.5 system-ui,sans-serif;color:#1d6b42}.settings-group{margin-top:6px;padding:4px 0 10px;border-bottom:1px dashed color-mix(in srgb,var(--pencil) 35%,var(--paper))}.settings-group h3{margin:16px 0 4px!important}.settings-form .pref:last-child{border-bottom:0}.settings-done{margin-top:18px}.help-settings-link{margin:18px 0 12px;font-size:18px;color:var(--ink-soft)}.help-settings-link .link{font-size:18px;padding:0 2px;min-height:0;display:inline}.pause-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px}.name-form{margin:0 0 6px}.name-row{display:flex;gap:8px;align-items:center}.profile-sheet .name-row input{margin:0;flex:1;min-width:0}.profile-sheet .name-row .btn{width:auto;margin:0;min-height:44px;flex-shrink:0}.more-stats{margin:10px 0 0}.more-stats summary{cursor:pointer;font:600 14px/2.6 system-ui,sans-serif;color:var(--blue);list-style-position:inside}.more-stats[open] summary{margin-bottom:6px}.passport-card{display:flex;align-items:center;gap:12px;width:100%;margin:14px 0 4px;padding:10px 14px;border:2px solid var(--pencil);border-radius:12px 6px 14px 8px;background:var(--postit);box-shadow:3px 3px 0 0 var(--pencil);text-align:left;transition:transform .1s,box-shadow .1s}.passport-card:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 0 var(--pencil)}.passport-card span{flex:1;display:flex;flex-direction:column}.passport-card b{font:700 20px/1.2 var(--hand)}.passport-card small{font:13px/1.4 system-ui,sans-serif;color:var(--ink-soft)}.passport-card i{font-style:normal;font-size:22px}.profile-sheet .profile-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-sheet .table-scroll{max-width:100%}.profile-sheet section{min-width:0}.profile-sheet .stepper input{width:46px;min-height:0;height:36px;margin:0;padding:0;border:0;border-inline:2px solid var(--pencil);border-radius:0;text-align:center;font:700 15px/1 system-ui,sans-serif;background:none}.profile-sheet .stepper button{width:44px;height:44px}.profile-sheet input[type=radio]{width:auto;min-height:0;margin:0}@media(max-width:620px){.page-sheet{width:calc(100vw - 16px)}.profile-sheet .profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-icon{width:44px;height:44px}}.practice-panel #lesson-retry{margin-left:auto}.practice-panel .lesson-next{position:relative;overflow:hidden;margin-left:auto;min-height:44px;padding:0 16px;border:2.5px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--yellow);box-shadow:3px 3px 0 0 var(--pencil);font:700 17px/1 var(--hand);color:var(--pencil);text-decoration:none}.practice-panel .lesson-next:hover{background:var(--red);color:var(--on-red, #000)}.practice-panel .lesson-next.counting:after{content:"";position:absolute;left:0;bottom:0;height:4px;width:100%;background:var(--pencil);transform-origin:left;animation:advance 2s linear forwards;opacity:.55}@keyframes advance{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.lesson.settling .lesson-actions{pointer-events:none}.practice-panel :focus-visible{outline-offset:1px}body.practicing .mscore{visibility:hidden}@media(min-width:540px)and (max-height:520px){body.practicing .practice-panel #lesson-retry,body.practicing .practice-panel .lesson-next{margin-left:0}}.btn{height:auto;min-height:58px;padding-block:8px}.btn.primary{font-size:clamp(20px,6.2vw,26px);line-height:1.05;text-wrap:balance}.screen.swap{animation:none}.screen.swap .sheet{animation:sheetSwap .24s ease-out both}@keyframes sheetSwap{0%{opacity:0;transform:translateY(14px) rotate(-1deg)}}.reduced-effects .screen.swap .sheet{animation:none}.topbar{position:relative;z-index:11}.screen{padding-top:calc(70px + env(safe-area-inset-top))}body:not(.mode-playing):not(.mode-paused):not(.mode-journey-moment) #btn-pause{visibility:hidden}.mode-row{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-btn b{white-space:nowrap}.mode-btn small{text-wrap:balance}.menu-meta{justify-content:center;gap:0 18px}#btn-continue{margin-top:0;margin-bottom:4px}@media(max-width:480px){.mode-row{grid-template-columns:1fr;gap:8px}.mode-btn{flex-direction:row;justify-content:space-between;min-height:52px;padding:6px 16px;text-align:left}.mode-btn small{text-align:right}}.sheet-actions{position:sticky;bottom:0;z-index:1;width:calc(100% + 16px);display:flex;flex-direction:column;gap:8px;padding:10px 8px calc(8px + env(safe-area-inset-bottom));margin:0 -8px;background:var(--card)}.sheet-actions .btn{width:100%}#over-action{min-height:50px}.sheet-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px}.final{display:inline-block;text-align:center}.over-compare{margin:-4px 0 0;font:600 15px/1.4 system-ui,sans-serif;text-align:center}#screen-over .final-stats{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px}#screen-over .final-stats dd{font-size:22px}#screen-over .final-stats dt{font-size:14px}.over-stamp.fresh{animation:stampIn .5s var(--snap) both}@keyframes stampIn{0%{transform:scale(1.3) rotate(-8deg);opacity:0}}@media(max-height:520px),(max-width:340px){.screen{padding-top:calc(58px + env(safe-area-inset-top));padding-bottom:12px}.logo{font-size:54px}#screen-menu .sticker,#menu-fruits,#screen-menu .lede,#screen-menu .squiggle{display:none}.sheet.menu{gap:8px;padding-top:20px}.sheet h2{font-size:32px}.final{font-size:48px}.over-tip,#screen-pause .sticker{display:none}#screen-pause .sheet{gap:8px;padding:18px 22px 14px}#screen-pause .btn{min-height:48px}#screen-daily .sheet-sub{display:none}}@media(min-width:540px)and (max-height:520px){.sheet.menu{width:min(760px,calc(100% - 20px));display:grid;grid-template-columns:1fr 1.1fr;column-gap:22px;align-items:center;text-align:center}.sheet.menu>.logo{grid-column:1;grid-row:1 / span 3}.sheet.menu>:not(.logo):not(.tape){grid-column:2}.sheet.menu .boot-bar{grid-column:1 / -1}}.app{z-index:auto}@media(min-width:540px)and (max-height:520px){.sheet.menu>.player-intro,.sheet.menu>.menu-meta{grid-column:1}.sheet.menu>.logo{grid-row:1 / span 2}.mode-btn{font-size:17px;min-height:52px;padding:6px 8px}.mode-btn small{font-size:12px}}#adventure-label{font:700 12px/1.2 system-ui,sans-serif;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pips{display:inline-flex;gap:3px}.pips i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--pencil);background:var(--card);transition:background-color .25s}.pips i.on{background:var(--yellow)}.pips.last i.on{background:var(--red)}body.adventuring .best,body.adventuring .stats div:nth-child(2){visibility:hidden}.adventure-stage[aria-current=step]{border:3px solid var(--pencil);background:var(--postit);box-shadow:4px 4px 0 var(--pencil)}.adventure-stage[aria-current=step]:after{content:"Play next";display:inline-block;margin-top:6px;padding:1px 8px;border-radius:6px;background:var(--red);color:var(--on-red, #000);font:700 12px/1.6 system-ui,sans-serif}.adventure-map .adventure-passport{width:100%;align-self:stretch}@media(max-height:520px),(max-width:380px){#screen-adventure-step .sheet{gap:6px;padding:18px 18px 14px}#screen-adventure-step h2{font-size:clamp(26px,7vw,36px)}#screen-adventure-step .adventure-reward{width:56px;height:56px}#screen-adventure-step p{margin:4px 0}}@media(min-width:540px)and (max-height:520px){body.adventuring .console{grid-column:2;grid-row:1}body.adventuring .pad{grid-column:3;grid-row:1}body.adventuring #adventure-goal{height:auto;justify-content:flex-start}}.account-invite{display:block;padding:14px 16px}.guest-card p{margin:0 0 8px;font-size:17px}#auth-section:not(.expanded) .auth-copy,#auth-section:not(.expanded) #auth-form{display:none}#auth-section.expanded .guest-card{display:none}.auth-copy p{margin:4px 0}.auth-error{margin:6px 0;font:600 14px/1.4 system-ui,sans-serif;color:var(--red-text, #a11d1d)}.auth-error:empty{display:none}.stats-empty{display:flex;align-items:center;gap:12px;padding:14px;border-radius:10px;background:color-mix(in srgb,var(--muted) 55%,var(--card))}.stats-empty p{margin:0;font-size:18px}body:not(.touch) .touch-only{display:none}.swatches{max-height:none;overflow:visible}.swatches:not(.all) .swatch:nth-child(n+9):not(:has(input:checked)){display:none}#palette-more{font-size:15px}.locker-item input:disabled+span{opacity:1;background:var(--muted);box-shadow:none;border-style:dashed}.locker-item input:disabled+span b{color:var(--pencil)}.locker-item input:disabled+span canvas,.locker-item input:disabled+span img{opacity:.5}.locker-items{align-items:start}body.touch-only-device .help-keys{display:none}.help-touch .touch-first span:last-child{font-weight:700;color:var(--pencil)}body:not(.touch) .help-touch .touch-first{display:none}dialog h2{font-size:clamp(30px,8vw,42px)}.d{display:inline-block;width:.62em;text-align:center}.d.sep{width:.28em}@keyframes calmFade{0%{opacity:0}12%{opacity:1}82%{opacity:1}to{opacity:0}}.reduced-effects .callout .c{animation:calmFade 1.2s linear forwards!important;transform:none!important}.reduced-effects .receipt.show{animation:calmFade 2.1s linear forwards!important;transform:rotate(4deg)!important}.reduced-effects .goal-ribbon.show{animation:ribbonCalm var(--ribbon-time, 2.2s) linear forwards!important}.receipt{right:auto;left:calc(100% + 16px);top:auto;bottom:24px;width:min(196px,calc(var(--cell) * 5.5))}.combo:not(.on):not(.out){visibility:hidden}#goal-now{display:inline-block;min-width:3.1em;text-align:right}@media(max-width:920px),(pointer:coarse)and (max-height:520px){body.touch .pad{width:min(100%,440px);gap:8px}.mhud{grid-template-columns:82px minmax(0,1fr) 82px}.mscore{min-width:0;overflow:hidden}}@media(min-width:540px)and (max-height:520px){body:is(.mode-playing,.mode-paused,.mode-adventure-moment,.mode-journey-moment,.mode-dying,.mode-over,.mode-adventure-step) .topbar{position:fixed;top:calc(4px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));padding:0;z-index:12}body:is(.mode-playing,.mode-paused,.mode-adventure-moment,.mode-journey-moment,.mode-dying,.mode-over,.mode-adventure-step) .topbar .brand,body:is(.mode-playing,.mode-paused,.mode-adventure-moment,.mode-journey-moment,.mode-dying,.mode-over,.mode-adventure-step) .topbar .player-button,body:is(.mode-playing,.mode-paused,.mode-adventure-moment,.mode-journey-moment,.mode-dying,.mode-over,.mode-adventure-step) .topbar .effects-chip{display:none}body:is(.mode-playing,.mode-paused,.mode-adventure-moment,.mode-journey-moment,.mode-dying,.mode-over,.mode-adventure-step) .top-actions{gap:6px}.pad [data-act=left]{order:1}.pad [data-act=right]{order:2}.pad [data-act=soft]{order:3}.pad [data-act=rotate]{order:4}.pad [data-act=hold]{order:5}.pad [data-act=hard]{order:6}body.pad-left .pad [data-act=left]{order:1}body.pad-left .pad [data-act=right]{order:2}body.pad-left .pad [data-act=rotate]{order:3}body.pad-left .pad [data-act=soft]{order:4}body.pad-left .pad [data-act=hard]{order:5}body.pad-left .pad [data-act=hold]{order:6}}.timer b{padding:1px 7px 2px;border:2px solid transparent;border-radius:var(--wobbly-sm)}.timer.crit b{border-color:var(--pencil);background:var(--red);color:var(--on-red, #000)}.goal-mode,.goal-theme{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.callout strong{font-size:clamp(16px,calc(var(--cell) * 1.25),58px)}.callout span{font-size:max(12px,calc(var(--cell) * .62))}.callout .c.big strong{font-size:clamp(20px,calc(var(--cell) * 1.5),70px)}.board-wrap.danger.glow{box-shadow:5px 5px 0 0 var(--red),0 0 0 4px #2d5da12e}@media(min-width:540px)and (max-height:520px){.goal{padding-bottom:4px}.goal-top{gap:6px}.goal-world .goal-theme,.goal-sub{display:none}.goal-track{height:8px;margin-top:4px;border-width:2px}.level-chip{padding:1px 6px 2px}.level-chip span{display:none}.level-chip b{font-size:18px}.goal-nums b{font-size:20px}}.score,.mscore b,#goal-now,.final,#final{white-space:nowrap}.lesson-actions{min-height:0;height:48px}@media(min-width:540px)and (max-height:520px){body.practicing .practice-panel .lesson-actions{height:auto;min-height:88px}}.stage{grid-row:2}.screen{top:calc(64px + env(safe-area-inset-top));padding-top:18px}@media(max-width:920px){.screen{top:calc(58px + env(safe-area-inset-top));padding-top:14px}}@media(max-height:520px),(max-width:340px){.screen{top:calc(52px + env(safe-area-inset-top));padding-top:8px}}@media(min-width:540px)and (max-height:520px){#screen-menu .sheet.menu>.player-intro,#screen-menu .sheet.menu>.menu-meta{grid-column:1}#screen-menu .sheet.menu>.logo{grid-row:1 / span 2;align-self:end}}#adventure-goal{height:104px;display:flex;flex-direction:column;justify-content:center;gap:4px;overflow:hidden;padding:6px 10px}.adv-head{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}#adventure-goal{min-width:0;max-width:100%}@media(max-width:480px){#adventure-count .pips{display:none}}#adventure-label{flex:1 1 0;width:0;min-width:0}.adv-stars{flex:0 0 auto;font:700 14px/1 system-ui,sans-serif;letter-spacing:1px;color:var(--muted);-webkit-text-stroke:1px var(--pencil)}.adv-stars i{font-style:normal;transition:color .3s}.adv-stars i.on{color:var(--yellow)}#adventure-count{flex:0 0 auto;display:flex;align-items:center;gap:6px;margin:0;font:700 13px/1.2 system-ui,sans-serif;white-space:nowrap}#adventure-count .left{min-width:3.6em;text-align:right;font-variant-numeric:tabular-nums}.rise-chip{display:inline-flex;align-items:center;gap:2px;padding:1px 6px 1px 2px;border:1.5px solid #2f6a1f;border-radius:999px;background:#eaf6dc;color:#24461a;font:700 12px/1.2 system-ui,sans-serif}.rise-chip svg{width:16px;height:16px}.rise-chip.soon{background:#ffe1d6;border-color:#b8141c;color:#7a0d12;animation:risePulse 1s ease-in-out infinite}@keyframes risePulse{50%{transform:scale(1.08)}}.goal-chips{display:flex;gap:6px;margin:0;padding:0;list-style:none;overflow:hidden;flex-wrap:nowrap}.goal-chips .chip{flex:0 1 auto;min-width:0;display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 9px 0 4px;border:2px solid var(--pencil);border-radius:var(--wobbly-sm);background:var(--paper);white-space:nowrap;transition:background-color .3s,box-shadow .3s}.goal-chips .chip b{font:700 17px/1 var(--hand);font-variant-numeric:tabular-nums}.goal-chips .chip .chip-word{font:600 12px/1 system-ui,sans-serif;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis}@media(max-width:600px){.goal-chips.many .chip .chip-word{display:none}}.goal-chips .chip.focus{background:var(--postit);box-shadow:2px 2px 0 var(--pencil)}.goal-chips .chip.done{background:#d9f2d0;border-color:#1d6b42}.goal-chips .chip.done:after{content:"\2713";margin-left:2px;font:800 14px/1 system-ui,sans-serif;color:#1d6b42}.goal-chips .chip.limit.done:after{content:none}.goal-chips .chip.bump{animation:chipBump .35s var(--snap)}.goal-chips .chip.won{animation:chipWon .6s var(--snap)}@keyframes chipBump{40%{transform:scale(1.12) rotate(-2deg)}}@keyframes chipWon{0%{transform:scale(.8)}50%{transform:scale(1.25) rotate(3deg)}to{transform:none}}.chip-icon{display:inline-grid;place-items:center;width:22px;height:22px;flex:0 0 auto}.chip-icon svg{width:100%;height:100%;fill:none;stroke:var(--pencil);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.chip-icon img{width:100%;height:100%;object-fit:contain}.chip-icon img.gold-img,.gold-img{filter:sepia(1) saturate(4) hue-rotate(5deg) brightness(1.12) drop-shadow(0 0 3px #ffd640)}.adv-coach{margin:0;height:2.5em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font:600 14px/1.25 system-ui,sans-serif;color:var(--pencil)}.adv-coach.urgent{color:#a11d1d}.adventure-card{position:absolute;left:50%;top:calc(var(--cell) * 2.4);width:min(92%,330px);transform:translate(-50%);z-index:2;pointer-events:none;padding:10px 12px 8px;border:2px solid var(--pencil);border-radius:var(--wobbly-md);background:#fffdf7f0;box-shadow:var(--shadow);text-align:left}.adventure-card.show{animation:cardIn .45s var(--snap) both}@keyframes cardIn{0%{opacity:0;transform:translate(-50%) translateY(14px) scale(.94)}}.adventure-card .card-kicker{display:block;font:700 12px/1.3 system-ui,sans-serif;color:var(--ink-soft);margin-bottom:4px}.adventure-card ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}.adventure-card .card-go{margin:6px 0 0;text-align:center;font:700 16px/1.2 var(--hand);color:var(--blue)}.goal-item{display:flex;align-items:center;gap:8px}.goal-item .goal-words{display:flex;flex-direction:column;min-width:0}.goal-item b{font:700 17px/1.2 var(--hand)}.goal-item small{font:13px/1.3 system-ui,sans-serif;color:var(--ink-soft)}.goal-item.done b{color:#1d6b42}.goal-item.missed b{color:#a11d1d}.mechanic-card{display:flex;align-items:center;gap:10px;padding:6px 8px;margin-top:6px;border:2px dashed var(--pencil);border-radius:10px;background:var(--postit);text-align:left}.mechanic-card .chip-icon{width:30px;height:30px}.mechanic-card b{display:block;font:700 15px/1.2 system-ui,sans-serif}.mechanic-card small{display:block;font:13px/1.3 system-ui,sans-serif}.adventure-step .goal-list{margin:8px 0 4px;padding:0;list-style:none;display:grid;gap:8px;text-align:left}.adventure-step .goal-list .chip-icon{width:30px;height:30px}.adventure-step .mechanic-cards{width:100%}#adventure-step-progress{font:600 13px/1.4 system-ui,sans-serif;color:var(--ink-soft)}.adventure-stars-big{margin:0;font:700 44px/1 system-ui,sans-serif;letter-spacing:4px;color:var(--muted);-webkit-text-stroke:2px var(--pencil)}.adventure-stars-big i{display:inline-block;font-style:normal}.adventure-stars-big i.on{color:var(--yellow);animation:starIn .5s var(--snap) both;animation-delay:calc(var(--i) * .22s + .1s)}@keyframes starIn{0%{transform:scale(.2) rotate(-40deg);opacity:0}60%{transform:scale(1.3) rotate(8deg);opacity:1}}.adventure-chapter-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.adventure-chapter-title small{font:700 13px/1 system-ui,sans-serif;color:var(--ink-soft);white-space:nowrap}.adventure-stage.has-new:not(:disabled) span{color:#1d4f8a}.passport-fruit.garden{background:#eaf6dc}body.reduced-effects .goal-chips .chip,body.reduced-effects .adventure-card.show,body.reduced-effects .adventure-stars-big i.on,body.reduced-effects .rise-chip.soon{animation:none}@media(prefers-reduced-motion:reduce){.goal-chips .chip,.adventure-card.show,.adventure-stars-big i.on,.rise-chip.soon{animation:none}}@media(max-width:380px){#adventure-goal{height:100px;padding:5px 8px}.goal-chips{gap:4px}.goal-chips .chip{padding:0 6px 0 2px;gap:2px}.goal-chips .chip .chip-word{display:none}.adv-coach{font-size:13px}}@media(min-width:540px)and (max-height:520px){body.adventuring #adventure-goal{height:auto;justify-content:flex-start}body.adventuring .adv-head,body.adventuring .goal-chips{flex-wrap:wrap}body.adventuring .goal-chips .chip .chip-word{display:none}body.adventuring .adv-coach{height:auto;-webkit-line-clamp:5;font-size:13px}.adventure-card{top:calc(var(--cell) * 1.2);padding:6px 8px}.adventure-card .goal-item b{font-size:14px}.adventure-card .mechanic-card{padding:3px 6px;margin-top:4px}}#over-chip.pending{visibility:hidden}:root{--ease-out: cubic-bezier(.32, .72, 0, 1)}.btn{transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),background-color .2s var(--ease-out),color .2s var(--ease-out)}#screen-menu{--gap: clamp(6px, 1.45dvh, 14px)}#screen-menu .sheet.menu{gap:var(--gap);padding:clamp(18px,3.4dvh,36px) clamp(16px,4.2vw,32px) clamp(16px,2.8dvh,28px);box-shadow:var(--shadow-lg),inset 0 0 0 7px var(--card),inset 0 0 0 8.5px color-mix(in srgb,var(--pencil) 12%,transparent)}#screen-menu .sticker{margin:0}#screen-menu .logo{margin:0;font-size:clamp(48px,min(17vw,10.5dvh),104px)}#screen-menu .squiggle{height:clamp(10px,2dvh,18px);margin-top:calc(var(--gap) * -1)}#menu-fruits{width:min(440px,100%,58dvh)}#screen-menu .lede{margin:0;font-size:clamp(17px,2.3dvh,20px)}#screen-menu .save-status{margin:calc(var(--gap) * -.5) 0 0;font:13px/1.3 system-ui,sans-serif}#screen-menu .save-status:empty{display:none}#screen-menu #btn-continue{margin:0}#screen-menu .btn.primary{min-height:clamp(50px,7.4dvh,66px)}#screen-menu .mode-row{margin:0}#screen-menu .player-intro{margin:0;padding-top:var(--gap)}#screen-menu .menu-meta{margin:0}#screen-menu .boot-bar{position:absolute;left:28px;right:28px;bottom:10px;width:auto;height:8px}@media(max-height:819px){#screen-menu .lede{display:none}}#screen-menu:has(#btn-continue:not([hidden])) .lede{display:none}@media(max-height:699px){#screen-menu .sticker{display:none}}#screen-menu .mode-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,2vw,12px)}#screen-menu .mode-btn{flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;min-height:0;padding:clamp(7px,1.2dvh,12px) 6px clamp(7px,1.1dvh,11px);text-align:center;font-size:clamp(16px,4.6vw,21px);border-radius:var(--wobbly-md);box-shadow:var(--shadow),inset 0 0 0 4px var(--card),inset 0 0 0 5.5px color-mix(in srgb,var(--pencil) 10%,transparent)}#screen-menu .mode-btn b{white-space:normal;text-wrap:balance}#screen-menu .mode-btn small{text-align:center;font-size:clamp(11px,3.2vw,13px)}.mode-plate{display:grid;place-items:center;width:clamp(34px,6.2dvh,54px);aspect-ratio:1;margin-bottom:1px;border-radius:50%;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--postit) 90%,#fff) 0 55%,color-mix(in srgb,var(--yellow) 30%,var(--card)));box-shadow:inset 0 -2px color-mix(in srgb,var(--pencil) 10%,transparent);transition:transform .6s var(--ease-out)}.mode-plate .mode-art{width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 3px 2px rgba(45,45,45,.22));transition:transform .6s var(--ease-out)}#screen-menu .mode-btn:hover:not(:disabled){background:var(--postit);color:inherit;transform:translate(-1px,-3px) rotate(-.6deg);box-shadow:6px 7px 0 0 var(--pencil),inset 0 0 0 4px var(--postit),inset 0 0 0 5.5px color-mix(in srgb,var(--pencil) 12%,transparent)}#screen-menu .mode-btn:hover:not(:disabled) small{color:var(--ink-soft)}#screen-menu .mode-btn:hover:not(:disabled) .mode-art{transform:translateY(-3px) rotate(-7deg) scale(1.08)}#screen-menu .mode-btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}@media(max-height:520px),(max-width:340px){#screen-menu .mode-btn small{display:none}#screen-menu .mode-btn{font-size:15px}}@media(min-width:540px)and (max-height:520px){#screen-menu .sheet.menu{row-gap:8px}#screen-menu .player-intro{padding-top:6px}#screen-menu .player-intro p{font-size:15px}.mode-plate{width:clamp(28px,8dvh,40px)}}@media(min-width:540px)and (max-height:520px){#screen-menu .sheet.menu{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:"logo cta" "logo modes" "intro meta";align-items:center;padding-block:12px 12px}#screen-menu:has(#btn-continue:not([hidden])) .sheet.menu{grid-template-areas:"logo cta" "logo cont" "intro modes" "intro meta"}#screen-menu .sheet.menu>.logo{grid-area:logo;align-self:center;font-size:clamp(44px,13dvh,60px)}#screen-menu .sheet.menu>#btn-continue{grid-area:cont}#screen-menu .sheet.menu>.cta-row{grid-area:cta}#screen-menu .sheet.menu>.mode-row{grid-area:modes}#screen-menu .sheet.menu>.player-intro{grid-area:intro}#screen-menu .sheet.menu>.menu-meta{grid-area:meta;gap:0 14px}#screen-menu .sheet.menu>#continue-note{display:none}#screen-menu .menu-meta .link,#screen-menu .player-intro .link{font-size:16px}#screen-menu .btn.primary{min-height:46px;font-size:22px}#screen-menu .btn.primary .btn-icon{width:34px;height:34px}}@media(min-width:540px)and (max-height:520px){#screen-menu .sheet.menu>.menu-meta{gap:0 2px;padding:0}#screen-menu .menu-meta .link{font-size:15px;padding-inline:5px}#screen-menu .mode-btn{font-size:14px;padding-block:6px}}@media(max-width:480px){#screen-menu .menu-meta{gap:0 2px;padding:0}#screen-menu .menu-meta .link{padding-inline:6px;font-size:18px}}#screen-menu #btn-continue{min-height:46px;font-size:20px;justify-content:flex-start;padding:0 8px 0 22px;font-family:var(--hand);font-weight:700}#screen-menu #btn-continue .btn-icon{width:32px;height:32px}@media(max-height:919px){#screen-menu:has(#btn-continue:not([hidden])) :is(#menu-fruits,.sticker){display:none}}@media(max-height:700px){#screen-menu:has(#btn-continue:not([hidden])) #continue-note{display:none}#screen-menu:has(#btn-continue:not([hidden])) .player-intro p{display:none}}@media(min-width:540px)and (max-height:520px){#screen-menu:has(#btn-continue:not([hidden])) .btn{min-height:40px}#screen-menu:has(#btn-continue:not([hidden])) .mode-plate{display:none}#screen-menu:has(#btn-continue:not([hidden])) .sheet.menu{padding-block:8px;row-gap:6px}}.btn-label{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.btn-sub{font:600 13px/1.1 system-ui,sans-serif;letter-spacing:.02em;color:color-mix(in srgb,currentColor 70%,transparent)}.btn-sub:empty{display:none}:root{--motion-press: .12s;--motion-page: .24s;--motion-reward: .42s;--ease-settle: cubic-bezier(.16, 1, .3, 1);--shadow: 2px 4px 5px color-mix(in srgb, var(--pencil) 24%, transparent);--shadow-lg: 5px 10px 24px color-mix(in srgb, var(--pencil) 20%, transparent)}::selection{color:var(--pencil);background:var(--yellow)}input,textarea{caret-color:var(--blue)}.screen,dialog{scrollbar-color:var(--ink-soft) var(--paper);scrollbar-width:thin}.sheet{transform:none;animation:paperArrive var(--motion-page) var(--ease-settle)}.screen.swap .sheet,dialog[open]{animation:paperArrive var(--motion-page) var(--ease-settle)}@keyframes paperArrive{0%{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:none}}.screen-context{color:var(--blue);font:600 14px/1.4 system-ui,sans-serif}.sheet h2{font-size:clamp(28px,7.5vw,40px);line-height:1.12;text-wrap:balance}.sheet-sub{line-height:1.4;text-wrap:pretty}.btn{transition:transform var(--motion-press) var(--ease-settle),background-color var(--motion-press),box-shadow var(--motion-press)}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active:not(:disabled),#screen-menu .btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn-icon{flex-shrink:0}.link:hover{transform:none;text-decoration-style:solid}#screen-menu .sheet.menu>:not(.tape):not(.boot-bar){animation:none}#screen-menu .btn.primary:before{display:none}#screen-menu .sheet.menu{box-shadow:var(--shadow-lg)}#screen-menu .mode-btn{box-shadow:var(--shadow)}#screen-menu .mode-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow)}#screen-menu .mode-btn:hover:not(:disabled) .mode-art{transform:rotate(-4deg)}#screen-menu .mode-plate{background:var(--postit);box-shadow:none}#screen-menu .mode-btn b{font-size:clamp(16px,4.6vw,22px)}#screen-menu .mode-btn small{min-height:2.4em;display:flex;align-items:center;justify-content:center;line-height:1.2}#screen-menu .lede{color:var(--pencil)}#screen-menu .player-intro{border-top:1px solid var(--muted)}#screen-menu .player-intro p{font-size:15px}.profile-header h2{transform:none}.profile-header .icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2}.settings-status{min-height:1.5em;margin-block:0 6px}.settings-group h3{text-decoration:none}.screen-context+.sheet-sub{margin-top:0}.daily-rules{margin:-2px 0 4px;color:var(--ink-soft);font:13px/1.5 system-ui,sans-serif}.daily-code{padding-top:18px;border-top:1px solid var(--muted)}.daily-code-row input{font-size:16px}.daily-code-row .btn{padding-inline:14px}#help{padding-top:22px}#help-title{margin:0 58px 12px 0;transform:none;font-size:clamp(28px,7vw,38px)}#help .close{z-index:3;top:16px;right:16px}.help-lede{font-size:19px;color:var(--pencil);line-height:1.45}.help-start{margin:18px 0 16px}.help-start p{margin:8px 0 0;text-align:center;font:14px/1.4 system-ui,sans-serif;color:var(--ink-soft)}.help-cols{display:block}.help-more{margin:18px 0 0;padding:12px 0;border-top:1px solid var(--muted)}.help-more summary{min-height:44px;cursor:pointer;font:700 21px/1.5 var(--hand);color:var(--blue)}.help-more[open] summary{margin-bottom:10px}.help-modes{margin:0}.help-modes div{margin:0 0 16px}.help-modes dt{font:700 20px/1.3 var(--hand)}.help-modes dd{margin:4px 0 0;font:16px/1.5 system-ui,sans-serif;color:var(--ink-soft)}.help-list li{font-size:17px;padding-block:8px}.adventure-stars-big i.on{animation:earnedStar var(--motion-reward) var(--ease-settle) both;animation-delay:calc((var(--i) - 1) * .11s)}@keyframes earnedStar{0%{opacity:.35;transform:translateY(-6px) scale(1.18) rotate(-6deg)}to{opacity:1;transform:none}}.goal-chips .chip.won{animation:goalSettled .26s var(--ease-settle)}@keyframes goalSettled{0%{transform:scale(.96)}to{transform:none}}@media(max-height:520px),(max-width:340px){#screen-menu .mode-btn small{display:none}.daily-rules{margin:0}}@media(prefers-reduced-motion:reduce){.sheet,.screen.swap .sheet,dialog[open],.adventure-stars-big i.on,.goal-chips .chip.won{animation:none}.btn,.mode-plate .mode-art,.btn-icon{transition:background-color .12s,color .12s}.btn:hover:not(:disabled),#screen-menu .mode-btn:hover:not(:disabled),#screen-menu .mode-btn:hover:not(:disabled) .mode-art,.btn:active:not(:disabled),#screen-menu .btn:active:not(:disabled){transform:none}}.reduced-effects .sheet,.reduced-effects .screen.swap .sheet,.reduced-effects dialog[open],.reduced-effects .adventure-stars-big i.on,.reduced-effects .goal-chips .chip.won{animation:none}.reduced-effects .btn,.reduced-effects .mode-plate .mode-art,.reduced-effects .btn-icon{transition:background-color .12s,color .12s}.reduced-effects .btn:hover:not(:disabled),.reduced-effects #screen-menu .mode-btn:hover:not(:disabled),.reduced-effects #screen-menu .mode-btn:hover:not(:disabled) .mode-art{transform:none}@media(min-width:540px)and (max-height:520px){#screen-menu .mode-btn b{font-size:14px;line-height:1.05;white-space:normal}#screen-menu .mode-btn small{min-height:0}#screen-menu .player-intro p{font-size:13px;line-height:1.25}}.adventure-map-nav{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 44px;width:100%;gap:4px;padding:6px 0;background:var(--card);border-bottom:1px solid var(--muted)}.adventure-map-nav button{min-height:44px;border-radius:6px;color:var(--blue);font:700 16px/1.3 var(--hand)}.adventure-map-nav button:hover{background:var(--postit)}.adventure-map-nav button:active{background:var(--yellow);color:var(--pencil)}.adventure-map-nav .map-home{display:grid;place-items:center;border-left:1px solid var(--muted);border-radius:0}.map-home svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.adventure-chapter-title{scroll-margin-top:100px}.adventure-chapter-title:focus-visible{outline-offset:5px}@media(max-height:520px){.adventure-map-nav{top:0}.adventure-chapter-title{scroll-margin-top:80px}}#screen-menu .mode-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(5px,1.6vw,10px)}#screen-menu .mode-btn{padding-inline:4px}#screen-menu .mode-btn b{font-size:clamp(14px,3.9vw,19px);line-height:1.05}#screen-menu .mode-btn small{font-size:clamp(10.5px,2.8vw,12.5px);min-height:0}#screen-menu .btn.primary .btn-label{gap:3px}#screen-menu .btn.primary .btn-sub{font-size:clamp(12px,3.2vw,14px)}@media(max-width:420px)and (min-height:700px){#screen-menu .mode-row{grid-template-columns:repeat(2,minmax(0,1fr))}#screen-menu .mode-btn{flex-direction:row;justify-content:flex-start;gap:8px;padding:6px 8px;text-align:left}#screen-menu .mode-btn .mode-plate{width:34px;flex-shrink:0;margin:0}#screen-menu .mode-btn b,#screen-menu .mode-btn small{text-align:left}#screen-menu .mode-btn b{font-size:16px}#screen-menu .mode-btn small{display:block}#screen-menu .mode-btn>b+small{margin-top:0}}@media(max-width:420px)and (min-height:700px){#screen-menu .mode-btn{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:8px;row-gap:0;align-items:center}#screen-menu .mode-btn .mode-plate{grid-row:1 / span 2}}.worlds-sheet{width:min(620px,calc(100% - 20px))}.worlds{list-style:none;margin:4px 0 0;padding:0;width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.world-card{width:100%;min-height:132px;display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;gap:2px 10px;align-items:center;padding:10px 10px 8px;border:2.5px solid var(--pencil);border-radius:var(--wobbly-md);background:var(--card);box-shadow:var(--shadow);text-align:left;transition:transform .22s var(--ease-out, ease-out),box-shadow .22s var(--ease-out, ease-out),background-color .2s}.world-card:hover:not(:disabled){transform:translateY(-2px);background:var(--postit)}.world-card:active:not(:disabled){transform:translateY(1px);box-shadow:none}.world-card[aria-current=step]{background:var(--postit);outline:3px solid var(--yellow);outline-offset:-1px}.world-card:disabled{opacity:.62;box-shadow:none;border-style:dashed;cursor:default}.world-shape{grid-row:1 / span 2;width:44px;height:79px;color:var(--pencil)}.world-card:disabled .world-shape polygon{fill:var(--muted)}.world-text{display:grid;gap:1px;min-width:0}.world-text b{font:700 19px/1.05 var(--hand)}.world-text span{font:600 13px/1.2 system-ui,sans-serif;color:var(--ink-soft)}.world-text small{font:12px/1.25 system-ui,sans-serif;color:var(--ink-soft)}.world-card em{grid-column:2;justify-self:start;font:700 12px/1 system-ui,sans-serif;font-style:normal;padding:3px 7px;border-radius:999px;border:1.5px solid var(--pencil);background:var(--paper)}.world-card[aria-current=step] em{background:var(--yellow)}@media(max-width:520px){.worlds{grid-template-columns:1fr;gap:8px}.world-card{min-height:0;grid-template-columns:30px 1fr auto;grid-template-rows:auto;padding:8px 12px 8px 10px}.world-shape{grid-row:1;width:30px;height:54px}.world-text{grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline}.world-text small{grid-column:1 / -1}.world-card em{grid-column:3;grid-row:1;justify-self:end}}@media(min-width:540px)and (max-height:520px){#screen-menu .mode-btn{padding:5px 2px;gap:2px}#screen-menu .mode-btn b{font-size:13px;line-height:1.05}#screen-menu .mode-plate{width:clamp(24px,7.5dvh,34px)}#screen-menu .btn.primary .btn-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}#screen-menu .btn.primary .btn-label{min-width:0}}@media(max-height:600px){#screen-menu:has(#btn-continue:not([hidden])) .mode-plate{display:none}}.score[data-len=l]{font-size:clamp(34px,3.2vw,46px)}.score[data-len=xl]{font-size:clamp(28px,2.6vw,38px)}.mscore{container-type:inline-size;width:100%}.mscore b,.mscore b[data-len]{font-size:min(var(--cap, 38px),100cqi / var(--ems, 2.76))}@media(max-width:620px)and (max-height:740px),(max-height:520px){.mscore b{--cap: 28px}}body.variant-journey #goal-now{min-width:1.2em}body.variant-journey .goal-nums{white-space:nowrap;flex:none;flex-wrap:nowrap}body.variant-journey .goal-nums span{font-size:18px}@media(max-width:360px){.tile-long{display:none}#screen-menu .mode-btn b{font-size:13px}#screen-menu .mode-btn{padding-inline:2px}}.nowrap{white-space:nowrap}@media(max-width:520px){.world-card{grid-template-columns:30px minmax(0,1fr) auto}.world-text{min-width:0}}@media(max-width:360px){.world-card{grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto}.world-shape{grid-row:1 / span 2}.world-card em{grid-column:2;grid-row:2;justify-self:start}}@media(min-width:540px)and (max-height:520px){#screen-menu .menu-meta .link{font-size:13px;padding-inline:3px}}@media(min-width:540px)and (max-height:520px){#screen-menu #btn-journey{font-size:20px}#screen-menu #btn-journey .btn-label{white-space:nowrap}}@media(max-width:500px){.tile-long{display:none}}@media(max-width:420px)and (min-height:700px){.tile-long{display:inline}}@media(min-width:540px)and (max-height:520px){.tile-long{display:none}}body.variant-journey{background:#eaf0dc url(../assets/worlds/orchard-morning.webp) center / cover fixed}body.variant-journey[data-journey-light=twilight]{background-image:url(../assets/worlds/berry-twilight.webp);background-color:#d8ddec}body.variant-journey .console{background:transparent;border-color:transparent;box-shadow:none}body.variant-journey .tack-console{display:none}body.variant-journey .board-wrap,body.variant-journey .board-wrap:is(.danger,.glow){border-color:transparent;border-radius:0;box-shadow:none;overflow:visible}body.variant-journey .goal{padding:8px 10px;margin-bottom:6px;background:var(--card);border-radius:14px;box-shadow:0 4px 15px #1e322321}body.variant-journey .note{box-shadow:0 5px 18px #1e32232b}body.variant-journey .stats,body.variant-journey .keys{background:var(--card);border-radius:12px;padding:10px}body.variant-journey .mhud{background:var(--card);border-radius:12px}body.variant-journey .topbar{background:var(--paper)}body.variant-journey.high-contrast{background-image:none;background-color:var(--paper)}@media(prefers-reduced-motion:reduce){body.variant-journey{background-attachment:scroll}}#screen-menu .menu-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}#screen-menu .menu-meta .link{min-height:44px;padding:8px;font-size:17px;line-height:1.25;border:1px solid var(--pencil);border-radius:8px;text-decoration:none;background:var(--paper);color:var(--pencil)}#screen-menu .menu-meta #menu-best-wrap{grid-column:1 / -1}#screen-menu .mode-btn small{display:block;font-size:13px;line-height:1.3}.screen-navigation{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:12px;width:100%;background:var(--paper);border-bottom:1px solid var(--muted)}.screen-navigation .link,.settings-navigation .link{min-height:44px;padding:8px 10px;font-size:17px}.settings-navigation{display:flex;flex-wrap:wrap;gap:4px 8px;padding:10px 0;border-block:1px solid var(--muted);margin-bottom:16px}.settings-navigation .link{color:var(--pencil);text-decoration:underline;text-underline-offset:4px}.page-sheet .profile-header{position:sticky;top:-1px;z-index:6;background:var(--paper);padding-block:8px}.named-close{width:auto;min-width:64px;min-height:44px;padding:8px 12px;font:inherit;font-weight:700}.settings-group h3{scroll-margin-top:110px}.settings-group h3:focus{outline:2px solid var(--pencil);outline-offset:5px}.screen .link{min-height:44px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--pencil);outline-offset:4px}@media(max-width:600px){#screen-menu .mode-row{grid-template-columns:1fr 1fr}#screen-menu .mode-btn{min-height:72px}#screen-menu .mode-btn b{font-size:18px}#screen-menu .menu-meta .link{font-size:16px}}@media(max-height:520px){#screen-menu .sheet.menu{margin-block:0}#screen-menu .menu-meta{gap:6px}}body:has(#screen-menu:not([hidden])) #stage{visibility:hidden}.journey-story{display:none}body.variant-journey .journey-story{display:block;margin:5px 0 3px;color:var(--pencil);font:500 13px/1.3 system-ui,sans-serif}body.variant-journey .goal-sub{display:block;white-space:normal;min-height:2.6em;font-size:13px;line-height:1.3;color:var(--pencil)}@media(max-height:520px){body.variant-journey .journey-story{display:none}body.variant-journey .goal-sub{min-height:0;font-size:11px}}body.variant-journey:not(.high-contrast){background-image:var(--journey-scene, url(../assets/worlds/orchard-morning.webp))}.clear-feedback{position:absolute;z-index:4;bottom:5px;left:8px;right:8px;padding:4px 8px;background:var(--paper);color:var(--pencil);border-radius:6px;font:700 14px/1.3 var(--hand);text-align:center;pointer-events:none}.clear-feedback[hidden]{display:none}.goal:has(.clear-feedback:not([hidden])) .goal-sub,.adventure-hud:has(.clear-feedback:not([hidden])) .adv-coach{visibility:hidden}.adventure-hud{position:relative}button.brand{padding:0;border:0;background:none;color:inherit;cursor:pointer;text-align:left}button.brand:hover>span:not(.brand-dot){text-decoration:underline wavy color-mix(in srgb,var(--red) 55%,transparent) 2px;text-underline-offset:4px}body.mode-menu button.brand{cursor:default}body.mode-menu button.brand:hover>span:not(.brand-dot){text-decoration:none}.pad button{align-content:center;gap:1px}.pad svg{width:22px;height:22px}.pad .pad-small svg{width:22px;height:22px}.pad-label{font:700 11px/1 system-ui,sans-serif;letter-spacing:.01em}.pad .pad-drop .pad-label{color:inherit}body.pad-large:not(.pad-clamped) .pad-label{font-size:13px}@media(max-width:920px)and (min-height:521px){:root{--goal-in-hud: 1}.mhud>:is(#goal,#adventure-goal){grid-column:1 / -1}.mhud:has(>:is(#goal,#adventure-goal):not([hidden])){grid-template-columns:62px 62px minmax(0,1fr);grid-template-areas:"score score goal" "hold next goal";align-items:stretch;gap:6px 8px;width:min(100%,560px);margin-bottom:8px}.mhud:has(>:is(#goal,#adventure-goal):not([hidden]))>.mscore{grid-area:score;justify-content:center;min-width:0}.mhud:has(>:is(#goal,#adventure-goal):not([hidden]))>.mini{grid-area:hold;min-width:0;padding:2px 3px 3px;transform:none}.mhud:has(>:is(#goal,#adventure-goal):not([hidden]))>.mini:nth-child(3){grid-area:next}.mhud:has(>:is(#goal,#adventure-goal):not([hidden])) .mini .label{font-size:12px}.mhud:has(>:is(#goal,#adventure-goal):not([hidden])) .mini canvas{width:100%;height:auto;aspect-ratio:5 / 3}.mhud>:is(#goal,#adventure-goal){grid-area:goal;height:auto;max-height:none;align-self:stretch;width:auto;min-width:0;margin:0;padding:8px 10px;background:var(--card);border:2.5px solid var(--pencil);border-radius:var(--wobbly-sm);box-shadow:3px 3px 0 0 var(--pencil)}body.variant-journey .mhud>#goal{border:0;border-radius:14px;box-shadow:0 4px 15px #1e322321}body.variant-journey .mhud:has(>:is(#goal,#adventure-goal):not([hidden])){background:none}body.variant-journey .mhud:has(>:is(#goal,#adventure-goal):not([hidden]))>.mscore{background:var(--card);border-radius:12px;box-shadow:0 4px 15px #1e322321}.mhud>#goal .journey-story{display:none}.mhud>#goal .goal-track{margin-top:6px}.mhud>#goal .goal-sub{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:0;margin-top:4px;font-size:13px;line-height:1.25;white-space:normal}.mhud>#adventure-goal{justify-content:flex-start;gap:3px}.mhud>#adventure-goal .adv-coach{font-size:12.5px}body:not(.adventuring):not(.practicing) .console{padding-top:10px}}
