@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2) format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2) format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(/assets/poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-devanagari-800-normal-ACzlZF75.woff2) format("woff2"),url(/assets/poppins-devanagari-800-normal-BLmXVokE.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-latin-ext-800-normal-CDgOlX-1.woff2) format("woff2"),url(/assets/poppins-latin-ext-800-normal-CIZaRbSk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-latin-800-normal-Bd8-pIP1.woff2) format("woff2"),url(/assets/poppins-latin-800-normal-YoItoZZV.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--green: #58cc02;--green-dark: #46a302;--green-light: #d7ffb8;--blue: #1cb0f6;--blue-dark: #1899d6;--blue-light: #ddf4ff;--purple: #ce82ff;--purple-dark: #a568cc;--purple-light: #f3e5ff;--gold: #ffc800;--gold-dark: #e6a800;--red: #ff4b4b;--red-dark: #ea2b2b;--red-light: #ffdfe0;--orange: #ff9600;--ink: #3c3c3c;--ink-soft: #777777;--line: #e5e5e5;--bg: #fffdf7;--card: #ffffff;--radius: 16px;--radius-lg: 24px;font-size:16px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Poppins,Segoe UI,system-ui,sans-serif;background:radial-gradient(900px 420px at 15% -140px,#eaffdc,#eaffdc00 65%),radial-gradient(800px 400px at 95% 8%,#e4f6ff,#e4f6ff00 60%),radial-gradient(700px 500px at 0% 88%,#f6ecff,#f6ecff00 55%),linear-gradient(180deg,#fbfff5 0%,var(--bg) 400px);background-attachment:fixed;color:var(--ink);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;letter-spacing:-.01em}button{font-family:inherit}a{color:var(--blue);text-decoration:none}.app-shell{display:flex;min-height:100dvh}.main-area{flex:1;min-width:0;padding-bottom:84px}@media (min-width: 900px){.main-area{padding-bottom:24px;margin-left:212px}}.page{max-width:640px;margin:0 auto;padding:20px 16px 40px;animation:pageIn .32s cubic-bezier(.25,1,.4,1)}@keyframes pageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.page-wide{max-width:860px}.nav-side{display:none;position:fixed;left:0;top:50%;transform:translateY(-50%);width:196px;max-height:86vh;border-right:none;background:radial-gradient(140% 110% at 8% 18%,#175033f5,#10402af0 48%,#0b3120e6,#0b312000);border-radius:0 44px 44px 0;box-shadow:18px 0 46px -12px #0a2e1c61,0 24px 60px -18px #0a2e1c73;padding:26px 16px 26px 10px;flex-direction:column;gap:7px;z-index:30;overflow-y:auto;scrollbar-width:none}.nav-side::-webkit-scrollbar{display:none}.nav-side:after{content:"";position:absolute;top:-34px;right:-50px;bottom:-34px;left:-20px;background:radial-gradient(60% 60% at 30% 50%,#10402a59,#10402a00 72%);z-index:-1;pointer-events:none}@media (min-width: 900px){.nav-side{display:flex}.nav-bottom{display:none!important}}.nav-logo{font-size:1.7rem;font-weight:900;color:var(--green);padding:6px 12px 18px;letter-spacing:-.5px}.nav-side .nav-logo{color:#d7ffb8;text-shadow:0 2px 8px rgba(0,0,0,.25)}.nav-side .nav-item{color:#ecfdf0b8}.nav-side .nav-item:hover{background:#ffffff17;color:#fff}.nav-side .nav-item.active{color:#fff;background:#ffffff24;border-color:#ffffff47}.nav-side .nav-item{position:relative}.nav-side .nav-item.active:before{content:"";position:absolute;left:-12px;top:22%;bottom:22%;width:4px;border-radius:4px;background:#7ee23a;box-shadow:0 0 12px #7ee23acc}.nav-side .nav-item:hover{transform:translate(3px);transition:transform .15s,background .15s}.side-profile{display:flex;gap:10px;align-items:center;margin:0 6px 8px;padding:11px 12px;border-radius:16px;background:#ffffff12;border:1.5px solid rgba(255,255,255,.11)}.side-avatar{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#1cb0f6,#0e78b6);display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.15rem;box-shadow:0 0 0 3px #ffffff29,0 4px 10px #00000040}.sp-name{font-weight:800;color:#fff;font-size:.9rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-meta{font-size:.68rem;color:#e2ffec99;font-weight:700}.level-chip{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:linear-gradient(180deg,#ffd84d,#f2b90d);color:#5b3a00;font-size:.62rem;font-weight:800;vertical-align:middle}.side-sec{margin:12px 12px 4px;font-size:.6rem;letter-spacing:1.8px;font-weight:800;color:#e2ffec61;text-transform:uppercase}.side-widget{margin:6px 6px 0;padding:12px 13px;border-radius:16px;background:#ffffff12;border:1.5px solid rgba(255,255,255,.11);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.side-strong{font-size:.8rem;font-weight:800;color:#fff}.side-dim{font-size:.7rem;font-weight:600;color:#e2ffec99}.week-dots{display:flex;justify-content:space-between}.week-dot{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.58rem;font-weight:800;color:#e2ffec80}.week-dot i{width:18px;height:18px;border-radius:50%;font-style:normal;font-size:.6rem;background:#ffffff21;color:#3f3000;display:grid;place-items:center;transition:transform .2s}.week-dot.on i{background:linear-gradient(180deg,#ffd84d,#f2b90d);box-shadow:0 0 9px #ffc8008c}.week-dot.today i{outline:2px solid rgba(255,255,255,.55);outline-offset:1.5px}.week-dot.on.today i{transform:scale(1.12)}.goal-row{display:flex;align-items:center;gap:12px}.ring-wrap{position:relative;flex:0 0 60px;width:60px;height:60px}.ring-wrap svg{transform:rotate(-90deg);display:block}.ring-val{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:.78rem;font-weight:800;color:#fff}.ring-val small{font-size:.6rem;opacity:.7}.side-track{height:8px;border-radius:999px;background:#ffffff21;overflow:hidden}.side-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#7ee23a,#58cc02);transition:width .6s cubic-bezier(.3,1.2,.5,1)}.side-cta{margin:auto 6px 4px;padding-top:14px}.side-cta-btn{display:flex;align-items:center;gap:11px;width:100%;padding:12px 14px;border:none;border-radius:16px;cursor:pointer;background:linear-gradient(135deg,#6fdc1e,#46a302);color:#fff;text-align:left;font-family:inherit;box-shadow:0 4px #2f7a00,0 8px 18px #46a30266;transition:transform .06s,box-shadow .06s,filter .15s}.side-cta-btn:hover{filter:brightness(1.07)}.side-cta-btn:active{transform:translateY(4px);box-shadow:0 0 #2f7a00}.cta-play{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#ffffff38;display:grid;place-items:center;font-size:.9rem}.side-cta-btn b{display:block;font-size:.85rem}.side-cta-btn small{display:block;font-size:.66rem;font-weight:600;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:2px solid transparent;font-weight:800;font-size:.95rem;color:var(--ink-soft);cursor:pointer;background:none;text-transform:uppercase;letter-spacing:.4px;transition:background .15s}.nav-item:hover{background:#f7f7f7}.nav-item.active{color:var(--blue);background:var(--blue-light);border-color:#84d8ff}.nav-item .nav-emoji{font-size:1.4rem}.nav-item .nav-ico{display:inline-flex;transition:transform .18s cubic-bezier(.3,1.6,.5,1)}.nav-item:hover .nav-ico,.nav-item.active .nav-ico{transform:scale(1.12)}.nav-bottom{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:space-around;background:var(--card);border-top:2px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.nav-bottom .nav-item{flex-direction:column;gap:2px;padding:8px 10px;font-size:.6rem}.nav-bottom .nav-emoji{font-size:1.5rem}.card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius-lg);padding:20px}.card+.card{margin-top:14px}h1{font-size:1.6rem;font-weight:900}h2{font-size:1.2rem;font-weight:900}.muted{color:var(--ink-soft)}.small{font-size:.85rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;border-radius:14px;border:none;cursor:pointer;font-weight:900;font-size:1rem;text-transform:uppercase;letter-spacing:.6px;color:#fff;background:var(--green);box-shadow:0 4px 0 var(--green-dark);transition:transform .05s,box-shadow .05s,filter .15s;-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 0 0 var(--green-dark)}.btn:disabled{background:#e5e5e5;box-shadow:0 4px #cfcfcf;color:#afafaf;cursor:not-allowed}.btn-blue{background:var(--blue);box-shadow:0 4px 0 var(--blue-dark)}.btn-blue:active:not(:disabled){box-shadow:0 0 0 var(--blue-dark)}.btn-purple{background:var(--purple);box-shadow:0 4px 0 var(--purple-dark)}.btn-purple:active:not(:disabled){box-shadow:0 0 0 var(--purple-dark)}.btn-red{background:var(--red);box-shadow:0 4px 0 var(--red-dark)}.btn-red:active:not(:disabled){box-shadow:0 0 0 var(--red-dark)}.btn-white{background:#fff;color:var(--blue);border:2px solid var(--line);box-shadow:0 4px 0 var(--line)}.btn-white:active:not(:disabled){box-shadow:0 0 0 var(--line)}.btn-sm{width:auto;padding:9px 16px;font-size:.8rem;border-radius:12px}.btn-icon{width:44px;height:44px;padding:0;border-radius:50%;font-size:1.2rem}.input,textarea.input{width:100%;padding:13px 16px;font-size:1rem;font-family:inherit;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);outline:none}.input:focus{border-color:var(--blue)}textarea.input{resize:vertical;min-height:120px}.stat-row{display:flex;gap:10px;justify-content:flex-end;margin-bottom:14px;flex-wrap:wrap}.stat-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;font-weight:900;font-size:.92rem;background:var(--card);border:2px solid var(--line)}.stat-pill.fire{color:var(--orange)}.stat-pill.gem{color:var(--blue)}.stat-pill.heart{color:var(--red)}.progress-track{height:14px;border-radius:999px;background:var(--line);overflow:hidden;flex:1}.progress-fill{height:100%;border-radius:999px;background:var(--green);transition:width .4s cubic-bezier(.3,1.4,.5,1);position:relative;overflow:hidden}.progress-fill:before{content:"";position:absolute;top:3px;left:8px;right:8px;height:4px;border-radius:999px;background:#ffffff59}.progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);animation:shimmer 2.4s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-fill.blue{background:var(--blue)}.progress-fill.gold{background:var(--gold)}.path-week{margin-bottom:26px}.week-banner{background:var(--green);color:#fff;border-radius:var(--radius-lg);padding:16px 20px;display:flex;align-items:center;gap:14px;box-shadow:0 4px 0 var(--green-dark)}.week-banner.locked{background:#b7b7b7;box-shadow:0 4px #999}.week-banner.done{background:var(--gold);box-shadow:0 4px 0 var(--gold-dark)}.week-banner .we{font-size:2rem}.week-banner .we-num{flex:0 0 46px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#ffffff29;border:2px solid rgba(255,255,255,.35);font-weight:800;font-size:1.05rem;color:#fff;box-shadow:inset 0 2px #ffffff26}.week-banner h3{font-size:1.05rem;font-weight:900}.week-banner p{font-size:.82rem;opacity:.92}.path-nodes{position:relative;display:flex;flex-direction:column;align-items:center;padding:22px 0 8px;gap:26px}.path-node-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:7px}.path-node{position:relative;width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;background:radial-gradient(circle at 32% 26%,#7ee23a,var(--green) 62%);box-shadow:0 7px 0 var(--green-dark),0 10px 18px #58cc0240,inset 0 -4px #00000014;transition:transform .06s,box-shadow .06s,filter .2s}.path-node:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);pointer-events:none}.path-node:hover:not(.locked){filter:brightness(1.05)}.path-node:active:not(.locked){transform:translateY(7px);box-shadow:0 0 0 var(--green-dark),inset 0 -4px #00000014}.path-node.locked{background:radial-gradient(circle at 32% 26%,#f0f0f0,#dcdcdc 62%);box-shadow:0 7px #c4c4c4,inset 0 -4px #0000000d;cursor:not-allowed}.path-node.done{background:radial-gradient(circle at 32% 26%,#ffe066,var(--gold) 62%);box-shadow:0 7px 0 var(--gold-dark),0 10px 18px #ffc8004d,inset 0 -4px #00000014}.path-node.test{background:radial-gradient(circle at 32% 26%,#e3aaff,var(--purple) 62%);box-shadow:0 7px 0 var(--purple-dark),0 10px 18px #ce82ff4d,inset 0 -4px #00000014}.path-node.test.done{background:radial-gradient(circle at 32% 26%,#ffe066,var(--gold) 62%);box-shadow:0 7px 0 var(--gold-dark),inset 0 -4px #00000014}.path-node.current{animation:nodeGlow 2s ease-in-out infinite}@keyframes nodeGlow{0%,to{box-shadow:0 7px 0 var(--green-dark),0 0 #58cc0273,inset 0 -4px #00000014}50%{box-shadow:0 7px 0 var(--green-dark),0 0 0 14px #58cc0200,inset 0 -4px #00000014}}.start-bubble{position:absolute;top:-46px;left:50%;transform:translate(-50%);background:#fff;color:var(--green);border:2px solid var(--line);padding:6px 14px;border-radius:12px;font-weight:900;font-size:.78rem;letter-spacing:1px;white-space:nowrap;z-index:5;animation:floaty 1.6s ease-in-out infinite;box-shadow:0 3px 0 var(--line)}.start-bubble:after{content:"";position:absolute;bottom:-7px;left:50%;transform:translate(-50%) rotate(45deg);width:12px;height:12px;background:#fff;border-right:2px solid var(--line);border-bottom:2px solid var(--line)}@keyframes floaty{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-6px)}}.node-stars{display:flex;gap:1px;margin-top:-3px;height:16px}.path-node-label{font-size:.76rem;font-weight:700;color:var(--ink-soft);max-width:132px;text-align:center;letter-spacing:-.01em}@keyframes nodeIn{0%{opacity:0;transform:translate(var(--off, 0)) scale(.5) translateY(16px)}to{opacity:1;transform:translate(var(--off, 0)) scale(1) translateY(0)}}.path-decor{position:absolute;z-index:0;opacity:.9;pointer-events:none;animation:pageIn .6s backwards}.lesson-top{display:flex;align-items:center;gap:12px;margin-bottom:20px}.close-x{background:none;border:none;font-size:1.5rem;color:var(--ink-soft);cursor:pointer;font-weight:900}.hearts{font-weight:900;color:var(--red);display:flex;align-items:center;gap:4px}.choice-list{display:flex;flex-direction:column;gap:10px;margin:16px 0}.choice{padding:14px 16px;border-radius:14px;cursor:pointer;border:2px solid var(--line);border-bottom-width:4px;background:#fff;font-size:1rem;font-weight:700;text-align:left;transition:background .1s}.choice:hover:not(:disabled){background:#f7fbff}.choice.selected{border-color:var(--blue);background:var(--blue-light);color:var(--blue-dark)}.choice.correct{border-color:var(--green);background:var(--green-light);color:var(--green-dark)}.choice.wrong{border-color:var(--red);background:var(--red-light);color:var(--red-dark)}.word-chip{display:inline-block;margin:4px;padding:10px 14px;border:2px solid var(--line);border-bottom-width:4px;border-radius:12px;background:#fff;font-weight:800;font-size:1rem;cursor:pointer}.word-chip:disabled{opacity:.35}.word-slot{min-height:56px;border-bottom:2px solid var(--line);padding:8px 2px;margin-bottom:14px}.feedback-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:18px 16px calc(18px + env(safe-area-inset-bottom));animation:slideUp .25s cubic-bezier(.3,1.4,.5,1)}@media (min-width: 900px){.feedback-bar{left:212px}}.feedback-bar.good{background:var(--green-light)}.feedback-bar.bad{background:var(--red-light)}.feedback-inner{max-width:640px;margin:0 auto}.feedback-title{font-weight:900;font-size:1.15rem;margin-bottom:4px}.feedback-bar.good .feedback-title{color:var(--green-dark)}.feedback-bar.bad .feedback-title{color:var(--red-dark)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.speak-btn{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;border:none;cursor:pointer;background:var(--blue);color:#fff;font-size:1.5rem;box-shadow:0 4px 0 var(--blue-dark)}.speak-btn.small{width:40px;height:40px;font-size:1rem;border-radius:12px}.speak-btn:active{transform:translateY(4px);box-shadow:none}.speak-btn.recording{background:var(--red);box-shadow:0 4px 0 var(--red-dark);animation:pulse 1s infinite}@keyframes pulse{50%{filter:brightness(1.2)}}.chat-page{display:flex;flex-direction:column}.chat-hero{position:sticky;top:10px;z-index:22;display:flex;align-items:center;gap:13px;padding:12px 14px;margin-bottom:16px;border-radius:22px;background:radial-gradient(140% 160% at 10% 0%,#175033f7,#0b3120f2 75%);border:1.5px solid rgba(255,255,255,.14);box-shadow:0 12px 30px #0a2e1c59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dara-ava{position:relative;flex:0 0 62px;width:62px;height:62px;border-radius:50%;background:radial-gradient(circle at 32% 26%,#d8f3ff,#9fdcff);display:grid;place-items:center;box-shadow:0 0 0 3px #ffffff40}.dara-ava.speaking:before,.dara-ava.speaking:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2.5px solid rgba(126,226,58,.7);animation:talkRing 1.4s ease-out infinite}.dara-ava.speaking:after{animation-delay:.7s}@keyframes talkRing{0%{transform:scale(.9);opacity:1}to{transform:scale(1.5);opacity:0}}.dara-ava.thinking{animation:avaBob 1s ease-in-out infinite}@keyframes avaBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.ch-name{font-weight:800;color:#fff;font-size:1.1rem}.ch-badge{margin-left:6px;padding:2px 9px;border-radius:999px;vertical-align:middle;background:linear-gradient(180deg,#ffd84d,#f2b90d);color:#5b3a00;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.ch-status{display:flex;align-items:center;gap:6px;font-size:.74rem;font-weight:600;color:#e2ffecbf}.ch-dot{width:8px;height:8px;border-radius:50%;background:#7ee23a;box-shadow:0 0 8px #7ee23ae6;animation:pulse 2s infinite}.ch-dot.amber{background:#ffc800;box-shadow:0 0 8px #ffc800e6}.ch-voice{flex:0 0 44px;width:44px;height:44px;border-radius:50%;cursor:pointer;border:1.5px solid rgba(255,255,255,.2);background:#ffffff1a;font-size:1.1rem;transition:background .15s,transform .1s}.ch-voice:hover{background:#fff3}.ch-voice:active{transform:scale(.92)}.ch-voice.on{background:#7ee23a40;border-color:#7ee23a80}.chat-scroll{display:flex;flex-direction:column;gap:4px;padding-bottom:130px}.msg-row{display:flex;align-items:flex-end;gap:8px;margin-bottom:10px}.msg-row.me{justify-content:flex-end}.msg-ava{flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#eaf7ff;border:2px solid #cdeeff;display:grid;place-items:center;overflow:hidden}.bubble{padding:12px 16px;border-radius:20px;font-size:.98rem;line-height:1.5}.bubble p{font-weight:600}.bubble.dara{background:#fffffff5;border:1.5px solid rgba(0,0,0,.05);border-bottom-left-radius:6px;box-shadow:0 3px 10px #1e321414}.bubble.me{max-width:82%;background:linear-gradient(135deg,#2bb9f8,#1899d6);color:#fff;border-bottom-right-radius:6px;box-shadow:0 3px 10px #1899d640}.bubble-en{margin-top:8px;padding-top:8px;border-top:1.5px dashed var(--line);font-size:.85rem;color:var(--ink-soft);font-weight:500!important;animation:pageIn .25s}.bubble-actions{display:flex;gap:6px;margin:6px 0 2px 6px}.chip-act{min-width:34px;height:30px;padding:0 10px;border-radius:999px;cursor:pointer;border:1.5px solid rgba(0,0,0,.08);background:#ffffffd9;font-size:.78rem;font-weight:800;color:var(--ink-soft);transition:transform .12s,background .12s}.chip-act:hover{transform:translateY(-2px);background:#fff}.chip-act.on{background:var(--blue-light);border-color:#84d8ff;color:var(--blue-dark)}.fix-card{display:flex;gap:9px;margin-top:10px;padding:9px 11px;border-radius:12px;background:linear-gradient(180deg,#fff8e1,#fff3c4);border:1.5px solid #f0d060}.fix-card .fix-ico{font-size:1rem}.fix-card b{font-size:.68rem;text-transform:uppercase;letter-spacing:.8px;color:#9c7a00;display:block}.fix-card p{font-size:.83rem;color:#7a6000;font-weight:600}.qchips{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 0 46px;animation:pageIn .35s}.qchip{padding:9px 15px;border-radius:999px;cursor:pointer;background:#ffffffe6;border:1.5px solid rgba(28,176,246,.35);color:var(--blue-dark);font-weight:700;font-size:.83rem;box-shadow:0 2px 6px #1e321414;transition:transform .12s,background .12s,box-shadow .12s}.qchip:hover{transform:translateY(-2px);background:#fff;box-shadow:0 5px 12px #1e321424}.qchip.hint{background:linear-gradient(180deg,#fff8e1,#ffefb3);border-color:#f0d060;color:#8a6d00}.chat-dock{display:flex;align-items:flex-end;gap:8px;width:100%;max-width:640px;margin:0 auto;padding:8px;border-radius:26px;background:#fffffff5;border:1.5px solid rgba(0,0,0,.07);box-shadow:0 10px 30px #1e32142e}.dock-input{flex:1;border:none;outline:none;resize:none;background:transparent;font-family:inherit;font-size:.98rem;font-weight:600;color:var(--ink);padding:11px 6px;min-height:42px;max-height:120px}.dock-mic,.dock-send{flex:0 0 44px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;font-size:1.05rem;color:#fff;transition:transform .1s,filter .15s}.dock-mic{background:linear-gradient(135deg,#2bb9f8,#1899d6);box-shadow:0 3px #147cb0}.dock-mic.rec{background:linear-gradient(135deg,#ff6b6b,#ea2b2b);box-shadow:0 3px #b91c1c;animation:pulse 1s infinite}.dock-send{background:linear-gradient(135deg,#6fdc1e,#46a302);box-shadow:0 3px #2f7a00}.dock-send:disabled{background:#e0e0e0;box-shadow:0 3px #c9c9c9;color:#aaa;cursor:not-allowed}.dock-mic:active,.dock-send:active:not(:disabled){transform:translateY(3px);box-shadow:none}.chat-input-bar{position:fixed;bottom:70px;left:0;right:0;z-index:25;padding:8px 12px;background:transparent;border:none;display:flex;gap:8px;align-items:flex-end}@media (min-width: 900px){.chat-input-bar{bottom:14px}}@media (min-width: 900px){.chat-input-bar{left:212px;bottom:0}}.typing-dots{display:inline-flex;gap:4px;padding:6px 2px}.typing-dots span{width:8px;height:8px;border-radius:50%;background:#bbb;animation:blink 1.2s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.flip-card{perspective:1000px;cursor:pointer;height:240px}.flip-inner{position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}.flip-card.flipped .flip-inner{transform:rotateY(180deg)}.flip-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:var(--radius-lg);border:2px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;background:var(--card);text-align:center}.flip-face.back{transform:rotateY(180deg);background:var(--purple-light)}.flip-word{font-size:1.9rem;font-weight:900}.ipa{color:var(--ink-soft);font-size:.95rem}.dara-bounce{animation:bounce 2.4s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.shake{animation:shake .4s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.pop-in{animation:popIn .35s cubic-bezier(.3,1.6,.5,1)}@keyframes popIn{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:999px;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.badge.green{background:var(--green-light);color:var(--green-dark)}.badge.blue{background:var(--blue-light);color:var(--blue-dark)}.badge.purple{background:var(--purple-light);color:var(--purple-dark)}.badge.gold{background:#fff3c4;color:#9c7a00}.badge.red{background:var(--red-light);color:var(--red-dark)}.skill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.skill-tile{border:2px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:#fff}.skill-tile .sk-name{font-weight:900;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);display:flex;justify-content:space-between}.skill-tile .sk-score{font-size:1.3rem;font-weight:900}.spinner{width:44px;height:44px;border-radius:50%;border:5px solid var(--line);border-top-color:var(--green);animation:spin .8s linear infinite;margin:30px auto}@keyframes spin{to{transform:rotate(360deg)}}.loading-quote{text-align:center;color:var(--ink-soft);font-weight:700;max-width:380px;margin:0 auto}.confetti-piece{position:fixed;top:-12px;z-index:100;pointer-events:none;animation:fall linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(720deg);opacity:.6}}.video-embed{position:relative;width:100%;padding-top:56.25%;border-radius:var(--radius-lg);overflow:hidden;border:2px solid var(--line);background:#000}.video-embed iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.topbar{position:sticky;top:0;z-index:20;display:flex;gap:8px;justify-content:space-between;align-items:center;margin:-20px -16px 14px;padding:12px 16px 10px;padding-top:calc(12px + env(safe-area-inset-top));background:#fffdf7d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:2px solid var(--line)}.topbar .stat-pill{border:none;background:none;padding:6px 8px;font-size:1rem;gap:7px}.topbar .stat-pill:hover{transform:scale(1.06);transition:transform .15s}.week-banner{position:relative;overflow:hidden;animation:pageIn .4s cubic-bezier(.25,1,.4,1)}.week-banner:before{content:"";position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:50%;background:#ffffff1f}.week-banner:after{content:"";position:absolute;right:18px;bottom:-46px;width:90px;height:90px;border-radius:50%;background:#ffffff1a}.card{box-shadow:0 2px #00000008}.card.lift{transition:transform .18s,box-shadow .18s}.card.lift:hover{transform:translateY(-3px);box-shadow:0 8px 22px #00000012}.choice{transition:background .1s,transform .06s,border-color .1s}.choice:active:not(:disabled){transform:scale(.985)}.score-pop{animation:scorePop .6s cubic-bezier(.3,1.6,.5,1)}@keyframes scorePop{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.hero-float{animation:heroFloat 3.4s ease-in-out infinite}@keyframes heroFloat{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-10px) rotate(1.5deg)}}.ex-slide{animation:exIn .34s cubic-bezier(.25,1,.4,1)}@keyframes exIn{0%{opacity:0;transform:translate(56px)}to{opacity:1;transform:none}}.prev-mistake{display:flex;align-items:center;gap:6px;color:var(--orange);font-weight:800;font-size:.74rem;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:10px;animation:pageIn .3s}.wb-slot{display:inline-block;min-width:92px;text-align:center;border-bottom:3px solid var(--blue);margin:0 6px;padding:2px 10px;color:var(--blue-dark);font-weight:800;cursor:pointer;white-space:pre}.wb-slot.filled{background:var(--blue-light);border-radius:10px 10px 0 0}.wb-bank{display:flex;flex-wrap:wrap}.word-chip.wb-used{opacity:.35}.lt-word{display:inline-flex;gap:4px;margin:0 6px;vertical-align:middle}.lt-tile{width:34px;height:44px;text-align:center;border:2px solid var(--line);border-bottom-width:3.5px;border-radius:10px;font-family:inherit;font-size:1.15rem;font-weight:800;color:var(--blue-dark);background:#fff;outline:none;text-transform:lowercase}.lt-tile:focus{border-color:var(--blue);background:var(--blue-light)}.lt-fixed{width:20px;height:44px;display:inline-flex;align-items:flex-end;justify-content:center;font-weight:800;font-size:1.15rem;color:var(--ink-soft);padding-bottom:6px}.combo-banner{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(90deg,#ff9600,#ffc800);color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.8px;padding:5px 14px;border-radius:999px;text-transform:uppercase;animation:comboPop .5s cubic-bezier(.3,1.8,.5,1);box-shadow:0 3px #e6a800,0 6px 14px #ff960059}@keyframes comboPop{0%{transform:scale(0) rotate(-8deg)}70%{transform:scale(1.15) rotate(2deg)}to{transform:scale(1) rotate(0)}}.fb-icon{flex:0 0 auto;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;animation:scorePop .45s cubic-bezier(.3,1.7,.5,1);font-size:1.6rem;font-weight:800}.feedback-bar.good .fb-icon{color:var(--green-dark);box-shadow:0 4px #46a30240}.feedback-bar.bad .fb-icon{color:var(--red-dark);box-shadow:0 4px #ea2b2b33}.stagger>*{animation:staggerIn .45s cubic-bezier(.25,1,.4,1) backwards}.stagger>*:nth-child(1){animation-delay:.03s}.stagger>*:nth-child(2){animation-delay:.09s}.stagger>*:nth-child(3){animation-delay:.15s}.stagger>*:nth-child(4){animation-delay:.21s}.stagger>*:nth-child(5){animation-delay:.27s}.stagger>*:nth-child(6){animation-delay:.33s}.stagger>*:nth-child(7){animation-delay:.39s}.stagger>*:nth-child(8){animation-delay:.45s}@keyframes staggerIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.vid-alts{display:flex;gap:8px;overflow-x:auto;padding:10px 2px 4px}.vid-alt{flex:0 0 148px;border:2.5px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;background:#fff;padding:0;text-align:left;transition:transform .15s,border-color .15s}.vid-alt:hover{transform:translateY(-3px)}.vid-alt.on{border-color:var(--blue)}.vid-alt img{width:100%;height:82px;object-fit:cover;display:block}.vid-alt .vt{font-size:.68rem;font-weight:600;padding:6px 8px;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.forest-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:#bfe39a}.fl{position:absolute;top:-60px;right:-60px;bottom:-60px;left:-60px;will-change:transform}.fl-img{background:url(/forest/forest-wide.jpg) center / cover no-repeat;transform:none}.fl-veil{background:linear-gradient(90deg,#fcfff400 3%,#fcfff461 26%,#fcfff475,#fcfff461 74%,#fcfff400 97%)}@media (max-width: 700px){.fl-veil{background:#fcfff44d}}.forest-bg.dimmed .fl-veil{background:linear-gradient(90deg,#fafdf42e,#fafdf480 26%,#fafdf48f,#fafdf480 74%,#fafdf42e)}@media (max-width: 700px){.forest-bg.dimmed .fl-veil{background:#fafdf480}}.forest-bg.dimmed .firefly{opacity:.75}.fl-flies{transform:none}.fl-trees{display:none}@media (max-width: 900px){.fl-trees{display:block}}.forest-col{position:absolute;top:30px;bottom:-80px;display:flex;flex-direction:column;justify-content:space-between;opacity:.92}.forest-col.left{left:-74px;align-items:flex-start}.forest-col.right{right:-74px;align-items:flex-end}@media (max-width: 420px){.forest-col.left{left:-96px}.forest-col.right{right:-96px}}.sway{transform-origin:50% 20%;animation:sway 5.5s ease-in-out infinite}@keyframes sway{0%,to{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}.firefly{position:absolute;width:7px;height:7px;border-radius:50%;background:#ffe66d;box-shadow:0 0 10px 3px #ffe66da6;animation:flyDrift 6s ease-in-out infinite}@keyframes flyDrift{0%,to{transform:translate(0) scale(.7);opacity:.15}30%{transform:translate(14px,-20px) scale(1);opacity:.9}60%{transform:translate(-10px,-36px) scale(.85);opacity:.5}}.forest-page{position:relative;z-index:1}.forest-page .card{background:#fffffff0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.forest-page .topbar{background:#ffffffc7}.forest-page .path-node-label{color:#33471f;text-shadow:0 1px 0 rgba(255,255,255,.65)}.trail-svg{position:absolute;top:0;left:0;z-index:0;pointer-events:none;overflow:visible}.trail-svg path{fill:none;stroke:#5b3a1e66;stroke-width:6;stroke-linecap:round;stroke-dasharray:.5 17}.forest-page .week-banner{z-index:2}.path-node-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.float-stats{position:fixed;top:12px;right:16px;z-index:25;display:flex;gap:8px;pointer-events:none}.float-stats .stat-pill{pointer-events:auto;box-shadow:0 3px #0000000f,0 6px 14px #1e32141f;background:#fffffff2}@media (max-width: 640px){.float-stats{top:8px;right:8px}.float-stats .stat-pill{padding:5px 10px;font-size:.8rem}}.forest-page .week-banner{background:repeating-linear-gradient(0deg,rgba(0,0,0,.07) 0 2px,transparent 2px 13px),linear-gradient(180deg,#7a4a24,#5b3a1e 60%,#4a2f18);border:3px solid #3d2712;box-shadow:0 6px #33200e,0 12px 24px #26180a59,inset 0 2px #ffffff26;color:#ffefd2}.forest-page .week-banner:before{background:#ffffff0f}.forest-page .week-banner:after{width:10px;height:10px;right:12px;top:12px;bottom:auto;background:radial-gradient(circle at 35% 35%,#d9b98c,#6b4a26 70%);box-shadow:-8px 0 0 -1px #00000040 inset,0 0 0 2px #3d2712}.forest-page .week-banner.done{background:repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 2px,transparent 2px 13px),linear-gradient(180deg,#ffd84d,#f2b90d 70%);border-color:#b8860b;color:#5b3a00;box-shadow:0 6px #9a7009,0 12px 24px #b8860b59}.forest-page .week-banner.locked{filter:saturate(.35) brightness(.85)}.forest-page .path-node.done{background:radial-gradient(circle at 34% 28%,#ffe98a,#ffc800 58%,#e6a800);box-shadow:0 7px #b8860b,0 12px 22px #e6a80066,inset 0 -5px #0000001f;border:3px solid #d99e00;overflow:hidden}.forest-page .path-node.done:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.65) 46%,transparent 60%);animation:coinShine 3.2s ease-in-out infinite}@keyframes coinShine{0%,60%,to{transform:translate(-110%)}30%{transform:translate(110%)}}.forest-page .path-node.locked{background:radial-gradient(circle at 34% 28%,#9aa39a,#75806f 60%);box-shadow:0 7px #58614f,inset 0 -5px #00000026}.to-see{opacity:0}.to-see.seen{opacity:1;animation:nodeIn .55s cubic-bezier(.3,1.5,.5,1) backwards}.dara-walker{position:absolute;z-index:4;pointer-events:none;width:116px;height:132px}.dara-walker .dara-sprite{transition:transform .3s;transform-origin:50% 90%}.dara-walker.face-left .dara-sprite{transform:scaleX(-1)}.dara-walker.walking .dara-sprite{animation:walkBob .34s ease-in-out infinite}.dara-walker.face-left.walking .dara-sprite{animation:walkBobL .34s ease-in-out infinite}@keyframes walkBob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-9px) rotate(3.5deg)}}@keyframes walkBobL{0%,to{transform:scaleX(-1) translateY(0) rotate(-3deg)}50%{transform:scaleX(-1) translateY(-9px) rotate(3.5deg)}}.dara-walker .dara-shadow{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:72px;height:14px;border-radius:50%;background:#1e321440;filter:blur(1.5px);transition:transform .2s}.dara-walker.walking .dara-shadow{animation:shadowPulse .34s ease-in-out infinite}@keyframes shadowPulse{0%,to{transform:translate(-50%) scaleX(1)}50%{transform:translate(-50%) scaleX(.78);opacity:.7}}.dara-walker .dara-feet{position:absolute;bottom:4px;left:50%;transform:translate(-50%);display:flex;gap:14px}.dara-walker .dara-feet span{width:16px;height:8px;border-radius:6px 6px 3px 3px;background:#ffc800;border:1.5px solid #e6a800}.dara-walker.walking .dara-feet span:nth-child(1){animation:step1 .34s ease-in-out infinite}.dara-walker.walking .dara-feet span:nth-child(2){animation:step2 .34s ease-in-out infinite}@keyframes step1{0%,to{transform:translateY(0)}50%{transform:translateY(-10px) translate(3px)}}@keyframes step2{0%,to{transform:translateY(-10px) translate(-3px)}50%{transform:translateY(0)}}.dara-walker.arrived .dara-sprite{animation:arriveHop .55s cubic-bezier(.3,1.7,.5,1)}@keyframes arriveHop{0%{transform:translateY(0)}40%{transform:translateY(-20px) scale(1.06)}to{transform:translateY(0)}}.dara-walker .dara-bubble{position:absolute;top:-26px;left:60%;background:#fff;border:2px solid var(--line);border-radius:12px;padding:4px 10px;font-size:.7rem;font-weight:700;color:var(--ink);white-space:nowrap;opacity:0;transform:scale(.6);transition:opacity .25s,transform .25s}.dara-walker.arrived .dara-bubble,.dara-walker.idle-talk .dara-bubble{opacity:1;transform:scale(1)}@media (max-width: 640px){.dara-walker{width:92px;height:106px}.dara-walker .dara-sprite svg{width:92px;height:92px}}@media (prefers-reduced-motion: reduce){.sway,.firefly,.dara-bounce,.hero-float,.progress-fill:after,.path-node.current,.start-bubble,.fl{animation:none!important;transition:none!important}}.center{text-align:center}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-vietnamese-700-normal-DH94m5DZ.woff2) format("woff2"),url(/assets/fraunces-vietnamese-700-normal-DxawQjq2.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-ext-700-normal-CanUGppC.woff2) format("woff2"),url(/assets/fraunces-latin-ext-700-normal-DuBstVeD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-700-normal-CEOla-zY.woff2) format("woff2"),url(/assets/fraunces-latin-700-normal-DTjk5d1Q.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.landing{--cream: #faf4ec;--cream-deep: #f3e9dc;--ink: #1f2a1a;--ink-soft: #5c6657;--l-green: #58cc02;--l-green-dark: #3fa501;--l-green-deep: #2e7d01;--tangerine: #ff9600;--tangerine-deep: #e07f00;--sun: #ffc800;--l-blue: #1cb0f6;font-family:Poppins,system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.65;overflow-x:clip}.landing *{box-sizing:border-box}.landing img{max-width:100%;display:block}.landing h1,.landing h2,.landing .serif{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.14;letter-spacing:-.01em;margin:0}.landing p{margin:0}.landing a{text-decoration:none}.landing a:not([class*=l-btn]){color:inherit}.landing :focus-visible{outline:3px solid var(--tangerine);outline-offset:3px;border-radius:6px}.l-wrap{max-width:1160px;margin:0 auto;padding:0 24px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}html.landing-mode,html.landing-mode body,html.landing-mode #root{height:auto}.landing .sw-root{--sw-bg: #faf4ec;--sw-ink: #1f2a1a;--sw-ink-soft: #5c6657;--sw-accent: #58cc02;--sw-font-display: "Fraunces", Georgia, serif;--sw-font-body: "Poppins", system-ui, sans-serif}.l-after-world{position:relative;z-index:200;background:var(--cream)}.skip-link{position:absolute;left:-9999px;top:12px;z-index:200;background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font-weight:600}.skip-link:focus{left:12px}.l-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 28px;border-radius:999px;font-family:Poppins,sans-serif;font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.l-btn-green{background:var(--l-green);color:#fff;box-shadow:0 3px 0 var(--l-green-deep)}.l-btn-green:hover{background:var(--l-green-dark);transform:translateY(-1px)}.l-btn-green:active{transform:translateY(2px);box-shadow:0 1px 0 var(--l-green-deep)}.l-btn-ink{background:var(--ink);color:#fff;box-shadow:0 3px #000}.l-btn-ink:hover{background:#33402c;transform:translateY(-1px)}.l-btn-ghost{background:transparent;color:var(--ink);font-weight:600}.l-btn-ghost:hover{background:#00000009}.l-btn-white{background:#fff;color:var(--l-green-deep);box-shadow:0 3px #d9ceba}.l-btn-white:hover{transform:translateY(-1px)}.l-nav{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--cream) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #00000010}.l-nav-inner{display:flex;align-items:center;gap:28px;min-height:72px}.l-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.25rem;letter-spacing:-.02em}.l-logo img{width:38px;height:38px;border-radius:10px}.l-nav-links{display:flex;gap:4px;margin:0 auto;padding:0;list-style:none}.l-nav-links a{padding:10px 16px;border-radius:999px;font-size:.95rem;font-weight:500;color:var(--ink-soft);transition:color .15s ease,background .15s ease}.l-nav-links a:hover{color:var(--ink);background:#00000008}.l-nav-cta{display:flex;align-items:center;gap:8px;margin-left:auto}.l-hero{padding:64px 0 40px;position:relative}.l-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center}.l-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid #00000014;border-radius:999px;padding:8px 16px;font-size:.85rem;font-weight:600;color:var(--ink-soft);margin-bottom:20px}.l-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--l-green)}.l-hero h1{font-size:clamp(2.3rem,5vw,3.55rem)}.l-hero h1 em{font-style:italic;color:var(--l-green-deep)}.l-hero-sub{margin:22px 0 30px;max-width:46ch;color:var(--ink-soft);font-size:1.06rem}.l-hero-ctas{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.l-play{display:inline-flex;align-items:center;gap:12px;font-weight:600;color:var(--ink)}.l-play .pcirc{width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease}.l-play:hover .pcirc{transform:scale(1.08)}.l-trust{display:flex;align-items:center;gap:14px;margin-top:34px;flex-wrap:wrap}.l-trust .flags{display:inline-flex;gap:8px;align-items:center}.l-flag{display:inline-block;width:28px;height:20px;border-radius:4px;overflow:hidden;box-shadow:0 1px 3px #0002;flex-shrink:0;line-height:0}.l-trust .small{font-size:.88rem;color:var(--ink-soft);font-weight:500}.l-collage{position:relative;height:560px}.l-blob{position:absolute;overflow:hidden}.l-blob img{width:100%;height:100%;object-fit:cover;object-position:top center}.l-b1{width:44%;height:46%;left:2%;top:2%;border-radius:56% 44% 42% 58%/52% 55% 45% 48%}.l-b2{width:26%;height:30%;right:8%;top:0;border-radius:50% 50% 46% 54%/55% 52% 48% 45%}.l-b3{width:30%;height:34%;left:22%;top:52%;border-radius:46% 54% 55% 45%/48% 45% 55% 52%}.l-b4{width:30%;height:40%;right:3%;top:34%;border-radius:52% 48% 44% 56%/46% 56% 44% 54%}.l-b5{width:26%;height:28%;right:26%;bottom:0;border-radius:50% 50% 55% 45%/52% 48%}.l-shape{position:absolute;pointer-events:none}.l-ring{width:44px;height:44px;border:6px solid var(--tangerine);border-radius:50%;left:-2%;top:56%}.l-diamond{width:34px;height:34px;border:6px solid var(--l-green);border-radius:9px;transform:rotate(45deg);right:40%;top:26%}.l-ring2{width:26px;height:26px;border:5px solid var(--sun);border-radius:50%;right:0;bottom:18%}.l-stat-card{position:absolute;left:0;bottom:6%;background:#fff;border-radius:18px;padding:14px 18px;box-shadow:0 12px 30px #00000018;display:flex;align-items:center;gap:12px}.l-stat-card .num{font-weight:800;font-size:1.15rem;line-height:1.1}.l-stat-card .lbl{font-size:.78rem;color:var(--ink-soft);font-weight:500}.l-stat-ico{width:42px;height:42px;border-radius:12px;background:#eafbd9;color:var(--l-green-deep);display:flex;align-items:center;justify-content:center;flex-shrink:0}@media (prefers-reduced-motion: no-preference){.l-float{animation:l-float 6s ease-in-out infinite}.l-float-slow{animation:l-float 8s ease-in-out infinite}@keyframes l-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}}.l-section{padding:72px 0}.l-kicker{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tangerine-deep);margin-bottom:12px}.l-section h2{font-size:clamp(1.7rem,3.4vw,2.35rem);max-width:24ch}.l-section .l-lead{color:var(--ink-soft);margin-top:14px;max-width:58ch}@media (prefers-reduced-motion: no-preference){.l-reveal.on{animation:l-rise .55s ease-out both}@keyframes l-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}.l-feature-panel{background:#fff;border-radius:32px;padding:48px;display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}.l-feature-img{position:relative}.l-feature-img .main{border-radius:40% 60% 55% 45%/45% 42% 58% 55%;overflow:hidden;aspect-ratio:4 / 4.6;background:var(--cream-deep)}.l-feature-img .main img{width:100%;height:100%;object-fit:cover}.l-chipnote{position:absolute;background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 10px 26px #00000015;font-size:.8rem;font-weight:600;display:flex;gap:9px;align-items:center}.l-chipnote .cico{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.l-cn1{right:-4%;top:10%}.l-cn2{left:-6%;bottom:14%}.l-feat-list{display:flex;flex-direction:column;gap:14px;margin-top:28px}.l-feat{display:flex;gap:16px;align-items:flex-start;background:var(--cream);border-radius:18px;padding:18px 20px;transition:transform .18s ease,box-shadow .18s ease}.l-feat:hover{transform:translateY(-2px);box-shadow:0 10px 24px #00000010}.l-feat-ico{width:46px;height:46px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff}.l-feat h3{margin:0 0 4px;font-size:1.02rem;font-weight:700}.l-feat p{font-size:.92rem;color:var(--ink-soft)}.l-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px}.l-step{background:#fff;border-radius:22px;padding:26px 22px;position:relative}.l-step-num{width:44px;height:44px;border-radius:50%;background:var(--tangerine);color:#fff;font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-family:Fraunces,serif}.l-step h3{margin:0 0 6px;font-size:1.02rem;font-weight:700}.l-step p{font-size:.9rem;color:var(--ink-soft)}.l-exams-band{background:var(--cream-deep);border-radius:40px}.l-exam-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}.l-exam-card{background:#fff;border-radius:22px;padding:24px 20px}.l-exam-card .flag{display:block;line-height:0}.l-exam-card .flag .l-flag{width:40px;height:28px;border-radius:6px}.l-exam-card h3{margin:12px 0 2px;font-size:1.1rem;font-weight:700}.l-exam-card .native{font-size:.85rem;color:var(--ink-soft);font-weight:500;margin-bottom:14px}.l-exam-chips{display:flex;flex-wrap:wrap;gap:6px}.l-exam-chips span{font-size:.76rem;font-weight:600;padding:5px 11px;border-radius:999px;background:var(--cream);color:var(--ink);border:1px solid #00000010}.l-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}.l-quote{background:#fff;border-radius:22px;padding:26px 24px;display:flex;flex-direction:column;gap:16px}.l-quote blockquote{margin:0;font-size:.95rem;color:var(--ink)}.l-quote-who{display:flex;align-items:center;gap:12px;margin-top:auto}.l-ava{width:46px;height:46px;overflow:hidden;border-radius:46% 54% 52% 48%/50% 46% 54% 50%;flex-shrink:0}.l-ava img{width:100%;height:100%;object-fit:cover;object-position:top center}.l-quote-who .nm{font-weight:700;font-size:.92rem;line-height:1.2}.l-quote-who .ex{font-size:.78rem;color:var(--l-green-deep);font-weight:600}.l-stars{color:var(--sun);letter-spacing:2px;font-size:.9rem}.l-faq{max-width:760px;margin:44px auto 0;display:flex;flex-direction:column;gap:12px}.l-faq details{background:#fff;border-radius:18px;border:1.5px solid #00000010;overflow:hidden}.l-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-weight:600;font-size:.98rem;min-height:48px}.l-faq summary::-webkit-details-marker{display:none}.l-faq summary .chev{transition:transform .2s ease;flex-shrink:0;color:var(--ink-soft)}.l-faq details[open] summary .chev{transform:rotate(180deg)}.l-faq details[open]{border-color:var(--l-green)}.l-faq .ans{padding:0 22px 20px;color:var(--ink-soft);font-size:.94rem}.l-cta-panel{background:linear-gradient(135deg,var(--l-green) 0%,var(--l-green-dark) 100%);border-radius:36px;padding:64px 48px;text-align:center;color:#fff;position:relative;overflow:hidden}.l-cta-panel h2{color:#fff;font-size:clamp(1.9rem,4vw,2.6rem);max-width:none}.l-cta-panel p{margin:14px auto 30px;max-width:52ch;color:#ffffffd9}.l-cta-deco{position:absolute;border:6px solid #ffffff2e;border-radius:50%}.l-cd1{width:140px;height:140px;left:-40px;top:-40px}.l-cd2{width:90px;height:90px;right:-20px;bottom:-30px}.l-footer{background:var(--ink);color:#f5f2ea;margin-top:72px}.l-footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:56px 0 40px}.l-footer .l-logo{color:#fff}.l-footer p{color:#f5f2ea99;font-size:.9rem;margin-top:14px;max-width:34ch}.l-footer h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:#f5f2ea80;margin:0 0 16px}.l-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.l-footer ul a{color:#f5f2eacc;font-size:.92rem}.l-footer ul a:hover{color:#fff}.l-footer-bottom{border-top:1px solid #ffffff1a;padding:20px 0;font-size:.82rem;color:#f5f2ea80;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}@media (max-width: 960px){.l-hero-grid{grid-template-columns:1fr}.l-collage{height:420px;width:100%;max-width:520px;margin:0 auto}.l-feature-panel{grid-template-columns:1fr;padding:32px 24px}.l-steps,.l-exam-grid{grid-template-columns:repeat(2,1fr)}.l-quotes{grid-template-columns:1fr}.l-footer-inner{grid-template-columns:1fr;gap:28px}}@media (max-width: 640px){.l-nav-links{display:none}.l-hero{padding-top:40px}.l-section{padding:52px 0}.l-steps,.l-exam-grid{grid-template-columns:1fr}.l-cta-panel{padding:48px 24px}.l-collage{height:340px}.l-cn2{left:0}}
