@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#2a2340;--ink-soft:#6b6585;--bg:#fff7ec;--surface:#fff;--line:#eee4d6;--primary:#6c5ce7;--primary-soft:#ece9ff;--coral:#ff7a59;--sky:#4d96ff;--good:#2ec4b6;--sun:#ffc93c;--danger:#e5484d;--radius:1.2rem;--shadow:0 .25rem 0 #2a23401f;color:var(--ink);-webkit-tap-highlight-color:transparent;font-family:Nunito Variable,system-ui,sans-serif;font-size:clamp(12px,2.1vh + .55vw,22px)}*{box-sizing:border-box}html,body,#root{background:var(--bg);overscroll-behavior:none;-webkit-user-select:none;user-select:none;height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}button:disabled{cursor:default}h1,h2,h3,p{margin:0}.screen{height:100%;padding:max(.75rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));flex-direction:column;gap:.75rem;display:flex}.row{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.flex{flex:1}.btn{background:var(--surface);box-shadow:var(--shadow), inset 0 0 0 2px var(--line);border-radius:999px;align-items:center;gap:.5rem;padding:.7rem 1.3rem;font-size:1.05rem;font-weight:800;transition:transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(2px)}.btn:disabled{opacity:.45}.btn.primary{background:var(--primary);color:#fff;box-shadow:0 .25rem #4b3db8}.btn.danger{background:var(--danger);color:#fff}.btn.subtle{box-shadow:none;color:var(--ink-soft);padding-left:0}.btn svg,.icon-btn svg{width:1.3em;height:1.3em}.icon-btn{background:var(--surface);width:2.8rem;height:2.8rem;box-shadow:var(--shadow), inset 0 0 0 2px var(--line);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.topbar{justify-content:space-between;align-items:center;gap:1rem;min-height:2.8rem;display:flex}.topbar h1{font-size:1.3rem;font-weight:900}.star-count{color:#b88300;background:#fff1c7;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .9rem;font-size:1.2rem;font-weight:900;display:flex}.star-count svg{color:var(--sun);width:1.2em;height:1.2em}.progress{flex:1;justify-content:center;gap:.35rem;display:flex}.progress span{background:var(--line);border-radius:999px;width:1.8rem;height:.6rem;transition:background .3s}.progress .done{background:var(--good)}.progress .now{background:var(--primary)}.profiles,.new-profile{background:radial-gradient(circle at 20% 20%, #ffe3d3 0, transparent 40%), radial-gradient(circle at 80% 80%, #dcd6ff 0, transparent 45%), var(--bg);justify-content:center;align-items:center}.brand{letter-spacing:-.02em;background:linear-gradient(90deg, var(--coral), var(--primary), var(--sky));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:900}.subtitle{color:var(--ink-soft);font-size:1.3rem;font-weight:700}.profile-row{flex-wrap:wrap;justify-content:center;gap:1.2rem;margin-top:1rem;display:flex}.profile-tile{flex-direction:column;align-items:center;gap:.4rem;font-size:1.2rem;font-weight:800;display:flex}.avatar{background:var(--surface);width:6.5rem;height:6.5rem;box-shadow:var(--shadow), inset 0 0 0 3px var(--line);border-radius:50%;place-items:center;font-size:3.6rem;transition:transform .15s;display:grid}.profile-tile:active .avatar{transform:scale(.94)}.profile-tile.add .avatar{color:var(--ink-soft);box-shadow:inset 0 0 0 3px var(--line);background:0 0}.avatar.small{width:2.4rem;height:2.4rem;box-shadow:none;font-size:1.4rem}.form{flex-direction:column;align-items:center;gap:.75rem;width:min(36rem,100%);max-height:100%;display:flex;overflow:auto}.form h1{font-size:1.5rem}.form input{font:inherit;border:2px solid var(--line);text-align:center;-webkit-user-select:text;user-select:text;border-radius:999px;width:100%;padding:.6rem 1rem;font-size:1.2rem;font-weight:700}.avatar-grid{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.avatar-grid button{border-radius:50%;width:2.8rem;height:2.8rem;font-size:1.7rem}.avatar-grid .on{background:var(--primary-soft);box-shadow:inset 0 0 0 3px var(--primary)}.segmented{background:var(--line);border-radius:999px;padding:.25rem;display:inline-flex}.segmented button{color:var(--ink-soft);border-radius:999px;padding:.45rem 1rem;font-weight:800}.segmented .on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.fineprint{color:var(--ink-soft);text-align:center;font-size:.85rem}.me{background:var(--surface);box-shadow:var(--shadow), inset 0 0 0 2px var(--line);border-radius:999px;align-items:center;gap:.5rem;margin-right:auto;padding:.2rem 1rem .2rem .2rem;font-size:1.1rem;font-weight:800;display:flex}.home-cards{flex:1;grid-template-columns:1fr 1fr;gap:1rem;min-height:0;display:grid}.card{border-radius:1.6rem;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:0;padding:1rem;transition:transform .15s;display:flex;overflow:hidden}.card:active{transform:scale(.98)}.card-play{background:linear-gradient(145deg, #7d6bff, var(--primary));color:#fff;box-shadow:0 .4rem #4b3db8}.card-art{background:var(--surface);box-shadow:0 .4rem 0 var(--line), inset 0 0 0 3px var(--line)}.card-icon{background:#fff3;border-radius:50%;place-items:center;width:5.5rem;height:5.5rem;animation:2s ease-in-out infinite pulse;display:grid}.card-icon svg{width:2.8rem;height:2.8rem;margin-left:.3rem}.card-title{align-items:center;gap:.4rem;font-size:1.8rem;font-weight:900;display:flex}.card-sub{opacity:.8;font-size:.95rem;font-weight:700}.card-pic{border-radius:1rem;flex:1;width:100%;min-height:0}.play-col{flex-direction:column;gap:.6rem;min-height:0;display:flex}.play-col .card-play{flex:1}.card-sub svg{vertical-align:-.12em;width:1em;height:1em}.topic-row{gap:.5rem;display:flex}.topic{background:var(--surface);box-shadow:0 .25rem 0 var(--line), inset 0 0 0 2px var(--line);border-radius:1rem;flex:1;padding:.6rem .4rem;font-size:1rem;font-weight:900;transition:transform .1s}.topic:active{transform:translateY(2px)}.topic-plusminus{color:var(--coral)}.topic-malgeteilt{color:var(--sky)}.topic-zahlen{color:var(--good)}.starpath{max-width:18rem;color:var(--ink-soft);flex:1;align-items:center;gap:.4rem;font-size:.85rem;font-weight:800;display:flex}.starpath-bar{background:var(--line);border-radius:999px;flex:1;height:.7rem;overflow:hidden}.starpath-bar span{background:linear-gradient(90deg, var(--sun), #ffb000);border-radius:999px;height:100%;animation:1.2s ease-out .5s both fill-from;display:block}.starpath-gift{background:var(--coral);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:2rem;height:2rem;animation:2.5s ease-in-out infinite wiggle;display:grid}.starpath-gift svg{width:1.1rem;height:1.1rem}.starpath-label{white-space:nowrap}.summary-path{justify-content:center;width:min(24rem,90vw);margin-top:.3rem;display:flex}.summary-path .starpath{max-width:none;font-size:1rem}.inline-star{color:var(--sun);width:1em!important;height:1em!important}.reward.surprise{box-shadow:0 0 0 3px var(--sun), 0 0 1.5rem #ffc93c99;animation:.7s cubic-bezier(.2,1.6,.4,1) .6s both reveal}.swatch.big{width:4.5rem;height:4.5rem}.map-screen,.earth-screen{padding:0;position:relative;overflow:hidden}.pan-frame{touch-action:none;cursor:grab;background:#e9c98f;position:absolute;inset:0;overflow:hidden}.pan-frame:active{cursor:grabbing}.pan-frame.dark{background:#141433}.pan-frame:before{content:"";background:var(--map) center / cover;filter:blur(16px)saturate(1.1)brightness(.95);position:absolute;inset:-2rem}.pan-stage{will-change:transform;position:absolute;top:0;left:0}.map-img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.place{z-index:1;flex-direction:column;align-items:center;display:flex;position:absolute;translate:-50% -50%}.place-btn{background:#ffffffeb;border-radius:50%;place-items:center;width:3.2rem;height:3.2rem;transition:transform .15s;display:grid;position:relative;box-shadow:0 .25rem #2a234040,0 0 0 3px #fff}.place-btn:active{transform:scale(.92)}.place-icon{font-size:1.6rem;line-height:1}.place.open .place-btn{animation:2.2s ease-in-out infinite glow}.place.mastered .place-btn{background:linear-gradient(145deg,#fff3c4,#ffd25a);box-shadow:0 .25rem #c79a00,0 0 0 3px #fff6d6,0 0 1rem #ffc93ccc}.place.fog .place-btn{box-shadow:none;background:#ffffff8c;width:2.6rem;height:2.6rem}.place.fog .place-icon{opacity:.8;font-size:1.3rem}.place.boss.open .place-btn{background:linear-gradient(145deg, #ffe7a3, var(--coral))}.fog{pointer-events:none;background:radial-gradient(closest-side,#ffffffd9,#ffffff80 55%,#0000);border-radius:50%;width:9rem;height:6rem;animation:6s ease-in-out infinite alternate drift;position:absolute;top:50%;left:50%;translate:-50% -50%}.place-star{font-size:1rem;position:absolute;top:-.5rem;right:-.5rem}.ring{pointer-events:none;width:calc(100% + 8px);height:calc(100% + 8px);position:absolute;inset:-4px;rotate:-90deg}.ring circle{fill:none;stroke-width:4.5px}.ring-track{stroke:#2a23401f}.ring-fill{stroke:var(--good);stroke-linecap:round;transition:stroke-dasharray .6s}.place.mastered .ring-fill{stroke:#e0a100}.place-name{white-space:nowrap;color:#fff;pointer-events:none;background:#2a2340b8;border-radius:999px;margin-top:.2rem;padding:.05rem .45rem;font-size:.7rem;font-weight:900}.here{filter:drop-shadow(0 .2rem .15rem #00000059);pointer-events:none;font-size:1.9rem;animation:1.4s ease-in-out infinite hop;position:absolute;top:-.6rem;right:calc(100% - .3rem)}.map-top{top:max(.6rem, env(safe-area-inset-top));left:max(.8rem, env(safe-area-inset-left));right:max(.8rem, env(safe-area-inset-right));z-index:5;pointer-events:none;align-items:center;gap:.6rem;display:flex;position:absolute}.map-top>*{pointer-events:auto}.map-top .me,.map-top .icon-btn,.map-top .stars-pill,.map-actions .icon-btn{box-shadow:0 .2rem .6rem #2a234059,inset 0 0 0 2px #ffffffe6}.map-top .star-count{background:#fff1c7}.pill{box-shadow:var(--shadow);background:#fffffff2;border-radius:999px;width:15rem;padding:.3rem .4rem .3rem .8rem;display:flex}.map-actions{bottom:max(.7rem, env(safe-area-inset-bottom));left:max(.8rem, env(safe-area-inset-left));right:max(.8rem, env(safe-area-inset-right));z-index:5;pointer-events:none;align-items:flex-end;gap:.6rem;display:flex;position:absolute}.map-actions>*{pointer-events:auto}.stars-pill{align-items:center;gap:.5rem;width:auto;padding:.25rem .6rem .25rem .25rem}.stars-pill .star-count{padding:.25rem .7rem}.stars-pill .starpath-bar{flex:none;width:4.5rem}.go-btn.resume span{flex-direction:column;line-height:1;display:flex}.go-btn.resume small{opacity:.85;font-size:.75rem}.icon-btn.big{width:3.4rem;height:3.4rem}.go-btn{background:var(--primary);color:#fff;border-radius:999px;align-items:center;gap:.5rem;padding:.75rem 1.6rem;font-size:1.4rem;font-weight:900;animation:2s ease-in-out infinite pulse;display:inline-flex;box-shadow:0 .3rem #4b3db8}.go-btn svg{width:1.2em;height:1.2em}.portrait{background:#fff4e3;border-radius:50%;flex-shrink:0;display:inline-block;position:relative;overflow:hidden;box-shadow:0 0 0 3px #fff,0 .2rem .5rem #2a23404d}.portrait img{object-fit:cover;object-position:50% 20%;width:100%;height:100%;transform:scale(1.5)translateY(12%)}.portrait.size-s{width:2.6rem;height:2.6rem}.portrait.size-m{width:3.6rem;height:3.6rem}.portrait.size-l{width:min(14rem,52vh);height:min(14rem,52vh)}.portrait.size-l img{object-position:center;transform:none}.portrait.lvl-1{box-shadow:0 0 0 3px #9ad0ff,0 .2rem .5rem #2a23404d}.portrait.lvl-2{box-shadow:0 0 0 3px var(--good), 0 0 .6rem #2ec4b699}.portrait.lvl-3{box-shadow:0 0 0 3px var(--primary), 0 0 .8rem #6c5ce799}.portrait.lvl-4{box-shadow:0 0 0 4px #ffc93c,0 0 1.2rem #ffc93ce6}.mud{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.mud path{fill:#7a5230;opacity:.82}.scratch{pointer-events:none;width:22%;position:absolute;top:52%;left:14%}.scratch path{fill:none;stroke:#d94040;stroke-width:2.2px;stroke-linecap:round}.here .portrait{animation:none}.buddy-btn{border-radius:50%;transition:transform .1s;display:flex}.buddy-btn:active{transform:scale(.94)}.picker{background:var(--surface);border-radius:1.4rem;flex-direction:column;align-items:center;gap:.8rem;width:min(44rem,100%);max-height:100%;padding:1rem 1.2rem;animation:.3s both pop-in;display:flex;overflow-y:auto;box-shadow:0 1rem 3rem #0000004d}.picker h2{text-align:center;font-size:1.3rem;font-weight:900}.picker-grid{grid-template-columns:repeat(6,1fr);gap:.6rem;width:100%;display:grid}.picker-card{box-shadow:inset 0 0 0 2px var(--line);background:#fff4e3;border-radius:1rem;flex-direction:column;align-items:center;gap:.1rem;padding:.4rem .2rem .5rem;transition:transform .12s;display:flex}.picker-card img{aspect-ratio:1;object-fit:cover;border-radius:.7rem;width:100%}.picker-card b{font-size:.95rem}.picker-card span{color:var(--ink-soft);text-align:center;font-size:.7rem;font-weight:700}.picker-card.on{box-shadow:inset 0 0 0 3px var(--primary), 0 .4rem 1rem #6c5ce759;transform:translateY(-3px)scale(1.04)}.picker .go-btn:disabled{opacity:.45;animation:none}.companion-main{flex:1;grid-template-columns:minmax(0,16rem) minmax(0,1fr);gap:1.2rem;min-height:0;display:grid}.companion-hero{flex-direction:column;align-items:center;gap:.6rem;display:flex}.hero-portrait{border-radius:50%;position:relative}.lvl-steps{justify-content:center;gap:.35rem;display:flex}.lvl-steps span{background:var(--line);border-radius:999px;width:1.8rem;height:.55rem}.lvl-steps .on{background:linear-gradient(90deg, var(--sun), #ffb000)}.bubbles i{background:radial-gradient(circle at 30% 30%,#fff,#9ad0ff80);border-radius:50%;width:1.4rem;height:1.4rem;animation:1.4s ease-out both bubble-up;position:absolute;bottom:10%;box-shadow:inset 0 0 0 1px #4d96ff66}.panel.gear{align-items:stretch;min-height:0}.gear-region summary{cursor:pointer;color:var(--ink);padding:.3rem 0;font-weight:900}.gear-region[open] summary{margin-bottom:.4rem}.companion-hero .fineprint{text-align:center;max-width:100%}.companion-hero{min-width:0}.gear-grid{grid-template-columns:repeat(auto-fill,minmax(6.2rem,1fr));gap:.5rem;display:grid}.gear-item{background:var(--bg);opacity:.55;text-align:center;border-radius:.9rem;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .3rem;display:flex;position:relative}.gear-item.own{opacity:1;box-shadow:inset 0 0 0 2px var(--sun);background:#fff6e0}.gear-icon{font-size:1.8rem;line-height:1}.gear-name{font-size:.72rem;font-weight:800}.gear-check{color:#138c80;width:.9rem;height:.9rem;position:absolute;top:.3rem;right:.3rem}.inline-icon{vertical-align:-.12em;width:1em;height:1em}.riddle-locks{background:#fff7e0;border-radius:999px;align-items:center;gap:.2rem;padding:.3rem .7rem;font-size:1.1rem;display:flex}.boss-icon{margin-right:.2rem;font-size:1.4rem}.riddle-locks .lock{opacity:.4;filter:grayscale()}.riddle-locks .lock.open{opacity:1;filter:none;animation:.4s both pop-in}.boss-intro{text-align:center;align-items:center}.boss-big{font-size:3.6rem;line-height:1}.reward.boss-result{flex-direction:row;gap:.7rem;max-width:34rem}.gear-item.boss-gear.own{background:linear-gradient(145deg,#fff3c4,#ffe08a)}.reward.goodbye{background:#eef0ff}.reward.quest{background:#eaf7ee}.sheet.quest-ask,.sheet.rest-day{text-align:center;align-items:center}.reward.buddy{flex-direction:row;gap:.6rem}.atelier-main{flex:1;grid-template-columns:1fr 14rem;gap:1rem;min-height:0;display:grid}.lesson-grid{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.6rem;width:100%;display:grid}.lesson-card{box-shadow:0 .2rem 0 var(--line), inset 0 0 0 2px var(--line);background:#fff6e0;border-radius:1rem;flex-direction:column;align-items:center;gap:.2rem;padding:.7rem .5rem;font-size:.9rem;display:flex}.lesson-card.locked{opacity:.45}.lesson-icon{font-size:2rem;line-height:1.1}.lesson-icon svg{width:1.4rem;height:1.4rem}.lesson-stars{letter-spacing:.1em;color:#c79a00}.lesson-stars.big{font-size:2.4rem}.atelier-side{flex-direction:column;gap:.8rem;display:flex}.atelier-card{flex:1;gap:.2rem}.atelier-card.lab{background:linear-gradient(145deg,#ffe3d3,#ffd0e8);box-shadow:0 .3rem #f0b8c8}.atelier-card.book{background:var(--surface);box-shadow:0 .3rem 0 var(--line), inset 0 0 0 2px var(--line)}.atelier-card b{font-size:1.3rem}.atelier-card span{color:var(--ink-soft);font-size:.8rem;font-weight:700}.atelier-emoji{font-size:2.2rem}.lesson-title{font-weight:900}.lesson-main{flex:1;grid-template-columns:1fr 13rem;gap:1rem;min-height:0;display:grid}.draw-canvas{width:100%;height:100%;box-shadow:var(--shadow), inset 0 0 0 2px var(--line);touch-action:none;cursor:crosshair;background:#fff;border-radius:1.2rem}.draw-canvas path{fill:none;stroke-linecap:round;stroke-linejoin:round}.draw-canvas .guide{stroke:#b8b0e8;stroke-width:7px;stroke-dasharray:2 12}.draw-canvas .guide-start{fill:var(--good);animation:1.4s ease-in-out infinite pulse}.draw-canvas .stroke{stroke:var(--sky);stroke-width:6px}.draw-canvas .ink{stroke:var(--ink);stroke-width:5px}.lesson-side{flex-direction:column;justify-content:center;gap:.7rem;display:flex}.lesson-say{font-size:1.1rem;font-weight:800}.lesson-done{text-align:center;flex-direction:column;align-items:center;gap:.5rem;font-weight:800;animation:.4s both pop-in;display:flex}.base-screen{background:var(--base) center / cover no-repeat, #e9f2d0;padding:0;position:relative;overflow:hidden}.base-title{flex-direction:column;width:auto;padding:.35rem 1rem;line-height:1.2}.base-title span{color:var(--ink-soft);font-size:.75rem;font-weight:700}.trophies{box-shadow:var(--shadow);background:#ffffffeb;border-radius:999px;gap:.3rem;padding:.3rem .5rem;display:flex}.trophy{width:2rem;height:2rem;color:var(--ink-soft);background:var(--line);border-radius:50%;place-items:center;font-size:1.2rem;display:grid}.trophy.own{background:linear-gradient(145deg,#fff3c4,#ffd25a)}.trophy svg{width:.9rem;height:.9rem}.base-buddy{border-radius:50%;position:absolute;bottom:6%;left:50%;translate:-50%}.base-buddy .portrait.size-l{width:min(9rem,34vh);height:min(9rem,34vh)}.base-say{background:var(--surface);text-align:center;border-radius:1rem;max-width:min(26rem,80vw);padding:.5rem 1rem;font-weight:800;animation:.3s both pop-in;position:absolute;bottom:calc(6% + min(9rem,34vh) + .6rem);left:50%;translate:-50%;box-shadow:0 .4rem 1rem #0003}.bathhouse{left:max(.8rem, env(safe-area-inset-left));bottom:max(.8rem, env(safe-area-inset-bottom));box-shadow:var(--shadow);background:#ffffffe6;border-radius:1rem;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.6rem .8rem;display:flex;position:absolute}.bath-title{font-weight:900}.friends{right:max(.8rem, env(safe-area-inset-right));bottom:max(.8rem, env(safe-area-inset-bottom));gap:.5rem;display:flex;position:absolute}.friend{width:min(4.4rem,17vh);height:min(4.4rem,17vh);color:var(--ink-soft);background:#fff4e3;border-radius:50%;place-items:center;font-weight:900;display:grid;overflow:hidden;box-shadow:0 0 0 3px #fff,0 .3rem .6rem #00000040}.friend.empty{background:#ffffff8c;font-size:1.4rem;box-shadow:inset 0 0 0 2px #ffffffe6}.friend-pic{object-fit:cover;width:100%;height:100%;font-size:2rem}.sheet-backdrop{z-index:20;background:#2a234059;place-items:center;padding:1rem;animation:.2s both fade-in;display:grid;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:1.4rem;flex-direction:column;align-items:flex-start;gap:.7rem;width:min(30rem,100%);max-height:100%;padding:1.1rem 1.2rem;animation:.3s cubic-bezier(.2,1.4,.4,1) both pop-in;display:flex;position:relative;overflow-y:auto;box-shadow:0 1rem 3rem #00000040}.sheet-close{width:2.3rem;height:2.3rem;position:absolute;top:.7rem;right:.7rem}.sheet-head{align-items:center;gap:.8rem;padding-right:2.5rem;display:flex}.sheet-icon{font-size:2.8rem;line-height:1}.sheet h2{font-size:1.4rem;font-weight:900}.sheet-twist{color:var(--ink-soft);font-weight:700}.sheet-blocked{background:var(--line);border-radius:1rem;padding:.6rem .9rem;font-weight:800}.fact{background:#fff6e0;border-radius:1rem;align-items:center;gap:.6rem;padding:.6rem .7rem;display:flex}.fact p{flex:1;font-weight:700}.fact-icon{color:#e8a400;flex-shrink:0}.fact .icon-btn{width:2.3rem;height:2.3rem}.sheet-skills{flex-direction:column;gap:.35rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.sheet-skills li{grid-template-columns:1fr 6rem 1.4rem;align-items:center;gap:.6rem;font-size:.9rem;font-weight:800;display:grid}.sheet-skills li.locked{opacity:.45}.sheet-skills li.mastered .bar span{background:var(--good)}.levels{flex-direction:column;gap:.25rem;width:100%;display:flex}.levels-label{color:var(--ink-soft);font-size:.85rem;font-weight:900}.stones{grid-template-columns:repeat(12,1fr);gap:.25rem;display:grid}.stones span{background:var(--line);border-radius:.25rem;height:.8rem}.stones .on{background:linear-gradient(#ffd25a,#e0a100);box-shadow:0 0 .3rem #ffc93cb3}.sheet .go-btn{align-self:center;animation:none}.earth-title{color:#fff;text-shadow:0 .15rem .4rem #00000080;font-size:1.5rem;font-weight:900}.continent{z-index:1;border-radius:1rem;flex-direction:column;align-items:center;padding:.35rem .9rem;font-weight:900;line-height:1.15;display:flex;position:absolute;translate:-50% -50%}.continent b{font-size:1.15rem}.continent span{opacity:.85;font-size:.8rem}.continent.open{background:var(--sun);color:#5a3d00;animation:2s ease-in-out infinite pulse;box-shadow:0 .25rem #c79a00,0 0 1.5rem #ffc93ce6}.continent.soon{color:#fff;background:#14143399;box-shadow:inset 0 0 0 2px #ffffff59}.continent.soon svg{width:.9rem;height:.9rem}.teaser{z-index:5;background:var(--surface);border-radius:1.2rem;flex-direction:column;gap:.2rem;width:min(28rem,100% - 2rem);padding:.8rem 1.1rem;font-weight:700;animation:.3s both slide-up;display:flex;position:absolute;bottom:1rem;left:50%;translate:-50%;box-shadow:0 .6rem 2rem #00000059}.practice-main{flex:1;grid-template-columns:1.25fr 1fr;gap:1rem;min-height:0;display:grid}.question{background:var(--surface);box-shadow:0 .3rem 0 var(--line), inset 0 0 0 3px var(--line);border-radius:1.6rem;flex-direction:column;justify-content:center;align-items:center;gap:.7rem;min-height:0;padding:1rem;display:flex;position:relative;overflow:hidden}.mode-challenge .question{box-shadow:0 .3rem 0 #e8b400, inset 0 0 0 3px var(--sun);background:linear-gradient(180deg, #fffaf0, var(--surface))}.question-head{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:.6rem;left:.6rem;right:.6rem}.question-head>*{pointer-events:auto}.question-head .speak{margin-left:auto}.badge{border-radius:999px;padding:.25rem .7rem;font-size:.85rem;font-weight:900}.badge.boss{background:var(--sun);color:#6b4b00;animation:1.5s ease-in-out infinite wiggle}.equation{letter-spacing:.02em;white-space:nowrap;align-items:center;gap:.3em;font-size:3.2rem;font-weight:900;display:flex}.prompt{text-align:center;font-size:1.8rem;font-weight:900}.prompt.story{text-align:center;max-width:26rem;font-size:1.25rem;line-height:1.35}.slot.big{font-size:2.6rem;font-weight:900}.place-zzz{font-size:1.1rem;animation:2s ease-in-out infinite hop;position:absolute;top:-.7rem;right:-.6rem}.place.resting .place-btn{filter:saturate(.4);opacity:.8}.place.soon .place-btn{background:#ffffffb3}.region .region-icon{font-size:1.6rem;line-height:1.1}.continent.here-region{outline-offset:2px;outline:3px solid #fff}.story-text{background:#fff6e0;border-radius:1rem;max-width:28rem;padding:.7rem .9rem;font-size:1.05rem;font-weight:700;line-height:1.5}.prompt.small{font-size:1.1rem}.slot{background:var(--primary-soft);min-width:1.6em;height:1.3em;box-shadow:inset 0 0 0 3px var(--primary);color:var(--primary);border-radius:.35em;place-items:center;padding:0 .2em;transition:background .2s;display:inline-grid}.slot.correct{box-shadow:inset 0 0 0 3px var(--good);color:#138c80;background:#d8f7f3;animation:.35s pop-in}.slot.hint{box-shadow:inset 0 0 0 3px var(--coral)}.slot.reveal{box-shadow:inset 0 0 0 3px var(--sun);color:#8a6200;background:#fff1c7}.hint{background:#fff6e0;border-radius:1rem;align-items:flex-start;gap:.6rem;max-width:100%;padding:.6rem .9rem;animation:.3s pop-in;display:flex}.hint-icon{color:#e8a400;flex-shrink:0}.hint-step{font-size:1.25rem;font-weight:800}.reveal{align-items:center;gap:1rem;font-size:1.1rem;display:flex}.answer{justify-content:center;align-items:stretch;min-height:0;display:flex}.numpad{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(3,1fr);gap:.5rem;width:100%;max-width:22rem;display:grid}.numpad button{background:var(--surface);box-shadow:0 .25rem 0 var(--line), inset 0 0 0 2px var(--line);border-radius:1rem;place-items:center;font-size:1.8rem;font-weight:900;transition:transform 80ms;display:grid}.numpad button:active:not(:disabled){box-shadow:0 .05rem 0 var(--line), inset 0 0 0 2px var(--line);transform:translateY(3px)}.numpad button:disabled{opacity:.5}.numpad .numpad-ok{background:var(--good);color:#fff;box-shadow:0 .25rem #1f9a8f}.numpad .numpad-del{color:var(--ink-soft)}.choices{grid-template-columns:1fr 1fr;gap:.8rem;width:100%;display:grid}.choices.n3,.choices.n2{grid-template-columns:1fr}.choice{background:var(--surface);box-shadow:0 .3rem 0 var(--line), inset 0 0 0 3px var(--line);border-radius:1.4rem;place-items:center;min-height:0;padding:.4rem;font-size:3rem;font-weight:900;transition:transform .1s,opacity .3s;display:grid}.choice:active:not(:disabled){transform:scale(.96)}.choice.gone{opacity:.25;transform:scale(.92)}.choice.right{box-shadow:0 .3rem 0 #1f9a8f, inset 0 0 0 3px var(--good);background:#d8f7f3;animation:.35s pop-in}.dots{--dot:min(3.4rem, 11vh);gap:.5rem;display:grid}.choice .dots{--dot:min(2.2rem, 6.5vh);gap:.3rem}.dot{width:var(--dot,1.6rem);height:var(--dot,1.6rem);color:#fff;border-radius:50%;place-items:center;font-size:.9rem;display:grid;box-shadow:inset 0 -.2rem #00000026}.dot b{animation:.3s both pop-in;animation-delay:inherit}.dots .dot[style*=animation-delay]{animation:.4s both bounce-once}.dot.crossed{opacity:.35;position:relative}.dot.crossed:after{content:"";background:var(--ink);border-radius:2px;position:absolute;inset:45% -10%;rotate:-45deg}.tenframes{gap:.8rem;display:flex}.tenframe{border:3px solid var(--ink);--dot:min(1.4rem, 4.5vh);border-radius:.5rem;grid-template-columns:repeat(5,1fr);display:grid}.tenframe .cell{width:calc(var(--dot) + .6rem);height:calc(var(--dot) + .6rem);border:1px solid #d6cfc2;place-items:center;display:grid}.blocks-row{align-items:flex-end;gap:.8rem;display:flex}.blocks-row .op{align-self:center;font-size:1.6rem;font-weight:900}.blocks{align-items:flex-end;gap:.2rem;display:flex}.rod{background-blend-mode:multiply;border-radius:.2rem;width:min(.75rem,2.4vh);height:min(7.5rem,24vh);background-image:repeating-linear-gradient(#0000 0 calc(10% - 1px),#00000040 calc(10% - 1px) 10%)!important}.ones{flex-flow:column-reverse wrap-reverse;gap:1px;height:min(7.5rem,24vh);margin-left:.2rem;display:flex}.cube{border-radius:.15rem;width:min(.75rem,2.4vh);height:calc(10% - 1px)}.array{--dot:min(.9rem, 3vh);gap:.2rem;display:grid}.big-numeral{color:var(--primary);text-shadow:0 .3rem 0 var(--primary-soft);font-size:min(9rem,34vh);font-weight:900;line-height:1}.pattern{flex-wrap:wrap;justify-content:center;gap:.35rem;max-width:100%;display:flex}.glyph{background:#f6e7c8;border-radius:.6rem;place-items:center;width:min(3rem,11vh);height:min(3rem,11vh);font-size:min(1.9rem,7vh);display:grid;box-shadow:inset 0 -.2rem #7850142e}.glyph.ask{background:var(--primary-soft);box-shadow:inset 0 0 0 3px var(--primary);color:var(--primary);font-size:min(1.6rem,6vh);font-weight:900}.picture{flex-direction:column;align-items:center;display:flex}.picture-symbol{font-size:min(7rem,30vh);line-height:1}img.picture-symbol{object-fit:cover;border-radius:1.2rem;width:min(11rem,46vh);height:min(11rem,46vh);box-shadow:0 .2rem .6rem #2a234026}.choice-pic{font-size:min(3rem,12vh);line-height:1}img.choice-pic{object-fit:cover;border-radius:.8rem;width:min(4.6rem,18vh);height:min(4.6rem,18vh)}.picture-caption{color:var(--ink-soft);font-size:1.3rem;font-weight:900}.choice-label{align-items:center;gap:.6rem;display:flex}.choice-caption{font-size:1.3rem;font-weight:900}.shape,.solid{width:min(9rem,36vh);height:min(9rem,36vh)}.grid-view{height:min(8rem,32vh)}.choice .grid-view{height:min(5.5rem,21vh)}.grid-q{fill:var(--ink-soft);text-anchor:middle;dominant-baseline:central;font-size:28px;font-weight:900}.ruler{width:100%;max-width:26rem}.ruler-num{fill:var(--ink);text-anchor:middle;font-size:10px;font-weight:800}.choice-visual{align-items:center;gap:.6rem;display:flex}.choice .solid{width:min(4rem,15vh);height:min(4rem,15vh)}.paint-row,.paint-pair{align-items:center;gap:.5rem;display:flex}.paint-pair .op{color:var(--ink-soft);font-size:2rem;font-weight:900}.paint-blob{border-radius:48% 52% 45% 55%/55% 45%;width:min(6rem,26vh);height:min(5rem,22vh);box-shadow:inset 0 -.4rem #0000001f,0 0 0 2px #2a234026}.choice .paint-blob{width:min(3.4rem,13vh);height:min(2.8rem,11vh)}.scene{gap:.4rem;display:grid}.scene-pic{object-fit:cover;border-radius:.8rem;place-items:center;width:min(4.6rem,18vh);height:min(4.6rem,18vh);font-size:2.6rem;display:grid}.bars{width:min(18rem,100%)}.bars-svg{width:100%;overflow:visible}.bars-grid{stroke:var(--line);stroke-width:1px}.bars-tick{fill:var(--ink-soft);text-anchor:end;dominant-baseline:central;font-size:10px;font-weight:800}.bars-bar{fill:var(--sky)}.bars-labels{justify-content:space-around;display:flex}.bars-pic{object-fit:cover;border-radius:.5rem;width:min(2.6rem,10vh);height:min(2.6rem,10vh);font-size:1.6rem}.tally{flex-direction:column;gap:.3rem;display:flex}.tally-row{align-items:center;gap:.6rem;display:flex}.tally-pic{object-fit:cover;border-radius:.5rem;width:min(2.4rem,9vh);height:min(2.4rem,9vh);font-size:1.5rem}.tally-svg{height:min(1.8rem,7vh)}.tally-line{stroke:var(--ink);stroke-width:2.5px;stroke-linecap:round}.bag{width:min(11rem,44vh)}.bag-body{fill:#c89b6d;stroke:var(--ink);stroke-width:2.5px}.bag-rim{fill:none;stroke:var(--ink);stroke-width:2.5px}.choice-word{letter-spacing:.02em;font-size:min(2.2rem,9vh);font-weight:900}.coins{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;max-width:100%;display:flex}.coin{color:#3d2c00;border-radius:50%;place-items:center;width:min(4.2rem,17vh);height:min(4.2rem,17vh);font-size:1rem;font-weight:900;display:grid;box-shadow:inset 0 -.2rem #0000002e,0 .15rem .3rem #0003}.coin.euro.e1{background:radial-gradient(circle,#e9c46a 0 52%,#c7c7c7 54%)}.coin.euro.e2{background:radial-gradient(circle,#c7c7c7 0 52%,#e9c46a 54%);width:min(4.6rem,18vh);height:min(4.6rem,18vh)}.coin.cent{background:radial-gradient(circle at 35% 35%,#f6d36b,#d4a017);width:min(3.6rem,14vh);height:min(3.6rem,14vh);font-size:.85rem}.note{color:#fff;text-shadow:0 1px 2px #00000059;border-radius:.35rem;place-items:center;width:min(6.8rem,26vh);height:min(3.8rem,14vh);font-weight:900;display:grid;box-shadow:0 .15rem .3rem #0003,inset 0 0 0 3px #ffffff59}.note-5{background:linear-gradient(135deg,#a5a5b5,#6c6c80)}.note-10{background:linear-gradient(135deg,#ff8a7a,#d9534f)}.note-20{background:linear-gradient(135deg,#7fb5ff,#3f6fd8)}.note-50{background:linear-gradient(135deg,#ffb35c,#e07b16)}.clock{width:min(11rem,44vh);height:min(11rem,44vh)}.clock-face{fill:#fff;stroke:var(--ink);stroke-width:3px}.tick{stroke:var(--ink-soft);stroke-width:.8px}.tick.big{stroke:var(--ink);stroke-width:2px}.clock-num{fill:var(--ink);text-anchor:middle;dominant-baseline:central;font-size:9px;font-weight:900}.hand{stroke-linecap:round}.hand.hour{stroke:var(--coral);stroke-width:5px}.hand.minute{stroke:var(--sky);stroke-width:3px}.clock-pin{fill:var(--ink)}.choice-glyph{font-size:min(3rem,12vh);line-height:1}.burst{pointer-events:none;z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;display:flex;position:fixed;inset:0}.burst span{color:#fff;background:var(--good);border-radius:999px;padding:.4rem 1.6rem;font-size:3rem;font-weight:900;animation:.4s cubic-bezier(.2,1.6,.4,1) both pop-in;box-shadow:0 .35rem #1f9a8f}.pill.exp-pill{cursor:pointer;border:none;align-items:center;gap:.3rem;width:auto;padding:.3rem .8rem;font-weight:800;display:inline-flex}.exp-pill svg{width:1.1em;height:1.1em}.sheet.exp-sheet{align-items:stretch}.exp-members{flex-wrap:wrap;gap:.8rem;display:flex}.exp-member{align-items:center;gap:.4rem;display:inline-flex}.exp-trail{flex-wrap:wrap;align-items:center;gap:.25rem;font-size:1.3rem;display:flex}.exp-trail span:not(.on):not(.exp-flag){color:var(--ink-soft)}.exp-events{margin:0;padding-left:1.1rem;font-size:.95rem}.exp-panel{flex-direction:column;gap:.5rem;margin:.6rem 0;display:flex}.reward.exp-step{background:#eef6ff}.badge.pause{color:#2a5d8f;background:#e8f4ff}.burst small{color:var(--ink);background:var(--surface);border-radius:999px;padding:.35rem 1rem;font-size:1.3rem;font-weight:800;animation:.4s cubic-bezier(.2,1.6,.4,1) .15s both pop-in;box-shadow:0 .2rem .6rem #00000026}.mode-challenge .burst span{background:var(--sun);color:#6b4b00;box-shadow:0 .35rem #c79a00}.burst i{background:var(--sun);border-radius:50%;width:.9rem;height:.9rem;animation:.7s ease-out both fly;position:absolute}.burst i:nth-child(odd){background:var(--coral)}.nudge,.toast{z-index:11;pointer-events:none;border-radius:999px;padding:.5rem 1.2rem;font-weight:900;position:fixed;left:50%;translate:-50%}.nudge{background:var(--coral);color:#fff;align-items:center;gap:.6rem;padding-left:.4rem;animation:.3s both slide-up;display:flex;bottom:1rem}.toast{background:var(--ink);color:#fff;animation:.4s both slide-down;top:.8rem}.summary{background:radial-gradient(circle at 50% 30%, #fff1c7 0, transparent 60%), var(--bg);justify-content:center;align-items:center;position:relative;overflow:hidden}.summary-main{z-index:1;flex-direction:column;flex:1;justify-content:safe center;align-items:center;gap:.5rem;width:100%;min-height:0;padding-bottom:.3rem;display:flex;overflow-y:auto}.summary h1{text-align:center;font-size:2.2rem;font-weight:900}.summary-first{color:var(--ink-soft);margin:0;font-weight:700}.summary-stars{color:#b88300;align-items:center;gap:.4rem;font-size:2.4rem;font-weight:900;animation:.5s .2s both pop-in;display:flex}.summary-stars svg{width:1em;height:1em;color:var(--sun);animation:1.2s .4s both spin}.rewards{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}.reward{background:var(--surface);box-shadow:var(--shadow), inset 0 0 0 2px var(--line);border-radius:1rem;flex-direction:column;align-items:center;gap:.3rem;padding:.5rem .8rem;font-weight:800;animation:.4s .6s both pop-in;display:flex}.reward-pic{width:8rem;height:6rem}.reward-paints{align-items:center;gap:.3rem;height:6rem;display:flex}.swatch{border-radius:50%;width:2.4rem;height:2.4rem;box-shadow:inset 0 0 0 2px #0000001a}.medal{justify-content:center}.medal-icon{font-size:3.2rem;line-height:1}.summary-actions{z-index:1;flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:.7rem;display:flex}.confetti i{border-radius:2px;width:.6rem;height:1rem;animation:3s ease-in both fall;position:absolute;top:-1rem}.gallery-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));align-content:start;gap:.8rem;padding-bottom:1rem;display:grid;overflow-y:auto}.tile{background:var(--surface);box-shadow:var(--shadow), inset 0 0 0 2px var(--line);border-radius:1rem;flex-direction:column;gap:.3rem;padding:.4rem .4rem .5rem;font-weight:800;display:flex;position:relative}.tile svg{aspect-ratio:4/3;border-radius:.7rem;width:100%}.tile.locked svg{opacity:.25;filter:grayscale()}.tile .lock{color:var(--ink-soft);justify-content:center;align-items:center;gap:.3rem;display:flex}.tile .lock svg{aspect-ratio:auto;opacity:1;width:1em;height:1em}.coloring{flex-direction:row;gap:.6rem}.tools{flex-direction:column;align-items:center;gap:.45rem;display:flex}.tool{background:var(--surface);width:2.8rem;height:2.8rem;box-shadow:inset 0 0 0 2px var(--line);border-radius:.9rem;place-items:center;display:grid}.tool.on{background:var(--primary);color:#fff;box-shadow:none}.tool:disabled{opacity:.35}.tool.size span{background:currentColor;border-radius:50%;display:block}.canvas-wrap{flex:1;place-items:center;min-width:0;display:grid}.canvas{width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:var(--shadow), inset 0 0 0 2px var(--line);touch-action:none;background:#fff;border-radius:1rem}.canvas.tool-fill{cursor:pointer}.canvas.tool-brush{cursor:crosshair}.palette{grid-template-columns:repeat(3,2.3rem);grid-auto-rows:2.3rem;align-content:start;gap:.35rem;padding:.2rem;display:grid;overflow-y:auto}.paint{border-radius:50%;transition:transform .12s;box-shadow:inset 0 0 0 2px #0000001f}.paint.on{box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--ink);transform:scale(1.12)}.paint.locked{background:var(--line);color:var(--ink-soft);place-items:center;display:grid}.paint.locked svg{width:.9rem;height:.9rem}.parents-body{flex:1;grid-template-columns:16rem 1fr;gap:1rem;min-height:0;display:grid}.panel{background:var(--surface);border-radius:var(--radius);box-shadow:inset 0 0 0 2px var(--line);flex-direction:column;align-items:flex-start;gap:.6rem;padding:1rem;display:flex;overflow-y:auto}.panel h2{font-size:1.1rem;font-weight:900}.panel .fineprint{text-align:left}.voice-hint{text-align:left;background:#fff6e0;border-radius:.8rem;padding:.5rem .7rem}.stats{color:var(--ink-soft);font-weight:700}.skills{align-items:stretch}.skill-group h3{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:.4rem 0 .3rem;font-size:.8rem}.skill-row{grid-template-columns:12rem 1fr 11rem;align-items:center;gap:.8rem;padding:.25rem 0;font-size:.9rem;display:grid}.skill-row.locked{opacity:.45}.skill-name{font-weight:800}.bar{background:var(--line);border-radius:999px;height:.55rem;overflow:hidden}.bar span{background:var(--primary);border-radius:999px;height:100%;display:block}.skill-row.mastered .bar span{background:var(--good)}.skill-meta{color:var(--ink-soft);font-size:.8rem}.shake{animation:.4s shake}.view-tabs{align-self:flex-start}.week{flex-direction:column;gap:.5rem;display:flex}.week h3{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-top:.4rem;font-size:.8rem}.week-tiles{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.week-tile{background:var(--bg);border-radius:.9rem;flex-direction:column;padding:.6rem .7rem;display:flex}.week-tile b{font-size:1.6rem;font-weight:900;line-height:1.1}.week-tile span{color:var(--ink-soft);font-size:.75rem;font-weight:700}.week-list{font-size:.9rem;font-weight:700}.lp-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.segmented.small button{padding:.3rem .7rem;font-size:.85rem}.lp-row{text-align:left;border-radius:.5rem;width:100%}.lp-row:not(:disabled):hover{background:var(--bg)}.lp-row.gap{opacity:.5}.lp-note{color:var(--ink-soft);margin:-.1rem 0 .3rem;font-size:.75rem}.skill-row.sub{padding-left:1rem;font-size:.82rem}.pin-dots{gap:.9rem;display:flex}.pin-dots span{width:1.3rem;height:1.3rem;box-shadow:inset 0 0 0 3px var(--primary);border-radius:50%;transition:background .15s}.pin-dots .on{background:var(--primary)}.pin-error{color:var(--danger);font-weight:800}.rotate-hint{display:none}@media (orientation:portrait) and (width<=900px){.rotate-hint{z-index:100;background:var(--primary);color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-size:20px;font-weight:800;display:flex;position:fixed;inset:0}.rotate-hint span{font-size:64px;animation:2s ease-in-out infinite tilt}}@keyframes glow{50%{box-shadow:0 .25rem #2a234040,0 0 0 3px #fff,0 0 1.2rem .3rem #fffffff2}}@keyframes bubble-up{to{opacity:0;transform:translateY(-9rem)scale(1.4)}}@keyframes hop{50%{transform:translateY(-.35rem)}}@keyframes drift{to{transform:translate(.6rem)scale(1.06)}}@keyframes fade-in{0%{opacity:0}}@keyframes fill-from{0%{width:var(--from)}}@keyframes reveal{0%{opacity:0;transform:scale(0)rotate(-12deg)}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}}@keyframes bounce-once{50%{transform:scale(1.3)}}@keyframes fly{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(12rem)scale(.2)}}@keyframes slide-up{0%{transform:translateY(150%)}}@keyframes slide-down{0%{transform:translateY(-150%)}}@keyframes wiggle{0%,to{rotate:0deg}25%{rotate:-3deg}75%{rotate:3deg}}@keyframes pulse{50%{transform:scale(1.08)}}@keyframes spin{0%{transform:rotate(-360deg)scale(0)}}@keyframes fall{to{transform:translateY(110vh)rotate(720deg)}}@keyframes rise{to{transform:translateY(calc(-100vh - 12rem))}}@keyframes shrink{to{transform:scaleX(0)}}@keyframes float-away{to{opacity:0;translate:-50% -180%}}@keyframes shake{25%{transform:translate(-.4rem)}75%{transform:translate(.4rem)}}@keyframes tilt{50%{rotate:-90deg}}@media (height<=460px){.place-btn{width:2.8rem;height:2.8rem}.place-icon{font-size:1.4rem}.map-actions .icon-btn.big{width:2.9rem;height:2.9rem}.map-actions .go-btn{padding:.55rem 1.2rem;font-size:1.2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.fb-fab{z-index:900;color:#fff;opacity:.8;background:#5e35b1;border:0;border-radius:.8rem 0 0 .8rem;place-items:center;width:1.6rem;height:3.6rem;padding:0;display:grid;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:0 2px 8px #00000040}.fb-fab svg{width:1rem;height:1rem}.fb-banner{left:50%;bottom:calc(10px + env(safe-area-inset-bottom));z-index:900;color:#fff;white-space:nowrap;background:#5e35b1;border-radius:999px;align-items:center;gap:10px;padding:8px 10px 8px 16px;font-weight:700;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 14px #0000004d}.fb-banner .icon-btn{color:#fff}body.fb-picking *{cursor:crosshair!important}body.fb-picking :is([data-fb],button,img,h1,h2,h3,p,.place,.choice):not([data-fb-ignore] *):hover{outline-offset:2px;outline:3px dashed #7e57c2}body.fb-picking [data-fb]:not([data-fb-ignore] *){outline-offset:2px;outline:2px dashed #7e57c299}.fb-form{max-width:520px}.fb-form textarea,.fb-who input{width:100%;font:inherit;box-sizing:border-box;border:2px solid #d1c4e9;border-radius:12px;padding:10px}.fb-target{color:#555;margin:0 0 8px;font-size:.9rem}.fb-cats{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.fb-cat{font:inherit;background:#fff;border:2px solid #d1c4e9;border-radius:999px;padding:6px 12px;font-weight:700}.fb-cat.on{background:#ede7f6;border-color:#5e35b1}.fb-panel{flex-direction:column;gap:10px;display:flex}.fb-toggle{align-items:center;gap:8px;font-weight:700;display:flex}.fb-who{align-items:center;gap:8px;display:flex}.fb-list-head{justify-content:space-between;align-items:center;display:flex}.fb-item{border:2px solid #e0e0e0;border-radius:12px;padding:10px 12px}.fb-item.erledigt,.fb-item.verworfen{opacity:.55}.fb-item-head,.fb-item-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.fb-item-text{white-space:pre-wrap;margin:6px 0}.speak-btn.talking{color:var(--primary);animation:.9s ease-in-out infinite talk-pulse}.speak-btn.silent{color:var(--ink-soft);opacity:.7}@keyframes talk-pulse{0%,to{box-shadow:0 0 #6c5ce773}50%{box-shadow:0 0 0 .45rem #6c5ce700}}.family-panel{flex-direction:column;gap:.6rem;display:flex}.family-join{gap:.5rem;display:flex}.family-join input{font:inherit;border:2px solid var(--line);text-transform:uppercase;letter-spacing:.08em;border-radius:.8rem;flex:1;padding:.6rem .8rem}.family-code{border:2px dashed var(--primary);border-radius:1rem;padding:.8rem 1rem}.family-code code{letter-spacing:.12em;margin:.3rem 0;font-size:1.6rem;font-weight:900;display:block}.family-device{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.family-device small{color:var(--ink-soft)}.warn{color:#b3261e}.place-areas{pointer-events:none;z-index:2;gap:.15rem;display:flex;position:absolute;top:-.35rem;left:-.45rem}.place-area{color:#fff;border:2px solid #fff;border-radius:999px;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .25rem;font-size:.6rem;font-weight:900;line-height:1;display:grid;box-shadow:0 .1rem .3rem #2a234059}.area-mathe{background:#4d96ff}.area-deutsch{background:#ff7a59}.area-hsu{background:#2ec4b6}.place-area.area-hsu,.place-area.area-logik,.place-area.area-kunst,.place-area.area-boss{font-size:.8rem}.area-logik{background:#8e44ad}.area-kunst{background:#f06292}.area-boss{background:#2a2340}.sheet-areas{gap:.35rem;margin:.15rem 0 .25rem;display:flex}.area-chip{color:#fff;border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:800}.place.mastered.presumed .place-btn{outline-offset:3px;background:#fff;outline:2px dashed #e0a800;box-shadow:0 .25rem #d9cfbf,0 0 0 3px #ffd25a}.sheet-presumed{background:#fff8dc;border:2px dashed #e0a800;border-radius:.9rem;margin:.5rem 0;padding:.6rem .8rem;font-weight:700}.progress.mission-track{align-items:center;position:relative}.mission-track span{place-items:center;display:grid;position:relative}.mission-track .phase-warmup{background:#ffe1a8}.mission-track .phase-wrapup{background:#d7d2f5}.mission-track .phase-bonus{background:#2a2340;width:1.2rem}.mission-track .done{background:var(--good)}.mission-track .now{background:var(--primary)}.mission-track .now>div,.mission-track .now>span{width:1.9rem;height:1.9rem;transition:left .4s;position:absolute;bottom:.25rem}.track-boss,.track-goal{font-size:1.1rem;line-height:1}.track-boss{position:absolute;bottom:.35rem}.track-goal{margin-left:.2rem}.badge.phase{background:var(--primary-soft);color:var(--primary)}.badge.phase-warmup{color:#9a5b00;background:#fff1d6}.badge.phase-wrapup{color:#4b3db8;background:#ece9ff}.story-lead{color:var(--ink-soft);margin:0 0 .2rem;font-size:.85rem;font-style:italic;font-weight:800}.mission-intro{text-align:center;align-items:center}.mission-intro .fact{text-align:left}.story-end{border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;background:#fff;max-width:34rem;padding:.8rem 1.1rem}.story-outro{margin:0 0 .4rem;font-weight:800}.story-icon{vertical-align:middle;font-size:1.4rem}.story-fact{color:var(--ink-soft);margin:0}.zoom-btns{right:max(.8rem, env(safe-area-inset-right));z-index:5;flex-direction:column;gap:.35rem;display:flex;position:absolute;top:50%;translate:0 -50%}.zoom-btns .icon-btn{width:2.3rem;height:2.3rem;box-shadow:0 .2rem .6rem #2a234059,inset 0 0 0 2px #ffffffe6}.zoom-btns .icon-btn:disabled{opacity:.4}.trail{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;position:relative;overflow-y:auto}.trail-backdrop{background:var(--map) center / cover;filter:blur(5px)saturate(1.05);opacity:.5;pointer-events:none;position:absolute;inset:0}.map-screen.upright .trail{position:absolute;inset:0}.map-screen.upright .trail-inner{margin:4.5rem auto 5.5rem}.map-screen.upright .map-top{gap:.4rem}.map-screen.upright .map-actions{gap:.45rem}.map-screen.upright .go-btn{padding:.6rem 1.1rem}@media (orientation:portrait) and (width<=900px){:root{font-size:clamp(12px,3.5vw,17px)}}.trail-inner{width:min(100%,26rem);margin:0 auto;position:relative}.trail-path{width:100%;height:100%;position:absolute;inset:0}.trail-path polyline{fill:none;stroke:#fff8ea;stroke-width:6px;stroke-dasharray:2 10;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #2a234059)}.trail .place{position:absolute}.rotate-hint.never{display:none!important}.base-buddy.sponging{touch-action:none;cursor:none}.sponge-cursor{pointer-events:none;z-index:20;filter:drop-shadow(0 .15rem .2rem #0000004d);font-size:2.6rem;position:fixed;translate:-50% -50%}.bathhouse .btn.on{background:var(--primary);color:#fff}canvas.mud{border-radius:inherit;pointer-events:none;filter:blur(3px);width:100%;height:100%;position:absolute;inset:0}
