:root{--blue: #4a9fe0;--blue-dark: #2f7fbe;--teal: #3fb8b0;--teal-dark: #2c9089;--amber: #f0a03c;--amber-dark: #cd7f22;--violet: #8b74d6;--violet-dark: #6d59b0;--green: #57c07d;--green-dark: #3d9a5f;--pink: #ef7d9d;--pink-dark: #cf5c7d;--slot: #cfe4f4;--slot-edge: #a8cbe4;--tray: #dceaf6;--ink: #2c3b47;--radius: 18px;--shadow: 0 6px 0 rgba(0, 0, 0, .16);--tap: 84px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Nunito,Quicksand,ui-rounded,Segoe UI Rounded,system-ui,sans-serif;color:var(--ink);background:#bfe6fb;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.boot{height:100%;background:linear-gradient(#bfe6fb,#e8f6ff)}.game{position:relative;display:flex;flex-direction:column;height:100%;background:#cfe9f7}.game__stage{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:stretch;justify-content:center;padding:10px 10px 0}.world{width:100%;height:100%;border-radius:22px;overflow:hidden;box-shadow:0 8px 26px #1432462e;background:#cfe9f7}.game__hud{position:absolute;top:26px;left:116px;display:flex;align-items:center;gap:14px;pointer-events:none}.game__badge{font-size:30px;font-weight:800;color:#6d5ba8;text-shadow:0 2px 0 rgba(255,255,255,.85);white-space:nowrap}.game__clock{font-size:25px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;color:#46637a;background:#ffffffb8;border-radius:999px;padding:3px 14px;box-shadow:0 2px #788ca038}.game__clock--stopped{color:#2c7b48;background:#e4f7eaeb}.game__top-left{position:absolute;top:22px;left:24px}.game__top-right{position:absolute;top:22px;right:24px}.round-button{width:var(--tap);height:var(--tap);border-radius:50%;border:none;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);transition:transform .12s ease;padding:0}.round-button svg{width:52%;height:52%}.round-button:active{transform:translateY(4px);box-shadow:0 2px #00000029}.round-button--map,.round-button--audio{background:#9b8ede;color:#fff}.round-button--hint{background:#f2b632;color:#fff}.round-button--hint:disabled{background:#d6d9dc;color:#f4f6f7;cursor:default;box-shadow:none}.round-button--hint-offered{animation:hint-offer 2.2s ease-in-out infinite}@keyframes hint-offer{0%,to{box-shadow:0 0 #f2b6328c}50%{box-shadow:0 0 0 14px #f2b63200}}.game__hint{position:absolute;top:calc(22px + var(--tap) + 14px);right:24px}@media (prefers-reduced-motion: reduce){.round-button--hint-offered{animation:none}}.round-button--replay{background:var(--pink);color:#fff;width:104px;height:104px}.round-button--next{background:#46b6e8;color:#fff;width:104px;height:104px}.outcome{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:flex;align-items:center;justify-content:center;gap:46px;pointer-events:none;animation:fade-in .32s ease both}.outcome .round-button{pointer-events:auto;animation:pop-in .34s cubic-bezier(.2,1.4,.4,1) both}.outcome--won .round-button--next{animation-delay:.12s}.game__seal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;background:#18344a29;animation:fade-in .32s ease both}.game--sealed .game__controls{pointer-events:none;opacity:.4;filter:saturate(.35)}.game--sealed .game__top-left,.game--sealed .game__top-right{z-index:7}.game__controls{flex:0 0 auto;padding:12px 18px 18px;display:flex;flex-direction:column;gap:10px;align-items:center;transition:opacity .32s ease,filter .32s ease}.game__strip-row{display:flex;align-items:center;gap:16px;width:100%;max-width:1180px}.strip{flex:1 1 auto;display:flex;align-items:center;gap:12px;background:var(--tray);border-radius:var(--radius);padding:10px 14px;min-height:96px;box-shadow:inset 0 2px #ffffffb3}.strip__slots{flex:1 1 auto;align-self:stretch;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.strip__undo{width:62px;height:62px;border-radius:50%;border:none;background:var(--pink);color:#fff;display:grid;place-items:center;cursor:pointer;flex:0 0 auto;box-shadow:0 4px 0 var(--pink-dark)}.strip__undo svg{width:56%;height:56%}.strip__undo:disabled{background:#c3d3de;box-shadow:0 4px #a9bcc9;cursor:default}.slot{display:inline-flex;align-items:center}.slot--empty{width:66px;height:66px;border-radius:14px;border:3px dashed var(--slot-edge);background:#ffffff59}.slot--nested{width:54px;height:54px}.slot__block{width:66px;height:66px;border-radius:14px;display:grid;place-items:center;border:none;padding:0;position:relative;color:#fff;animation:drop-in .24s cubic-bezier(.2,1.3,.4,1) both}.slot__block--movement{background:var(--blue);box-shadow:0 4px 0 var(--blue-dark)}.slot__block--jump{background:var(--teal);box-shadow:0 4px 0 var(--teal-dark)}.slot__block--control{background:var(--amber);box-shadow:0 4px 0 var(--amber-dark);cursor:pointer}.slot__block .block-icon{width:62%;height:62%}.slot--active .slot__block{outline:5px solid #ffd24a;outline-offset:3px;animation:throb .42s ease-in-out infinite alternate}.slot--faulted{z-index:4}.slot--faulted .slot__block{outline:5px solid #ef7d9d;outline-offset:3px;animation:throb .62s ease-in-out infinite alternate}.slot--faulted .slot__block:after,.loop__remove--faulted:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:inherit;border:5px solid #ef7d9d;animation:halo 1.3s ease-out infinite;pointer-events:none}.loop__remove--faulted{animation:throb .62s ease-in-out infinite alternate}.repeat-count{position:absolute;right:-6px;bottom:-8px;background:#fff;color:var(--amber-dark);border-radius:11px;min-width:30px;padding:1px 5px;font-weight:900;font-size:19px;line-height:1.15;box-shadow:0 2px #00000026;display:grid;justify-items:center}.repeat-count__pips{display:grid;gap:1px;padding-bottom:1px}.repeat-count__pips i{width:4px;height:4px;border-radius:50%;background:var(--amber);display:block}.play{flex:0 0 auto;width:108px;height:108px;border-radius:50%;border:none;background:var(--green);color:#fff;box-shadow:0 6px 0 var(--green-dark);cursor:pointer;display:grid;place-items:center;transition:transform .12s ease}.play svg{width:50%;height:50%}.play:active{transform:translateY(5px);box-shadow:0 1px 0 var(--green-dark)}.play:disabled{background:#b9c7d0;box-shadow:0 6px #9aa9b3;cursor:default}.palette{display:flex;gap:14px;padding:10px 16px;background:#ffffff8c;border-radius:var(--radius)}.palette__block{touch-action:none;width:var(--tap);height:var(--tap);border-radius:16px;border:none;color:#fff;cursor:pointer;position:relative;display:grid;place-items:center;transition:transform .12s ease,opacity .2s ease}.palette__block--movement{background:var(--blue);box-shadow:0 5px 0 var(--blue-dark)}.palette__block--jump{background:var(--teal);box-shadow:0 5px 0 var(--teal-dark)}.palette__block--control{background:var(--amber);box-shadow:0 5px 0 var(--amber-dark)}.palette__block .block-icon{width:58%;height:58%}.palette__block:active{transform:translateY(4px)}.palette__block:disabled{cursor:default}.palette__block--dimmed{opacity:.32;filter:saturate(.4)}.palette__block--spotlit{animation:spotlight .9s ease-in-out infinite alternate;z-index:2}.palette__block--spotlit:after,.play--hinted:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:inherit;border:5px solid #ffd24a;animation:halo 1.3s ease-out infinite;pointer-events:none}.play--hinted{position:relative;animation:spotlight .9s ease-in-out infinite alternate}.play--hinted:after{border-radius:50%}@keyframes halo{0%{transform:scale(1);opacity:.9}to{transform:scale(1.55);opacity:0}}.teaching-hand{position:absolute;right:-26px;bottom:-34px;width:76px;height:96px;pointer-events:none;animation:hand-tap 1.3s ease-in-out infinite;filter:drop-shadow(0 3px 4px rgba(0,0,0,.28));z-index:3}.teaching-hand svg{width:100%;height:100%}.teaching-hand__pulse{position:absolute;left:4px;top:-10px;width:30px;height:30px;border-radius:50%;background:var(--pink);opacity:.8;animation:pulse 1.3s ease-out infinite}.teaching-hand__pulse--late{animation-delay:.65s}.pip-anchor{transition:transform .4s cubic-bezier(.35,.05,.25,1)}.pip__eyes-shut,.pip--celebrate .pip__eyes{display:none}.pip--celebrate .pip__eyes-shut{display:block}.pip--celebrate{animation:celebrate .62s ease-in-out 2}.pip--walking .pip__leg--front{animation:step .4s ease-in-out infinite}.pip--walking .pip__leg--back{animation:step .4s ease-in-out infinite reverse}.pip--bump{animation:bump .5s ease-in-out}.pip__tail{transform-origin:100% 60%;animation:wag 1.8s ease-in-out infinite alternate}.acorn{transition:transform .3s ease,opacity .3s ease}.acorn--taken{opacity:0;transform:scale(1.6) translateY(-26px)}.scene{transition:filter .42s ease}.scene--dimmed{filter:saturate(.72) brightness(.94)}.celebration-star{animation:star-pop .52s cubic-bezier(.2,1.5,.4,1) both}.score-acorn{transform-box:fill-box;transform-origin:center}.score-acorn--won{animation:star-pop .52s cubic-bezier(.2,1.5,.4,1) both}@media (prefers-reduced-motion: reduce){.score-acorn--won{animation:none}}.trail{height:100%;display:flex;flex-direction:column;background:linear-gradient(#bfe6fb,#e8f6ff)}.trail__header{display:flex;align-items:baseline;justify-content:space-between;padding:20px 28px 6px}.trail__title{margin:0;font-size:32px;font-weight:800;color:#3c5a6b}.trail__count{margin:0;font-size:22px;font-weight:700;color:#6b8698}.trail__scroller{flex:1 1 auto;min-height:0;overflow-x:auto;overflow-y:hidden;display:flex;align-items:center;padding:0 24px 24px;-webkit-overflow-scrolling:touch;cursor:grab;scroll-behavior:smooth}.trail__scroller--dragging{cursor:grabbing;scroll-behavior:auto}.trail__scroller--dragging *{-webkit-user-select:none;user-select:none}.trail__svg{-webkit-user-drag:none}.trail__svg{flex:0 0 auto;height:min(100%,520px);width:auto;border-radius:24px}.stop{cursor:pointer}.stop--locked{cursor:default}.stop--current .stop__bob{animation:bob 1.6s ease-in-out infinite alternate}.stop__label{font-size:40px;font-weight:900;fill:#4a6c7d}.first-run{height:100%;display:grid;place-items:center;background:linear-gradient(#bfe6fb,#e8f6ff);padding:24px}.first-run__card{background:#fff;border-radius:24px;padding:32px;max-width:460px;box-shadow:0 12px 40px #1e3c502e;display:grid;gap:12px}.first-run__card h1{margin:0;font-size:30px;color:#3c5a6b}.first-run__card p{margin:0;line-height:1.5;color:#5a7383}.first-run__card label{font-weight:700;color:#3c5a6b}.first-run__card input{font:inherit;font-size:20px;padding:12px 14px;border-radius:12px;border:2px solid #cfe0ea}.first-run__card button{font:inherit;font-weight:800;font-size:19px;padding:14px;border-radius:14px;border:none;background:var(--green);color:#fff;box-shadow:0 5px 0 var(--green-dark);cursor:pointer}.first-run__card button:disabled{background:#b9c7d0;box-shadow:0 5px #9aa9b3;cursor:default}@keyframes step{0%{transform:translateY(0) rotate(-12deg)}to{transform:translateY(-3px) rotate(12deg)}}@keyframes wag{0%{transform:rotate(-6deg)}to{transform:rotate(8deg)}}@keyframes bump{0%,to{transform:translate(0) rotate(0)}30%{transform:translate(6px) rotate(6deg)}60%{transform:translate(-4px) rotate(-4deg)}}@keyframes celebrate{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}@keyframes throb{0%{outline-color:#ffd24a}to{outline-color:#ff9d2e}}@keyframes drop-in{0%{transform:translateY(-14px) scale(.8);opacity:0}to{transform:none;opacity:1}}@keyframes pop-in{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes star-pop{0%{transform:scale(.2) rotate(-40deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spotlight{0%{transform:scale(1)}to{transform:scale(1.08);outline:8px solid rgba(255,210,74,.55);outline-offset:2px}}@keyframes hand-tap{0%,to{transform:translate(0) rotate(-8deg)}50%{transform:translate(-9px,-16px) rotate(-15deg)}}@keyframes pulse{0%{transform:scale(.5);opacity:.8}to{transform:scale(2.2);opacity:0}}@keyframes bob{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.trail__header-right{display:flex;align-items:center;gap:16px}.trail__parent{font:inherit;font-size:15px;font-weight:700;color:#58768a;background:#ffffffb3;border:2px solid #c3d9e6;border-radius:999px;padding:7px 16px;cursor:pointer}.gate{height:100%;display:grid;place-items:center;background:linear-gradient(#dceaf6,#eef6fb);padding:24px}.gate__card{background:#fff;border-radius:22px;padding:30px;width:min(420px,100%);box-shadow:0 12px 40px #1e3c5029;display:grid;gap:14px}.gate__card h1{margin:0;font-size:25px;color:#3c5a6b}.gate__card p{margin:0;color:#55707f;font-size:18px}.gate__card input{font:inherit;font-size:24px;text-align:center;padding:12px;border-radius:12px;border:2px solid #cfe0ea}.gate__wrong{color:#c0526f;font-weight:700}.gate__actions{display:flex;gap:12px;justify-content:flex-end}.gate__actions button,.parent__actions button,.parent__close{font:inherit;font-weight:700;padding:11px 18px;border-radius:12px;border:2px solid #c3d9e6;background:#fff;color:#3c5a6b;cursor:pointer}.gate__actions button[type=submit]{background:var(--green);border-color:var(--green-dark);color:#fff}.gate__actions button:disabled{opacity:.5;cursor:default}.amb{animation:amb-cross var(--amb-duration, 40s) linear infinite;animation-delay:var(--amb-delay, 0s);will-change:transform}@keyframes amb-cross{0%{transform:translate(var(--amb-from))}to{transform:translate(var(--amb-to))}}.amb__flap,.amb__flutter,.amb__wing,.amb__scuttle,.amb__peek,.pip__tail{transform-box:fill-box}.amb__flap{animation:amb-flap .62s ease-in-out infinite alternate;transform-origin:center}@keyframes amb-flap{0%{transform:scaleY(.55) translateY(2px)}to{transform:scaleY(1.15) translateY(-2px)}}.amb__flutter{animation:amb-bob 2.6s ease-in-out infinite alternate}@keyframes amb-bob{0%{transform:translateY(-9px) rotate(-6deg)}to{transform:translateY(9px) rotate(6deg)}}.amb__wing{transform-origin:center;animation:amb-wing .24s ease-in-out infinite alternate}.amb__wing--l{transform-origin:100% 50%}.amb__wing--r{transform-origin:0% 50%}@keyframes amb-wing{0%{transform:scaleX(.72)}to{transform:scaleX(1)}}.amb__scuttle{animation:amb-scuttle .9s ease-in-out infinite alternate}@keyframes amb-scuttle{0%{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-3px) rotate(4deg)}}.amb__peek{animation:amb-peek 5.2s ease-in-out infinite}@keyframes amb-peek{0%,38%,to{transform:translateY(30px);opacity:0}48%,84%{transform:translateY(0);opacity:1}}.slot__block--removable{cursor:grab;touch-action:none}.slot__block--removable:disabled{cursor:default}.slot__remove{position:absolute;top:-9px;right:-9px;width:26px;height:26px;border-radius:50%;border:2px solid #fff;background:var(--pink);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}.slot__remove svg{width:58%;height:58%}.slot__remove:disabled{display:none}@media (max-width: 820px),(max-height: 560px){:root{--tap: 64px}.game__stage{padding:6px 6px 0}.game__top-left{top:12px;left:12px}.game__top-right{top:12px;right:12px}.game__hint{top:calc(12px + var(--tap) + 10px);right:12px}.game__hud{top:18px;left:84px;gap:10px}.game__badge{font-size:22px}.game__clock{font-size:19px;padding:2px 11px}.game__controls{padding:8px 10px 12px;gap:8px}.strip{min-height:76px;padding:8px 10px;gap:8px}.slot--empty,.slot__block{width:52px;height:52px}.slot__body .slot__block,.slot--nested{width:44px;height:44px}.strip__undo{width:50px;height:50px}.play,.round-button--replay,.round-button--next{width:84px;height:84px}.palette{gap:10px;padding:8px 12px}}.slot__target{position:absolute;right:-6px;bottom:-6px;width:22px;height:22px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px #00000026}.slot__target--red{background:#e8697d}.slot__target--blue{background:#6aa9e8}.slot__target--purple{background:#a781dd}.marker{transform-box:fill-box;transform-origin:50% 100%;animation:marker-sway 3.4s ease-in-out infinite alternate}@keyframes marker-sway{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}.loop{position:relative;display:inline-flex;align-items:center;gap:8px;padding:8px 10px 8px 8px;border-radius:20px;background:var(--amber);box-shadow:0 5px 0 var(--amber-dark);animation:drop-in .24s cubic-bezier(.2,1.3,.4,1) both}.loop__handle{cursor:grab;touch-action:none;position:relative;width:62px;height:62px;flex:0 0 auto;border:none;border-radius:14px;background:#ffffff38;color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}.loop__handle:disabled{cursor:default}.loop__handle .block-icon{width:64%;height:64%}.loop__well{display:inline-flex;align-items:center;gap:8px;min-height:62px;padding:6px 10px;border-radius:14px;background:#00000024;box-shadow:inset 0 3px 5px #0000002e}.loop__well .slot__block{width:50px;height:50px}.loop__well .slot--empty{width:50px;height:50px;border-color:#fff9;background:#ffffff29}.loop--active{outline:5px solid #ffd24a;outline-offset:3px}.loop__well{cursor:pointer;outline:3px solid transparent;transition:outline-color .16s ease}.loop__well--aimed{outline-color:#fff3c4}.loop__remove{position:absolute;top:-10px;right:-10px;width:28px;height:28px;border-radius:50%;border:3px solid #fff;background:var(--pink);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}.loop__remove svg{width:56%;height:56%}.loop__remove:disabled{display:none}.marker__glow{animation:marker-breathe 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.marker__ring{animation:marker-ping 2.6s ease-out infinite;transform-box:fill-box;transform-origin:center}@keyframes marker-breathe{0%,to{transform:scale(.92);opacity:.18}50%{transform:scale(1.12);opacity:.34}}@keyframes marker-ping{0%{transform:scale(.7);opacity:.7}70%,to{transform:scale(1.5);opacity:0}}@media (prefers-reduced-motion: reduce){.marker__glow,.marker__ring{animation:none}}@media (max-width: 820px),(max-height: 560px){.loop{padding:6px 8px 6px 6px;gap:6px}.loop__handle{width:52px;height:52px}.loop__well{min-height:52px;padding:5px 8px;gap:6px}.loop__well .slot__block,.loop__well .slot--empty{width:42px;height:42px}}.strip--saved{background:#e6dcf6;box-shadow:inset 0 2px #ffffffb3}.strip__mark{flex:0 0 auto;width:46px;height:46px;border-radius:12px;background:var(--violet);color:#fff;display:grid;place-items:center;box-shadow:0 3px 0 var(--violet-dark)}.strip__mark .block-icon{width:60%;height:60%}.strip--focusable{cursor:pointer;outline:3px solid transparent;transition:outline-color .16s ease}.strip--focused{outline-color:#f5b921}.slot__block--saved,.palette__block--saved{background:var(--violet)}.slot__block--saved{box-shadow:0 4px 0 var(--violet-dark)}.palette__block--saved{box-shadow:0 5px 0 var(--violet-dark)}.slot--carried,.loop.slot--carried{position:relative;z-index:30;pointer-events:none;filter:drop-shadow(0 10px 12px rgba(23,47,66,.35));opacity:.92}.slot--carried .slot__block,.slot--carried.loop{transform:scale(1.08) rotate(-2deg)}.slot--carried .slot__block,.slot--carried .loop__handle{cursor:grabbing}.slot--drop{width:66px;height:66px;border-radius:14px;border:4px dashed var(--green, #4aa96c);background:#4aa96c29;box-sizing:border-box;flex:0 0 auto;animation:drop-open .14s ease-out both}.loop__well .slot--drop{width:54px;height:54px}@keyframes drop-open{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.drag-ghost{position:fixed;z-index:60;pointer-events:none;transform:translate(-50%,-50%) scale(1.1) rotate(-3deg);filter:drop-shadow(0 12px 14px rgba(23,47,66,.4))}.palette__block--taken{opacity:.4}.strip--carrying .loop__well{outline:3px dashed rgba(255,255,255,.5);outline-offset:2px}@media (prefers-reduced-motion: reduce){.slot--drop{animation:none}}.star{animation:star-breathe 4.5s ease-in-out infinite alternate}@keyframes star-breathe{0%{opacity:.35}to{opacity:1}}@media (prefers-reduced-motion: reduce){.star{animation:none}}.picker{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;background:#eef4f8;padding:32px}.picker__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(18px,4vw,40px);max-width:900px}.picker__child{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 22px;border:3px solid transparent;border-radius:var(--radius);background:#fff;box-shadow:0 4px 18px #28465a14;cursor:pointer;font:inherit}.picker__child--active{border-color:var(--blue)}.picker__name{font-size:20px;font-weight:800;color:#3c5a6b}.picker__grownup{font:inherit;font-weight:700;padding:11px 18px;border-radius:12px;border:2px solid #c3d9e6;background:#fff;color:#3c5a6b;cursor:pointer}:root{--chart-blue-1: #78bce9;--chart-blue-2: #4a9fe0;--chart-blue-3: #2f7fbe;--chart-green-1: #7ac795;--chart-green-2: #3ea86c;--chart-green-3: #1f6f47;--chart-track: #e7eef4;--chart-grid: #dfe8ef;--ink-2: #4d6675;--ink-3: #7c94a2;--ease-rise: cubic-bezier(.22, .9, .25, 1)}.parent{height:100%;overflow-y:auto;background:radial-gradient(1100px 560px at 18% -12%,#e4f2fc,#eef4f8 62%);padding:22px clamp(14px,3vw,40px) 56px}.parent__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1240px;margin:0 auto 20px}.parent__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:start;max-width:1240px;margin:0 auto}.card--form{grid-column:span 6}.card--hero{grid-column:span 4}.card--next{grid-column:span 2}.card--week,.card--skills{grid-column:span 3}.card--chapters{grid-column:span 4}.card--unplugged{grid-column:span 2}.card--sound,.card--data{grid-column:span 3}@media (max-width: 1080px){.parent__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card--form,.card--hero,.card--chapters{grid-column:span 2}.card--next,.card--week,.card--skills,.card--unplugged,.card--sound,.card--data{grid-column:span 1}}@media (max-width: 720px){.parent__grid{grid-template-columns:minmax(0,1fr)}.card--form,.card--hero,.card--next,.card--week,.card--skills,.card--chapters,.card--unplugged,.card--sound,.card--data{grid-column:span 1}}.card{background:#fff;border-radius:22px;padding:22px 24px;box-shadow:0 6px 22px #28465a12;animation:card-in .5s var(--ease-rise) both;animation-delay:calc(var(--i, 0) * 55ms)}@keyframes card-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.card--quiet{background:#f7fafc;box-shadow:none;border:2px solid #e2ecf2}.card--form{border:2px solid #cfe4f4}.card h2{margin:0 0 8px;font-size:17px;color:#2f4a5a}.card p{margin:0 0 8px;color:var(--ink-2);line-height:1.55}.card__lede{margin:0 0 14px;font-size:15px;color:var(--ink-2)}.card__foot{margin:12px 0 0;font-size:14px;color:var(--ink-3)}.parent__actions{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}.parent__actions .danger{color:#b4425f;border-color:#eccad4}.parent__actions button.button--go{background:var(--green);border-color:var(--green-dark);color:#fff}.parent__actions button.button--go:disabled{opacity:.5;cursor:default}.chip{font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;white-space:nowrap}.chip--here{background:#e6f1fb;color:#2f6ea8}.child-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px;border-radius:999px;background:#ffffffb8;box-shadow:0 2px 12px #28465a12}.child-tab{display:inline-flex;align-items:center;gap:10px;font:inherit;font-weight:800;font-size:16px;color:#5a7686;padding:6px 16px 6px 6px;border:0;border-radius:999px;background:transparent;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s var(--ease-rise),box-shadow .2s ease;animation:card-in .45s var(--ease-rise) both;animation-delay:calc(var(--i, 0) * 60ms)}.child-tab:hover{background:#fff;transform:translateY(-1px)}.child-tab--on{background:#fff;color:#2f4a5a;box-shadow:0 4px 14px #28465a29}.child-tabs__add{display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:800;font-size:15px;padding:10px 17px;border:2px dashed #c3d9e6;border-radius:999px;background:transparent;color:#5a7686;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.child-tabs__add:hover,.child-tabs__add--on{border-style:solid;border-color:var(--blue);background:#eaf4fc;color:#2f6ea8}.child-tabs__plus{font-size:20px;line-height:.8}.card--hero{background:linear-gradient(135deg,#f5fbff,#fff 48%,#f2f8fd)}.hero{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-radius:18px;transform:perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transition:transform .28s ease-out}.hero:after{content:"";position:absolute;top:-22px;right:-22px;bottom:-22px;left:-22px;z-index:-1;border-radius:28px;pointer-events:none;background:radial-gradient(260px circle at var(--glare-x, 50%) var(--glare-y, 50%),rgba(120,188,233,.3),transparent 68%);opacity:var(--glare-on, 0);transition:opacity .4s ease}.hero__who{display:flex;align-items:center;gap:18px;min-width:0}.hero__name{margin:0;font-size:32px;line-height:1.1;color:#2f4a5a}.hero__line{margin:6px 0 0;color:var(--ink-2);font-size:16px;max-width:34ch}.hero__actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.hero__actions button{font:inherit;font-size:14px;font-weight:700;padding:8px 14px;border-radius:10px;border:2px solid #c3d9e6;background:#fff;color:#3c5a6b;cursor:pointer;transition:border-color .16s ease,transform .16s var(--ease-rise)}.hero__actions button:hover{transform:translateY(-1px);border-color:var(--blue)}.hero__actions .danger{border-color:#f0c4c4;color:#b4483f}.hero__actions .danger:hover{border-color:#d98f8f}.ring{position:relative;display:grid;place-items:center;flex:none}.ring__svg{display:block;max-width:100%;height:auto}.ring__track{fill:none;stroke:var(--chart-track)}.ring__fill{fill:none;stroke:var(--chart-blue-3);stroke-linecap:round;transition:stroke-dashoffset 1.15s var(--ease-rise)}.ring__fill--stub{stroke-linecap:butt}.ring__middle{position:absolute;display:grid;justify-items:center;gap:2px}.ring__value{font-size:52px;font-weight:900;line-height:1;color:#2f4a5a}.ring__total{font-size:14px;font-weight:700;color:var(--ink-3)}.stat{display:flex;align-items:baseline;gap:8px;margin:2px 0 0}.stat__value{font-size:34px;font-weight:900;line-height:1;color:#2f4a5a}.stat__unit{font-size:15px;font-weight:700;color:var(--ink-3)}.week__plot{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-items:end;height:calc(var(--plot, 132px) + 26px);margin-top:14px;border-bottom:1px solid var(--chart-grid)}.week__hit{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;border-radius:10px 10px 0 0}.week__bar{width:100%;max-width:26px;border-radius:5px 5px 0 0;background:var(--chart-blue-1);transition:height .85s var(--ease-rise);transition-delay:calc(var(--i, 0) * 55ms)}.week__hit--today .week__bar{background:var(--chart-blue-3)}.week__bar--none,.week__hit--today .week__bar--none{background:var(--chart-track);border-radius:3px}.week__peak{font-size:12px;font-weight:800;color:var(--ink-3);margin-bottom:5px}.week__tip{position:absolute;left:50%;bottom:min(calc(var(--h, 0px) + 12px),calc(100% - 58px));z-index:3;display:grid;gap:1px;padding:8px 12px;border-radius:12px;background:#2f4a5a;color:#fff;font-size:13px;line-height:1.35;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,5px);transition:opacity .18s ease,transform .18s ease}.week__tip strong{font-size:15px}.week__hit:hover .week__tip,.week__hit:focus-visible .week__tip{opacity:1;transform:translate(-50%)}.week__axis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:8px}.week__label{text-align:center;font-size:12px;font-weight:800;color:var(--ink-3)}.week__label--today{color:var(--chart-blue-3)}.skills__list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.skillrow__hit{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(64px,1fr) auto;align-items:center;gap:12px;width:100%;font:inherit;text-align:left;padding:9px 8px;border:0;border-radius:12px;background:none;cursor:pointer;transition:background .18s ease}.skillrow__hit:hover{background:#f4f9fc}.skillrow__name{font-weight:800;font-size:15px;color:#2f4a5a}.skillrow__track{height:10px;border-radius:5px;background:var(--chart-track);overflow:hidden}.skillrow__fill{display:block;height:100%;border-radius:0 5px 5px 0;transition:width .9s var(--ease-rise);transition-delay:calc(var(--i, 0) * 70ms)}.skillrow__fill--not-introduced{background:transparent}.skillrow__fill--exploring{background:var(--chart-green-1)}.skillrow__fill--developing{background:var(--chart-green-2)}.skillrow__fill--confident{background:var(--chart-green-3)}.skillrow__tier{font-size:13px;font-weight:800;white-space:nowrap;color:var(--ink-2)}.skillrow__tier--not-introduced{color:var(--ink-3);font-weight:700}.skillrow__note{margin:0 8px 10px;padding:10px 14px;border-left:3px solid var(--chart-green-1);border-radius:0 10px 10px 0;background:#f2faf6;color:#55707f;font-size:15px;animation:note-in .24s ease-out both}@keyframes note-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.skills__scale{display:flex;align-items:center;gap:4px;margin-top:14px;padding-top:13px;border-top:1px solid var(--chart-grid)}.skills__scale-step{width:24px;height:8px;border-radius:3px}.skills__scale-step--not-introduced{background:var(--chart-track)}.skills__scale-step--exploring{background:var(--chart-green-1)}.skills__scale-step--developing{background:var(--chart-green-2)}.skills__scale-step--confident{background:var(--chart-green-3)}.skills__scale-ends{margin-left:8px;font-size:12px;font-weight:700;color:var(--ink-3)}.chapters{list-style:none;margin:0;padding:0;display:grid;gap:2px}.chapter__hit{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(70px,1fr) auto 12px;align-items:center;gap:12px;width:100%;font:inherit;text-align:left;padding:10px 8px;border:0;border-radius:12px;background:none;cursor:pointer;transition:background .18s ease}.chapter__hit:hover{background:#f4f9fc}.chapter__name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:800;font-size:15px;color:#2f4a5a}.chapter__track{height:10px;border-radius:5px;background:var(--chart-track);overflow:hidden}.chapter__fill{display:block;height:100%;border-radius:0 5px 5px 0;background:var(--chart-blue-2);transition:width .9s var(--ease-rise);transition-delay:calc(var(--i, 0) * 70ms)}.chapter__count{font-size:14px;font-weight:800;color:#2f4a5a;font-variant-numeric:tabular-nums}.chapter__of{font-weight:700;color:var(--ink-3)}.chapter__chev{width:9px;height:9px;border-right:2px solid #9db4c2;border-bottom:2px solid #9db4c2;transform:rotate(45deg);transition:transform .22s ease}.chapter__chev--open{transform:rotate(225deg)}.chapter__levels{display:flex;flex-wrap:wrap;gap:7px;padding:4px 8px 14px;animation:note-in .24s ease-out both}.chapter__level{font:inherit;font-weight:800;font-size:14px;width:40px;height:40px;border-radius:11px;border:2px solid #dbe6ee;background:#fff;color:#5a7686;cursor:pointer;transition:transform .15s var(--ease-rise),border-color .15s ease}.chapter__level:hover{transform:translateY(-2px);border-color:var(--chart-blue-2)}.chapter__level--done{background:#e8f5ed;border-color:#a9d9bd;color:#2c7b48}.chapter__level--next{background:#e6f1fb;border-color:var(--chart-blue-2);color:#2f6ea8}.next__title{margin:0;font-size:19px;font-weight:800;color:#2f4a5a;text-transform:capitalize}.next__meta,.activity__meta{color:var(--ink-3);font-size:15px}.prompt{margin-top:14px;padding:14px 16px;border-left:4px solid #7cc4a0;border-radius:0 12px 12px 0;background:#f2faf6}.prompt__q{margin:0 0 4px;font-size:18px;font-weight:700;color:#2f5a48}.prompt__why{margin:0;font-size:15px;color:#5c7d70}.activity__title{margin:0 0 4px;font-size:18px;font-weight:800;color:#2f4a5a}.toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;font:inherit;text-align:left;padding:13px 2px;border:0;background:none;cursor:pointer}.toggle+.toggle{border-top:1px solid var(--chart-grid)}.toggle__label{display:block;font-weight:800;color:#2f4a5a}.toggle__hint{display:block;margin-top:2px;font-size:14px;color:var(--ink-3)}.toggle__track{position:relative;flex:none;width:54px;height:30px;border-radius:999px;background:#d6e2ea;transition:background .25s ease}.toggle__knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #28465a4d;transition:transform .3s cubic-bezier(.3,1.5,.55,1)}.toggle--on .toggle__track{background:var(--green)}.toggle--on .toggle__knob{transform:translate(24px)}.avatar-mark{display:block;flex:none}.child-form{display:flex;align-items:flex-start;gap:26px;flex-wrap:wrap;padding:12px 0 2px}.child-form__preview{display:grid;justify-items:center;gap:10px;flex:none;padding:18px 24px;border-radius:20px;background:#f3f9fd}.child-form__preview-name{margin:0;font-weight:800;color:#2f4a5a}.child-form__fields{flex:1 1 320px;min-width:0}.child-form label,.account-form label,.child-form__label{display:block;font-weight:800;color:#2f4a5a;margin:0 0 6px}.child-form input,.account-form input,.child-form select{font:inherit;width:100%;max-width:340px;padding:10px 12px;border-radius:12px;border:2px solid #c3d9e6;color:var(--ink);background:#fff}.child-form input:focus-visible,.account-form input:focus-visible,.child-form select:focus-visible{outline:3px solid var(--chart-blue-3);outline-offset:1px;border-color:var(--blue)}.child-form__why{font-size:14px;color:#6b8496;margin:6px 0 16px}.avatar-choice{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}.avatar-choice__opt{padding:4px;border:3px solid transparent;border-radius:999px;background:none;cursor:pointer;line-height:0;transition:transform .16s var(--ease-rise),border-color .16s ease}.avatar-choice__opt:hover{transform:translateY(-2px)}.avatar-choice__on{border-color:var(--blue)}.avatar-colour__opt{width:38px;height:38px;padding:0;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px #dbe6ee;cursor:pointer;transition:transform .16s var(--ease-rise),box-shadow .16s ease}.avatar-colour__opt:hover{transform:translateY(-2px)}.avatar-colour__on{box-shadow:0 0 0 3px var(--blue)}.picker__child{transition:transform .2s var(--ease-rise),box-shadow .2s ease;animation:card-in .45s var(--ease-rise) both}.picker__child:hover{transform:translateY(-4px);box-shadow:0 12px 28px #28465a26}.child-tab:focus-visible,.child-tabs__add:focus-visible,.skillrow__hit:focus-visible,.chapter__hit:focus-visible,.chapter__level:focus-visible,.toggle:focus-visible,.week__hit:focus-visible{outline:3px solid var(--chart-blue-3);outline-offset:2px}@media (prefers-reduced-motion: reduce){.card,.child-tab,.picker__child,.skillrow__note,.chapter__levels{animation:none}.hero,.hero__actions button,.ring__fill,.week__bar,.week__tip,.skillrow__fill,.chapter__fill,.chapter__chev,.chapter__level,.child-tab,.picker__child,.avatar-choice__opt,.avatar-colour__opt,.toggle__track,.toggle__knob{transition:none}}.card--account{grid-column:span 12}@media (max-width: 900px){.card--account{grid-column:1 / -1}}.first-run__alt{margin-top:10px;background:none;border:none;color:var(--ink-3);font-size:14px;text-decoration:underline;cursor:pointer}.first-run__note{margin:10px 0 0;font-size:14px;color:var(--ink-2)}.account-form__fields{max-width:340px}.account-form__why{margin:6px 0 0;font-size:13px;color:var(--ink-3)}.account-form__consent{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-weight:400;line-height:1.5;color:var(--ink-2)}.account-form__consent input{width:auto;margin-top:3px;flex:0 0 auto}
