:root{--bg: #fff8ec;--bg-card: #ffffff;--bg-cream: #ffe8be;--bg-cream-deep: #f5d9a8;--orange: #e8842c;--orange-hover: #d4721f;--orange-soft: #fff0e0;--accent: #c45f12;--blue: #2e6db5;--blue-hover: #255a96;--blue-soft: #e8f1fb;--brown: #3d2817;--text: #2c1810;--text-muted: #6b5344;--border: #e8d4bc;--danger: #c44b2b;--ok: #2f9e5a;--radius: 18px;--radius-sm: 14px;--shadow: 0 8px 28px rgba(61, 40, 23, .08);--shadow-lg: 0 16px 48px rgba(61, 40, 23, .12);--font: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--header-h: 56px;--tabbar-h: 76px;--ease: cubic-bezier(.22, 1, .36, 1);--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased;background-color:var(--bg);background-image:radial-gradient(ellipse 70% 45% at 100% 100%,rgba(232,241,251,.45) 0%,transparent 55%),linear-gradient(180deg,#fff8ec,#fff5e4);background-attachment:fixed}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font-family:inherit}.auth-shell{min-height:100dvh;display:flex;flex-direction:column;padding:calc(20px + var(--safe-t)) 20px calc(32px + var(--safe-b));position:relative}.auth-brand{position:relative;z-index:1;display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;margin-bottom:28px}.auth-brand:hover{text-decoration:none}.auth-brand img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 4px 14px #3d28171f}.auth-brand-name{font-weight:800;font-size:1.15rem;letter-spacing:-.02em}.auth-brand-name span{color:var(--accent)}.auth-main{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;max-width:420px;width:100%;margin:0 auto;animation:rise-in .45s var(--ease) both}.auth-title{margin:0 0 8px;font-size:clamp(1.85rem,6vw,2.25rem);font-weight:800;letter-spacing:-.035em;line-height:1.15}.auth-lead{margin:0 0 28px;color:var(--text-muted);font-size:1.05rem;font-weight:600}.auth-form{display:flex;flex-direction:column;gap:14px}.field label{display:block;font-size:.85rem;font-weight:700;color:var(--text-muted);margin-bottom:6px}.field input{width:100%;padding:15px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#ffffffe0;color:var(--text);font-size:1rem;font-weight:600;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.field input:focus{border-color:var(--orange);background:#fff;box-shadow:0 0 0 4px #e8842c29}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:1rem;padding:15px 28px;border-radius:var(--radius-sm);border:none;cursor:pointer;text-decoration:none;transition:transform .18s var(--ease),box-shadow .18s,background .15s,color .15s}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn:focus-visible,.train-tab:focus-visible,.train-option:focus-visible,.pay-tier:focus-visible,.ob-date-toggle:focus-visible,.home-tile:focus-visible,.train-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:linear-gradient(180deg,#f0953f 0%,var(--orange) 100%);color:#fff;box-shadow:0 8px 22px #e8842c61}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,var(--orange) 0%,var(--orange-hover) 100%);color:#fff}.btn-ghost{background:#ffffff73;color:var(--text-muted);border:1px solid transparent;padding:12px 16px}.btn-ghost:hover{color:var(--orange);background:var(--orange-soft);border-color:#e8842c33}.btn-compact{padding:8px 12px;font-size:.88rem}.btn-block{width:100%}.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--text-muted);font-size:.85rem;font-weight:700}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-footer{margin-top:24px;text-align:center;color:var(--text-muted);font-weight:600;font-size:.95rem}.auth-error{margin:0 0 12px;padding:12px 14px;border-radius:var(--radius-sm);background:#fdeceb;color:var(--danger);font-size:.92rem;font-weight:700}.tg-login{display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:44px;gap:10px}.tg-login-widget.is-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.tg-login-widget{display:flex;justify-content:center;min-height:44px}.tg-login-note{margin:0;text-align:center;color:var(--text-muted);font-size:.9rem;font-weight:600;line-height:1.4}.tg-login-fallback{display:flex;flex-direction:column;gap:10px}.btn-tg{background:#1786c0;color:#fff;box-shadow:0 8px 22px #1786c052}.btn-tg:hover:not(:disabled){background:#146fa3;color:#fff}.btn-vk{background:#0060df;color:#fff;box-shadow:0 8px 22px #0060df47}.btn-vk:hover:not(:disabled){background:#004fba;color:#fff}.btn-share-copy{background:var(--brown);color:#fff;box-shadow:0 8px 22px #3d281738}.btn-share-copy:hover:not(:disabled){background:#2c1c10;color:#fff}.btn-share-copy.is-done{background:var(--ok);box-shadow:0 8px 22px #2f9e5a47}.auth-social{display:flex;flex-direction:column;gap:10px}.vk-login{display:flex;flex-direction:column;gap:8px;min-height:44px}.vk-onetap{display:flex;justify-content:center;width:100%}.vk-onetap.is-busy{opacity:.45;pointer-events:none}.app-frame{--sidebar-w: 0px;min-height:100dvh;max-width:560px;margin:0 auto;display:flex;flex-direction:column;padding-bottom:calc(var(--tabbar-h) + var(--safe-b) + 8px)}.app-frame.is-wide{max-width:720px}.app-frame.is-focus{padding-bottom:calc(16px + var(--safe-b))}.app-sidebar{display:none}.app-body{display:flex;flex-direction:column;flex:1;min-width:0}.app-header{position:sticky;top:0;z-index:40;padding-top:var(--safe-t);background:#fff8ecd1;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid rgba(232,212,188,.65)}.app-header-inner{min-height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:8px 16px}.app-header-brand{margin:0;justify-self:start}.app-header-brand.is-compact{gap:0}.app-header-brand img{width:36px;height:36px}.app-header-title{margin:0;justify-self:center;font-size:1rem;font-weight:800;letter-spacing:-.02em;text-align:center}.app-header-actions{justify-self:end;display:flex;align-items:center;gap:6px}.app-back{justify-self:start;font-weight:700;font-size:.92rem;color:var(--text-muted);text-decoration:none;padding:8px 4px}.app-back:hover{color:var(--orange);text-decoration:none}.app-main{flex:1;padding:20px 18px 28px;animation:rise-in .4s var(--ease) both}.app-body>.app-main:first-child{padding-top:calc(20px + var(--safe-t))}.app-tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(8px + var(--safe-b));z-index:45;width:min(540px,calc(100% - 20px));display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:8px;border-radius:22px;background:#ffffffeb;backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1);border:1px solid rgba(232,212,188,.95);box-shadow:0 -6px 24px #3d28171a,0 8px 28px #3d281714}.app-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;min-width:0;padding:7px 2px 5px;border-radius:14px;color:var(--text-muted);text-decoration:none;font-size:.64rem;font-weight:900;letter-spacing:.01em;transition:color .15s,background .15s}.app-tab-icon{width:36px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#8a6f5c;transition:background .15s,color .15s}.app-tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-tab-badge{position:absolute;top:2px;right:50%;transform:translate(20px);min-width:16px;height:16px;box-sizing:border-box;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:.6rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center;border:2px solid #fff}.app-tab:hover{text-decoration:none;color:var(--accent);background:var(--orange-soft)}.app-tab.is-active{color:var(--accent);background:var(--orange-soft)}.app-tab.is-active .app-tab-icon{background:linear-gradient(180deg,#f0953f,#e8842c);color:#fff}.app-side-link{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:14px;border:1.5px solid transparent;color:var(--text-muted);text-decoration:none;font-weight:800;font-size:.95rem;transition:background .15s,color .15s,transform .15s,border-color .15s}.app-side-link-icon{flex-shrink:0;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#ffe8be8c;color:#8a6f5c;transition:background .15s,color .15s}.app-side-link-label{min-width:0}.app-side-link-badge{margin-left:auto;min-width:20px;height:20px;box-sizing:border-box;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:.7rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.app-side-link:hover{text-decoration:none;color:var(--accent);background:var(--orange-soft);transform:translate(2px)}.app-side-link.is-active{color:var(--accent);background:var(--orange-soft);border-color:#e8842c59}.app-side-link.is-active .app-side-link-icon{background:linear-gradient(180deg,#f0953f,#e8842c);color:#fff}.app-sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 10px 16px;margin:0;text-decoration:none;color:inherit}.app-sidebar-brand:hover{text-decoration:none}.app-sidebar-mascot{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:linear-gradient(180deg,#fff0e0,#ffe8be);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #3d28171f;animation:float-y 3.4s ease-in-out infinite}.app-sidebar-mascot img{width:28px;height:28px;object-fit:contain}.app-sidebar-brand-name{font-weight:900;font-size:1.08rem;letter-spacing:-.02em;line-height:1.2}.app-sidebar-brand-name span{color:var(--orange)}.app-sidebar-nav{display:flex;flex-direction:column;gap:4px}.app-sidebar-panel{margin-top:auto;display:flex;flex-direction:column;gap:10px}.app-sidebar-goal{display:block;padding:13px 14px;border-radius:16px;background:linear-gradient(145deg,#fff0e0,#fff);border:1px solid rgba(232,132,44,.28);text-decoration:none;color:inherit}.app-sidebar-goal:hover{text-decoration:none}.app-sidebar-goal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.app-sidebar-goal-kicker{font-size:.75rem;font-weight:900;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.app-sidebar-goal-xp{font-size:.78rem;font-weight:900;color:var(--orange)}.app-sidebar-goal-track{display:block;height:7px;border-radius:999px;background:var(--bg-cream);overflow:hidden}.app-sidebar-goal-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f0953f,#e8842c);animation:fill-in .9s var(--ease) both}.app-sidebar-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.app-sidebar-stat{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px;border-radius:12px;font-weight:900;font-size:.85rem}.app-sidebar-stat--streak{background:var(--orange-soft);color:var(--accent)}.app-sidebar-stat--xp{background:var(--blue-soft);color:var(--blue)}.app-sidebar-stat--lives{background:#fdeeea;color:var(--danger)}.app-sidebar-stat-flame{animation:profile-flame-pulse 2.4s var(--ease) infinite;transform-origin:center bottom}.app-sidebar-premium{position:relative;overflow:hidden;padding:14px;border-radius:16px;background:linear-gradient(160deg,#2c1810,#4a3020);box-shadow:0 10px 28px #2c18104d;color:#fff}.app-sidebar-premium:before{content:"";position:absolute;top:-28px;right:-28px;width:90px;height:90px;border-radius:50%;background:#f0953f40}.app-sidebar-premium-head{position:relative;display:flex;align-items:center;gap:7px;margin-bottom:3px}.app-sidebar-premium-title{margin:0;font-weight:900;font-size:.92rem;letter-spacing:-.01em}.app-sidebar-premium-badge{padding:2px 8px;border-radius:999px;background:#f0953f40;color:#f0953f;font-size:.66rem;font-weight:900}.app-sidebar-premium-sub{position:relative;margin:0 0 10px;font-weight:600;font-size:.76rem;color:#fff0e0bf;line-height:1.4}.app-sidebar-premium-btn{position:relative;display:block;width:100%;box-sizing:border-box;text-align:center;font-weight:800;font-size:.82rem;padding:9px 12px;border-radius:11px;background:linear-gradient(180deg,#f0953f,#e8842c);color:#fff;text-decoration:none;transition:transform .15s}.app-sidebar-premium-btn:hover{text-decoration:none;color:#fff;transform:translateY(-1px)}.app-sidebar-foot{margin:2px 0 0;text-align:center;font-size:.72rem;font-weight:800;color:#a08b78;letter-spacing:0;text-transform:none}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes fill-in{0%{width:0}}@media(prefers-reduced-motion:reduce){.app-sidebar-mascot,.app-sidebar-goal-fill,.app-sidebar-stat-flame{animation:none!important}}.app-shell{min-height:100dvh;padding:calc(16px + var(--safe-t)) 18px calc(28px + var(--safe-b));max-width:560px;margin:0 auto;animation:rise-in .35s var(--ease) both}.app-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.app-hello{margin:0 0 10px;font-size:clamp(1.9rem,6.5vw,2.45rem);font-weight:800;letter-spacing:-.04em;line-height:1.12}.app-hello em{font-style:normal;color:var(--orange)}.app-sub{margin:0 0 22px;color:var(--text-muted);font-weight:600;font-size:1.02rem;max-width:34ch}.app-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.app-stat{background:#ffffffc7;border:1px solid rgba(232,212,188,.9);border-radius:var(--radius-sm);padding:14px 10px;text-align:center;box-shadow:var(--shadow)}.app-stat-value{display:block;font-size:1.4rem;font-weight:800;color:var(--orange);letter-spacing:-.02em}.app-stat-label{display:block;margin-top:4px;font-size:.72rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.app-stat-value--blue{color:var(--blue)}.app-note{margin-top:18px;color:var(--text-muted);font-weight:600;font-size:.95rem}.profile-page{display:flex;flex-direction:column;gap:16px;width:100%;max-width:720px;margin:0 auto}.profile-main{display:flex;flex-direction:column;gap:16px;min-width:0;width:100%}.profile-hero{display:flex;align-items:center;gap:16px;padding:18px 16px;border-radius:var(--radius);border:1px solid rgba(232,132,44,.28);background:linear-gradient(145deg,#fff,var(--orange-soft));box-shadow:var(--shadow)}.profile-avatar-wrap{position:relative;width:96px;height:96px;flex-shrink:0}.profile-xp-ring{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.profile-xp-ring-track{stroke:var(--bg-cream)}.profile-xp-ring-fill{stroke:var(--orange);transition:stroke-dashoffset .8s var(--ease)}.profile-avatar{position:absolute;top:6px;right:6px;bottom:6px;left:6px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(180deg,#f0953f,var(--orange));color:#fff;font-size:1.85rem;font-weight:800;letter-spacing:-.03em}.profile-level-badge{position:absolute;right:2px;bottom:2px;z-index:1;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:.78rem;font-weight:800;border:2px solid #fff}.profile-hero-meta{min-width:0}.profile-name{margin:0 0 4px;font-size:1.55rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.profile-level-line{margin:0 0 10px;color:var(--text-muted);font-weight:700;font-size:.95rem}.profile-exam-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.82rem;font-weight:800}.profile-stats .app-stat{position:relative;padding-top:18px}.profile-stat-icon{display:inline-flex;color:var(--orange);margin-bottom:2px}.profile-stat-icon--blue{color:var(--blue)}.profile-stat-icon--flame{animation:profile-flame-pulse 2.4s var(--ease) infinite;transform-origin:center bottom}@keyframes profile-flame-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.profile-section,.profile-card{display:flex;flex-direction:column;gap:12px}.profile-card{padding:16px;border-radius:var(--radius);background:#ffffffdb;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow)}.profile-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-section-title{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.profile-section-title-link{color:inherit;text-decoration:none}.profile-section-title-link:hover{color:var(--blue);text-decoration:underline}.profile-section-link{font-size:.88rem;font-weight:800;color:var(--blue);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;flex-shrink:0}.profile-section-link:hover{text-decoration:underline}.profile-badge-muted{display:inline-flex;align-items:center;min-height:28px;padding:2px 10px;border-radius:999px;background:#efe6da;color:var(--text-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.profile-forecast-link{display:block;text-decoration:none;color:inherit;border-radius:14px;margin:0 -2px;padding:2px;transition:background .15s ease}.profile-forecast-link:active{background:#e8d4bc59}.profile-forecast-tiles{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.profile-forecast-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;border-radius:var(--radius-sm);text-align:center}.profile-forecast-tile--current{background:var(--orange-soft)}.profile-forecast-tile--goal{background:var(--blue-soft)}.profile-forecast-tile-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.profile-forecast-tile-value{font-size:2rem;font-weight:800;letter-spacing:-.04em;line-height:1}.profile-forecast-tile--current .profile-forecast-tile-value{color:var(--orange)}.profile-forecast-tile--goal .profile-forecast-tile-value{color:var(--blue)}.profile-forecast-arrow{color:var(--text-muted);display:grid;place-items:center}.profile-score-bar-track{position:relative;height:12px;border-radius:999px;background:var(--bg-cream);overflow:visible}.profile-score-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),#5a9ad4);transition:width .8s var(--ease);min-width:0}.profile-score-bar-target{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1.5px;border-radius:2px;background:var(--brown);box-shadow:0 0 0 2px #fff8ece6}.profile-score-bar-label{margin:10px 0 0;font-size:.88rem;font-weight:700;color:var(--text-muted)}.profile-score-gap{color:var(--accent);font-weight:800}.profile-diagnose-cta{margin:0}.profile-week-total{color:var(--ok);font-weight:800;font-size:.95rem}.profile-week-chart{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:8px;min-height:92px}.profile-week-col{display:flex;flex-direction:column;align-items:center;gap:6px}.profile-week-bar{width:100%;max-width:28px;border-radius:8px 8px 4px 4px;background:#e8b174;transition:height .8s var(--ease)}.profile-week-bar.is-today{background:linear-gradient(180deg,#f0953f,var(--orange))}.profile-week-bar.is-empty{background:var(--bg-cream-deep)}.profile-week-day{font-size:.72rem;font-weight:800;color:var(--text-muted);text-transform:lowercase}.profile-progress-hint{margin:0 0 10px;font-size:.88rem;font-weight:600;color:var(--text-muted);line-height:1.35}.profile-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-period-tile{display:flex;flex-direction:column;gap:2px;padding:10px 8px;border-radius:14px;background:#fff8ece6;border:1px solid rgba(232,212,188,.95);text-align:center;min-width:0}.profile-period-label{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--orange-hover, #c45f12)}.profile-period-xp{font-size:1.05rem;font-weight:900;color:var(--text);font-variant-numeric:tabular-nums}.profile-period-meta{font-size:.74rem;font-weight:700;color:var(--text-muted);line-height:1.25}.profile-history-list,.profile-gaps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.profile-history-row{border-radius:14px;background:#fff;border:1px solid rgba(232,212,188,.95);padding:0;overflow:hidden}.profile-history-row-link{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;text-decoration:none;color:inherit;min-height:44px}.profile-history-row-link:active{background:#e8d4bc59}.profile-history-mark{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:900;margin-top:1px}.profile-history-row.is-ok .profile-history-mark{background:#2f9e5a26;color:var(--ok)}.profile-history-row.is-bad .profile-history-mark{background:#c44a3a1f;color:#c44a3a}.profile-history-body{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-history-title{font-weight:800;font-size:.92rem;color:var(--text)}.profile-history-gap{font-size:.82rem;font-weight:600;color:var(--text-muted);line-height:1.35}.answer-hist-page{display:flex;flex-direction:column;gap:14px;padding-bottom:28px}.answer-hist-intro{display:flex;flex-direction:column;gap:6px}.answer-hist-title{margin:0;font-size:1.35rem;font-weight:900;letter-spacing:-.03em;color:var(--text)}.answer-hist-sub{margin:0;font-size:.9rem;font-weight:600;color:var(--text-muted);line-height:1.4}.answer-hist-list{display:flex;flex-direction:column;gap:10px}.answer-hist-card{display:flex;flex-direction:column;gap:8px;padding:14px 14px 12px;border-radius:16px;background:#fff;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow)}.answer-hist-head{display:flex;gap:10px;align-items:flex-start}.answer-hist-mark{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:900}.answer-hist-card.is-ok .answer-hist-mark{background:#2f9e5a26;color:var(--ok)}.answer-hist-card.is-bad .answer-hist-mark{background:#c44a3a1f;color:#c44a3a}.answer-hist-head-text{min-width:0;display:flex;flex-direction:column;gap:2px}.answer-hist-status{margin:0;font-weight:800;font-size:.95rem;color:var(--text)}.answer-hist-meta{margin:0;font-size:.8rem;font-weight:600;color:var(--text-muted)}.answer-hist-stem{margin:0;font-size:.9rem;font-weight:600;line-height:1.4;color:var(--text)}.answer-hist-stem.is-muted{color:var(--text-muted);font-weight:600}.answer-hist-answer{margin:0;font-size:.88rem;font-weight:700;line-height:1.35;padding:8px 10px;border-radius:12px;background:#f7f1e8}.answer-hist-answer.is-ok{background:#2f9e5a1a;color:#1f6b3a}.answer-hist-answer.is-bad{background:#c44a3a14;color:#8f3428}.answer-hist-answer.is-correct{background:#2f9e5a1a;color:#1f6b3a}.answer-hist-gap{margin:0;font-size:.84rem;font-weight:600;color:var(--text-muted);line-height:1.35}.answer-hist-cta{align-self:flex-start;font-size:.86rem;font-weight:800;color:var(--blue);text-decoration:none;min-height:40px;display:inline-flex;align-items:center}.answer-hist-cta:hover{text-decoration:underline}.profile-gap-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 10px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid rgba(232,212,188,.95);text-decoration:none;color:inherit}.profile-gap-topic{grid-column:1;font-weight:800;font-size:.9rem}.profile-gap-text{grid-column:1;font-size:.82rem;font-weight:600;color:var(--text-muted);line-height:1.35}.profile-gap-cta{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:.78rem;font-weight:800;color:var(--orange-hover, #c45f12);white-space:nowrap}.profile-coverage{flex-direction:row;align-items:center;gap:14px;background:linear-gradient(120deg,var(--blue-soft),#fff 60%);text-decoration:none;color:inherit;transition:border-color .2s var(--ease),transform .2s var(--ease)}.profile-coverage:hover{text-decoration:none;border-color:#2e6db559;transform:translateY(-1px)}.profile-coverage-ring{position:relative;width:72px;height:72px;flex-shrink:0}.profile-coverage-ring svg{transform:rotate(-90deg)}.profile-coverage-ring-track{stroke:#2e6db52e}.profile-coverage-ring-fill{stroke:var(--blue);transition:stroke-dashoffset .8s var(--ease)}.profile-coverage-ring-value{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:.95rem;font-weight:800;color:var(--blue)}.profile-coverage-body{min-width:0}.profile-coverage-text{margin:6px 0 0;color:var(--text-muted);font-weight:600;font-size:.92rem;line-height:1.4}.profile-weak-list,.profile-skills{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.profile-weak-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid rgba(232,212,188,.95);background:#ffffffdb;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:border-color .2s var(--ease),transform .2s var(--ease)}.profile-weak-row:hover{text-decoration:none;border-color:var(--orange);transform:translateY(-1px)}.profile-weak-main{min-width:0;flex:1}.profile-weak-title{font-weight:800;font-size:.98rem;margin-bottom:6px}.profile-weak-meta{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;color:var(--text-muted)}.profile-weak-bar{display:block;width:56px;height:6px;border-radius:999px;background:var(--bg-cream);overflow:hidden;flex-shrink:0}.profile-weak-bar>span{display:block;height:100%;border-radius:inherit}.profile-weak-bar--danger>span{background:var(--danger)}.profile-weak-bar--warn>span{background:var(--orange)}.profile-weak-bar--ok>span{background:var(--ok)}.profile-weak-cta{flex-shrink:0;display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border-radius:999px;background:var(--orange-soft);color:var(--accent);font-size:.78rem;font-weight:800}.profile-skill{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid rgba(232,212,188,.95);background:#ffffffc7}.profile-skill-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.profile-skill-label{font-weight:800;font-size:.95rem}.profile-skill-level{font-size:.82rem;font-weight:800;color:var(--blue);white-space:nowrap}.profile-skill-bar{height:5px;border-radius:999px;background:var(--bg-cream);overflow:hidden}.profile-skill-bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),#5a9ad4);transition:width .8s var(--ease)}.profile-premium{position:relative;overflow:hidden;padding:18px 16px 16px;border-radius:var(--radius);background:linear-gradient(135deg,var(--brown),#5a3a1f);color:#fff;box-shadow:var(--shadow-lg)}.profile-premium-glow{position:absolute;top:-50px;right:-40px;width:130px;height:130px;border-radius:50%;background:#f0953f38;pointer-events:none}.profile-premium-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.profile-premium-title{display:inline-flex;align-items:center;gap:8px;font-size:1.15rem;font-weight:800}.profile-premium-sale{display:inline-flex;align-items:center;min-height:28px;padding:2px 10px;border-radius:999px;background:#f0953f40;color:#ffd9ae;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.profile-premium-value{position:relative;margin:0 0 12px;color:#ffffffd9;font-weight:600;font-size:.95rem}.profile-premium-perks{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.profile-premium-perk{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;border-radius:999px;background:#ffffff1f;font-size:.8rem;font-weight:700}.profile-premium-perk-check{color:#7fd6a2;display:inline-flex}.profile-premium-footer{position:relative;display:flex;align-items:center;gap:12px}.profile-premium-cta{flex:1;min-height:48px}.profile-premium-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.profile-premium-old{font-size:.78rem;font-weight:700;color:#ffffff8c;text-decoration:line-through}.profile-premium-now{font-size:1.15rem;font-weight:900;color:#ffd9ae;letter-spacing:-.02em}.profile-premium-day{position:relative;margin:10px 0 0;text-align:center;font-size:.82rem;font-weight:700;color:#ffffffb3}.profile-cta{display:flex;flex-direction:column;gap:10px;margin-top:4px;padding-bottom:8px}.profile-cta-micro{margin:0;text-align:center;color:var(--text-muted);font-weight:700;font-size:.9rem}@media(min-width:1100px){.profile-page{max-width:780px;gap:18px}.profile-main{gap:18px}}@media(prefers-reduced-motion:reduce){.profile-stat-icon--flame{animation:none}.profile-xp-ring-fill,.profile-coverage-ring-fill,.profile-score-bar-fill,.profile-week-bar,.profile-skill-bar>span{transition:none}}.home-layout{display:flex;flex-direction:column;gap:0}.home-hero{margin-bottom:22px}.home-kicker{margin:0 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}.home-stats{margin:22px 0 20px}.home-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:1rem;font-weight:800;padding:14px 20px;box-shadow:var(--shadow)}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.home-section{margin-top:8px}.home-section .section-title{margin-top:8px;margin-bottom:10px}.home-cta-hint{margin:8px 0 0;text-align:left;color:var(--text-muted);font-size:.85rem;font-weight:700;line-height:1.35}.home-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:88px;padding:14px;border-radius:var(--radius);background:#ffffffd1;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow);text-decoration:none;color:var(--text);transition:transform .2s var(--ease),border-color .15s,box-shadow .2s}.home-tile:hover{text-decoration:none;transform:translateY(-2px);border-color:#e8842c73;box-shadow:var(--shadow-lg)}.home-tile-accent{background:linear-gradient(155deg,#fff 0%,var(--orange-soft) 100%);border-color:#e8842c47}.home-tile-wide{grid-column:1 / -1;min-height:84px;flex-direction:row;align-items:center;justify-content:space-between;background:linear-gradient(120deg,var(--blue-soft),#fff 55%)}.home-tile-label{font-weight:800;font-size:1.05rem;letter-spacing:-.02em}.home-tile-icon{color:var(--orange);margin-bottom:2px}.home-tile-icon-inline{vertical-align:-5px;margin-right:4px;color:var(--orange)}.home-tile-wide-text{display:flex;flex-direction:column;gap:4px;min-width:0}.home-countdown{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:.98rem}.home-countdown strong{font-weight:800;font-size:1.15rem}.home-countdown-icon{flex-shrink:0}.home-tile-desc{font-size:.86rem;font-weight:600;color:var(--text-muted);line-height:1.35}.home-badge{position:absolute;top:12px;right:12px;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--orange);color:#fff;font-size:.75rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.home-loading{display:flex;flex-direction:column;gap:12px;padding-top:24px}.home-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#fff6,#ffe8bea6,#fff6);background-size:200% 100%;animation:shimmer 1.2s ease infinite}.home-skeleton-title{height:36px;width:70%}.home-skeleton-sub{height:18px;width:90%}.home-skeleton-hero{height:160px;margin-top:8px}.train-pick{display:flex;flex-direction:column;gap:0;max-width:720px}.train-pick-lead{margin-bottom:18px}.train-tabs{display:flex;gap:4px;margin-bottom:18px;padding:4px;background:#ffffffa6;border:1px solid var(--border);border-radius:999px;overflow-x:auto;-webkit-overflow-scrolling:touch}.train-tab{flex:1;border:none;background:transparent;padding:11px 12px;border-radius:999px;font-weight:800;font-size:.84rem;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}.train-tab.is-active{background:#fff;color:var(--text);box-shadow:0 4px 14px #3d281714}.train-modes{display:flex;flex-direction:column;gap:12px}.train-modes-grid{display:grid;grid-template-columns:1fr;gap:10px}.train-grid{display:flex;flex-direction:column;gap:12px}.train-card{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;border:1.5px solid rgba(232,212,188,.95);background:#ffffffeb;border-radius:var(--radius);padding:16px;cursor:pointer;font-family:inherit;color:var(--text);text-decoration:none;box-shadow:var(--shadow);transition:transform .18s var(--ease),border-color .15s,box-shadow .18s}a.train-card,a.train-card:link,a.train-card:visited,a.train-card:hover,a.train-card:active{text-decoration:none;color:var(--text)}a.train-card .train-card-title,a.train-card .train-card-desc{color:inherit}.train-card:hover:not(:disabled){transform:translateY(-2px);border-color:#e8842c73;box-shadow:var(--shadow-lg)}.train-card:disabled{opacity:.6}.train-card-hero{align-items:center;padding:20px 18px;background:linear-gradient(145deg,#fff 0%,var(--orange-soft) 100%);border-color:#e8842c52}.train-card-hero .train-card-icon-wrap{width:52px;height:52px;border-radius:16px}.train-card-hero .train-card-title{font-size:1.35rem}.train-card-soft{background:linear-gradient(120deg,var(--blue-soft),#fff 60%);border-color:#2e6db538}.train-card-wide{grid-column:1 / -1}.train-card-icon-wrap{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:var(--orange-soft);color:var(--orange)}.train-card-icon-wrap-blue{background:#2e6db51f;color:var(--blue)}.train-card-icon{color:inherit;margin:0}.train-card-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.train-card-kicker{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--orange)}.train-card-title{display:block;font-size:1.08rem;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.2}.train-card-desc{display:block;color:var(--text-muted);font-weight:600;font-size:.88rem;line-height:1.35}.train-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.train-chip{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:#fff8ecf2;border:1px solid rgba(232,212,188,.9);color:var(--text-muted);font-size:.72rem;font-weight:800;letter-spacing:.01em}.train-chip-accent{background:var(--orange-soft);border-color:#e8842c47;color:var(--orange-hover)}.train-list{display:flex;flex-direction:column;gap:8px;max-height:min(62dvh,520px);overflow:auto;padding-right:2px}.train-row{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;border:1px solid rgba(232,212,188,.95);background:#ffffffe0;border-radius:var(--radius-sm);padding:14px 15px;cursor:pointer;font-family:inherit;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}.train-row:hover:not(:disabled){border-color:var(--orange);transform:translateY(-1px);text-decoration:none}.train-row:disabled{opacity:.6}.train-row-num{flex-shrink:0;font-weight:800;color:var(--orange);min-width:2.2rem}.train-row-body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.train-row .train-topic-acc{width:min(160px,100%);margin-top:4px}.train-row-title{font-weight:700;font-size:.95rem;color:var(--text)}.train-row-meta{font-size:.8rem;font-weight:600;color:var(--text-muted)}.train-section-label{margin:18px 4px 6px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.text-session{display:flex;flex-direction:column;gap:10px}.text-passage-title{margin:8px 0 0;font-size:1.15rem;font-weight:800;color:var(--text)}.text-passage{margin:0;padding:16px 18px;white-space:pre-wrap;line-height:1.55;font-size:.98rem;font-weight:600;color:var(--text);background:#ffffffd1;border:1px solid rgba(232,212,188,.95);border-radius:var(--radius);max-height:min(42vh,360px);overflow:auto}.text-task-title{margin:8px 0 0;font-size:1.05rem;font-weight:800}.text-task-prompt{margin:4px 0 0;white-space:pre-wrap;line-height:1.45;font-weight:600}.text-task-meta{margin:0;font-size:.82rem;color:var(--text-muted);font-weight:700}.text-answer-label{margin-top:8px;font-size:.85rem;font-weight:800}.text-answer-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.text-answer-hint{font-size:.78rem;font-weight:700;color:var(--text-muted)}.voice-mic-btn{display:inline-flex;align-items:center;gap:8px;font-weight:800}.voice-mic-dot{width:10px;height:10px;border-radius:50%;background:var(--orange, #e8842c)}.voice-mic-btn.is-recording{color:#b42318;border-color:#b4231859}.voice-mic-btn.is-recording .voice-mic-dot{background:#b42318;box-shadow:0 0 #b4231873;animation:voice-pulse 1.2s ease-out infinite}@keyframes voice-pulse{0%{box-shadow:0 0 #b4231873}70%{box-shadow:0 0 0 10px #b4231800}to{box-shadow:0 0 #b4231800}}.text-answer{min-height:160px}.text-char-count{margin:0;font-size:.78rem;color:var(--text-muted);font-weight:700}.text-char-count.is-over{color:#c0392b}.text-checking{padding:12px 0;font-weight:700}.text-score-list{margin:12px 0 0;padding-left:18px;font-weight:700;line-height:1.6}.ai-task-options{margin:8px 0 0;padding-left:20px;font-weight:700;line-height:1.55}.ai-task-img{width:100%;max-height:280px;object-fit:contain;border-radius:var(--radius);background:#ffffffb3}.paywall-box{margin-bottom:16px;padding:16px;border-radius:var(--radius);background:linear-gradient(145deg,var(--orange-soft),#fff);border:1px solid rgba(232,132,44,.28);box-shadow:var(--shadow)}.active-session-card{margin-bottom:16px;padding:14px 16px;border-radius:var(--radius);background:linear-gradient(145deg,#fff8ef,#fff);border:1px solid rgba(232,132,44,.35);box-shadow:var(--shadow)}.active-session-title{margin:0 0 4px;font-size:.85rem;font-weight:700;color:var(--text-muted)}.active-session-label{margin:0;font-size:1.05rem;font-weight:800;line-height:1.3}.active-session-progress{margin:4px 0 0;font-size:.9rem;font-weight:600;color:var(--text-muted)}.active-session-actions{display:flex;gap:8px;margin-top:12px}.active-session-actions .btn{flex:1;min-height:44px}.paywall-title{margin:0 0 6px;font-weight:800}.paywall-eta,.paywall-upsell{margin:0 0 6px;font-weight:600;color:var(--text-muted);font-size:.92rem}.train-session{position:relative}.fox-tutor-welcome{margin:0 0 12px;color:var(--text-muted);font-weight:600;font-size:1.02rem;line-height:1.45;max-width:none;width:100%}.train-progress-label{font-weight:700;font-size:.9rem;color:var(--text-muted)}.train-progress{height:7px;background:#e8d4bcb3;border-radius:999px;overflow:hidden;margin-bottom:20px}.train-progress-bar{height:100%;background:linear-gradient(90deg,var(--orange),#f0a45a);border-radius:999px;transition:width .28s var(--ease)}.train-question-text{margin:0 0 18px;font-size:clamp(1.05rem,3.5vw,1.18rem);font-weight:700;line-height:1.45;white-space:pre-wrap;letter-spacing:-.01em;text-wrap:pretty}.train-question-img{width:100%;border-radius:var(--radius-sm);margin-bottom:16px;box-shadow:var(--shadow)}.train-options{display:flex;flex-direction:column;gap:9px}.train-option{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;box-sizing:border-box;text-align:left;border:1.5px solid rgba(232,212,188,.95);background:#fff;border-radius:16px;padding:12px 14px;font-family:inherit;font-weight:700;font-size:.97rem;color:var(--ink, #2c1810);cursor:pointer;box-shadow:0 2px 8px #3d28170a;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s,opacity .2s}button.train-option:hover:not(:disabled){border-color:#e8842c;background:#fff;transform:translateY(-1px);box-shadow:0 4px 14px #3d281714}.train-option:focus-visible{outline:2px solid #e8842c;outline-offset:2px}.train-option:disabled{opacity:.75}.train-option-letter{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:var(--orange-soft, #fff0e0);color:var(--orange-hover, #c45f12);font-weight:900;font-size:.88rem;display:inline-flex;align-items:center;justify-content:center}.train-option-text{flex:1;min-width:0;line-height:1.35;font-size:.97rem;font-weight:700;color:var(--ink, #2c1810)}.train-option-mark{flex-shrink:0;font-size:1rem;font-weight:900;line-height:1}.train-option-mark.is-ok{color:var(--ok, #2f9e5a)}.train-option-mark.is-bad{color:var(--danger, #c44b2b)}.train-option.is-correct{border-color:#2f9e5a;background:#e7f6ec}.train-option.is-wrong{border-color:#c44b2b;background:#ffefec}.train-option.is-wrong .train-option-text{text-decoration:line-through}.train-option.is-muted{opacity:.62}.train-option.is-muted .train-option-letter{background:#fdf3e3;color:#c9b299}.train-options.is-locked .train-option{cursor:default;min-height:48px;padding:10px 14px;border-radius:14px}.train-options.is-locked .train-option-letter{width:30px;height:30px;border-radius:9px;font-size:.82rem}.train-options.is-locked .train-option-text{font-size:.9rem}.train-feedback{margin-top:8px}.train-feedback-title{margin:0 0 10px;font-size:1.25rem;font-weight:800;letter-spacing:-.02em}.train-feedback.is-ok .train-feedback-title{color:var(--ok)}.train-feedback.is-bad .train-feedback-title{color:var(--danger)}.train-feedback-body{margin:0;font-size:.92rem;font-weight:600;line-height:1.5;color:var(--text-muted);text-wrap:pretty}.train-explanation{margin:0 0 4px;padding:14px 16px;border-radius:14px;background:#ffffffe0;border:1px solid rgba(232,212,188,.95);text-align:left}.train-explanation-kicker{margin:0 0 8px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-hover, var(--accent))}.train-explanation-answer{margin:0 0 10px;font-size:.95rem;font-weight:800;line-height:1.4;color:var(--text);text-wrap:pretty}.train-explanation-answer.is-highlight{padding:10px 12px;border-radius:12px}.train-explanation-answer.is-wrong{background:#c44b2b1a;color:var(--danger, #c44b2b);border:1px solid rgba(196,75,43,.28)}.train-explanation-answer.is-correct{background:var(--ok-soft, #e7f6ec);color:var(--ok-dark, #1d6b3c);border:1px solid rgba(47,158,90,.22)}.train-feedback-warn{margin:0 0 12px;font-weight:700;color:var(--orange-hover)}.train-feedback .train-options{margin-bottom:16px}.train-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}.review-stem{margin:4px 0 0;font-size:.95rem;font-weight:700;color:var(--text-muted)}.review-recall,.review-self{display:flex;flex-direction:column;gap:12px;margin-top:8px}.review-textarea{width:100%;min-height:118px;resize:vertical;padding:14px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#ffffffeb;color:var(--text);font-size:1rem;font-weight:600;font-family:inherit;line-height:1.45;outline:none}.review-textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px #e8842c29}.xp-flash{position:fixed;top:28%;left:50%;transform:translate(-50%);z-index:50;padding:12px 22px;border-radius:999px;background:var(--orange);color:#fff;font-weight:800;font-size:1.15rem;box-shadow:0 8px 28px #e8842c73;animation:xp-pop 1.1s ease forwards;pointer-events:none}@keyframes xp-pop{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(.9)}20%{opacity:1;transform:translate(-50%) translateY(0) scale(1.05)}70%{opacity:1;transform:translate(-50%) translateY(-8px) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-24px) scale(.96)}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-pulse{0%,to{box-shadow:0 8px 22px #e8842c59}50%{box-shadow:0 10px 28px #e8842c80}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.pwa-banner{position:fixed;left:12px;right:12px;bottom:calc(var(--tabbar-h) + var(--safe-b) + 10px);z-index:80;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--radius);background:#fffffff2;border:1.5px solid var(--border);box-shadow:var(--shadow-lg);animation:rise-in .35s var(--ease) both}.pwa-banner-text{display:flex;flex-direction:column;gap:4px}.pwa-banner-text strong{font-size:1.05rem}.pwa-banner-text span{color:var(--text-muted);font-size:.9rem;font-weight:600}.pwa-banner-actions{display:flex;gap:8px}.train-explanation-more{display:inline-flex;align-items:center;margin:6px 0 0;padding:0;border:none;background:none;color:var(--accent);font:inherit;font-size:.88rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}.train-explanation-full{margin-top:8px;opacity:.92}.train-explanation .train-feedback-body+.train-explanation-more{margin-top:2px}.section-title{margin:22px 0 12px;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:var(--text);display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-title-meta{font-size:.85rem;font-weight:800;color:var(--text-muted)}.coverage-bar{margin:0 0 14px}.coverage-bar-track{height:12px;border-radius:999px;background:var(--bg-cream);overflow:hidden}.coverage-bar-track-sm{height:6px;margin-top:8px}.coverage-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),#5a9ad4);min-width:0;transition:width .45s var(--ease)}.coverage-bar-label{margin:8px 0 0;font-size:.88rem;font-weight:700;color:var(--text-muted)}.btn.is-done{opacity:.55}.stack{display:flex;flex-direction:column;gap:10px}.stack-mt{margin-top:20px}.plain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.plain-row{display:flex;align-items:center;padding:14px 16px;border-radius:var(--radius-sm);background:#ffffffb8;border:1px solid rgba(232,212,188,.9)}.plain-row-body{flex:1;min-width:0}.plain-row-title{font-weight:800;font-size:.98rem}.plain-row-meta{margin-top:2px;font-size:.82rem;font-weight:700;color:var(--text-muted)}.auth-role-fieldset{margin:0 0 12px;padding:0;border:none}.auth-role-fieldset legend{margin:0 0 8px;font-size:.85rem;font-weight:800;color:var(--ink-mid, var(--text))}.auth-role-picks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.auth-role-pick{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 10px;border-radius:12px;border:2px solid var(--line, #e8dfd2);background:var(--surface, #fff);font-size:.9rem;font-weight:800;cursor:pointer;position:relative}.auth-role-pick input{position:absolute;opacity:0;pointer-events:none}.auth-role-pick.is-active{border-color:var(--accent, #e85d04);background:color-mix(in srgb,var(--accent, #e85d04) 10%,#fff)}.auth-email-details{margin:0}.auth-email-details summary{cursor:pointer;list-style:none;font-weight:800;font-size:.95rem;color:var(--blue);padding:8px 0;text-align:center}.auth-email-details summary::-webkit-details-marker{display:none}.auth-email-details[open] summary{margin-bottom:12px}.auth-email-details .auth-form{animation:rise-in .35s var(--ease) both}.auth-aside{display:none}.ob-hero{margin-bottom:18px}.ob-hero-logo{width:56px;height:56px;border-radius:50%;object-fit:cover;margin-bottom:14px;box-shadow:0 6px 18px #3d281724}.ob-bullets{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:8px}.ob-bullets li{font-size:.82rem;font-weight:800;color:var(--blue);background:var(--blue-soft);padding:6px 12px;border-radius:999px}.ob-preview{margin:0 0 22px;position:relative}.ob-preview-blur{filter:blur(2.5px);opacity:.85;pointer-events:none;-webkit-user-select:none;user-select:none;transform:scale(.98)}.ob-preview-caption{margin:10px 0 0;text-align:center;font-size:.82rem;font-weight:700;color:var(--text-muted)}.ob-date-toggle{background:none;border:none;padding:0;margin:0;color:var(--blue);font-weight:700;font-size:.9rem;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:3px}.ob-trust{margin:4px 0 0;text-align:center;color:var(--text-muted);font-size:.82rem;font-weight:700;line-height:1.4}.ob-progress{height:8px;border-radius:999px;background:var(--bg-cream);margin:0 0 16px;overflow:hidden}.ob-progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--orange),#f0a04a);transition:width .2s var(--ease)}.ob-wizard{display:flex;flex-direction:column;gap:12px}.ob-wizard-q{margin:8px 0 4px;font-size:1.15rem;font-weight:800;line-height:1.35;color:var(--text)}.ob-wizard-q-bridge{margin:12px 0;font-size:1.15rem;font-weight:900;text-align:center;color:var(--ink, #3d2817)}.ob-goals-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:2px 2px 4px}.ob-goals-screen{display:flex;flex-direction:column;flex:1;min-height:calc(100dvh - 72px);justify-content:flex-start;gap:0}.ob-wizard-intro-compact{margin:4px 0 0;text-align:center}.ob-wizard-intro-compact .ob-ad-headline{margin:0 0 6px;font-size:clamp(1.15rem,4.6vw,1.35rem);line-height:1.25}.ob-wizard-intro-compact .ob-value-line{margin:0;font-size:.88rem;font-weight:700;color:var(--ink-soft, #6b5344)}.ob-grade-cards{gap:10px}.ob-card-row.is-primary{border-color:var(--orange, #e8842c)!important;background:linear-gradient(180deg,#fff6eb,#fff)!important;box-shadow:0 6px 18px #e8842c2e;min-height:72px}.ob-card-row.is-primary .ob-card-label{font-size:1.02rem}.ob-card-row.is-primary .ob-card-arrow{color:var(--orange, #e8842c);font-weight:900}.ob-goals-screen .ob-trust-line{margin:14px 0 0;text-align:center;font-size:.78rem;font-weight:700;color:var(--ink-soft, #6b5344)}.ob-starting{margin:18px 0;text-align:center;font-size:1rem;font-weight:800;color:var(--orange, #e8842c)}.ob-teasers{display:flex;gap:8px;margin:16px 0 0}.ob-teaser{flex:1;background:var(--orange-soft, #fff0e0);border-radius:12px;padding:10px 8px;text-align:center}.ob-teaser-icon{font-size:1rem;line-height:1}.ob-teaser-label{display:block;margin-top:4px;font-size:.68rem;font-weight:800;color:var(--ink-soft, #6b5344);line-height:1.25}.ob-social-proof{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:auto;padding-top:16px;font-size:.75rem;font-weight:800;color:var(--ink-soft, #6b5344)}.ob-social-avatars{display:flex}.ob-social-avatar{width:24px;height:24px;border-radius:50%;background:#ffd9a8;border:2px solid #fffaf2;display:grid;place-items:center;font-size:.7rem;margin-left:-8px}.ob-social-avatar:first-child{margin-left:0}.ob-social-avatar:nth-child(2){background:#ffc98a}.ob-social-avatar:nth-child(3){background:#ffbd73}.ob-card-arrow{margin-left:auto;color:var(--orange, #e8842c);font-weight:900;font-size:1.15rem;animation:ob-nudge 1.6s ease-in-out infinite}@keyframes ob-nudge{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@media(prefers-reduced-motion:reduce){.ob-card-arrow{animation:none}}.ob-wizard-intro{text-align:center;margin:0 0 12px}.ob-wizard-intro .ob-landing-mascot{margin:0 auto 10px;width:72px;height:72px;border-radius:50%;background:linear-gradient(180deg,#fff0e0,#ffe8be);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #3d28171a}.ob-wizard-intro .ob-landing-mascot img{width:44px;height:44px;object-fit:contain}.ob-ad-headline{margin:0 0 8px;font-size:clamp(1.35rem,5vw,1.7rem);font-weight:900;letter-spacing:-.02em;line-height:1.25;color:var(--text)}.ob-value-line{margin:0 0 8px;font-size:.95rem;font-weight:700;color:var(--text-muted);line-height:1.4}.ob-trust-line{margin:14px 0 0;text-align:center;font-size:.78rem;font-weight:700;color:#a08b78;line-height:1.4}.ob-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 12px}.ob-cards-stack{grid-template-columns:1fr}.ob-card{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:14px 12px;border-radius:var(--radius);border:2px solid rgba(232,212,188,.95);background:#ffffffe0;box-shadow:var(--shadow);font-family:inherit;font-size:1rem;font-weight:800;color:var(--text);cursor:pointer;transition:border-color .15s var(--ease),transform .15s var(--ease),background .15s var(--ease)}.ob-card:hover,.ob-card:focus-visible{border-color:var(--orange);outline:none}.ob-card:active{transform:scale(.98)}.ob-card.is-active{border-color:var(--orange);background:var(--orange-soft)}.ob-card-wide{align-items:flex-start;text-align:left;font-size:1.05rem}.ob-card-num{font-size:1.6rem;font-weight:800;line-height:1;color:var(--orange)}.ob-card-sub{font-size:.85rem;font-weight:700;color:var(--text-muted)}.ob-wizard-slide{animation:ob-slide-in .18s var(--ease) both}.ob-slide-fwd{animation-name:ob-slide-in-fwd}.ob-slide-back{animation-name:ob-slide-in-back}@keyframes ob-slide-in-fwd{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes ob-slide-in-back{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}.ob-fox{display:flex;justify-content:center;margin-bottom:4px}.ob-fox-face{font-size:2rem;line-height:1}.ob-fox-happy .ob-fox-face{animation:ob-fox-bounce .35s var(--ease)}@keyframes ob-fox-bounce{0%{transform:scale(.85)}60%{transform:scale(1.12)}to{transform:scale(1)}}.ob-streak{margin:0 0 10px;display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:var(--orange-soft);color:var(--orange);font-size:.88rem;font-weight:800}.ob-result-block{opacity:0;transform:translateY(10px);transition:opacity .35s var(--ease),transform .35s var(--ease);margin-bottom:14px}.ob-result-block.is-in{opacity:1;transform:translateY(0)}@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes ring-fill{0%{stroke-dashoffset:302}}@keyframes draw-line{0%{stroke-dashoffset:400}to{stroke-dashoffset:0}}@keyframes bar-grow{0%{width:0}}.ob-result-page{max-width:560px;margin:0 auto;padding:0 0 28px}.ob-result-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:10px 2px 8px}.ob-result-brand{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:.9rem;letter-spacing:-.01em;color:var(--ink, #2c1810)}.ob-result-brand img{border-radius:50%;object-fit:cover;box-shadow:0 4px 14px #3d28171f}.ob-result-days{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;background:#ffffffd9;border:1px solid var(--border, rgba(232, 212, 188, .95));font-size:.75rem;font-weight:800;color:var(--orange-hover, #c45f12);white-space:nowrap}.ob-result-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 18px 18px;border-radius:20px;background:#fff;border:1px solid rgba(232,212,188,.95);box-shadow:0 4px 14px #3d28170f;animation:pop .5s var(--ease) both}.ob-result-deco{position:absolute;font-size:1.15rem;opacity:.75;pointer-events:none;animation:float-y 3s ease-in-out infinite}.ob-result-deco-l{top:38px;left:12px}.ob-result-deco-r{top:52px;right:14px;animation-delay:.5s}.ob-result-kicker{position:relative;z-index:1;margin:0 0 12px;width:100%;font-size:.78rem;font-weight:800;color:var(--orange-hover, #c45f12);text-transform:uppercase;letter-spacing:.06em;text-align:center}.ob-result-ring-wrap{position:relative;width:120px;height:120px;margin:0 0 12px;flex-shrink:0}.ob-result-ring{display:block;width:120px;height:120px;transform:rotate(-90deg)}.ob-result-ring-fill{animation:ring-fill 1.1s var(--ease) both}.ob-result-grade{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:3.3rem;font-weight:900;line-height:1;color:var(--orange, #e8842c);padding-top:2px;margin-left:-1px}.ob-result-grade-fallback{margin:0 0 12px;font-size:2rem;font-weight:900;color:var(--orange, #e8842c)}.ob-result-score-pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:fit-content;max-width:100%;padding:8px 14px;border-radius:999px;background:#ffffffe6;border:1px solid var(--border, rgba(232, 212, 188, .95));font-size:.82rem;font-weight:800;color:var(--ink-soft, #6b5344);margin:0 0 4px;line-height:1.2;white-space:nowrap}.ob-result-score-pill .hint-trigger{min-height:0;min-width:0;padding:0 2px;vertical-align:middle}.ob-result-narrative{margin:0 auto 14px;max-width:380px;font-weight:700;color:var(--ink-mid, #4a3728);font-size:.98rem;text-wrap:balance}.ob-result-hero-cta{max-width:380px;margin:0 auto;min-height:44px}.ob-result-micro{margin:8px 0 0;font-size:.76rem;font-weight:800;color:var(--ink-faint, #a08b78)}.ob-result-card{background:#fff;border:1px solid var(--border, rgba(232, 212, 188, .95));border-radius:20px;padding:18px;box-shadow:var(--shadow)}.ob-result-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.ob-result-card-title{margin:0;font-weight:900;font-size:1.02rem;letter-spacing:-.01em;color:var(--ink, #2c1810);text-wrap:balance}.ob-result-card-sub{margin:2px 0 0;font-weight:600;font-size:.85rem;color:var(--ink-soft, #6b5344)}.ob-result-growth-pill{flex-shrink:0;font-size:.75rem;font-weight:800;color:var(--orange, #e8842c);background:var(--orange-soft, #fff0e0);padding:4px 10px;border-radius:999px}.ob-result-chart{position:relative;margin-top:10px}.ob-result-chart svg{width:100%;height:auto;display:block}.ob-result-chart-path{stroke-dasharray:400;animation:draw-line 1.4s .3s var(--ease) both}.ob-result-chart-goal-dot{animation:pop .4s 1.5s both}.ob-result-chart-you{position:absolute;left:2px;bottom:34px;font-size:.72rem;font-weight:900;color:var(--orange-hover, #c45f12);background:var(--orange-soft, #fff0e0);padding:3px 9px;border-radius:999px}.ob-result-chart-goal{position:absolute;right:0;top:-4px;font-size:.72rem;font-weight:900;color:var(--ok-dark, #1d6b3c);background:var(--ok-soft, #e7f6ec);padding:3px 9px;border-radius:999px;animation:pop .4s 1.6s both}.ob-result-chart-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ob-result-axis{display:flex;justify-content:space-between;margin-top:2px;font-size:.72rem;font-weight:800;color:var(--ink-faint, #a08b78)}.ob-result-topics{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ob-result-topic{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:14px;background:#fffaf2;border:1px solid rgba(232,212,188,.7)}.ob-result-topic-icon{flex-shrink:0;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem}.ob-result-topic-body{flex:1;min-width:0}.ob-result-topic-label{display:block;font-weight:800;font-size:.9rem;line-height:1.3;color:var(--ink, #2c1810)}.ob-result-topic-bar{display:block;margin-top:5px;height:6px;border-radius:999px;background:var(--bg-cream, #ffe8be);overflow:hidden}.ob-result-topic-bar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f0953f,#e8842c);animation:bar-grow .9s .4s var(--ease) both}.ob-result-topic-score{flex-shrink:0;font-size:.78rem;font-weight:900;color:var(--orange-hover, #c45f12)}.ob-result-plan{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--orange-soft, #fff0e0),#fff);border:1px solid var(--border-accent, rgba(232, 132, 44, .28));border-radius:20px;padding:18px;box-shadow:var(--shadow)}.ob-result-plan-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.ob-result-mascot{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:linear-gradient(180deg,#fff0e0,#ffe8be);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #3d28171a;animation:float-y 3s ease-in-out infinite}.ob-result-mascot img{border-radius:50%;object-fit:cover}.ob-result-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ob-result-step{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:12px;background:#ffffffe6;border:1px solid rgba(232,212,188,.8);min-height:44px}.ob-result-step-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--orange-soft, #fff0e0);color:var(--orange-hover, #c45f12);display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:.75rem}.ob-result-step-num.is-active{background:var(--orange, #e8842c);color:#fff}.ob-result-step-label{flex:1;font-weight:800;font-size:.88rem;color:var(--ink, #2c1810);min-width:0}.ob-result-step-meta{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:800;color:var(--ink-faint, #a08b78)}.ob-result-plan-lock{margin:10px 0 0;text-align:center;font-size:.78rem;font-weight:800;color:var(--orange-hover, #c45f12)}.ob-result-cta-dark{padding:18px;border-radius:20px;background:#3d2817;box-shadow:0 12px 36px #2c181059;color:#fff;text-align:center}.ob-result-cta-title{margin:0 0 12px;font-weight:900;font-size:1rem;letter-spacing:-.01em;line-height:1.3}.ob-result-cta-sub{margin:0 0 14px;font-weight:600;font-size:.88rem;color:#fff0e0bf}.ob-result-gap{margin:0;width:100%;font-size:.95rem;font-weight:800;color:var(--ink, #3d2817);text-align:center;text-wrap:balance}.ob-result-narrative-soft{margin:4px 0 12px;width:100%;font-size:.82rem;font-weight:700;color:var(--ink-soft, #6b5344);text-align:center;text-wrap:balance}.ob-result-micro-on-dark{margin:10px 0 0;color:#ffd9a8;font-size:.75rem;font-weight:800}.ob-result-ttl-on-dark{margin:6px 0 0;color:#c4a98d;font-size:.75rem;font-weight:700}.ob-result-topic-warn{flex-shrink:0;width:32px;height:32px;border-radius:10px;background:#ffe5e0;color:#d05840;display:grid;place-items:center;font-weight:900;font-size:.88rem}.ob-result-topic-score.is-warn{color:#d05840;font-weight:800}.ob-result-cta-vk{min-height:52px;font-size:1.08rem;padding:17px 24px;margin-bottom:9px}.ob-result-tg-wrap .btn-tg{background:transparent;border:1.5px solid rgba(255,240,224,.28);color:#fff0e0d9;box-shadow:none;font-size:.9rem;padding:12px 24px;min-height:44px}.ob-result-tg-wrap .btn-tg:hover:not(:disabled){background:#fff0e014;transform:none}.ob-result-tg-wrap .tg-login-note{color:#fff0e0a6}.ob-result-chips{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:12px}.ob-result-chip{display:inline-flex;align-items:center;gap:4px;font-size:.76rem;font-weight:800;color:#fff0e0a6}.ob-result-chip svg{color:var(--ok-on-dark, #7bd49a)}.ob-result-ttl{margin:12px 0 0;text-align:center;font-size:.78rem;font-weight:700;color:var(--ink-faint, #a08b78)}.ob-result-email-link{display:block;margin-top:10px;text-align:center;font-size:.85rem;font-weight:700;color:var(--ink-soft, #6b5344);text-decoration:underline;text-underline-offset:2px;min-height:44px;line-height:44px}.ob-result-email-link:hover{color:var(--blue, #2e6db5)}@media(prefers-reduced-motion:reduce){.ob-result-hero,.ob-result-deco,.ob-result-ring-fill,.ob-result-chart-path,.ob-result-chart-goal-dot,.ob-result-chart-goal,.ob-result-mascot,.ob-result-topic-bar>span{animation:none!important}.ob-result-ring-fill{stroke-dashoffset:inherit}.ob-result-chart-path{stroke-dasharray:none}}.train-actions-sticky{position:sticky;bottom:calc(12px + var(--safe-b));margin-top:16px;padding-top:8px;background:linear-gradient(180deg,transparent,var(--bg) 28%);z-index:2}.pay-page{display:flex;flex-direction:column;gap:14px;width:100%;max-width:none;margin:0;padding-bottom:28px;animation:rise-in .45s cubic-bezier(.22,1,.36,1) both}.app-frame:has(.pay-page){max-width:min(960px,100%)}@media(min-width:960px){.app-frame:has(.pay-page),.app-frame.is-focus:has(.pay-page){max-width:1180px}.app-frame.is-focus:has(.pay-page){grid-template-columns:minmax(0,1fr)}}.pay-kicker{margin:0 0 6px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-hover, #c45f12)}.pay-hero{position:relative;overflow:hidden;padding:20px 18px 16px;border-radius:20px;background:linear-gradient(150deg,#fff 0%,var(--orange-soft, #fff0e0) 100%);border:1px solid var(--border-accent, rgba(232, 132, 44, .28));box-shadow:0 10px 32px #3d28171a}.pay-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pay-hero-copy{min-width:0;flex:1}.pay-hero-title{margin:0;font-size:1.55rem;font-weight:900;letter-spacing:-.03em;color:var(--ink, #2c1810);text-wrap:balance;line-height:1.2}.pay-hero-sub{margin:8px 0 0;font-size:.92rem;font-weight:700;color:var(--ink-mid, #4a3728);line-height:1.45;text-wrap:balance}.pay-hero-mascot{flex-shrink:0;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fff0e0,#ffe8be);box-shadow:0 6px 18px #3d28171a;animation:float-y 3s ease-in-out infinite}.pay-hero-mascot img{width:40px;height:40px;object-fit:contain}.pay-trust-row{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.pay-trust-row li{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:4px 10px;border-radius:999px;background:#ffffffd9;border:1px solid var(--border, rgba(232, 212, 188, .95));font-size:.78rem;font-weight:800;color:var(--ink-mid, #4a3728)}.pay-trust-row li svg{color:var(--ok, #2f9e5a);flex-shrink:0}.pay-pain{margin:0;padding:16px 18px;border-radius:18px;background:#fdeceb;border:1px solid rgba(196,75,43,.22)}.pay-pain-title{margin:0 0 6px;font-weight:800;font-size:1.02rem;color:var(--danger, #c44b2b)}.pay-pain-eta{margin:0 0 8px;font-weight:700;font-size:.88rem;color:var(--ink-soft, #6b5344)}.pay-pain-cta{margin:0;font-weight:800;font-size:.92rem;color:var(--ink, #2c1810)}.pay-active{display:flex;align-items:flex-start;gap:10px;margin:0;padding:14px 16px;border-radius:18px;background:var(--ok-soft, #e7f6ec);border:1px solid rgba(47,158,90,.28)}.pay-active p{margin:0;font-weight:800;font-size:.92rem;color:var(--ok-dark, #1d6b3c)}.pay-active-mark{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ok, #2f9e5a);color:#fff}.pay-campaign{margin:0;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,var(--orange-soft, #fff0e0),#fff8ec);border:1.5px solid rgba(232,132,44,.35);box-shadow:var(--shadow)}.pay-campaign-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.pay-campaign-badge{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--orange, #e8842c);padding:3px 8px;border-radius:999px}.pay-campaign-sale{display:inline-block;font-size:.72rem;font-weight:800;padding:3px 8px;border-radius:999px;background:#f0953f40;color:var(--orange-hover, #c45f12)}.pay-campaign-title{margin:0;font-weight:900;font-size:1.05rem;letter-spacing:-.01em;color:var(--ink, #2c1810)}.pay-campaign-deadline{margin:4px 0 0;font-weight:700;font-size:.86rem;color:var(--ink-soft, #6b5344)}.pay-promo{margin:0;padding:12px 14px;border-radius:14px;background:var(--blue-soft, #e8f1fb);border:1px solid rgba(46,109,181,.18);font-size:.9rem;font-weight:800;color:var(--blue, #2e6db5)}.pay-card{margin:0;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid var(--border, rgba(232, 212, 188, .95));box-shadow:var(--shadow)}.pay-section-title{margin:0 0 12px;font-size:1.02rem;font-weight:900;letter-spacing:-.01em;color:var(--ink, #2c1810)}.pay-benefits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.pay-benefits li{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;font-weight:700;color:var(--ink-mid, #4a3728);line-height:1.4}.pay-benefit-check{flex-shrink:0;width:24px;height:24px;margin-top:1px;border-radius:8px;display:grid;place-items:center;background:var(--ok-soft, #e7f6ec);color:var(--ok, #2f9e5a)}.pay-compare{display:flex;flex-direction:column;gap:0;border-radius:14px;overflow:hidden;border:1px solid rgba(232,212,188,.9);background:#fff8ec59}.pay-compare-head,.pay-compare-row{display:grid;grid-template-columns:1.25fr .85fr .95fr;gap:8px;padding:10px 12px;align-items:center}.pay-compare-head{background:var(--bg-cream, #ffe8be);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint, #a08b78)}.pay-compare-row:nth-child(2n){background:#ffffffa6}.pay-compare-label{font-weight:800;font-size:.86rem;color:var(--ink, #2c1810)}.pay-compare-free{font-weight:700;font-size:.84rem;color:var(--ink-faint, #a08b78)}.pay-compare-prem{font-weight:800;font-size:.84rem;color:var(--ok, #2f9e5a)}.pay-tiers{display:flex;flex-direction:column;gap:12px}.pay-tier{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:44px;padding:18px 18px 16px;border-radius:18px;border:1.5px solid rgba(232,212,188,.95);background:#fffffff2;box-shadow:0 4px 16px #3d28170d;cursor:pointer;text-align:left;color:var(--ink, #2c1810);transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s,border-color .15s}.pay-tier:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px #3d28171a;border-color:#e8842c66}.pay-tier:disabled{opacity:.65;cursor:not-allowed;transform:none}.pay-tier.is-featured{border-color:var(--orange, #e8842c);border-width:2px;background:linear-gradient(180deg,#fff 0%,var(--orange-soft, #fff0e0) 100%);padding-top:30px;box-shadow:0 8px 28px #e8842c24}.pay-tier-badge{position:absolute;top:-1px;right:14px;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:linear-gradient(180deg,#f0953f,#e8842c);padding:5px 11px;border-radius:0 0 12px 12px;box-shadow:0 4px 12px #e8842c47}.pay-tier-sale{position:absolute;top:12px;right:12px;font-size:.72rem;font-weight:800;padding:3px 8px;border-radius:999px;background:#f0953f33;color:var(--orange-hover, #c45f12)}.pay-tier-sale-inline{display:inline-flex;align-items:center;margin-left:4px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:800;background:#f0953f38;color:var(--orange-hover, #c45f12);vertical-align:middle}.pay-tier-label{font-weight:900;font-size:1.05rem;letter-spacing:-.01em}.pay-tier-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:4px 0 2px}.pay-tier-old{font-size:1rem;font-weight:700;color:var(--ink-faint, #a08b78);text-decoration:line-through}.pay-tier-now{font-size:1.75rem;font-weight:900;letter-spacing:-.03em;color:var(--orange, #e8842c)}.pay-tier-day{font-size:.84rem;font-weight:700;color:var(--ink-soft, #6b5344)}.pay-tier-cta{margin-top:10px;align-self:stretch;text-align:center;font-weight:800;font-size:.95rem;padding:13px;border-radius:14px;background:#e8842c1f;color:var(--orange-hover, #c45f12)}.pay-tier.is-featured .pay-tier-cta{background:linear-gradient(180deg,#f0953f,#e8842c);color:#fff;box-shadow:0 8px 22px #e8842c59}.pay-dark{position:relative;overflow:hidden;margin:2px 0 0;padding:22px 18px 18px;border-radius:20px;background:linear-gradient(145deg,#2c1810,#4a3020 55%,#5a3a1f);color:#fff;box-shadow:0 12px 36px #2c181059;animation:rise-in .45s .15s cubic-bezier(.22,1,.36,1) both}.pay-dark-glow{position:absolute;width:160px;height:160px;right:-40px;top:-50px;border-radius:50%;background:#f0953f47;pointer-events:none}.pay-dark-icon{position:relative;width:44px;height:44px;margin-bottom:10px;border-radius:12px;display:grid;place-items:center;background:#f0953f38;color:#f0953f}.pay-dark-kicker{position:relative;margin:0 0 6px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ffd9aee6}.pay-dark-title{position:relative;margin:0;font-size:1.35rem;font-weight:900;letter-spacing:-.02em;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.pay-dark-old{font-size:1rem;font-weight:700;color:#fff0e08c;text-decoration:line-through}.pay-dark-sub{position:relative;margin:8px 0 0;font-size:.9rem;font-weight:700;color:#fff0e0bf;line-height:1.4}.pay-dark-btn{position:relative;display:block;width:100%;margin-top:16px;min-height:48px;padding:15px 24px;border:none;border-radius:14px;font:inherit;font-weight:800;font-size:1rem;color:#fff;cursor:pointer;background:linear-gradient(180deg,#f0953f,#e8842c);box-shadow:0 8px 22px #e8842c66;transition:transform .15s cubic-bezier(.22,1,.36,1)}.pay-dark-btn:hover:not(:disabled){transform:translateY(-1px)}.pay-dark-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.pay-trust{margin:6px 0 0;text-align:center;color:var(--ink-faint, #a08b78);font-weight:700;font-size:.84rem}.pay-methods{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.pay-methods span{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint, #a08b78);background:#ffffffbf;border:1px solid var(--border, rgba(232, 212, 188, .95));padding:5px 10px;border-radius:999px}.pay-parent-card .pay-kicker{margin-bottom:4px}.pay-parent-card .pay-section-title{margin-bottom:8px}.pay-parent-text{margin:0 0 14px;font-size:.9rem;font-weight:700;color:var(--ink-mid, #4a3728);line-height:1.45;text-wrap:balance}.pay-parent-msg{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--ok-soft, #e7f6ec);border:1px solid rgba(47,158,90,.25);font-size:.86rem;font-weight:800;color:var(--ok-dark, #1d6b3c);word-break:break-word}.pay-parent-note{margin:12px 0 0;font-size:.78rem;font-weight:700;color:var(--ink-faint, #a08b78);line-height:1.4}@media(prefers-reduced-motion:reduce){.pay-page,.pay-dark,.pay-hero-mascot{animation:none!important}.pay-tier,.pay-dark-btn{transition:none!important}}@media(min-width:640px){.app-main{padding:28px 24px 36px}.home-grid{gap:14px}.train-modes-grid{grid-template-columns:1fr 1fr;gap:12px}.train-modes-grid>.train-card:not(.train-card-wide){min-height:124px}.auth-shell{padding-inline:32px}.auth-main{max-width:440px}.pwa-banner{left:auto;right:max(24px,calc(50% - 256px));bottom:calc(var(--tabbar-h) + 24px);width:360px}}@media(min-width:960px){.app-frame,.app-frame.is-wide{--sidebar-w: 248px;max-width:1180px;margin:0 auto;padding:20px 24px 28px;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);gap:0 20px;align-items:stretch}.app-frame.is-focus{--sidebar-w: 0px;grid-template-columns:minmax(0,1fr);max-width:720px;padding-bottom:28px}.app-sidebar{display:flex;flex-direction:column;position:sticky;top:0;align-self:start;height:100dvh;max-height:100dvh;padding:18px 14px 16px;border-radius:0;background:#ffffffb8;border:none;border-right:1px solid var(--border);box-shadow:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.app-header-stats{display:none}.app-header:has(.app-header-stats):not(:has(.app-header-title)):not(:has(.app-back)):has(.app-header-actions:empty){display:none}.app-body{min-height:calc(100dvh - 40px);border-radius:22px;background:#ffffff8c;border:1px solid rgba(232,212,188,.75);box-shadow:var(--shadow);overflow:hidden}.app-header{border-radius:22px 22px 0 0;background:#fff8ece6}.app-header-inner{padding:10px 28px;grid-template-columns:auto 1fr auto}.app-header-inner:not(:has(.app-back)){grid-template-columns:1fr auto}.app-header-inner:not(:has(.app-back)) .app-header-brand{display:none}.app-header-title{justify-self:start;font-size:1.15rem}.app-header-inner:not(:has(.app-back)) .app-header-title{justify-self:start}.app-back{padding-left:0}.app-main{padding:32px 36px 40px}.app-tabbar{display:none}.home-layout{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(280px,1fr);gap:28px 32px;align-items:start}.home-hero{margin-bottom:0;padding:8px 4px 0}.home-cta{max-width:320px}.home-grid{grid-template-columns:1fr 1fr}.app-hello{font-size:clamp(2.1rem,3vw,2.6rem)}.app-sub{max-width:38ch;font-size:1.08rem}.train-pick{max-width:780px}.train-list{max-height:min(68dvh,640px)}.train-options,.train-question-text{max-width:720px}.pwa-banner{left:auto;right:28px;bottom:28px;width:360px}.auth-shell{max-width:1120px;width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:28px 48px;align-items:start;align-content:start;justify-items:stretch;padding:36px 48px 48px}.auth-brand{grid-column:1 / -1;margin-bottom:0}.auth-main{max-width:440px;width:100%;justify-self:start;align-self:center;margin:0;flex:none;justify-content:flex-start}.auth-aside{display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:360px;border-radius:28px;padding:36px 32px;background:linear-gradient(145deg,#ffffff8c,#fff0e0d9),radial-gradient(circle at 30% 30%,rgba(232,132,44,.2),transparent 55%);border:1px solid rgba(232,212,188,.85);box-shadow:var(--shadow-lg)}.auth-aside-card{width:100%;max-width:320px}.auth-aside-preview{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 14px;align-items:center;padding:18px 20px;margin-bottom:22px;border-radius:var(--radius);background:#ffffffe0;border:1px solid rgba(232,212,188,.9);box-shadow:var(--shadow)}.auth-aside-preview-grade{grid-row:1 / 3;font-size:2.6rem;font-weight:800;color:var(--orange);letter-spacing:-.04em;line-height:1}.auth-aside-preview-score{font-size:1.15rem;font-weight:800;color:var(--text)}.auth-aside-preview-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.auth-aside-title{margin:0 0 14px;font-size:1.35rem;font-weight:800;letter-spacing:-.03em;line-height:1.25}.auth-aside-bullets{margin:0;padding:0 0 0 1.1em;display:flex;flex-direction:column;gap:8px;font-weight:700;color:var(--text-muted);font-size:.98rem}}@media(min-width:1280px){.app-frame,.app-frame.is-wide{--sidebar-w: 260px;max-width:1280px;padding:28px 32px 36px;gap:0 28px}.app-frame.is-focus{--sidebar-w: 0px;max-width:720px}.app-main{padding:36px 44px 48px}.home-layout{gap:36px 48px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.xp-flash{animation:none!important;transition:none!important}}.hint{position:relative;display:inline-flex;vertical-align:baseline}.hint-trigger{display:inline-flex;align-items:center;gap:3px;margin:0;padding:0;border:none;background:none;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;text-align:left;min-height:44px;min-width:44px;justify-content:center}.app-stat-label .hint-trigger,.paywall-title .hint-trigger,.invite-milestone-text .hint-trigger,.app-note .hint-trigger,h2 .hint-trigger{min-height:0;min-width:0}.hint-label{border-bottom:1px dotted currentColor}.hint-icon{font-size:.85em;opacity:.75;line-height:1}.hint-popover{position:absolute;z-index:40;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);width:max-content;max-width:min(260px,80vw);padding:10px 12px;border-radius:12px;background:var(--brown);color:#fff;font-size:.82rem;font-weight:600;line-height:1.35;box-shadow:var(--shadow-lg);text-align:left}.hint-popover:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--brown)}.theory-list .theory-row{flex-direction:column;align-items:stretch;gap:10px;text-decoration:none;color:inherit}.theory-list .theory-row:hover{text-decoration:none}.theory-row-bar{display:block;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.theory-row-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--blue));border-radius:inherit;transition:width .35s var(--ease)}.theory-actions{display:flex;flex-direction:column;gap:10px;margin:8px 0 20px}.btn-secondary{background:var(--blue-soft);color:var(--blue);border:1px solid transparent}.btn-secondary:hover{background:#d9e8f8;text-decoration:none}.theory-section-hint{margin:0 0 14px;color:var(--text-muted);font-size:.95rem}.theory-section{margin-bottom:18px}.theory-section-title{margin:0 0 8px;font-size:1.05rem;color:var(--brown)}.theory-elem-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.theory-elem{display:grid;grid-template-columns:auto auto 1fr;gap:8px 10px;align-items:start;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);color:inherit;text-decoration:none;transition:border-color .2s var(--ease),transform .2s var(--ease)}.theory-elem:hover{text-decoration:none;border-color:var(--orange);transform:translateY(-1px)}.theory-elem.is-done{background:#f3faf5;border-color:#c7e6d2}.theory-elem-mark{color:var(--ok);font-weight:800;width:1.1rem;text-align:center}.theory-elem:not(.is-done) .theory-elem-mark{color:var(--text-muted)}.theory-elem-code{font-weight:800;color:var(--blue);font-variant-numeric:tabular-nums}.theory-elem-title{font-size:.95rem;line-height:1.4;color:var(--text)}.theory-reader{max-width:42rem}.theory-progress{display:flex;align-items:center;gap:12px;margin-bottom:14px}.theory-progress-track{flex:1;height:8px;border-radius:999px;background:var(--border);overflow:hidden}.theory-progress-fill{height:100%;background:linear-gradient(90deg,var(--orange),#f0a45a);border-radius:inherit;transition:width .3s var(--ease)}.theory-progress-label{font-size:.85rem;font-weight:700;color:var(--text-muted);min-width:3.2rem;text-align:right}.theory-xp-toast{margin:0 0 12px;padding:8px 12px;border-radius:12px;background:var(--orange-soft);color:var(--orange-hover);font-weight:700;font-size:.92rem;animation:theoryFadeIn .4s var(--ease)}.theory-xp-toast.muted{background:var(--blue-soft);color:var(--blue);font-weight:600}@keyframes theoryFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.theory-body{padding:18px 16px;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);white-space:pre-wrap;word-break:break-word;font-size:1.02rem;line-height:1.65;animation:theoryFadeIn .35s var(--ease)}.theory-body b{color:var(--brown)}.theory-check-toggle{margin-top:14px;padding:0;border:0;background:none;color:var(--blue);font-weight:700;font-size:.95rem;cursor:pointer}.theory-check-box{margin:8px 0 0;padding:12px 14px;border-radius:var(--radius-sm);background:var(--blue-soft);color:var(--text);font-size:.95rem;animation:theoryFadeIn .3s var(--ease)}.theory-nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.theory-nav .btn{min-width:7.5rem}.theory-footer-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:.92rem}.theory-elem-kicker{margin:0 0 4px;color:var(--text-muted);font-size:.9rem}.theory-elem-heading{margin:0 0 12px;font-size:1.25rem;line-height:1.35;color:var(--brown)}.theory-topic-row{display:flex;align-items:stretch;gap:0;padding:0;overflow:visible}.theory-topic-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px 16px;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit;overflow:visible}.theory-topic-main:disabled{opacity:.6;cursor:wait}.theory-topic-read{display:flex;align-items:center;padding:0 16px;border-left:1px solid var(--border);background:var(--orange-soft);color:var(--orange-hover);font-weight:800;font-size:.9rem;text-decoration:none;white-space:nowrap}.theory-topic-read:hover{text-decoration:none;background:#ffe0c2}.share-buttons{display:flex;flex-direction:column;gap:10px;margin-top:8px}.invite-boost .paywall-title{color:var(--orange-hover)}.invite-banner{margin:12px 0 4px;text-align:left}.invite-milestones{gap:8px}.invite-milestone{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);font-weight:700;color:var(--text)}.invite-milestone.is-done{border-color:#2f9e5a59;background:#2f9e5a14}.invite-milestone-mark{display:inline-flex;flex-shrink:0;color:var(--text-muted)}.invite-milestone.is-done .invite-milestone-mark{color:var(--ok)}.invite-milestone-text{line-height:1.35}.mock-review-feed{display:flex;flex-direction:column;gap:12px;margin:12px 0 16px}.mock-review-bubble{border-radius:14px;padding:12px 14px;text-align:left}.mock-review-bubble-q{background:#ffffffb8;border:1px solid rgba(40,28,18,.08)}.mock-review-bubble-fox{background:#ff8c421f;border:1px solid rgba(255,140,66,.22)}.mock-review-fox-label{margin:0 0 6px;font-size:.8rem;font-weight:700;color:var(--orange-hover, #e06a20)}.mock-review-q{margin:0 0 8px;white-space:pre-wrap}.mock-review-options{margin:0;padding-left:1.1rem}.mock-review-options li.is-selected{font-weight:700}.mock-review-correct{margin:10px 0 0}@keyframes league-rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes league-fill-in{0%{width:0}}@keyframes league-pulse-dot{0%,to{box-shadow:0 0 #2f9e5a73}50%{box-shadow:0 0 0 6px #2f9e5a00}}.league-page{max-width:980px;margin:0 auto;display:flex;flex-direction:column;padding-bottom:28px}.league-top{display:flex;align-items:center;gap:12px;padding:0 0 4px}.league-back{flex-shrink:0;width:38px;height:38px;min-width:38px;border-radius:12px;background:#ffffffd9;border:1px solid rgba(232,212,188,.95);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-soft, #6b5344);text-decoration:none;transition:background .15s var(--ease)}.league-back:hover{background:var(--orange-soft);text-decoration:none;color:var(--ink-soft, #6b5344)}.league-top-title{font-weight:900;font-size:1.05rem;letter-spacing:-.01em;color:var(--ink, var(--text))}.league-countdown{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:5px 11px;min-height:28px;border-radius:999px;background:var(--orange-soft);border:1px solid rgba(232,132,44,.28);font-size:.78rem;font-weight:900;color:var(--accent, #c45f12)}.league-countdown-spacer{margin-left:auto}.league-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:14px;padding-top:12px;animation:league-rise-in .4s var(--ease) both}.league-card-title{margin:0;font-weight:900;font-size:.95rem;letter-spacing:-.01em;color:var(--ink, var(--text))}.league-hero{grid-column:1 / -1;padding:18px 20px;border-radius:18px;background:linear-gradient(145deg,#fff 0%,var(--blue-soft) 100%);border:1px solid rgba(46,109,181,.22);box-shadow:var(--shadow)}.league-hero-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}.league-hero-identity{flex:1 1 300px;display:flex;align-items:center;gap:14px;min-width:0}.league-hero-cup{flex-shrink:0;width:58px;height:58px;border-radius:16px;background:linear-gradient(160deg,#dcebfa,#c3ddf5);display:inline-flex;align-items:center;justify-content:center;color:var(--blue);box-shadow:0 4px 14px #2e6db52e}.league-hero-text{min-width:0}.league-hero-kicker{margin:0;font-size:.75rem;font-weight:900;color:var(--blue);text-transform:uppercase;letter-spacing:.08em}.league-hero-name{margin:0;font-weight:900;font-size:1.45rem;letter-spacing:-.02em;line-height:1.2;color:var(--ink, var(--text))}.league-hero-meta-line{margin:2px 0 0;font-weight:700;font-size:.88rem;color:var(--ink-soft, #6b5344)}.league-ladder{flex:1 1 300px;list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:0}.league-ladder-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;min-width:0}.league-ladder-step+.league-ladder-step:before{content:"";position:absolute;top:9px;left:-50%;width:100%;height:2.5px;background:#f3e3cc;z-index:0}.league-ladder-step+.league-ladder-step.is-reached:before,.league-ladder-step+.league-ladder-step.is-current:before{background:#c3ddf5}.league-ladder-dot{position:relative;z-index:1;width:20px;height:20px;border-radius:50%;background:#f3e3cc;border:3px solid transparent;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:900;color:var(--blue)}.league-ladder-step.is-reached .league-ladder-dot{background:#c3ddf5}.league-ladder-step.is-current .league-ladder-dot{background:var(--blue);border-color:#dcebfa;color:#fff;box-shadow:0 0 0 3px #2e6db52e}.league-ladder-label{font-size:.66rem;font-weight:900;color:#c9b8a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.league-ladder-step.is-reached .league-ladder-label{color:var(--ink-soft, #6b5344)}.league-ladder-step.is-current .league-ladder-label{color:var(--blue)}.league-reward{display:flex;align-items:center;gap:9px;margin-top:14px;padding:10px 14px;border-radius:12px;background:#fffc;border:1px solid rgba(232,212,188,.8)}.league-reward-text{margin:0;font-size:.85rem;font-weight:700;color:var(--ink-mid, #4a3728)}.league-reward-text strong{color:var(--accent, #c45f12)}.league-mid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:stretch;gap:14px}.league-col{align-self:stretch;display:flex;flex-direction:column;gap:14px;min-width:0}.league-match{padding:18px;border-radius:18px;background:linear-gradient(150deg,#fff 0%,var(--orange-soft) 100%);border:1px solid rgba(232,132,44,.28);box-shadow:var(--shadow)}.league-match--empty{display:flex;flex-direction:column;gap:12px}.league-match-empty-text{margin:0;font-size:.88rem;font-weight:700;color:var(--ink-soft, #6b5344)}.league-match-kicker{display:flex;align-items:center;gap:8px;margin-bottom:12px}.league-match-kicker p{margin:0;font-size:.78rem;font-weight:900;color:var(--accent, #c45f12);text-transform:uppercase;letter-spacing:.06em}.league-pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:league-pulse-dot 2s infinite}.league-match-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-bottom:10px}.league-match-side{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.league-match-side strong{font-weight:900;font-size:1.9rem;line-height:1;font-variant-numeric:tabular-nums;color:var(--orange)}.league-match-side:last-child strong{color:var(--blue)}.league-match-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(180deg,var(--orange-bright, #f0953f),var(--orange));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:1.1rem;box-shadow:0 4px 14px #e8842c59}.league-match-avatar.is-opp{background:var(--blue-soft);color:var(--blue);border:2px solid #c3ddf5;box-shadow:none}.league-match-colon{font-weight:900;font-size:1.4rem;color:#d9c3ab}.league-match-cap{font-size:.72rem;font-weight:800;color:var(--ink-faint, #a08b78);text-align:center;display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-match-forecast-wrap{display:flex;justify-content:center;margin-bottom:12px}.league-match-forecast{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--ok-soft, #e7f6ec);color:var(--ok-dark, #1d6b3c);font-size:.78rem;font-weight:900}.league-match-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px}.league-match-cta:hover{text-decoration:none}.league-rounds{padding:15px 18px;border-radius:18px;background:#fff;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow)}.league-rounds .league-card-title{margin-bottom:10px}.league-rounds-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.league-round{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.league-round-mark{width:100%;aspect-ratio:1;max-width:38px;border-radius:11px;background:#fffaf2;color:#d9c3ab;border:1px solid rgba(232,212,188,.7);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:.82rem}.league-round.is-w .league-round-mark{background:var(--ok-soft, #e7f6ec);color:var(--ok-dark, #1d6b3c);border-color:transparent}.league-round.is-d .league-round-mark{background:var(--orange-soft);color:var(--ink-soft, #6b5344)}.league-round.is-l .league-round-mark{background:#fdeeea;color:var(--danger);border-color:transparent}.league-round.is-today .league-round-mark{background:linear-gradient(180deg,var(--orange-bright, #f0953f),var(--orange));color:#fff;border:none}.league-round-day{font-size:.66rem;font-weight:900;color:var(--ink-faint, #a08b78)}.league-round.is-today .league-round-day{color:var(--accent, #c45f12)}.league-points-reward{flex:1;box-sizing:border-box;padding:15px 18px;border-radius:18px;background:#fff;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow)}.league-points-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.league-points-head span{font-size:.82rem;font-weight:900;color:var(--orange)}.league-points-bar{position:relative;height:9px;border-radius:999px;background:var(--bg-cream);margin-bottom:9px}.league-points-fill{position:absolute;top:0;right:0;bottom:0;left:0;display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--orange-bright, #f0953f),var(--orange));animation:league-fill-in .9s var(--ease) both;max-width:100%}.league-points-mark{position:absolute;top:-3px;width:2.5px;height:15px;border-radius:2px;background:var(--ok);transform:translate(-50%)}.league-points-hints{display:flex;flex-direction:column;gap:4px}.league-points-hints p{margin:0;font-size:.8rem;font-weight:800;color:var(--ink-soft, #6b5344);display:flex;align-items:center;gap:6px}.league-points-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.league-points-swatch.is-ok{background:var(--ok)}.league-points-swatch.is-orange{background:var(--orange)}.league-table{align-self:stretch;padding:15px 14px;border-radius:18px;background:#fff;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow);min-width:0}.league-table--empty{display:flex;flex-direction:column;gap:10px}.league-table-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;padding:0 6px}.league-feed{font-size:.72rem;font-weight:800;color:var(--ok);text-align:right}.league-table-head,.league-table-row{display:grid;grid-template-columns:44px 1fr 52px 34px 44px;gap:6px;align-items:center}.league-table-row--simple{grid-template-columns:44px 1fr 44px}.league-table-head{padding:4px 8px;font-size:.68rem;font-weight:900;color:var(--ink-faint, #a08b78);text-transform:uppercase;letter-spacing:.04em}.league-table-head .is-center{text-align:center}.league-table-head .is-right{text-align:right}.league-table-body{display:flex;flex-direction:column;gap:3px}.league-table-row{padding:8px;min-height:44px;border-radius:11px;background:transparent;border:1.5px solid transparent;box-sizing:border-box}.league-table-row.zone-up{background:#f3faf5}.league-table-row.zone-down{background:#fdf2ef}.league-table-row.is-me{background:linear-gradient(90deg,var(--orange-soft),#fff6ea);border-color:#e8842c73}.league-rank{display:inline-flex;align-items:center;gap:3px;font-weight:900;font-size:.82rem;color:var(--ink-soft, #6b5344);font-variant-numeric:tabular-nums}.league-table-row.zone-up .league-rank,.league-table-row.zone-up .league-pts{color:var(--ok-dark, #1d6b3c)}.league-table-row.zone-down .league-rank,.league-table-row.zone-down .league-pts{color:var(--danger)}.league-table-row.is-me .league-rank,.league-table-row.is-me .league-pts,.league-table-row.is-me .league-name{color:var(--accent, #c45f12)}.league-delta{font-size:.62rem;font-weight:900}.league-delta.is-up{color:var(--ok)}.league-delta.is-down{color:var(--danger)}.league-name{display:inline-flex;align-items:center;gap:6px;min-width:0;font-weight:800;font-size:.85rem;color:var(--ink, var(--text))}.league-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-npc-tag{flex-shrink:0;padding:1px 6px;border-radius:999px;background:#f3e3cc;color:#8a6f5c;font-size:.6rem;font-weight:900}.league-wdl{text-align:center;font-size:.78rem;font-weight:800;color:var(--ink-faint, #a08b78);font-variant-numeric:tabular-nums}.league-pts{text-align:right;font-weight:900;font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--ink-soft, #6b5344)}.league-xp{text-align:right;font-size:.8rem;font-weight:800;color:var(--ink-soft, #6b5344);font-variant-numeric:tabular-nums}.league-zone-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding:0 6px;font-size:.72rem;font-weight:800;color:var(--ink-faint, #a08b78)}.league-zone-legend>span{display:inline-flex;align-items:center;gap:5px}.league-zone-swatch{width:9px;height:9px;border-radius:3px}.league-zone-swatch.is-up{background:var(--ok-soft, #e7f6ec);border:1px solid rgba(47,158,90,.5)}.league-zone-swatch.is-down{background:#fdeeea;border:1px solid rgba(196,75,43,.5)}.league-hints{margin:10px 6px 0;font-size:.82rem;font-weight:800;color:var(--ok-dark, #1d6b3c);background:var(--ok-soft, #e7f6ec);padding:8px 12px;border-radius:10px;text-align:center}.league-safe-hint{color:#8a2e1a;background:#fdeeea}.league-bottom{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch;gap:14px}.league-personal,.league-pair,.league-history{align-self:stretch;box-sizing:border-box;padding:15px 18px;border-radius:18px;background:#fff;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow)}.league-personal .league-card-title,.league-pair .league-card-title,.league-history .league-card-title{margin-bottom:10px}.league-personal-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.league-personal-tile{text-align:center;padding:10px 6px;border-radius:12px;background:#fffaf2;border:1px solid rgba(232,212,188,.7)}.league-personal-tile.is-week{background:var(--orange-soft);border:none}.league-personal-tile.is-delta.is-up,.league-personal-tile.is-delta{background:var(--ok-soft, #e7f6ec);border:none}.league-personal-value{display:block;font-weight:900;font-size:1.15rem;color:var(--ink-soft, #6b5344);font-variant-numeric:tabular-nums}.league-personal-tile.is-week .league-personal-value{color:var(--accent, #c45f12)}.league-personal-tile.is-delta .league-personal-value{color:var(--ok-dark, #1d6b3c)}.league-personal-label{font-size:.7rem;font-weight:800;color:var(--ink-faint, #a08b78)}.league-personal-narrative{margin:10px 0 0;font-size:.8rem;font-weight:700;color:var(--ink-soft, #6b5344);text-wrap:pretty}.league-pair{background:linear-gradient(145deg,var(--orange-soft),#fff);border-color:#e8842c47}.league-pair-head{display:flex;align-items:center;gap:10px;margin-bottom:9px}.league-pair-head .league-card-title{margin:0;display:inline-flex;align-items:center;gap:6px}.league-pair-fox{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:linear-gradient(180deg,var(--orange-soft),var(--bg-cream));display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem}.league-pair-text{margin:0 0 8px;font-size:.85rem;font-weight:700;color:var(--ink-mid, #4a3728)}.league-pair-text strong{color:var(--blue)}.league-bar{height:8px;border-radius:999px;background:var(--bg-cream);overflow:hidden;margin-bottom:8px}.league-bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--orange-bright, #f0953f),var(--orange));animation:league-fill-in .9s .2s var(--ease) both;max-width:100%}.league-pair-hint{margin:0;font-size:.78rem;font-weight:800;color:var(--ink-faint, #a08b78)}.league-history .league-card-title{margin-bottom:8px}.league-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.league-history-row{display:grid;grid-template-columns:58px 1fr 40px 26px;gap:6px;align-items:center;padding:7px 8px;min-height:44px;border-radius:10px;background:#fffaf2;font-size:.82rem;font-weight:800}.league-history-week{font-size:.78rem;font-weight:800;color:var(--ink-faint, #a08b78)}.league-history-tier{font-size:.82rem;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-history-rank{font-size:.8rem;font-weight:900;color:var(--ink-soft, #6b5344);font-variant-numeric:tabular-nums}.league-history-out{text-align:center;font-size:.8rem;font-weight:900}.league-history-out.is-up{color:var(--ok)}.league-history-out.is-down{color:var(--danger)}.league-history-out.is-same{color:var(--ink-faint, #a08b78)}.league-actions{grid-column:1 / -1;display:flex;justify-content:center;margin-top:4px}.league-opt-btn{font-family:inherit;font-weight:800;font-size:.85rem;padding:10px 22px;min-height:44px;border:1.5px solid rgba(232,212,188,.95);border-radius:12px;background:transparent;color:var(--ink-faint, #a08b78);cursor:pointer;transition:background .15s var(--ease)}.league-opt-btn:hover:not(:disabled){background:#ffffffb3}.league-opt-btn:disabled{opacity:.6;cursor:default}@media(prefers-reduced-motion:reduce){.league-main,.league-pulse-dot,.league-points-fill,.league-bar-fill{animation:none!important}}.progress-ring{position:relative;display:inline-flex;flex-shrink:0}.progress-ring-svg{display:block;transform:rotate(-90deg)}.progress-ring-fill{transition:stroke-dashoffset .6s var(--ease)}.progress-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:800;font-size:.78rem;color:var(--text);font-variant-numeric:tabular-nums}.learn-path{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.learn-path-node{position:relative;display:flex;gap:14px;padding-bottom:18px}.learn-path-node:last-child{padding-bottom:0}.learn-path-node:not(:last-child):after{content:"";position:absolute;left:11px;top:28px;bottom:0;width:2px;background:var(--border)}.learn-path-node--done:not(:last-child):after{background:#2f9e5a73}.learn-path-node--active:not(:last-child):after{background:linear-gradient(180deg,var(--orange),var(--border))}.learn-path-marker{flex-shrink:0;width:24px;height:24px;margin-top:2px;border-radius:50%;border:2px solid var(--border);background:var(--bg-card);box-shadow:0 2px 8px #3d28170f}.learn-path-node--done .learn-path-marker{border-color:var(--ok);background:var(--ok);box-shadow:inset 0 0 0 3px #fff}.learn-path-node--done .learn-path-marker:after{content:"";display:block;width:100%;height:100%;background:center / 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M2 6l3 3 5-6'/%3E%3C/svg%3E")}.learn-path-node--active .learn-path-marker{border-color:var(--orange);background:var(--orange-soft);box-shadow:0 0 0 4px #e8842c2e}.learn-path-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;padding:2px 12px 12px;border-radius:var(--radius-sm);background:#ffffffb8;border:1px solid rgba(232,212,188,.9)}.learn-path-node--active .learn-path-body{border-color:#e8842c59;background:linear-gradient(145deg,#fff,var(--orange-soft));box-shadow:var(--shadow)}.learn-path-node--done .learn-path-body{opacity:.72}.learn-path-tap{display:flex;flex-direction:column;gap:2px;padding:0;border:0;background:none;text-align:left;cursor:pointer;font:inherit;color:inherit;width:100%}.learn-path-label{font-weight:800;font-size:.98rem;line-height:1.35;color:var(--text);overflow-wrap:anywhere;word-break:break-word}.learn-path-meta{font-size:.82rem;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums}.learn-path-action{display:flex}.learn-path-start{align-self:flex-start}.route-page{display:flex;flex-direction:column;gap:16px}.route-page--loading{padding-top:8px;gap:12px}.route-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.route-title{margin:0;font-size:clamp(1.65rem,5.5vw,2rem);font-weight:800;letter-spacing:-.035em;line-height:1.12;color:var(--text)}.route-days-chip{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.82rem;font-weight:800;white-space:nowrap}.route-fox-bubble{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius);background:linear-gradient(135deg,var(--orange-soft),#fff 55%);border:1px solid rgba(232,132,44,.28);box-shadow:var(--shadow)}.route-fox-avatar{flex-shrink:0;font-size:1.75rem;line-height:1}.route-fox-body{min-width:0}.route-fox-phase{margin:0 0 4px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--orange-hover)}.route-fox-text{margin:0;font-size:.98rem;font-weight:600;line-height:1.45;color:var(--text)}.route-active-session .active-session-card{margin-bottom:0;border-width:2px;border-color:var(--orange);box-shadow:0 8px 24px #e8842c2e}.route-goal-card{padding:16px;border-radius:var(--radius);background:#ffffffdb;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow)}.route-goal-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-bottom:14px}.route-goal-stat{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.route-goal-stat--target .route-goal-value{color:var(--blue)}.route-goal-value{font-size:2rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--orange)}.route-goal-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.route-goal-arrow{font-size:1.25rem;font-weight:800;color:var(--text-muted)}.route-goal-scale-track{position:relative;height:12px;border-radius:999px;background:var(--bg-cream);overflow:visible}.route-goal-scale-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--orange),#f0a85a);transition:width .8s var(--ease);min-width:0}.route-goal-scale-target{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1.5px;border-radius:2px;background:var(--blue);box-shadow:0 0 0 2px #fff8ece6}.route-goal-gap{margin:10px 0 0;font-size:.9rem;font-weight:700;color:var(--text-muted);text-align:center}.route-goal-gap strong{color:var(--accent)}.route-cta{font-size:1.05rem;padding-block:16px}.route-section-title{margin:0 0 12px;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.route-section-meta{font-size:.85rem;font-weight:800;color:var(--text-muted)}.route-empty{margin:0;padding:14px 16px;border-radius:var(--radius-sm);background:#ffffffb8;border:1px dashed var(--border);color:var(--text-muted);font-weight:600;font-size:.95rem}.route-codifier{border-radius:var(--radius);background:#ffffffdb;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow);overflow:hidden}.route-codifier-toggle{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit}.route-codifier-ring-value{font-size:.72rem;font-weight:800;color:var(--blue)}.route-codifier-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.route-codifier-title{font-weight:800;font-size:1rem;color:var(--text)}.route-codifier-meta{font-size:.85rem;font-weight:700;color:var(--text-muted)}.route-codifier-chevron{flex-shrink:0;font-size:.72rem;color:var(--text-muted)}.route-topic-list{list-style:none;margin:0;padding:0 12px 12px;display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(232,212,188,.65)}.route-topic-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);background:#fff8ec8c}.route-topic-ring-value{font-size:.62rem;font-weight:800;color:var(--text-muted)}.route-topic-body{min-width:0;display:flex;flex-direction:column;gap:2px}.route-topic-label{font-weight:800;font-size:.92rem;line-height:1.3}.route-topic-meta{font-size:.8rem;font-weight:700;color:var(--text-muted)}.route-diagnose{margin-top:4px}.theory-page{display:flex;flex-direction:column;gap:16px}.theory-page-lead{margin:0;color:var(--text-muted);font-weight:600;font-size:1.02rem;max-width:36ch}.theory-summary-card{display:flex;align-items:center;gap:16px;padding:16px;border-radius:var(--radius);background:linear-gradient(120deg,var(--blue-soft),#fff 60%);border:1px solid rgba(46,109,181,.2);box-shadow:var(--shadow)}.theory-summary-ring-value{font-size:.95rem;font-weight:800;color:var(--blue)}.theory-summary-body{min-width:0}.theory-summary-title{margin:0 0 4px;font-weight:800;font-size:1.05rem;letter-spacing:-.02em}.theory-summary-meta{margin:0;font-size:.9rem;font-weight:700;color:var(--text-muted)}.theory-page .theory-topic-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.theory-page .theory-topic-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-sm);background:#ffffffe0;border:1px solid rgba(232,212,188,.95);text-decoration:none;color:inherit;transition:border-color .15s var(--ease),transform .15s var(--ease)}.theory-page .theory-topic-row:hover{text-decoration:none;border-color:#e8842c73;transform:translateY(-1px)}.theory-topic-ring-value{font-size:.68rem;font-weight:800;color:var(--text-muted)}.theory-page .theory-topic-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.theory-page .theory-topic-label{font-weight:800;font-size:.98rem;line-height:1.3}.theory-page .theory-topic-meta{font-size:.82rem;font-weight:700;color:var(--text-muted)}.theory-page .theory-topic-arrow{flex-shrink:0;font-weight:800;color:var(--orange)}.theory-topic-page{display:flex;flex-direction:column;gap:16px}.theory-topic-progress-card{display:flex;align-items:center;gap:16px;padding:16px;border-radius:var(--radius);background:linear-gradient(145deg,#fff,var(--orange-soft));border:1px solid rgba(232,132,44,.28);box-shadow:var(--shadow)}.theory-topic-ring-value{font-size:.88rem;font-weight:800;color:var(--orange-hover)}.theory-topic-progress-body{min-width:0}.theory-topic-progress-title{margin:0 0 4px;font-weight:800;font-size:1.08rem;letter-spacing:-.02em}.theory-topic-progress-meta{margin:0;font-size:.9rem;font-weight:700;color:var(--text-muted)}.theory-topic-actions{display:flex;flex-direction:column;gap:10px}.theory-topic-hint{margin:0;color:var(--text-muted);font-size:.95rem;font-weight:600}.theory-topic-section{margin-top:4px}.theory-topic-section-title{margin:0 0 10px;font-size:1rem;font-weight:800;color:var(--brown)}.theory-back-link{margin-top:4px}.theory-read-page,.theory-elem-page{max-width:42rem;display:flex;flex-direction:column;gap:0}.theory-read-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(232,212,188,.65)}.theory-read-progress{display:flex;align-items:center;gap:12px}.theory-read-progress-track{flex:1;height:8px;border-radius:999px;background:var(--bg-cream);overflow:hidden}.theory-read-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--orange),#f0a45a);transition:width .3s var(--ease)}.theory-read-progress-label{font-size:.85rem;font-weight:800;color:var(--text-muted);min-width:3.2rem;text-align:right;font-variant-numeric:tabular-nums}.theory-check-dashed{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:14px;padding:12px 16px;border:2px dashed rgba(46,109,181,.45);border-radius:var(--radius-sm);background:#e8f1fb73;color:var(--blue);font-weight:800;font-size:.95rem;cursor:pointer;transition:background .15s,border-color .15s}.theory-check-dashed:hover{background:var(--blue-soft);border-color:var(--blue)}.theory-read-nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.theory-read-nav .btn{min-width:7.5rem}.theory-read-footer{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:.92rem;font-weight:700}.theory-elem-header{margin-bottom:14px}.theory-elem-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}@media(prefers-reduced-motion:reduce){.progress-ring-fill,.route-goal-scale-fill,.theory-read-progress-fill{transition:none}}.train-session-page{display:flex;flex-direction:column;gap:0;min-height:min(100dvh,100%);margin:-4px -2px 0}.train-session-page.is-feedback-ok{background-image:radial-gradient(ellipse 70% 40% at 100% 100%,rgba(231,246,236,.55),transparent 55%)}.train-session-page.is-feedback-bad{background-image:radial-gradient(ellipse 70% 40% at 100% 100%,rgba(255,229,224,.5),transparent 55%)}.train-session-chrome{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;gap:0;margin:0 0 4px;padding:12px 16px 10px;background:#fff8ece6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(232,212,188,.6)}.train-session-chrome-row{display:flex;align-items:center;gap:12px}.train-session-exit,.train-session-exit-spacer{flex-shrink:0;width:44px;height:44px;min-width:44px;min-height:44px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid rgba(232,212,188,.95);background:#fff;color:var(--ink-soft, #6b5344);font-size:.95rem;font-weight:800;line-height:1;text-decoration:none;cursor:pointer;transition:border-color .15s,color .15s,background .15s;box-sizing:border-box}.train-session-exit:hover{text-decoration:none;color:var(--orange);border-color:#e8842c73;background:var(--orange-soft)}.train-session-bar-track{flex:1;height:10px;min-height:10px;border-radius:999px;background:var(--bg-cream, #ffe8be);overflow:hidden;min-width:0}.train-session-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#f0953f,#e8842c);transition:width .35s var(--ease, cubic-bezier(.22, 1, .36, 1));min-width:0}.train-session-bar--blue{background:linear-gradient(90deg,var(--blue),#5a9ad4)}.train-session-bar--ok{background:linear-gradient(90deg,#4cb571,#2f9e5a)}.train-session-count{flex-shrink:0;font-size:.82rem;font-weight:900;color:var(--ink-soft, #6b5344);font-variant-numeric:tabular-nums;min-width:2.2em;text-align:right}.train-session-count-den{color:#c9b299;font-weight:900}.train-session-right{flex-shrink:0;display:flex;align-items:center;gap:8px}.train-lives-inline{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;font-weight:900;color:#c44b2b;font-variant-numeric:tabular-nums}.train-lives-inline .train-lives-icon{width:14px;height:14px;color:#c44b2b}.train-session-context{display:flex;gap:6px;margin-top:10px;overflow:hidden;flex-wrap:nowrap}.train-chip{display:inline-flex;align-items:center;max-width:100%;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap;line-height:1.3}.train-chip--topic{background:#e8f1fb;color:#2e6db5;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}.train-chip--task{background:#fff0e0;color:#c45f12;flex-shrink:0}.train-chip--ok{background:#e7f6ec;color:#1d6b3c;flex-shrink:0}.train-context-task{display:inline-flex;align-items:center;min-height:28px;padding:2px 10px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.78rem;font-weight:800}.train-context-meta{font-size:.82rem;font-weight:700;color:var(--text-muted)}.train-session-stop{margin:0;min-width:44px;min-height:44px;padding:0 14px;border:1.5px solid var(--border, rgba(232, 212, 188, .95));border-radius:14px;background:#fff;color:var(--ink-soft, #6b5344);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;text-decoration:none;box-sizing:border-box;transition:border-color .15s,color .15s,background .15s,transform .15s}.train-session-stop:hover:not(:disabled){color:var(--orange-hover, #c45f12);border-color:#e8842c73;background:var(--orange-soft, #fff0e0)}.train-session-stop:disabled{opacity:.5;cursor:not-allowed}.train-lives-chip,.train-ai-chip,.train-timer-pill{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:4px 10px;border-radius:999px;background:#ffffffe0;border:1px solid rgba(232,212,188,.95);font-size:.88rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.train-lives-icon,.train-ai-chip-icon{width:18px;height:18px;color:var(--orange)}.train-ai-chip-icon{color:var(--blue)}.train-timer-pill{background:var(--blue-soft);border-color:#2e6db538;color:var(--blue)}.train-streak-pill{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:2px 10px;border-radius:999px;background:var(--orange-soft);color:var(--orange-hover);font-size:.78rem;font-weight:800}.train-option.is-selected:not(.is-correct):not(.is-wrong){border-color:#e8842c;background:#fff}.train-option.is-selected .train-option-letter{background:#e8842c;color:#fff}.train-option.is-correct .train-option-letter{background:#2f9e5a;color:#fff}.train-option.is-wrong .train-option-letter{background:#c44b2b;color:#fff}.train-feedback-plate{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--radius);background:#ffffffeb;border:1.5px solid rgba(232,212,188,.95);box-shadow:var(--shadow)}.train-feedback-plate.is-ok{border-color:#2f9e5a59;background:linear-gradient(145deg,#fff,#e8f7ee)}.train-feedback-plate.is-bad{border-color:#c44b2b47;background:linear-gradient(145deg,#fff,#fdeceb)}.train-feedback-plate.is-neutral{border-color:var(--border, rgba(232, 212, 188, .95));background:#fff}.fox-free-unchecked{color:var(--ink-soft, #6b5344);font-weight:700}.train-feedback-next{margin-top:4px}.train-session-main{display:flex;flex-direction:column;gap:12px;padding:18px 16px 20px;flex:1}.train-session-feedback{padding-bottom:0;animation:rise-in .35s cubic-bezier(.22,1,.36,1) both}.train-mode-badge{display:flex;align-items:center;gap:8px}.train-mode-badge-icon{width:26px;height:26px;border-radius:8px;background:#fff0e0;display:grid;place-items:center;font-size:.88rem;flex-shrink:0}.train-mode-badge-label{font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#c45f12}.train-question-card.train-task-card,.train-task-card.train-question-card{background:#fff;border:1px solid rgba(232,212,188,.95);border-radius:20px;padding:18px;box-shadow:0 8px 28px #3d281712}.train-question-card .train-question-text,.train-question-card .question-stem-intro{margin:0;font-size:1.1rem;font-weight:800;letter-spacing:-.01em;line-height:1.45;text-wrap:pretty;color:var(--ink, #2c1810)}.train-tap-hint{margin:4px 0 0;text-align:center;font-size:.78rem;font-weight:700;color:#a08b78}.train-fox-feedback{display:flex;align-items:center;gap:12px;border-radius:18px;padding:12px 14px;animation:pop .4s cubic-bezier(.22,1,.36,1) both}.train-fox-feedback.is-ok{background:#e7f6ec;border:1px solid rgba(47,158,90,.25)}.train-fox-feedback.is-bad{background:#ffefec;border:1px solid rgba(196,75,43,.25)}.train-fox-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(180deg,#fff0e0,#ffe8be);display:grid;place-items:center;font-size:1.5rem;flex-shrink:0}.train-fox-feedback-body{flex:1;min-width:0}.train-fox-feedback-title{font-size:1rem;font-weight:900;line-height:1.3}.train-fox-feedback.is-ok .train-fox-feedback-title{color:#1d6b3c}.train-fox-feedback.is-bad .train-fox-feedback-title{color:#b03e20}.train-fox-xp{color:#2f9e5a}.train-fox-life-chip{display:inline-block;margin-left:4px;font-size:.82rem;font-weight:800;color:#c44b2b}.train-fox-feedback-line{margin:2px 0 0;font-size:.82rem;font-weight:700;color:#4a3728;line-height:1.35}.train-why-card{background:#fff;border:1px solid rgba(232,212,188,.95);border-radius:16px;padding:14px 16px;animation:rise-in .4s cubic-bezier(.22,1,.36,1) .12s both}.train-why-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.train-why-icon{width:24px;height:24px;border-radius:8px;background:#e8f1fb;display:grid;place-items:center;font-size:.75rem;flex-shrink:0}.train-why-kicker{font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#2e6db5}.train-why-text{margin:0;font-size:.88rem;font-weight:600;color:#4a3728;line-height:1.5;text-wrap:pretty}.train-why-theory{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:.82rem;font-weight:800;color:#2e6db5;text-decoration:none}.train-why-theory:hover{color:#c45f12;text-decoration:underline}.train-sticky-cta{position:sticky;bottom:0;margin-top:auto;padding:12px 0 18px;background:linear-gradient(180deg,transparent,#fff8ec 40%);z-index:10}.train-cta-next{width:100%;min-height:54px;border:none;border-radius:16px;color:#fff;font-family:inherit;font-size:1.03rem;font-weight:900;cursor:pointer;transition:transform .15s}.train-cta-next.is-ok{background:linear-gradient(180deg,#4cb571,#2f9e5a);box-shadow:0 8px 22px #2f9e5a59}.train-cta-next.is-bad{background:linear-gradient(180deg,#f0953f,#e8842c);box-shadow:0 8px 22px #e8842c5c}.train-cta-next:hover{transform:translateY(-1px)}.train-exit-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-end;justify-content:center}.train-exit-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;margin:0;background:#2c181059;cursor:pointer}.train-exit-sheet-panel{position:relative;width:min(100%,560px);padding:22px 20px calc(18px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;background:#fff8ec;border:1px solid rgba(232,212,188,.95);box-shadow:0 -12px 40px #3d28172e;display:flex;flex-direction:column;gap:10px;animation:rise-in .3s cubic-bezier(.22,1,.36,1) both}.train-exit-sheet-title{margin:0;font-size:1.15rem;font-weight:900;color:var(--ink, #2c1810)}.train-exit-sheet-text{margin:0 0 6px;font-size:.9rem;font-weight:600;color:var(--ink-mid, #4a3728);line-height:1.45}@media(prefers-reduced-motion:reduce){.train-fox-feedback,.train-why-card,.train-session-feedback,.train-exit-sheet-panel{animation:none!important}.train-option,.train-cta-next{transition:none!important}}.train-result-party{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:8px 4px 16px;animation:rise-in .45s var(--ease) both}.train-result-fox{font-size:3.5rem;line-height:1;animation:train-fox-pop .5s var(--ease) both}@keyframes train-fox-pop{0%{opacity:0;transform:scale(.6) translateY(8px)}70%{transform:scale(1.08) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.train-result-title{margin:0;font-size:clamp(1.75rem,5.5vw,2.1rem);font-weight:800;letter-spacing:-.035em;line-height:1.15}.train-result-sub{margin:0;color:var(--text-muted);font-weight:600;font-size:1.02rem;max-width:none}.train-result-note{margin:0;color:var(--text-muted);font-weight:600;font-size:.95rem}.train-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:360px;margin:8px 0 4px}.train-result-stat{padding:14px 10px;border-radius:var(--radius-sm);background:#ffffffe0;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow)}.train-result-stat-value{display:block;font-size:1.35rem;font-weight:800;color:var(--orange);letter-spacing:-.02em}.train-result-stat-label{display:block;margin-top:4px;font-size:.68rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.xp-float{position:fixed;top:28%;left:50%;transform:translate(-50%);z-index:50;padding:12px 22px;border-radius:999px;background:var(--orange);color:#fff;font-weight:800;font-size:1.15rem;box-shadow:0 8px 28px #e8842c73;animation:xp-pop 1.1s ease forwards;pointer-events:none}.xp-float.fox-level-up{top:36%;background:var(--blue, #2e6db5);box-shadow:0 8px 28px #2e6db566}.train-chat-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.train-chat-row.is-user{flex-direction:row-reverse}.train-chat-avatar{flex-shrink:0;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--orange-soft),#fff);border:1px solid rgba(232,132,44,.28);font-size:1.65rem;line-height:1;box-shadow:var(--shadow)}.train-chat-bubble{flex:1;min-width:0;padding:12px 14px;border-radius:var(--radius-sm);background:#ffffffeb;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow)}.train-chat-bubble.is-user{background:var(--blue-soft);border-color:#2e6db538}.train-chat-text{margin:0;font-weight:600;line-height:1.45;white-space:pre-wrap;color:var(--text)}.train-composer{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius);background:#ffffffe0;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow)}.train-composer-input{width:100%;min-height:120px;resize:vertical;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text);font-size:1rem;font-weight:600;font-family:inherit;line-height:1.45;outline:none}.train-composer-input:focus{border-color:var(--orange);box-shadow:0 0 0 4px #e8842c29}.train-composer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.train-task-card{padding:16px 18px;border-radius:var(--radius);background:linear-gradient(145deg,#fff,var(--orange-soft));border:1.5px solid rgba(232,132,44,.32);box-shadow:var(--shadow)}.train-task-card.train-question-card{background:#fff;border:1px solid rgba(232,212,188,.95);border-radius:20px;box-shadow:0 8px 28px #3d281712}.fox-reinforce-kicker{margin:0 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-hover, #c45f12);text-wrap:balance}.fox-question-topic-badge{margin:0 0 10px;font-size:.82rem;font-weight:700;color:var(--ink-soft, #5c4a3a);opacity:.9}.fox-result-next-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.route-fox-next{margin:20px 0 8px}.route-fox-next-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:10px}.route-fox-next-list li{margin:0;padding:0}.route-fox-next-link{display:flex;align-items:center;gap:12px;padding:11px 13px;background:#fffaf2;border:1px solid rgba(232,212,188,.7);border-radius:14px;text-decoration:none;color:inherit;min-height:44px;transition:background .15s ease}.route-fox-next-link:active{background:#e8d4bc59}.route-fox-next-icon{flex-shrink:0;width:36px;height:36px;border-radius:10px;background:var(--orange-soft, #fff0e0);display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem}.route-fox-next-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.route-fox-next-list strong{text-wrap:balance;font-weight:800;font-size:.9rem;line-height:1.3;overflow-wrap:anywhere;word-break:break-word}.route-fox-next-meta{font-size:.75rem;font-weight:700;color:var(--ink-faint, #a08b78)}.route-fox-next-reason{font-size:.8rem;font-weight:600;color:var(--ink-soft, #6b5344);line-height:1.35}.route-fox-next-cta{flex-shrink:0;font-size:.78rem;font-weight:800;color:var(--orange-hover, #c45f12);white-space:nowrap}.route-fox-next-chip{align-self:flex-start;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:800;color:var(--orange-hover, #c45f12);background:var(--orange-soft, #fff0e0);background:var(--bg-cream, #ffe8be)}.route-fox-next-fallback{margin:0 0 12px;font-size:.92rem;font-weight:600;color:var(--ink-mid, #4a3728);text-wrap:balance}.home-plan-topics{display:block;margin-top:6px;font-size:.78rem;font-weight:700;color:var(--ink-soft, #6b5344);line-height:1.35}.fox-self-q{margin:0 0 8px;font-size:.95rem;opacity:.92}.fox-theory-card{display:flex;flex-direction:column;min-height:0}.fox-theory-body{max-height:min(58dvh,520px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;margin:0 -4px;padding:0 4px 4px}.fox-theory-text{margin:0;font-size:clamp(.98rem,3.2vw,1.08rem);font-weight:600;line-height:1.55;white-space:pre-wrap;letter-spacing:-.01em;color:var(--text)}.fox-theory-dots{display:flex;gap:8px;justify-content:center;margin:0 0 12px}.fox-theory-dot{width:8px;height:8px;border-radius:50%;background:#2e6db538}.fox-theory-dot.is-active{background:var(--orange-bright, #e8842c);transform:scale(1.15)}@media(prefers-reduced-motion:reduce){.fox-theory-dot.is-active{transform:none}}.fox-avatar{width:52px;height:52px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fff0e0,#ffe8be);box-shadow:var(--shadow);overflow:hidden}.fox-avatar img{width:36px;height:36px;object-fit:contain}.fox-briefing{width:100%;max-width:480px;margin:0 auto;padding:8px 2px 16px;text-align:center;display:flex;flex-direction:column;justify-content:flex-start;gap:14px;box-sizing:border-box;animation:rise-in .45s var(--ease) both}.fox-briefing-chat{display:flex;align-items:flex-end;gap:12px;width:100%;text-align:left}.fox-briefing-mascot{flex-shrink:0;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fff0e0,#ffe8be);box-shadow:0 8px 22px #3d28171a;overflow:hidden;animation:float-y 3s var(--ease) infinite}.fox-briefing-mascot img{width:40px;height:40px;object-fit:contain}.fox-briefing-bubble{flex:1;min-width:0;margin:0;padding:14px 16px;border-radius:18px 18px 18px 6px;background:#fff;border:1px solid var(--border, #e8d4bc);box-shadow:var(--shadow);font-size:.98rem;font-weight:800;color:var(--ink, var(--text));text-wrap:balance;line-height:1.35}.fox-briefing-title{margin:0;font-size:1.45rem;font-weight:900;letter-spacing:-.03em;color:var(--ink, var(--text));text-wrap:balance;line-height:1.2}.fox-briefing-lesson{width:100%;padding:18px 18px 16px;border-radius:20px;background:linear-gradient(150deg,#fff 0%,var(--orange-soft, #fff0e0) 100%);border:1px solid rgba(232,132,44,.28);box-shadow:0 10px 32px #3d28171a;text-align:left;box-sizing:border-box;animation:rise-in .4s var(--ease) both;animation-delay:.12s}.fox-briefing-lesson-top{display:flex;align-items:flex-start;gap:14px}.fox-briefing-icon{flex-shrink:0;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:1.55rem;line-height:1;background:#fff;border:1px solid rgba(232,132,44,.22);box-shadow:0 4px 14px #3d28170f}.fox-briefing-lesson-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.fox-briefing-kicker{display:block;margin:0;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent, #c45f12);line-height:1.3}.fox-briefing-step-title{margin:0;font-size:1.28rem;font-weight:900;letter-spacing:-.02em;color:var(--ink, var(--text));line-height:1.25;text-wrap:balance}.fox-briefing-topic-hint{margin:0;font-size:.84rem;font-weight:700;color:var(--ink-soft, var(--text-muted));line-height:1.35}.fox-briefing-focus{display:block;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.fox-briefing-goal-row{margin-top:14px;padding-top:12px;border-top:1px solid rgba(232,132,44,.18);display:flex;flex-direction:column;gap:8px}.fox-briefing-dots{display:flex;gap:8px;align-items:center}.fox-briefing-dot{width:14px;height:14px;border-radius:50%;background:var(--bg-cream, #ffe8be);border:1.5px solid rgba(232,132,44,.28);box-sizing:border-box}.fox-briefing-dot.is-done{background:linear-gradient(180deg,#f0953f,var(--orange, #e8842c));border-color:transparent;animation:pop .4s var(--ease) both}.fox-briefing-bar{height:8px;border-radius:999px;background:var(--bg-cream, #ffe8be);overflow:hidden}.fox-briefing-bar-fill{display:block;height:100%;width:var(--fox-brief-pct, 0%);border-radius:inherit;background:linear-gradient(90deg,#f0953f,var(--orange, #e8842c));transition:width .9s var(--ease)}.fox-briefing-goal-line{margin:0;font-size:.92rem;font-weight:800;color:var(--ink-mid, #4a3728);line-height:1.35}.fox-briefing-done-chip{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:11px 14px;border-radius:999px;background:var(--ok-soft, #e7f6ec);border:1px solid rgba(47,158,90,.2);box-sizing:border-box;text-align:left;font-size:.88rem;font-weight:700;color:var(--ok-dark, #1d6b3c);line-height:1.3;animation:rise-in .4s var(--ease) both;animation-delay:.24s}.fox-briefing-done-chip strong{font-weight:800}.fox-briefing-check{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--ok, #2f9e5a);color:#fff}.fox-briefing .btn-primary{margin-top:2px;min-height:52px;font-size:1.05rem;animation:rise-in .4s var(--ease) both;animation-delay:.36s}.fox-briefing-home{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0 auto;padding:8px 12px;font-size:.92rem;font-weight:800;color:var(--ink-soft, var(--text-muted));text-decoration:none}.fox-briefing-home:hover{color:var(--ink, var(--text));text-decoration:underline}.fox-briefing-home:focus-visible,.fox-briefing .btn-primary:focus-visible{outline:2px solid var(--orange, #e8842c);outline-offset:3px}@media(prefers-reduced-motion:reduce){.fox-briefing,.fox-briefing-mascot,.fox-briefing-lesson,.fox-briefing-done-chip,.fox-briefing-dot.is-done,.fox-briefing .btn-primary{animation:none!important}.fox-briefing-bar-fill{transition:none}}.fox-result{display:flex;flex-direction:column;gap:14px;max-width:560px;margin:0 auto;padding:8px 0 24px;text-align:left}.fox-result-hero{text-align:center;padding-top:4px;animation:rise-in .45s var(--ease) both}.fox-result-mascot-wrap{position:relative;width:96px;margin:0 auto}.fox-result-mascot{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;font-size:52px;line-height:1;background:linear-gradient(180deg,#fff0e0,#ffe8be);box-shadow:0 10px 32px #3d28171a;animation:float-y 3s var(--ease) infinite}.fox-result-spark{position:absolute;font-size:18px;opacity:.75;animation:float-y 3s ease-in-out infinite;pointer-events:none}.fox-result-spark--l{top:-6px;left:-26px}.fox-result-spark--r{top:2px;right:-28px;font-size:15px;opacity:.7;animation-delay:.8s}.fox-result-title{margin:12px 0 8px;font-size:1.75rem;font-weight:900;letter-spacing:-.03em;line-height:1.15;text-wrap:balance;color:var(--ink, #2c1810)}.fox-result-bubble{display:inline-block;max-width:100%;background:#fff;border:1px solid var(--border, rgba(232, 212, 188, .95));border-radius:16px 16px 16px 4px;padding:10px 16px;font-size:.95rem;font-weight:700;color:var(--ink-mid, #4a3728);box-shadow:var(--shadow, 0 8px 28px rgba(61, 40, 23, .08));text-wrap:balance}.fox-result-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.fox-result-stat{background:#fff;border:1px solid var(--border, rgba(232, 212, 188, .95));border-radius:18px;padding:14px 8px;text-align:center;box-shadow:var(--shadow, 0 8px 28px rgba(61, 40, 23, .08));animation:pop .5s var(--ease) both}.fox-result-stat:nth-child(1){animation-delay:.4s}.fox-result-stat:nth-child(2){animation-delay:.55s}.fox-result-stat:nth-child(3){animation-delay:.7s}.fox-result-stat-kicker{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.fox-result-stat--xp .fox-result-stat-kicker,.fox-result-stat--xp .fox-result-stat-value{color:var(--blue, #2e6db5)}.fox-result-stat--acc .fox-result-stat-kicker,.fox-result-stat--streak .fox-result-stat-kicker{color:var(--orange-hover, #c45f12)}.fox-result-stat--acc .fox-result-stat-value,.fox-result-stat--streak .fox-result-stat-value{color:var(--orange, #e8842c)}.fox-result-stat-value{font-size:1.9rem;font-weight:900;line-height:1.2;letter-spacing:-.02em}.fox-result-stat-fire{font-size:1.1rem}.fox-result-stat-meta{font-size:.75rem;font-weight:700;color:var(--ink-faint, #a08b78)}.fox-result-topic{background:linear-gradient(150deg,#fff,var(--orange-soft, #fff0e0));border:1px solid var(--border-accent, rgba(232, 132, 44, .28));border-radius:20px;padding:18px;box-shadow:var(--shadow, 0 8px 28px rgba(61, 40, 23, .08));animation:rise-in .45s .8s var(--ease) both}.fox-result-topic-kicker{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--orange-hover, #c45f12);margin-bottom:4px}.fox-result-topic-name{font-size:1.02rem;font-weight:900;letter-spacing:-.01em;margin-bottom:12px;text-wrap:balance;color:var(--ink, #2c1810)}.fox-result-mastery-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:.88rem;font-weight:700;color:var(--ink-soft, #6b5344)}.fox-result-mastery-row span:last-child{font-weight:900;color:var(--ink, #2c1810)}.fox-result-delta{color:var(--ok, #2f9e5a);font-style:normal;font-weight:900}.fox-result-bar{height:8px;border-radius:999px;background:var(--bg-cream, #ffe8be);overflow:hidden;margin-bottom:14px}.fox-result-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--orange-bright, #f0953f),var(--orange, #e8842c));width:var(--fox-bar-to, 0%);animation:fox-result-bar-grow .9s 1.2s var(--ease) both}@keyframes fox-result-bar-grow{0%{width:var(--fox-bar-from, 0%)}to{width:var(--fox-bar-to, 100%)}}.fox-result-gain,.fox-result-credited{display:flex;align-items:center;gap:10px;background:var(--ok-soft, #e7f6ec);border-radius:14px;padding:12px 14px;margin-bottom:14px;font-size:.9rem;font-weight:800;color:var(--ok-dark, #1d6b3c)}.fox-result-credited{margin-bottom:0}.fox-result-gain-check{width:26px;height:26px;border-radius:50%;background:var(--ok, #2f9e5a);color:#fff;display:grid;place-items:center;font-weight:900;font-size:13px;flex-shrink:0}.fox-result-subtopic,.fox-result-open-score,.fox-result-plan-card{background:#fff;border:1px solid var(--border, rgba(232, 212, 188, .95));border-radius:14px;padding:12px 14px;margin-bottom:10px}.fox-result-plan-card{border-radius:18px;padding:14px 16px;margin-bottom:0;box-shadow:var(--shadow, 0 8px 28px rgba(61, 40, 23, .08))}.fox-result-subtopic-title{font-size:.88rem;font-weight:800;margin-bottom:8px;color:var(--ink, #2c1810)}.fox-result-pills{display:grid;gap:5px;margin-bottom:8px}.fox-result-pill{height:7px;border-radius:999px;background:var(--bg-cream, #ffe8be)}.fox-result-pill.is-on{background:linear-gradient(90deg,var(--orange-bright, #f0953f),var(--orange, #e8842c))}.fox-result-pill.is-plan{background:var(--bg-cream-deep, #f3e3cc)}.fox-result-subtopic-goal{font-size:.82rem;font-weight:700;color:var(--ink-soft, #6b5344)}.fox-result-open-next{display:flex;align-items:center;gap:10px;padding:10px 4px 0;font-size:.85rem;font-weight:700;color:var(--ink-mid, #4a3728)}.fox-result-open-icon{width:34px;height:34px;border-radius:10px;background:var(--blue-soft, #e8f1fb);display:grid;place-items:center;font-size:15px;flex-shrink:0}.fox-result-open-score-row,.fox-result-plan-row{display:flex;justify-content:space-between;gap:10px;font-size:.88rem;font-weight:800;margin-bottom:4px;color:var(--ink, #2c1810)}.fox-result-open-score-num,.fox-result-plan-count{color:var(--orange, #e8842c)}.fox-result-plan-row{margin-bottom:8px}.fox-result-repeat{background:#fff;border:1px solid var(--border, rgba(232, 212, 188, .95));border-radius:20px;padding:18px;box-shadow:var(--shadow, 0 8px 28px rgba(61, 40, 23, .08));animation:rise-in .45s 1.2s var(--ease) both}.fox-result-repeat-title{font-size:1.02rem;font-weight:900;letter-spacing:-.01em;margin-bottom:10px;color:var(--ink, #2c1810)}.fox-result-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.fox-result-chip{background:var(--orange-soft, #fff0e0);color:var(--orange-hover, #c45f12);border-radius:999px;padding:7px 13px;font-size:.82rem;font-weight:800}.fox-result-repeat-human{font-size:.85rem;font-weight:700;color:var(--ink-soft, #6b5344)}.fox-result-repeat-why{margin-top:6px;font-size:.78rem;font-weight:700;color:var(--ink-faint, #a08b78)}.fox-result-share{animation:rise-in .45s 1.4s var(--ease) both}.fox-result-share .session-share-prompt,.fox-result-share .paywall-box{margin:0}.fox-result-plan{display:flex;flex-direction:column;gap:14px;animation:rise-in .45s 1.4s var(--ease) both}.fox-result-chest{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;background:linear-gradient(150deg,#2c1810,#4a3020);border-radius:20px;padding:18px;color:#fff;box-shadow:0 12px 36px #2c181059}.fox-result-chest:after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:#e8842c40;pointer-events:none}.fox-result-chest-icon{font-size:34px;line-height:1;position:relative;z-index:1}.fox-result-chest-title{font-size:1.02rem;font-weight:900;position:relative;z-index:1}.fox-result-chest-sub{font-size:.88rem;font-weight:700;color:#fff0e0bf;position:relative;z-index:1}.fox-result-cta{min-height:52px}.fox-result-lives-nudge{margin:0;text-align:center;font-size:.82rem;font-weight:700;color:var(--ink-soft, #6b5344)}.fox-result-lives-num{color:var(--danger, #c44b2b);font-weight:900}.fox-result-lives-nudge a{font-weight:800;color:var(--blue, #2e6db5)}.fox-analysis{margin:0 0 16px;padding:14px 16px;border-radius:var(--radius);background:#ffffffe6;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow);text-align:left}.fox-analysis-verdict{margin:0 0 8px;font-size:1rem;font-weight:900;color:var(--text)}.fox-analysis-line{margin:0 0 6px;font-size:.88rem;font-weight:600;color:var(--text-muted);line-height:1.4}.fox-analysis-mastery{margin:8px 0 0;font-size:.95rem;font-weight:800;color:var(--orange)}.fox-premium-nudge{display:block;margin-top:4px;text-align:center;font-size:.82rem;font-weight:700;color:var(--text-muted);text-decoration:none}.fox-premium-nudge:hover{color:var(--orange);text-decoration:underline}.question-stem{margin-bottom:14px}.question-stem-intro{margin:0 0 12px;font-size:clamp(.98rem,3.2vw,1.08rem);font-weight:700;line-height:1.45;white-space:pre-wrap;color:var(--text);text-wrap:balance}.question-stem-block{margin:0 0 12px;padding:10px 12px;border-radius:14px;background:#fff8ecbf;border:1px solid rgba(232,212,188,.85)}.question-stem-block-title{margin:0 0 6px;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}.question-stem-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}.question-stem-list li{font-size:.92rem;font-weight:600;line-height:1.4;color:var(--text)}.question-stem-footer{margin:4px 0 0;font-size:.9rem;font-weight:700;color:var(--text-muted);white-space:pre-wrap}.home-plan-done-badge{margin:0 0 10px;padding:10px 12px;border-radius:14px;background:var(--ok-soft, #e7f6ec);color:var(--ok-dark, #1d6b3c);font-size:.88rem;font-weight:800;text-align:center}.home-plan-chest{margin:0 0 12px;padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#fff 0%,var(--orange-soft, #ffe8d4) 100%);border:1px solid rgba(232,132,44,.28);text-align:center;animation:xp-pop .7s ease both}.home-plan-chest-title{margin:0;font-size:1rem;font-weight:800;color:var(--ink, var(--text))}.home-plan-chest-streak{margin:6px 0 0;font-size:.88rem;font-weight:700;color:var(--text-muted)}.home-plan-hint{display:block;margin-top:8px;font-size:.78rem;font-weight:700;color:var(--text-muted)}.profile-intensity-hint{margin:0 0 12px;font-size:.88rem;color:var(--text-muted)}.profile-intensity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-intensity-card{min-height:72px;padding:12px 10px;border-radius:14px;border:1px solid rgba(232,212,188,.95);background:var(--bg-cream-deep, #fff3e0);color:inherit;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:4px}.profile-intensity-card.is-active{border-color:var(--orange);background:#fff;box-shadow:0 0 0 2px #e8842c33}.profile-intensity-title{font-size:.92rem;font-weight:800}.profile-intensity-desc{font-size:.75rem;font-weight:600;color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.home-plan-chest{animation:none!important}}.home-cta-secondary{margin:6px 0 0;text-align:left;font-size:.85rem;font-weight:700;color:var(--text-muted)}.home-cta-secondary a{color:var(--blue);text-decoration:none}.home-cta-secondary a:hover{text-decoration:underline}.profile-goal-nudge{margin:12px 0 0;padding:12px;border-radius:14px;background:var(--orange-soft);border:1px solid rgba(232,132,44,.28)}.profile-goal-nudge p{margin:0 0 8px;font-size:.9rem;font-weight:700;color:var(--text)}.train-task-card-title{margin:0 0 8px;font-size:1.08rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.train-task-card-prompt{margin:0;white-space:pre-wrap;line-height:1.45;font-weight:600;color:var(--text)}.train-task-card-meta{margin:8px 0 0;font-size:.82rem;font-weight:700;color:var(--text-muted)}.train-passage-details{border-radius:var(--radius);background:#ffffffb8;border:1px solid rgba(232,212,188,.95);overflow:hidden}.train-passage-summary{padding:12px 16px;font-weight:800;font-size:.92rem;color:var(--blue);cursor:pointer;list-style:none}.train-passage-summary::-webkit-details-marker{display:none}.train-passage-details[open] .train-passage-summary{border-bottom:1px solid rgba(232,212,188,.65)}.train-passage-details .text-passage{margin:0;border:none;border-radius:0;max-height:min(38vh,320px)}.train-checking-skeleton{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius);background:#ffffffb8;border:1px dashed rgba(232,212,188,.95)}.train-checking-bar{height:14px;width:100%}.train-checking-bar-short{width:65%}.train-feedback-score-row{display:flex;align-items:flex-start;gap:16px}.train-feedback-score-body{flex:1;min-width:0}.train-score-ring{position:relative;flex-shrink:0;width:88px;height:88px}.train-score-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.train-score-ring-track{fill:none;stroke:var(--bg-cream);stroke-width:8}.train-score-ring-fill{fill:none;stroke:var(--orange);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease)}.train-score-ring.is-full .train-score-ring-fill{stroke:var(--ok)}.train-score-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:.95rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.paywall-box.is-premium-dark{background:linear-gradient(135deg,var(--brown),#5a3a1f);border-color:#f0953f59;color:#fff}.paywall-box.is-premium-dark .paywall-title{color:#fff}.paywall-box.is-premium-dark .paywall-upsell{color:#ffffffd1}.train-mock-footnote{margin:-4px 0 0;padding-left:46px;font-size:.82rem;font-weight:700;color:var(--text-muted);line-height:1.35}@media(prefers-reduced-motion:reduce){.train-result-fox,.train-result-party{animation:none}.fox-result-hero,.fox-result-mascot,.fox-result-spark,.fox-result-stat,.fox-result-topic,.fox-result-repeat,.fox-result-share,.fox-result-plan,.fox-result-bar-fill{animation:none!important}.fox-result-bar-fill{width:var(--fox-bar-to, 0%)}.train-session-bar,.train-score-ring-fill{transition:none}.xp-float{animation:none!important}}.route-track-badge{display:inline-flex;align-items:center;min-height:28px;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:800}.route-track-badge.is-ok{background:#2f9e5a24;color:var(--ok)}.route-track-badge.is-warn{background:var(--orange-soft);color:var(--orange-hover)}.route-goal-now{color:var(--blue);font-weight:800}.route-goal-left{color:var(--orange-hover);font-weight:800}.route-goal-target-label{color:var(--text-muted);font-weight:700}.route-cta-wrap{margin-top:8px}.route-cta-micro{margin:8px 0 0;text-align:center;font-size:.88rem;font-weight:700;color:var(--text-muted)}.train-result-sub em{font-style:normal;color:var(--orange);font-weight:900}.train-result-note--blue{background:linear-gradient(120deg,var(--blue-soft),#fff 70%);border:1px solid rgba(46,109,181,.18);border-radius:var(--radius-sm);padding:12px 14px}.train-result-home-link{display:block;text-align:center;margin-top:4px;font-weight:800;color:var(--text-muted);text-decoration:none}.train-result-home-link:hover{color:var(--blue)}.app-header-brand.is-compact .auth-brand-name{display:none}@media(max-width:420px){.app-header-inner:has(.app-header-stats){grid-template-columns:auto 1fr auto}.app-header-stats{gap:10px}.app-header-stat{font-size:.88rem}}.app-header-stats{display:flex;align-items:center;justify-content:center;gap:14px;flex:1;min-width:0}.app-header-stat{display:inline-flex;align-items:center;gap:4px;font-size:.95rem;font-weight:900;font-variant-numeric:tabular-nums}.app-header-stat--streak{color:var(--orange)}.app-header-stat--xp{color:var(--blue)}.app-header-stat--lives{color:#c44b2b}.app-header-stat-flame{animation:profile-flame-pulse 2.4s var(--ease) infinite;transform-origin:center bottom}@media(prefers-reduced-motion:reduce){.app-header-stat-flame{animation:none}}.home-board{display:flex;flex-direction:column;gap:12px;max-width:720px;margin:0 auto;animation:home-rise-in .4s var(--ease) both}@keyframes home-rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.home-layout{display:grid;gap:16px}.home-main{display:flex;flex-direction:column;gap:14px;min-width:0}.home-aside,.home-mobile-aside{display:none}.home-hero-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:14px 16px;border-radius:var(--radius);border:1px solid rgba(232,132,44,.28);background:linear-gradient(145deg,#fff,var(--orange-soft));box-shadow:var(--shadow)}.home-hero-greet{flex:1 1 220px;display:flex;align-items:center;gap:12px;min-width:0}.home-hero-cta{flex:0 1 260px;min-width:min(100%,220px);display:flex;flex-direction:column;align-items:stretch;gap:0}.home-hero-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}.home-hero-meta{min-width:0}.home-stack{display:flex;flex-direction:column;gap:12px;min-width:0}.home-stack>*{flex:0 0 auto}.home-study-title{margin:4px 0 8px;font-size:1.1rem}.home-hello{margin:0 0 4px;font-size:1.35rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.home-kicker{margin:0 0 2px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-hover)}.home-exam-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 10px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.82rem;font-weight:800}.home-exam-chip-icon{width:16px;height:16px}.home-goal-ring-text{display:flex;flex-direction:column;align-items:center;line-height:1.1;font-size:.68rem;font-weight:700;color:var(--text-muted)}.home-goal-ring-text strong{font-size:1.05rem;font-weight:900;color:var(--orange)}.home-plan-row{box-sizing:border-box;display:flex;align-items:center;gap:14px;padding:15px 18px;border-radius:var(--radius);background:#fff;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}.home-plan-row:hover{text-decoration:none;border-color:var(--orange);transform:translateY(-1px)}.home-plan-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--orange-soft);color:var(--accent);flex-shrink:0}.home-row-chevron{flex-shrink:0;color:var(--text-muted)}.home-plan-body{flex:1;min-width:0}.home-plan-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.home-plan-title{font-weight:800}.home-plan-count{font-weight:800;color:var(--text-muted);font-size:.9rem}.home-plan-segments{display:grid;gap:5px}.home-plan-seg{height:7px;border-radius:999px;background:var(--bg-cream)}.home-plan-seg.is-done{background:linear-gradient(90deg,var(--orange),#f0a85a)}.home-card{padding:16px;border-radius:var(--radius);background:#ffffffdb;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow)}.home-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.home-section-title{margin:0;font-size:1.05rem;font-weight:800}.home-week-total{font-weight:800;color:var(--ok);font-size:.95rem}.home-week-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:86px;min-height:86px;margin-bottom:12px}.home-week-col{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.home-week-bar{width:100%;max-width:28px;border-radius:6px 6px 3px 3px;background:#e8b174;transition:height .6s var(--ease)}.home-week-bar.is-today{background:linear-gradient(180deg,#f0953f,#e8842c)}.home-week-bar.is-empty{background:var(--bg-cream-deep)}.home-week-day{font-size:.68rem;font-weight:800;color:var(--text-muted);text-transform:uppercase}.home-week-day.is-today{color:var(--orange)}.home-week-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:12px;border-top:1px solid rgba(232,212,188,.9)}.home-refresh-note{display:flex;align-items:center;min-height:44px;margin-top:10px;padding:8px 12px;border-radius:12px;background:#fff3d6;color:#8a5a10;font-size:.82rem;font-weight:800;text-decoration:none}.home-refresh-note:hover{filter:brightness(.98)}.home-week-metric{text-align:center}.home-week-metric-value{display:block;font-size:1.15rem;font-weight:900}.home-week-metric-value--orange{color:var(--orange)}.home-week-metric-value--blue{color:var(--blue)}.home-week-metric-value--ok{color:var(--ok)}.home-week-metric-label{display:block;margin-top:2px;font-size:.7rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.home-quests{box-sizing:border-box;padding:14px 16px 12px;border-radius:var(--radius);background:#fff;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow)}.home-quests-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.home-quests-title{margin:0;font-size:1rem;font-weight:800}.home-quests-count{font-size:.85rem;font-weight:800;color:var(--text-muted)}.home-quests-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.home-quest{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:6px 2px}.home-quest-mark{flex:0 0 22px;width:22px;height:22px;margin-top:2px;border-radius:7px;border:2px solid rgba(232,132,44,.45);display:grid;place-items:center;font-size:.75rem;font-weight:900;color:#fff;background:transparent}.home-quest.is-done .home-quest-mark{background:var(--orange);border-color:var(--orange);animation:pop .45s var(--ease) both}.home-quest-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.home-quest-desc{font-weight:700;line-height:1.25}.home-quest.is-done .home-quest-desc{text-decoration:line-through;color:var(--text-muted)}.home-quest-meta{font-size:.82rem;font-weight:800;color:var(--text-muted)}.home-quest.is-done .home-quest-meta{color:var(--orange)}@media(prefers-reduced-motion:reduce){.home-quest.is-done .home-quest-mark{animation:none!important}}.home-league{box-sizing:border-box;display:flex;align-items:center;gap:14px;padding:15px 18px;border-radius:var(--radius);background:linear-gradient(120deg,var(--blue-soft),#fff 60%);border:1px solid rgba(46,109,181,.22);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .15s}.home-league:hover{text-decoration:none;transform:translateY(-1px)}.home-league-icon{flex-shrink:0;width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#dcebfa;color:var(--blue)}.home-league-main{flex:1;min-width:0}.home-league-title{display:block;font-weight:800;font-size:.98rem;margin-bottom:3px}.home-league-hint{display:block;font-size:.85rem;font-weight:700;color:var(--text-muted);margin:0}.home-league-hint.is-danger{color:var(--danger)}.home-league-chevron{font-weight:800;color:var(--blue)}.home-tile-icon-wrap{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;margin-bottom:4px}.home-tile-icon-wrap--orange{background:var(--orange-soft);color:var(--orange)}.home-tile-icon-wrap--blue{background:var(--blue-soft);color:var(--blue)}.home-badge--danger{background:var(--danger)}.home-premium{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,var(--brown),#5a3a1f);color:#fff;text-decoration:none;box-shadow:var(--shadow-lg);transition:transform .15s}.home-premium:hover{transform:translateY(-1px)}.home-premium:hover{text-decoration:none;color:#fff}.home-premium-glow{position:absolute;width:130px;height:130px;right:-30px;top:-40px;border-radius:50%;background:#f0953f38}.home-premium-icon{position:relative;color:#f0953f}.home-premium-body{position:relative;flex:1;min-width:0}.home-premium-title{display:block;font-weight:900;font-size:1.1rem}.home-premium-desc{display:block;margin-top:2px;font-size:.88rem;font-weight:700;color:#ffffffd9}.home-premium-sale{position:relative;padding:4px 10px;border-radius:999px;background:#f0953f40;color:#ffd9ae;font-size:.72rem;font-weight:800;text-transform:uppercase}@media(min-width:860px){.home-board{max-width:880px;display:grid;grid-template-columns:1.15fr .85fr;align-items:start;gap:12px 16px}.home-hero-card,.home-study,.home-premium{grid-column:1 / -1}.home-stack{grid-column:1}.home-week{grid-column:2;align-self:stretch}}@media(min-width:1100px){.home-layout{grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start;max-width:920px;margin:0 auto}.home-aside{display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--header-h) + 16px)}.home-mobile-aside{display:none}}@media(prefers-reduced-motion:reduce){.home-week-bar{transition:none}.home-board{animation:none}.home-plan-row,.home-league,.home-premium{transition:none}}.ob-landing{min-height:100dvh;display:flex;flex-direction:column;padding:calc(16px + var(--safe-t)) 20px calc(28px + var(--safe-b));max-width:560px;margin:0 auto}.ob-landing-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.ob-landing-brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:800}.ob-landing-brand:hover{text-decoration:none}.ob-landing-brand img{border-radius:50%}.ob-landing-brand em{font-style:normal;color:var(--accent)}.ob-landing-login{font-size:.9rem;font-weight:700;color:var(--text-muted)}.ob-landing-body{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:stretch;text-align:center;gap:12px}.ob-landing-mascot{display:flex;justify-content:center;margin-bottom:4px}.ob-landing-mascot .ob-fox{width:96px;height:96px;border-radius:50%;background:var(--bg-cream);display:grid;place-items:center}.ob-landing-mascot .ob-fox-face{font-size:2.6rem}.ob-landing-kicker{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-hover)}.ob-landing-title{margin:0;font-size:1.75rem;font-weight:900;letter-spacing:-.03em;line-height:1.2;text-wrap:balance}.ob-landing-sub{margin:0 auto;max-width:34ch;color:var(--text-muted);font-weight:600}.ob-trust-chips{list-style:none;margin:4px 0 8px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.ob-trust-chips li{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border-radius:999px;background:#2f9e5a1f;color:var(--ok);font-size:.82rem;font-weight:800}.ob-trust-chips li:before{content:"✓";font-weight:900}.ob-landing-cta{padding-block:17px;font-size:1.05rem;margin-top:4px}.ob-landing-proof{margin:0;font-size:.9rem;font-weight:700;color:var(--text-muted)}.ob-chat{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.ob-chat-bubble{flex:1;padding:14px 16px;border-radius:16px 16px 16px 4px;background:#fff;border:1px solid rgba(232,212,188,.95);box-shadow:var(--shadow);text-align:left}.ob-chat .ob-wizard-q{margin:0}.ob-card-row{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:12px;width:100%;text-align:left;padding:14px!important;border:2px solid rgba(232,212,188,.95)!important;min-height:64px}.ob-card-row:hover{border-color:var(--orange)!important}.ob-card-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--orange-soft);color:var(--orange);font-weight:900;font-size:1.25rem;flex-shrink:0}.ob-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.ob-card-label{font-weight:800}.ob-card-desc{font-size:.84rem;font-weight:700;color:var(--text-muted)}.ob-quiz-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font-weight:800;color:var(--text-muted, var(--ink-soft, #6b5344));font-size:.92rem}.ob-quiz-chat{margin-bottom:12px;animation:rise-in .4s var(--ease, cubic-bezier(.22, 1, .36, 1)) both}.ob-quiz-reassure{margin:0 0 8px;text-align:center;font-size:.82rem;font-weight:700;color:var(--text-muted, var(--ink-soft, #6b5344));line-height:1.35}.ob-quiz-prompt{margin:0;font-size:.92rem;font-weight:800;color:var(--text, var(--ink, #2c1810))}.ob-quiz-options{gap:10px}.ob-quiz-option{border-width:2px!important;border-color:#e8d4bcf2!important;border-radius:14px!important;min-height:52px}.ob-quiz-option:hover,.ob-quiz-option:focus-visible{border-color:var(--orange, #e8842c)!important;transform:translateY(-1px)}.ob-feedback-card{animation:rise-in .4s var(--ease, cubic-bezier(.22, 1, .36, 1)) both}.ob-feedback-col{display:flex;flex-direction:column;gap:14px}.ob-feedback-actions{margin-top:4px}.ob-streak-pill{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:2px 10px;border-radius:999px;background:var(--orange-soft);color:var(--orange);font-weight:900;font-size:.82rem;animation:ob-pop .35s var(--ease)}.ob-question-card{padding:16px 18px;border-radius:20px;background:linear-gradient(145deg,#fff,var(--orange-soft, #fff0e0));border:1px solid rgba(232,132,44,.28);box-shadow:var(--shadow);margin-bottom:14px;animation:rise-in .45s var(--ease, cubic-bezier(.22, 1, .36, 1)) both}.ob-question-card .train-question-text{margin:0;font-weight:700;line-height:1.45;color:var(--text, var(--ink, #2c1810));text-wrap:balance}.ob-session-col{display:flex;flex-direction:column;min-height:calc(100dvh - var(--header-h) - 80px)}.ob-session-col .train-actions{margin-top:auto}.ob-xp-chip{display:inline-block;margin:0 0 8px;padding:2px 10px;border-radius:999px;background:#2f9e5a24;color:var(--ok);font-weight:900;font-size:.85rem}.ob-save-block{display:flex;flex-direction:column;gap:10px}.ob-save-social{display:flex;flex-direction:column;gap:8px}.ob-save-micro{margin:4px 0 0;text-align:center;font-size:.85rem;font-weight:700;color:var(--text-muted)}@keyframes ob-pop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.ob-streak-pill{animation:none}}.train-tabs{background:#ffe8be8c!important;border:none!important;border-radius:14px!important;padding:4px!important}.train-tab.is-active{border-radius:12px!important;box-shadow:0 4px 14px #3d28171a!important}.train-lives-chip{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:4px 10px;border-radius:999px;background:#c44b2b1a;color:#c44b2b;font-weight:900;font-size:.95rem}.train-lives-icon{width:18px;height:18px;color:#c44b2b}.train-modes-grid{grid-template-columns:1fr 1fr!important}@media(min-width:700px){.train-modes-grid{grid-template-columns:1fr 1fr 1fr!important}}.train-chip-premium{background:var(--brown)!important;color:#ffd9ae!important}.train-card-soft-link{margin-top:4px;background:linear-gradient(120deg,var(--blue-soft),#fff 60%)!important}.train-topic-acc{display:block;height:6px;border-radius:999px;background:var(--bg-cream);overflow:hidden;margin-top:6px}.train-topic-acc>span{display:block;height:100%;border-radius:inherit}.train-topic-acc--ok>span{background:var(--ok)}.train-topic-acc--warn>span{background:var(--orange)}.train-topic-acc--danger>span{background:var(--danger)}.train-row--mastered{background:linear-gradient(145deg,#fff,#fff8e8);border-color:#d4a8438c;box-shadow:0 0 0 1px #d4a84347}.train-trend{font-weight:800}.train-trend--up{color:var(--ok)}.train-trend--down{color:var(--orange);opacity:.85}.train-refresh-hint{color:var(--orange-hover);font-weight:800}.train-progress-line1,.train-progress-line2{display:block;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.train-list .theory-topic-row{overflow:visible;min-height:auto}.train-list .theory-topic-main{padding-bottom:16px}.train-list .train-row-body{gap:4px;overflow:visible}.train-readiness{margin:0 0 12px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}.train-readiness-bar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--bg-cream);gap:2px}.train-readiness-seg{min-width:4px;border-radius:999px}.train-readiness-seg--ok{background:var(--ok)}.train-readiness-seg--progress{background:var(--orange)}.train-readiness-seg--weak{background:var(--bg-cream-deep)}.train-readiness-seg--idle{background:#a08b7847}.train-readiness-caption{margin:8px 0 0;font-size:.78rem;font-weight:800;color:var(--ink-soft);line-height:1.35}.train-sort-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.train-sort-chip{min-height:44px;padding:8px 14px;border-radius:999px;border:2px solid var(--border);background:#fff;color:var(--ink-soft);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.train-sort-chip.is-active{border-color:#e8842c73;background:var(--orange-soft);color:var(--orange-hover)}@media(prefers-reduced-motion:reduce){.train-row--mastered{box-shadow:none}}.train-ai-chip{display:inline-flex;align-items:center;min-height:26px;padding:2px 8px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.72rem;font-weight:800;margin-left:auto}.profile-forecast-soft{margin:0 0 12px;font-size:.9rem;font-weight:700;color:var(--text-muted);line-height:1.4}.profile-path-svg{width:100%;height:auto;display:block;margin:4px 0 8px}.profile-path-caption{margin:0;font-size:.85rem;font-weight:700;color:var(--text-muted)}.ach-page{display:flex;flex-direction:column;gap:14px;padding-bottom:32px;animation:rise-in .45s cubic-bezier(.22,1,.36,1) both}.ach-hero{position:relative;overflow:hidden;padding:18px;border-radius:20px;background:linear-gradient(150deg,#fff,#fff0e0);border:1px solid rgba(232,132,44,.28);box-shadow:0 10px 32px #3d28171a}.ach-spark{position:absolute;top:14px;right:16px;font-size:1.1rem;opacity:.7;animation:float-y 3s ease-in-out infinite;pointer-events:none}.ach-kicker{margin:0 0 10px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-hover, #c45f12)}.ach-hero-row{display:flex;align-items:center;gap:14px}.ach-ring{position:relative;width:88px;height:88px;flex-shrink:0}.ach-ring svg{transform:rotate(-90deg);display:block}.ach-ring-fill{animation:ring-fill 1.1s cubic-bezier(.22,1,.36,1) both}.ach-ring-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.ach-ring-num-inner{display:inline-flex;align-items:baseline;gap:1px;font-size:1.35rem;font-weight:900;letter-spacing:-.03em;color:var(--orange, #e8842c);line-height:1;font-variant-numeric:tabular-nums}.ach-ring-num-inner small{font-size:.72rem;font-weight:800;color:var(--ink-faint, #a08b78);line-height:1}.ach-hero-copy{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px}.ach-title{margin:0;font-size:1.45rem;font-weight:900;letter-spacing:-.03em;line-height:1.15;color:var(--ink, #2c1810);text-wrap:balance}.ach-hero-sub{margin:0;font-size:.88rem;font-weight:700;color:var(--ink-soft, #6b5344);line-height:1.35;text-wrap:balance}.ach-next{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"emoji body" "cta cta";gap:10px 12px;align-items:center;padding:14px;border-radius:18px;background:#fff;border:1px solid rgba(232,132,44,.28);box-shadow:0 8px 28px #3d281714}.ach-next-emoji{grid-area:emoji;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:1.6rem;background:linear-gradient(145deg,#fff0e0,#ffe8be)}.ach-next-body{grid-area:body;min-width:0}.ach-next-kicker{margin:0 0 2px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--orange-hover, #c45f12)}.ach-next-title{margin:0 0 2px;font-size:1.02rem;font-weight:900;letter-spacing:-.01em;color:var(--ink, #2c1810)}.ach-next-how{margin:0;font-size:.8rem;font-weight:600;color:var(--ink-soft, #6b5344)}.ach-next-cta{grid-area:cta;min-height:44px}.ach-progress--next{margin-top:8px}.ach-filters{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ach-filters::-webkit-scrollbar{display:none}.ach-filter{flex-shrink:0;min-height:36px;padding:7px 12px;border-radius:999px;border:1px solid rgba(232,212,188,.95);background:#fff;font-size:.78rem;font-weight:800;color:var(--ink-soft, #6b5344);cursor:pointer}.ach-filter.is-on{background:var(--orange-soft, #fff0e0);border-color:#e8842c66;color:var(--orange-hover, #c45f12)}.ach-empty{margin:8px 0;font-weight:700;color:var(--ink-faint, #a08b78);text-align:center}.ach-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ach-grid>li{animation:rise-in .4s cubic-bezier(.22,1,.36,1) both}@media(min-width:560px){.ach-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ach-next{grid-template-columns:auto 1fr auto;grid-template-areas:"emoji body cta";align-items:center}.ach-next-cta{min-width:110px}}.ach-card{min-height:168px;height:100%;padding:14px 12px;border-radius:18px;background:#fff;border:1px solid rgba(232,212,188,.95);box-shadow:0 8px 28px #3d281714;display:flex;flex-direction:column;gap:5px}.ach-card.is-open{background:linear-gradient(160deg,#fff,#fff8ec)}.ach-card.is-locked{background:#fffaf2}.ach-card.is-secret{background:#f7f1e8}.ach-card.is-near{border-color:#e8842c73;box-shadow:0 0 0 2px #e8842c24,0 8px 28px #3d281714}.ach-near-kicker{margin:0;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--orange-hover, #c45f12)}.ach-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ach-emoji{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:1.35rem;background:var(--orange-soft, #fff0e0)}.ach-card.is-open .ach-emoji{background:linear-gradient(145deg,#fff0e0,#ffe8be)}.ach-card.is-locked .ach-emoji{background:#f3e3cc;opacity:.8}.ach-xp{flex-shrink:0;font-size:.68rem;font-weight:800;padding:3px 8px;border-radius:999px;background:var(--blue-soft, #e8f1fb);color:var(--blue, #2e6db5)}.ach-card-title{margin:0;font-size:.92rem;font-weight:900;letter-spacing:-.01em;color:var(--ink, #2c1810);text-wrap:balance}.ach-card.is-locked .ach-card-title,.ach-card.is-locked .ach-card-desc,.ach-card.is-locked .ach-how,.ach-card.is-locked .ach-cat{color:var(--ink-soft, #6b5344)}.ach-card-desc{margin:0;font-size:.76rem;font-weight:600;color:var(--ink-soft, #6b5344);line-height:1.35}.ach-cat{margin:0;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint, #a08b78)}.ach-how{margin:0;font-size:.72rem;font-weight:700;color:var(--orange-hover, #c45f12);line-height:1.3}.ach-card-meta{margin:auto 0 0;font-size:.7rem;font-weight:700;color:var(--ok-dark, #1d6b3c)}.ach-progress{margin-top:auto;display:flex;align-items:center;gap:8px}.ach-progress-bar{flex:1;height:7px;border-radius:999px;background:var(--bg-cream, #ffe8be);overflow:hidden}.ach-progress-bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f0953f,#e8842c);animation:bar-grow .9s cubic-bezier(.22,1,.36,1) both}.ach-progress-text{font-size:.7rem;font-weight:800;color:var(--ink-faint, #a08b78);white-space:nowrap}.ach-back{margin-top:4px}a.ach-stat-link{text-decoration:none;color:inherit;min-height:44px}@media(prefers-reduced-motion:reduce){.ach-page,.ach-grid>li,.ach-ring-fill,.ach-spark,.ach-progress-bar>span{animation:none!important}}.pd-page{min-height:100dvh;background:radial-gradient(ellipse 70% 45% at 100% 100%,rgba(232,241,251,.45),transparent 55%),linear-gradient(180deg,#fff8ec,#fff5e4);background-attachment:fixed;color:var(--ink, var(--text))}.pd-shell{max-width:560px;margin:0 auto;padding:18px 18px 40px;display:flex;flex-direction:column;gap:14px}.pd-skeleton{display:flex;flex-direction:column;gap:14px}.pd-skel{height:88px;border-radius:18px;background:#ffffffb3;border:1px solid var(--border, rgba(232, 212, 188, .95))}.pd-skel-hero{height:140px}.pd-skel-short{height:56px}.pd-hero{padding:4px 2px 8px;animation:rise-in .45s cubic-bezier(.22,1,.36,1) both}.pd-framing{margin:0 0 8px;font-size:.98rem;font-weight:700;font-style:italic;color:var(--ink-mid, var(--text));text-wrap:balance}.pd-child-name{margin:0 0 10px;font-size:1.55rem;font-weight:800;letter-spacing:-.02em;color:var(--ink, var(--text))}.pd-exam-chip{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border-radius:999px;background:var(--blue-soft, #e8f1fb);color:var(--blue, #2e6db5);font-size:.78rem;font-weight:800}.pd-card{padding:16px 18px;border-radius:18px;background:#ffffffe6;border:1px solid var(--border, rgba(232, 212, 188, .95));box-shadow:var(--shadow);animation:rise-in .45s cubic-bezier(.22,1,.36,1) both}.pd-card-title{margin:0 0 10px;font-size:1.02rem;font-weight:900;letter-spacing:-.01em}.pd-effort{margin:0;font-size:.95rem;font-weight:700;color:var(--ink-mid, var(--text))}.pd-pace{margin:12px 0 0;padding:10px 12px;border-radius:14px;font-size:.88rem;font-weight:700}.pd-pace--good{background:var(--ok-soft, #e7f6ec);color:var(--ok-dark, #1d6b3c)}.pd-pace--warn{background:#fff3d6;color:#8a5a10}.pd-pace--danger{background:#fdece7;color:#8a3a28}.pd-forecast-card{background:linear-gradient(150deg,#fff,var(--orange-soft, #fff0e0));border-color:var(--border-accent, rgba(232, 132, 44, .28))}.pd-forecast-grade{font-size:3.3rem;font-weight:900;line-height:1;letter-spacing:-.03em;color:var(--orange, #e8842c);animation:pop .45s cubic-bezier(.22,1,.36,1) both}.pd-progress{margin-top:14px}.pd-progress-label{margin-bottom:8px;font-size:.84rem;font-weight:700;color:var(--ink-soft, var(--text-muted))}.pd-progress-track{height:8px;border-radius:999px;background:var(--bg-cream, #ffe8be);overflow:hidden}.pd-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f0953f,#e8842c);animation:bar-grow .9s cubic-bezier(.22,1,.36,1) both}.pd-disclaimer,.pd-muted{margin:10px 0 0;font-size:.78rem;font-weight:700;color:var(--ink-faint, var(--text-muted))}.pd-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.pd-steps li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;font-weight:700}.pd-step-icon{flex-shrink:0;width:28px;text-align:center}.pd-tip-card{background:var(--blue-soft, #e8f1fb);border-color:#2e6db52e}.pd-tip-card p{margin:0;font-size:.92rem;font-weight:700;color:var(--ink-mid, var(--text))}.pd-week-chart{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;align-items:end;height:96px;margin-top:8px}.pd-week-bar-wrap{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px;min-width:0}.pd-week-bar{width:100%;max-width:28px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#f0953f,#e8842c)}.pd-week-bar-wrap span{font-size:.62rem;font-weight:800;color:var(--ink-faint, var(--text-muted));white-space:nowrap}.pd-activity{display:grid;grid-template-columns:repeat(14,1fr);gap:3px;align-items:end;height:48px;margin-top:6px}.pd-activity-bar{border-radius:4px 4px 2px 2px;background:var(--blue, #2e6db5);min-height:4px}.pd-topics{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.pd-topics li{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;font-weight:700}.pd-topic-label{color:var(--ink-mid, var(--text))}.pd-topic-pct--ok,.pd-topic-pct--good{color:var(--ok, #2f9e5a)}.pd-topic-pct--warn{color:#b07a12}.pd-topic-pct--bad,.pd-topic-pct--danger{color:var(--danger, #c44b2b)}.pd-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pd-chip{display:inline-flex;align-items:center;min-height:28px;padding:2px 10px;border-radius:999px;font-size:.76rem;font-weight:800}.pd-chip--weak{background:#fdece7;color:#8a3a28}.pd-chip--strong{background:var(--ok-soft, #e7f6ec);color:var(--ok-dark, #1d6b3c)}.pd-pay-card{background:linear-gradient(160deg,#2c1810,#4a3020);color:#fff;border:none;box-shadow:0 12px 36px #2c181059}.pd-pay-card .pd-card-title,.pd-pay-card .pd-muted,.pd-pay-card li{color:#fff}.pd-pay-card .pd-muted{color:#fff0e0bf}.pd-limits{margin:8px 0 16px;padding-left:18px;font-size:.88rem;font-weight:700;color:#fff0e0e6}.pd-pay-card .btn-primary{width:100%}.pd-footer{display:flex;flex-direction:column;gap:8px;padding:8px 2px 0;font-size:.78rem;font-weight:700;color:var(--ink-faint, var(--text-muted))}.pd-footer a{color:var(--blue, #2e6db5);font-weight:800;min-height:44px;display:inline-flex;align-items:center}.pd-social{margin:0;color:var(--ink-soft, var(--text-muted))}.pd-updated{margin:0}.pd-expired{margin-top:40px;text-align:center;gap:12px;display:flex;flex-direction:column;align-items:center}.pd-kicker{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-hover, #c45f12)}.pd-title{margin:0;font-size:1.5rem;font-weight:900}.pd-lead{margin:0 0 8px;font-size:.95rem;font-weight:700;color:var(--ink-soft, var(--text-muted));text-wrap:balance}.profile-parents-text{margin:0;font-size:.9rem;font-weight:700;color:var(--ink-mid, var(--text))}.profile-parents-note{margin:0;font-size:.78rem;font-weight:700;color:var(--ink-faint, var(--text-muted))}.profile-parents-code{margin:8px 0 0;font-size:1.15rem;font-weight:900;letter-spacing:.04em;text-align:center;color:var(--blue, #1d4e89)}.pd-back{display:inline-flex;margin:0 0 12px;padding:0;border:none;background:none;font:inherit;font-weight:800;color:var(--blue, #1d4e89);cursor:pointer}.pc-link-form{display:flex;flex-direction:column;gap:10px}.pc-code-input{width:100%;min-height:48px;padding:10px 14px;border-radius:12px;border:2px solid var(--line, #e8dfd2);font:inherit;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.pc-children{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.pc-children>li{display:flex;flex-direction:column;gap:6px}.pc-child-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 14px;border-radius:14px;border:2px solid var(--line, #e8dfd2);background:var(--surface, #fff);text-align:left;cursor:pointer;font:inherit}.pc-child-name{font-weight:900;font-size:1.05rem}.pc-child-meta{font-size:.85rem;font-weight:700;color:var(--ink-faint, var(--text-muted))}.pc-unlink{align-self:flex-end;border:none;background:none;padding:4px 0;font:inherit;font-size:.8rem;font-weight:700;color:var(--ink-faint, var(--text-muted));cursor:pointer;text-decoration:underline}.pc-logout{border:none;background:none;padding:0;font:inherit;font-weight:800;color:inherit;cursor:pointer;text-decoration:underline}@media(prefers-reduced-motion:reduce){.pd-hero,.pd-card,.pd-forecast-grade,.pd-progress-track>span{animation:none!important}}.fc-page{display:flex;flex-direction:column;gap:14px;padding-bottom:32px;animation:rise-in .45s cubic-bezier(.22,1,.36,1) both}.fc-hero{position:relative;overflow:hidden;text-align:center;padding:24px 18px 22px;border-radius:20px;background:linear-gradient(150deg,#fff,#fff0e0);border:1px solid rgba(232,132,44,.28);box-shadow:0 10px 32px #3d28171a;animation:pop .5s cubic-bezier(.22,1,.36,1) both}.fc-spark{position:absolute;top:38px;left:12px;font-size:1.1rem;opacity:.7;animation:float-y 3s ease-in-out infinite;pointer-events:none}.fc-spark--r{left:auto;right:14px;top:52px;font-size:1.2rem;opacity:.8;animation-delay:.5s}.fc-kicker{margin:0 0 12px;font-size:.78rem;font-weight:800;color:var(--orange-hover, #c45f12);text-transform:uppercase;letter-spacing:.08em}.fc-ring{position:relative;width:128px;height:128px;margin:0 auto 12px}.fc-ring svg{transform:rotate(-90deg);display:block}.fc-ring-fill{animation:ring-fill 1.1s cubic-bezier(.22,1,.36,1) both}.fc-ring-grade{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:3.3rem;font-weight:900;line-height:1;color:var(--orange, #e8842c)}.fc-hero-meta{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:6px 13px;border-radius:999px;background:#ffffffe6;border:1px solid rgba(232,212,188,.95);font-size:.82rem;font-weight:800;color:var(--ink-soft, #6b5344)}.fc-hero-gap{margin:0 auto;max-width:380px;font-weight:700;color:var(--ink-mid, #4a3728);font-size:.98rem;text-wrap:balance}.fc-gap-num{color:var(--blue, #2e6db5)}.fc-gap-ok{color:var(--orange, #e8842c);font-weight:800}.fc-card{background:#fff;border:1px solid rgba(232,212,188,.95);border-radius:20px;padding:18px;box-shadow:0 8px 28px #3d281714;animation:rise-in .45s cubic-bezier(.22,1,.36,1) both}.fc-card-title{margin:0 0 2px;font-weight:900;font-size:1.02rem;letter-spacing:-.01em;color:var(--ink, #2c1810);text-wrap:balance}.fc-card-sub{margin:0 0 12px;font-weight:600;font-size:.85rem;color:var(--ink-soft, #6b5344);line-height:1.4}.fc-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.fc-card-head .fc-card-title{margin:0}.fc-gain{flex-shrink:0;font-size:.75rem;font-weight:800;color:var(--orange, #e8842c);background:var(--orange-soft, #fff0e0);padding:4px 10px;border-radius:999px}.fc-fox-row{display:flex;gap:12px;align-items:flex-start}.fc-fox-avatar{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:linear-gradient(145deg,#fff0e0,#ffe8be);display:grid;place-items:center;overflow:hidden;animation:float-y 3s ease-in-out infinite}.fc-fox-avatar img{width:52px;height:52px;object-fit:cover}.fc-fox-bubble{flex:1;min-width:0;padding:12px 14px;border-radius:16px 16px 16px 4px;background:#fff8ecf2;border:1px solid rgba(232,212,188,.9)}.fc-fox-kicker{margin:0 0 4px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--orange-hover, #c45f12)}.fc-fox-text{margin:0;font-size:.92rem;font-weight:700;color:var(--ink-mid, #4a3728);line-height:1.45;text-wrap:balance}.fc-premium{position:relative;overflow:hidden;padding:20px 18px 16px;border-radius:20px;background:linear-gradient(145deg,#2c1810,#3d2817 48%,#5a3a1f);color:#fff;box-shadow:0 12px 36px #2c181059;animation:rise-in .45s .08s cubic-bezier(.22,1,.36,1) both}.fc-premium-glow{position:absolute;width:180px;height:180px;right:-50px;top:-60px;border-radius:50%;background:radial-gradient(circle,rgba(240,149,63,.35),transparent 68%);pointer-events:none}.fc-premium-kicker{position:relative;margin:0 0 8px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#f0953f}.fc-premium-title{position:relative;margin:0 0 10px;font-size:1.05rem;font-weight:900;letter-spacing:-.02em;line-height:1.3;text-wrap:balance}.fc-premium-lead{position:relative;margin:0 0 8px;font-size:.92rem;font-weight:700;color:#fff0e0e0;line-height:1.4;text-wrap:balance}.fc-premium-gain{position:relative;display:inline-block;margin:0 0 14px;padding:6px 12px;border-radius:999px;background:#f0953f38;border:1px solid rgba(240,149,63,.4);font-size:.84rem;font-weight:800;color:#ffd9ae}.fc-premium-cta{position:relative}.fc-premium-note{position:relative;margin:10px 0 0;font-size:.72rem;font-weight:700;color:#c4a98df2;line-height:1.35;text-wrap:balance}.fc-card--traj{position:relative;overflow:hidden;background:linear-gradient(155deg,#fff,#fff8ec 42%,#fff0e0);border-color:#e8842c47;box-shadow:0 10px 32px #3d28171a}.fc-card--traj:before{content:"";position:absolute;width:160px;height:160px;right:-40px;top:-50px;border-radius:50%;background:radial-gradient(circle,rgba(240,149,63,.22),transparent 68%);pointer-events:none}.fc-traj-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}.fc-traj-kicker{margin:0 0 6px}.fc-traj-head .fc-card-sub{margin-bottom:0}.fc-traj-badge{flex-shrink:0;margin-top:4px;min-width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:.95rem;font-weight:900;letter-spacing:-.02em;color:#fff;background:linear-gradient(180deg,#f0953f,#e8842c);box-shadow:0 8px 20px #e8842c59;animation:pop .45s .15s cubic-bezier(.22,1,.36,1) both}.fc-traj{position:relative;z-index:1;margin-top:14px}.fc-traj-stage{position:relative;border-radius:16px;padding:8px 4px 2px;background:linear-gradient(180deg,#ffffffb8,#fff8ec59),repeating-linear-gradient(90deg,transparent,transparent 22px,rgba(243,227,204,.35) 22px,rgba(243,227,204,.35) 23px);border:1px solid rgba(232,212,188,.75);box-shadow:inset 0 1px #fffc}.fc-traj-svg{width:100%;height:auto;display:block}.fc-traj-axis{font-size:10px;font-weight:800;fill:var(--ink-faint, #a08b78);font-family:inherit}.fc-traj-axis.is-goal{fill:var(--ok-dark, #1d6b3c)}.fc-traj-pin{font-size:10px;font-weight:900;fill:#c45f12;font-family:inherit;letter-spacing:.02em}.fc-traj-pin.is-goal{fill:var(--ok-dark, #1d6b3c)}.fc-traj-horizon{margin:8px 2px 0;font-size:.72rem;font-weight:800;color:var(--ink-faint, #a08b78);letter-spacing:.01em}.fc-traj-area{opacity:0;animation:fc-area-in .7s .35s cubic-bezier(.22,1,.36,1) both}.fc-traj-line{stroke-dasharray:400;animation:draw-line 1.45s .2s cubic-bezier(.22,1,.36,1) both}.fc-traj-dot{opacity:0;animation:rise-in .4s cubic-bezier(.22,1,.36,1) both}.fc-traj-dot.is-goal{animation-name:pop;animation-duration:.45s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}.fc-traj-halo{transform-origin:center;animation:fc-halo-pulse 2.4s 1.6s ease-in-out infinite}.fc-traj-labels{display:grid;grid-template-columns:repeat(var(--fc-n, 4),minmax(0,1fr));gap:5px;margin-top:10px}.fc-traj-step{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 3px 6px;border-radius:12px;background:#ffffffb8;border:1px solid rgba(232,212,188,.85);text-align:center;min-width:0}.fc-traj-step.is-now{background:var(--orange-soft, #fff0e0);border-color:#e8842c59;box-shadow:0 4px 14px #e8842c1f}.fc-traj-step.is-goal{background:var(--ok-soft, #e7f6ec);border-color:#2f9e5a59;box-shadow:0 4px 14px #2f9e5a1f}.fc-traj-step-label{font-size:.68rem;font-weight:800;color:var(--ink-faint, #a08b78);letter-spacing:.01em}.fc-traj-step.is-now .fc-traj-step-label,.fc-traj-step.is-goal .fc-traj-step-label{color:inherit}.fc-traj-step.is-now .fc-traj-step-label{color:var(--orange-hover, #c45f12)}.fc-traj-step.is-goal .fc-traj-step-label{color:var(--ok-dark, #1d6b3c)}.fc-traj-step-grade{font-size:clamp(1.05rem,3.8vw,1.3rem);font-weight:900;line-height:1.05;letter-spacing:-.03em;color:var(--ink, #2c1810)}.fc-traj-step.is-now .fc-traj-step-grade{color:var(--orange, #e8842c)}.fc-traj-step.is-goal .fc-traj-step-grade{color:var(--ok, #2f9e5a)}.fc-traj-step-sub{font-size:.62rem;font-weight:800;color:var(--ink-faint, #a08b78);line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-traj-step.is-now .fc-traj-step-sub{color:var(--orange-hover, #c45f12)}.fc-traj-step.is-goal .fc-traj-step-sub{color:var(--ok-dark, #1d6b3c)}.fc-mile{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;position:relative;z-index:1}.fc-mile-chip{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:800;padding:7px 11px 7px 9px;border-radius:14px;background:#ffffffc7;border:1px solid rgba(232,212,188,.9);color:var(--ink-soft, #6b5344);box-shadow:0 2px 8px #3d28170a}.fc-mile-mark{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:.68rem;background:#f3e3cc;color:var(--ink-faint, #a08b78)}.fc-mile-body{display:flex;flex-direction:column;line-height:1.15}.fc-mile-body strong{font-weight:800;color:var(--ink-mid, #4a3728)}.fc-mile-body em{font-style:normal;font-size:.66rem;font-weight:700;color:var(--ink-faint, #a08b78)}.fc-mile-chip.is-on{background:var(--ok-soft, #e7f6ec);border-color:#2f9e5a52;color:var(--ok-dark, #1d6b3c)}.fc-mile-chip.is-on .fc-mile-mark{background:var(--ok, #2f9e5a);color:#fff}.fc-mile-chip.is-on .fc-mile-body strong{color:var(--ok-dark, #1d6b3c)}@keyframes fc-area-in{0%{opacity:0}to{opacity:1}}@keyframes fc-halo-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}.fc-scenario-grid{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:520px){.fc-scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.fc-scenario{padding:12px;border-radius:14px;background:#fffaf2;border:1px solid rgba(232,212,188,.85)}.fc-scenario.is-main{background:linear-gradient(145deg,#fff,#fff0e0);border-color:#e8842c47;box-shadow:0 6px 18px #3d28170f}.fc-scenario-label{margin:0;font-weight:900;font-size:.9rem}.fc-scenario-hint{margin:2px 0 8px;font-size:.74rem;font-weight:700;color:var(--ink-faint, #a08b78)}.fc-scenario-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.fc-scenario-rows li{display:flex;justify-content:space-between;gap:8px;font-size:.82rem;font-weight:700;color:var(--ink-soft, #6b5344)}.fc-scenario-rows strong{color:var(--ink, #2c1810);font-variant-numeric:tabular-nums}.fc-scenario-ok{margin:8px 0 0;font-size:.74rem;font-weight:800;color:var(--ok-dark, #1d6b3c)}.fc-scenario-warn{margin:8px 0 0;font-size:.74rem;font-weight:800;color:var(--orange-hover, #c45f12)}.fc-whatif{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--blue-soft, #e8f1fb);font-size:.86rem;font-weight:700;color:var(--ink-mid, #4a3728);line-height:1.4}.fc-exam-note{margin:12px 0 0;font-size:.82rem;font-weight:600;color:var(--ink-soft, #6b5344);line-height:1.4}.fc-focus-list,.fc-weak-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.fc-focus-row,.fc-weak-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:14px;background:#fffaf2;border:1px solid rgba(232,212,188,.7);text-decoration:none;color:inherit;min-height:44px}.fc-focus-icon{flex-shrink:0;width:36px;height:36px;border-radius:10px;background:var(--orange-soft, #fff0e0);display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem}.fc-focus-body,.fc-weak-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.fc-focus-body strong,.fc-weak-body strong{font-weight:800;font-size:.9rem;line-height:1.3}.fc-focus-meta{font-size:.75rem;font-weight:700;color:var(--ink-faint, #a08b78)}.fc-focus-reason{font-size:.8rem;font-weight:600;color:var(--ink-soft, #6b5344);line-height:1.35}.fc-focus-cta{flex-shrink:0;font-size:.78rem;font-weight:800;color:var(--orange-hover, #c45f12);white-space:nowrap}.fc-weak-bar{display:block;margin-top:5px;height:6px;border-radius:999px;background:#ffe8be;overflow:hidden}.fc-weak-bar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f0953f,#e8842c);animation:bar-grow .9s .3s cubic-bezier(.22,1,.36,1) both}.fc-weak-pct{flex-shrink:0;font-size:.78rem;font-weight:900;color:var(--orange-hover, #c45f12)}.fc-tasks{display:flex;flex-wrap:wrap;gap:8px}.fc-task-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;min-height:40px;border-radius:999px;background:var(--orange-soft, #fff0e0);border:1px solid rgba(232,132,44,.22);text-decoration:none;color:var(--ink, #2c1810);font-weight:800;font-size:.86rem}.fc-task-chip em{font-style:normal;color:var(--orange-hover, #c45f12)}.fc-hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.fc-hist li{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;background:#fffaf2;font-size:.86rem;font-weight:700;color:var(--ink-soft, #6b5344)}.fc-hist strong{color:var(--ink, #2c1810);font-variant-numeric:tabular-nums}.fc-phase .fc-kicker{margin-bottom:4px}.fc-coverage{margin:8px 0 0;font-size:.86rem;font-weight:800;color:var(--ink-mid, #4a3728)}.fc-cta{margin-top:4px}.fc-empty .fc-title{margin:0 0 8px;font-size:1.35rem;font-weight:900}.fc-empty .fc-sub{margin:0 0 16px;font-weight:600;color:var(--ink-soft, #6b5344)}.fc-title{margin:0;font-size:1.35rem;font-weight:900;letter-spacing:-.03em}@media(prefers-reduced-motion:reduce){.fc-ring-fill,.fc-traj-line,.fc-traj-area,.fc-traj-dot,.fc-traj-dot.is-goal,.fc-traj-halo,.fc-traj-badge,.fc-hero,.fc-card,.fc-fox-avatar,.fc-spark,.fc-weak-bar>span{animation:none!important}.fc-traj-area,.fc-traj-dot{opacity:1}}
