:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#241833;--muted:#6f6580;--bg:#f7f3ff;--bg-deep:#efe7fb;--card:#fffdfb;--line:#eadff4;--coral:#ff4d73;--coral-deep:#e11d5a;--navy:#2a2144;--navy-2:#3a2d5c;--teal:#0f9b8e;--gold:#ffb703;--violet:#7c5cff;--peach:#ffe4ef;--shadow:0 18px 50px #2a21441f;--surface:#fff;--surface-soft:#fff7f1;--topbar:#fffdfbd1;--topbar-line:#fffdfbb3;--frame:#fbf8ff;--app-top:#fbf8ffe6;--switch:#efe7da;--bar-track:#efe4d4;--lead:#3c3648;--input:#fff;--chip-ink:#6d2b22;--bubble-you:#efe9ff;--bubble-them:#fff1ea;--scene-bg:#fff1cc;--scene-ink:#6a4310;--notice-bg:#e7f6f2;--notice-ink:#0f564e;--dot:#eadfce;--auth-a:#f6f1e8e6;--auth-b:#f6f1e8f0;--thread:linear-gradient(180deg, #ffffff59, #ffffff0d);--radius:26px;color:var(--ink);background:radial-gradient(900px 420px at 100% -10%, #ff4d732e, transparent 55%), radial-gradient(700px 380px at -10% 0%, #7c5cff29, transparent 50%), var(--bg);font-family:Vazirmatn,Tahoma,sans-serif;font-size:16px;line-height:1.75}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f6f1ff;--muted:#b9adc9;--bg:#14101c;--bg-deep:#1c1628;--card:#241c33;--line:#3d3252;--peach:#3c2436;--shadow:0 18px 50px #00000059;--surface:#2c2340;--surface-soft:#342848;--topbar:#181222d1;--topbar-line:#ffffff14;--frame:#171221;--app-top:#14101ce6;--switch:#342848;--bar-track:#3d3252;--lead:#ddd4ea;--input:#2c2340;--chip-ink:#ffd4cc;--bubble-you:#32265a;--bubble-them:#3a2838;--scene-bg:#3d3218;--scene-ink:#ffe3a3;--notice-bg:#16332f;--notice-ink:#b7efe6;--dot:#4a4060;--auth-a:#0c0912e0;--auth-b:#0c0912f0;--thread:linear-gradient(180deg, #ffffff0a, #ffffff05)}*{box-sizing:border-box}body{min-height:100vh;margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}h1{letter-spacing:-.035em;font-size:clamp(2.1rem,4.4vw,4.1rem);font-weight:800;line-height:1.18}h2{font-size:clamp(1.55rem,2.2vw,2.15rem);font-weight:800;line-height:1.3}h3{font-size:1.12rem;font-weight:750}.marketing{max-width:1140px;margin:0 auto;padding:18px 22px 72px}.topbar,.brand,.row,.top-actions,.chat-head,.page-head,.side-user,.list-item,.quote footer,.auth-top{align-items:center;gap:12px;display:flex}.top-actions,.auth-top{flex-wrap:wrap}.topbar{z-index:6;border:1px solid var(--topbar-line);background:var(--topbar);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;justify-content:space-between;padding:10px 14px;position:sticky;top:12px;box-shadow:0 10px 30px #1b22330f}.brand{text-decoration:none}.brand strong{line-height:1.15;display:block}.brand small,.quiet,.hint,.list-item small,.side-user small{color:var(--muted)}.mark{border-radius:14px;flex:none;width:42px;height:42px;display:block;overflow:hidden;box-shadow:0 8px 16px #7c5cff47}.topnav{gap:16px;display:flex}.topnav a{font-weight:650;text-decoration:none}.btn,.text-btn,.side-user button,.admin-nav button,.row-actions button,.chat-error button,.locale-switch button{cursor:pointer;border:0;text-decoration:none}.btn{background:linear-gradient(180deg, #ff6d8f, var(--violet));color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:800;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 10px 22px #7c5cff47}.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px #7c5cff57}.btn:active{transform:translateY(0)scale(.97)}.btn:disabled{opacity:.6;cursor:progress}.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn-light{color:var(--coral-deep);box-shadow:none;background:#fff}.locale-switch{background:var(--switch);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.locale-switch button{min-width:36px;min-height:32px;color:var(--muted);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-weight:800;transition:background .2s,color .2s,transform .18s;display:inline-flex}.locale-switch .icon{stroke:currentColor;width:18px;height:18px}.locale-switch button.on{color:#fff;background:linear-gradient(#ff6d8f,#7c5cff);animation:.3s pop}.locale-switch button:active{transform:scale(.94)}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:28px;padding:36px 8px 18px;display:grid}.hero-art{position:relative}.hero-art img{aspect-ratio:3/4;object-fit:cover;object-position:center 18%;border-radius:32px;width:100%;display:block;box-shadow:0 24px 60px #1b223338}.hero-art .preview{inset-inline:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121722c7;max-height:48%;position:absolute;bottom:12px;overflow:auto;transform:none}.badge{background:var(--peach);width:fit-content;color:var(--coral-deep);border-radius:999px;padding:5px 12px;font-size:.85rem;font-weight:800;display:inline-flex}.lead{color:var(--lead);margin-top:14px;font-size:1.16rem}.hero .quiet{margin-top:10px}.hero .row{margin-top:24px}.hero h1 span,.hero h1{text-wrap:balance}.preview{background:linear-gradient(180deg, var(--navy), #12182a);color:#f7f3ec;box-shadow:var(--shadow);border-radius:32px;gap:10px;padding:18px;display:grid;transform:rotate(-1.2deg)}.preview-top{align-items:center;gap:6px;display:flex}.preview-top span{background:#ffb020;border-radius:50%;width:9px;height:9px}.preview-top span:nth-child(2){background:#3dceb4}.preview-top span:nth-child(3){background:#ff6a4a}.preview-top strong{margin-inline-start:auto;font-size:.9rem}.preview .bubble{color:#f7f3ec;background:#2a3348;border:0;width:auto;margin:0}.preview .bubble.me{color:#241833;background:#fff7f2}.stats,.cards,.plans,.steps,.lang-grid,.choice-grid,.stat-row,.mini-grid{gap:14px;display:grid}.stats{grid-template-columns:repeat(4,1fr);margin:18px 0 8px}.stats div,.card,.plan,.lang,.auth-card,.form-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px #1b22330a}.stats div{padding:18px 18px 16px}.stats strong{color:var(--ink);font-size:1.7rem;display:block}.band{padding:48px 8px}.band-copy{max-width:680px;margin-bottom:22px}.band-copy .lead,.card p,.plan p,.lang small{color:var(--muted)}.cards-3{grid-template-columns:repeat(3,1fr)}.card{padding:20px}.card p{margin-top:8px}.icon{width:28px;height:28px;stroke:var(--coral);fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.card .icon,.mini .icon{background:var(--peach);box-sizing:border-box;border-radius:14px;width:42px;height:42px;padding:7px}.mode-card{padding-top:28px;position:relative;overflow:hidden}.swatch{border-radius:50%;width:10px;height:10px;display:inline-block}.mode-card .swatch{inset-inline-start:18px;border-radius:99px;width:46px;height:5px;position:absolute;top:16px}.lang-grid{grid-template-columns:repeat(2,1fr)}.lang{grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px;padding:16px 18px;display:grid}.lang small{grid-column:1/-1}.lang b{color:var(--teal)}.flag{font-size:1.7rem}.steps{grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none}.steps li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.steps span{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.plans{grid-template-columns:repeat(3,1fr);align-items:stretch}.plan{flex-direction:column;gap:8px;padding:22px;display:flex}.plan.featured{background:var(--navy);color:#f7f3ec;box-shadow:var(--shadow);border-color:#0000;transform:translateY(-10px)}.plan.featured p,.plan.featured li{color:#d9deea}.plan ul{flex:1;gap:6px;margin:0;padding:0;list-style:none;display:grid}.plan li{align-items:flex-start;gap:8px;display:flex}.plan li .icon{stroke:currentColor;flex:none;width:16px;height:16px;margin-top:3px}.plan.featured li .icon{stroke:#ffe08a}.price strong{font-size:2.1rem}.price small{color:var(--muted);display:block}.plan.featured .price small{color:#d9deea}.quote footer{margin-top:16px}.avatar{background:var(--peach);width:42px;height:42px;color:var(--coral-deep);border-radius:50%;place-items:center;font-weight:800;display:grid}.faq-list{gap:10px;display:grid}.faq-list details{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 16px}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-weight:800;display:flex}.faq-list summary .icon{stroke:currentColor;flex:none;width:18px;height:18px;transition:transform .2s}.faq-list details[open] summary .icon{transform:rotate(180deg)}.faq-list p{color:var(--muted)}.closing{color:#fff;background:radial-gradient(circle at 12% 20%,#e7a31a73,#0000 36%),linear-gradient(135deg,#ff6d8f,#7c5cff 55%,#2a2144);border-radius:36px;justify-items:start;gap:12px;margin:10px 8px 0;padding:42px;display:grid}.get-app{padding-bottom:24px}.get-app-hero-actions{flex-wrap:wrap;margin-top:14px}.get-app-hero-actions .btn{min-height:46px}.get-app-download .icon{stroke:currentColor;width:18px;height:18px}.get-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:8px;display:grid}#get-app-android,#get-app-ios,#get-app{scroll-margin-top:88px}.get-app-card{background:var(--card);border:1px solid var(--line);border-radius:24px;align-content:start;gap:12px;padding:20px;display:grid}.get-app-card.is-you{border-color:color-mix(in srgb, var(--accent,#7c5cff) 55%, var(--line));box-shadow:0 12px 28px #7c5cff1f}.get-app-kicker{align-items:center;gap:8px;font-weight:800;display:flex}.get-app-kicker .icon{stroke:currentColor;width:20px;height:20px}.get-app-kicker em{color:var(--accent,#7c5cff);background:color-mix(in srgb, var(--accent,#7c5cff) 12%, transparent);border-radius:999px;margin-inline-start:auto;padding:4px 10px;font-size:.75rem;font-style:normal;font-weight:700}.get-app-card>p{color:var(--muted);margin:0}.get-app-hint,.get-app-note{margin:0}.get-app-steps{color:var(--muted);gap:8px;margin:0;padding:0 1.2em;display:grid}.get-app-card .btn{justify-self:start}@media (width<=720px){.get-app-grid{grid-template-columns:1fr}.get-app-card .btn{justify-content:center;width:100%}}.site-footer{border-top:1px solid var(--line);justify-content:space-between;gap:20px;margin-top:28px;padding:28px 8px 0;display:flex}.site-footer nav{gap:14px;display:flex}.notice{background:var(--notice-bg);color:var(--notice-ink);border-radius:12px;padding:8px 12px}.center-note{text-align:center;place-items:center;min-height:50vh;padding:24px;display:grid}.auth-screen{background:linear-gradient(180deg, var(--auth-a), var(--auth-b)), url(/art/night-garden.jpg) center / cover no-repeat;align-content:center;place-items:center;gap:18px;min-height:100dvh;padding:24px;display:grid}.auth-top{justify-content:space-between;width:min(480px,100%)}.auth-card{gap:12px;width:min(480px,100%);padding:26px;display:grid}.stack{gap:12px;display:grid}label{gap:6px;font-weight:750;display:grid}input,select,textarea{border:1px solid var(--line);background:var(--input);border-radius:14px;width:100%;padding:11px 12px}textarea{resize:vertical}.form-error{color:var(--coral-deep);margin:0}.check{align-items:center;gap:8px;display:flex}.check input{width:auto}.shell{background:linear-gradient(#12172247,#1217228c),url(/art/night-garden.jpg) 50%/cover fixed;justify-content:center;min-height:100dvh;display:flex}.app-frame{background:radial-gradient(420px 180px at 100% 0%, #ff4d7329, transparent 60%), radial-gradient(360px 180px at 0% 0%, #7c5cff24, transparent 58%), var(--frame);flex-direction:column;width:min(460px,100%);height:100dvh;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #00000047}.shell.wide .app-frame,.shell.calling .app-frame{width:min(1040px,100%)}.shell.calling .app-frame{background:#121722}.app-top{background:var(--app-top);z-index:6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.back-btn{background:var(--surface);width:42px;height:42px;color:var(--ink);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;font-size:1.7rem;font-weight:700;line-height:1;text-decoration:none;display:grid;box-shadow:0 6px 16px #1b22331f}.shell.calling .tabbar{display:none}.shell.calling .app-top{background:#121722eb}.shell.calling .back-btn{color:#fff;box-shadow:none;background:#ffffff1f}.avatar-btn{cursor:pointer;background:#262e43;border:2px solid #fff;border-radius:50%;width:44px;height:44px;padding:0;overflow:hidden;box-shadow:0 6px 16px #1b22332e}.avatar-btn img{object-fit:cover;width:100%;height:100%;display:block}.user-menu{align-items:center;gap:8px;display:flex;position:relative}.rank-chip{background:linear-gradient(#fff,#fff1f6);border:1px solid #ff4d7338;border-radius:16px;gap:5px;min-width:148px;padding:7px 10px 8px;display:grid;box-shadow:0 8px 18px #2a21441f}.rank-chip-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rank-chip-top span{letter-spacing:.14em;text-transform:uppercase;color:#e11d5a;align-items:baseline;gap:6px;font-size:.68rem;font-weight:800;display:flex}.rank-chip-top small{font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--muted);font-size:.72rem;font-weight:800}.rank-chip-top b{letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;color:#ff4d73;background:linear-gradient(90deg,#ff4d73,#7c5cff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.05rem;line-height:1}.rank-chip-bar{background:#7c5cff29;border-radius:99px;height:6px;overflow:hidden}.rank-chip-bar span{border-radius:inherit;background:linear-gradient(90deg,#ffb703,#ff4d73 55%,#7c5cff);min-width:0;height:100%;transition:width .45s;display:block;box-shadow:0 0 8px #ff4d7373}[data-theme=dark] .rank-chip{background:linear-gradient(#3a2d5c,#2a2144);border-color:#ff4d7366}[data-theme=dark] .rank-chip-top span{color:#ffb4c8}[data-theme=dark] .rank-chip-bar{background:#ffffff1f}.shell.calling .rank-chip{box-shadow:none;background:#ffffff1a;border-color:#ffffff29}.shell.calling .rank-chip-top span{color:#ffd0dc}.shell.calling .rank-chip-top small{color:#ffffffb8}.shell.calling .rank-chip-top b{color:#fff;-webkit-text-fill-color:white;background:0 0}.shell.calling .rank-chip-bar{background:#ffffff29}.sheet-backdrop{z-index:40;cursor:pointer;background:#12172273;border:0;animation:.22s both fade-in;position:fixed;inset:0}.user-sheet{z-index:41;background:var(--surface);width:min(460px,100%);color:var(--ink);padding:8px 16px calc(18px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;gap:8px;max-height:min(85dvh,640px);animation:.4s cubic-bezier(.22,1,.36,1) both sheet-up;display:grid;position:fixed;bottom:0;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 -18px 50px #1b223347}.user-sheet-handle{background:var(--line);border-radius:99px;width:42px;height:5px;margin:4px auto 6px;display:block}.user-sheet small,.sheet-label{color:var(--muted)}.sheet-label{margin-top:6px;font-size:.85rem;font-weight:800}.sheet-langs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sheet-langs button{background:var(--surface-soft);cursor:pointer;text-align:start;border:2px solid #0000;border-radius:16px;padding:0;overflow:hidden}.sheet-langs img{object-fit:cover;width:100%;height:64px;display:block}.sheet-langs span{padding:6px 8px 8px;font-size:.82rem;font-weight:800;display:block}.sheet-langs button.on{border-color:var(--coral)}.user-sheet a,.sheet-logout,.sheet-back,.sheet-links button{cursor:pointer;text-align:start;color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;padding:8px 2px;font-weight:800;text-decoration:none;display:flex}.user-sheet .icon{stroke:currentColor;width:18px;height:18px}.sheet-logout{color:var(--coral-deep)}.sheet-links{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.sheet-links a,.sheet-links button{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;padding:10px 12px}.sheet-about-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.86rem;line-height:1.45;display:-webkit-box;overflow:hidden}.sheet-about{gap:10px;display:grid}.sheet-back{color:var(--muted);margin:0;padding:4px 0}.personalize-fields{gap:12px;display:grid}.personalize-lead,.personalize-effect{margin:0;line-height:1.5}.personalize-effect{font-size:.9rem}.about-note{resize:vertical;border:1px solid var(--line);background:var(--surface-soft);width:100%;min-height:110px;color:var(--ink);border-radius:16px;padding:12px 14px;line-height:1.5}.personalize-field{gap:6px;display:grid;position:relative}.personalize-field>span{font-size:.9rem;font-weight:800}.interest-drop{border:1px solid var(--line);background:var(--surface-soft);width:100%;color:var(--ink);text-align:start;cursor:pointer;border-radius:16px;padding:12px 14px}.interest-picker{position:relative}.interest-drop .placeholder{color:var(--muted)}.interest-drop.open{border-color:var(--coral)}.interest-menu{z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:2px;max-height:260px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 16px 36px #1b22332e}.searchable-menu{padding-top:8px}.drop-search{z-index:1;background:var(--surface);padding:0 4px 6px;position:sticky;top:0}.drop-search input{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;width:100%;padding:10px 12px}.drop-empty{margin:8px 10px 10px}.interest-menu button{color:var(--ink);cursor:pointer;text-align:start;background:0 0;border:0;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:flex}.interest-menu button.on{background:color-mix(in srgb, var(--coral) 16%, transparent)}.interest-check{text-align:center;width:18px;color:var(--coral-deep);font-weight:900}.tabbar{padding:6px 8px calc(8px + env(safe-area-inset-bottom));background:#241833f0;border-radius:22px;flex:none;grid-template-columns:repeat(4,1fr);gap:4px;margin:0 10px 10px;display:grid;box-shadow:0 12px 28px #24183338}.tabbar a{text-align:center;color:#c9bddc;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:54px;padding:6px 2px;font-size:.74rem;font-weight:800;line-height:1.15;text-decoration:none;transition:background .22s,color .22s,transform .18s,box-shadow .22s;display:flex}.tabbar a:active{transform:scale(.94)}.tabbar a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tabbar .icon{stroke:currentColor;width:22px;height:22px;transition:transform .22s}.tabbar a.active{color:#fff;background:linear-gradient(#ff6d8f,#7c5cff);animation:.32s pop;box-shadow:0 8px 18px #7c5cff59}.tabbar a.active .icon{animation:.45s tab-bob}.side{background:var(--navy);color:#f7f3ec;flex-direction:column;flex:none;gap:16px;width:248px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.side .brand small,.side .quiet{color:#b7c0d4}.side nav{gap:4px;display:grid}.side nav a{color:#d5dced;border-radius:12px;padding:9px 12px;text-decoration:none}.side nav a.active{color:#fff;background:linear-gradient(#ff6d8f,#7c5cff);font-weight:800}.side .locale-switch{background:#2a3348;align-self:flex-start}.side .locale-switch button.on{color:#fff;background:#7c5cff}.side-user{justify-items:start;gap:2px;margin-top:auto;display:grid}.side-user small{color:#b7c0d4}.side-user button,.text-btn,.row-actions button,.chat-error button,.admin-nav button{color:#ffb0a4;background:0 0;padding:0}.main{flex:1;min-width:0;min-height:0;overflow:auto}.app-frame .main-chat,.app-frame .main-call{flex:1;height:auto;min-height:0;display:flex;overflow:hidden}.main-chat{display:flex}.shell.calling{background:#121722}.shell.calling .side{display:none}.main-call{background:#121722;height:100vh;display:flex}.call-screen{color:#f7f3ec;background:linear-gradient(#1217226b,#121722e6 48%,#121722),url(/art/night-garden.jpg) top/cover no-repeat,#121722;flex:1;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(280px,400px);gap:8px 18px;min-height:0;padding:22px 20px 24px;display:grid}.call-top,.call-stage,.call-caption{text-align:center}.call-top{position:relative}.call-back{inset-inline-start:0;color:#fff;box-shadow:none;background:#ffffff1f;position:absolute;top:0}.call-top,.call-stage{grid-column:1}.call-controls{grid-area:3/1/auto/-1}.call-top h1{font-size:clamp(1.6rem,3vw,2.4rem)}.call-top p,.call-top span,.call-caption small{color:#b7c0d4}.call-top strong{font-variant-numeric:tabular-nums;letter-spacing:.08em;display:block}.call-stage{align-content:center;justify-items:center;gap:18px;min-height:0;padding-block:8px;display:grid;overflow:auto}.call-orb{background:linear-gradient(#1217220d,#12172259),url(/art/night-garden.jpg) 50%/cover no-repeat;border-radius:50%;place-items:center;width:168px;height:168px;font-size:2rem;display:grid;position:relative;box-shadow:0 20px 50px #00000047}.call-orb>span{background:#1217228c;border-radius:999px;justify-content:center;align-items:center;padding:2px 10px;display:inline-flex}.call-orb .icon{stroke:#fff;width:28px;height:28px}.call-orb.live:before,.call-orb.live:after{content:"";border:2px solid #ff6d8f8c;border-radius:50%;animation:1.8s ease-out infinite ring;position:absolute;inset:-16px}.call-orb.live:after{animation-delay:.45s;inset:-32px}@keyframes ring{to{opacity:0;transform:scale(1.06)}}.meter{align-items:flex-end;gap:5px;height:36px;display:flex}.meter span{transform-origin:bottom;background:#ff6d8f;border-radius:99px;width:5px;height:28px;transform:scaleY(.35)}.call-caption{gap:12px;width:min(100%,560px);max-width:560px;display:grid}.call-caption p{margin:0;font-size:1.25rem}.call-lines{color:inherit;font:inherit;text-align:center;background:0 0;border:0;gap:6px;width:100%;margin:0;padding:0;display:grid}button.call-lines{cursor:pointer}button.call-lines:disabled{cursor:default}.call-lines.mine{opacity:.92}.call-fa{background:#ffffff1f;border:1px solid #ffffff24;border-radius:16px;margin-top:4px;padding:12px 14px;line-height:1.55;color:#f2f5ff!important;font-size:1.08rem!important}.call-fa.quiet{color:#b7c0d4!important;font-size:.95rem!important}.call-stage.with-fa .call-orb{width:132px;height:132px}.call-stage.with-fa{gap:12px}.call-error{color:#ffb4a8!important;font-size:.95rem!important}.call-controls button:disabled{opacity:.4;cursor:not-allowed}.call-review{text-align:start;background:#ffffff0d;border:1px solid #ffffff14;border-radius:24px;grid-area:1/2/span 2;align-content:start;gap:12px;min-height:0;padding:16px 16px 8px;display:grid;overflow:auto}.call-review h2{font-size:1.15rem}.call-review article{border-bottom:1px solid #ffffff14;gap:8px;padding-bottom:12px;display:grid}.call-said{justify-content:space-between;align-items:center;gap:8px;display:flex}.call-review small,.call-review em{color:#b7c0d4;font-style:normal}.call-review p{font-size:1rem}.call-review .mistake-card{box-shadow:none}.call-controls{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:18px;display:flex}.call-key{justify-items:center;gap:6px;width:76px;display:grid}.call-key small{color:#b7c0d4;text-align:center;font-size:.72rem;font-weight:800;line-height:1.25}.call-controls button{cursor:pointer;border:0;border-radius:50%;place-items:center;width:72px;height:72px;padding:0;display:grid}.call-controls .icon{stroke:currentColor;stroke-width:2px;width:32px;height:32px}.call-controls .icon-hangup{fill:currentColor;stroke:none;width:34px;height:34px}.call-controls .round{color:#fff;background:#2a3348}.call-controls .round.on{color:var(--navy);background:#fff}.call-controls .round.cancel{color:#ff8fa3;background:#3a2430}.call-controls .end{background:var(--coral);color:#fff;box-shadow:0 12px 24px #e23d3259}.call-orb.waiting{box-shadow:0 20px 50px #00000047,0 0 0 1px #ff8caa33,0 0 56px #ff6d8f42}.call-orb.waiting:before,.call-orb.waiting:after{content:"";pointer-events:none;border:1.5px solid #ff96b261;border-radius:50%;animation:2.8s ease-in-out infinite call-halo;position:absolute;inset:-14px}.call-orb.waiting:after{border-color:#ffb7032e;animation-delay:.85s;inset:-28px}.call-wait{place-items:center;height:44px;display:grid}.call-wait-orbit{background:radial-gradient(circle,#ff6d8f2e,#0000 62%),#ffffff0a;border:1px solid #ffffff1a;border-radius:50%;width:42px;height:42px;animation:2.2s ease-in-out infinite call-orbit-pulse;position:relative;box-shadow:inset 0 0 18px #ff6d8f1f}.call-wait-orbit:before{content:"";background:radial-gradient(circle at 40% 35%,#ffdcbef2,#ff6d8f 48%,#7c5cff 100%);border-radius:50%;animation:1.8s ease-in-out infinite call-core;position:absolute;inset:8px;box-shadow:0 0 18px #ff6d8f73}.call-wait-orbit i{background:#fff4ea;border-radius:50%;width:6px;height:6px;margin:-3px;animation:2.4s linear infinite call-orbit;position:absolute;top:50%;left:50%;box-shadow:0 0 10px #ffd2a0cc}.call-wait-orbit i:first-child{--a:0deg;animation-delay:0s}.call-wait-orbit i:nth-child(2){--a:90deg;opacity:.75;width:4px;height:4px;margin:-2px;animation-delay:-.6s}.call-wait-orbit i:nth-child(3){--a:180deg;opacity:.9;width:5px;height:5px;margin:-2.5px;animation-delay:-1.2s}.call-wait-orbit i:nth-child(4){--a:270deg;opacity:.55;width:3px;height:3px;margin:-1.5px;animation-delay:-1.8s}.call-wait-orbit.mini{width:26px;height:26px}.call-wait-orbit.mini:before{inset:6px}.call-wait-orbit.mini i{width:4px;height:4px;margin:-2px}.call-wait-orbit.mini i:nth-child(2){width:3px;height:3px;margin:-1.5px}.call-wait-orbit.mini i:nth-child(3){width:3.5px;height:3.5px;margin:-1.75px}.call-wait-orbit.mini i:nth-child(4){width:2px;height:2px;margin:-1px}.call-review-wait{align-items:center;margin-top:8px;display:inline-flex}@keyframes call-halo{0%,to{opacity:.45;transform:scale(.97)}50%{opacity:1;transform:scale(1.05)}}@keyframes call-orbit-pulse{0%,to{transform:scale(.96)}50%{transform:scale(1.04)}}@keyframes call-core{0%,to{filter:brightness(.95);transform:scale(.9)}50%{filter:brightness(1.12);transform:scale(1)}}@keyframes call-orbit{0%{transform:rotate(var(--a)) translateX(16px) scale(.85)}50%{transform:rotate(calc(var(--a) + 180deg)) translateX(16px) scale(1.1)}to{transform:rotate(calc(var(--a) + 360deg)) translateX(16px) scale(.85)}}.call-wait-orbit.mini i{animation-name:call-orbit-mini}@keyframes call-orbit-mini{0%{transform:rotate(var(--a)) translateX(9px) scale(.85)}50%{transform:rotate(calc(var(--a) + 180deg)) translateX(9px) scale(1.1)}to{transform:rotate(calc(var(--a) + 360deg)) translateX(9px) scale(.85)}}.chart-card{background:var(--surface);border-radius:24px;gap:12px;padding:14px 12px 12px;display:grid;box-shadow:0 10px 24px #1b223314}.chart-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding-inline:4px;display:flex}.chart-meta h2{align-items:center;gap:8px;margin:0;font-size:1.02rem;display:flex}.chart-meta .icon{width:18px;height:18px;stroke:var(--coral)}.chart-meta span{color:var(--muted);font-size:.78rem;font-weight:800}.range-switch{background:var(--switch);border-radius:999px;grid-template-columns:1fr 1fr 1fr;gap:2px;padding:3px;display:grid}.range-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 8px;font-weight:800}.range-switch button.on{color:#fff;background:linear-gradient(#ff6d8f,#7c5cff)}.bars{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:stretch;gap:8px;min-height:168px;display:grid}.bars-month{gap:3px}.bar-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.bar-plot{flex:1;align-items:flex-end;width:100%;min-height:118px;display:flex}.bar-fill{background:linear-gradient(#ff6a4a,#e7a31a);border-radius:999px;width:100%;display:block}.bar-fill.empty{opacity:.28;height:4px}.bar-col small{color:var(--muted);text-align:center;white-space:nowrap;max-width:100%;font-size:.68rem;font-weight:800;line-height:1.2}.meter-rows{gap:8px;display:grid}.meter-row{grid-template-columns:8rem minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.meter-row span{white-space:nowrap;font-size:.86rem;font-weight:800}.meter-track{background:var(--bar-track);border-radius:999px;height:10px;overflow:hidden}.meter-track i{border-radius:inherit;background:linear-gradient(90deg,#ffb703,#ff4d73);min-width:0;height:100%;display:block}.meter-row b{color:var(--muted);text-align:end;min-width:1.25rem;font-size:.78rem}.page{align-content:start;gap:14px;padding:16px 14px 22px;display:grid}.shell .page h1{font-size:1.55rem}.shell .stat-row,.shell .choice-grid,.shell .mini-grid{grid-template-columns:1fr 1fr}.shell .split,.shell .admin-layout{grid-template-columns:1fr}.shell.wide .admin-layout{grid-template-columns:180px 1fr}.dash-banner{object-fit:cover;object-position:center 30%;border-radius:28px;width:100%;height:188px;animation:.45s both rise;display:block}.page.narrow{max-width:760px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:end}.eyebrow{color:var(--coral-deep);font-weight:800}.stat-row{grid-template-columns:repeat(4,1fr)}.stat-row article{background:var(--card);border:1px solid var(--line);border-radius:20px;align-content:start;gap:2px;padding:16px 18px;display:grid}.stat-row .icon{width:22px;height:22px;stroke:var(--coral);margin-bottom:4px}.stat-row strong{color:var(--ink);font-size:1.7rem;display:block}.goal,.list,.mini,.list-item,.table-wrap{background:var(--card);border:1px solid var(--line);border-radius:20px}.goal{gap:10px;padding:16px 18px;display:grid}.bar{background:var(--bar-track);border-radius:99px;height:10px;overflow:hidden}.bar span{background:linear-gradient(90deg, var(--gold), var(--coral));height:100%;display:block}.split{grid-template-columns:1.2fr .8fr;gap:18px;display:grid}.list{display:grid;overflow:hidden}.list-item{border-bottom:1px solid var(--line);background:0 0;border-inline:0;border-radius:0;justify-content:space-between;padding:12px 14px}.list-item:last-child{border-bottom:0}.list-item a{text-decoration:none;display:grid}.excerpt{display:block}.mini-grid{grid-template-columns:1fr 1fr}.mini{background:var(--card);border:1px solid var(--line);border-radius:16px;align-items:center;gap:8px;padding:12px;text-decoration:none;display:flex}.lang-line{letter-spacing:.2em;margin-top:10px}.lang-banner{background:var(--surface);border-radius:24px;grid-template-columns:92px 1fr;align-items:center;gap:12px;display:grid;overflow:hidden;box-shadow:0 10px 24px #1b223314}.lang-banner img{object-fit:cover;width:92px;height:92px;display:block}.lang-banner div{gap:2px;padding-inline-end:12px;display:grid}.lang-banner h1{font-size:1.35rem}.level-row{gap:8px;padding-bottom:2px;display:flex;overflow:auto}.level-row button{background:var(--surface);color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:8px 14px;font-weight:800;transition:transform .18s,background .18s,color .18s;box-shadow:0 6px 16px #1b22330f}.level-row button:active{transform:scale(.94)}.level-row button.on{color:#fff;background:linear-gradient(#ff6d8f,#7c5cff);animation:.28s pop}button.mini{cursor:pointer;width:100%}.practice{gap:16px;display:grid}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.choice{text-align:start;background:var(--surface);cursor:pointer;border:3px solid #0000;border-radius:22px;gap:0;padding:0;transition:transform .22s,box-shadow .22s;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 24px #2a214414}.choice:active{transform:scale(.98)}.choice:hover{transform:translateY(-3px);box-shadow:0 16px 32px #2a214424}.choice-media{display:block;position:relative;overflow:hidden}.choice img{object-fit:cover;object-position:center 22%;width:100%;height:118px;transition:transform .45s;display:block}.choice img.choice-icon{object-fit:cover;object-position:center;background:#fff6ee}.choice:hover img{transform:scale(1.05)}.choice-copy{gap:2px;padding:8px 10px 12px;display:grid}.choice-copy strong{line-height:1.45}.choice.on{border-color:var(--coral)}.choice.done{border-color:#1f8a4c}.choice.off{cursor:default;opacity:.72;box-shadow:none}.choice.off:hover{box-shadow:none;transform:none}.choice.off:hover img{transform:none}.choice.off img{filter:saturate(.55)brightness(.96)}.choice-soon-badge{top:10px;z-index:2;color:#8a5a12;background:#fff7ecf0;border-radius:999px;padding:5px 11px;font-size:.78rem;font-weight:800;line-height:1;position:absolute;inset-inline-end:10px;box-shadow:0 6px 14px #2a214429}.choice-tick{top:10px;z-index:1;color:#fff;background:#1f8a4c;border-radius:999px;place-items:center;width:28px;height:28px;font-weight:800;line-height:1;display:grid;position:absolute;inset-inline-end:10px;box-shadow:0 6px 14px #143c1e47}.choice-tick .icon{stroke:#fff;width:16px;height:16px}.choice small{color:var(--muted)}.mode-off-note{background:color-mix(in srgb, #ffb703 12%, var(--surface));color:#8a5a12;text-align:center;border-radius:16px;margin-top:18px;padding:14px 16px;font-weight:800}.scene-done{color:#1f8a4c;align-items:center;gap:6px;font-weight:700;display:flex}.scene-done .icon{stroke:currentColor;flex:none;width:16px;height:16px}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.avatar-grid button{cursor:pointer;background:var(--surface);aspect-ratio:1;border:3px solid #0000;border-radius:50%;padding:0;transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden;box-shadow:0 6px 16px #2a21441a}.avatar-grid button img{object-fit:cover;width:100%;height:100%;display:block}.avatar-grid button:hover{transform:scale(1.05)}.avatar-grid button:active{transform:scale(.96)}.avatar-grid button.on{border-color:var(--coral);animation:.3s pop}.avatar-grid button:disabled{cursor:progress}.persona-block{gap:12px;display:grid}.persona-block.card{padding:16px}.persona-current{align-items:center;gap:12px;display:flex}.persona-current img{object-fit:cover;object-position:center 18%;border-radius:20px;width:72px;height:72px}.persona-current strong{display:block}.persona-current small{color:var(--muted)}.persona-modal{z-index:30;background:#1812227a;place-items:center;padding:18px;animation:.22s both fade-in;display:grid;position:fixed;inset:0}.persona-dialog{background:var(--card);width:min(560px,100%);max-height:min(860px,100dvh - 36px);color:var(--ink);border-radius:28px;gap:12px;padding:16px;animation:.4s cubic-bezier(.22,1,.36,1) both dialog-in;display:grid;overflow:auto;box-shadow:0 24px 60px #18122247}.persona{transition:transform .2s,border-color .2s,box-shadow .2s}.persona:hover{transform:translateY(-3px);box-shadow:0 14px 28px #2a214424}.persona:active{transform:scale(.97)}.persona.on{animation:.3s pop}.persona-dialog .persona-grid{grid-template-columns:1fr 1fr}.persona-dialog .text-btn{color:var(--coral-deep);font-weight:800}.persona-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.persona{background:var(--surface);color:var(--ink);cursor:pointer;text-align:center;border:3px solid #0000;border-radius:22px;padding:0 0 10px;overflow:hidden;box-shadow:0 10px 24px #2a214414}.persona img{aspect-ratio:1;object-fit:cover;object-position:center 18%;width:100%;display:block}.persona strong{margin-top:8px;display:block}.persona small{color:var(--muted);padding:0 8px;display:block}.persona.on{border-color:var(--coral)}.persona:disabled{cursor:progress}.call-orb.person{background:center / cover no-repeat var(--persona)}.call-orb.person>span{color:#fff;font-size:.95rem;font-weight:800;position:absolute;bottom:12px}.card.shot,.lang.shot{grid-template-columns:1fr;padding:0;transition:transform .22s;display:grid;overflow:hidden}.card.shot:hover,.lang.shot:hover{transform:translateY(-3px)}.shot>img{object-fit:cover;width:100%;height:148px;display:block}.shot>h3,.shot>p,.shot>b,.shot>small{padding-inline:14px}.shot>h3{margin-top:10px}.shot>p,.shot>small,.shot>b{display:block}.shot>:last-child{margin-bottom:12px}.lang.shot b{color:var(--teal)}.mini{text-align:center;flex-direction:column;align-items:stretch;padding:0;transition:transform .22s;overflow:hidden}.mini:hover{transform:translateY(-2px)}.mini img{object-fit:cover;width:100%;height:84px;display:block}.mini span{padding:8px;font-weight:800}.list-item>a{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.list-item a span{min-width:0;display:grid}.list-item img{object-fit:cover;border-radius:16px;flex:none;width:58px;height:58px}.chat-page{flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px 18px 12px;display:flex}.chat-head{justify-content:space-between;align-items:flex-start}.chat-head .text-btn{color:var(--coral-deep);justify-content:flex-start;font-weight:800}.chat-head-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.dialogue{align-content:start;gap:14px;min-height:100%;padding:16px 14px 22px;display:grid}.dialogue-dots{justify-content:center;gap:6px;display:flex}.dialogue-dots span{background:var(--dot);border-radius:99px;width:8px;height:8px;transition:width .25s,background .25s,transform .25s}.dialogue-dots span.on{background:#ff4d73;width:18px;transform:scale(1.08)}.dialogue-stage{background:var(--surface);text-align:center;border-radius:28px;justify-items:center;gap:10px;padding:18px 14px 16px;display:grid;box-shadow:0 12px 28px #1b223314}.dialogue-orb{cursor:pointer;background:url(/art/mode-scene.jpg) 50%/cover no-repeat;border:4px solid #fff;border-radius:50%;width:148px;height:148px;padding:0;box-shadow:0 16px 36px #1b22332e}.dialogue-orb.live{animation:1.4s ease-in-out infinite pulse}.dialogue-bubble{background:var(--bubble-them);border-radius:22px;gap:4px;width:100%;padding:12px 14px;display:grid}.dialogue-bubble.you{background:var(--bubble-you)}.dialogue-bubble small,.dialogue-bubble em{color:var(--muted);font-style:normal}.dialogue-bubble p{font-size:1.2rem}.dialogue-almost{color:var(--coral-deep);margin:0;font-weight:800}.dialogue-skip{color:var(--muted);justify-self:center}.dialogue-finish{text-align:center;justify-items:center;gap:10px;margin-inline:auto;display:grid}.dialogue-finish img{object-fit:cover;border-radius:50%;width:92px;height:92px}.sentence-page{overflow:auto}.sentence-stage{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:28px;gap:12px;padding:18px 16px 16px;display:grid}.sentence-line{margin:0;font-size:1.45rem;font-weight:800;line-height:1.45}.sentence-mean{color:var(--muted);margin:0}.sentence-result{text-align:start;gap:10px;display:grid}.sentence-total{justify-items:center;gap:2px;margin:0;display:grid}.sentence-total strong{font-size:2.4rem;line-height:1}.sentence-total.green{color:#1f8a4c}.sentence-total.blue{color:#2a6fdb}.sentence-total.orange{color:#c46a12}.sentence-total.yellow{color:#a68412}.sentence-total.red{color:var(--coral-deep)}.sentence-bars{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sentence-bars li{grid-template-columns:4.5rem 1fr 2rem;align-items:center;gap:8px;font-size:.82rem;display:grid}.sentence-bars i{background:var(--dot);border-radius:99px;height:8px;display:block;overflow:hidden}.sentence-bars b{background:var(--coral);border-radius:99px;height:100%;display:block}.sentence-bars b.green{background:#1f8a4c}.sentence-bars b.blue{background:#2a6fdb}.sentence-bars b.orange{background:#c46a12}.sentence-bars b.yellow{background:#d4a017}.sentence-bars b.red{background:var(--coral)}.sentence-bars em{text-align:end;font-style:normal;font-weight:800}.sentence-words{flex-wrap:wrap;gap:6px;margin:0;display:flex}.sentence-words>span:not(.sentence-word),.sentence-word>button{border:0;border-radius:999px;padding:3px 10px;font-weight:800}.sentence-word{position:relative}.sentence-word>button{cursor:pointer;background:0 0}.sentence-word>button.on{outline-offset:1px;outline:2px solid}.sentence-words .ok,.sentence-words .good{color:#1f8a4c;background:#e5f6ec}.sentence-words .warn{color:#a15c09;background:#fff3df}.sentence-words .miss,.sentence-words .bad{color:var(--coral-deep);background:#ffe4ea}[data-theme=dark] .sentence-words .ok,[data-theme=dark] .sentence-words .good{color:#8ee0b0;background:#1a3d2c}[data-theme=dark] .sentence-words .warn{color:#f0c27a;background:#3d3018}[data-theme=dark] .sentence-words .miss,[data-theme=dark] .sentence-words .bad{color:#ffb3c4;background:#4a2030}.sentence-popover{z-index:5;top:calc(100% + 8px);background:var(--surface);width:max-content;max-width:220px;color:var(--ink);border:1px solid var(--line);text-align:start;border-radius:14px;justify-items:start;gap:6px;padding:10px;display:grid;position:absolute;inset-inline-start:0;box-shadow:0 10px 28px #2a21441f}.sentence-popover-tip,.sentence-popover-pair{font-size:.82rem;font-weight:700;line-height:1.55}.sentence-popover-pair{font-weight:800}.sentence-popover-play{cursor:pointer;color:var(--teal);background:color-mix(in srgb, var(--teal) 16%, transparent);border:0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.sentence-popover-play .icon{stroke:currentColor;width:16px;height:16px}.sentence-popover-play.on{color:var(--coral-deep)}.sentence-prosody{color:var(--muted);margin:0;font-size:.88rem;line-height:1.6}.sentence-approx{text-align:center;margin:0;font-size:.78rem}.sentence-dock{background:linear-gradient(180deg, transparent, var(--frame) 18%);gap:10px;padding-top:14px;display:grid;position:sticky;bottom:0}.voice-pad{grid-template-columns:1fr auto 1fr;place-items:start center;gap:8px;display:grid}.voice-keys{justify-content:center;align-items:start;gap:16px;display:flex}.voice-slot{justify-items:center;gap:6px;min-width:64px;padding-top:17px;display:grid}.voice-slot small{color:var(--muted);text-align:center;font-size:.75rem;font-weight:800}.voice-status{text-align:center;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}.voice-key,.voice-send{border:1px solid var(--line);background:var(--surface);width:52px;height:52px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;display:grid;box-shadow:0 8px 18px #2a214414}.voice-key.on{border-color:var(--coral);color:var(--coral-deep)}.voice-key.go,.voice-send{background:var(--navy);color:#fff;border-color:#0000}.voice-key:disabled,.voice-send:disabled,.voice-orb:disabled{cursor:progress;opacity:.55}.voice-orb{cursor:pointer;color:#fff;background:radial-gradient(circle at 35% 30%, #4a3d6e, var(--navy) 62%);border:0;border-radius:50%;place-items:center;width:86px;height:86px;display:grid;position:relative;box-shadow:0 16px 32px #2a214447}.voice-orb.on{background:radial-gradient(circle at 35% 30%, #ff7a96, var(--coral) 60%)}.voice-orb.on:before,.voice-orb.on:after{content:"";pointer-events:none;border:2px solid #ff4d7373;border-radius:50%;animation:1.6s ease-out infinite ring;position:absolute;inset:-12px}.voice-orb.on:after{animation-delay:.4s;inset:-24px}.voice-meter{justify-content:center;align-items:flex-end;gap:4px;height:28px;display:flex}.voice-meter span{background:var(--dot);transform-origin:bottom;border-radius:99px;width:4px;height:24px;transition:transform 80ms linear}.voice-meter.live span{background:var(--coral);transition:none}.voice-pad .icon,.voice-keys .icon,.voice-send .icon{stroke:currentColor;width:22px;height:22px}.voice-orb .icon{stroke:currentColor;width:30px;height:30px}[dir=rtl] .voice-key.go .icon{transform:scaleX(-1)}.voice-type{grid-template-columns:1fr auto;align-items:center}.voice-type textarea{resize:none;min-height:46px;max-height:46px}.dialogue-dots span.done{background:#1f8a4c}.chat-head h1{font-size:1.15rem;line-height:1.45}.chat-head a{color:var(--muted)}.scene{color:var(--scene-ink);background:var(--scene-bg);text-align:right;border-radius:14px;margin:0;padding:8px 12px}.thread{background:var(--thread);border-radius:24px;flex-direction:column;flex:1;gap:12px;padding:8px 4px 12px;display:flex;overflow:auto}.thread .turn{flex-direction:column;gap:8px;width:min(640px,86%);margin-left:0;margin-right:auto;animation:.4s cubic-bezier(.22,1,.36,1) both bubble-in;display:flex}.thread .turn.me{margin-left:auto;margin-right:0;animation-name:bubble-in-me}.thread .turn .bubble{width:100%;margin:0}.thread>.bubble{animation:.4s cubic-bezier(.22,1,.36,1) both bubble-in}.thread>.bubble.me,.thread>.bubble.cue{animation-name:bubble-in-me}.thread>.turn:first-child,.thread>.bubble:first-child{animation-delay:20ms}.thread>.turn:nth-child(2),.thread>.bubble:nth-child(2){animation-delay:60ms}.thread>.turn:nth-child(3),.thread>.bubble:nth-child(3){animation-delay:.1s}.thread>.turn:nth-child(4),.thread>.bubble:nth-child(4){animation-delay:.14s}.thread>.turn:nth-child(5),.thread>.bubble:nth-child(5){animation-delay:.18s}.thread>.turn:nth-child(6),.thread>.bubble:nth-child(6){animation-delay:.22s}.thread>.turn:nth-child(7),.thread>.bubble:nth-child(7){animation-delay:.26s}.thread>.turn:nth-child(8),.thread>.bubble:nth-child(8){animation-delay:.3s}.thread .bubble{background:var(--surface);border:1px solid var(--line);border-radius:8px 22px 22px;gap:8px;width:min(640px,86%);margin-left:0;margin-right:auto;padding:12px 14px;display:grid;box-shadow:0 8px 24px #1b22330d}.thread .bubble.me{background:var(--navy);color:#f7f3ec;border-color:#0000;border-radius:22px 8px 22px 22px;margin-left:auto;margin-right:0}.thread .bubble.cue{background:var(--peach);color:var(--ink);border:2px dashed var(--coral);border-radius:22px;margin-left:auto;margin-right:0}.bubble.cue .who{color:var(--coral-deep)}.bubble.cue .utter,.bubble.cue .dir-tag{color:var(--ink)}.who{letter-spacing:.04em;color:var(--teal);justify-content:space-between;align-items:center;gap:8px;font-size:.75rem;font-weight:800;display:flex}.bubble.me .who{color:#ffb0a4}.utter{gap:2px;display:grid}.utter[dir=ltr]{text-align:left;border-left:3px solid var(--coral);padding-left:10px}.utter[dir=rtl]{text-align:right;border-right:3px solid var(--teal);padding-right:10px}.bubble.me .utter[dir=ltr]{border-left-color:#ffb020}.bubble.me .utter[dir=rtl]{border-right-color:#ffb020}.dir-tag{color:var(--muted);font-size:.72rem;font-weight:800}.bubble.me .dir-tag,.bubble.me .utter{color:#f7f3ec}.verdict{color:#fff;border:0;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;padding:0;display:grid}.verdict .icon{stroke:#fff;width:16px;height:16px}.verdict.ok{background:#1f8a4c}.verdict.bad{cursor:pointer;background:#e25b4a}.verdict.bad.on{outline:2px solid #ffd0c8}.mistake-card{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:18px;gap:8px;padding:8px;animation:.35s both rise;display:grid;box-shadow:0 10px 28px #2a214414}.mistake-item{gap:6px;display:grid}.mistake-item+.mistake-item{border-top:1px solid var(--line);padding-top:8px}.mistake-line{border-radius:12px;gap:2px;min-width:0;padding:8px 10px;display:grid}.mistake-line.wrong{background:color-mix(in srgb, #e25b4a 12%, var(--surface))}.mistake-line.right{background:color-mix(in srgb, #1f8a4c 14%, var(--surface))}.mistake-tag{font-size:.72rem;font-weight:800;line-height:1.4}.mistake-line.wrong .mistake-tag{color:#b33830}.mistake-line.right .mistake-tag{color:#0f6b38}.mistake-line p{color:var(--ink);overflow-wrap:anywhere;margin:0;line-height:1.65}.mistake-line.wrong s{color:#b33830;-webkit-text-decoration:line-through #e25b4a;text-decoration:line-through #e25b4a;text-decoration-thickness:2px}.mistake-line.right b{color:#0f6b38;font-weight:800}.mistake-why{color:var(--muted);margin:0;padding:2px 6px 4px;font-size:.92rem;line-height:1.7}.mistake-pronunciation>.mistake-tag{color:var(--muted)}.mistake-pronunciation-row{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.mistake-pronunciation-tip{color:var(--muted);min-width:0;font-size:.85rem;line-height:1.5}.mistake-pronunciation .speak{flex:none}.mistake-score{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:1px 8px;font-size:.75rem;font-weight:800;line-height:1.4;display:inline-flex}.mistake-score.good{color:#1f8a4c;background:#e5f6ec}.mistake-score.warn{color:#a15c09;background:#fff3df}.mistake-score.bad{color:var(--coral-deep);background:#ffe4ea}.mistake-prosody{color:var(--muted);margin:0;font-size:.85rem;line-height:1.6}[data-theme=dark] .mistake-score.good{color:#8ee0b0;background:#1a3d2c}[data-theme=dark] .mistake-score.warn{color:#f0c27a;background:#3d3018}[data-theme=dark] .mistake-score.bad{color:#ffb3c4;background:#4a2030}[data-theme=dark] .mistake-line.wrong .mistake-tag,[data-theme=dark] .mistake-line.wrong s{color:#ffb4ac}[data-theme=dark] .mistake-line.right .mistake-tag,[data-theme=dark] .mistake-line.right b{color:#9be7b8}[data-theme=dark] .mistake-card{box-shadow:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips span{background:var(--peach);color:var(--chip-ink);border-radius:999px;align-items:baseline;gap:6px;padding:3px 10px;font-size:.85rem;display:inline-flex}.composer{grid-template-columns:auto 1fr auto;align-items:end;gap:8px;display:grid}.sentence-dock .composer{grid-template-columns:1fr auto;align-items:center}.mic-group{align-items:center;gap:8px;display:flex}.mic{cursor:pointer;background:var(--surface);border:1px solid var(--line);width:46px;min-width:46px;height:46px;color:var(--ink);border-radius:50%;place-items:center;padding:0;display:grid}.mic .icon{stroke:currentColor;width:22px;height:22px}.composer .send-btn{border-radius:50%;width:46px;height:46px;padding:0}.composer .send-btn .icon{width:20px;height:20px}[dir=rtl] .icon-next,[dir=rtl] .icon-send,[dir=rtl] .icon-logout{transform:scaleX(-1)}.mic.on{background:var(--coral);color:#fff;border-color:#0000;animation:1s ease-in-out infinite pulse}.mic.cancel{color:var(--coral-deep);border-color:color-mix(in srgb, var(--coral) 35%, var(--line))}.mic.cancel:hover{background:color-mix(in srgb, var(--coral) 12%, var(--surface))}@keyframes pulse{50%{transform:scale(.94)}}.speak{cursor:pointer;width:32px;height:32px;color:var(--teal);background:color-mix(in srgb, var(--teal) 16%, transparent);border:0;border-radius:50%;justify-self:start;place-items:center;padding:0;display:grid}.speak .icon{stroke:currentColor;width:16px;height:16px}.speak:disabled{cursor:progress;opacity:.6}.pending{color:var(--muted)}.status-cue{max-width:min(420px,90%);color:var(--muted);box-shadow:none;background:0 0;border:0;align-self:flex-start;align-items:center;gap:10px;margin:2px 2px 4px;padding:0;font-size:.92rem;font-weight:650;line-height:1.4;display:inline-flex}.status-cue.recording{color:var(--coral-deep)}.status-cue.listening{color:var(--teal)}.status-dots{align-items:center;gap:5px;height:14px;padding-inline:2px;display:inline-flex}.status-dots i{background:var(--teal);opacity:.35;border-radius:50%;width:7px;height:7px;animation:1.15s ease-in-out infinite status-bounce}.status-cue.listening .status-dots i{background:var(--teal)}.status-dots i:nth-child(2){animation-delay:.16s}.status-dots i:nth-child(3){animation-delay:.32s}.status-live{background:var(--coral);border-radius:50%;width:9px;height:9px;animation:1.2s ease-out infinite status-pulse;box-shadow:0 0 #ff4d7373}@keyframes status-bounce{0%,70%,to{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-5px)}}@keyframes status-pulse{0%{box-shadow:0 0 #ff4d7380}70%{box-shadow:0 0 0 10px #ff4d7300}to{box-shadow:0 0 #ff4d7300}}[data-theme=dark] .status-dots i{background:#7ad9cf}[data-theme=dark] .status-cue.listening{color:#7ad9cf}.chat-error{color:var(--coral-deep);justify-content:space-between;gap:8px;display:flex}.admin-layout{grid-template-columns:190px 1fr;align-items:start;gap:16px;display:grid}.admin-nav{gap:4px;display:grid;position:sticky;top:16px}.admin-nav button{text-align:start;color:var(--ink);border-radius:10px;padding:8px 10px}.admin-nav button.on{background:var(--navy);color:#fff;font-weight:800}.search{margin:12px 0}.search-wrap{margin:12px 0;display:block;position:relative}.search-wrap .search{width:100%;margin:0;padding-inline-start:40px}.search-wrap .icon{inset-inline-start:12px;width:18px;height:18px;stroke:var(--muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:start;vertical-align:top;padding:10px 12px}.row-actions{gap:8px;display:flex}.row-actions button{width:36px;height:36px;color:var(--ink);background:var(--surface-soft);border-radius:12px;place-items:center;padding:0;display:grid}.row-actions button:last-child{color:var(--coral-deep)}.row-actions .icon{stroke:currentColor;width:18px;height:18px}.form-card{padding:16px}.rate-field{gap:8px;display:grid}.rate-field>span{font-weight:750}.rate-picks{background:var(--switch);border-radius:22px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;display:grid}.rate-picks button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:18px;justify-items:center;gap:1px;min-width:0;padding:10px 2px 8px;transition:background .18s,color .18s,transform .18s,box-shadow .18s;display:grid}.rate-picks button:hover{color:var(--ink)}.rate-picks button.on{color:#fff;background:linear-gradient(#ff6d8f,#7c5cff);box-shadow:0 8px 16px #7c5cff4d}.rate-picks button:active{transform:scale(.97)}.rate-picks strong{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800;line-height:1.15}.rate-picks small{color:inherit;font-size:.68rem;font-weight:750;line-height:1.15}.rate-wave{justify-content:center;align-items:flex-end;gap:2px;height:18px;margin-bottom:2px;display:flex}.rate-wave i{transform-origin:bottom;opacity:.72;background:currentColor;border-radius:99px;width:3px}.rate-picks button.on .rate-wave i{opacity:1;animation:1s ease-in-out infinite rate-bob}.rate-picks button[data-pace="0.25"].on .rate-wave i{animation-duration:2s}.rate-picks button[data-pace="0.5"].on .rate-wave i{animation-duration:1.5s}.rate-picks button[data-pace="0.75"].on .rate-wave i{animation-duration:1.2s}.rate-picks button[data-pace="1"].on .rate-wave i{animation-duration:.9s}.rate-wave i:first-child{height:6px}.rate-wave i:nth-child(2){height:12px;animation-delay:.12s}.rate-wave i:nth-child(3){height:16px;animation-delay:.22s}.rate-wave i:nth-child(4){height:9px;animation-delay:80ms}.rate-wave i:nth-child(5){height:13px;animation-delay:.18s}@keyframes rate-bob{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1)}}input[dir=ltr],textarea[dir=ltr]{text-align:left}:focus-visible{outline:2px solid var(--coral);outline-offset:2px}@media (width<=980px){.hero,.steps,.split{grid-template-columns:1fr}.cards-3,.plans,.stats,.stat-row{grid-template-columns:1fr 1fr}.plan.featured,.preview{transform:none}.hero-art{order:-1}}@media (width<=800px){.marketing{padding:12px 14px 56px}.topnav{display:none}.topbar{border-radius:22px;flex-wrap:wrap;top:8px}.brand small{display:none}.hero{gap:16px;padding:16px 0 8px}.hero h1{font-size:1.9rem}.hero .row{width:100%}.hero .row .btn{flex:140px;min-height:48px}.get-app-hero-actions .btn{flex:140px}.hero-art img{aspect-ratio:4/5;border-radius:24px}.page h1,.auth-card h1{font-size:1.65rem}.dash-banner{border-radius:20px;height:128px}.page-head .btn{flex:1;min-height:46px}.chat-page{padding:12px 12px 10px}.composer{grid-template-columns:auto minmax(0,1fr) auto}.composer .btn,.mic{min-height:46px}.call-screen{grid-template-rows:auto auto minmax(140px,30dvh) auto;grid-template-columns:1fr;padding:16px 14px 18px}.call-top{grid-row:1}.call-top h1{font-size:1.45rem}.call-stage{grid-row:2}.call-review{grid-area:3/1}.call-controls{grid-row:4}.call-controls button{width:72px;height:72px}.call-orb,.call-stage.with-fa .call-orb{width:112px;height:112px}.call-caption{max-width:100%}.call-fa{font-size:1rem!important}.persona-grid{grid-template-columns:1fr 1fr}.cards-3,.plans,.steps,.lang-grid,.split,.admin-layout,.choice-grid{grid-template-columns:1fr}.stats,.stat-row{grid-template-columns:1fr 1fr}.site-footer,.auth-top{flex-direction:column;align-items:flex-start}.auth-screen{padding:16px;align-content:start;padding-top:28px}.closing{border-radius:24px;padding:28px 18px}}@keyframes rise{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@keyframes pop{0%{transform:scale(.92)}70%{transform:scale(1.04)}to{transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{opacity:0;transform:translate(-50%)translateY(28px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bubble-in{0%{opacity:0;translate:-12px 10px}to{opacity:1;translate:0}}@keyframes bubble-in-me{0%{opacity:0;translate:12px 10px}to{opacity:1;translate:0}}@keyframes route-in{0%{opacity:0}to{opacity:1}}@keyframes soft-float{0%,to{translate:0}50%{translate:0 -6px}}@keyframes tab-bob{0%{transform:translateY(2px)scale(.9)}60%{transform:translateY(-2px)scale(1.06)}to{transform:none}}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes streak-lit{0%{opacity:.4;transform:scale(.6)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.route-view{flex-direction:column;flex:1;min-width:0;min-height:0;animation:.34s cubic-bezier(.22,1,.36,1) both route-in;display:flex}.route-view>.chat-page,.route-view>.call-screen{flex:1;min-height:0}.page>*{animation:.45s cubic-bezier(.22,1,.36,1) both rise}.page>:first-child{animation-delay:20ms}.page>:nth-child(2){animation-delay:60ms}.page>:nth-child(3){animation-delay:.1s}.page>:nth-child(4){animation-delay:.14s}.page>:nth-child(5){animation-delay:.18s}.page>:nth-child(6){animation-delay:.22s}.page>:nth-child(7){animation-delay:.26s}.page>:nth-child(8){animation-delay:.3s}.page>.map-backdrop,.page>.map-sheet,.page>.map-continue{animation-delay:0s}.page>.map-backdrop{animation:.22s both fade-in}.page>.map-sheet{animation:.4s cubic-bezier(.22,1,.36,1) both sheet-up}.page>.map-continue{animation:.35s both rise}.chat-page>*{animation:.4s cubic-bezier(.22,1,.36,1) both rise}.chat-page>:first-child{animation-delay:20ms}.chat-page>:nth-child(2){animation-delay:60ms}.chat-page>:nth-child(3){animation-delay:.1s}.chat-page>:nth-child(4){animation-delay:.14s}.auth-card{animation:.45s cubic-bezier(.22,1,.36,1) both dialog-in}.marketing>:not(.topbar){animation:.5s cubic-bezier(.22,1,.36,1) both rise}.marketing>:nth-child(2){animation-delay:40ms}.marketing>:nth-child(3){animation-delay:80ms}.marketing>:nth-child(4){animation-delay:.12s}.marketing>:nth-child(5){animation-delay:.16s}.marketing>:nth-child(6){animation-delay:.2s}.marketing>:nth-child(7){animation-delay:.24s}.marketing>:nth-child(8){animation-delay:.28s}.marketing>:nth-child(9){animation-delay:.32s}.choice-grid>*,.mini-grid>*,.cards>*,.lang-grid>*,.plans>*,.stat-row>*,.avatar-grid>*,.persona-grid>*{animation:.42s cubic-bezier(.22,1,.36,1) both rise}.choice-grid>:first-child,.mini-grid>:first-child,.cards>:first-child,.lang-grid>:first-child,.plans>:first-child,.stat-row>:first-child,.avatar-grid>:first-child,.persona-grid>:first-child{animation-delay:40ms}.choice-grid>:nth-child(2),.mini-grid>:nth-child(2),.cards>:nth-child(2),.lang-grid>:nth-child(2),.plans>:nth-child(2),.stat-row>:nth-child(2),.avatar-grid>:nth-child(2),.persona-grid>:nth-child(2){animation-delay:80ms}.choice-grid>:nth-child(3),.mini-grid>:nth-child(3),.cards>:nth-child(3),.lang-grid>:nth-child(3),.plans>:nth-child(3),.stat-row>:nth-child(3),.avatar-grid>:nth-child(3),.persona-grid>:nth-child(3){animation-delay:.12s}.choice-grid>:nth-child(4),.mini-grid>:nth-child(4),.cards>:nth-child(4),.lang-grid>:nth-child(4),.plans>:nth-child(4),.stat-row>:nth-child(4),.avatar-grid>:nth-child(4),.persona-grid>:nth-child(4){animation-delay:.16s}.choice-grid>:nth-child(5),.mini-grid>:nth-child(5),.cards>:nth-child(5),.lang-grid>:nth-child(5),.plans>:nth-child(5),.stat-row>:nth-child(5),.avatar-grid>:nth-child(5),.persona-grid>:nth-child(5){animation-delay:.2s}.choice-grid>:nth-child(6),.mini-grid>:nth-child(6),.cards>:nth-child(6),.lang-grid>:nth-child(6),.plans>:nth-child(6),.stat-row>:nth-child(6),.avatar-grid>:nth-child(6),.persona-grid>:nth-child(6){animation-delay:.24s}.cert-sheet .cert{animation:.4s cubic-bezier(.22,1,.36,1) both rise}.cert-sheet .cert:first-child{animation-delay:30ms}.cert-sheet .cert:nth-child(2){animation-delay:60ms}.cert-sheet .cert:nth-child(3){animation-delay:90ms}.cert-sheet .cert:nth-child(4){animation-delay:.12s}.cert-sheet .cert:nth-child(5){animation-delay:.15s}.cert-sheet .cert:nth-child(6){animation-delay:.18s}.cert-sheet .cert:nth-child(7){animation-delay:.21s}.cert-sheet .cert:nth-child(8){animation-delay:.24s}.map-trail>li{animation:.42s cubic-bezier(.22,1,.36,1) both rise}.map-trail>li:first-child{animation-delay:40ms}.map-trail>li:nth-child(2){animation-delay:80ms}.map-trail>li:nth-child(3){animation-delay:.12s}.map-trail>li:nth-child(4){animation-delay:.16s}.map-trail>li:nth-child(5){animation-delay:.2s}.map-trail>li:nth-child(6){animation-delay:.24s}.map-trail>li:nth-child(7){animation-delay:.28s}.map-trail>li:nth-child(8){animation-delay:.32s}.map-trail>li:nth-child(9){animation-delay:.36s}.map-trail>li:nth-child(10){animation-delay:.4s}.map-stop{transition:transform .2s}.map-stop:not(:disabled):hover{transform:translateY(-2px)}.map-stop:not(:disabled):active{transform:scale(.98)}.stat-row article{transition:transform .2s}.stat-row article:hover{transform:translateY(-3px)}.streak-days li.on i{animation:.45s both streak-lit}.rank-chip-bar span,.bar span,.sentence-bars b{transform-origin:0;animation:.65s cubic-bezier(.22,1,.36,1) both bar-grow}[dir=rtl] .rank-chip-bar span,[dir=rtl] .bar span,[dir=rtl] .sentence-bars b{transform-origin:100%}.words-card{transition:transform .22s,box-shadow .22s;animation:.42s cubic-bezier(.22,1,.36,1) both rise}.nudge,.empty-hero,.rank-card,.streak-card,.next-lesson,.chart-card{transition:transform .22s,box-shadow .22s}.nudge:hover,.empty-hero:hover,.rank-card:hover,.streak-card:hover,.next-lesson:hover,.chart-card:hover,.words-card:hover{transform:translateY(-2px)}.back-btn{transition:transform .18s,background .18s}.back-btn:active{transform:scale(.94)}.topbar{animation:.4s both rise}.hero-art img{animation:.6s both rise,5.5s ease-in-out .7s infinite soft-float}.dialogue-orb:not(.live),.call-orb:not(.live){animation:4.8s ease-in-out infinite soft-float}.list .list-item{animation:.4s cubic-bezier(.22,1,.36,1) both rise}.list .list-item:first-child{animation-delay:40ms}.list .list-item:nth-child(2){animation-delay:80ms}.list .list-item:nth-child(3){animation-delay:.12s}.list .list-item:nth-child(4){animation-delay:.16s}.list .list-item:nth-child(5){animation-delay:.2s}.list .list-item{transition:transform .2s}.list .list-item:hover{transform:translate(-3px)}[dir=ltr] .list .list-item:hover{transform:translate(3px)}.faq-list details{transition:transform .18s;animation:.4s both rise}.faq-list details:first-child{animation-delay:40ms}.faq-list details:nth-child(2){animation-delay:80ms}.faq-list details:nth-child(3){animation-delay:.12s}.faq-list details:nth-child(4){animation-delay:.16s}.pending{animation:.3s both rise}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.call-orb.live:before,.call-orb.live:after,.call-orb.waiting:before,.call-orb.waiting:after,.call-wait-orbit,.call-wait-orbit:before,.call-wait-orbit i,.voice-orb.on:before,.voice-orb.on:after,.page>*,.chat-page>*,.choice,.choice-grid>*,.mini-grid>*,.cards>*,.lang-grid>*,.plans>*,.stat-row>*,.avatar-grid>*,.persona-grid>*,.cert-sheet .cert,.map-trail>li,.list .list-item,.faq-list details,.dash-banner,.hero-art img,.route-view,.auth-card,.marketing>*,.thread .turn,.thread>.bubble,.mistake-card,.words-card,.pending,.start-step,.cover-mosaic img,.sheet-backdrop,.map-backdrop,.user-sheet,.map-sheet,.persona-modal,.persona-dialog,.tabbar a.active,.tabbar a.active .icon,.locale-switch button.on,.level-row button.on,.persona.on,.avatar-grid button.on,.start-langs button.on,.goal-picks button.on,.sk,.map-stop.current .map-orb:after,.map-stop.exam.ready .map-orb:after,.rate-picks button.on .rate-wave i,.dialogue-orb,.call-orb,.rank-chip-bar span,.bar span,.sentence-bars b,.streak-days li.on i{animation:none!important}.choice:hover,.choice:hover img,.choice:active,.mini:hover,.card.shot:hover,.btn:hover,.btn:active,.persona:hover,.persona:active,.map-stop:hover,.stat-row article:hover,.nudge:hover,.map-entry:hover,.list .list-item:hover,.tabbar a:active,.icon-btn:hover,.icon-btn:active,.start-langs button:hover,.goal-picks button:hover,.quiz-choices button:hover,.avatar-grid button:hover,.avatar-grid button:active{transform:none!important}}.back-btn .icon{stroke:currentColor;width:22px;height:22px}.btn .icon,.text-btn .icon,.chat-error .icon{stroke:currentColor;flex:none;width:18px;height:18px}.text-btn,.chat-error button{align-items:center;gap:6px;display:inline-flex}.icon-btn{cursor:pointer;width:42px;height:42px;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:50%;flex:none;place-items:center;transition:transform .18s,background .18s,color .18s,box-shadow .18s;display:grid}.icon-btn .icon{stroke:currentColor;width:20px;height:20px}.icon-btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px #2a21441a}.icon-btn:active{transform:scale(.94)}.icon-btn.on{background:var(--navy);color:#fff;border-color:#0000}.icon-btn:disabled{opacity:.55;cursor:progress}.cover-mosaic{grid-template-columns:1fr 1fr;gap:8px;display:grid}.hero-art .cover-mosaic img,.cover-mosaic img{aspect-ratio:4/5;object-fit:cover;object-position:center;width:100%;box-shadow:none;border-radius:20px;display:block}.hero-art{min-height:0}.hero-art .preview{z-index:1}.streak-card,.review-card,.nudge,.next-lesson,.path-list,.empty-hero,.start-step,.rank-card{background:var(--surface);border-radius:24px;box-shadow:0 10px 24px #1b223314}.rank-card{gap:8px;padding:14px 16px;display:grid}.rank-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.rank-top strong{font-size:1.4rem;line-height:1}.rank-top span{color:var(--coral-deep);font-weight:800}.rank-card small{color:var(--muted);font-weight:800}.streak-card{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.streak-mark{align-items:center;gap:10px;display:flex}.streak-mark .icon,.rank-top .icon{width:26px;height:26px;stroke:var(--coral);flex:none}.rank-top strong{align-items:center;gap:8px;display:flex}.streak-card strong{font-size:1.7rem;line-height:1;display:block}.streak-card span{color:var(--muted);font-size:.85rem;font-weight:800}.streak-days{gap:6px;margin:0;padding:0;list-style:none;display:flex}.streak-days li{justify-items:center;gap:4px;display:grid}.streak-days i{background:var(--bar-track);border-radius:50%;width:16px;height:16px;display:block}.streak-days li.on i{background:linear-gradient(#ff6d8f,#7c5cff)}.streak-days small{color:var(--muted);font-size:.72rem;font-weight:800}.nudge{color:inherit;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.nudge span{gap:2px;display:grid}.nudge .icon{width:26px;height:26px;stroke:var(--coral);flex:none}.nudge small{color:var(--muted)}.next-lesson{text-align:start;cursor:pointer;color:inherit;border:0;width:100%;padding:0;display:block;overflow:hidden}.next-lesson>span{align-content:center;gap:4px;padding:14px 16px;display:grid}.next-lesson small{color:var(--muted)}.next-lesson em{color:var(--coral-deep);margin-top:4px;font-style:normal;font-weight:800}.next-lesson:disabled,.path-item:disabled{opacity:.6;cursor:progress}.path-list{gap:8px;padding:14px;display:grid}.path-list h2{margin:0 2px 4px;font-size:1.05rem}.path-item{background:var(--surface-soft);text-align:start;color:inherit;cursor:pointer;border:0;border-radius:16px;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;width:100%;padding:0;display:grid;overflow:hidden}article.path-item{cursor:default}.path-item img{object-fit:cover;width:64px;height:64px;display:block}.path-item span{gap:2px;min-width:0;display:grid}.path-item small{color:var(--muted)}.path-item.plain{grid-template-columns:1fr auto;padding:12px}.path-item.plain b{margin-inline-end:0}.path-item b{background:var(--surface);width:28px;height:28px;color:var(--ink);border-radius:50%;place-items:center;margin-inline-end:10px;font-size:.85rem;display:grid}.review-card{gap:10px;padding:14px 16px;display:grid}.review-card h2{margin:0;font-size:1.05rem}.review-card article{border-top:1px solid var(--line);gap:2px;padding-top:8px;display:grid}.review-card s,.review-card small{color:var(--muted)}.empty-inline{grid-template-columns:72px 1fr;align-items:center;gap:12px;display:grid}.empty-inline img{object-fit:cover;border-radius:16px;width:72px;height:72px}.empty-hero{text-align:center;justify-items:center;gap:12px;padding:18px 16px 20px;display:grid}.empty-hero .cover-mosaic{width:min(100%,280px)}.empty-hero h1,.empty-hero h2{margin:0}.start-page{align-content:start}.start-dots{justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.start-dots li{background:var(--dot,var(--bar-track));border-radius:99px;width:8px;height:8px;transition:width .28s,background .28s,transform .28s}.start-dots li.on{background:#ff4d73;width:22px;transform:scale(1.08)}.start-step{gap:12px;padding:16px;animation:.4s cubic-bezier(.22,1,.36,1) both dialog-in;display:grid}.start-step h1{margin:0;font-size:1.45rem}.start-step .personalize-fields{margin-top:4px}.start-step .interest-menu{max-height:260px}.start-points,.start-langs,.goal-picks,.quiz-choices{gap:8px;display:grid}.cover-mosaic img{animation:.45s cubic-bezier(.22,1,.36,1) both rise}.cover-mosaic img:first-child{animation-delay:40ms}.cover-mosaic img:nth-child(2){animation-delay:.1s}.cover-mosaic img:nth-child(3){animation-delay:.16s}.cover-mosaic img:nth-child(4){animation-delay:.22s}.start-points{grid-template-columns:repeat(3,1fr)}.start-points article{text-align:center;justify-items:center;gap:6px;display:grid}.start-points img{object-fit:cover;border-radius:16px;width:100%;height:72px}.start-langs{grid-template-columns:1fr 1fr}.start-langs button,.goal-picks button,.quiz-choices button{background:var(--surface-soft);color:var(--ink);cursor:pointer;text-align:start;border:2px solid #0000;border-radius:16px;padding:0;font-weight:800;transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden}.start-langs img{object-fit:cover;width:100%;height:72px;display:block}.start-langs span{padding:8px 10px 10px;display:block}.start-langs button:hover,.goal-picks button:hover,.quiz-choices button:hover{transform:translateY(-2px)}.start-langs button:active,.goal-picks button:active,.quiz-choices button:active{transform:scale(.98)}.start-langs button.on,.goal-picks button.on{border-color:var(--coral);animation:.28s pop}.goal-picks{grid-template-columns:1fr 1fr}.goal-picks button,.quiz-choices button{text-align:center;padding:14px 12px}.goal-picks button{justify-content:center;align-items:center;gap:8px;display:flex}.goal-picks .icon{stroke:currentColor;width:18px;height:18px}.sk{background:linear-gradient(90deg, var(--surface-soft), var(--surface), var(--surface-soft));background-size:200% 100%;border-radius:16px;animation:1.2s infinite shimmer;display:block}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.sk-line{width:40%;height:14px}.sk-title{width:72%;height:28px}.sk-banner{border-radius:24px;height:148px}.sk-card{border-radius:24px;height:92px}.sk-card.short{height:64px}.sk-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sk-stat{height:72px}.sk-bubble{border-radius:8px 22px 22px;width:74%;height:64px}.sk-bubble.me{width:62%;margin-inline-start:auto}.sk-bubble.short{width:48%}.sk-top{border-radius:22px;height:64px;margin-bottom:18px}.sk-hero-copy{height:220px}.sk-hero-art{border-radius:28px;height:320px}.skeleton{gap:12px}.words-count{text-align:center;color:var(--muted);margin:0;font-weight:800}.words-progress{justify-content:center;gap:6px;display:flex}.words-progress span{background:var(--dot);border-radius:99px;width:8px;height:8px}.words-progress span.on{background:var(--coral);width:18px}.words-progress span.ok{background:var(--teal)}.words-card{background:var(--surface);text-align:center;border-radius:28px;justify-items:center;gap:12px;padding:16px;display:grid;box-shadow:0 12px 28px #1b223314}.words-card h2{margin:0;font-size:2rem}.words-hero{aspect-ratio:1;object-fit:cover;background:#fff6ee;border-radius:22px;width:min(100%,280px);height:auto}.words-example,.words-prompt{margin:0}.words-example{font-size:1.15rem;line-height:1.45}.words-prompt{font-weight:800}.words-keys{justify-content:center;align-items:start;gap:18px;display:flex}.words-keys .voice-slot{padding-top:0}.words-keys .icon{stroke:currentColor;width:22px;height:22px}.words-card>.btn{width:100%}.words-options{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.words-options.sentences{grid-template-columns:1fr}.words-option{border:2px solid var(--line);background:var(--card);cursor:pointer;text-align:center;border-radius:18px;padding:8px}.words-option:disabled{cursor:default}.words-option img{aspect-ratio:1;object-fit:cover;background:#fff6ee;border-radius:12px;width:100%;height:auto;display:block}.words-option.sentence{text-align:start;padding:14px 12px;line-height:1.45}.words-option.right{background:#e7f6ef;border-color:#1f8a4c}.words-option.wrong{border-color:var(--coral);background:var(--peach)}.words-feedback{justify-items:center;gap:6px;width:100%;display:grid}.words-feedback strong{align-items:center;gap:6px;display:inline-flex}.words-feedback .icon{stroke:currentColor;width:18px;height:18px}.words-feedback p{margin:0}.words-feedback .btn{width:auto}.map-page{padding-bottom:8px}.map-hero{border:1px solid var(--line);background:radial-gradient(140px 90px at 100% 0%, #ffb70361, transparent 72%), linear-gradient(180deg, var(--surface), var(--card));border-radius:28px;align-items:center;gap:16px;padding:16px 16px 14px;display:flex;box-shadow:0 16px 36px #2a214414}.map-hero h1{font-size:1.65rem}.map-ring{--p:0;background:conic-gradient(#0f9b8e calc(var(--p) * 1%), var(--bar-track) 0);border-radius:50%;flex:none;place-items:center;width:96px;height:96px;display:grid;box-shadow:0 12px 26px #0f9b8e38}.map-ring strong{background:var(--surface);letter-spacing:.01em;border-radius:50%;place-items:center;width:76px;height:76px;font-size:1.02rem;display:grid}.map-halves{grid-template-columns:1fr 1fr;gap:8px;display:grid}.map-halves button{border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:start;cursor:pointer;border-radius:18px;padding:10px 12px}.map-halves b{font-size:1.05rem;line-height:1.2;display:block}.map-halves small{color:var(--muted);font-weight:750}.map-halves button.on{color:#fff;background:linear-gradient(#ff6d8f,#7c5cff);border-color:#0000;box-shadow:0 10px 22px #7c5cff47}.map-halves button.on small{color:#ffffffdb}.map-parts{scrollbar-width:none;gap:8px;padding:2px 2px 6px;display:flex;overflow-x:auto}.map-parts::-webkit-scrollbar{display:none}.map-parts button{border:1px solid var(--line);background:var(--surface);min-width:84px;color:var(--ink);cursor:pointer;border-radius:18px;flex:none;justify-items:center;gap:1px;padding:10px 12px 8px;display:grid}.map-parts b{font-size:.95rem;line-height:1.15}.map-parts small{color:var(--muted);font-size:.72rem;font-weight:750}.map-parts .icon{stroke:#c48a00;width:16px;height:16px}.map-parts button.has-badge{background:radial-gradient(42px 28px at 100% 0%, #ffb70380, transparent 72%), var(--surface);border-color:#ffb703bf}.map-parts button.on{color:#fff;background:linear-gradient(#ff6d8f,#7c5cff);border-color:#0000;box-shadow:0 10px 22px #7c5cff47}.map-parts button.on small{color:#ffffffdb}.map-parts button.on .icon{stroke:#ffe08a}.map-badge-row{flex-wrap:wrap;gap:6px;display:flex}.map-badge{color:#6a4310;background:linear-gradient(#ffe08a,#ffb703);border-radius:999px;align-items:center;padding:3px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.map-jumps{gap:4px;display:grid}.map-jumps p{color:var(--muted);margin:0;font-weight:700}.map-jumps button{color:var(--violet);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-weight:800}.map-trail{gap:2px;margin:0;padding:10px 0 96px;list-style:none;display:grid;position:relative}.map-trail:before{content:"";opacity:.38;background:linear-gradient(#0f9b8e,#7c5cff 58%,#ffb703);border-radius:99px;width:3px;position:absolute;top:36px;bottom:132px;left:50%;transform:translate(-50%)}.map-stop{cursor:pointer;width:100%;color:inherit;background:0 0;border:0;grid-template-columns:1fr 78px 1fr;align-items:center;gap:8px;padding:6px 0;display:grid}.side-a .map-copy{text-align:end;grid-area:1/1;justify-self:end}.side-a .map-orb,.side-b .map-orb{grid-area:1/2}.side-b .map-copy{text-align:start;grid-area:1/3;justify-self:start}.map-copy{max-width:138px}.map-copy strong{font-size:.98rem;line-height:1.35;display:block}.map-copy small{color:var(--muted);font-size:.78rem;font-weight:750}.map-stop.current .map-copy strong{color:var(--coral-deep)}.map-stop.locked .map-copy{opacity:.62}.map-orb{z-index:1;background:var(--surface);width:72px;height:72px;color:var(--ink);border:3px solid var(--line);border-radius:50%;justify-self:center;place-items:center;font-size:1.15rem;font-weight:800;display:grid;position:relative;box-shadow:0 10px 22px #2a214414}.map-orb .icon{stroke:currentColor;width:28px;height:28px}.map-stop.done .map-orb{color:#fff;background:linear-gradient(#1ec9b4,#0f9b8e);border-color:#0000;box-shadow:0 12px 24px #0f9b8e57}.map-stop.current .map-orb{color:#fff;background:linear-gradient(#ff6d8f,#7c5cff);border-color:#0000;box-shadow:0 14px 28px #7c5cff61}.map-stop.current .map-orb:after,.map-stop.exam.ready .map-orb:after{content:"";border:2px solid #7c5cff73;border-radius:50%;animation:1.8s ease-out infinite map-pulse;position:absolute;inset:-8px}.map-stop.open .map-orb{border-color:#c9b6f5}.map-stop.locked .map-orb{color:var(--muted);background:var(--bg-deep);box-shadow:none}.map-stop:disabled{cursor:default;opacity:1}.map-trail li.exam-row{margin-top:8px}.map-trail li.exam-row .map-stop{flex-direction:column;align-items:center;gap:8px;display:flex}.map-trail li.exam-row .map-copy{text-align:center;max-width:240px}.map-stop.exam .map-orb{color:#6a4310;background:linear-gradient(#ffe08a,#ffb703);border-color:#0000;width:88px;height:88px;box-shadow:0 14px 28px #ffb70361}.map-stop.exam.ready .map-orb:after{border-color:#ffb703b3}.map-stop.exam.passed .map-orb{color:#fff;background:linear-gradient(#1ec9b4,#0f9b8e);box-shadow:0 14px 28px #0f9b8e57}.map-stop.exam.locked .map-orb{color:var(--muted);background:var(--bg-deep);box-shadow:none}.map-continue{z-index:3;cursor:pointer;color:#fff;background:linear-gradient(#ff6d8f,#7c5cff);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 18px;font-weight:800;display:flex;position:sticky;bottom:8px;box-shadow:0 14px 30px #7c5cff59}.map-continue .icon{stroke:currentColor;flex:none;width:20px;height:20px}.map-continue span{min-width:0}.map-backdrop{z-index:40;cursor:pointer;background:#140c207a;border:0;animation:.22s both fade-in;position:fixed;inset:0}.map-sheet{z-index:41;background:var(--card);width:min(460px,100%);color:var(--ink);padding:8px 16px calc(18px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;gap:8px;animation:.4s cubic-bezier(.22,1,.36,1) both sheet-up;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -18px 50px #140c2047}.map-sheet h2{font-size:1.45rem}.map-sheet-handle{background:var(--line);border-radius:99px;width:42px;height:5px;margin:4px auto 6px;display:block}.map-tasks{gap:8px;display:grid}.map-tasks button{text-align:start;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);cursor:pointer;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;transition:transform .18s,background .18s,border-color .18s;display:grid}.map-tasks button:not(:disabled):hover{transform:translateY(-2px)}.map-tasks button:not(:disabled):active{transform:scale(.98)}.map-tasks button strong,.map-tasks button small{display:block}.map-tasks button small{color:var(--muted);font-weight:700}.map-tasks button.done{background:var(--notice-bg);border-color:#0000}.map-tasks button:disabled{opacity:.55;cursor:default}.map-tasks .icon{stroke:currentColor;width:22px;height:22px}.path-next{justify-self:stretch;gap:10px;width:100%;display:grid}.path-next-ask{margin:0;font-size:1.08rem;font-weight:800}.path-next .btn{width:100%}.map-entry{color:#fff;background:radial-gradient(140px 90px at 100% 100%,#ffb7036b,#0000 70%),radial-gradient(120px 80px at 0 0,#ffb70359,#0000 70%),linear-gradient(135deg,#2a2144,#7c5cff 68%,#ff4d73);border-radius:24px;gap:14px;padding:14px;text-decoration:none;transition:transform .22s,box-shadow .22s;display:grid;box-shadow:0 16px 36px #2a214447}.map-entry:hover{transform:translateY(-3px);box-shadow:0 20px 40px #2a214457}.map-entry:active{transform:scale(.99)}.map-entry-top{color:inherit;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-decoration:none;display:grid}.map-entry strong,.map-entry-top small{display:block}.map-entry-top small{color:#ffffffd1;font-weight:700}.map-entry-mark{background:#ffffff29;border-radius:50%;place-items:center;width:54px;height:54px;font-weight:800;display:grid}.map-entry-top .icon{stroke:#fff}.stamp-head{border-top:1px solid #ffffff29;justify-content:space-between;align-items:baseline;padding-top:12px;display:flex}.stamp-head small{color:#ffffffb8;font-size:.75rem;font-weight:800}.cert-sheet{grid-template-columns:repeat(3,1fr);justify-items:center;gap:14px 10px;margin:0;padding:4px 2px 2px;list-style:none;display:grid}.cert{aspect-ratio:1;border-radius:50%;width:100%;position:relative;overflow:hidden;box-shadow:0 10px 18px #14082038}.cert img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.cert b{text-align:center;color:#ffe7a3;letter-spacing:-.03em;text-shadow:0 1px #0c123073;font-size:.95rem;line-height:1;position:absolute;top:41%;left:50%;transform:translate(-50%,-50%)}.cert.is-on{box-shadow:0 0 0 3px #ffe08a,0 0 0 7px #ffe08a59,0 14px 24px #28120057}.cert.is-off{opacity:.42}.cert.is-off img{filter:grayscale()brightness(.9)}.cert.is-off b{color:#f4efe4}.cert.is-off .icon{stroke:#fff6e8;width:15px;height:15px;position:absolute;top:72%;left:50%;transform:translate(-50%)}.exam-page{align-content:start}.exam-steps{gap:4px;display:flex}.exam-steps i{background:var(--bar-track);border-radius:99px;flex:1;height:6px}.exam-steps i.on{background:linear-gradient(90deg,#ff6d8f,#7c5cff)}.exam-page h1.exam-prompt{text-align:center;margin:4px 0 8px;font-size:2rem}.exam-options{gap:8px;display:grid}.exam-options button{border:2px solid var(--line);background:var(--surface);min-height:58px;color:var(--ink);cursor:pointer;border-radius:18px;font-size:1.12rem;font-weight:800}.exam-options button.on{color:#fff;background:linear-gradient(#ff6d8f,#7c5cff);border-color:#0000;box-shadow:0 10px 22px #7c5cff47}.exam-result{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:28px;justify-items:center;gap:8px;padding:22px 16px;display:grid}.exam-result>.icon{width:42px;height:42px;stroke:var(--coral)}.exam-result.pass>.icon{stroke:#0f9b8e}.exam-result.pass{background:linear-gradient(180deg, #1ec9b429, var(--surface) 46%)}.exam-result.fail{background:linear-gradient(180deg, #ff4d731f, var(--surface) 46%)}.exam-misses{gap:8px;margin:0;padding:0;list-style:none;display:grid}.exam-misses li{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:2px;padding:10px 12px;display:grid}.exam-misses span{font-weight:800}.exam-misses small{color:var(--muted)}@keyframes map-pulse{0%{opacity:.85;transform:scale(.92)}to{opacity:0;transform:scale(1.2)}}.celebrate{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#120a1c94;place-items:center;padding:20px;animation:.35s ease-out celebrate-veil;display:grid;position:fixed;inset:0}.celebrate-dialog{text-align:center;width:min(380px,100%);color:var(--ink);background:radial-gradient(180px 120px at 50% 0%, #ffb70347, transparent 70%), radial-gradient(220px 160px at 100% 100%, #ff4d7324, transparent 65%), var(--card);border-radius:32px;justify-items:center;gap:10px;padding:28px 22px 22px;animation:.55s cubic-bezier(.2,1.15,.35,1) celebrate-pop;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 70px #120a1c61}.celebrate-dialog.is-level{background:radial-gradient(220px 160px at 50% -8%, #a78cff6b, transparent 62%), radial-gradient(240px 180px at 110% 110%, #ff6d8f33, transparent 58%), linear-gradient(180deg, #f4efff 0%, var(--card) 42%);padding-top:18px}.celebrate-dialog.is-badge{background:radial-gradient(180px 120px at 50% 0%, #ffb70347, transparent 70%), radial-gradient(220px 160px at 100% 100%, #ff4d7324, transparent 65%), var(--card)}.celebrate-glow{filter:blur(8px);pointer-events:none;background:radial-gradient(circle,#ffe08a8c,#0000 68%);border-radius:50%;width:220px;height:220px;animation:2.4s ease-in-out infinite celebrate-pulse;position:absolute;top:18px}.celebrate-orbit{aspect-ratio:1;pointer-events:none;z-index:0;width:min(268px,78vw);position:absolute;top:42px}.celebrate-orbit span{border:1.5px dashed #7c5cff59;border-radius:50%;animation:12s linear infinite celebrate-spin;position:absolute;inset:0}.celebrate-orbit span:last-child{border-style:solid;border-color:#ff6d8f38;animation-duration:8s;animation-direction:reverse;inset:18px}.celebrate-crystal{z-index:1;aspect-ratio:1;border-radius:36px;width:min(248px,74vw);animation:.9s cubic-bezier(.18,1.2,.32,1) celebrate-float;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff8c,0 22px 44px #4a2a8c47}.celebrate-crystal img{object-fit:cover;object-position:center 46%;width:100%;height:100%;display:block}.celebrate-crystal strong{color:#fff7ff;letter-spacing:-.05em;text-shadow:0 0 18px #a78cfff2,0 0 36px #ff6d8f8c,0 10px 24px #180a3073;font-size:clamp(3.2rem,14vw,4.2rem);font-weight:900;line-height:1;animation:.75s cubic-bezier(.2,1.2,.3,1) .16s both celebrate-mark;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.celebrate-crystal em{color:#ffe9ff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#1c10306b;border-radius:999px;padding:4px 12px;font-size:.78rem;font-style:normal;font-weight:850;animation:.55s ease-out .28s both celebrate-chip;position:absolute;bottom:14%;left:50%;transform:translate(-50%)}.celebrate-medal{aspect-ratio:1;z-index:1;border-radius:50%;width:min(220px,68vw);animation:.85s cubic-bezier(.18,1.2,.32,1) celebrate-medal;position:relative;overflow:hidden;box-shadow:0 0 0 3px #ffe08a,0 0 0 8px #ffe08a47,0 18px 36px #2812004d}.celebrate-medal img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.celebrate-medal strong{color:#ffe7a3;letter-spacing:-.04em;text-shadow:0 2px #0c123073,0 8px 18px #00000059;line-height:1;animation:.7s cubic-bezier(.2,1.2,.3,1) .18s both celebrate-mark;position:absolute;top:41%;left:50%;transform:translate(-50%,-50%)}.celebrate-medal strong.part{font-size:clamp(1.35rem,6vw,1.75rem);font-weight:850}.celebrate-shine{pointer-events:none;background:linear-gradient(115deg,#0000 35%,#ffffff6b 48%,#0000 62%);animation:1.6s ease-out .35s both celebrate-shine;position:absolute;inset:-20%;transform:translate(-120%)rotate(12deg)}.celebrate-kicker{z-index:1;color:#c48a00;letter-spacing:.04em;margin-top:4px;font-size:.86rem;font-weight:850;position:relative}.celebrate-dialog.is-level .celebrate-kicker{color:#7a5cff}.celebrate-dialog h2{z-index:1;font-size:clamp(1.7rem,5vw,2.1rem);line-height:1.2;position:relative}.celebrate-lead{z-index:1;color:var(--muted);max-width:28ch;margin:0;font-weight:700;position:relative}.celebrate-steps{z-index:1;background:#7c5cff1a;border:1px solid #7c5cff2e;border-radius:999px;align-items:center;gap:10px;padding:8px 14px;display:inline-flex;position:relative}.celebrate-steps b{background:var(--surface);width:34px;height:34px;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;place-items:center;font-size:.95rem;display:grid}.celebrate-steps b.on{color:#fff;background:linear-gradient(#ff6d8f,#7c5cff);box-shadow:0 8px 16px #7c5cff47}.celebrate-steps .icon{width:18px;height:18px;stroke:var(--violet)}.celebrate-ok{z-index:1;min-width:148px;margin-top:6px;position:relative}.celebrate-ok .icon{stroke:currentColor;width:18px;height:18px}.celebrate-burst{pointer-events:none;position:absolute;inset:0;overflow:hidden}.celebrate-burst i{--angle:calc(var(--i) * 18deg);--dist:calc(78px + (var(--i) % 4) * 18px);width:8px;height:8px;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(0) scale(.4);opacity:0;animation:celebrate-spark 1.05s calc(var(--i) * 18ms) ease-out both;background:#ffb703;border-radius:2px;position:absolute;top:34%;left:50%}.celebrate-dialog.is-level .celebrate-burst i{top:30%}.celebrate-burst i:nth-child(3n){background:#ff6d8f;border-radius:99px;width:6px;height:6px}.celebrate-burst i:nth-child(3n+1){background:#7c5cff;border-radius:99px;width:5px;height:12px}.celebrate-burst i:nth-child(4n){background:#1ec9b4}@keyframes celebrate-veil{0%{opacity:0}to{opacity:1}}@keyframes celebrate-pop{0%{opacity:0;transform:translateY(18px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes celebrate-medal{0%{opacity:0;transform:scale(.55)rotate(-8deg)}70%{transform:scale(1.06)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes celebrate-float{0%{opacity:0;transform:translateY(24px)scale(.86)}65%{transform:translateY(-6px)scale(1.03)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes celebrate-mark{0%{opacity:0;transform:translate(-50%,-40%)scale(.5)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes celebrate-chip{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes celebrate-shine{0%{transform:translate(-120%)rotate(12deg)}to{transform:translate(120%)rotate(12deg)}}@keyframes celebrate-pulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:.95;transform:scale(1.08)}}@keyframes celebrate-spin{to{transform:rotate(360deg)}}@keyframes celebrate-spark{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(0) scale(.3)}25%{opacity:1}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(calc(var(--dist) * -1)) scale(1)}}[data-theme=dark] .celebrate-dialog.is-badge{background:radial-gradient(180px 120px at 50% 0%, #ffb70338, transparent 70%), radial-gradient(220px 160px at 100% 100%, #ff4d731f, transparent 65%), var(--card)}[data-theme=dark] .celebrate-dialog.is-level{background:radial-gradient(220px 160px at 50% -8%, #7c5cff57, transparent 62%), radial-gradient(240px 180px at 110% 110%, #ff6d8f29, transparent 58%), linear-gradient(180deg, #2a2144 0%, var(--card) 48%)}[data-theme=dark] .celebrate-steps{background:#ffffff0f;border-color:#a78cff3d}[data-theme=dark] .celebrate-steps b{background:#2c2340}
