.account-page{min-height:100dvh;display:flex;justify-content:center;align-items:center;padding:24px 16px;background:radial-gradient(ellipse at top,#16b78b,#007b9e);box-sizing:border-box}.account-card{width:100%;max-width:430px;padding:30px 26px;border-radius:28px;background:#fcfff9;color:#194a38;box-sizing:border-box;box-shadow:0 12px 35px #00475840;text-align:center;border:2px solid #c2ead6}.account-logo{border-radius:18px;margin-bottom:12px}.account-eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:1.5px;color:#087553}.account-card h1{font-size:27px;line-height:1.2;margin:12px 0}.account-card p{line-height:1.5;font-size:15px}.account-card form{text-align:left;display:flex;flex-direction:column;gap:14px;margin-top:24px}.account-card label{display:flex;flex-direction:column;gap:7px;font-size:15px;font-weight:700}.account-card input{min-height:48px;border:2px solid #b3d5c4;border-radius:12px;font:inherit;padding:10px 12px;box-sizing:border-box;width:100%;min-width:0;background:#fff;color:#194a38}.account-card form .btn{width:100%;min-height:50px;margin-top:4px}.account-card input:focus-visible,.account-card button:focus-visible{outline:3px solid #7650a5;outline-offset:3px}.account-help{background:none;border:0;color:#613e94;text-decoration:underline;min-height:44px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;padding:12px 0}.account-preview{font-size:12px!important;background:#edf5ef;border-radius:12px;padding:12px;margin-bottom:0}.account-error{background:#fff0ee;color:#8d302d;border-radius:12px;padding:12px;margin:0}.account-notice{background:#e3f5ec;color:#245b42;border-radius:12px;padding:12px;margin:0}.account-network{background:#fff0c2;color:#694e17;text-align:center;padding:10px;font-size:14px}@media (max-width:400px){.account-card{padding:24px 18px}.account-card h1{font-size:24px}}.account-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:960px;margin:0 auto;padding:8px 16px;color:#fff;font-size:12px}.account-toolbar span{overflow-wrap:anywhere}.account-toolbar button{flex-shrink:0;background:#ffffffed;color:#4f327e;border:0;border-radius:12px;min-height:44px;padding:8px 12px;font:inherit;font-weight:800;cursor:pointer}.account-access-help{margin-top:12px;text-align:left;border:1px solid #d4c4ec;border-radius:12px;background:#f5efff;color:#453065}.account-access-help summary{cursor:pointer;padding:14px;font-size:14px;font-weight:800}.account-access-help summary:focus-visible{outline:3px solid #7650a5;outline-offset:3px;border-radius:12px}.account-access-help>div{padding:0 14px 14px}.account-access-help h2{font-size:18px;margin:0 0 8px}.account-access-help p,.account-access-help li{font-size:14px;line-height:1.5}.account-access-help ol{padding-left:22px}.account-access-help li+li{margin-top:8px}.legacy-recovery{max-width:620px;margin:20px auto;padding:20px;background:#fff8e6;border:2px solid #f2d88a;border-radius:22px;color:#304835;box-sizing:border-box}.legacy-recovery h2{font-size:21px;margin:0 0 10px}.legacy-recovery p{font-size:15px;line-height:1.5;overflow-wrap:anywhere}.legacy-recovery .btn{width:100%;white-space:normal;min-height:48px}@media (max-width:660px){.legacy-recovery{margin:16px}}.logout-confirmation{width:calc(100% - 32px);max-width:430px;max-height:calc(100dvh - 32px);padding:0;border:2px solid #d9c9ed;border-radius:24px;background:#fcfff9;color:#194a38;box-shadow:0 18px 60px #001b3b55;box-sizing:border-box}.logout-confirmation::backdrop{background:#123d35aa}.logout-confirmation-content{padding:26px;text-align:center}.logout-confirmation h2{font-size:23px;line-height:1.3;margin:0 0 14px}.logout-confirmation p{font-size:16px;line-height:1.5}.logout-confirmation-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:24px}.logout-confirmation-actions .btn{min-height:48px;flex:1 1 140px;font-size:16px}.logout-confirmation-actions .btn.ghost{background:#eee5fb;color:#59348b;box-shadow:0 5px #d0bbe9}.logout-confirmation button:focus-visible{outline:3px solid #7650a5;outline-offset:4px}.cloud-status{background:#f6fffb;border:1px solid #b4e4cf;border-radius:18px;padding:18px;color:#194a38;margin-bottom:16px;overflow-wrap:anywhere}.cloud-status p{font-size:14px;line-height:1.5}.cloud-actions{display:flex;flex-direction:column;gap:16px}.cloud-status .btn{font-size:15px;white-space:normal;min-height:46px}.cloud-status .ghost{background:#eee5fb;color:#59348b;box-shadow:0 5px #d0bbe9}.offline-ready-toast{position:fixed;z-index:10000;top:max(16px,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;border:2px solid #b2e7d4;border-radius:18px;background:#f5fff9;color:#15503b;box-shadow:0 8px 24px #073c3540;box-sizing:border-box;font-size:15px;line-height:1.4;pointer-events:auto}.offline-ready-toast button{flex-shrink:0;width:36px;height:36px;border:0;border-radius:50%;background:#dff5e9;color:#15503b;font-size:24px;cursor:pointer}.offline-ready-toast button:focus-visible{outline:3px solid #7650a5;outline-offset:2px}.privacy-dialog{max-width:720px;width:calc(100% - 28px);max-height:85dvh;border:2px solid #cdbbe7;border-radius:24px;padding:0;color:#194a38;background:#fcfff9}.privacy-dialog::backdrop{background:#163c39aa}.privacy-dialog article{padding:24px}.privacy-dialog h2{font-size:25px}.privacy-dialog h3{font-size:19px;margin:22px 0 8px}.privacy-dialog p{line-height:1.6;font-size:15px}.privacy-close{position:sticky;top:12px;background:#67409a!important;color:#fff!important;box-shadow:0 5px #46266e!important;font-size:15px}.privacy-draft{background:#fff1c4;border-radius:12px;padding:12px;color:#674e15}.privacy-panel p{line-height:1.6}.privacy-actions{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0}.privacy-actions .btn{flex:1 1 180px;font-size:15px;white-space:normal;min-height:48px}.privacy-danger{background:#a42d42!important;color:#fff!important;box-shadow:0 5px #701a2b!important}.privacy-panel form label{display:flex;flex-direction:column;gap:8px;margin-top:16px;font-weight:700}.privacy-panel input{width:100%;min-width:0;min-height:46px;box-sizing:border-box;border:2px solid #b4d9ca;border-radius:12px;padding:10px;font:inherit}.privacy-panel input:focus-visible{outline:3px solid #7650a5;outline-offset:3px}.lab-page{max-width:850px!important;color:#174733;padding-bottom:40px!important}.lab-back{margin-bottom:18px}.lab-header{color:#fff;text-align:center;margin:10px 0 24px}.lab-header small{letter-spacing:1px;font-weight:800;font-size:11px}.lab-header h1{font-size:30px;line-height:1.2;margin:10px 0}.lab-header p{line-height:1.5}.lab-tabs{display:flex;gap:10px;margin-bottom:16px}.lab-tabs button{flex:1;min-height:50px;border:2px solid #fff;border-radius:16px;background:#e0f2ed;color:#285843;font:inherit;font-weight:800;cursor:pointer}.lab-tabs button[aria-pressed=true]{background:#fff0b5;border-color:#edbf4a;color:#68470c}.lab-bench{background:#fffef8;border-radius:26px;padding:24px;box-shadow:0 5px #006b6555}.lab-host{display:flex;align-items:center;gap:14px;margin-bottom:20px}.lab-host img{flex-shrink:0}.lab-host h2{font-size:21px;line-height:1.2;margin:0 0 6px}.lab-host p{font-size:14px;margin:0;line-height:1.4}.lab-total{text-align:center;padding:16px;background:#e5f5ed;border-radius:20px;margin-bottom:16px;display:flex;flex-direction:column}.lab-total strong{font-size:42px;line-height:1.2}.lab-total span{font-size:14px}.lab-block-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lab-column{background:#eff6fb;border:1px solid #ccdae3;border-radius:14px;padding:10px 5px;min-width:0}.lab-column h3{text-align:center;text-transform:capitalize;font-size:14px;margin:0 0 10px}.lab-counter{display:flex;justify-content:center;align-items:center;gap:4px}.lab-counter button,.lab-fraction-controls button{width:44px;min-height:44px;border:1px solid #9abdaf;border-radius:12px;background:#fff;color:#20563f;font:inherit;font-size:22px;font-weight:800;cursor:pointer}.lab-counter output{min-width:18px;text-align:center;font-weight:800}.lab-block-collection{display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:5px;min-height:80px;margin-top:14px}.lab-block{display:inline-block;background:#008666;border:1px solid #005e49;border-radius:3px;width:15px;height:15px}.tens .lab-block{width:12px;height:70px;background:repeating-linear-gradient(to bottom,#117fbb 0,#117fbb 6px,#d1ebfb 6px,#d1ebfb 7px);border-color:#17618c}.hundreds .lab-block{width:48px;height:48px;background-color:#8662b4;background-image:linear-gradient(#e5daf1 1px,transparent 1px),linear-gradient(90deg,#e5daf1 1px,transparent 1px);background-size:10% 10%;border-color:#5d3a88}.lab-exchanges{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.lab-exchanges h3{grid-column:1/-1;font-size:17px;margin:0 0 4px}.lab-exchanges button{background:#f2ebff;border:2px solid #b5a0d5;color:#50327b;border-radius:14px;padding:10px;font:inherit;font-size:14px;min-height:48px;cursor:pointer}.lab-page button:disabled{opacity:.45;cursor:default}.lab-page button:focus-visible{outline:3px solid #8050b5;outline-offset:3px}.lab-message{padding:12px;background:#e6f5ef;border-radius:14px;font-size:14px;line-height:1.5}.lab-bottom-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.lab-bottom-actions .btn{min-height:44px}.lab-invitation{background:#fff0c7;border:1px solid #e7c777;border-radius:16px;padding:16px;margin-top:16px;line-height:1.5}.lab-invitation small{display:block;margin-top:8px}.lab-save-note{text-align:center;color:#fff;font-size:13px;margin:18px 0}.lab-denominators{border:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.lab-denominators legend{text-align:center;font-weight:700;margin-bottom:12px}.lab-denominators button{width:46px;height:44px;border-radius:12px;border:2px solid #baa5d9;background:#fff;color:#543582;font:inherit;font-weight:800;cursor:pointer}.lab-denominators button[aria-pressed=true]{background:#7047a2;color:#fff;border-color:#7047a2}.lab-fraction-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin:20px 0 8px}.lab-fraction-controls strong{font-size:32px}.lab-fraction-description{text-align:center;font-size:15px}.lab-bars-scroll{overflow-x:auto;padding:5px 3px}.lab-bars{width:100%}.lab-fraction-bar{display:grid;grid-template-columns:repeat(var(--parts),minmax(0,1fr));height:80px;border:2px solid #684197;border-radius:8px;overflow:hidden;background:#f0e9f7}.lab-fraction-bar button,.lab-fraction-bar i{border:0;border-right:2px solid #684197;background:transparent;min-width:0;border-radius:0;margin:0;padding:0}.lab-fraction-bar>:last-child{border-right:0}.lab-fraction-bar .painted{background:#8051b3}.lab-fraction-bar button{cursor:pointer}.lab-fraction-bar button:focus-visible{outline-offset:-5px;outline-color:#d7991c}.lab-equivalence{text-align:center;font-weight:800;font-size:21px;margin:14px 0}.lab-comparison{height:54px}.lab-home-card{display:flex;align-items:center;gap:14px;background:#fff6d8;color:#174733;border:2px solid #e5d396;border-radius:22px;padding:18px;margin-top:18px}.lab-home-card h3{margin:0;font-size:20px}.lab-home-card p{margin:5px 0 12px;font-size:14px}.lab-home-card img{flex-shrink:0}@media (max-width:480px){.lab-bench{padding:16px 12px}.lab-header h1{font-size:25px}.lab-counter{flex-wrap:wrap;gap:2px}.lab-counter button{width:36px;min-height:44px}.lab-counter output{min-width:16px}.lab-column{padding:10px 2px}.lab-exchanges button{font-size:13px}.lab-host{gap:10px}.lab-host h2{font-size:19px}.lab-home-card{padding:16px 12px}.lab-home-card h3{font-size:18px}.lab-tabs button{font-size:15px}}.lab-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lab-how{padding:12px;background:#edf6f1;border-radius:14px;font-size:14px;line-height:1.6}.lab-wallet-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lab-wallet-tabs button{display:flex;flex-direction:column;gap:4px;align-items:center;background:#fff8df;color:#624b17;border:2px solid #d3bd81;border-radius:18px;padding:12px 6px;font:inherit;cursor:pointer;min-width:0}.lab-wallet-tabs button[aria-pressed=true]{background:#f0e5ff;border-color:#7047a2;color:#55317d}.lab-wallet-tabs b{font-size:23px}.lab-wallet-tabs span{font-size:12px}.lab-money-comparison{background:#e4f5eb;border-radius:14px;padding:12px;text-align:center;line-height:1.5}.lab-money-kind{display:flex;gap:10px;margin:16px 0}.lab-money-kind button,.lab-group-rounds button{border:2px solid #a9cdbb;border-radius:12px;padding:10px 15px;min-height:44px;font:inherit;background:#f4fff9;color:#20553e;cursor:pointer}.lab-money-kind button[aria-pressed=true]{background:#285f49;color:#fff;border-color:#285f49}.lab-currency-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lab-currency{display:flex;flex-direction:column;align-items:center;gap:10px;background:#f5f7f4;border-radius:14px;padding:12px 4px}.lab-currency-art{display:grid;place-items:center;font-weight:800;font-size:17px}.lab-currency-art.note{min-height:54px;width:88%;border:3px double #6c9375;background:#d7eddb;border-radius:7px;color:#225b39}.lab-currency-art.coin{width:66px;height:66px;border-radius:50%;border:4px double #a77719;background:#fff0bd;color:#6e4b0d}.lab-material-note{display:block;font-size:12px;line-height:1.5;margin:12px 0}.lab-group-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center}.lab-group-settings>div{background:#eff6fb;border-radius:14px;padding:12px 5px}.lab-group-settings b{display:block;margin-bottom:10px}.lab-group-reserve{background:#e2f2fa;border-radius:16px;text-align:center;padding:14px;margin:14px 0}.lab-pebbles{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px;min-height:28px;margin:8px 0}.lab-pebbles .counting-object{width:23px;height:23px}.lab-pebbles span{font-weight:700;font-size:13px}.lab-group-rounds{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.lab-group-rounds button{font-size:14px;flex:1 1 130px}.lab-baskets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lab-baskets>section{min-width:0;background:#fff7e5;border:2px solid #bba277;border-radius:12px 12px 24px 24px;text-align:center;padding:12px 4px}.lab-baskets .lab-pebbles{min-height:55px;align-content:center}.lab-group-reading{background:#e4f5eb;padding:12px;border-radius:14px;line-height:1.5}@media (max-width:600px){.lab-currency-grid,.lab-baskets{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-wallet-tabs b{font-size:20px}}.lab-page,.lab-bench,.lab-bars-scroll,.lab-bars{min-width:0;max-width:100%;box-sizing:border-box}.lab-bars-scroll{overflow-x:visible}.lab-bars,.lab-fraction-bar{width:100%;min-width:0;box-sizing:border-box}.lab-fraction-bar button{min-height:44px}.lab-purpose{color:#fff;text-align:center;line-height:1.5;font-size:14px;margin:0 0 18px}.lab-example{display:block;margin:0 auto 18px;min-height:44px;background:#6940a0!important;color:#fff!important}.lab-group-rounds{gap:6px}.lab-currency{padding-top:8px;padding-bottom:8px}.passport{color:#173e31}.passport-cover,.passport-diploma{padding:24px;border:2px solid #dacba0;border-radius:22px;background:#fff7df;text-align:center}.passport-cover h2{margin:6px 0;font-size:clamp(22px,5vw,30px)}.passport progress{display:block;width:100%;height:12px;margin:10px 0;accent-color:#16815e}.passport-pages{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin:18px 0}.passport-page{padding:20px;border:2px solid #ded5bd;border-radius:18px;background:linear-gradient(100deg,#fffdf4,#fff);text-align:center;box-shadow:0 4px #d5cbb3;min-width:0}.passport-page h3{margin:5px 0 18px}.passport-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:min(100%,210px);min-height:190px;margin:auto;border:3px dashed #8a968e;border-radius:50%;background:#f0f2ee;color:#43584d;font:inherit;cursor:pointer;padding:15px}.passport-stamp.pending .critter{filter:grayscale(1);opacity:.55}.passport-stamp.earned{border:4px double var(--stamp-color);color:var(--stamp-color);background:#fff9df;transform:rotate(-3deg)}.passport-stamp:focus-visible{outline:3px solid #7742af;outline-offset:5px}.passport-stamp span{font-size:13px}.passport-details{margin-top:16px;padding-top:12px;border-top:1px dashed #cbbf9e}.passport-details .btn{max-width:100%;white-space:normal}.album-nav-tabs{flex-wrap:wrap}.album-nav-tabs .album-tab-btn{flex:1 1 220px}@media (max-width:480px){.album-nav-tabs{flex-direction:column;align-items:stretch;gap:8px}.album-nav-tabs .album-tab-btn{flex:0 0 auto;width:100%;max-width:none;min-width:0}.passport-cover,.passport-page{padding:16px}}.my-zoo{background:#fffdf4;border:2px solid #c0e4cd;border-radius:28px;padding:22px;color:#164536}.my-zoo header{text-align:center}.my-zoo h2{margin:4px 0;font-size:28px}.my-zoo header small{font-weight:800;letter-spacing:2px;color:#247b5a}.my-zoo p{line-height:1.5}.zoo-environment{display:grid;gap:6px;font-weight:700;margin:20px 0 14px}.zoo-environment select{width:100%;min-height:48px;border:2px solid #95c5ac;border-radius:14px;background:#fff;padding:10px;color:#164536;font:inherit}.zoo-scene{position:relative;background:var(--zoo-sky);border-radius:24px;overflow:hidden;border:2px solid #b6d6b5}.zoo-landscape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.zoo-places{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px;padding:110px 14px 26px}.zoo-place{display:flex;align-items:center;justify-content:center;width:100%;min-height:92px;background:#fffdf16e;border:2px dashed #468569;border-radius:22px;cursor:pointer;color:#174c35}.zoo-decoration svg{width:90px;height:85px}.zoo-empty{font-size:28px;font-weight:800;line-height:1}.zoo-empty small{display:block;font-size:12px;margin-top:8px}.zoo-friend{min-width:0;text-align:center}.zoo-friend .zoo-place{border-style:solid;background:#fffdf19e}.zoo-greet{border:0;border-radius:14px;background:#235f47;color:#fff;min-height:38px;margin-top:7px;padding:6px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.zoo-message{background:#e6f5ed;border-radius:14px;padding:14px;min-height:50px}.zoo-picker{border:2px solid #bdcfe4;border-radius:20px;background:#fff;padding:14px;margin-bottom:18px}.zoo-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.zoo-picker-heading h3{margin:0;font-size:18px}.zoo-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;max-height:420px;overflow:auto;padding:4px}.zoo-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:2px solid #a8ceba;border-radius:16px;background:#f5fff9;color:#174733;padding:10px;min-height:90px;font:inherit;font-size:13px;cursor:pointer;overflow-wrap:anywhere}.zoo-options button svg{width:66px;height:60px}.zoo-options button:disabled{background:#eef1f4;color:#516174;border-color:#cad3db;cursor:default}.zoo-options small{font-size:12px;line-height:1.4}.my-zoo button:focus-visible,.my-zoo select:focus-visible{outline:3px solid #7045ad;outline-offset:3px}.my-zoo footer{border-top:1px solid #c7ddce;padding-top:16px}.my-zoo footer p{font-size:14px;margin-bottom:0}@media (max-width:480px){.my-zoo{padding:14px}.zoo-options{grid-template-columns:repeat(2,minmax(0,1fr))}.zoo-places{padding:100px 8px 20px;gap:14px 6px}.zoo-place{min-height:88px}.zoo-picker-heading{flex-wrap:wrap}}@keyframes zoo-wave{0%,to{transform:rotate(0)}35%{transform:rotate(-7deg) translateY(-4px)}70%{transform:rotate(6deg)}}.zoo-hello .critter{animation:zoo-wave .7s ease-in-out}@media (prefers-reduced-motion:reduce){.zoo-hello .critter{animation:none}}.zoo-landmark{position:absolute;top:10px;left:calc(50% - 50px);width:100px;height:85px;z-index:1;pointer-events:none}.zoo-landmark svg{width:100%;height:100%}.zoo-available{background:#fff0bf;border:1px solid #d6b665;border-radius:16px;padding:14px;margin:16px 0}.zoo-available p{font-size:13px}.zoo-available .btn{min-height:44px}.adventure-card{display:flex;align-items:center;gap:22px;background:linear-gradient(120deg,#f5fff4,#e0f9ed);border:2px solid #a1e2c6;border-radius:26px;padding:24px;margin:18px 0 12px;box-shadow:0 5px #007f7940;color:#164536}.adventure-companion{flex-shrink:0;align-self:center;background:#c9f5dc;border-radius:50%;padding:12px}.adventure-info{flex:1;min-width:0}.adventure-info>small{font-size:11px;letter-spacing:1.5px;font-weight:800;color:#277254}.adventure-info h2{font-size:25px;line-height:1.2;margin:6px 0 8px}.adventure-info p{margin:0 0 5px;font-weight:700;font-size:15px}.adventure-detail{display:block;font-size:13px;color:#36664e;margin-bottom:15px}.adventure-info .btn{min-height:50px}.home-review-shortcut{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffffed;color:#164536;border-radius:18px;padding:14px 18px;margin:12px 0 16px}.home-review-shortcut small{display:block;margin-top:3px;font-size:13px}.home-review-shortcut .btn{flex-shrink:0;min-height:44px}.home-gift-ready{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff2bd;border:2px solid #ffdc72;color:#704d0b;border-radius:16px;padding:12px 16px;width:100%;font:inherit;font-size:14px;margin:12px 0;cursor:pointer}.home-gift-ready>span{flex:1;text-align:left}.home-sidebar .weekly-gift-card,.home-sidebar .home-activity-strip{margin:0}.home-sidebar{align-content:start}.home .trail-tabs{margin-top:20px}.home .home-layout{margin-top:18px}@media (max-width:600px){.adventure-card{gap:12px;padding:18px 14px;margin-top:14px}.adventure-companion{padding:5px}.adventure-companion .critter{width:60px!important;height:60px!important}.adventure-info h2{font-size:21px}.adventure-info p{font-size:14px}.adventure-info .btn{width:100%;font-size:16px;padding:12px 10px}.home-review-shortcut{padding:12px;gap:10px}.home-review-shortcut b{font-size:14px}.home-review-shortcut .btn{font-size:13px;padding:10px 12px}.home-gift-ready{flex-wrap:wrap}.home-gift-ready b{margin-left:auto}}@media (max-width:360px){.adventure-companion{display:none}.home-review-shortcut{flex-wrap:wrap}.home-review-shortcut .btn{width:100%}}@media (max-width:819px){.home .home-sidebar{display:flex;flex-direction:column;gap:14px;width:100%;position:static}.home-sidebar .quest-card,.home-sidebar .sidebar-album-card,.home-sidebar .parent-shortcut-card{display:none}}.home .weekly-gift-compact{padding:14px 16px;gap:7px;border-radius:20px;margin:14px 0;box-shadow:0 3px #007f7926}.weekly-gift-compact .sidebar-card-header{margin:0;gap:8px}.weekly-gift-compact .sidebar-card-header .sch-icon{font-size:22px}.weekly-gift-count{margin-left:auto;background:#fff0b2;color:#67430c;border-radius:12px;padding:2px 9px;font-size:13px;font-weight:800;white-space:nowrap}.weekly-gift-compact>small{font-size:13px;line-height:1.4}.weekly-compact-progress{display:block;width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e1e9e6;accent-color:#008764}.weekly-compact-progress::-webkit-progress-bar{background:#e1e9e6;border-radius:8px}.weekly-compact-progress::-webkit-progress-value{background:#008764;border-radius:8px}.weekly-compact-progress::-moz-progress-bar{background:#008764;border-radius:8px}.weekly-gift-compact .weekly-gift-result{margin:0;font-size:13px;gap:8px}.weekly-gift-compact .btn{align-self:flex-end;min-height:44px}.home-review-shortcut .btn.ghost{background:#6940a0;color:#fff;box-shadow:0 4px #482772;border:2px solid #6940a0}.home-review-shortcut .btn.ghost:hover{background:#58318b;border-color:#58318b}.home-review-shortcut .btn.ghost:focus-visible{outline:3px solid #bb8418;outline-offset:4px}@media (max-width:600px){.adventure-info h2{font-size:20px}.adventure-card{padding-top:14px;padding-bottom:14px}.home .weekly-gift-compact{padding:11px 14px;gap:5px}.home-review-shortcut{margin-bottom:12px}}.lesson-celebration{width:100%;max-width:540px;padding:20px;border-radius:24px;background:#f4fff6;border:2px solid #c4e8d6;text-align:center}.lesson-celebration p{margin:10px 0}.lesson-celebration blockquote{margin:12px 0;font-style:italic}.ceremony-companion{animation:ceremony-hop .65s ease-out}.ceremony-steps{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:12px}.ceremony-steps span{display:grid;place-items:center;width:36px;height:36px;border:2px solid #78998a;border-radius:50%}.ceremony-steps .done{background:#08795b;color:#fff;border-color:#08795b}.ceremony-stamp{width:min(100%,220px);min-height:210px;margin:auto;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:5px double var(--stamp-ink);color:var(--stamp-ink);border-radius:50%;background:#fff6d5;transform:rotate(-4deg);animation:ceremony-stamp .65s ease-out}.ceremony-friends{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.ceremony-friends>div{display:flex;flex-direction:column;align-items:center;animation:ceremony-hop .7s ease-out}.ceremony-friends>div:nth-child(2n){animation-delay:.1s}.ceremony-friends img{max-width:100%;object-fit:contain}.ceremony-scenery{display:grid}.ceremony-scenery>div{grid-area:1/1;min-width:0}.ceremony-scenery-after{animation:ceremony-reveal 1.2s ease-out}.ceremony-new-step{animation:ceremony-hop .65s ease-out}@keyframes ceremony-hop{0%{transform:translateY(0)}40%{transform:translateY(-14px) rotate(-4deg)}70%{transform:translateY(0) rotate(2deg)}to{transform:none}}@keyframes ceremony-stamp{0%{opacity:0;transform:scale(1.25) rotate(-12deg)}70%{opacity:1;transform:scale(.97) rotate(-4deg)}to{transform:rotate(-4deg)}}@keyframes ceremony-reveal{0%,25%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.ceremony-companion,.ceremony-stamp,.ceremony-friends>div,.ceremony-scenery-after,.ceremony-new-step{animation:none}}.logic-activity{text-align:center;width:100%;margin:12px 0}.logic-activity p{line-height:1.6}.logic-pattern{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:16px 8px;background:#f0f7eb;border-radius:18px}.logic-pattern>span,.logic-pattern>b{display:grid;place-items:center;width:42px;height:42px;background:#fff;border-radius:10px;border:1px solid #a5c1aa}.logic-pattern .counting-object{width:30px;height:30px}.logic-pattern>b{font-size:28px;color:#6b4198}.logic-options{display:flex;justify-content:center;gap:14px;margin:18px 0}.logic-options button{width:64px;height:64px;border:2px solid #a3bfac;background:#fff;border-radius:16px;cursor:pointer}.logic-options button[aria-pressed=true]{background:#e7d9fc;border-color:#7045a5}.logic-options .counting-object{width:40px;height:40px}.logic-counter{display:flex;justify-content:center;align-items:center;gap:20px;margin:16px 0}.logic-counter button{width:48px;height:48px;background:#fff;border:2px solid #a4c8b4;border-radius:13px;font:inherit;font-size:24px;color:#164733}.logic-counter output{font-size:28px;font-weight:800;min-width:40px}.logic-equality{font-size:26px;font-weight:800;margin:16px 0}.logic-equality strong{display:inline-block;min-width:48px;background:#f0e6ff;border:2px dashed #7954a5;border-radius:10px;padding:5px}.logic-scale{max-width:320px;margin:auto}.logic-scale svg{width:100%;height:auto;overflow:visible}.logic-scale text{font-size:24px;font-weight:800;fill:#28543e}.logic-scale g{transition:transform .25s}.logic-target{display:block;background:#fff0bd;border-radius:14px;padding:12px;font-size:24px}.logic-path-inputs{display:grid;grid-template-columns:1fr .8fr 1fr;gap:8px;margin-top:16px}.logic-path-inputs label{font-size:12px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}.logic-path-inputs select{min-width:0;width:100%;min-height:48px;text-align:center;font:inherit;font-size:20px;background:#fff;border:2px solid #bba5d6;border-radius:12px;color:#164733}.logic-activity .pad-continue-btn{margin:16px auto!important}.logic-activity .manip-reset-button{display:block;margin:14px auto;background:#6940a0;color:#fff;box-shadow:0 4px #482772}.logic-activity button:focus-visible,.logic-activity select:focus-visible{outline:3px solid #7045a5;outline-offset:3px}.logic-activity button:disabled{opacity:.45;cursor:default}.logic-activity .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media (prefers-reduced-motion:reduce){.logic-scale g{transition:none}}.logic-estimate{display:flex;flex-direction:column;align-items:center;gap:10px;font-weight:700}.logic-estimate input{width:110px;min-height:50px;text-align:center;border:2px solid #7954a5;border-radius:12px;font:inherit;font-size:26px;background:#fff;color:#174733}.startup-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:24px;overflow:auto;background:radial-gradient(ellipse at 50% 35%,#fff,#edfff8 52%,#cceee7);color:#143d32;opacity:1;transition:opacity .16s ease-out}.startup-leaving{opacity:0;pointer-events:none}.startup-content{width:min(100%,420px);text-align:center}.startup-content h1{margin:22px 0 8px;font-size:clamp(25px,6vw,34px);line-height:1.2}.startup-portrait{position:relative;display:grid;place-items:center;width:184px;height:184px;margin:auto;border-radius:50%;background:#d4fae8;box-shadow:0 0 0 12px #ffffff80,0 14px 35px #007c5420}.startup-portrait img{object-fit:contain;animation:startup-arrive .3s ease-out both,startup-float 2.6s .3s ease-in-out infinite;transform-origin:50% 85%}.startup-spark{position:absolute;width:13px;height:13px;border-radius:4px;background:#f3bf40;transform:rotate(45deg)}.startup-spark-one{top:18px;right:4px}.startup-spark-two{bottom:21px;left:-5px;width:9px;height:9px;background:#9374cf}.startup-greeting{margin:0 auto;max-width:360px;font-size:19px;line-height:1.5}.startup-loading{display:grid;gap:8px;margin-top:24px;color:#396554}.startup-dots{display:flex;justify-content:center;gap:7px}.startup-dots i{width:7px;height:7px;background:#168a6e;border-radius:50%;animation:startup-dot 1.2s ease-in-out infinite}.startup-dots i:nth-child(2){animation-delay:.15s}.startup-dots i:nth-child(3){animation-delay:.3s}@keyframes startup-arrive{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@keyframes startup-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}@keyframes startup-dot{0%,70%,to{opacity:.4}35%{opacity:1}}@media (prefers-reduced-motion: reduce){.startup-portrait img,.startup-dots i{animation:none}.startup-screen{transition:none}}:root{--ink: #14382c;--muted: #416b5c;--bg1: #059669;--bg2: #0284c7;--card: #ffffff;--purple: #059669;--radius: 22px;font-family:"Baloo 2",Nunito,ui-rounded,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:linear-gradient(160deg,var(--bg1),var(--bg2)) fixed;overscroll-behavior:none;user-select:none;-webkit-user-select:none}button{font:inherit;color:inherit;cursor:pointer;border:0;touch-action:manipulation}button:disabled{cursor:not-allowed}input{font:inherit}h1,h2,h3,h4{margin:0 0 6px;line-height:1.1;text-wrap:balance}h1{font-size:clamp(26px,5.5vw,40px)}h2{font-size:24px}h3{font-size:19px;margin-top:22px}p,.lead,.muted,.problem-text,.hint-cap,.note,.placement-banner b,.placement-banner small,.consent span,.onb-title-group p{text-wrap:balance}.muted{color:var(--muted);margin:0 0 6px}.screen{min-height:100%;max-width:760px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px 24px}.star{display:inline-block;filter:drop-shadow(0 3px 0 rgba(0,0,0,.12))}.star-twinkle{animation:twinkle 2.4s ease-in-out infinite}@keyframes twinkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(6deg)}}.star-pop{animation:starpop .7s cubic-bezier(.2,1.6,.4,1) both,twinkle 2.4s .7s ease-in-out infinite}@keyframes starpop{0%{transform:scale(0) rotate(-200deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.stars-row{display:inline-flex;gap:2px}.btn{background:var(--purple);color:#fff;padding:12px 22px;border-radius:999px;font-weight:800;font-size:18px;box-shadow:0 5px #047857;transition:transform .08s,box-shadow .08s,background .15s,opacity .15s}.btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #047857}.btn:disabled{background:#cbd5e1!important;color:#64748b!important;box-shadow:0 4px #94a3b8!important;cursor:not-allowed;transform:none!important;opacity:1!important}.btn.big{padding:16px 34px;font-size:22px}.btn.ghost{background:#fff;color:var(--purple);box-shadow:0 5px #a7f3d0}.btn.wa{background:#25d366;box-shadow:0 5px #17a14c}.btn.danger{background:#ff6b6b;box-shadow:0 5px #d64545}.actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:18px}.actions.row{flex-direction:row;flex-wrap:wrap;justify-content:center}.icon-btn{background:#fffffff2;width:44px;height:44px;border-radius:50%;font-size:20px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0;box-shadow:0 3px 6px #00000014;border:2px solid #ffffff;transition:transform .15s ease,background .15s ease;flex-shrink:0}.icon-btn:hover{background:#fff;transform:scale(1.05)}.icon-btn:active{transform:scale(.95)}.pill{background:#ffffffe6;border-radius:999px;padding:4px 12px;font-weight:800}.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:#fff}.welcome .muted{color:#fff;opacity:.95}.welcome h1{text-shadow:0 3px 0 rgba(0,0,0,.15)}.hero-star{margin-bottom:4px}.field{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;max-width:420px;margin:8px 0;font-weight:700}.welcome .field span{color:#fff}.field input{padding:12px 16px;border-radius:16px;border:3px solid #fff;font-size:20px;color:var(--ink);background:#fff;outline:none}.field input:focus{border-color:#ffd93d}.avatar-pick{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.avatar-pick button{width:66px;height:66px;border-radius:20px;font-size:38px;background:#ffffff8c}.avatar-pick button.sel{background:#fff;outline:4px solid #ffd93d;transform:scale(1.08)}.shell{height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.carousel-track{display:flex;flex:1;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{flex:0 0 100%;width:100%;min-width:100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always}.content{overflow-y:auto;overflow-x:hidden;padding:max(14px,env(safe-area-inset-top)) 14px max(74px,calc(env(safe-area-inset-bottom) + 68px));box-sizing:border-box}.content>*{max-width:760px;margin-left:auto;margin-right:auto}.tabbar{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:calc(100% - 24px);max-width:390px;z-index:90;display:flex;background:#fffffff2;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:999px;border:1.5px solid rgba(255,255,255,.85);padding:4px 5px;gap:4px;box-shadow:0 12px 28px -4px #04382438,0 3px 10px #0000000f}.tabbar button{flex:1;background:transparent;border:none;padding:4px 8px 3px;border-radius:999px;font-weight:800;font-size:11.5px;color:#416b5c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);touch-action:manipulation;outline:none}.tabbar button span{display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.tabbar button:hover:not(.sel){background:#f1f5f9cc;color:#14382c}.tabbar button:active{transform:scale(.95)}.tabbar button.sel{background:#d1fae5;color:#047857;box-shadow:0 2px 5px #05966929}.tabbar button.sel span{transform:translateY(-1px) scale(1.08)}.hud{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:var(--radius);padding:12px 14px;box-shadow:0 5px #00000014}.hud-avatar{font-size:44px;width:64px;height:64px;display:grid;place-items:center;background:#d1fae5;border-radius:50%}.hud-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.hud-info b{font-size:20px}.hud-info small{color:var(--muted);font-weight:700}.xpbar{height:12px;background:#e2e8f0;border-radius:99px;overflow:hidden}.xpbar div{height:100%;background:linear-gradient(90deg,#10b981,#f59e0b);border-radius:99px;transition:width .6s}.hud-stats{display:grid;grid-template-columns:22px auto;gap:4px 6px;align-items:center;font-weight:800;font-size:20px}.stat-ico{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.stat-ico .app-icon{--icon-size: 22px;margin:0!important}.stat-num{font-variant-numeric:tabular-nums;line-height:1}.stat{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:20px}.streak-flame-btn{display:inline-flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.34,1.56,.64,1);position:relative}.streak-flame-btn.is-unlit{filter:grayscale(1) opacity(.35);transform:scale(.92)}.streak-flame-btn.is-lit{filter:drop-shadow(0 0 6px rgba(249,115,22,.75));animation:flame-burn 1.8s ease-in-out infinite alternate}@keyframes flame-burn{0%{transform:scale(1) rotate(-2deg);filter:drop-shadow(0 0 5px rgba(249,115,22,.6))}to{transform:scale(1.14) rotate(2deg);filter:drop-shadow(0 0 10px rgba(234,88,12,.9))}}.streak-unlit-num{color:#94a3b8!important;font-weight:700;transition:color .25s ease}.streak-lit-num{color:#ea580c!important;font-weight:800;text-shadow:0 1px 2px rgba(234,88,12,.25);transition:color .25s ease}.trail-tabs{display:flex;gap:10px;overflow-x:auto;padding:8px 4px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.trail-tabs::-webkit-scrollbar{display:none}.trail-card{flex:0 0 auto;width:102px;min-height:122px;background:#fff;border-radius:20px;padding:10px 6px 8px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:6px;border:2px solid #e2e8f0;box-shadow:0 4px #cbd5e1,0 6px 14px #04382414;transition:all .2s cubic-bezier(.34,1.56,.64,1);cursor:pointer;touch-action:manipulation;outline:none}.trail-card:hover:not(.sel){transform:translateY(-2px);box-shadow:0 6px #cbd5e1,0 8px 18px #0438241f}.trail-card:active{transform:translateY(2px);box-shadow:0 2px #cbd5e1}.trail-card.sel{border-color:var(--tc);transform:translateY(-4px);box-shadow:0 6px 0 var(--tcd, #047857),0 12px 24px #0438242e}.tc-icon-bubble{width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--tc) 14%,#ffffff);border:1.5px solid color-mix(in srgb,var(--tc) 28%,#ffffff);display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.tc-icon-bubble .app-icon{margin:0!important;--icon-size: 22px}.trail-card.sel .tc-icon-bubble{transform:scale(1.08);background:color-mix(in srgb,var(--tc) 22%,#ffffff);border-color:var(--tc);box-shadow:0 3px 8px color-mix(in srgb,var(--tc) 35%,transparent)}.tc-name{font-size:13px;font-weight:800;color:var(--ink);line-height:1.15;text-align:center;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:94px}.trail-card.sel .tc-name{color:var(--tcd, var(--tc))}.tc-progress{font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#64748b;letter-spacing:.2px;transition:all .2s ease;line-height:1.2}.tc-progress.has-prog{background:#d1fae5;color:#047857}.tc-progress.complete{background:#fef08a;color:#854d0e}.path{margin-top:10px;background:#fff;border-radius:28px;padding:18px 14px 24px;box-shadow:0 16px 36px -8px #04382424,0 4px 12px #0000000a;position:relative;max-width:520px;margin-left:auto;margin-right:auto;width:100%}.path-header{border-bottom:2px dashed #e2e8f0;padding-bottom:12px;margin-bottom:16px}.path-title-wrap{display:flex;align-items:center;justify-content:space-between}.path-title-wrap h2{color:var(--cd);margin:0;font-size:22px;font-weight:800;display:inline-flex;align-items:center;gap:8px}.path-stars-pill{display:inline-flex;align-items:center;gap:4px;background:#fef9c3;color:#854d0e;font-size:13px;font-weight:800;padding:4px 10px;border-radius:999px;box-shadow:0 2px 4px #854d0e1a}.path-nodes-list{display:flex;flex-direction:column;gap:44px;position:relative;padding:32px 0 14px}.node-row{display:flex;align-items:center;gap:16px;position:relative}.node-row.pos0{padding-left:8px}.node-row.pos1{padding-left:48px}.node-row.pos2{padding-left:88px}.node-row.pos3{padding-left:48px}.node-col{position:relative;display:flex;flex-direction:column;align-items:center;flex:0 0 auto}.node-walker{position:absolute;top:-46px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:10;pointer-events:none;animation:walker-bounce 2s ease-in-out infinite}.walker-bubble{background:#14382c;color:#fff;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 8px #0003;margin-bottom:2px;position:relative}.walker-bubble:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #14382c}.walker-avatar{filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}@keyframes walker-bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}.node{width:76px;height:76px;border-radius:50%;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 80%,#fff),var(--c));color:#fff;font-size:32px;font-weight:800;box-shadow:0 7px 0 var(--cd),0 8px 16px #04382426,inset 0 3px #fff6;flex:0 0 auto;display:grid;place-items:center;position:relative;transition:transform .12s,box-shadow .12s;border:none;cursor:pointer;z-index:2}.node:active:not(:disabled){transform:translateY(5px);box-shadow:0 2px 0 var(--cd)!important}.node.locked{background:#e2e8f0;box-shadow:0 7px #cbd5e1,inset 0 2px #fff9;color:#94a3b8;cursor:not-allowed}.node.current{animation:pulse-ring 1.8s ease-in-out infinite}@keyframes pulse-ring{0%,to{box-shadow:0 7px 0 var(--cd),0 0 color-mix(in srgb,var(--c) 40%,transparent)}50%{box-shadow:0 7px 0 var(--cd),0 0 0 10px color-mix(in srgb,var(--c) 25%,transparent),0 10px 20px #04382433}}.node.done{background:linear-gradient(180deg,color-mix(in srgb,var(--cd) 65%,#fff),var(--cd))}.node-crown-badge{position:absolute;top:-4px;right:-4px;font-size:14px;background:#fef08a;border:1.5px solid #eab308;border-radius:99px;padding:1px 3px;box-shadow:0 2px 4px #0003;line-height:1}.node-road-svg{position:absolute;top:0;left:0;overflow:visible;z-index:1;pointer-events:none}.road-path{fill:none;stroke:#cbd5e1;stroke-width:6;stroke-dasharray:8 8;stroke-linecap:round;transition:stroke .3s ease}.road-path.active{stroke:var(--c);filter:drop-shadow(0 2px 4px color-mix(in srgb,var(--c) 40%,transparent))}.node-label{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:16px;padding:8px 14px;border:2px solid #f1f5f9;box-shadow:0 3px 10px #0438240d;transition:all .2s ease;min-width:130px}.node-label.is-current{border-color:color-mix(in srgb,var(--c) 40%,#ffffff);box-shadow:0 6px 16px color-mix(in srgb,var(--c) 15%,transparent)}.node-title{font-size:16px;font-weight:800;color:var(--ink);line-height:1.15}.node-locked-text{color:#94a3b8;font-weight:700;font-size:12.5px}.lesson{display:flex;flex-direction:column;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 35%,#fff),#fff 75%);position:relative;overflow-x:hidden;min-height:100dvh;box-sizing:border-box}body:has(.lesson){background:#f8fafc}.lesson-top{display:flex;align-items:center;gap:12px;width:100%;max-width:500px;margin:0 auto 10px}.progress{flex:1;height:18px;background:#ffffffd9;border-radius:99px;overflow:hidden;border:2.5px solid #ffffff;box-shadow:inset 0 2px 4px #00000014,0 2px 6px #0000000a}.progress div{height:100%;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 75%,#ffffff));border-radius:99px;transition:width .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 10px #00000026}.lesson-board{width:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;flex:1;justify-content:space-between;gap:16px;position:relative}@media (min-height: 680px) and (min-width: 480px){.lesson-board{justify-content:center;gap:20px}}.lesson-main{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.mascot-stage{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:-16px;z-index:3}.mascot-stage .critter{filter:drop-shadow(0 10px 18px rgba(0,0,0,.18));transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.mascot-reaction-bubble{position:absolute;top:-6px;right:calc(50% - 66px);background:#fff;border-radius:999px;width:44px;height:44px;display:grid;place-items:center;box-shadow:0 6px 18px #00000029;animation:reaction-burst .38s cubic-bezier(.34,1.56,.64,1);z-index:4}.mascot-reaction-bubble.right{border:2.5px solid #10b981;background:linear-gradient(135deg,#fff 30%,#ecfdf5);box-shadow:0 6px 20px #10b98166}.mascot-reaction-bubble.retry{border:2.5px solid #f59e0b;background:linear-gradient(135deg,#fff 30%,#fffbeb);box-shadow:0 6px 20px #f59e0b59}.mascot-reaction-bubble.reveal{border:2.5px solid #8b5cf6;background:linear-gradient(135deg,#fff 30%,#f5f3ff);box-shadow:0 6px 20px #8b5cf659}@keyframes reaction-burst{0%{transform:scale(0) rotate(-24deg);opacity:0}70%{transform:scale(1.22) rotate(6deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.mascot-reaction-icon{font-size:24px;line-height:1;display:grid;place-items:center}.mascot-reaction-bubble .star{display:block}.bounce{animation:bounce .6s}.shake{animation:shake .5s}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-22px) scale(1.1)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}.question-card{background:#fff;border-radius:30px;padding:24px 22px 20px;width:100%;box-sizing:border-box;text-align:center;box-shadow:0 10px #0000000d,0 20px 38px -8px #04382424;border:3px solid color-mix(in srgb,var(--c) 40%,#e2e8f0);transition:transform .2s cubic-bezier(.34,1.56,.64,1);position:relative}.question-card.problem{padding:22px}.equation{margin:4px 0 14px;font-size:clamp(48px,12vw,76px);font-weight:900;letter-spacing:1px;color:var(--ink);line-height:1.1;display:flex;align-items:center;justify-content:center;gap:8px}.equation .eq{color:var(--c)}.problem-text{margin:0 0 14px;font-size:clamp(20px,4.8vw,26px);font-weight:800;line-height:1.3;text-align:left;color:var(--ink)}.answer-box{display:inline-flex;align-items:center;justify-content:center;min-width:140px;min-height:70px;padding:2px 24px;border-radius:22px;border:3.5px dashed var(--c);font-size:48px;font-weight:900;color:var(--c);background:color-mix(in srgb,var(--c) 7%,#ffffff);box-shadow:inset 0 2px 8px #0000000a;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.answer-box.ok{background:#ecfdf5;border:3.5px solid #10b981;color:#047857;box-shadow:0 0 0 6px #10b98133;animation:answer-pop .5s cubic-bezier(.34,1.56,.64,1)}.answer-box.bad{background:#fef2f2;border:3.5px solid #ef4444;color:#dc2626;box-shadow:0 0 0 6px #ef444433;animation:shake .45s ease-in-out}@keyframes answer-pop{0%{transform:scale(.9)}50%{transform:scale(1.08)}to{transform:scale(1)}}.feedback{min-height:32px;font-size:22px;font-weight:900;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.fb-right{color:#047857}.fb-retry{color:#d97706}.fb-reveal{color:var(--ink)}.hint-text{background:#fff8d6;border-radius:16px;padding:10px 14px;margin:0;font-weight:700;font-size:18px}.hint-box{background:#fff;border-radius:18px;padding:10px 14px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;border:3px dashed #ffd93d}.hint-box.col{flex-direction:column;gap:6px}.hint-op{font-size:30px;font-weight:800}.hint-cap{width:100%;text-align:center;margin:2px 0 0;font-weight:700;color:var(--muted)}.dotgroup{display:inline-flex;gap:5px;flex-wrap:wrap;justify-content:center}.dot{width:22px;height:22px;border-radius:50%;display:inline-block;position:relative}.dot.crossed{opacity:.35}.dot.crossed:after{content:"✕";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#000;font-size:16px}.pad-wrap{width:100%}.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:440px;margin:0 auto}.pad button{background:#fff;border-radius:22px;font-size:32px;font-weight:900;color:var(--ink);padding:13px 0;border:2px solid #e2e8f0;box-shadow:0 6px #cbd5e1,0 8px 16px #0000000a;display:grid;place-items:center;transition:all .1s ease;user-select:none;-webkit-user-select:none;outline:none}.pad button:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.pad button:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px #cbd5e1}.pad .util{background:#fef2f2;border-color:#fecaca;color:#dc2626;font-size:24px;box-shadow:0 6px #fca5a5}.pad .util:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px #fca5a5}.pad .go{background:#10b981;border-color:#059669;color:#fff;box-shadow:0 6px #047857,0 8px 18px #05966940;font-size:24px;font-weight:900;letter-spacing:.5px}.pad .go:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px #047857}.pad .go:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:0 6px #047857!important}.pad-continue-btn{display:block;margin:0 auto;min-width:200px}.lesson-intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#043824a6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;cursor:pointer;animation:intro-fade-in .2s ease-out}@keyframes intro-fade-in{0%{opacity:0}to{opacity:1}}.lesson-intro-card{background:#fff;border-radius:34px;padding:28px 24px 22px;width:100%;max-width:360px;text-align:center;box-shadow:0 24px 60px #00000059;border:3.5px solid #a7f3d0;display:flex;flex-direction:column;align-items:center;gap:12px;animation:card-pop .35s cubic-bezier(.34,1.56,.64,1)}@keyframes card-pop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.lic-critter-wrap{animation:mascot-wiggle 1.2s ease-in-out infinite}@keyframes mascot-wiggle{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(-6deg)}75%{transform:translateY(-4px) rotate(6deg)}}.lic-meta{display:flex;flex-direction:column;align-items:center;gap:4px}.lic-trail-badge{color:#fff;font-size:13px;font-weight:900;padding:4px 14px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 3px 6px #0000001f}.lic-meta h2{font-size:26px;font-weight:900;color:var(--ink);margin:0}.lic-countdown-display{min-height:80px;display:flex;align-items:center;justify-content:center;width:100%}.lic-word.ready{font-size:32px;font-weight:900;color:#059669;animation:digit-pop .38s cubic-bezier(.34,1.56,.64,1)}.lic-digit{font-size:72px;font-weight:900;line-height:1;color:#ea580c;animation:digit-pop .36s cubic-bezier(.34,1.56,.64,1);text-shadow:0 4px 10px rgba(234,88,12,.25)}.lic-digit.digit-3{color:#f59e0b}.lic-digit.digit-2{color:#ea580c}.lic-digit.digit-1{color:#10b981}.lic-word.go{font-size:38px;font-weight:900;color:#059669;letter-spacing:1px;animation:digit-pop .4s cubic-bezier(.34,1.56,.64,1);text-shadow:0 4px 14px rgba(5,150,105,.35)}@keyframes digit-pop{0%{transform:scale(.3) rotate(-15deg);opacity:0}70%{transform:scale(1.2) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.lic-tap-hint{font-size:13px;font-weight:700;color:#94a3b8;margin-top:4px}.lesson-victory-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#043824b8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:intro-fade-in .3s ease-out}.lesson-victory-card{background:#fff;border-radius:36px;padding:30px 24px 26px;width:100%;max-width:380px;text-align:center;box-shadow:0 28px 70px #0006;border:4px solid #6ee7b7;display:flex;flex-direction:column;align-items:center;gap:10px;animation:card-pop .4s cubic-bezier(.34,1.56,.64,1)}.lvc-stars-burst{display:flex;align-items:flex-end;justify-content:center;gap:8px;margin-bottom:2px}.lvc-mascot-celebrate{animation:victory-jump .8s ease-in-out infinite alternate}@keyframes victory-jump{0%{transform:translateY(0) scale(1)}to{transform:translateY(-16px) scale(1.08)}}.lesson-victory-card h2{font-size:30px;font-weight:900;color:#047857;margin:6px 0 0}.lvc-desc{font-size:16px;font-weight:800;color:#334155;margin:0}.lvc-loading-bar{width:80%;height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:10px}.lvc-loading-fill{height:100%;width:100%;background:linear-gradient(90deg,#10b981,#34d399,#facc15);border-radius:999px;animation:load-strip 1.2s ease-in-out forwards;transform-origin:left}@keyframes load-strip{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.lvc-calc-text{font-size:13px;font-weight:700;color:#64748b}.screen.result{animation:result-fade-slide .45s cubic-bezier(.34,1.56,.64,1)}@keyframes result-fade-slide{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.result{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 45%,#fff),#fff 80%);position:relative;overflow-x:hidden}.big-stars{display:flex;align-items:flex-end;justify-content:center;gap:4px;margin:14px 0 6px;min-height:130px}.big-star.mid{transform:translateY(-14px)}.big-stars .star{filter:drop-shadow(0 6px 0 rgba(0,0,0,.1))}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0}.chip{background:#fff;border-radius:99px;padding:6px 16px;font-weight:800;box-shadow:0 3px #00000014}.chip.gold{background:#ffe58a}.chip.green{background:#c8f7de}.gift{background:#fff;border-radius:26px;padding:14px 22px;margin-top:10px;box-shadow:0 6px #0000001a;display:flex;flex-direction:column;align-items:center;gap:4px;max-width:340px}.gift-box{font-size:72px;animation:wiggle 1s ease-in-out infinite;display:inline-block}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg) scale(1.05)}75%{transform:rotate(12deg) scale(1.05)}}.gift-sticker{font-size:84px;animation:starpop .8s cubic-bezier(.2,1.6,.4,1) both;display:inline-block}.gift-cap{font-weight:800}.newbadges{display:flex;flex-direction:column;gap:8px;margin-top:10px}.badge-pop{display:flex;gap:12px;align-items:center;background:#fff;border-radius:20px;padding:10px 16px;text-align:left;animation:slideup .5s both;box-shadow:0 4px #00000014}.badge-pop span{font-size:38px}.badge-pop div{display:flex;flex-direction:column}.badge-pop small{color:var(--muted)}@keyframes slideup{0%{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:5}.confetti i{position:absolute;top:-20px;border-radius:2px;animation:fall linear infinite}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}.album-page{display:flex;flex-direction:column;gap:18px;width:100%;max-width:960px;margin:0 auto}.album-showcase{background:linear-gradient(135deg,#fff 65%,#ecfdf5);border-radius:28px;padding:22px 24px;box-shadow:0 16px 36px -8px #04382429,0 4px 10px #0000000a;border:2.5px solid #a7f3d0;display:flex;align-items:center;gap:22px}@media (max-width: 540px){.album-showcase{flex-direction:column;text-align:center;padding:20px 16px;gap:14px}}.showcase-avatar-col{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.showcase-avatar-glow{background:#d1fae5;border-radius:50%;padding:8px;box-shadow:0 6px 18px #10b98140;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.showcase-avatar-glow.just-swapped{animation:pop-bounce .6s cubic-bezier(.34,1.56,.64,1)}@keyframes pop-bounce{0%{transform:scale(.8) rotate(-8deg)}50%{transform:scale(1.2) rotate(6deg)}to{transform:scale(1) rotate(0)}}.showcase-in-use-pill{background:#fef08a;color:#854d0e;font-size:11px;font-weight:800;padding:2px 10px;border-radius:999px;box-shadow:0 2px 4px #00000014;letter-spacing:.2px}.showcase-info-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.showcase-tag{color:#059669;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.showcase-name{font-size:24px;font-weight:900;color:var(--ink);margin:0;line-height:1.15}.showcase-hint{color:#64748b;font-size:13px;font-weight:600;margin:2px 0 8px}.showcase-prog-wrap{display:flex;flex-direction:column;gap:5px;background:#ffffffb3;padding:8px 12px;border-radius:14px;border:1px solid #d1fae5}.showcase-prog-text{display:flex;justify-content:space-between;font-size:12.5px;font-weight:800;color:var(--ink)}.showcase-bar{height:8px;background:#e2e8f0;border-radius:99px;overflow:hidden}.showcase-bar div{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:99px;transition:width .5s ease}.album-nav-tabs{display:flex;gap:10px;align-items:center;justify-content:center;margin:2px 0 4px}.album-tab-btn{flex:1;max-width:320px;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.6);padding:11px 16px;border-radius:20px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:14px;color:#475569;box-shadow:0 4px 12px #04382414;transition:all .2s cubic-bezier(.34,1.56,.64,1);cursor:pointer}.album-tab-btn:hover:not(.sel){background:#fff;transform:translateY(-2px);color:var(--ink)}.album-tab-btn.sel{background:#fff;color:#047857;border-color:#10b981;box-shadow:0 5px #059669,0 8px 20px #04382429;transform:translateY(-2px)}.atb-icon{font-size:18px;line-height:1}.atb-count{background:#f1f5f9;color:#64748b;font-size:11.5px;padding:2px 8px;border-radius:999px;font-weight:800}.album-tab-btn.sel .atb-count{background:#d1fae5;color:#047857}.album-section{background:#fff;border-radius:28px;padding:20px 18px 26px;box-shadow:0 16px 36px -8px #04382424,0 4px 12px #0000000a}.album-section-header{display:flex;flex-direction:column;gap:2px;border-bottom:2px dashed #e2e8f0;padding-bottom:12px;margin-bottom:18px}.album-section-header h3{margin:0;font-size:20px;font-weight:900;color:var(--ink);display:flex;align-items:center;gap:8px}.section-note{color:#64748b;font-size:13px;font-weight:700}.sticker-grid-v2{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px}@media (min-width: 640px){.sticker-grid-v2{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:16px}}.sticker-card{aspect-ratio:.94;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px 6px;position:relative;transition:all .2s cubic-bezier(.34,1.56,.64,1);outline:none;text-align:center}.sticker-card.got{background:#fff;border:2.5px solid #e2e8f0;box-shadow:0 5px #cbd5e1,0 6px 14px #0000000f;cursor:pointer}.sticker-card.got:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 8px #cbd5e1,0 12px 22px #0000001a;border-color:#94a3b8}.sticker-card.got:active{transform:translateY(2px);box-shadow:0 2px #cbd5e1}.sticker-card.got.is-active{border-color:#f59e0b;background:linear-gradient(180deg,#fff 75%,#fef3c7);box-shadow:0 6px #d97706,0 10px 22px #f59e0b4d}.st-active-star{position:absolute;top:-6px;right:-6px;font-size:14px;background:#fef08a;border:1.5px solid #eab308;border-radius:99px;padding:1px 4px;box-shadow:0 2px 4px #00000026;line-height:1;z-index:2}.st-critter-wrap{flex:1;display:grid;place-items:center;filter:drop-shadow(0 3px 6px rgba(0,0,0,.18))}.st-name{font-size:11.5px;font-weight:800;color:var(--ink);line-height:1.15;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sticker-card.locked{background:#f1f5f9;border:2px dashed #cbd5e1;opacity:.85;-webkit-user-select:none;user-select:none;cursor:default}.sticker-card.locked:hover{background:#e2e8f0}.st-num{font-size:10px;font-weight:900;color:#94a3b8;align-self:flex-start;margin-left:2px}.st-mystery-wrap{flex:1;display:grid;place-items:center}.st-mystery-lock{font-size:22px;filter:grayscale(1) opacity(.5)}.st-locked-text{font-size:10px;font-weight:800;color:#94a3b8;letter-spacing:.3px;text-transform:uppercase}.badge-grid-v2{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.badge-card{border-radius:22px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px;transition:all .2s ease}.badge-card.got{background:#fff;border:2px solid #bbf7d0;box-shadow:0 5px #86efac,0 8px 18px #04382414}.badge-card.got:hover{transform:translateY(-2px);box-shadow:0 7px #86efac,0 12px 24px #0438241f}.badge-card.locked{background:#f8fafc;border:2px dashed #cbd5e1;opacity:.9}.badge-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.badge-icon-wrap{font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center}.badge-locked-ico{font-size:26px;filter:grayscale(1) opacity(.4)}.badge-status-pill{font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:#e2e8f0;color:#64748b}.badge-status-pill.earned{background:#fef08a;color:#854d0e;box-shadow:0 1px 3px #854d0e26}.badge-name{font-size:16px;font-weight:900;color:var(--ink);line-height:1.2}.badge-desc{font-size:12.5px;font-weight:600;color:#64748b;margin:0;line-height:1.3}.badge-prog-box{margin-top:6px;display:flex;flex-direction:column;gap:4px;background:#fff;padding:8px 10px;border-radius:12px;border:1px solid #e2e8f0}.badge-prog-text{display:flex;justify-content:space-between;font-size:11.5px;font-weight:800;color:#475569}.badge-bar{height:6px;background:#e2e8f0;border-radius:99px;overflow:hidden}.badge-bar div{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:99px;transition:width .4s ease}.parent{background:#fff;border-radius:28px;padding:24px 20px 32px;box-shadow:0 16px 36px -8px #04382424,0 4px 12px #0000000a;max-width:960px;margin:0 auto}.parent-gate-wrapper{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:16px 12px 36px;width:100%}.parent-gate-card{background:#fff;border-radius:30px;padding:30px 24px 26px;box-shadow:0 20px 48px -10px #04382438,0 4px 16px #0000000a;border:2.5px solid #a7f3d0;width:100%;max-width:390px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.gate-shield-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#ecfdf5,#d1fae5);display:grid;place-items:center;box-shadow:0 8px 20px #10b98138;margin-bottom:8px;border:2px solid #a7f3d0}.parent-gate-card h2{margin:0;font-size:24px;font-weight:900;color:var(--ink)}.gate-desc{color:#64748b;font-size:13.5px;font-weight:600;line-height:1.35;margin:4px 0 14px;max-width:290px}.pin-slots-row{display:flex;gap:14px;justify-content:center;margin:4px 0 10px;transition:transform .2s}.pin-slot{width:52px;height:56px;border-radius:16px;background:#f8fafc;border:2.5px solid #cbd5e1;display:grid;place-items:center;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.pin-slot.filled{border-color:#10b981;background:#ecfdf5;box-shadow:0 4px 12px #10b98133;transform:scale(1.06)}.pin-dot{width:14px;height:14px;border-radius:50%;background:#94a3b8;opacity:0;transform:scale(.3);transition:all .2s cubic-bezier(.34,1.56,.64,1)}.pin-slot.filled .pin-dot{opacity:1;transform:scale(1);background:#059669}.pin-slot.error{border-color:#ef4444!important;background:#fef2f2!important}.shake{animation:pin-shake .4s ease-in-out}@keyframes pin-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-9px)}40%,80%{transform:translate(9px)}}.gate-err-msg{color:#dc2626;font-size:13px;font-weight:800;margin:2px 0 8px}.gate-numpad{display:grid;grid-template-columns:repeat(3,72px);gap:10px;justify-content:center;margin-top:8px}.numpad-key{width:72px;height:60px;border-radius:18px;background:#f8fafc;border:2px solid #e2e8f0;font-size:24px;font-weight:900;color:#1e293b;box-shadow:0 4px #cbd5e1,0 3px 8px #0000000a;display:grid;place-items:center;cursor:pointer;transition:all .1s ease;touch-action:manipulation;outline:none}.numpad-key:hover{background:#fff;border-color:#cbd5e1}.numpad-key:active{transform:translateY(3px);box-shadow:0 1px #cbd5e1}.numpad-key.action-key{background:#f1f5f9;color:#64748b;font-size:20px}.gate-forgot-btn{background:none;border:none;color:#64748b;font-size:13px;font-weight:800;cursor:pointer;padding:8px 12px;border-radius:8px;margin-top:8px;transition:color .15s}.gate-forgot-btn:hover{color:#059669;text-decoration:underline}.gate-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.gate-modal-card{background:#fff;border-radius:26px;padding:26px 22px;width:100%;max-width:360px;text-align:center;box-shadow:0 20px 48px #0000004d;border:2.5px solid #d1fae5;display:flex;flex-direction:column;align-items:center;gap:8px}.gate-modal-icon{font-size:40px;line-height:1}.gate-modal-card h3{margin:4px 0 0;font-size:20px;font-weight:900;color:var(--ink)}.gate-modal-desc{font-size:13px;color:#64748b;margin:0;font-weight:600;line-height:1.35}.adult-math-challenge{font-size:28px;font-weight:900;color:#047857;background:#ecfdf5;border-radius:14px;padding:10px 20px;margin:8px 0;border:2px solid #a7f3d0}.challenge-input{width:140px;text-align:center;font-size:22px;font-weight:900;padding:8px 12px;border-radius:14px;border:2.5px solid #cbd5e1;outline:none;margin-top:4px;color:var(--ink)}.challenge-input:focus{border-color:#10b981}.pin-change-modal-card{max-width:380px;animation:modal-pop-in .25s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-pop-in{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.pin-modal-icon-bubble{width:58px;height:58px;border-radius:50%;background:#ecfdf5;border:2px solid #a7f3d0;display:grid;place-items:center;color:#059669;box-shadow:0 4px 12px #05966926;margin-bottom:2px}.pin-digit-text{font-size:20px;font-weight:900;color:#047857}.pin-peek-toggle-btn{background:none;border:none;color:#64748b;font-size:12px;font-weight:700;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .15s}.pin-peek-toggle-btn:hover{color:#059669;text-decoration:underline}.pin-modal-footer{margin-top:6px;width:100%;display:flex;justify-content:center}.pin-success-view{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 0;animation:modal-pop-in .3s cubic-bezier(.34,1.56,.64,1)}.psv-icon{width:76px;height:76px;border-radius:50%;background:#ecfdf5;border:2.5px solid #6ee7b7;display:grid;place-items:center;box-shadow:0 6px 16px #05966933}.error{color:#d63031;font-weight:800;margin:0}.ok-msg{color:#00916f;font-weight:800;text-align:center}.parent-page{display:flex;flex-direction:column;gap:18px;max-width:960px;margin:0 auto;padding-bottom:24px}.parent-header-bar{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:4px 6px 8px;width:100%}.parent-title-group{width:100%;display:flex;flex-direction:column;gap:3px}.parent-title-group h2{font-size:clamp(24px,5.5vw,30px);font-weight:900;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2);margin:0;display:inline-flex;align-items:center;gap:10px}.parent-title-icon{width:40px;height:40px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 2px 6px #0000001a;flex-shrink:0}.parent-title-icon .app-icon{color:#fff!important;font-size:20px;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}.parent-title-icon .app-icon-glyph{display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}.parent-subtitle{color:#d1fae5;font-size:clamp(12px,3.5vw,14px);font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.15);margin:0;line-height:1.25;white-space:nowrap}.parent-profile-card{background:linear-gradient(135deg,#fff 65%,#ecfdf5);border-radius:26px;padding:20px 22px;box-shadow:0 14px 32px -8px #0438241f,0 3px 10px #0000000a;border:2px solid #a7f3d0;display:flex;flex-direction:column;gap:16px}.pp-top-row{display:flex;align-items:center;gap:16px;justify-content:space-between;width:100%}@media (max-width: 540px){.pp-top-row{flex-direction:column;text-align:center;gap:12px}}.pp-avatar-glow{background:#d1fae5;border-radius:50%;padding:6px;box-shadow:0 6px 18px #10b98140;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pp-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.pp-name{font-size:24px;font-weight:900;color:var(--ink);margin:0;line-height:1.15}.pp-edit-btn{padding:8px 16px!important;font-size:13.5px!important;border-radius:999px!important;box-shadow:0 3px #cbd5e1!important;white-space:nowrap;flex-shrink:0}.pp-tags{display:flex;flex-wrap:wrap;gap:6px}@media (max-width: 540px){.pp-tags{justify-content:center}}.pp-tag{background:#d1fae5;color:#047857;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;letter-spacing:.2px}.pp-topics-section{border-top:1.5px dashed #cbd5e1;padding-top:14px;margin-top:2px;width:100%;display:flex;flex-direction:column;gap:8px}.pp-topics-title{font-size:11.5px;font-weight:800;color:#047857;text-transform:uppercase;letter-spacing:.4px}@media (max-width: 540px){.pp-topics-title{text-align:center}}.pp-topics-grid{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 540px){.pp-topics-grid{justify-content:center}}.pp-topic-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;border:1.5px solid #e2e8f0;background:#fff;box-shadow:0 2px 5px #00000008;transition:transform .12s ease}.pp-topic-chip:hover{transform:translateY(-1px)}.pp-topic-ico{font-size:14px;line-height:1}.pp-topic-label{color:#475569}.pp-topic-chip.status-yes{background:#ecfdf5;border-color:#a7f3d0}.pp-topic-chip.status-yes .pp-topic-val{color:#047857;font-weight:800}.pp-topic-chip.status-learning{background:#fffbeb;border-color:#fde68a}.pp-topic-chip.status-learning .pp-topic-val{color:#b45309;font-weight:800}.pp-topic-chip.status-no{background:#f8fafc;border-color:#e2e8f0}.pp-topic-chip.status-no .pp-topic-val{color:#64748b;font-weight:800}.parent-nav-tabs{display:flex;gap:12px;align-items:center;justify-content:center;margin:2px 0 6px}.parent-tab-btn{flex:1;max-width:320px;background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.6);padding:12px 16px;border-radius:20px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:14.5px;color:#475569;box-shadow:0 4px 12px #04382414;transition:all .2s cubic-bezier(.34,1.56,.64,1);cursor:pointer;touch-action:manipulation}.parent-tab-btn:hover:not(.sel){background:#fff;transform:translateY(-2px);color:var(--ink)}.parent-tab-btn.sel{background:#fff;color:#047857;border-color:#10b981;box-shadow:0 5px #059669,0 8px 20px #04382429;transform:translateY(-2px)}.pt-icon{font-size:20px;line-height:1}.parent-tab-pane{display:flex;flex-direction:column;gap:18px}.parent-section-card{background:#fff;border-radius:26px;padding:22px 20px 24px;box-shadow:0 14px 32px -8px #0438241a,0 4px 10px #00000008;border:1.5px solid #f1f5f9;display:flex;flex-direction:column;gap:16px}.parent-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:2px dashed #f1f5f9;padding-bottom:14px;flex-wrap:wrap}.pch-title h3{margin:0;font-size:19px;font-weight:900;color:var(--ink);display:flex;align-items:center;gap:8px}.pch-desc{color:#64748b;font-size:13px;font-weight:600;margin-top:3px;display:block}.seg-period{display:inline-flex;background:#f1f5f9;border-radius:999px;padding:4px;gap:4px}.seg-period-btn{background:transparent;border:none;padding:6px 14px;border-radius:999px;font-weight:800;font-size:13px;color:#64748b;cursor:pointer;transition:all .15s ease}.seg-period-btn.sel{background:#059669;color:#fff;box-shadow:0 2px 6px #0596694d}.parent-kpis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.kpi-card{background:#f8fafc;border-radius:20px;padding:16px 12px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;border:1.5px solid #e2e8f0;box-shadow:0 3px 6px #00000005;transition:transform .15s ease}.kpi-card:hover{transform:translateY(-2px);background:#fff;border-color:#cbd5e1}.kpi-icon-bubble{font-size:22px;width:42px;height:42px;border-radius:50%;background:#ecfdf5;border:1px solid #a7f3d0;display:flex!important;align-items:center!important;justify-content:center!important;margin-bottom:2px;flex-shrink:0}.kpi-icon-bubble svg{margin:0!important;display:block!important}.kpi-val{font-size:28px;font-weight:900;color:#047857;line-height:1.1;font-variant-numeric:tabular-nums}.kpi-label{color:#64748b;font-weight:700;font-size:12px;line-height:1.25}.kpi-card.highlight-streak{background:#fff7ed;border-color:#fed7aa}.kpi-card.highlight-streak .kpi-icon-bubble{background:#ffedd5;border-color:#fdba74}.kpi-card.highlight-streak .kpi-val{color:#ea580c}.parent-chart-card{background:#f8fafc;border-radius:20px;padding:20px 14px 14px;border:1.5px solid #e2e8f0}.weekly-bars{display:flex;gap:10px;align-items:flex-end;height:140px}.weekly-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;gap:6px}.weekly-bar-val{font-size:11.5px;font-weight:800;color:#94a3b8;height:16px;display:grid;place-items:center}.weekly-bar-val.has-val{color:#047857;background:#d1fae5;border-radius:999px;padding:1px 7px;box-shadow:0 1px 3px #00000014}.weekly-bar-track{flex:1;width:100%;max-width:42px;background:#e2e8f0;border-radius:12px;display:flex;align-items:flex-end;overflow:hidden;padding:2px}.weekly-bar-fill{width:100%;background:linear-gradient(0deg,#059669,#10b981);border-radius:10px;min-height:6px;transition:height .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 -2px 6px #10b9814d}.weekly-bar-col.is-today .weekly-bar-track{background:#ecfdf5;border:2px solid #a7f3d0}.weekly-bar-label{color:#64748b;font-weight:800;font-size:12.5px;text-transform:capitalize}.weekly-bar-col.is-today .weekly-bar-label{color:#047857;font-weight:900}.trail-perf-list{display:flex;flex-direction:column;gap:10px}.trail-perf-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f8fafc;border-radius:18px;padding:12px 16px;border:1.5px solid #e2e8f0;transition:all .15s ease}.trail-perf-row:hover{background:#fff;border-color:#cbd5e1;transform:translateY(-1px)}@media (max-width: 600px){.trail-perf-row{flex-direction:column;align-items:stretch;gap:10px}}.tpr-left{display:flex;align-items:center;gap:12px;flex:1}.tpr-icon-bubble{width:42px;height:42px;border-radius:50%;background:#fff;border:1.5px solid #cbd5e1;display:flex!important;align-items:center!important;justify-content:center!important;font-size:20px;flex-shrink:0;box-shadow:0 2px 5px #0000000d}.tpr-icon-bubble .app-icon{margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;width:22px!important;height:22px!important}.tpr-icon-bubble .app-icon-glyph{display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}.tpr-info{display:flex;flex-direction:column;gap:2px}.tpr-name{font-size:15.5px;font-weight:900;color:var(--ink)}.tpr-sub{font-size:12px;font-weight:700;color:#64748b}.tpr-right{display:flex;align-items:center;min-width:200px}@media (max-width: 600px){.tpr-right{min-width:100%}}.tpr-meter-wrap{width:100%;display:flex;flex-direction:column;gap:5px}.tpr-meter-track{height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden}.tpr-meter-fill{height:100%;border-radius:99px;transition:width .5s ease}.tpr-acc-badge{font-size:11.5px;font-weight:800;color:#475569;text-align:right}.placement-status-box{display:flex;flex-direction:column;gap:12px}.placement-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.placement-trail-item{display:flex;align-items:center;gap:10px;background:#f8fafc;border-radius:14px;padding:10px 14px;border:1.5px solid #e2e8f0}.pti-emoji{font-size:22px}.pti-text{display:flex;flex-direction:column}.pti-text b{font-size:14px;color:var(--ink)}.pti-text small{font-size:12px;color:#64748b;font-weight:700}.placement-status-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1.5px dashed #f1f5f9;flex-wrap:wrap}.placement-empty-box{background:#f8fafc;border-radius:18px;padding:20px;text-align:center;border:2px dashed #cbd5e1;display:flex;flex-direction:column;align-items:center;gap:12px}.placement-empty-msg{color:#475569;font-size:14px;font-weight:700;margin:0;max-width:440px;line-height:1.4}.placement-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;vertical-align:middle}.placement-btn .bullseye-icon{margin:0!important;vertical-align:middle!important;flex-shrink:0}.placement-btn span{display:inline-block;line-height:1}.hard-facts-box{display:flex;flex-direction:column;gap:12px}.hard-chips-grid{display:flex;flex-wrap:wrap;gap:10px}.hard-fact-chip{background:#fff7ed;border:1.5px solid #fed7aa;border-radius:14px;padding:8px 14px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 2px 4px #ea580c14}.hfc-expr{font-size:16px;font-weight:900;color:#9a3412}.hfc-errs{background:#ea580c;color:#fff;font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px}.hard-facts-note{font-size:13px;color:#64748b;font-weight:600;margin:0;line-height:1.4}.hard-empty-box{background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:18px;padding:16px 18px;display:flex;align-items:center;gap:14px}.heb-star-wrap{flex-shrink:0;display:grid;place-items:center;animation:star-gentle-wiggle 2.8s ease-in-out infinite;transform-origin:center center}@keyframes star-gentle-wiggle{0%,to{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(-4px) rotate(-8deg) scale(1.08)}75%{transform:translateY(-2px) rotate(8deg) scale(1.08)}}.heb-text{display:flex;flex-direction:column;gap:2px;margin:0}.heb-text b{font-size:15px;color:#047857}.heb-text span{font-size:13px;color:#065f46;font-weight:600}.parent-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.p-field{display:flex;flex-direction:column;gap:6px}.p-field-label{font-size:13.5px;font-weight:800;color:var(--ink)}.p-input{width:100%;box-sizing:border-box;padding:12px 14px;height:48px;border-radius:14px;border:2px solid #e2e8f0;background:#f8fafc;color:var(--ink);font-size:15px;font-weight:600;outline:none;transition:all .18s ease}.p-input:focus{background:#fff;border-color:#059669;box-shadow:0 0 0 4px #05966924}.report-preview-container{background:#f8fafc;border-radius:18px;border:1.5px dashed #cbd5e1;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.preview-card-header{display:flex;align-items:center;justify-content:space-between}.pch-tag{font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.report-preview-body{margin:0;background:#fff;border-radius:12px;padding:12px 14px;font-size:13px;font-family:inherit;line-height:1.5;color:#334155;white-space:pre-wrap;user-select:text;-webkit-user-select:text;border:1px solid #e2e8f0;max-height:200px;overflow-y:auto}.parent-share-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:4px}.big-share{flex:1;min-width:180px;max-width:280px;text-align:center;padding:12px 20px!important;font-size:15px!important}.ok-msg-box{background:#ecfdf5;color:#047857;font-size:13.5px;font-weight:800;padding:10px 16px;border-radius:12px;text-align:center;margin:4px 0 0;border:1.5px solid #a7f3d0}.parent-notice-box{color:#64748b;font-size:13px;line-height:1.4;margin:0}.timer-mode-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.timer-mode-option{background:#f8fafc;border:2px solid #e2e8f0;border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);outline:none}.timer-mode-option:hover:not(.sel){background:#fff;border-color:#cbd5e1;transform:translateY(-2px)}.timer-mode-option.sel{background:#fff;border-color:#10b981;box-shadow:0 4px #059669,0 8px 18px #0438241f;transform:translateY(-2px)}.tmo-header{display:flex;align-items:center;gap:10px}.tmo-radio{width:18px;height:18px;border-radius:50%;border:2.5px solid #cbd5e1;display:grid;place-items:center;transition:all .15s ease}.timer-mode-option.sel .tmo-radio{border-color:#059669;background:#059669;box-shadow:inset 0 0 0 3px #fff}.tmo-title{font-size:16px;font-weight:900;color:var(--ink)}.timer-mode-option.sel .tmo-title{color:#047857}.tmo-desc{font-size:12.5px;color:#64748b;line-height:1.35;margin:0;font-weight:600}.streak-info-box{display:flex;flex-direction:column;gap:14px;background:#f8fafc;border-radius:20px;padding:18px;border:1.5px solid #e2e8f0}.streak-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.streak-metric-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;box-shadow:0 2px 6px #00000005}.smc-label{font-size:12.5px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.smc-val{font-size:22px;font-weight:900;color:var(--ink);display:inline-flex;align-items:center;gap:8px}.smc-val.current{color:#ea580c}.smc-val.best{color:#b45309}.smc-trophy{font-size:22px;line-height:1}.trophy-icon-wrap{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.trophy-icon-wrap.animated{animation:trophy-cheer 3.2s ease-in-out infinite;transform-origin:50% 85%}.trophy-icon-wrap:hover{transform:translateY(-3px) scale(1.15) rotate(4deg)}@keyframes trophy-cheer{0%,to{transform:translateY(0) rotate(0) scale(1)}12%{transform:translateY(-4px) rotate(-8deg) scale(1.08)}24%{transform:translateY(-2px) rotate(8deg) scale(1.08)}36%{transform:translateY(-3px) rotate(-3deg) scale(1.04)}48%{transform:translateY(0) rotate(0) scale(1)}}.streak-status-notice{font-size:13.5px;font-weight:700;padding:12px 16px;border-radius:14px;line-height:1.4}.streak-status-notice.is-lit{background:#ffedd5;color:#9a3412;border:1.5px solid #fed7aa}.streak-status-notice.is-unlit{background:#f1f5f9;color:#475569;border:1.5px solid #e2e8f0}.streak-info-note{font-size:13px;color:#64748b;line-height:1.45;margin:0;font-weight:600}.parent-settings-grid{display:flex;flex-direction:column;gap:10px}.sound-toggle-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:16px;padding:14px 16px;cursor:pointer;transition:background .15s}.sound-toggle-card:hover{background:#fff;border-color:#cbd5e1}.stc-left{display:flex;align-items:center;gap:12px}.stc-icon{width:40px;height:40px;border-radius:12px;background:#f0f9ff;border:1.5px solid #bae6fd;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.sound-toggle-card:hover .stc-icon{transform:scale(1.05)}.p-action-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;vertical-align:middle}.p-action-btn svg{margin:0!important;vertical-align:middle!important;flex-shrink:0}.stc-info{display:flex;flex-direction:column;gap:2px}.stc-info b{font-size:15px;font-weight:800;color:var(--ink)}.stc-info small{font-size:12px;color:#64748b;font-weight:600}.modern-checkbox{width:24px;height:24px;cursor:pointer;accent-color:#059669}.security-actions-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:16px;padding:14px 16px;flex-wrap:wrap}.sac-info{display:flex;flex-direction:column;gap:2px}.sac-info b{font-size:15px;font-weight:800;color:var(--ink)}.sac-info small{font-size:12px;color:#64748b;font-weight:600}.danger-zone-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fef2f2;border:1.5px solid #fecaca;border-radius:16px;padding:14px 16px;flex-wrap:wrap}.dzc-info{display:flex;flex-direction:column;gap:2px}.danger-text{font-size:15px;font-weight:800;color:#dc2626}.dzc-info small{font-size:12px;color:#991b1b;font-weight:600}.brand-section{background:linear-gradient(135deg,#fff 60%,#fefce8);border-color:#fef08a}.brand-sub-btn{width:100%;max-width:360px;margin:0 auto 6px}.brand-links-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.brand-link-btn{padding:10px 18px!important;font-size:14px!important}.critter{object-fit:contain;display:inline-block;vertical-align:middle;-webkit-user-drag:none;pointer-events:none}.critter-emoji{display:inline-grid;place-items:center;line-height:1}.avatar-pick button{display:grid;place-items:center}.hud-avatar{overflow:hidden}.mascot{display:inline-block}.mascot .critter,.mascot .critter-emoji{filter:drop-shadow(0 4px 0 rgba(0,0,0,.12))}.pill.clock{font-variant-numeric:tabular-nums}.timer{display:flex;align-items:center;gap:8px;margin:-4px 0 10px}.timer-ico{font-size:22px}.timer-track{flex:1;height:14px;background:#ece8fb;border-radius:99px;overflow:hidden}.timer-track div{height:100%;border-radius:99px;transition:width .2s linear,background .3s}.timer b{min-width:38px;text-align:right;font-variant-numeric:tabular-nums}.timer.green .timer-track div{background:#00b894}.timer.orange .timer-track div{background:#fdcb6e}.timer.red .timer-track div{background:#ff7675;animation:blink .7s infinite}.timer.frozen .timer-track div{background:#b2a8e8}.timer.frozen{opacity:.7}@keyframes blink{50%{opacity:.55}}.speed-note{display:block;font-size:17px;margin-top:2px}.speed-note.fast{color:#c98a00}.speed-note.slow{color:#8a7fb3}.bolts{display:flex;align-items:center;justify-content:center;gap:4px;font-size:40px}.bolts span{filter:grayscale(1) opacity(.3);transition:.3s}.bolts span.on{filter:none;animation:starpop .6s cubic-bezier(.2,1.6,.4,1) both}.bolts small{font-size:16px;font-weight:800;margin-left:8px;color:var(--muted)}.speed-hint{background:#fff8d6;border-radius:14px;padding:8px 14px;font-weight:700;max-width:420px}.q-sub{margin:0 0 6px;font-weight:800;color:var(--cd);font-size:18px}.equation.small{font-size:clamp(30px,8.5vw,54px)}.choices{display:grid;gap:10px;max-width:520px;margin:0 auto}.choices.grid,.choices.row{grid-template-columns:1fr 1fr}.choices.row3{grid-template-columns:repeat(3,1fr)}.choice{background:#fff;border-radius:22px;padding:18px 10px;font-size:clamp(22px,6vw,34px);font-weight:800;box-shadow:0 6px #00000024;min-height:72px;transition:transform .08s,background .2s}.choices.row3 .choice{font-size:46px}.choice:active:not(:disabled){transform:translateY(5px);box-shadow:0 1px #00000024}.choice.off{opacity:.3;text-decoration:line-through;box-shadow:none}.choice.ok{background:#d6ffe9;outline:4px solid #00b894}.test-tag{background:#d1fae5;border-radius:99px;padding:6px 16px;font-weight:800;font-size:14px;text-align:center;color:var(--purple)}.placement-banner{display:flex;align-items:center;gap:12px;width:100%;margin-top:12px;text-align:left;padding:12px 16px;background:linear-gradient(90deg,#fef3c7,#f59e0b);border-radius:var(--radius);box-shadow:0 5px #0000001f;animation:pulse-soft 2s ease-in-out infinite}.placement-banner b{display:block;font-size:18px;color:#451a03}.placement-banner small{color:#78350f;font-weight:700}.pb-emoji{font-size:38px}.pb-go{margin-left:auto;font-size:26px;font-weight:800;color:#d97706}@keyframes pulse-soft{50%{transform:scale(1.015)}}.placement-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:#fff}.placement-intro h1{text-shadow:0 3px 0 rgba(0,0,0,.15)}.placement-intro .lead{max-width:480px;font-size:19px;font-weight:700;margin:0}.hero-critter{animation:bounce 1.4s ease-in-out infinite}.intro-points{list-style:none;padding:0;margin:4px 0;display:grid;gap:6px;font-weight:800;font-size:18px}.placement-result .hero-star{margin-top:6px}.place-list{display:grid;gap:8px;width:100%;max-width:480px;margin-top:8px}.place-row{display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:8px 14px;border-left:8px solid var(--c);text-align:left;box-shadow:0 4px #00000014}.place-emoji{font-size:30px}.place-info{flex:1;display:flex;flex-direction:column}.place-info small{color:var(--muted);font-weight:700}.place-score{font-weight:800;color:var(--muted)}.note.center{text-align:center;max-width:420px}.start-tag{font-size:13px;font-weight:800;color:var(--cd);background:#fff4c2;border-radius:99px;padding:1px 10px;align-self:flex-start}.sticker{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:6px 2px}.sticker small{font-size:11px;color:var(--muted);font-weight:800;line-height:1;margin-top:2px;text-align:center}.sticker.active{outline:4px solid #ffd93d}.gift-sticker{display:inline-block}.seg.wrap{flex-wrap:wrap;border-radius:22px}.onb{color:var(--ink);padding:max(10px,env(safe-area-inset-top)) 16px 20px}.onb-dots{display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 0 10px}.onb-dots i{width:8px;height:8px;border-radius:99px;background:#fff6;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.onb-dots i.on{width:24px;background:#fff;box-shadow:0 0 10px #fff9}.onb-dots i.done{background:#facc15}.onb-head{text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:12px}.onb-head h1{font-size:clamp(22px,5.2vw,28px);text-shadow:0 2px 4px rgba(0,0,0,.2);margin:0;letter-spacing:-.5px}.onb-head .hero-star{margin:0;display:flex;justify-content:center}.onb-badge{display:inline-flex;align-items:center;gap:6px;background:#fffffff0;color:#047857;font-weight:800;font-size:13px;border-radius:99px;padding:4px 14px;box-shadow:0 2px 8px #00000014;margin:2px 0 6px}.onb-card{background:#fff;border-radius:28px;padding:22px 18px 24px;box-shadow:0 16px 36px -8px #0438242e,0 4px 12px #0000000d;display:flex;flex-direction:column;gap:6px}.onb-title-group h2{font-size:22px;font-weight:800;color:var(--ink);margin:0 0 4px;line-height:1.2}.onb-title-group .muted{font-size:14px;font-weight:600;color:var(--muted);line-height:1.4;margin:0}.field{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;max-width:100%;font-weight:700;margin:2px 0}.onb-card .field{max-width:100%;width:100%}.field>span,.field-label-row{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:800;color:var(--ink)}.field-sub{color:var(--muted);font-weight:600;font-size:13px}.onb-hint-pill{font-size:12px;font-weight:800;color:#047857;background:#d1fae5;border-radius:99px;padding:2px 10px}.field input,.field select{width:100%;box-sizing:border-box;padding:12px 14px;height:50px;border-radius:14px;border:2px solid #e2e8f0;background:#f8fafc;color:var(--ink);font-size:16px;font-weight:600;outline:none;transition:all .18s ease}.field input:focus,.field select:focus{background:#fff;border-color:#059669;box-shadow:0 0 0 4px #05966924}.field input::placeholder{color:#94a3b8;font-weight:500;font-size:15px}.field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23416b5c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:38px}.seg-pills{display:flex;width:100%;box-sizing:border-box;gap:6px;background:#f1f5f9;border-radius:14px;padding:4px}.seg-pill-btn{flex:1;padding:10px 8px;border-radius:10px;font-size:13px;font-weight:800;color:var(--muted);background:transparent;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-align:center}.seg-pill-btn.sel{background:#059669;color:#fff;box-shadow:0 2px 5px #05966947}.onb-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px;width:100%}.full-btn{width:100%;text-align:center}.know-list{display:grid;gap:8px;margin:8px 0}.know-row{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:2px dashed #e2e8f0}.know-name{display:inline-flex;align-items:center;font-weight:800;font-size:16px;color:var(--ink);width:100%}.know-name .app-icon,.know-name .fraction-icon{margin-right:12px}.know-name small{color:var(--muted);font-weight:700;margin-left:4px}.seg.know{background:#f1f5f9;border-radius:12px;padding:3px;display:inline-flex;gap:2px}.seg.know button{padding:8px 12px;font-size:13px;border-radius:9px;font-weight:800;border:none;cursor:pointer;transition:all .15s ease;color:var(--muted)}.seg.know button.sel{background:#059669;color:#fff;box-shadow:0 2px 4px #05966940}.onb-timer-field{margin-top:14px;padding-top:14px;border-top:2px dashed #e2e8f0}.onb-timer-desc{margin:6px 0 0;font-size:13.5px;line-height:1.45;color:var(--muted)}.consent{display:flex;gap:10px;align-items:flex-start;background:#f0fdf4;border-radius:16px;padding:12px;margin-top:12px;font-weight:700;font-size:15px}.consent input{width:22px;height:22px;flex:0 0 auto;margin-top:2px}.btn.small{padding:8px 16px;font-size:16px}.profile-card{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#f0fdf4;border-radius:18px;padding:10px 14px;margin-bottom:8px}.profile-card b{font-size:22px;display:block}.profile-card small{display:block;color:var(--muted);font-weight:700}.birthday{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;width:100%;margin-top:12px;padding:12px 16px;text-align:left;background:linear-gradient(90deg,#fde047,#34d399);border-radius:var(--radius);box-shadow:0 5px #0000001f;animation:pulse-soft 1.6s ease-in-out infinite}.birthday.claimed{animation:none;background:linear-gradient(90deg,#c8f7de,#ffe58a)}.birthday b{display:block;font-size:19px}.birthday small{font-weight:700;color:#6a3a00}.bd-emoji{font-size:44px}.fresh-note{background:#e6fbf1;color:#0a7a58;font-weight:800;border-radius:14px;padding:6px 12px;margin:0 0 6px;text-align:center}.avatar-pick.named{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:380px;margin:6px auto 12px;padding:4px}.avatar-pick.named button{position:relative;width:100%;height:auto;min-height:114px;background:#fff;border-radius:20px;padding:10px 4px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:4px;border:3px solid #e2e8f0;box-shadow:0 6px 14px #0438241f;transition:all .2s cubic-bezier(.34,1.56,.64,1);cursor:pointer}.avatar-pick.named button:active{transform:scale(.96)}.avatar-pick.named button.sel{background:#fff;border-color:#f59e0b;outline:none;transform:scale(1.05);box-shadow:0 10px 22px #f59e0b59,0 0 0 3px #fde04773}.critter-avatar-wrap{position:relative;display:flex;align-items:center;justify-content:center}.critter-star-badge{position:absolute;top:-4px;right:-8px;font-size:13px;background:#fef08a;border:1px solid #facc15;border-radius:99px;padding:1px 4px;box-shadow:0 2px 4px #00000026;line-height:1}.critter-info{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%}.critter-name{font-size:14px;font-weight:800;color:#14382c;line-height:1.15;text-align:center}.critter-species{font-size:11px;font-weight:700;color:#047857;line-height:1.1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.onb-step3-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:380px;margin-top:6px}a.btn{display:inline-block;text-decoration:none;text-align:center}a.btn.subscribe{display:block;background:linear-gradient(90deg,#ffb100,#ff7ab8);box-shadow:0 5px #c97d00;margin:6px 0 12px}.brand-links{margin-top:4px}@media (min-width: 640px){.screen.onb{max-width:520px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:32px 16px 40px;margin:0 auto}.onb-card{padding:32px 30px;border-radius:30px;box-shadow:0 22px 50px -12px #04382447,0 6px 18px #00000014}.trail-tabs{justify-content:center;gap:12px;padding:12px 0 16px}.trail-card{width:110px;min-height:128px}}.home-layout{display:flex;flex-direction:column;gap:20px;margin-top:10px}.home-main{width:100%}.home-sidebar{display:none}.sidebar-card{background:#fff;border-radius:24px;padding:18px 18px 16px;box-shadow:0 12px 28px -6px #0438241f,0 2px 8px #0000000a;border:2px solid #f1f5f9;display:flex;flex-direction:column;gap:12px;transition:transform .15s ease,box-shadow .15s ease}.sidebar-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px -6px #04382429,0 4px 12px #0000000f}.weekly-gift-card{margin:12px 0}.weekly-gift-card p{margin:0}.weekly-gift-progress{display:grid;gap:4px}.weekly-gift-progress progress{width:100%;accent-color:#047857}.weekly-gift-result{display:flex;align-items:center;gap:8px}.sidebar-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-card-header b{font-size:15.5px;font-weight:800;color:var(--ink);flex:1}.sch-icon{font-size:20px;line-height:1}.mascot-card{background:linear-gradient(135deg,#fff 60%,#ecfdf5);border:2px solid #a7f3d0}.mascot-card-top{display:flex;align-items:center;gap:12px}.sidebar-avatar-glow{background:#d1fae5;border-radius:50%;padding:6px;box-shadow:0 4px 12px #10b98133;flex-shrink:0;display:flex;align-items:center;justify-content:center}.mascot-speech-bubble{background:#fff;border:1.5px solid #d1fae5;border-radius:14px;padding:10px 12px;position:relative;font-size:13px;box-shadow:0 2px 6px #0000000a;flex:1}.mascot-speech-bubble:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid #d1fae5}.mascot-bubble-title{color:#047857;font-size:13.5px;font-weight:800;display:block;margin-bottom:2px}.mascot-bubble-text{margin:0;color:#334155;line-height:1.35;font-size:12.5px}.sidebar-play-btn{background:linear-gradient(180deg,#10b981,#059669);color:#fff;font-weight:800;font-size:14px;padding:11px 16px;border-radius:999px;box-shadow:0 4px #047857,0 6px 14px #04785740;text-align:center;border:none;cursor:pointer;transition:all .1s ease;width:100%}.sidebar-play-btn:active{transform:translateY(3px);box-shadow:0 1px #047857}.quest-pill{background:#f1f5f9;color:#64748b;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px}.quest-pill.all-done{background:#fef08a;color:#854d0e}.quest-list{display:flex;flex-direction:column;gap:10px}.quest-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:#f8fafc;border:1px solid #f1f5f9;transition:all .2s}.quest-item.is-done{background:#ecfdf5;border-color:#a7f3d0}.quest-ico{font-size:20px;flex-shrink:0}.quest-details{flex:1;min-width:0}.quest-row-text{display:flex;justify-content:space-between;font-size:12.5px;font-weight:800;color:var(--ink);margin-bottom:4px}.quest-count{color:#64748b;font-size:11.5px}.quest-item.is-done .quest-count{color:#047857}.quest-prog-bar{height:6px;background:#e2e8f0;border-radius:99px;overflow:hidden}.quest-prog-bar div{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:99px;transition:width .4s ease}.sidebar-album-card{background:linear-gradient(135deg,#fff 65%,#faf5ff);border:2px solid #e9d5ff}.sticker-count-pill{background:#fef9c3;color:#854d0e;font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px}.sidebar-sticker-body{display:flex;flex-direction:column;gap:10px}.sidebar-stickers-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#fff;border:1.5px solid #f3e8ff;border-radius:16px;padding:8px;box-shadow:inset 0 2px 4px #00000005}.sidebar-sticker-chip{aspect-ratio:1;background:#faf5ff;border:1.5px solid #e9d5ff;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 4px #a855f714}.sidebar-sticker-chip:hover:not(.locked){transform:translateY(-2px) scale(1.06);box-shadow:0 4px 8px #a855f733;border-color:#d8b4fe}.sidebar-sticker-chip.locked{background:#f8fafc;border:1.5px dashed #cbd5e1;opacity:.6}.ssc-lock{font-size:14px}.next-critter-preview{display:flex;align-items:center;gap:12px;padding:8px 10px;background:#faf5ff;border:1.5px dashed #d8b4fe;border-radius:14px}.critter-mystery-slot{width:44px;height:44px;border-radius:12px;background:#e9d5ff;display:grid;place-items:center;position:relative;font-size:20px;box-shadow:inset 0 2px 4px #0000000f;flex-shrink:0}.mystery-lock-badge{position:absolute;top:-4px;right:-4px;font-size:11px}.next-critter-info{display:flex;flex-direction:column}.next-critter-info b{font-size:13.5px;color:#581c87}.next-critter-info small{font-size:11.5px;color:#7e22ce;font-weight:600}.album-bar-wrap{margin-top:2px}.album-bar{height:7px;background:#f1f5f9;border-radius:99px;overflow:hidden}.album-bar div{height:100%;background:linear-gradient(90deg,#a855f7,#ec4899);border-radius:99px;transition:width .4s ease}.sidebar-link-btn{background:#f3e8ff;color:#7e22ce;font-weight:800;font-size:13px;padding:9px 12px;border-radius:12px;border:none;cursor:pointer;text-align:center;transition:all .15s;width:100%}.sidebar-link-btn:hover{background:#e9d5ff}.parent-shortcut-card{background:#f8fafc;border:1.5px solid #e2e8f0}.parent-shortcut-text{font-size:12px;color:#64748b;line-height:1.35;margin:0;font-weight:600}.sidebar-parent-btn{background:#fff;color:#334155;font-weight:800;font-size:12.5px;padding:8px 12px;border-radius:10px;border:1.5px solid #cbd5e1;cursor:pointer;text-align:center;transition:all .15s;width:100%}.sidebar-parent-btn:hover{background:#f1f5f9;border-color:#94a3b8}@media (min-width: 820px){.content>.home{max-width:960px}.home-layout{flex-direction:row;align-items:flex-start;gap:24px}.home-main{flex:1;min-width:0;max-width:540px}.home-sidebar{display:flex;flex-direction:column;gap:16px;width:330px;flex:0 0 330px;position:sticky;top:14px}}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(circle at 50% 15%,#fefce8,#f0fdf4 45%,#e0f2fe);position:relative;overflow-x:hidden}.auth-card{width:100%;max-width:440px;background:#fff;border:2px solid #e2e8f0;border-radius:28px;padding:32px 24px;box-shadow:0 20px 40px -12px #0f172a1f,0 4px 12px #0f172a0a;display:flex;flex-direction:column;align-items:center;position:relative;animation:authCardIn .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes authCardIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-subscriber-brand{text-align:center;margin-bottom:18px;width:100%}.subscriber-mascot-circle{width:96px;height:96px;margin:0 auto 12px;border-radius:50%;background:radial-gradient(circle,#fff 40%,#fef9c3);border:3px solid #fde047;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px -4px #eab30840;animation:mascotBreath 3.5s ease-in-out infinite}@keyframes mascotBreath{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.03)}}.auth-subscriber-brand h1{font-size:23px;font-weight:900;color:#0f172a;margin:0 0 4px;letter-spacing:-.5px}.subscriber-badge-tag{display:inline-flex;align-items:center;justify-content:center;background:#fef3c7;border:1px solid #fcd34d;color:#b45309;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:4px 12px;border-radius:99px;margin:6px auto 10px}.saved-profile-quick-card{width:100%;background:linear-gradient(135deg,#f0fdf4,#ecfeff);border:2px solid #86efac;border-radius:18px;padding:12px 14px;display:flex;align-items:center;gap:12px;margin-bottom:18px;box-shadow:0 4px 12px #16a34a14}.spq-avatar{width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000014;flex-shrink:0}.spq-info{flex:1;text-align:left;display:flex;flex-direction:column;min-width:0}.spq-info small{font-size:11px;font-weight:800;text-transform:uppercase;color:#16a34a;letter-spacing:.3px}.spq-info b{font-size:16px;font-weight:900;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spq-btn{background:#16a34a!important;color:#fff!important;font-weight:800!important;padding:8px 14px!important;border-radius:12px!important;box-shadow:0 4px #15803d!important;white-space:nowrap;flex-shrink:0}.spq-btn:hover{background:#15803d!important;transform:translateY(-1px)}.auth-primary-btn{width:100%;font-size:16px!important;font-weight:900!important;background:linear-gradient(180deg,#10b981,#059669)!important;color:#fff!important;border:none!important;border-radius:16px!important;padding:14px 18px!important;box-shadow:0 6px #047857,0 10px 20px #05966940!important;cursor:pointer;transition:all .15s ease}.auth-primary-btn:hover{transform:translateY(-2px);box-shadow:0 8px #047857,0 12px 24px #0596694d!important}.auth-primary-btn:active{transform:translateY(4px);box-shadow:0 2px #047857!important}.subscriber-plans-callout{width:100%;margin-top:18px;padding-top:18px;border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.spc-text b{font-size:13.5px;font-weight:800;color:#1e293b}.spc-text p{font-size:12px;color:#64748b;margin:2px 0 0;line-height:1.4}.spc-subscribe-btn{width:100%;border:2px solid #f59e0b!important;background:#fffbeb!important;color:#b45309!important;font-weight:800!important;font-size:14.5px!important;padding:12px 18px!important;border-radius:14px!important;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;box-shadow:0 4px 12px #f59e0b1f}.spc-subscribe-btn:hover{background:#fef3c7!important;border-color:#d97706!important;transform:translateY(-1px)}.spc-btn-content{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1}.spc-btn-content span{display:inline-block;line-height:1}.spc-btn-content .star{display:inline-block;vertical-align:middle;flex-shrink:0;margin-top:-1px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0f172aa6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:modalFadeIn .2s ease-out forwards}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.subscribe-info-modal{width:100%;max-width:440px;background:#fff;border:2px solid #e2e8f0;border-radius:28px;padding:30px 24px 24px;box-shadow:0 25px 50px -12px #0f172a40;position:relative;display:flex;flex-direction:column;align-items:stretch;animation:modalPopIn .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalPopIn{0%{opacity:0;transform:scale(.93) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close-btn{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;background:#f1f5f9;border:1px solid #e2e8f0;font-size:15px;font-weight:800;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;z-index:2}.modal-close-btn:hover{background:#e2e8f0;color:#0f172a;transform:scale(1.05)}.sim-header{text-align:center;margin-bottom:18px}.sim-mascot-circle{width:82px;height:82px;margin:0 auto 10px;border-radius:50%;background:radial-gradient(circle,#fff 40%,#fef9c3);border:2.5px solid #fde047;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #eab30833}.sim-header h3{font-size:21px;font-weight:900;color:#0f172a;margin:4px 0 6px;letter-spacing:-.5px}.sim-header p{font-size:13px;color:#64748b;margin:0;line-height:1.45}.sim-benefits-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;background:#f8fafc;padding:14px 16px;border-radius:20px;border:1.5px solid #e2e8f0}.sim-benefit-item{display:flex;align-items:center;gap:14px;text-align:left}.sim-icon-bubble{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sim-icon-bubble.map{background:#eff6ff;color:#0284c7;border:1.5px solid #bfdbfe}.sim-icon-bubble.gift{background:#fdf2f8;color:#db2777;border:1.5px solid #fbcfe8}.sim-icon-bubble.report{background:#ecfdf5;color:#059669;border:1.5px solid #a7f3d0}.sim-icon-bubble .app-icon{margin:0!important;font-size:22px!important}.sim-benefit-info{display:flex;flex-direction:column;gap:2px}.sim-benefit-info b{font-size:14px;font-weight:800;color:#0f172a;display:block}.sim-benefit-info small{font-size:11.5px;color:#64748b;display:block;line-height:1.35}.sim-actions{display:flex;flex-direction:column;gap:10px;width:100%}.sim-cta-btn{width:100%!important;padding:14px 18px!important;font-size:15px!important;border-radius:16px!important}.sim-cancel-btn{width:100%!important;font-size:13.5px!important;font-weight:700!important;color:#64748b!important;padding:10px!important;border:none!important;background:none!important;cursor:pointer;transition:color .15s ease}.sim-cancel-btn:hover{color:#0f172a!important}.form-card{align-items:stretch}.auth-back-btn{align-self:flex-start;background:none;border:none;color:#64748b;font-size:13px;font-weight:700;cursor:pointer;padding:6px 10px;margin-left:-10px;margin-top:-6px;border-radius:8px;transition:all .15s ease}.auth-back-btn:hover{background:#f1f5f9;color:#0f172a}.auth-form-header{text-align:center;margin:10px 0 20px}.afh-icon{width:58px;height:58px;margin:0 auto 10px;background:#ecfdf5;border:2px solid #a7f3d0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#059669;box-shadow:0 4px 12px #10b98126}.afh-icon.recovery{background:#eff6ff;border-color:#bfdbfe;color:#2563eb;box-shadow:0 4px 12px #2563eb26}.auth-form-header h2{font-size:21px;font-weight:900;color:#0f172a;margin:0 0 6px}.auth-form-desc{font-size:13px;color:#64748b;font-weight:600;line-height:1.45;margin:0}.auth-form{display:flex;flex-direction:column;gap:16px;width:100%}.auth-field{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left}.auth-field-label-row{display:flex;align-items:center;justify-content:space-between}.auth-field-label{font-size:13px;font-weight:800;color:#334155}.auth-peek-btn{background:#f1f5f9;border:1.5px solid #cbd5e1;border-radius:99px;font-size:11.5px;font-weight:800;color:#475569;cursor:pointer;padding:4px 10px;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease;line-height:1}.auth-peek-btn:hover{background:#e2e8f0;border-color:#94a3b8;color:#0f172a;transform:translateY(-.5px)}.auth-peek-btn.is-active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.auth-peek-btn svg{flex-shrink:0;transition:transform .2s ease}.auth-peek-btn:hover svg{transform:scale(1.1)}.auth-input{width:100%;box-sizing:border-box;height:48px;font-size:15px;border-radius:14px;border:2px solid #cbd5e1;padding:0 14px;font-weight:600;color:#0f172a;background:#f8fafc;transition:all .2s ease}.auth-input:focus{background:#fff;border-color:#0284c7;outline:none;box-shadow:0 0 0 3px #0284c726}.auth-alert{padding:10px 14px;border-radius:12px;font-size:13px;font-weight:700;margin-bottom:14px;text-align:center;line-height:1.4}.auth-alert.error{background:#fef2f2;color:#b91c1c;border:1.5px solid #fecaca}.auth-alert.success{background:#f0fdf4;color:#15803d;border:1.5px solid #bbf7d0}.auth-links-row{margin-top:14px;text-align:center}.auth-text-link{background:none;border:none;color:#64748b;font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline;transition:color .15s ease}.auth-text-link:hover{color:#0f172a}.auth-switch-register{margin-top:18px;padding-top:16px;border-top:1px dashed #e2e8f0;text-align:center;font-size:13.5px;color:#64748b;font-weight:600}.auth-inline-link{background:none;border:none;color:#16a34a;font-weight:800;font-size:13.5px;cursor:pointer;text-decoration:underline;padding:0;margin-left:4px}.auth-inline-link:hover{color:#15803d}.auth-challenge-box{background:#eff6ff!important;border:2px dashed #93c5fd!important;color:#1d4ed8!important;font-size:30px!important;font-weight:900!important;letter-spacing:2px;padding:16px!important;border-radius:18px!important;margin:10px 0 18px!important;text-align:center}.full-btn{width:100%!important}.home-activity-strip{width:100%;background:#fff;border:1.5px solid #e2e8f0;border-radius:18px;padding:10px 16px;margin:10px 0 16px;box-shadow:0 4px 12px -2px #0f172a0d;display:flex;align-items:center;justify-content:space-between;gap:14px;box-sizing:border-box}.has-left{display:flex;align-items:center;gap:10px;min-width:0}.has-icon-bubble{width:36px;height:36px;border-radius:10px;background:#ecfdf5;border:1px solid #a7f3d0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.has-info{display:flex;flex-direction:column;gap:1px;min-width:0}.has-metric{display:flex;align-items:baseline;gap:4px}.has-metric b{font-size:15px;font-weight:900;color:#047857;line-height:1.1}.has-metric span{font-size:13px;font-weight:800;color:#0f172a;line-height:1.1}.has-sub{font-size:11px;font-weight:700;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.has-right{display:flex;align-items:center;flex-shrink:0}.has-bars-row{display:flex;align-items:flex-end;gap:6px;height:38px}.has-bar-item{display:flex;flex-direction:column;align-items:center;gap:3px;height:100%;cursor:pointer}.has-bar-track{width:10px;height:26px;background:#f1f5f9;border-radius:99px;display:flex;align-items:flex-end;overflow:hidden;padding:1.5px;box-sizing:border-box;transition:all .2s ease}.has-bar-fill{width:100%;background:#cbd5e1;border-radius:99px;min-height:3px;transition:height .4s ease}.has-bar-fill.active{background:linear-gradient(180deg,#10b981,#059669);box-shadow:0 -1px 4px #10b98166}.has-bar-item.is-today .has-bar-track{background:#ecfdf5;border:1.5px solid #10b981}.has-bar-day{font-size:9.5px;font-weight:800;color:#94a3b8;line-height:1}.has-bar-item.is-today .has-bar-day{color:#047857;font-weight:900}@media (max-width: 480px){.home-activity-strip{padding:10px 12px;gap:8px}.has-metric b{font-size:14px}.has-metric span{font-size:12px}.has-sub{font-size:10.5px}.has-bars-row{gap:4px}.has-bar-track{width:8px}}.narration{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin:0 0 8px}.narration-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 13px;border:2px solid var(--c);border-radius:16px;background:#fff;color:var(--cd);font:inherit;font-size:14px;font-weight:800;cursor:pointer}.narration-button svg{width:24px;height:24px;overflow:visible}.narration-button.active{background:var(--c);color:#fff}.narration-button:focus-visible{outline:3px solid #5040aa;outline-offset:3px}.narration-button:disabled{opacity:.5;cursor:default}.narration-status{font-size:12px;line-height:1.4;text-align:right;color:var(--cd)}.narration-status:empty{display:none}.narration-button.active .narration-waves{animation:narration-wave 1s ease-in-out infinite;transform-origin:center}@keyframes narration-wave{50%{opacity:.4;transform:scale(.92)}}@media (prefers-reduced-motion: reduce){.narration-button.active .narration-waves{animation:none}}.review-card{display:flex;align-items:center;gap:18px;background:#f0fff8;border:2px solid #b8efda;border-radius:24px;padding:20px;margin:16px 0;color:#14382c}.review-card>img,.review-card>span{flex-shrink:0}.review-card b{font-size:22px}.review-card p{margin:4px 0 12px}.review-card .btn{min-height:44px}@media (max-width:480px){.review-card{gap:12px;padding:16px}.review-card b{font-size:19px}.review-card .btn{width:100%;font-size:15px}}.level-stage-label{display:block;font-size:12px;line-height:1.4;color:#225342;font-weight:800}.level-stage-dots{display:flex;gap:5px;margin:5px 0}.level-stage-dots i{width:14px;height:14px;border-radius:50%;border:2px solid #6e9285;background:#fff}.level-stage-dots i.complete{background:#008f68;border-color:#006e50}.stage-explainer{font-size:14px;color:#225342;margin:12px 0 24px;line-height:1.5}.lesson-stage-tag{text-align:center;font-size:14px;font-weight:800;color:var(--cd);padding:8px}.stage-result-note{max-width:520px;margin:12px auto;font-size:18px;line-height:1.5}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/baloo2-500.ttf) format("truetype")}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/baloo2-700.ttf) format("truetype")}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/baloo2-800.ttf) format("truetype")}.storage-error{position:fixed;top:12px;left:12px;right:12px;z-index:3000;max-width:600px;margin:auto;padding:16px;border:2px solid #9b2837;border-radius:16px;background:#fff1d2;color:#51202a;box-shadow:0 6px 24px #0004}.storage-error .btn{margin-top:10px}.update-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;display:grid;place-items:center;padding:24px;text-align:center;background:#f3fffa;color:#064e3b;font-size:24px;font-weight:800}.badge-card.badge-special{border:3px solid #bb8c22;background:linear-gradient(135deg,#fff9dd,#fff0b5)}.badge-card.badge-special.got{box-shadow:0 5px #bc8b24,0 0 24px #ffd66955}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #613c97!important;outline-offset:3px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ld{--w: 1.15em;--ink2: #3b2f63;font-size:40px;width:100%;text-align:left}.ld.compact{font-size:30px}.ld-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;font-size:14px;margin-bottom:8px}.ld-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;background:#f1edfc;font-weight:800;color:var(--muted);transition:.25s}.ld-chip i{width:12px;height:12px;border-radius:50%;background:var(--k)}.ld-chip.on{background:var(--k);color:#fff;transform:scale(1.08)}.ld-chip.on i{background:#fff}.ld-board{display:flex;justify-content:center;align-items:flex-start;background:#fffdf3;border:3px dashed #ffe28a;border-radius:20px;padding:14px 16px 16px;min-height:5.2em;overflow-x:auto}.ld-main{display:flex;flex-direction:column}.ld-grid{display:grid;line-height:1.25}.ld-cell{text-align:center;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink2);border-radius:8px;transition:background .3s,color .3s}.ld-cell.dv{color:#e17055}.ld-cell.dv.hl{background:#ffe28a;box-shadow:0 0 0 3px #ffe28a;animation:pulse-cell 1s ease-in-out infinite}@keyframes pulse-cell{50%{background:#ffd23f}}.ld-cell.prod{color:#6b6290;border-bottom:.06em solid var(--ink2);border-radius:0}.ld-cell.sign{color:#6b6290;border-radius:0}.ld-cell.rem{color:var(--ink2)}.ld-cell.final{color:#8e7dff;background:#eeeaff}.ld-cell.fresh{color:#e17055;background:#ffe28a}.ld-grid.row>.ld-cell{animation:appear .45s ease-out both}.ld-grid.row>.ld-cell.fresh{animation:drop .8s ease-out both}@keyframes drop{0%{transform:translateY(-1.6em);opacity:0}to{transform:none;opacity:1}}@keyframes appear{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.ld-grid.row.flash .ld-cell{background:#fff0b8}.ld-tag{font-size:.38em;align-self:center;font-weight:800;color:#8e7dff;animation:appear .5s both;white-space:nowrap}.ld-side{border-left:.1em solid var(--ink2);margin-left:.05em;min-width:1.6em}.ld-divisor{padding:0 .4em;line-height:1.25;font-weight:800;color:#0984e3;border-bottom:.1em solid var(--ink2);transition:.3s}.ld-divisor.hl{background:#cfe8ff}.ld-quo{padding:.05em .4em;min-height:1.3em;font-weight:800;color:#00b894;letter-spacing:.08em;border-radius:0 0 8px 8px;transition:background .3s}.ld-quo.hl{background:#c9f6e6}.ld-quo .pop{display:inline-block;animation:starpop .6s cubic-bezier(.2,1.6,.4,1) both}.ld-bubble{display:flex;gap:10px;align-items:center;background:#efeaff;border-radius:20px;padding:10px 14px;margin-top:12px;font-size:18px;min-height:5.2em}.ld.compact .ld-bubble{font-size:16px}.ld-cap{margin:0;font-weight:800;color:var(--ink2);line-height:1.25;animation:slideup .35s both}.ld-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:18px}.ld-btn{background:#fff;border-radius:99px;padding:8px 16px;font-weight:800;box-shadow:0 4px #d9d3f5;color:var(--purple)}.ld-btn.main{background:var(--purple);color:#fff;box-shadow:0 4px #4b3fb8;min-width:130px}.ld-btn:disabled{opacity:.4}.ld-count{color:var(--muted);font-weight:800;font-size:15px;width:100%;text-align:center}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#28185a9e;display:flex;align-items:flex-end;justify-content:center;padding:12px;overflow-y:auto;animation:fadein .25s both}@keyframes fadein{0%{opacity:0}to{opacity:1}}.sheet{background:#fff;border-radius:28px;padding:18px 16px 22px;width:100%;max-width:620px;margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px;animation:slideup .35s both}.sheet .ld{font-size:clamp(30px,8vw,42px)}.sheet h2{text-align:center;color:var(--purple)}.sheet .btn{margin-top:8px}.btn.replay{margin-top:6px}.divrem-boxes{display:flex;justify-content:center;gap:14px;margin-top:4px}.dr-box{display:flex;flex-direction:column;align-items:center;min-width:116px;padding:4px 14px 6px;border:4px dashed var(--k);border-radius:18px;background:#fff;color:var(--k)}.dr-box small{font-weight:800;font-size:14px}.dr-box b{font-size:42px;line-height:1.1;min-height:1.1em}.dr-box.active{background:color-mix(in srgb,var(--k) 12%,#fff);border-style:solid;box-shadow:0 0 0 4px color-mix(in srgb,var(--k) 25%,transparent)}.dr-box.ok{background:#d6ffe9;border-color:#00b894}.dr-box.bad{background:#ffe3e3;border-color:#ff7675}.learn-btn{display:flex;align-items:center;gap:10px;width:100%;background:#fff4c2;border-radius:18px;padding:10px 14px;margin:0 0 12px;text-align:left;box-shadow:0 4px #f0d26a}.learn-btn b{display:block}.learn-btn small{color:#6a4a00;font-weight:700}.learn-btn .lb-emoji{font-size:32px}.tutorial-page{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}@font-face{font-family:Bichos Flaticon;src:url(../icons/flaticon/uicons-solid-rounded.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}:root{--color-fire: #ff471a;--color-bolt: #ffb703;--color-gold: #f1c40f;--color-green: #00b894;--color-blue: #0984e3;--color-coral: #e17055;--color-purple: #6c5ce7;--color-pink: #fd79a8;--color-gift: #ff4757;--color-red: #eb2f06;--color-cyan: #00cec9;--color-lock: #7f8fa6;--color-slate: #57606f;--color-wa: #25d366;--color-insta: #e1306c;--color-yt: #ff0000;--color-tiktok: #1e272e;--color-neutral: currentColor}.app-icon{display:inline-flex;position:relative;width:auto!important;height:auto!important;flex:0 0 auto;align-items:center;justify-content:center;vertical-align:middle;background:none!important;background-color:transparent!important;box-shadow:none!important;border-radius:0!important;border:none!important;padding:0!important;margin:0 .4em 0 .05em;font-size:var(--icon-size, 1.15em);color:var(--icon-ink, currentColor);line-height:1}.app-icon .app-icon-glyph{font-family:Bichos Flaticon!important;font-style:normal;font-weight:400;font-size:1em;line-height:1;display:inline-block;text-transform:none;-webkit-font-smoothing:antialiased}.tone-fire{color:var(--color-fire)!important;--icon-ink: var(--color-fire)}.tone-bolt{color:var(--color-bolt)!important;--icon-ink: var(--color-bolt)}.tone-gold{color:var(--color-gold)!important;--icon-ink: var(--color-gold)}.tone-green{color:var(--color-green)!important;--icon-ink: var(--color-green)}.tone-blue{color:var(--color-blue)!important;--icon-ink: var(--color-blue)}.tone-coral{color:var(--color-coral)!important;--icon-ink: var(--color-coral)}.tone-purple{color:var(--color-purple)!important;--icon-ink: var(--color-purple)}.tone-pink{color:var(--color-pink)!important;--icon-ink: var(--color-pink)}.tone-gift{color:var(--color-gift)!important;--icon-ink: var(--color-gift)}.tone-red{color:var(--color-red)!important;--icon-ink: var(--color-red)}.tone-cyan{color:var(--color-cyan)!important;--icon-ink: var(--color-cyan)}.tone-lock{color:var(--color-lock)!important;--icon-ink: var(--color-lock)}.tone-slate{color:var(--color-slate)!important;--icon-ink: var(--color-slate)}.tone-wa{color:var(--color-wa)!important;--icon-ink: var(--color-wa)}.tone-insta{color:var(--color-insta)!important;--icon-ink: var(--color-insta)}.tone-yt{color:var(--color-yt)!important;--icon-ink: var(--color-yt)}.tone-tiktok{color:var(--color-tiktok)!important;--icon-ink: var(--color-tiktok)}.tone-neutral{color:inherit!important;--icon-ink: inherit}.icon-flame,.tone-fire{color:var(--color-fire)!important;filter:drop-shadow(0 2px 4px rgba(255,71,26,.4))}.icon-bolt,.tone-bolt{color:var(--color-bolt)!important;filter:drop-shadow(0 2px 4px rgba(255,183,3,.45))}.icon-diamond,.tone-cyan{color:var(--color-cyan)!important;filter:drop-shadow(0 2px 4px rgba(0,206,201,.35))}.icon-gift,.tone-gift{color:var(--color-gift)!important}.icon-target,.tone-red{color:var(--color-red)!important}.icon-lock,.tone-lock{color:var(--color-lock)!important}.btn .app-icon,.btn .app-icon-glyph,.choice .app-icon,.choice .app-icon-glyph,.pad button .app-icon,.pad button .app-icon-glyph,.tabbar button.sel .app-icon,.tabbar button.sel .app-icon-glyph{color:inherit!important;filter:none!important}.tabbar .app-icon{--icon-size: 20px;margin-bottom:1px}.icon-btn .app-icon{margin:0!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important}.icon-btn .app-icon .app-icon-glyph{display:block!important;line-height:1!important;margin:0!important}.stat .app-icon{--icon-size: 22px}.tt-emoji .app-icon,.tc-emoji .app-icon{--icon-size: 24px;margin:0!important}.path h2 .app-icon,.album h2 .app-icon,.parent h2 .app-icon{--icon-size: 26px;margin-right:6px}.badge-emoji .app-icon{--icon-size: 44px}.badge:not(.got) .app-icon{color:#a4b0be!important;opacity:.4;filter:none!important}.badge-pop>span .app-icon{--icon-size: 38px}.gift-box .app-icon{--icon-size: 68px}.place-emoji .app-icon,.pb-emoji .app-icon,.lb-emoji .app-icon{--icon-size: 32px}.node.locked .app-icon{--icon-size: 20px;color:#a4b0be!important}.bolts .app-icon{--icon-size: 30px}.bolts>span:not(.on) .app-icon{opacity:.25;filter:grayscale(1)!important}.know-name .app-icon{--icon-size: 20px}.critter-icon{object-fit:contain}.bullseye-icon,.fraction-icon{display:inline-block;vertical-align:-.18em;margin:0 .35em 0 .05em;flex-shrink:0;transition:transform .18s ease}.pb-emoji .bullseye-icon{width:42px;height:42px;vertical-align:middle;filter:drop-shadow(0 3px 6px rgba(214,48,49,.35));margin:0}.place-emoji .bullseye-icon,.place-emoji .fraction-icon{width:32px;height:32px}.start-tag .bullseye-icon,.start-tag .fraction-icon{width:15px;height:15px;margin-right:6px;vertical-align:-2px}.badge-emoji .bullseye-icon,.badge-emoji .fraction-icon{width:44px;height:44px}.icon-credits{display:block;font-size:12px;color:var(--muted);text-align:center;padding:7px 12px}.icon-credits a{color:inherit;text-underline-offset:3px}@media (prefers-reduced-motion: reduce){.app-icon{animation:none}}.math-fraction{display:inline-flex;flex-direction:column;align-items:stretch;justify-content:center;vertical-align:middle;text-align:center;line-height:1.15;min-width:1.3em;font-weight:800;margin:0 .12em}.math-fraction>span{padding:.08em .2em}.math-fraction>span+span{border-top:2px solid currentColor}.math-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.28em;line-height:1.3}.equation.learning-equation{font-size:clamp(26px,5vw,44px);white-space:normal;overflow-wrap:anywhere;margin:16px 0}.fraction-bars{max-width:360px;width:100%;margin:8px auto}.fraction-bars svg{width:100%;height:auto;display:block}.fraction-piece{transition:fill .3s ease}.fraction-pair{display:flex;flex-wrap:wrap;justify-content:center;align-items:start;gap:20px;margin:15px 0}.fraction-pair>div{flex:1 1 160px;max-width:360px;text-align:center}.fraction-result,.fraction-labels{display:flex;align-items:center;justify-content:center;gap:12px}.fraction-labels{flex-wrap:wrap}.fraction-labels>.math-fraction{font-size:32px}.fraction-labels>span:not(.math-fraction){font-size:15px;max-width:150px}.learning-hint{width:100%;max-width:680px;margin:14px auto;padding:18px;background:#faf7ff;border:2px solid #dfd1f4;border-radius:20px;color:var(--ink)}.learning-hint ol{padding-left:24px;text-align:left}.learning-hint li{margin:12px 0}.learning-hint li p{margin:6px 0;font-size:15px}.learning-hint .math-fraction{font-size:26px}.expression-step{font-size:clamp(20px,4vw,30px);font-weight:800;overflow-wrap:anywhere;text-align:center}.math-highlight{background:#fff0a6;color:#6a4914;border-radius:6px}.expression-after{color:#327f65;margin-top:10px}.learning-tutorial{max-width:720px;margin:0 auto;text-align:center;background:#fff;padding:24px;border-radius:24px;color:var(--ink)}.learning-guide{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0}.learning-guide p{font-weight:700}.learning-step{background:#f9f5ff;border-radius:20px;padding:22px 16px;min-height:200px}.learning-step p{font-size:18px;line-height:1.5}.learning-controls{margin:22px 0}.learning-close{margin:8px auto;display:block}.fraction-play-parts,.fraction-denominators{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0}.fraction-play-parts button{border-radius:9px;background:#c58b5a;color:#fff;min-width:44px;min-height:44px;border:2px solid #fff}.fraction-play-parts button.painted{background:#9675e8}.fraction-entry{display:flex;flex-direction:column;align-items:stretch;width:150px;margin:14px auto;gap:0}.fraction-entry button{padding:6px 12px;background:#f7f2ff;border:2px solid #dbcef1;border-radius:12px;color:var(--ink)}.fraction-entry button+button{margin-top:5px;border-top:4px solid var(--ink)}.fraction-entry button.active{outline:3px solid var(--c);outline-offset:1px}.fraction-entry small{display:block;font-size:12px}.fraction-entry b{font-size:30px}.fraction-entry.ok button{background:#e4f8ea}.fraction-entry.bad button{background:#fff1e8}.fraction-entry-note{font-size:13px;margin:8px 0;text-align:center;color:var(--muted)}.choice .math-fraction{font-size:30px}.learning-action{margin:6px auto 14px}.learning-action .btn{font-size:15px}.learning-tutorial button:focus-visible,.fraction-entry button:focus-visible{outline:3px solid #f4aa36;outline-offset:4px}@media (max-width:600px){.learning-tutorial{padding:18px 12px}.learning-step{padding:16px 12px}.fraction-pair{gap:12px}.learning-hint{padding:14px}.learning-step p{font-size:16px}.fraction-entry{width:130px}}@media (max-width:600px){.question-card.fraction-question{padding:14px 12px}.fraction-question .learning-equation{font-size:24px;margin:8px 0}.fraction-question .fraction-entry{margin:6px auto;width:120px}.fraction-question .fraction-entry button{padding:2px 8px;min-height:44px}.fraction-question .fraction-entry small{font-size:10px;line-height:1.2}.fraction-question .fraction-entry b{font-size:24px;line-height:1.05}.fraction-question .fraction-entry-note{font-size:12px;margin:5px 0}.fraction-question+.feedback:empty{min-height:0}}@media (prefers-reduced-motion:reduce){.fraction-piece{transition:none}}.fraction-play-parts button,.fraction-denominators button{min-width:44px;min-height:44px}.carry-lesson{max-width:720px;margin:auto;padding:20px;background:#f8fffb;color:#14382c;border-radius:24px;text-align:center}.carry-lesson header{display:flex;align-items:center;flex-direction:column;gap:6px;margin:16px 0}.carry-lesson h1{font-size:clamp(25px,5vw,34px);margin:4px 0}.carry-lesson p,.carry-sheet p{line-height:1.5}.carry-visual{background:#fff;border:2px solid #b8efda;border-radius:22px;padding:16px;margin:16px 0}.carry-equation{font-size:32px;font-weight:900}.carry-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.carry-columns section{background:#f1fbff;border-radius:16px;padding:8px}.carry-columns section:first-child{background:#effbf1}.carry-columns h3{margin:8px 0;font-size:18px}.carry-rods{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;min-height:70px}.carry-rods i{display:block;width:12px;height:64px;border-radius:4px;background:repeating-linear-gradient(to bottom,#00a875,#00a875 5px,#b8efda 5px,#b8efda 6px)}.carry-dots{display:grid;grid-template-columns:repeat(5,18px);gap:5px;justify-content:center;align-content:center;min-height:70px}.carry-dots i{width:18px;height:18px;border-radius:50%;background:#0984e3}.carry-dots .carry-bundle{outline:2px solid #e9b027;outline-offset:1px}.carry-rods .carry-new-rod{animation:carry-arrive .6s ease-out;background:repeating-linear-gradient(to bottom,#bd7a00,#bd7a00 5px,#ffedaa 5px,#ffedaa 6px)}.carry-options{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0}.carry-options .btn{min-width:76px;min-height:48px}.carry-options [aria-pressed=true]{outline:3px solid #bf791d;outline-offset:3px}.carry-skip{display:block;margin:24px auto 8px}.carry-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#14382cbf;padding:14px}.carry-sheet{max-width:600px;width:100%;max-height:92dvh;overflow:auto;background:#f8fffb;color:#14382c;border-radius:24px;padding:20px;text-align:center}.carry-help-button{display:block;margin:10px auto;min-height:44px}@keyframes carry-arrive{0%{opacity:0;transform:translate(40px,-15px) scale(.6)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.carry-rods .carry-new-rod{animation:none}}.character-speech{background:#fff8db;border:2px solid #efdc94;border-radius:18px;padding:12px 16px;margin:14px 0;text-align:left;color:#51401a}.character-speech p{margin:4px 0 0}.character-card{display:flex;flex-direction:column;align-items:center;gap:10px}.character-card h2,.character-card p{margin:4px 0}.character-card .character-close{background:#6b3fa0;color:#fff;border-color:#512a80;box-shadow:0 4px #512a80;min-height:44px}.character-card .character-close:hover{background:#593187}.character-card .character-close:focus-visible{outline:3px solid #b77c17;outline-offset:4px}.character-card blockquote{margin:8px 0;background:#e1f9ef;border-radius:16px;padding:16px}.character-greeting{background:transparent;border:0;border-radius:30px;cursor:pointer;min-width:120px;min-height:120px}.character-greeting.greet .critter{animation:character-hello .6s ease-in-out}@keyframes character-hello{25%,75%{transform:rotate(-7deg)}50%{transform:rotate(7deg) translateY(-6px)}}@media (prefers-reduced-motion:reduce){.character-greeting.greet .critter{animation:none}}.manipulative{margin:14px 0;text-align:center;font-size:16px}.manipulative button{touch-action:manipulation;cursor:pointer;font:inherit}.manipulative button:disabled{opacity:.5;cursor:default}.manipulative button:focus-visible{outline:3px solid #6b3fa0;outline-offset:3px}.manipulative .manip-reset-button{display:block;margin:14px auto 0;min-height:44px;background:#6b3fa0;color:#fff;border-color:#512a80;box-shadow:0 4px #512a80}.manipulative .manip-reset-button:hover:not(:disabled){background:#593187}.lesson .carry-help-button{background:#fff0bc;color:#624500;border:2px solid #ae7b16;box-shadow:0 4px #ae7b16;margin:20px auto 14px}.lesson .carry-help-button:hover:not(:disabled){background:#ffe396}.lesson .carry-help-button:focus-visible{outline:3px solid #6b3fa0;outline-offset:4px}.lesson-board.lesson-board-manipulative{justify-content:flex-start;gap:12px}.lesson-board-manipulative .lesson-main{gap:8px}.lesson-board-manipulative .manipulative{margin:8px 0 0;width:100%}.lesson-board-manipulative .carry-help-button{margin:4px auto 0}.lesson-board-manipulative .feedback:empty{display:none}.lesson-board-manipulative .manip-group{gap:5px;padding:8px}.lesson-board-manipulative .manip-groups{gap:8px}.manip-fraction-scroll{overflow-x:auto;padding:4px}.manip-bar{min-width:calc(var(--parts)*44px);display:grid;grid-template-columns:repeat(var(--parts),1fr);gap:3px;max-width:520px;margin:14px auto}.manip-bar button{min-width:0;min-height:72px;background:#eee7fa;border:2px solid #7152bb;border-radius:8px}.manip-bar .painted{background:#7152bb;box-shadow:inset 0 0 0 3px #e4d7ff}.manip-removal{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.manip-removal button{position:relative;width:44px;height:44px;border:1px solid #aad8cd;border-radius:12px;background:#f5fffb}.manip-removal i,.manip-objects i{display:inline-block;width:18px;height:18px;border-radius:50%;background:#0984e3}.manip-removal .removed i{opacity:.25}.manip-removal span{position:absolute;top:0;right:0;bottom:0;left:0;font-size:30px;color:#943b43}.manip-values{display:grid;grid-template-columns:repeat(var(--columns,4),minmax(0,1fr));gap:6px}.manip-value{background:#f0f9f6;border-radius:12px;padding:8px 2px;display:flex;align-items:center;flex-direction:column;gap:8px}.manip-value>b{font-size:13px}.manip-block{display:grid;place-items:center;background:#007f65;color:#fff;min-height:50px;min-width:44px;border-radius:6px}.block-10{background:#0768b5}.block-100{background:#7152bb}.block-1000{background:#975317}.manip-counter{display:flex;justify-content:center;align-items:center;gap:5px}.manip-counter button{width:44px;min-height:44px;border:1px solid #9ebeb5;background:#fff;color:#14382c;border-radius:10px;font-weight:900}.manip-counter output{min-width:22px;font-weight:900}.manip-wallet,.manip-groups{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.manip-cash{min-width:76px;min-height:48px;border:2px solid #b27d13;border-radius:10px;background:#fff1bb;color:#594000;margin:5px}.manip-cash.coin{border-radius:50%;background:#e0e5ee;min-width:56px}.manip-group{flex:1 1 125px;max-width:230px;display:flex;flex-direction:column;gap:8px;align-items:center;border:2px dashed #7dbda9;border-radius:14px;padding:10px;background:#f6fffc}.manip-objects{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;min-height:18px}.manip-pool{background:#e9f5ff;border-radius:14px;padding:12px;margin:12px 0;display:flex;flex-direction:column;gap:8px}.manip-pool small{font-size:13px}.manip-expression{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:14px 0;font-size:25px;font-weight:900}.manip-expression button{min-width:44px;min-height:44px;border:2px solid #b27d13;border-radius:12px;background:#fff1bb;color:#594000}.manip-expression .selected{background:#6b3fa0;color:#fff;border-color:#512a80}.manip-step{display:flex;flex-direction:column;gap:10px;align-items:center}.manip-step label{display:flex;flex-direction:column;gap:6px}.manip-step input{max-width:140px;text-align:center;border:2px solid #7152bb;border-radius:12px;padding:10px;font:inherit}@media (max-width:480px){.manip-values{grid-template-columns:repeat(2,minmax(0,1fr))}.manip-bar{gap:2px}.manip-bar button{min-height:64px}.manip-group{flex-basis:100px;padding:8px}}.compact-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.compact-group-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:64px;min-width:0;padding:8px;border:2px solid #8ab8aa;border-radius:12px;background:#f4fffa;color:#143d32}.compact-group-box .manip-objects{gap:3px}.compact-group-box .manip-objects i{width:8px;height:8px}.compact-group-box b{font-size:15px}.compact-group-box.chosen{background:#d6c7f3;border-color:#6b3fa0;box-shadow:inset 0 0 0 1px #6b3fa0}.compact-group-box[aria-pressed]{cursor:pointer}.distribution-control{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;border-radius:16px;background:#eaf6ff}.distribution-control small{max-width:290px;line-height:1.4}.distribution-control .manip-counter{gap:18px}.distribution-control output{font-size:24px}.distribution-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:14px 0 8px}.distribution-preview>div{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border:1px dashed #6fae9a;border-radius:10px;background:#f5fffa}.distribution-preview small{font-size:11px;white-space:nowrap}.distribution-preview b{font-size:18px}.distribution-reserve{margin:8px 0 14px;padding:8px;border-radius:12px;background:#eaf6ff}.manipulative>.pad-continue-btn{margin-top:16px}.counting-object{display:inline-block;width:24px;height:24px;flex-shrink:0;vertical-align:middle;pointer-events:none}.manip-objects .counting-object{width:22px;height:22px}.compact-group-box .manip-objects .counting-object{width:17px;height:17px}.manip-objects{align-items:center;gap:4px}.manip-removal button{display:flex;align-items:center;justify-content:center}.manip-removal button>.counting-object{width:29px;height:29px}.manip-removal .removed .counting-object{opacity:.25}.manip-removal .removed>span{display:grid;place-items:center;font-weight:800;pointer-events:none}.activity-theme-caption{display:flex;align-items:center;justify-content:center;gap:7px;color:#365b49;font-size:13px;font-weight:700;margin:4px 0 8px}.activity-theme-caption .counting-object{width:21px;height:21px}.compact-group-box .manip-objects{max-width:120px}.manip-pool .manip-objects{max-width:330px;margin:auto}.garden-journey{margin:14px 0 20px;border:1px solid #bdddc9;border-radius:22px;background:#f4fcf5;padding:14px;color:#214b39}.garden-journey header{display:flex;gap:12px;align-items:center}.garden-journey header .critter{flex-shrink:0}.garden-journey h3{font-size:22px;margin:2px 0}.garden-journey p{margin:4px 0;line-height:1.45}.garden-journey small{color:#486d57}.garden-scene{margin:12px 0}.garden-scene svg{display:block;width:100%;height:auto}.garden-scene figcaption{font-size:12px;line-height:1.5;margin-top:6px;color:#365843;text-align:center}.garden-mission{padding:10px;border-radius:14px;background:#fff}.garden-node-mission{font-size:12px;color:#54754f;display:block;line-height:1.4;margin:3px 0}.lesson.garden-lesson{background:linear-gradient(180deg,#dff0e4,#fafffb 42%,#fff 85%)}.garden-lesson .question-card{background:#fff}.garden-lesson .garden-lesson-mission{font-size:13px;color:#345d45;text-align:center;padding:6px 12px;line-height:1.4}.garden-intro{max-width:530px;max-height:92dvh;overflow:auto;background:#f8fff9;border-radius:24px;padding:24px;color:#214b39;text-align:center}.garden-intro h2{margin:8px 0}.garden-intro p{line-height:1.5}.garden-intro .actions{margin-top:16px}.garden-intro-host{display:flex;align-items:center;justify-content:center;gap:10px}.garden-result{max-width:560px;width:100%;margin:14px auto;padding:14px;border-radius:22px;background:#f2faf3;color:#214b39}.garden-result p{margin:5px;line-height:1.5}.garden-celebrate svg{animation:garden-ready .65s ease-out}@keyframes garden-ready{0%{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:480px){.garden-journey{padding:12px}.garden-journey h3{font-size:19px}.garden-intro{padding:18px}.garden-intro h2{font-size:23px}}@media (prefers-reduced-motion:reduce){.garden-celebrate svg{animation:none}}.journey-connected-path{gap:32px;isolation:isolate}.journey-roads{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;z-index:0;pointer-events:none}.journey-connected-path .node-row{z-index:1}.lesson.garden-lesson-forest{background:linear-gradient(180deg,#e6efdc,#fafffb 42%,#fff 85%)}.lesson.garden-lesson-workshop{background:linear-gradient(180deg,#ffecd4,#fffaf4 42%,#fff 85%)}.lesson.garden-lesson-lake{background:linear-gradient(180deg,#dceffa,#f7fcff 42%,#fff 85%)}.lesson.garden-lesson-market{background:linear-gradient(180deg,#fce7dc,#fffaf6 42%,#fff 85%)}.lesson.garden-lesson-kitchen{background:linear-gradient(180deg,#ece6f9,#fcfaff 42%,#fff 85%)}.lesson.garden-lesson-expedition{background:linear-gradient(180deg,#f7edda,#fffdf5 42%,#fff 85%)}@media (max-width:480px){.journey-connected-path .node-row.pos0{padding-left:0}.journey-connected-path .node-row.pos1,.journey-connected-path .node-row.pos3{padding-left:32px}.journey-connected-path .node-row.pos2{padding-left:64px}}
