:root{--blue:#1f6feb;--blue-dark:#1557c0;--blue-soft:#e8f1ff;--teal:#0d9488;--teal-soft:#ccfbf1;--success:#16a34a;--success-soft:#dcfce7;--danger:#dc2626;--danger-soft:#fee2e2;--warning:#d97706;--warning-soft:#fef3c7;--bg:#f5f7fa;--card:#fff;--ink:#1e293b;--muted:#64748b;--line:#e2e8f0;--locked:#94a3b8;--shadow:0 10px 28px #1e293b14;--radius:20px;--safe-bottom:env(safe-area-inset-bottom,0px);color:var(--ink);background:var(--bg);font-family:Vazirmatn,Tahoma,sans-serif;line-height:1.55}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:linear-gradient(180deg, #e8f1ff 0%, var(--bg) 28%, #f3f7fb 100%);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.muted{color:var(--muted)}.tiny{font-size:12px}.ok{color:var(--success)}.bad{color:var(--danger);font-size:13px;font-weight:600}.lede{color:var(--muted);margin:0 0 1rem}.eyebrow{color:var(--blue-dark);margin:0;font-size:13px;font-weight:700}.app-shell{max-width:480px;min-height:100dvh;padding:8px 16px calc(88px + var(--safe-bottom));margin:0 auto}.topbar{margin-bottom:8px}.topbar-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-actions{align-items:center;gap:8px;display:flex}.brand-block{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{background:var(--card);border:1px solid var(--line);width:36px;height:36px;color:var(--blue);border-radius:10px;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.brand-logo{object-fit:cover;background:#0d52bd;border-radius:22%;flex:none;display:block;overflow:hidden;box-shadow:0 8px 20px #0d52bd38}.brand-logo-sm{border-radius:11px;width:36px;height:36px;box-shadow:0 4px 10px #0d52bd2e}.brand-logo-md{border-radius:14px;width:48px;height:48px}.brand-logo-lg{border-radius:20px;width:72px;height:72px}.brand-logo-xl{border-radius:30px;width:120px;height:120px;box-shadow:0 18px 40px #071e5047}.splash-brand{margin-bottom:10px;animation:2.8s ease-in-out infinite splash-logo-float}.auth-brand{margin-bottom:12px}.install-brand{margin:0 auto 10px}.brand-block strong{font-size:15px;line-height:1.2;display:block}.brand-block small{color:var(--muted);font-size:11px;display:block}.back-link{background:var(--card);border:1px solid var(--line);width:40px;height:40px;color:var(--ink);border-radius:12px;place-items:center;font-size:18px;display:grid}.page-title{margin:0;font-size:1.15rem;font-weight:800}.page-title.below{margin-top:10px}.page-sub{color:var(--muted);margin:2px 0 0;font-size:12px}.title-block{min-width:0}.stats-chip{align-items:center;gap:6px;display:flex}.chip-item{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.chip-item b{font-weight:800;line-height:1}.chip-streak{color:#c2410c;background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fdba74;box-shadow:0 4px 12px #f973162e}.chip-streak svg{color:#ea580c;fill:#fdba74}.chip-xp{color:#a16207;background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fcd34d;box-shadow:0 4px 12px #f59e0b2e}.chip-xp svg{color:#d97706;fill:#fde68a}.inline-ico{vertical-align:-3px;color:var(--blue);display:inline-block}.cta-row{align-items:center;gap:6px;display:inline-flex}.hero-icon{background:#ffffff2e;border-radius:16px;place-items:center;width:48px;height:48px;display:grid}.emoji-box{background:var(--blue-soft);width:42px;height:42px;color:var(--blue-dark);border-radius:14px;flex:none;place-items:center;display:grid}.muted-box{color:var(--muted);background:#eef2f7}.section-body{flex:1;min-width:0}.row-trail{color:var(--muted);place-items:center;display:grid}.stars{color:var(--warning);gap:2px;display:inline-flex}.avatar-btn{background:0 0;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;display:grid;overflow:hidden}.profile-avatar{color:#3a2208;background:linear-gradient(135deg,#ffb020,#ff7a3c);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%;display:block}.profile-avatar.size-sm{width:40px;height:40px;font-size:14px}.profile-avatar.size-md{width:56px;height:56px;font-size:18px}.profile-avatar.size-lg{width:88px;height:88px;font-size:28px}.main{padding-bottom:8px}.tabbar{inset-inline:0;z-index:30;pointer-events:none;padding:0 14px calc(10px + var(--safe-bottom));position:fixed;bottom:0}.tabbar-inner{pointer-events:auto;-webkit-backdrop-filter:blur(16px)saturate(1.2);background:#ffffffdb;border:1px solid #e2e8f0f2;border-radius:22px;grid-template-columns:repeat(3,1fr);gap:4px;max-width:420px;margin:0 auto;padding:6px;display:grid;box-shadow:0 10px 30px #0f172a1f,0 2px 8px #1f6feb0f}.tabbar a{min-height:52px;color:var(--muted);letter-spacing:.01em;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 4px 7px;font-size:11px;font-weight:700;transition:color .18s,background .18s,transform .18s;display:flex;position:relative}.tabbar a .tab-ico{border-radius:12px;place-items:center;width:28px;height:28px;transition:background .18s,color .18s,transform .18s;display:grid}.tabbar a .tab-label{opacity:.92;line-height:1}.tabbar a.active{color:var(--blue-dark);background:linear-gradient(#eef5ff 0%,#e4efff 100%)}.tabbar a.active .tab-ico{color:var(--blue);background:#1f6feb1f;transform:translateY(-1px)}.tabbar a:active{transform:scale(.96)}@media (hover:hover){.tabbar a:hover:not(.active){color:var(--ink);background:#f8fafce6}}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:13px 16px;font-weight:700;display:inline-flex}.btn.primary{background:linear-gradient(135deg, var(--blue), var(--blue-dark));color:#fff;border-color:#0000;box-shadow:0 10px 22px #1f6feb47}.btn.ghost{background:0 0}.btn.danger{color:var(--danger);border-color:#fecaca}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.text-link{color:var(--blue);cursor:pointer;background:0 0;border:0;width:100%;padding:8px;font-weight:700}.muted-link{color:var(--muted)!important;font-weight:600!important}.auth-screen{background:linear-gradient(180deg, var(--blue-soft), var(--bg) 42%, var(--bg));max-width:480px;min-height:100dvh;margin:0 auto;padding:36px 20px 40px}.auth-logo{margin-bottom:16px}.auth-screen h1{margin:0 0 8px;font-size:1.55rem;font-weight:800}.auth-form{gap:12px;margin-top:8px;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.profile-setup .setup-avatar-wrap{place-items:center;margin:8px 0 4px;display:grid}.setup-avatar{object-fit:cover;background:var(--card);border:3px solid #fff;border-radius:50%;width:96px;height:96px;box-shadow:0 10px 24px #1f6feb33}.setup-avatar.placeholder{color:var(--blue);background:linear-gradient(#eef5ff,#e4efff);border:3px solid #fff;place-items:center;font-size:2rem;font-weight:800;display:grid}.setup-note{text-align:center;margin:0}.field{gap:6px;font-size:13px;font-weight:700;display:grid}.field input,.redeem input,.row-input input,.time-row select,.redeem input[type=date]{border:1px solid var(--line);background:var(--card);border-radius:14px;width:100%;padding:13px 14px}.seg{background:var(--card);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:10px;font-weight:700}.seg button.on{background:var(--blue-soft);color:var(--blue-dark)}.guest-save{background:var(--warning-soft);border:1px solid #fde68a;border-radius:18px;gap:4px;margin-bottom:14px;padding:14px 16px;display:grid}.guest-save strong{font-size:14px}.guest-save span{color:var(--muted);font-size:13px}.hub-hello{margin:8px 0 6px;font-size:1.7rem;font-weight:800}.hub-accent{color:var(--blue-dark);margin:0;font-size:1.05rem;font-weight:700}.hero-learn{color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#1f6feb,#3b82f6);border-radius:26px;margin:8px 0 12px;padding:22px;display:block}.hero-top{justify-content:space-between;align-items:flex-start;display:flex}.hero-emoji{place-items:center;font-size:2rem;display:grid}.pill-light{background:#ffffff2e;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.hero-learn h2{margin:14px 0 6px;font-size:1.25rem}.hero-learn p{opacity:.92;margin:0 0 16px}.hero-learn strong{font-size:1.05rem}.hero-placement{color:#fff;background:linear-gradient(135deg, var(--teal), #0f766e);border-radius:22px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:14px 18px;display:flex}.hero-placement h3{margin:0 0 4px}.hero-placement p{opacity:.9;margin:0;font-size:13px}.soon-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;display:grid}.soon-card{background:var(--card);border:1px solid var(--line);opacity:.9;border-radius:22px;flex-direction:column;justify-content:space-between;min-height:128px;padding:16px;display:flex}.soon-card.teal{border-color:#0d948838}.soon-card.warn{border-color:#d9770638}.soon-icon{background:var(--teal-soft);border-radius:14px;place-items:center;width:48px;height:48px;font-size:1.4rem;display:grid}.soon-card.warn .soon-icon{background:var(--warning-soft)}.soon-pill{background:var(--teal-soft);color:var(--teal);border-radius:999px;align-self:flex-start;margin-top:8px;padding:4px 10px;font-size:12px;font-weight:700}.soon-card.warn .soon-pill{background:var(--warning-soft);color:var(--warning)}.quote-card{color:#fff;background:linear-gradient(135deg,#0f172a,#1e3a5f);border-radius:20px;margin-bottom:12px;padding:18px}.quote-card span{opacity:.7;font-size:13px;font-weight:700}.quote-card p{margin:10px 0 6px;font-size:1.1rem;font-weight:700}.quote-card small{opacity:.8}.tg-banner{color:#fff;background:radial-gradient(120px 80px at 0 0,#ffffff2e,#0000 70%),linear-gradient(135deg,#229ed9 0%,#1b7fb5 55%,#1473a8 100%);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:14px;padding:14px 16px;display:grid;box-shadow:0 12px 28px #229ed947}.tg-icon{background:#ffffff2e;border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.tg-copy{gap:3px;min-width:0;display:grid}.tg-copy strong{font-size:14px;line-height:1.3}.tg-copy small{opacity:.9;font-size:12px;line-height:1.4}.tg-go{white-space:nowrap;background:#ffffff2e;border-radius:999px;align-items:center;gap:4px;padding:8px 10px;font-size:12px;font-weight:800;display:inline-flex}.install-modal .install-steps{text-align:start;margin:4px 0 8px}.install-steps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.install-steps li{color:var(--ink);background:#f8fafc;border:1px solid #eef2f7;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.45;display:grid}.step-num{background:var(--blue);color:#fff;border-radius:999px;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:grid}.game-strip{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.game-strip>div{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:16px;gap:2px;padding:12px;display:grid}.game-strip strong{font-size:1.2rem}.game-strip span{color:var(--muted);font-size:12px}.level-grid{gap:12px;display:grid}.level-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-inline-start:5px solid var(--accent,var(--blue));border-radius:22px;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:16px;display:grid}.level-card.is-locked{border-inline-start-color:#94a3b8}.level-card.is-locked .level-badge{color:#64748b;background:#eef2f7}.level-emoji,.level-badge{background:color-mix(in srgb, var(--accent,var(--blue)) 14%, white);width:52px;height:52px;color:var(--accent,var(--blue-dark));border-radius:16px;place-items:center;display:grid}.level-badge{letter-spacing:.02em;direction:ltr;font-size:15px;font-weight:800}.level-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.level-card h3{margin:0;font-size:1.05rem}.level-card p{margin:2px 0;font-size:13px}.level-meta{font-weight:600}.lock{color:var(--muted);background:#eef2f7;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.pay-note{background:var(--blue-soft);border:1px solid #c9dbf7;border-radius:18px;gap:10px;margin-bottom:14px;padding:14px;display:grid}.lesson-list,.section-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lesson-row,.section-row{background:var(--card);border:1px solid var(--line);text-align:start;width:100%;font:inherit;color:inherit;cursor:pointer;border-radius:18px;align-items:center;gap:12px;padding:14px;display:flex}.lesson-row.done,.section-row.done{background:var(--success-soft);border-color:#86efac}.lesson-row.locked{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.lesson-row.locked strong{color:#64748b}.lesson-index{width:44px;height:44px;color:var(--blue);background:#f1f5f9;border:2px solid #dbeafe;border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:800;display:grid}.lesson-index.locked-index{color:#94a3b8;background:#e2e8f0;border-color:#cbd5e1}.lesson-main{flex:1;min-width:0}.lesson-cta{color:var(--blue);flex:none;font-size:13px;font-weight:700}.lesson-lock-side{color:#94a3b8;flex:none;place-items:center;display:grid}.lesson-row .emoji{font-size:1.4rem}.auth-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lesson-row strong,.section-row strong{display:block}.lesson-row p,.section-row p{margin:2px 0 0;font-size:13px}.ok-line{background:var(--success-soft);color:#166534;border-radius:14px;margin:0 0 12px;padding:10px 12px;font-size:13px;font-weight:600}.activate-modal{text-align:start;gap:12px;max-height:min(90dvh,640px);display:grid;overflow:auto}.activate-hero{color:#fff;background:linear-gradient(135deg,#1f6feb,#0d9488);border-radius:20px;padding:20px}.activate-hero-ico{background:#fff3;border-radius:50%;place-items:center;width:52px;height:52px;margin-bottom:12px;display:grid}.activate-hero h2{margin:0 0 6px;font-size:1.2rem}.activate-hero p{opacity:.92;margin:0;font-size:14px;line-height:1.5}.activate-copy{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.support-channel{border:1px solid #0000;border-radius:16px;align-items:center;gap:10px;padding:14px 16px;font-weight:700;display:flex}.support-channel span{flex:1}.support-channel.tg{color:#0b6fa4;background:#e8f6fc;border-color:#c7e8f6}.support-channel.bale{background:var(--teal-soft,#e6fffa);color:#0f766e;border-color:#b2f5ea}.activate-code-box{background:var(--blue-soft);border:1px solid #c9dbf7;border-radius:18px;gap:10px;padding:14px;display:grid}.activate-code-box input{border:1px solid var(--line);background:var(--card);border-radius:14px;width:100%;padding:12px 14px}.warn-line{color:#b45309;margin:0;font-size:12px;font-weight:600}.warn-line a{color:inherit;text-decoration:underline}.player-meta{align-items:center;gap:10px;margin-bottom:12px;display:flex}.bar{background:#e2e8f2;border-radius:999px;flex:1;height:8px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--blue), var(--teal));height:100%;display:block}.step{margin-bottom:16px}.cardish{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:18px}.big-emoji{background:var(--blue-soft);width:64px;height:64px;color:var(--blue-dark);border-radius:18px;place-items:center;margin-inline:auto;display:grid}.modal-card .big-emoji{margin-bottom:8px}.de-word{margin:0;font-size:1.8rem;font-weight:800}.fa-word{margin:8px 0;font-size:1.2rem}.example{margin-top:12px;font-size:1.05rem}.sticky-next{width:100%;bottom:calc(12px + var(--safe-bottom));margin-top:8px;position:sticky}.speak-wrap{vertical-align:middle;align-items:center;gap:6px;display:inline-flex}.speak-btn{background:var(--blue-soft);color:var(--blue-dark);cursor:pointer;vertical-align:middle;border:0;border-radius:999px;place-items:center;width:36px;height:36px;display:inline-grid}.speak-hint{color:#b45309;max-width:12rem;font-size:11px;font-weight:700;line-height:1.3}.blocks{gap:10px;display:grid}.block-tip,.block-warn,.reveal,.german-block{border-radius:14px;padding:12px 14px}.block-tip{background:var(--success-soft)}.block-warn{background:var(--warning-soft)}.german-block{border:1px solid var(--line);background:#f3f6fb}.german-line{justify-content:space-between;align-items:center;gap:8px;margin:4px 0;display:flex}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border:1px solid var(--line);text-align:start;padding:8px}.dialogue{gap:10px;display:grid}.dialogue-line{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}.dialogue-line .de{margin:4px 0;font-weight:700}.story-line{border-bottom:1px solid var(--line);padding:12px 0}.ex-q{font-size:1.05rem;font-weight:700}.option-list{gap:8px;margin-top:12px;display:grid}.option,.chip{border:1px solid var(--line);text-align:start;cursor:pointer;background:#fff;border-radius:14px;padding:12px}.option.correct{background:var(--success-soft);border-color:#86efac}.option.wrong{background:var(--danger-soft);border-color:#fca5a5}.option.picked{outline:2px solid var(--blue)}.row-input{gap:8px;margin-top:10px;display:flex}.match-cols{grid-template-columns:1fr 1fr;gap:10px;display:grid}.match-cols .option{width:100%}.word-built,.word-pool{border:1px dashed var(--line);background:#f3f6fb;border-radius:14px;flex-wrap:wrap;gap:8px;min-height:48px;margin:10px 0;padding:10px;display:flex}.chip{font-weight:700}.flash-card{border:1px solid var(--line);background:var(--card);width:100%;min-height:220px;box-shadow:var(--shadow);cursor:pointer;text-align:center;border-radius:22px;place-items:center;padding:24px;display:grid}.flash-front,.flash-back{justify-items:center;gap:10px;display:grid}.flash-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.profile-page{gap:14px;padding-bottom:8px;display:grid}.profile-hero{text-align:center;justify-items:center;gap:8px;padding:8px 4px 4px;display:grid}.profile-hero-ring{background:linear-gradient(135deg,#1f6feb,#14b8a6,#f59e0b);border-radius:50%;padding:4px;box-shadow:0 12px 28px #1f6feb38}.profile-hero-ring .profile-avatar{border:3px solid #fff}.profile-hero h2{margin:2px 0 0;font-size:1.45rem}.profile-birth{color:var(--muted);letter-spacing:.02em;text-transform:lowercase;margin:8px 0 0;font-size:13px;font-weight:600}.profile-status{color:var(--blue-dark);margin:0;font-size:14px;font-weight:700}.identity-pill{color:var(--muted);background:#f1f5f9;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.streak-card{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #fdba74;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px;display:grid;box-shadow:0 10px 24px #f973161f}.streak-icon{color:#ea580c;background:#fff;border-radius:16px;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 4px 12px #ea580c26}.streak-icon svg{fill:#fdba74}.streak-card strong{color:#9a3412;font-size:1.05rem;display:block}.streak-card p{color:#c2410c;margin:4px 0 0;font-size:12px;line-height:1.45}.streak-xp{color:#a16207;background:#fff;border:1px solid #fcd34d;border-radius:999px;align-items:center;gap:4px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.streak-xp svg{color:#d97706;fill:#fde68a}.journey-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;gap:10px;padding:16px;display:grid}.journey-head{justify-content:space-between;align-items:center;font-weight:800;display:flex}.journey-head span{color:var(--blue-dark)}.bar.tall{height:10px}.journey-meta{flex-wrap:wrap;gap:8px;display:flex}.journey-meta span{color:var(--muted);background:#f8fafc;border:1px solid #eef2f7;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.badge-showcase h3{margin:0 0 10px;font-size:1rem}.badge-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.badge-tile{border:1px solid var(--line);background:var(--card);border-radius:18px;gap:4px;min-height:110px;padding:12px;display:grid}.badge-tile.on{background:linear-gradient(#eff6ff,#fff);border-color:#bfdbfe;box-shadow:0 8px 18px #1f6feb14}.badge-tile.off{opacity:.48;filter:grayscale(.35)}.badge-ico{background:var(--blue-soft);width:36px;height:36px;color:var(--blue-dark);border-radius:12px;place-items:center;margin-bottom:4px;display:grid}.badge-tile.on .badge-ico{color:#1d4ed8;background:#dbeafe}.badge-tile strong{font-size:13px}.badge-tile small{color:var(--muted);font-size:11px;line-height:1.4}.settings-link{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:18px;align-items:center;gap:10px;padding:14px 16px;font-weight:700;display:flex}.settings-link svg:last-child{color:var(--muted);margin-inline-start:auto}.profile-card{text-align:start;background:var(--card);border:1px solid var(--line);width:100%;box-shadow:var(--shadow);border-radius:20px;gap:10px;padding:16px;display:grid}.profile-card h3{margin:0}.profile-card label{gap:6px;font-size:13px;font-weight:700;display:grid}.profile-card input{border:1px solid var(--line);background:#fbfcfe;border-radius:14px;width:100%;padding:12px 14px}.redeem{text-align:start;background:var(--card);border:1px solid var(--line);border-radius:18px;gap:10px;width:100%;padding:14px;display:grid}.redeem h3{margin:0}.redeem label{gap:6px;font-size:13px;font-weight:700;display:grid}.profile{text-align:center;justify-items:center;gap:14px;display:grid}.access-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.access-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.badge-row{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.badge-chip{background:var(--blue-soft);color:var(--blue-dark);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.sync-msg{margin:0}.offline-banner{background:var(--warning-soft);color:#7a4a00;border-radius:14px;align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.placement-grid{gap:12px;display:grid}.placement-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-inline-start:5px solid var(--accent,var(--blue));border-radius:22px;gap:8px;padding:16px;transition:transform .15s,box-shadow .15s;display:grid}.placement-card:active{transform:scale(.985)}.placement-card.is-disabled{opacity:.72}.placement-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.placement-ico{background:color-mix(in srgb, var(--accent,var(--blue)) 14%, white);width:44px;height:44px;color:var(--accent,var(--blue-dark));border-radius:14px;place-items:center;display:grid}.placement-qid{color:var(--muted);background:#f1f5f9;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.placement-card h3{margin:2px 0 0;font-size:1.05rem}.placement-card>p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.placement-result-chip{background:color-mix(in srgb, var(--accent,var(--blue)) 10%, white);border-radius:14px;align-items:center;gap:10px;margin-top:4px;padding:10px 12px;display:flex}.placement-result-chip strong{color:var(--accent,var(--blue-dark));font-size:1.05rem}.placement-result-chip span{color:var(--muted);font-size:12px;font-weight:600}.placement-cta{color:var(--accent,var(--blue-dark));align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:800;display:inline-flex}.placement-result{text-align:center}.placement-result h2{color:var(--ink);margin:4px 0;font-size:2.4rem}.recommend-badge{background:var(--blue-soft);color:var(--blue-dark);border-radius:999px;margin:8px 0 16px;padding:10px 14px;font-weight:700;display:inline-block}.skill-list{text-align:start;gap:10px;margin:12px 0 18px;display:grid}.skill-row{gap:4px;display:grid}.skill-label{justify-content:space-between;font-size:13px;font-weight:600;display:flex}.hub-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin:12px 0;display:flex}.modal-backdrop{z-index:40;background:#0f172a73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:var(--card);width:min(420px,100%);box-shadow:var(--shadow);text-align:center;border-radius:24px;padding:20px}.time-row{text-align:start;grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;margin:12px 0;display:grid}.time-row label{gap:6px;font-size:13px;font-weight:700;display:grid}.time-sep{color:var(--muted);padding-bottom:12px;font-size:1.25rem;font-weight:800;line-height:1}.switch-row{justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px;font-weight:700;display:flex}.boot{min-height:100dvh;color:var(--muted);background:var(--bg);place-items:center;font-weight:700;display:grid}.splash{z-index:100;color:#fff;background:linear-gradient(#1a6ae8 0%,#0d52bd 52%,#083a8a 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.splash-glow{pointer-events:none;background:radial-gradient(circle,#ffffff38,#0000 68%);border-radius:50%;width:280px;height:280px;animation:2.4s ease-in-out infinite splash-pulse;position:absolute;top:18%;left:50%;transform:translate(-50%)}.splash-inner{text-align:center;justify-items:center;gap:10px;padding:24px;animation:.7s ease-out both splash-rise;display:grid;position:relative}.splash h1{letter-spacing:.01em;margin:0;font-size:1.85rem;font-weight:800}.splash p{opacity:.88;margin:0;font-size:14px;font-weight:500}.splash-loader{background:#ffffff38;border-radius:999px;width:42px;height:4px;margin-top:22px;overflow:hidden}.splash-loader i{border-radius:inherit;background:#fff;width:40%;height:100%;animation:1.1s ease-in-out infinite splash-bar;display:block}@keyframes splash-rise{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes splash-pulse{0%,to{opacity:.7;transform:translate(-50%)scale(1)}50%{opacity:1;transform:translate(-50%)scale(1.08)}}@keyframes splash-bar{0%{transform:translate(-120%)}to{transform:translate(280%)}}@keyframes splash-logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (width>=760px){.app-shell{padding-top:18px}}
