:root{color-scheme:dark;--t-bg: light-dark(#F5F6FA, #080B10);--t-surface: light-dark(#FFFFFF, #111620);--t-surface2: light-dark(#F0F2F5, #161D2A);--t-surface3: light-dark(#E8EBF0, #1C2436);--t-border: light-dark(#D8DCE4, #1A2236);--t-border-light: light-dark(#E4E8F0, #243050);--t-text: light-dark(#1A1D24, #E4E8EF);--t-text-soft: light-dark(#374151, #9AA3B4);--t-text-muted: light-dark(#334155, #5C6882);--t-text-dim: light-dark(#475569, #344058);--t-raise: light-dark(#DC3545, #E84855);--t-call: light-dark(#28A745, #3ECF72);--t-fold: light-dark(#E8ECF2, #2A3446);--t-fold-text: light-dark(#475569, #445570);--t-accent: light-dark(#3B82F6, #4E9CF7);--t-purple: light-dark(#7C3AED, #9B6DFF);--t-gold: light-dark(#D4A017, #F0C850);--t-brilliant: light-dark(#0D9488, #1BADA6);--t-great: light-dark(#4A7CA5, #5C8BB2);--t-good: light-dark(#6B8E23, #97AF5E);--t-inaccuracy: light-dark(#D4940A, #E6A935);--t-mistake: light-dark(#C56A30, #E07A3A);--t-blunder: light-dark(#B91C1C, #CA3431);--t-glass-bg: light-dark(rgba(245,246,250,.88), rgba(12,14,20,.82));--t-glass-strong: light-dark(rgba(255,255,255,.92), rgba(8,11,16,.85));--t-overlay-border: light-dark(rgba(0,0,0,.08), rgba(255,255,255,.06));--t-shimmer: light-dark(rgba(0,0,0,.06), rgba(255,255,255,.4));--t-chip-bg: light-dark(#1A1D24, #FFFFFF);--t-chip-text: light-dark(#FFFFFF, #080B10);--t-felt-center: light-dark(#D0D5DD, #1C2436);--t-felt-mid: light-dark(#BCC3CF, #161D2A);--t-felt-edge: light-dark(#A8B1BF, #111620);--c-card-bg: light-dark(#FFFFFF, #151b23);--c-page-bg: light-dark(#F5F6FA, #080a0e);--c-border: light-dark(#D8DCE4, #1e252e);--c-header-g1: light-dark(#F0F2F5, #111820);--c-header-g2: light-dark(#E8EBF0, #0f1922);--c-green: light-dark(#16A34A, #2dcc70);--c-green-dim: light-dark(#BBF7D0, #1a5c35);--c-red: light-dark(#DC2626, #e74c5f);--c-red-dim: light-dark(#FECACA, #a83240);--c-blue: light-dark(#2563EB, #3b9dff);--c-yellow: light-dark(#CA8A04, #f0c040);--c-orange: light-dark(#EA580C, #e8883a);--c-txt: light-dark(#1A1D24, #e6edf3);--c-txt2: light-dark(#334155, #8b949e);--c-txt3: light-dark(#475569, #484f58);--c-badge-bg: light-dark(#E8EBF0, #1a2230);--c-err-group-bg: light-dark(#F8FAFC, #0e1218);--c-pl-green-g1: light-dark(#DCFCE7, #132b1d);--c-pl-green-bd: light-dark(#BBF7D0, #1a3024);--c-pl-green-lb: light-dark(#16A34A, #4a8c65);--c-pl-red-g1: light-dark(#FEE2E2, #2b1318);--c-pl-red-bd: light-dark(#FECACA, #301a1e);--c-pl-red-lb: light-dark(#DC2626, #8c4a55);--tg-bg: light-dark(#F5F6FA, #080a0e);--tg-text: light-dark(#1A1D24, #e6edf3);--tg-hint: light-dark(#64748B, #8b949e);--tg-secondary-bg: light-dark(#F0F2F5, #0d1117);--tg-link: var(--tg-theme-link-color, #58a6ff);--tg-btn: var(--tg-theme-button-color, #2ea043);--tg-btn-text: var(--tg-theme-button-text-color, #ffffff);--card-bg: light-dark(#FFFFFF, #161b22);--border: light-dark(#D8DCE4, #30363d);--success: #2ea043;--danger: #f85149;--warning: #d29922;--page-max-width: 480px;--topnav-height: 0px;--bottomnav-height: 64px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--tg-text);background:var(--tg-bg)}@media(min-width:1024px){:root{--page-max-width: 100%;--topnav-height: 56px;--bottomnav-height: 0px}.container,.page,.chat-page{max-width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;overflow-x:hidden;-webkit-tap-highlight-color:transparent}#root{display:flex;flex-direction:column;min-height:100vh}.container{padding:16px;max-width:var(--page-max-width, 480px);margin:0 auto;width:100%}.panel{background:var(--t-surface);border:1px solid var(--t-border);border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 1px 3px #0000004d,0 1px 2px #0003}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s;color:var(--tg-btn-text);background:var(--tg-btn)}.btn:active{opacity:.7}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-full{width:100%}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.chip{padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--tg-hint);font-size:13px;cursor:pointer;transition:all .15s}.chip.active{background:linear-gradient(135deg,#4e9cf7,#6b5ce7);color:#fff;border-color:transparent;box-shadow:0 2px 8px #4e9cf740}.progress-bar{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin:12px 0}.progress-fill{height:100%;background:var(--tg-btn);border-radius:2px;transition:width .3s ease}.dots{display:flex;justify-content:center;gap:6px;padding:8px 0}.dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:all .2s}.dot.active{background:var(--tg-link);width:18px;border-radius:3px}.page{padding:12px 16px;max-width:var(--page-max-width, 480px);margin:0 auto}.page-responsive{max-width:var(--page-max-width, 480px);margin:0 auto}.btn-secondary{background:var(--card-bg);color:var(--tg-text);border:1px solid var(--border)}.drop-zone{border:2px dashed var(--border);border-radius:16px;padding:48px 16px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;color:var(--tg-hint)}.drop-zone.active,.drop-zone:hover{border-color:var(--tg-btn);background:#2ea0430d}.spinner{width:32px;height:32px;border:3px solid var(--t-border);border-top-color:var(--t-accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.date-spinner{width:24px;height:24px;border:2.5px solid var(--t-border);border-top-color:var(--t-accent);border-radius:50%;animation:spin .7s linear infinite}.xp-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:6px}.xp-fill{height:100%;background:linear-gradient(90deg,var(--tg-btn),var(--tg-link));border-radius:3px;transition:width .4s ease}@supports not (backdrop-filter: blur(1px)){nav[aria-label="Main navigation"]{background:var(--t-glass-bg, rgba(12, 14, 20, .95))!important}}.chat-page{display:flex;flex-direction:column;height:calc(100vh - var(--bottomnav-height, 60px) - var(--topnav-height, 0px));max-width:var(--page-max-width, 480px);margin:0 auto}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--t-overlay-border);background:var(--t-glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.chat-messages{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.chat-bubble{max-width:85%;display:flex}.chat-bubble.user{align-self:flex-end}.chat-bubble.assistant{align-self:flex-start}.bubble-content{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;word-wrap:break-word}.chat-bubble.user .bubble-content{background:linear-gradient(135deg,#4e9cf7,#6b5ce7);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #4e9cf733}.chat-bubble.assistant .bubble-content{background:var(--t-glass-bg);border:1px solid var(--t-overlay-border);border-bottom-left-radius:4px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--t-text)}.typing{display:flex;gap:4px;align-items:center;padding:12px 18px}.typing .dot{width:8px;height:8px;border-radius:50%;background:var(--tg-hint);animation:typing-bounce 1.4s ease infinite}.typing .dot:nth-child(2){animation-delay:.2s}.typing .dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-input-bar{display:flex;gap:8px;padding:10px 16px 14px;border-top:1px solid var(--t-overlay-border);background:var(--t-glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.chat-input{flex:1;padding:10px 14px;border:1px solid var(--t-border);border-radius:20px;background:var(--t-surface);color:var(--t-text);font-size:14px;resize:none;outline:none;font-family:inherit}.chat-input:focus{border-color:var(--tg-btn)}.chat-send{width:40px;height:40px;border:none;border-radius:50%;background:linear-gradient(135deg,#4e9cf7,#6b5ce7);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #4e9cf74d;transition:all .15s}.chat-send:disabled{opacity:.4;cursor:not-allowed}@keyframes aiSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.level-up-flash{background:linear-gradient(135deg,#22c55e26,#3b82f626);border-color:var(--success)!important;animation:levelup-pulse .6s ease}@keyframes levelup-pulse{0%{transform:scale(.95);opacity:0}50%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}.trainer-theme{color:var(--t-text);font-family:system-ui,-apple-system,Segoe UI,sans-serif}[data-theme=light] body{background:var(--t-bg)}[data-theme=light] nav[aria-label="Main navigation"]{background:var(--t-glass-bg)!important;border-top-color:var(--t-border)!important}[data-theme=light] .trainer-theme .t-panel{box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}[data-theme=light] .chat-input-bar textarea{background:var(--t-surface2);color:var(--t-text);border-color:var(--t-border)}[data-theme=light] .trainer-theme .shimmer-btn:after{background:linear-gradient(110deg,transparent 25%,rgba(0,0,0,.06) 50%,transparent 75%)}[data-theme=light] .panel,[data-theme=light] .elevation-1{box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a}[data-theme=light] .elevation-2{box-shadow:0 4px 12px #0000001a,0 0 0 1px #3b82f614}.trainer-theme .t-panel{background:var(--t-surface);border:1px solid var(--t-border);border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 1px 3px #0000004d,0 1px 2px #0003}.trainer-theme .t-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;font-family:inherit}.trainer-theme .t-btn:active{opacity:.7;transform:scale(.98)}.trainer-theme .t-btn:disabled{opacity:.4;cursor:not-allowed}.trainer-theme .t-btn-primary{background:linear-gradient(135deg,#4e9cf7,#6b5ce7);color:#fff;box-shadow:0 2px 12px #4e9cf74d}.trainer-theme .t-btn-raise{background:transparent;border:1.5px solid var(--t-raise);color:var(--t-raise);box-shadow:0 0 12px #e8485533}.trainer-theme .t-btn-call{background:transparent;border:1.5px solid var(--t-call);color:var(--t-call);box-shadow:0 0 12px #3ecf7233}.trainer-theme .t-btn-fold{background:var(--t-fold);border:1.5px solid var(--t-border);color:var(--t-fold-text)}.trainer-theme .t-btn-secondary{background:var(--t-surface);border:1px solid var(--t-border);color:var(--t-text-soft)}.trainer-theme .t-btn-full{width:100%}.trainer-theme .range-grid{display:grid;grid-template-columns:repeat(13,1fr);gap:0;width:100%;border:1px solid rgba(0,0,0,.3)}.trainer-theme .range-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:0;border:.5px solid rgba(0,0,0,.15);padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:700;font-size:11px;line-height:1;user-select:none;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;position:relative}.trainer-theme .range-cell.compact{border:none;font-size:0;cursor:default;transition:none}.trainer-theme .range-cell.compact:hover{transform:none;z-index:auto}.trainer-theme .range-cell:hover{transform:scale(1.15);z-index:10}.trainer-theme .range-cell.highlighted{outline:2px solid var(--t-accent);outline-offset:-1px;z-index:11}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.trainer-theme .shimmer-btn{position:relative;overflow:hidden}.trainer-theme .shimmer-btn:after{content:"";position:absolute;inset:0;opacity:.2;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.4) 50%,transparent 75%);animation:shimmer 3s ease-in-out infinite}.trainer-theme .t-back{background:none;border:none;color:var(--t-accent);font-size:20px;cursor:pointer;padding:4px 8px;line-height:1}.trainer-theme .t-breadcrumb{padding:8px 0;font-size:11px;color:var(--t-text-muted);display:flex;gap:6px;align-items:center}.trainer-theme .t-breadcrumb .active{color:var(--t-text);font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes wave-slosh{0%,to{transform:translate(0)}50%{transform:translate(-25%)}}@keyframes wave-slosh-2{0%,to{transform:translate(-10%)}50%{transform:translate(-35%)}}@keyframes grade-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1)}}@keyframes slide-up-fade{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #4e9cf766}50%{box-shadow:0 0 16px 4px #4e9cf726}}@keyframes btn-pulse{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes correct-flash{0%{background-color:#3ecf7226}to{background-color:transparent}}@keyframes wrong-flash{0%{background-color:#e848551f}to{background-color:transparent}}.skeleton{background:var(--t-surface2);position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,var(--t-shimmer) 50%,transparent 75%);animation:skeleton-shimmer 1.8s ease-in-out infinite}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:page-enter .2s ease-out}.btn-gradient{background:linear-gradient(135deg,#4e9cf7,#6b5ce7);color:#fff;box-shadow:0 2px 12px #4e9cf74d;transition:opacity .15s,box-shadow .2s}.btn-gradient:active{box-shadow:0 1px 4px #4e9cf733}.btn-gradient-gold{background:linear-gradient(135deg,#f0c850,#e8a020);color:#000;box-shadow:0 2px 12px #f0c8504d;transition:opacity .15s,box-shadow .2s}.btn-gradient-gold:active{box-shadow:0 1px 4px #f0c85033}.elevation-1{box-shadow:0 1px 3px #0000004d,0 1px 2px #0003}.elevation-2{box-shadow:0 4px 12px #0006,0 0 0 1px #4e9cf714}@keyframes deal-left{0%{transform:translate(20px) rotate(0) scale(.7);opacity:0}60%{transform:translate(-2px) rotate(-12deg) scale(1.03);opacity:1}to{transform:translate(0) rotate(-10deg) scale(1);opacity:1}}@keyframes deal-right{0%{transform:translate(-20px) rotate(0) scale(.7);opacity:0}60%{transform:translate(2px) rotate(10deg) scale(1.03);opacity:1}to{transform:translate(0) rotate(8deg) scale(1);opacity:1}}@keyframes card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@supports (padding: env(safe-area-inset-top)){.page,.container,.page-responsive{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.chat-input-bar{padding-bottom:max(14px,env(safe-area-inset-bottom))}}.trainer-theme .range-grid{contain:layout paint;content-visibility:auto}@media(min-width:1024px){.trainer-theme .t-btn:hover:not(:disabled){opacity:.85;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.trainer-theme .t-btn-primary:hover:not(:disabled),.trainer-theme .t-btn-call:hover:not(:disabled){box-shadow:0 4px 16px #3ecf7240}.trainer-theme .t-btn-raise:hover:not(:disabled){box-shadow:0 4px 16px #e8485540}.chip:hover{background:#4e9cf726;border-color:#4e9cf74d}.chip.active:hover{opacity:.9}.btn-gradient:hover{opacity:.9;box-shadow:0 4px 20px #4e9cf766}.btn-gradient-gold:hover{opacity:.9;box-shadow:0 4px 20px #f0c85066}.desktop-topnav .nav-item:hover{color:var(--tg-text);background:var(--t-overlay-border, rgba(255,255,255,.04))}.elevation-1:hover{box-shadow:0 4px 12px #0006,0 0 0 1px #4e9cf70f}}
