@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(./nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(./nunito-cyrillic-800-normal-DymMgApb.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(./nunito-cyrillic-900-normal-CWPcV0_V.woff2)format("woff2"),url(./nunito-cyrillic-900-normal-Dr1fjxoU.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(./nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(./nunito-latin-900-normal-CVn49sIn.woff)format("woff")}:root{--cream:#fff4e6;--paper:#fffaf2;--ink:#3b2a20;--ink-soft:#7a6355;--seam:#6b4a35;--night-1:#2b2f5c;--night-2:#1c1e3d;--moon:#ffe9a8;--accent:#e8735a;--accent-ink:#fff;--inset-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--inset-bottom:calc(var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)) + var(--ad-h,0px));--inset-left:var(--safe-area-inset-left,env(safe-area-inset-left,0px));--inset-right:var(--safe-area-inset-right,env(safe-area-inset-right,0px));--side-gap:16px;color:var(--ink);background:var(--cream);-webkit-text-size-adjust:100%;font-family:Nunito,system-ui,sans-serif;font-weight:700}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;user-select:none;-webkit-touch-callout:none;height:100%;margin:0;overflow:hidden}#app{padding:var(--inset-top) var(--inset-right) var(--inset-bottom) var(--inset-left);justify-content:center;display:flex;position:fixed;inset:0}.column{flex-direction:column;width:100%;max-width:620px;height:100%;display:flex;position:relative}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation-duration:1ms!important}}.board-slot{width:100%;min-height:0;padding:0 var(--side-gap);flex:auto;justify-content:center;align-items:flex-end;display:flex;position:relative}.quilt:after{content:"";opacity:.3;pointer-events:none;background:url(../art/linen.webp) 0 0/96px 96px;border-radius:6%;position:absolute;inset:0}.board{touch-action:none;contain:layout paint;flex:none;position:relative}.quilt,.quilt svg{width:100%;height:100%;display:block;position:absolute;inset:0}.quilt{transform:translateZ(0)}.cells{inset:var(--pad);grid-template-columns:repeat(var(--n), 1fr);grid-template-rows:repeat(var(--n), 1fr);display:grid;position:absolute}.cell{justify-content:center;align-items:center;display:flex;position:relative}.x{width:34%;height:34%;position:absolute}.x:before,.x:after{content:"";opacity:.62;background:#4a3226;border-radius:99px;width:118%;height:16%;margin:-8% 0 0 -59%;position:absolute;top:50%;left:50%;transform:rotate(45deg)}.x:after{transform:rotate(-45deg)}.x.auto:before,.x.auto:after{opacity:.22}.critter{display:block;position:absolute;inset:4%}.critter img{pointer-events:none;width:100%;height:100%;display:block}.critter .alert{color:#fff;width:42%;height:42%;font-size:calc(var(--cell,40px) * .3);background:#d64034;border-radius:50%;place-items:center;font-weight:900;line-height:1;display:grid;position:absolute;top:-12%;right:-6%}.cell.bad:before,.cell.wrong:before{content:"";background:#d640345c;border-radius:50%;position:absolute;inset:6%;box-shadow:0 0 0 2.5px #3b2a20,inset 0 0 0 2px #ffffffd9}.board.has-focus .cell:not(.focus):after{content:"";background:#fff4e694;position:absolute;inset:0}.board.coach.has-focus .cell:not(.focus):after{background:#fff4e647}.cell.h-place:before{content:"";background:#fff6;border:3px dashed #3b2a20;border-radius:50%;position:absolute;inset:12%}.cell.h-cross:before{content:"";border:2px dashed #3b2a20b3;border-radius:30%;position:absolute;inset:22%}.critter.fresh{animation:.32s cubic-bezier(.3,1.5,.5,1) both plop}@keyframes plop{0%{opacity:.4;transform:translateY(-18%)scale(.45)}60%{opacity:1;transform:translateY(2%)scale(1.08,.92)}to{transform:none}}.x{animation:.14s ease-out both xin}@keyframes xin{0%{opacity:0;transform:scale(.5)}}.critter.awake{animation:.36s ease-in-out both jolt}@keyframes jolt{20%{transform:translate(-7%)rotate(-6deg)}45%{transform:translate(6%)rotate(5deg)}70%{transform:translate(-3%)rotate(-2deg)}}.critter .alert{animation:.28s cubic-bezier(.3,1.6,.5,1) .1s both pop}.board.solved .critter{animation:breathe 1.3s calc(.25s + var(--k,0) * .12s) ease-in-out 1 both}.critter .zz{font-style:normal;font-weight:900;font-size:calc(var(--cell,40px) * .42);color:#fff8ee;-webkit-text-stroke:1.5px #3b2a20;opacity:0;animation:zz 1.3s calc(.3s + var(--k,0) * .12s) ease-out both;position:absolute;top:-18%;right:-4%}@keyframes zz{25%{opacity:1}to{opacity:0;transform:translate(40%,-110%)scale(1.3)}}.game.done .board-slot{z-index:5}.board-slot:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(closest-side,#ffce8c8c,#ffce8c00);transition:opacity .9s ease-out;position:absolute;inset:-12% -4% -6%}.game.done .board-slot:before{opacity:1}@keyframes breathe{0%{opacity:.45;transform:scale(.82)}to{opacity:1;transform:none}}.game{position:relative}.night{inset:calc(-1 * var(--inset-top)) 0 calc(-1 * var(--inset-bottom));z-index:4;pointer-events:none;position:absolute;overflow:hidden}.night-sky{opacity:0;background:linear-gradient(#1c1e3d 0%,#2b2f5c 55%,#2b2f5c99 100%);animation:.8s ease-out forwards fadein;position:absolute;inset:0}@keyframes fadein{to{opacity:.84}}.moon{top:calc(var(--inset-top) + 78px);background:var(--moon);opacity:0;border-radius:50%;width:44px;height:44px;animation:1s cubic-bezier(.2,.9,.3,1) .2s forwards moon;position:absolute;right:7%;transform:translateY(-60px);box-shadow:inset -12px -4px #e9c56e8c}@keyframes moon{to{opacity:1;transform:none}}.star{width:10px;height:10px;margin-top:calc(var(--inset-top) + 64px);background:var(--moon);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:0;transform:scale(var(--s));animation:twinkle .6s var(--d) ease-in-out 3 alternate forwards;position:absolute}@keyframes twinkle{0%{opacity:0}to{opacity:.95}}.zzz{color:#fff8ee;opacity:0;animation:zzz 1.8s var(--d) ease-out forwards;font-size:30px;font-weight:900;position:absolute;top:46%}@keyframes zzz{25%{opacity:1}to{opacity:0;transform:translate(26px,-120px)scale(1.4)}}.calm .night-sky{opacity:.84}.calm .moon,.calm .star{opacity:1;transform:none}.cell.glow0:after,.cell.glow1:after{content:"";opacity:0;background:#fff6d6bf;animation:.7s ease-out glow0;position:absolute;inset:0}.cell.glow1:after{animation-name:glow1}@keyframes glow0{30%{opacity:1}}@keyframes glow1{30%{opacity:1}}.hand{z-index:3;color:#fff8ee;pointer-events:none;transform-origin:30% 10%;animation:1.4s ease-in-out .4s 4 both tap2;position:absolute;top:42%;left:38%}.hand .icon{stroke:#3b2a20;stroke-width:14px;paint-order:stroke}@keyframes tap2{0%,to{transform:translate(10%,18%)}15%,45%{transform:translate(0)scale(.9)}30%,60%{transform:translate(6%,10%)}}:root{--radius:20px;--stitch:#6b4a3552;--shadow:0 3px 0 #6b4a3538, 0 8px 18px #6b4a351a;--coral:#e8735a;--coral-deep:#c95a43;--gold:#e9a93a;--sage:#7f9a62}.room{padding:var(--inset-top) var(--inset-right) var(--inset-bottom) var(--inset-left);background:var(--cream) center top / cover no-repeat;justify-content:center;display:flex;position:absolute;inset:0}.room>.column{z-index:1}.topbar{min-height:64px;padding:8px var(--side-gap);align-items:center;gap:10px;display:flex}.topbar-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:clamp(16px,5vw,21px);font-weight:900;line-height:1.15;display:-webkit-box;overflow:hidden}.icon-btn,.icon-gap{flex:none;width:48px;height:48px}.icon-btn{background:var(--paper);box-shadow:var(--shadow);outline:2px dashed var(--stitch);outline-offset:-6px;border-radius:16px;place-items:center;display:grid}.icon-btn:active,.btn:active,.tool:active,.level:active,.chapter-card:active{transform:translateY(2px)}.count{background:var(--paper);box-shadow:var(--shadow);border-radius:99px;align-items:center;gap:4px;padding:6px 12px 6px 6px;font-size:18px;font-weight:900;display:flex}.count img{width:30px;height:30px}.btn{border-radius:var(--radius);background:var(--paper);width:100%;min-height:60px;box-shadow:var(--shadow);outline:2px dashed var(--stitch);outline-offset:-7px;text-align:left;align-items:center;gap:12px;padding:10px 18px;font-size:18px;font-weight:900;display:flex;position:relative}.btn.primary{background:var(--coral);color:#fff;box-shadow:0 4px 0 var(--coral-deep), 0 10px 20px #c95a4340;outline-color:#fff4e6bf}.btn.big{min-height:76px;font-size:22px}.btn.ghost{justify-content:center}.btn-text{flex-direction:column;flex:1;line-height:1.15;display:flex}.btn-text small{opacity:.8;font-size:14px;font-weight:700}.btn.daily img{width:44px;height:44px;margin:-6px -2px}.btn.daily.done{background:#f1f6e8}.streak{background:var(--night-1);color:var(--moon);border-radius:99px;align-items:center;gap:4px;padding:4px 10px;font-size:15px;display:flex}.home .hero{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:0;display:flex}.logo{letter-spacing:-1px;color:var(--ink);text-shadow:0 3px #fffaf2e6;margin:0;font-size:clamp(44px,13vw,64px);font-weight:900}.logo span{color:var(--coral)}.logo:after{content:"";border-top:3px dashed #6b4a3566;height:0;margin:2px 14% 0;display:block}.hero-critter{aspect-ratio:1;width:min(52vw,230px,30vh);height:auto}.home-actions{padding:8px var(--side-gap) 22px;flex-direction:column;gap:14px;display:flex}.scroll{overscroll-behavior:contain;min-height:0;padding:4px var(--side-gap) 24px;-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.chapter-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.chapter-card{background:linear-gradient(var(--tint), var(--tint)), var(--paper);width:100%;box-shadow:var(--shadow);outline:2px dashed var(--stitch);outline-offset:-7px;text-align:left;border-radius:24px;align-items:center;gap:14px;padding:12px 16px 18px 10px;display:flex;position:relative;overflow:hidden}.chapter-card img{flex:none;width:84px;height:84px}.chapter-card.locked{background:var(--paper);box-shadow:none;color:var(--ink-soft)}.chapter-card.locked img{opacity:.45}.chapter-text{flex-direction:column;gap:2px;min-width:0;display:flex}.chapter-text small{color:var(--ink-soft)}.chapter-text b{font-size:20px;font-weight:900}.chapter-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:14px;display:flex}.stars-mini{color:#a0702a;align-items:center;gap:3px;display:inline-flex}.stars-mini .icon{color:var(--gold)}.patch-bar{background:#6b4a351f;height:6px;position:absolute;bottom:0;left:0;right:0}.patch-bar:after{content:"";background:var(--sage);transform-origin:0;transform:scaleX(var(--done));position:absolute;inset:0}.chapter-head{background:var(--paper);box-shadow:var(--shadow);border-radius:24px;align-items:center;gap:12px;margin:0 0 14px;padding:6px 16px 6px 6px;display:flex}.chapter-head img{width:96px;height:96px}.chapter-head>span{flex-direction:column;gap:4px;font-size:18px;display:flex}.chapter-head b{font-size:22px;font-weight:900}.levels{grid-template-columns:repeat(5,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.level{aspect-ratio:1;background:var(--paper);width:100%;box-shadow:var(--shadow);outline:2px dashed var(--stitch);outline-offset:-5px;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:20px;font-weight:900;display:flex;position:relative}.level.solved{background:var(--fab,#f8e2c8)}.level.locked{color:#3b2a2066;box-shadow:none;background:#fffaf299}.level-stars{color:var(--gold);line-height:1;display:flex}.game{padding-bottom:12px}.bubble{height:88px;margin:8px var(--side-gap) 10px;opacity:0;border-radius:20px;flex:none;align-items:center;gap:10px;padding:8px 14px 8px 8px;font-size:15px;line-height:1.3;transition:opacity .18s,transform .18s;display:flex;overflow:hidden;transform:translateY(6px)}.bubble.on{opacity:1;background:var(--paper);box-shadow:var(--shadow);transform:none}.bubble.coach{background:#fff3d6}.bubble>span{-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:clamp(13px,3.8vw,15px);line-height:1.25;display:-webkit-box;overflow:hidden}.bubble-face{flex:none;width:52px;height:52px}.tools{padding:0 var(--side-gap);gap:10px;display:flex}.tool{background:var(--paper);min-height:64px;box-shadow:var(--shadow);outline:2px dashed var(--stitch);outline-offset:-6px;border-radius:18px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;font-size:clamp(12px,3.6vw,14px);font-weight:900;display:flex}.tool.accent .icon{color:var(--gold)}.tool:disabled{color:#3b2a2059;box-shadow:none}.game.done .tools,.game.done .bubble{opacity:0;pointer-events:none}.result{z-index:6;left:0;right:0;bottom:calc(-1 * var(--inset-bottom));padding:10px 16px calc(14px + var(--inset-bottom));background:var(--paper);outline:2px dashed var(--stitch);outline-offset:-9px;border-radius:28px 28px 0 0;flex-direction:column;align-items:center;gap:6px;animation:.32s cubic-bezier(.2,.9,.3,1.2) both rise;display:flex;position:absolute;box-shadow:0 -6px 30px #1c1e3d52}.result-head{justify-content:center;align-items:flex-end;gap:8px;width:100%;display:flex;position:relative}.result-critter{width:80px;height:80px;margin:-46px 0 -4px -10px}.result h2{margin:0;font-size:26px;font-weight:900;line-height:1.1}.stars{gap:8px;margin:2px 0 0;padding:0;list-style:none;display:flex}.stars li{white-space:nowrap;text-align:center;width:92px;color:var(--ink-soft);flex-direction:column;align-items:center;gap:2px;font-size:13px;display:flex}.stars li .icon{color:#6b4a3559}.stars li.on .icon{color:var(--gold);animation:.38s cubic-bezier(.3,1.6,.5,1) both pop;animation-delay:calc(.25s + var(--k) * .18s)}.stars li.on{color:var(--ink)}.times{gap:18px;font-size:15px;display:flex}.result-extra{text-align:center;font-size:15px}.result-actions{gap:10px;width:100%;margin-top:4px;display:flex}.result-actions .btn{flex:1;justify-content:center;min-height:54px}.result-actions.three{gap:8px}.result-actions.three .btn{white-space:nowrap;gap:6px;padding:8px;font-size:16px}@media (max-width:380px){.result-actions.three .btn{font-size:15px}.result-actions.three .retry .icon{display:none}}.result-actions.three .btn.primary{flex:1.35}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}@keyframes pop{0%{transform:scale(.2)}}.settings .card{outline:2px dashed var(--stitch);outline-offset:-7px;background:var(--paper);box-shadow:var(--shadow);border-radius:22px;margin-bottom:14px;padding:4px 16px}.toggle,.row{text-align:left;align-items:center;gap:12px;width:100%;min-height:56px;font-size:17px;display:flex}.toggle+.toggle,.row+.row,.toggle+.row{border-top:1px dashed var(--stitch)}.toggle>span:first-child,.row>span:first-child,.row.link>span{flex:1}.toggle input{opacity:0;pointer-events:none;position:absolute}.knob{background:#6b4a3538;border-radius:99px;flex:none;width:52px;height:32px;position:relative}.knob:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .16s;position:absolute;top:4px;left:4px}.toggle input:checked+.knob{background:var(--sage)}.toggle input:checked+.knob:after{transform:translate(20px)}.toggle input:focus-visible+.knob{outline:3px solid var(--coral)}.segmented{background:#6b4a351f;border-radius:99px;padding:3px;display:flex}.segmented button{border-radius:99px;min-height:44px;padding:0 14px;font-size:15px;font-weight:900}.segmented button.on{background:#fff;box-shadow:0 1px 3px #3b2a2033}.fineprint{text-align:center;color:var(--ink-soft);background:#fffaf2d9;border-radius:16px;margin:0;padding:10px 14px;font-size:13px}:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.calm *,.calm :before,.calm :after{transition-duration:1ms!important;animation-duration:1ms!important}.room>.column{animation:.22s ease-out both enter}@keyframes enter{0%{opacity:0;transform:translateY(8px)}}@media (max-width:360px){:root{--side-gap:12px}}@media (min-width:700px) and (min-height:900px){.column{max-width:760px}.topbar-title{font-size:26px}}.lock-line .icon{vertical-align:-2px;margin-right:2px}.hero-btn{border-radius:50%;display:block}.hero-critter{animation:2.6s ease-in-out .4s 3 both idle}.hero-critter.hop{animation:.6s cubic-bezier(.3,1.4,.5,1) both hop}@keyframes idle{50%{transform:translateY(-3%)scale(1.02,.98)}}@keyframes hop{35%{transform:translateY(-12%)scale(.95,1.06)rotate(-4deg)}70%{transform:translateY(0)scale(1.06,.94)}}.notice-veil{z-index:20;padding:var(--inset-top) calc(var(--side-gap) + var(--inset-right)) var(--inset-bottom) calc(var(--side-gap) + var(--inset-left));background:#1c1e3d73;place-items:center;animation:.2s ease-out both fadein-veil;display:grid;position:absolute;inset:0}@keyframes fadein-veil{0%{opacity:0}}.notice{background:var(--paper);outline:2px dashed var(--stitch);outline-offset:-9px;border-radius:28px;flex-direction:column;gap:10px;width:min(420px,100%);padding:22px 18px 18px;animation:.32s cubic-bezier(.2,.9,.3,1.2) both rise;display:flex;box-shadow:0 12px 40px #1c1e3d59}.notice h2{text-align:center;margin:0;font-size:22px;font-weight:900}.notice p{text-align:center;color:var(--ink-soft);margin:0 0 6px;font-size:16px;line-height:1.35}.notice.toast{z-index:20;top:calc(var(--inset-top) + 72px);width:min(360px, calc(100% - 2 * var(--side-gap)));margin-left:calc(min(360px, calc(100% - 2 * var(--side-gap))) / -2);text-align:center;pointer-events:none;border-radius:18px;padding:12px 16px;font-size:15px;font-weight:800;position:absolute;left:50%}@media (min-width:1000px) and (min-aspect-ratio:5/4) and (min-height:640px){html.web .room{align-items:center;padding:24px}html.web .room>.column:not(.room-screen){background:#fffaf26b;border-radius:32px;height:min(100%,940px);overflow:hidden;box-shadow:0 0 0 2px #fffaf2d9,0 18px 60px #3b2a2047}}.btn-row{gap:12px;display:flex}.btn.small{gap:8px;min-height:56px;padding:8px 12px;font-size:16px}.btn.small img{width:34px;height:34px;margin:-4px 0}.week{gap:5px;margin-top:4px;display:flex}.week i.on{background:var(--night-1);border-color:var(--night-1)}.week i.today{border-color:var(--coral)}.free .card{margin:0 0 16px;padding:8px 16px}.row.col{flex-direction:column;align-items:stretch;gap:8px;padding:8px 0}.segmented.wide{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.free-hero{flex-direction:column;align-items:center;margin:4px 0 12px;display:flex}.free-hero img{width:150px;height:150px}.free-hero p{background:var(--paper);border-radius:99px;margin:0;padding:6px 14px;font-size:15px}.collection{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.friend{background:var(--paper);width:100%;box-shadow:var(--shadow);outline:2px dashed var(--stitch);outline-offset:-7px;border-radius:24px;flex-direction:column;align-items:center;gap:2px;padding:12px 8px 14px;display:flex;position:relative}.friend img{width:104px;height:104px}.friend b{font-size:18px;font-weight:900}.friend small{color:var(--ink-soft);font-size:13px}.friend.fav{outline-color:var(--gold);background:#fff3d6}.friend.locked img{opacity:.4}.fav-badge{background:var(--sage);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:10px;right:10px}.logo{box-shadow:var(--shadow);outline:2px dashed var(--stitch);outline-offset:-7px;text-shadow:none;background:#fffaf2eb;border-radius:18px;padding:2px 22px 8px}.logo:after{display:none}.home .hero{justify-content:space-between;padding-top:2px}.logo-wrap{box-shadow:var(--shadow);outline:2px dashed var(--stitch);outline-offset:-8px;background:#fffaf2eb;border-radius:22px;flex-direction:column;align-items:center;gap:4px;margin:0;padding:10px 26px 14px;line-height:1;display:flex}.logo-text{letter-spacing:-1.5px;color:var(--ink);text-shadow:0 3px #fffaf2e6;font-size:clamp(52px,15vw,76px);font-weight:900}.logo-sub{letter-spacing:.3px;color:var(--ink);opacity:.72;font-size:clamp(15px,4vw,19px);font-weight:700}.logo-img{width:min(80vw,360px);height:auto;display:block}.hero-btn{z-index:2;margin-bottom:-20px;position:relative}.hero-btn:after{content:"";z-index:-1;background:radial-gradient(closest-side,#3b2a204d,#3b2a2000);border-radius:50%;height:12%;position:absolute;bottom:5%;left:16%;right:16%}.home .hero-critter{width:min(62vw,280px,33vh)}.home-actions{z-index:1;position:relative}.play-dot{background:#ffffff3d;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.btn.primary:focus-visible{outline-offset:-7px;outline:2px dashed #fff4e6cc}.icon-btn,.tool:not(.accent),.settings .card,.count{outline:none}.tool.accent{background:#fff1cc;outline-color:#e9a93acc}.btn:not(.primary),.tool,.toggle,.row{font-weight:800}.btn-row .btn.small{text-align:center;flex-direction:column;flex:1 1 0;justify-content:center;gap:4px;min-height:76px;padding:10px 4px;font-size:14px}.btn-row .btn.small .btn-text{flex:none}.btn-row .btn.small .icon{color:var(--coral-deep)}.daily-side{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.week{gap:4px;margin:0}.week i{border:1.5px dashed #6b4a3573;border-radius:3px;width:12px;height:12px}.week i.today{border:1.5px solid var(--coral)}.levels{background:#f3e8d8;border-radius:22px;gap:0;margin:6px 4px 8px;overflow:hidden;box-shadow:0 0 0 5px #8a5a43,0 0 0 7px #ffe7cfb3,0 10px 24px #3b2a2038}.level{box-shadow:none;background:var(--paper);border:1px dashed #6b4a354d;border-radius:0;outline:none}.level:active{transform:scale(.96)}.level.locked{color:#3b2a2040;background:#f3e8d8 url(../art/linen.webp) 0 0/48px 48px}.level.solved .level-n,.level.solved .level-stars{background:#fffaf2e6;border-radius:99px;padding:0 7px}.level.solved .level-stars{padding:1px 4px}.chapter-card:not(.locked){background:linear-gradient(90deg, var(--paper) 50%, #fffaf299 74%, #fffaf20d), var(--season) right center / auto 140% no-repeat, var(--paper)}.lock-line{white-space:nowrap}.topbar-title small{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800;display:block;overflow:hidden}.ribbon{background:var(--gold);color:#fff;border-radius:99px;align-items:center;gap:4px;padding:5px 11px;font-size:13px;font-weight:900;display:flex;position:absolute;top:16px;right:18px;transform:rotate(5deg)}.stars{align-items:flex-end}.stars li:first-child{transform:rotate(-9deg)translateY(4px)}.stars li:nth-child(3){transform:rotate(9deg)translateY(4px)}.stars li:nth-child(2){transform:translateY(-6px)}.pill-stat{background:#6b4a3514;border-radius:99px;padding:6px 14px}@media (min-width:700px) and (min-height:900px){.tool{min-height:84px;font-size:18px}.bubble{height:104px}.bubble>span{font-size:19px}.bubble-face{width:72px;height:72px}.count{font-size:22px}.topbar-title small{font-size:15px}}.bench-report pre{background:#6b4a3514;border-radius:12px;width:100%;max-height:40vh;margin:0;padding:8px;font-size:11px;overflow:auto}.topbar-title{text-shadow:0 0 2px #fffaf2,0 0 6px #fffaf2,0 0 12px #fffaf2d9}.topbar-title small{color:#5e4a3e}.bubble.coach>span{-webkit-line-clamp:5}.level.solved .level-n,.level.solved .level-stars{background:0 0;padding:0}.level.solved{gap:0}.level.solved:before{content:"";background:#fffaf2cc;border-radius:14px;position:absolute;inset:22% 18%}.level.solved>*{position:relative}.level.solved .level-n{font-size:19px;line-height:1}.stars li:first-child,.stars li:nth-child(2),.stars li:nth-child(3){transform:none}.stars li:first-child .icon{transform:rotate(-10deg)translateY(4px)}.stars li:nth-child(3) .icon{transform:rotate(10deg)translateY(4px)}.stars li:nth-child(2) .icon{transform:translateY(-6px)}.ribbon{top:-30px;right:0;transform:rotate(6deg)}.week i{background:#efe4d3;border:0}.week i.on{border:1.5px solid #6b4a35}.week i.today{box-shadow:inset 0 0 0 2px var(--coral)}.btn-row .btn.small{justify-content:flex-start;padding-top:14px}.all-done{background:var(--paper);box-shadow:var(--shadow);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;display:flex}.all-done b{font-size:20px;font-weight:900}.all-done small{color:var(--ink-soft);font-size:14px}.chapter-done{padding:0 var(--side-gap) 16px;justify-content:flex-end}.cd-sheet{background:var(--paper);outline:2px dashed var(--stitch);outline-offset:-9px;text-align:center;border-radius:28px;flex-direction:column;align-items:center;gap:8px;padding:18px 16px 16px;animation:.36s cubic-bezier(.2,.9,.3,1.2) both rise;display:flex;box-shadow:0 12px 40px #1c1e3d4d}.cd-quilt{aspect-ratio:6/5;border-radius:14px;grid-template-columns:repeat(6,1fr);width:min(240px,70%);margin:-64px 0 4px;display:grid;overflow:hidden;transform:rotate(-3deg);box-shadow:0 0 0 4px #8a5a43,0 0 0 6px #ffe7cfbf,0 10px 22px #3b2a2047}.cd-quilt span{border:1px dashed #6b4a3540}.chapter-done h1{margin:0;font-size:28px;font-weight:900;line-height:1.1}.cd-sub{color:var(--ink-soft);margin:0;font-size:17px}.cd-stars{color:var(--gold);align-items:center;gap:6px;margin:0;font-size:18px;font-weight:900;display:flex}.cd-friend{text-align:left;background:#6b4a3512;border-radius:22px;align-items:center;gap:12px;margin:4px 0;padding:6px 18px 6px 6px;display:flex}.cd-friend img{width:88px;height:88px;animation:.6s cubic-bezier(.3,1.6,.5,1) .35s both friend}.cd-friend small{color:var(--ink-soft);font-size:14px;display:block}.cd-friend b{font-size:22px;font-weight:900}@keyframes friend{0%{opacity:0;transform:translateY(18px)scale(.4)}}.cd-actions{flex-direction:column;gap:10px;width:100%;margin-top:6px;display:flex}.cd-actions .btn{justify-content:center}.calm .cd-friend img,.calm .cd-sheet{animation:none}.row.link.danger,.btn.danger{color:#b9442f}.notice .btn.danger{outline-color:#b9442f73}.info-page{padding:18px 18px 8px;line-height:1.5}.info-page h2{margin:14px 0 4px;font-size:18px;font-weight:900}.info-page section:first-child h2{margin-top:0}.info-page p{color:var(--ink-soft);margin:0 0 10px;font-size:16px}.quilt-progress{flex-direction:column;gap:6px;margin:0 6px 12px;display:flex}.quilt-bar{background:#fffaf2d9;border-radius:99px;height:12px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1.5px #6b4a3540}.quilt-bar:before{content:"";background:repeating-linear-gradient(90deg, var(--sage) 0 14px, #8fae72 14px 28px);transform-origin:0;transform:scaleX(var(--done));border-radius:99px;position:absolute;inset:0}.unlock-tick{background:var(--coral-deep);border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:-2px;bottom:-2px}.quilt-progress small{color:#5e4a3e;text-shadow:0 0 2px #fffaf2,0 0 6px #fffaf2;font-size:14px;font-weight:800}.level.next{box-shadow:inset 0 0 0 3px var(--coral);animation:.9s ease-in-out .35s 2 sigh}@keyframes sigh{50%{transform:scale(1.08)}}.calm .level.next{animation:none}.wallet{background:var(--paper);min-width:48px;height:44px;box-shadow:var(--shadow);color:#6b4a35;border-radius:99px;flex:none;align-items:center;gap:5px;padding:0 14px 0 10px;font-size:18px;font-weight:900;display:flex}.wallet .icon,.gain .icon{color:var(--coral-deep)}.gain{color:var(--coral-deep);background:#e8735a1f;border-radius:99px;align-items:center;gap:4px;padding:6px 12px;font-size:16px;font-weight:900;animation:.4s cubic-bezier(.3,1.6,.5,1) .5s both pop;display:flex}.freeze{color:#6b4a35;background:#6b4a351a;border-radius:99px;align-items:center;gap:3px;padding:4px 8px;font-size:14px;font-weight:900;display:flex}.calm .gain{animation:none}.room-art{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.spot{display:block;position:absolute;transform:translate(-50%,-100%)}.room-item{pointer-events:none;width:100%;height:auto;display:block}.room-art.edit .spot{pointer-events:auto;border-radius:14px}.room-art.edit .spot.on{outline:3px dashed var(--coral);outline-offset:4px}.spot.empty{aspect-ratio:1;color:#6b4a35;background:#fffaf2b3;border:2.5px dashed #3b2a2073;border-radius:50%;place-items:center;max-width:56px;display:grid}.room-screen{pointer-events:none}.room-screen>*{pointer-events:auto}.room-sheet{left:var(--side-gap);right:var(--side-gap);background:var(--paper);outline:2px dashed var(--stitch);outline-offset:-8px;border-radius:24px;padding:12px;animation:.28s cubic-bezier(.2,.9,.3,1.2) both rise;position:absolute;bottom:12px;box-shadow:0 10px 30px #3b2a2040}.room-sheet.top{top:72px;bottom:auto}.room-hint{text-align:center;color:var(--ink-soft);margin:4px 6px;font-size:15px;line-height:1.35}.room-items{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.room-card{text-align:center;background:#6b4a350f;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;display:flex}.room-card.here{background:#7f9a622e}.room-card img{object-fit:contain;max-width:90%;height:64px}.room-card b{min-height:2.4em;font-size:13px;line-height:1.2}.room-card .btn{justify-content:center;gap:4px;min-height:40px;padding:6px 8px;font-size:15px}.room-card .btn:disabled{opacity:.45}.shelf{width:100%;min-height:48px;box-shadow:var(--shadow);outline:2px dashed var(--stitch);outline-offset:-6px;text-align:left;background:#fffaf2eb;border-radius:18px;align-items:center;gap:6px;padding:6px 10px;font-size:14px;font-weight:800;display:flex}.shelf-chip{white-space:nowrap;color:#6b4a35;align-items:center;gap:4px;display:flex}.shelf-chip .icon{color:var(--gold);flex:none}.shelf-chip.grow{flex:1;min-width:0}.shelf-chip.grow .icon{color:var(--coral-deep)}.shelf-chip.grow span{text-overflow:ellipsis;overflow:hidden}.shelf-go{color:var(--coral-deep);align-items:center;gap:2px;display:flex}.room-sheet .sheet-close{z-index:1;background:var(--paper);width:36px;height:36px;box-shadow:var(--shadow);color:#6b4a35;border-radius:50%;place-items:center;display:grid;position:absolute;top:-12px;right:-6px}@media (min-aspect-ratio:1) and (max-height:699px){.game{--qh:calc(100vh - var(--inset-top) - var(--inset-bottom) - 16px);grid-template-columns:minmax(0, var(--qh)) minmax(260px, 1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"board top""board bubble""board tools";column-gap:8px;max-width:1100px;padding:8px 0;display:grid}.game>.topbar{min-height:56px;padding:0 var(--side-gap) 0 0;grid-area:top}.game>.board-slot{padding:0 0 0 var(--side-gap);grid-area:board;align-items:center}.game>.bubble{height:auto;min-height:72px;max-height:100%;margin:4px var(--side-gap) 4px 0;grid-area:bubble;align-self:center}.game>.tools{padding:0 var(--side-gap) 0 0;grid-area:tools}.game .tool{min-height:56px}.game .result{left:auto;right:calc(-1 * var(--inset-right));top:calc(-1 * var(--inset-top));bottom:calc(-1 * var(--inset-bottom));width:min(400px,46%);padding:calc(16px + var(--inset-top)) calc(16px + var(--inset-right)) calc(16px + var(--inset-bottom)) 18px;border-radius:28px 0 0 28px;justify-content:center;overflow-y:auto;box-shadow:-6px 0 30px #1c1e3d4d}.game .result-critter{margin-top:0}.column.home{grid-template:"top top""hero actions"1fr/1fr 1fr;column-gap:16px;max-width:1000px;padding-bottom:8px;display:grid}.home>.topbar{grid-area:top;min-height:52px}.home .hero{grid-area:hero;justify-content:center;min-height:0}.home .logo-img{width:min(40vw,300px)}.home .hero-critter{width:min(30vw,46vh,200px)}.home .hero-btn{margin-bottom:0}.home-actions{padding:0 var(--side-gap) 0 0;grid-area:actions;align-self:center;gap:8px}.home-actions .btn.big{min-height:60px}.room-screen{max-width:none}.room-sheet,.room-sheet.top{left:auto;right:calc(var(--side-gap) + var(--inset-right));width:min(42%,420px);top:64px;bottom:auto}}.row.slider input[type=range]{width:46%;height:32px;accent-color:var(--coral);appearance:none;background:0 0}.row.slider input[type=range]::-webkit-slider-runnable-track{background:repeating-linear-gradient(90deg,#6b4a3529 0 10px,#6b4a353d 10px 20px);border-radius:99px;height:10px}.row.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--coral);width:28px;height:28px;box-shadow:0 2px 0 var(--coral-deep);outline-offset:-6px;border-radius:50%;outline:2px dashed #fff4e6cc;margin-top:-9px}.school-intro{color:var(--ink-soft);background:#fffaf2e6;border-radius:18px;margin:0 0 14px;padding:10px 14px;font-size:15px;line-height:1.35}.school-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.lesson-card{background:var(--paper);width:100%;min-height:76px;box-shadow:var(--shadow);outline:2px dashed var(--stitch);outline-offset:-7px;text-align:left;border-radius:22px;align-items:center;gap:12px;padding:10px 16px 10px 10px;display:flex}.lesson-card:active{transform:translateY(2px)}.lesson-card.done{background:#f1f6e8}.lesson-k{flex:none;width:56px;height:56px;position:relative}.lesson-k img{width:56px;height:56px}.lesson-k i{background:var(--coral);width:24px;height:24px;box-shadow:0 2px 0 var(--coral-deep);color:#fff;border-radius:50%;place-items:center;font-size:14px;font-style:normal;font-weight:900;display:grid;position:absolute;bottom:-2px;right:-4px}.lesson-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lesson-text b{font-size:18px;font-weight:900;line-height:1.15}.lesson-text small{color:var(--ink-soft);font-size:14px;line-height:1.25}.lesson-side{color:var(--coral-deep);flex:none;align-items:center;gap:2px;font-weight:900;display:flex}.lesson-card.done .lesson-side{color:var(--sage)}.school-link{margin-top:14px}.school-link .icon{color:var(--gold);flex:none}.row-note{color:var(--ink-soft);flex:none;font-size:14px;font-weight:700}.lesson .board.coach.has-focus .cell:not(.focus):after{background:#fff4e694}.lesson .cell.h-cross:before,.lesson .cell.h-place:before{animation:.9s ease-in-out 5 alternate both breathe}.calm .lesson .cell.h-cross:before,.calm .lesson .cell.h-place:before{animation:none}@media (prefers-reduced-motion:reduce){.lesson .cell.h-cross:before,.lesson .cell.h-place:before{animation:none}}.lesson-reward{color:var(--coral-deep);gap:3px;padding:6px 12px;font-size:16px}.lesson.passed .lesson-reward{color:var(--sage)}.lesson .bubble{height:122px}.lesson .bubble>span{-webkit-line-clamp:6}.lesson .bubble b{font-weight:900}.lesson-do{color:var(--ink-soft);margin-top:4px;font-size:.92em;display:block}@media (min-width:700px) and (min-height:900px){.lesson .bubble{height:150px}}@media (min-aspect-ratio:1) and (max-height:699px){.lesson .bubble{height:auto}}html[data-skin=gold] :is(.critter img,.hero-critter),.skin-gold img{filter:sepia(.55)saturate(2.1)hue-rotate(-14deg)brightness(1.08)drop-shadow(0 0 3px #ffc446f2)}html[data-skin=moon] :is(.critter img,.hero-critter),.skin-moon img{filter:hue-rotate(185deg)saturate(.75)brightness(1.06)drop-shadow(0 0 3px #a0c4fff2)}html[data-skin=rose] :is(.critter img,.hero-critter),.skin-rose img{filter:hue-rotate(-38deg)saturate(1.5)brightness(1.06)drop-shadow(0 0 3px #ff96c8e6)}html[data-skin=mint] :is(.critter img,.hero-critter),.skin-mint img{filter:hue-rotate(115deg)saturate(1.05)brightness(1.05)drop-shadow(0 0 3px #82e6bee6)}html[data-skin=rainbow] .cell:nth-child(7n+1) .critter img,.skin-rainbow img{filter:hue-rotate()saturate(1.5)}html[data-skin=rainbow] .cell:nth-child(7n+2) .critter img{filter:hue-rotate(50deg)saturate(1.5)}html[data-skin=rainbow] .cell:nth-child(7n+3) .critter img{filter:hue-rotate(100deg)saturate(1.5)}html[data-skin=rainbow] .cell:nth-child(7n+4) .critter img{filter:hue-rotate(150deg)saturate(1.5)}html[data-skin=rainbow] .cell:nth-child(7n+5) .critter img{filter:hue-rotate(200deg)saturate(1.5)}html[data-skin=rainbow] .cell:nth-child(7n+6) .critter img{filter:hue-rotate(250deg)saturate(1.5)}html[data-skin=rainbow] .cell:nth-child(7n) .critter img{filter:hue-rotate(300deg)saturate(1.5)}html[data-skin=rainbow] .hero-critter{filter:hue-rotate(260deg)saturate(1.5)}.skin-rainbow{background:conic-gradient(#ffd6d6,#ffeab8,#d4f5d8,#cfe6ff,#e6d6ff,#ffd6d6)}.gifts .card{background:var(--paper);box-shadow:var(--shadow);border-radius:22px;margin-bottom:14px;padding:16px}.gifts .card h2{margin:0 0 10px;font-size:20px;font-weight:900}.gifts .card p{color:var(--ink-soft);margin:0 0 12px;font-size:15px;line-height:1.4}.gift-card{outline-offset:-8px;outline:2px dashed #e9a93ae6;background:linear-gradient(180deg, #fff6dc, var(--paper))!important}.gift-hero{color:#e9a93a;justify-content:center;align-items:center;gap:12px;margin-bottom:8px;display:flex}.gift-card .gift-hero{justify-content:flex-start}.gift-card .gift-hero h2{margin:0}.skin-face{background:radial-gradient(circle at 50% 40%,#fffaf2,#f3e3cc);border-radius:50%;flex:none;place-items:center;display:inline-grid;box-shadow:inset 0 0 0 2px #6b4a3540}.skin-face img{width:78%;height:78%}.skin-gold{background:radial-gradient(circle at 50% 40%,#fff6d0,#f6d77e)}.gift-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:6px;font-size:13px;font-weight:900;display:block}.code-line{align-items:center;gap:8px;margin-bottom:10px;display:flex}.code-line code{overflow-wrap:anywhere;user-select:all;background:#fff;border-radius:14px;flex:1;min-width:0;padding:10px 12px;font:800 15px/1.3 ui-monospace,Cascadia Mono,Consolas,monospace;box-shadow:inset 0 0 0 2px #6b4a3540}.code-line.big code{letter-spacing:.08em;text-align:center;color:#b0711c;font-size:22px}.code-line .btn.small{flex:none;min-height:46px}.gift-where{font-size:14px!important}.gift-store{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.gift-store>*{flex:160px;justify-content:center}.gift-store a.btn{text-decoration:none}.gift-store .ghost{opacity:.6}.code-form{gap:8px;display:flex}.code-form input{min-width:0;min-height:52px;color:var(--ink);background:#fff;border:0;border-radius:16px;flex:1;padding:0 14px;font:800 17px/1 Nunito,system-ui,sans-serif;box-shadow:inset 0 0 0 2px #6b4a354d}.code-form input:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.code-msg{font-weight:800;color:#b4472f!important;margin:10px 0 0!important}.code-msg.ok{color:#3f7a4a!important}.skin-list{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.skin-item{text-align:center;background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;display:flex;box-shadow:inset 0 0 0 2px #6b4a3526}.skin-item b{font-size:15px;line-height:1.2}.skin-item small{color:var(--ink-soft);font-size:12px}.skin-item.on{box-shadow:inset 0 0 0 3px var(--accent)}.skin-item.locked .skin-face{opacity:.45;filter:grayscale(.6)}.skin-item .btn.small{justify-content:center;width:100%;min-height:40px}.gift-pop{background:linear-gradient(180deg, #fff3d2, var(--paper) 45%);outline-color:#e9a93ae6;max-height:calc(100% - 16px);position:relative;overflow-y:auto}.gift-pop .gift-hero .icon{margin-top:-64px;margin-left:-26px}.gift-x{position:absolute;top:10px;right:10px}.gift-pop .gift-label{text-align:center}.gift-pop.won .skin-face{animation:.5s cubic-bezier(.2,.9,.3,1.4) both rise}.home .gift-btn .icon{color:#d99a26}.code-line .btn.small{width:auto}.code-form .btn{flex:none;width:auto}.result .btn.video-double{justify-content:center;gap:8px;width:100%;min-height:46px}.video-card .btn{justify-content:center;gap:8px;width:100%}
