.header{background:var(--tg-theme-bg-color,#fff);border-bottom:1px solid #00000014;padding:12px 16px;box-shadow:0 2px 8px #0000000d}.header-content{max-width:600px;margin:0 auto}.header-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.header-title{align-items:center;gap:10px;display:flex}.header-title h1{color:var(--tg-theme-text-color,#2d3436);font-size:18px;font-weight:700}.header-title svg{color:var(--tg-theme-button-color,#5c7cfa)}.lang-select{background:var(--tg-theme-secondary-bg-color,#f1f3f5);color:var(--tg-theme-text-color,#2d3436);cursor:pointer;border:1px solid #00000014;border-radius:8px;outline:none;padding:4px 8px;font-size:13px;font-weight:600;transition:all .2s}.lang-select:focus{border-color:var(--tg-theme-button-color,#5c7cfa);box-shadow:0 0 0 2px #5c7cfa33}.header-actions{align-items:center;gap:8px;display:flex}.mode-switcher{background:var(--tg-theme-secondary-bg-color,#f1f3f5);border-radius:10px;gap:2px;padding:3px;display:flex}.mode-button{color:var(--tg-theme-hint-color,#868e96);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.mode-button.active{background:var(--tg-theme-bg-color,#fff);color:var(--tg-theme-button-color,#5c7cfa);box-shadow:0 2px 6px #0000001f}.mode-button:hover:not(.active){color:var(--tg-theme-text-color,#2d3436)}.settings-button{background:var(--tg-theme-button-color,#5c7cfa);color:var(--tg-theme-button-text-color,#fff);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.settings-button:hover{opacity:.85;transform:scale(1.05)}.settings-button:active{transform:scale(.95)}.stats-container{flex-direction:column;gap:6px;display:flex}.stats-text{color:var(--tg-theme-hint-color,#868e96);font-size:13px}.stats-text strong{color:var(--tg-theme-button-color,#5c7cfa);font-weight:700}.progress-bar{background:var(--tg-theme-secondary-bg-color,#e9ecef);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px;height:100%;transition:width .4s}.swipe-card{width:100%;height:100%;position:absolute}.card{cursor:pointer;perspective:1000px;-webkit-user-select:none;user-select:none;touch-action:none;width:100%;height:100%}.card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s;position:relative}.card.flipped .card-inner{transform:rotateY(180deg)}.card-face{backface-visibility:hidden;background:var(--tg-theme-bg-color,#fff);border-radius:20px;flex-direction:column;width:100%;height:100%;padding:24px;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 30px #0000001f}.card-front{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.card-back{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);transform:rotateY(180deg)}.badges-container{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.category-badge{text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;padding:8px 16px;font-size:12px;font-weight:600;display:inline-block}.difficulty-badge{text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;text-shadow:0 1px 2px #0003;background:#fff3;border-radius:20px;padding:8px 16px;font-size:12px;font-weight:600;display:inline-block}.question-content{text-align:center;flex:1;justify-content:center;align-items:center;padding:20px 0;display:flex}.question-content h2{text-shadow:0 2px 4px #0000001a;font-size:24px;font-weight:600;line-height:1.4}.flip-hint{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:.8;background:#ffffff26;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;display:flex}.answer-content{flex-direction:column;flex:1;justify-content:center;gap:16px;display:flex}.answer-label{text-transform:uppercase;letter-spacing:1px;opacity:.8;font-size:14px;font-weight:600}.answer-content p{text-shadow:0 2px 4px #0000001a;font-size:18px;line-height:1.6}.swipe-instructions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:12px;justify-content:space-between;margin-top:20px;padding:16px;display:flex}.swipe-hint{opacity:.9;font-size:14px;font-weight:600}.swipe-hint.left{color:#ff6b6b}.swipe-hint.right{color:#51cf66}.swipe-card{animation:.4s ease-out cardAppear}@keyframes cardAppear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.swipe-buttons{background:var(--tg-theme-bg-color,#fff);border-top:1px solid var(--tg-theme-hint-color,#e0e0e0);justify-content:center;gap:40px;padding:20px;display:flex}.swipe-button{background:var(--tg-theme-button-color,#3390ec);width:80px;height:80px;color:var(--tg-theme-button-text-color,#fff);cursor:pointer;border:none;border-radius:50%;flex-direction:column;align-items:center;gap:8px;font-size:12px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #00000026}.swipe-button:active{transform:scale(.95)}.swipe-button:disabled{opacity:.5;cursor:not-allowed}.swipe-button-left{background:linear-gradient(135deg,#ff6b6b 0%,#ee5a6f 100%)}.swipe-button-right{background:linear-gradient(135deg,#51cf66 0%,#37b24d 100%)}.swipe-button span{text-transform:uppercase;letter-spacing:.5px;font-size:11px}@media (hover:hover){.swipe-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 20px #0003}}.test-mode{flex-direction:column;width:100%;max-width:500px;height:calc(100vh - 180px);margin:0 auto;padding:20px;display:flex;overflow-y:auto}.test-card{background:var(--tg-theme-bg-color,#fff);border:1px solid #0000000d;border-radius:24px;flex-direction:column;gap:18px;padding:28px 22px;display:flex;box-shadow:0 10px 40px #00000014}.test-category{text-transform:uppercase;letter-spacing:1px;color:#764ba2;font-size:12px;font-weight:700}.test-question{color:var(--tg-theme-text-color,#2d3436);font-size:20px;font-weight:700;line-height:1.4}.result-icon{flex-shrink:0;margin-left:10px}.submit-test-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:16px;justify-content:center;align-items:center;margin-top:6px;padding:16px;font-size:17px;font-weight:700;transition:all .25s;display:flex;box-shadow:0 4px 14px #764ba24d}.submit-test-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.submit-test-button:active:not(:disabled){transform:scale(.98)}.test-result-feedback{flex-direction:column;gap:14px;margin-top:6px;animation:.3s ease-out fadeIn;display:flex}.next-test-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:14px;padding:16px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 14px #764ba240}.next-test-button:hover{opacity:.9;transform:translateY(-1px)}.test-mode-loading{color:#764ba2;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:200px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bug-hunting-mode{width:100%;max-width:600px;height:calc(100vh - 180px);margin:0 auto;padding:16px;overflow-y:auto}.bug-card{background:var(--tg-theme-bg-color,#fff);border:1px solid #0000000d;border-radius:24px;flex-direction:column;gap:16px;padding:24px;display:flex;box-shadow:0 10px 40px #00000014}.bug-header{justify-content:space-between;align-items:center;display:flex}.bug-badge{color:#fa5252;text-transform:uppercase;letter-spacing:.5px;background:#fff5f5;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:flex}.topic-badge{color:var(--tg-theme-hint-color,#868e96);font-size:12px;font-weight:600}.code-container{background:#1a1a2e;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #00000040}.code-header{color:#7f8c8d;background:#16213e;align-items:center;gap:8px;padding:8px 16px;font-family:monospace;font-size:12px;display:flex}.code-header:before{content:"● ● ●";letter-spacing:4px;color:#e74c3c;text-shadow:18px 0 #f1c40f,36px 0 #2ecc71;font-size:10px}.code-block{margin:0;padding:20px;overflow-x:auto}.code-block code{color:#abb2bf;white-space:pre;font-family:Fira Code,Courier New,monospace;font-size:13px;line-height:1.6}.bug-instruction{color:var(--tg-theme-text-color,#2d3436);font-size:15px;font-weight:600}.options-list{flex-direction:column;gap:10px;display:flex}.option-item{background:var(--tg-theme-secondary-bg-color,#f1f3f5);text-align:left;color:var(--tg-theme-text-color,#2d3436);cursor:pointer;border:2px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;font-weight:500;transition:all .18s;display:flex}.option-item:hover:not(:disabled){border-color:#fa5252;transform:translateY(-1px)}.option-item.selected{color:#e03131;background:#fff5f5;border-color:#fa5252}.option-item.correct{color:#2f9e44;background:#ebfbee;border-color:#40c057}.option-item.incorrect{color:#e03131;background:#fff5f5;border-color:#fa5252}.submit-bug-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f5576c 0%,#f093fb 100%);border:none;border-radius:16px;justify-content:center;align-items:center;margin-top:6px;padding:16px;font-size:16px;font-weight:700;transition:all .25s;display:flex;box-shadow:0 4px 14px #f5576c59}.submit-bug-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.submit-bug-button:active:not(:disabled){transform:scale(.98)}.bug-result-feedback{flex-direction:column;gap:12px;margin-top:6px;animation:.3s ease-out fadeIn;display:flex}.next-bug-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f5576c 0%,#f093fb 100%);border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #f5576c40}.next-bug-button:hover{opacity:.9;transform:translateY(-1px)}.bug-mode-loading{color:#fa5252;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:300px;display:flex}.blitz-mode{flex-direction:column;gap:16px;width:100%;max-width:500px;height:calc(100vh - 180px);margin:0 auto;padding:16px;display:flex}.blitz-header{justify-content:space-between;align-items:center;display:flex}.blitz-timer,.blitz-current-score{background:var(--tg-theme-secondary-bg-color,#f1f3f5);border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-size:16px;font-weight:700;display:flex}.blitz-timer{color:#4c6ef5}.blitz-timer.low-time{color:#fa5252;background:#fff5f5;animation:.6s ease-in-out infinite pulse}.blitz-current-score{color:#fab005}.blitz-card{background:var(--tg-theme-bg-color,#fff);text-align:center;border:2px solid #0000;border-radius:24px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;padding:36px 24px;transition:border-color .2s,background .2s;display:flex;box-shadow:0 10px 40px #00000014}.blitz-card.correct{background:#f4fef6;border-color:#40c057}.blitz-card.incorrect{background:#fff8f8;border-color:#fa5252}.blitz-topic{text-transform:uppercase;color:#764ba2;letter-spacing:1px;font-size:12px;font-weight:700}.blitz-statement{color:var(--tg-theme-text-color,#2d3436);align-items:center;min-height:80px;font-size:22px;font-weight:700;line-height:1.35;display:flex}.blitz-actions{gap:14px;width:100%;display:flex}.blitz-btn{cursor:pointer;color:#fff;border:none;border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:18px;font-size:16px;font-weight:700;transition:all .2s;display:flex}.false-btn{background:linear-gradient(135deg,#f5576c 0%,#f093fb 100%);box-shadow:0 4px 14px #f5576c59}.true-btn{background:linear-gradient(135deg,#43e97b 0%,#38f9d7 100%);box-shadow:0 4px 14px #40c05759}.blitz-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-4px)}.blitz-btn:active{transform:scale(.96)}.blitz-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.blitz-progress{background:var(--tg-theme-secondary-bg-color,#e9ecef);border-radius:4px;height:8px;overflow:hidden}.blitz-progress-fill{background:linear-gradient(90deg,#4c6ef5,#764ba2);border-radius:4px;height:100%;transition:width 1s linear}.blitz-start-screen,.blitz-results-screen{justify-content:center;align-items:center;height:calc(100vh - 180px);padding:20px;display:flex}.blitz-start-card,.blitz-results-card{background:var(--tg-theme-bg-color,#fff);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:400px;padding:48px 32px;display:flex;box-shadow:0 20px 50px #0000001a}.blitz-start-card h2,.blitz-results-card h2{color:var(--tg-theme-text-color,#2d3436);font-size:26px;font-weight:800}.blitz-start-card p,.blitz-results-card p{color:var(--tg-theme-hint-color,#868e96);font-size:15px;line-height:1.5}.zap-icon{color:#fab005;animation:2s infinite bounce}.trophy-icon{color:#fab005}.start-blitz-button,.retry-blitz-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:16px;align-items:center;gap:12px;padding:16px 32px;font-size:17px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #764ba259}.start-blitz-button:hover,.retry-blitz-button:hover{transform:scale(1.04);box-shadow:0 6px 18px #764ba273}.final-score{flex-direction:column;align-items:center;gap:4px;display:flex}.final-score strong{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:72px;font-weight:900;line-height:1}.blitz-loading{color:#4c6ef5;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:200px;display:flex}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-16px)}60%{transform:translateY(-8px)}}.mock-interview-mode{background:var(--tg-theme-secondary-bg-color,#f1f3f5);border-radius:24px;flex-direction:column;width:100%;max-width:600px;height:calc(100vh - 180px);margin:0 auto;display:flex;overflow:hidden;box-shadow:0 10px 40px #0000000f}.interview-chat{flex-direction:column;flex:1;gap:20px;padding:20px;display:flex;overflow-y:auto}.message-group{gap:10px;max-width:92%;display:flex}.message-group.interviewer{align-self:flex-start}.message-group.candidate{flex-direction:row-reverse;align-self:flex-end}.message-avatar{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.interviewer .message-avatar{color:#4c6ef5;background:#edf2ff}.candidate .message-avatar{color:#2f9e44;background:#e3f9e5}.message-bubble{background:var(--tg-theme-bg-color,#fff);color:var(--tg-theme-text-color,#2d3436);border-radius:18px;padding:14px 16px;font-size:15px;line-height:1.55;box-shadow:0 2px 8px #0000000f}.interviewer .message-bubble{border-top-left-radius:4px}.candidate .message-bubble{color:#fff;background:#4c6ef5;border-top-right-radius:4px}.message-bubble.loading{color:var(--tg-theme-hint-color,#868e96);align-items:center;gap:10px;display:flex}.evaluation-card{background:var(--tg-theme-bg-color,#fff);color:var(--tg-theme-text-color,#2d3436);border:1px solid #0000000d;border-radius:16px;margin-top:12px;padding:16px;box-shadow:0 4px 14px #00000014}.evaluation-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.score-badge{color:#fff;background:linear-gradient(135deg,#fab005,#fd7e14);border-radius:8px;align-items:center;gap:4px;padding:4px 12px;font-size:14px;font-weight:700;display:flex;box-shadow:0 2px 8px #fab00559}.evaluation-label{text-transform:uppercase;color:var(--tg-theme-hint-color,#868e96);letter-spacing:.5px;font-size:12px;font-weight:700}.evaluation-feedback{background:var(--tg-theme-secondary-bg-color,#f1f3f5);color:var(--tg-theme-text-color,#2d3436);border-radius:12px;margin-bottom:12px;padding:12px 14px;font-size:14px;line-height:1.55}.correct-version{color:var(--tg-theme-text-color,#2d3436);font-size:13px;line-height:1.5}.correct-version strong{color:#2f9e44;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;display:block}.next-question-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:14px;padding:12px;font-size:15px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #764ba24d}.next-question-btn:hover{opacity:.9;transform:translateY(-1px)}.interview-input-area{background:var(--tg-theme-bg-color,#fff);border-top:1px solid #00000012;gap:10px;padding:14px 16px;display:flex}.interview-input-area textarea{resize:none;background:var(--tg-theme-secondary-bg-color,#f1f3f5);height:48px;color:var(--tg-theme-text-color,#2d3436);border:1.5px solid #0000001a;border-radius:12px;flex:1;padding:11px 14px;font-family:inherit;font-size:15px;transition:border-color .2s,background .2s}.interview-input-area textarea:focus{background:var(--tg-theme-bg-color,#fff);border-color:#4c6ef5;outline:none}.send-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex;box-shadow:0 3px 10px #764ba24d}.send-btn:hover:not(:disabled){transform:scale(1.06)}.send-btn:disabled{background:var(--tg-theme-secondary-bg-color,#e9ecef);color:var(--tg-theme-hint-color,#868e96);cursor:not-allowed;box-shadow:none}.concept-linker-mode{width:100%;max-width:800px;height:calc(100vh - 180px);margin:0 auto;padding:16px}.linker-container{background:var(--tg-theme-bg-color,#fff);border-radius:24px;flex-direction:column;height:100%;padding:24px;display:flex;position:relative;box-shadow:0 10px 40px #00000014}.linker-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.linker-badge{color:#7950f2;text-transform:uppercase;letter-spacing:.5px;background:#f3f0ff;border-radius:12px;align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:700;display:flex}.level-progress{color:var(--tg-theme-hint-color,#868e96);font-size:14px;font-weight:600}.linker-grid{flex:1;grid-template-columns:1fr 1fr;gap:16px;display:grid;overflow-y:auto}.terms-column,.defs-column{flex-direction:column;gap:10px;display:flex}.terms-column h3,.defs-column h3{color:var(--tg-theme-hint-color,#868e96);text-transform:uppercase;letter-spacing:.5px;text-align:center;margin-bottom:6px;font-size:12px;font-weight:700}.linker-item{background:var(--tg-theme-secondary-bg-color,#f8f9fa);color:var(--tg-theme-text-color,#2d3436);cursor:pointer;border:2px solid #0000;border-radius:14px;align-items:center;min-height:72px;padding:14px;font-size:13px;font-weight:500;line-height:1.4;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 6px #0000000a}.linker-item:hover{border-color:#7950f24d;transform:translateY(-2px)}.linker-item.selected{color:#7950f2;background:#f3f0ff;border-color:#7950f2;box-shadow:0 4px 14px #7950f22e}.linker-item.matched{color:#2f9e44;cursor:default;opacity:.7;background:#ebfbee;border-color:#40c057;transform:none}.linker-item.wrong{color:#e03131;background:#fff5f5;border-color:#fa5252;animation:.4s ease-in-out shake}.level-complete-overlay{-webkit-backdrop-filter:blur(6px);z-index:10;background:#00000059;border-radius:24px;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:absolute;inset:0}.complete-card{background:var(--tg-theme-bg-color,#fff);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:18px;width:90%;max-width:340px;padding:40px 32px;display:flex;box-shadow:0 24px 60px #0003}.complete-card h2{color:var(--tg-theme-text-color,#2d3436);font-size:24px;font-weight:800}.complete-card p{color:var(--tg-theme-hint-color,#868e96);font-size:15px}.sparkles-icon{color:#fab005;animation:2s infinite bounce}.next-level-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7950f2 0%,#4c6ef5 100%);border:none;border-radius:16px;align-items:center;gap:10px;padding:14px 28px;font-size:16px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #7950f259}.next-level-btn:hover{transform:scale(1.04);box-shadow:0 6px 18px #7950f273}.linker-loading{color:#7950f2;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:300px;display:flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.code-completion-mode{width:100%;max-width:600px;height:calc(100vh - 180px);margin:0 auto;padding:16px;overflow-y:auto}.completion-card{background:var(--tg-theme-bg-color,#fff);border:1px solid #0000000d;border-radius:24px;flex-direction:column;gap:16px;padding:24px;display:flex;box-shadow:0 10px 40px #00000014}.completion-header{justify-content:space-between;align-items:center;display:flex}.completion-badge{color:#228be6;text-transform:uppercase;letter-spacing:.5px;background:#e7f5ff;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:flex}.snippet-container{background:#1a1a2e;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #00000040}.snippet-header{color:#7f8c8d;background:#16213e;align-items:center;gap:8px;padding:8px 16px;font-family:monospace;font-size:12px;display:flex}.snippet-header:before{content:"● ● ●";letter-spacing:4px;color:#e74c3c;text-shadow:18px 0 #f1c40f,36px 0 #2ecc71;font-size:10px}.snippet-block{margin:0;padding:20px;overflow-x:auto}.snippet-block code{color:#abb2bf;font-family:Fira Code,Courier New,monospace;font-size:13px;line-height:1.6}.code-placeholder{color:#fab005;text-align:center;background:#ffffff14;border-bottom:2px dashed #fab005;border-radius:4px;min-width:48px;padding:2px 10px;font-weight:700;transition:all .25s;display:inline-block}.code-placeholder.has-selection{background:#fab0052e;border-bottom-style:solid}.code-placeholder.correct{color:#40c057;background:#40c0572e;border-color:#40c057}.code-placeholder.incorrect{color:#fa5252;background:#fa52522e;border-color:#fa5252}.completion-instruction{color:var(--tg-theme-text-color,#2d3436);font-size:15px;font-weight:600}.options-grid{grid-template-columns:1fr;gap:10px;display:grid}.completion-option{background:var(--tg-theme-secondary-bg-color,#f1f3f5);text-align:left;cursor:pointer;border:2px solid #0000;border-radius:12px;padding:14px;transition:all .18s}.completion-option code{color:var(--tg-theme-text-color,#2d3436);font-family:Fira Code,monospace;font-size:13px}.completion-option:hover:not(:disabled){border-color:#228be6;transform:translateY(-1px)}.completion-option.selected{background:#e7f5ff;border-color:#228be6}.completion-option.selected code{color:#1971c2}.completion-option.correct{background:#ebfbee;border-color:#40c057}.completion-option.correct code{color:#2f9e44}.completion-option.incorrect{background:#fff5f5;border-color:#fa5252}.completion-option.incorrect code{color:#e03131}.submit-completion-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);border:none;border-radius:16px;margin-top:6px;padding:16px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 14px #4facfe59}.submit-completion-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.submit-completion-button:active:not(:disabled){transform:scale(.98)}.completion-result-feedback{flex-direction:column;gap:12px;margin-top:6px;animation:.3s ease-out fadeIn;display:flex}.feedback-correct,.feedback-incorrect{border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px;font-size:16px;font-weight:700;display:flex}.feedback-correct{color:#2f9e44;background:#ebfbee}.feedback-incorrect{color:#e03131;background:#fff5f5}.next-completion-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #4facfe40}.next-completion-button:hover{opacity:.9;transform:translateY(-1px)}.completion-mode-loading{color:#228be6;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:300px;display:flex}.resume-analyzer{width:100%;max-width:800px;height:calc(100vh - 120px);margin:0 auto;padding:16px;overflow-y:auto}.analyzer-container{background:var(--tg-theme-bg-color,#fff);border-radius:24px;flex-direction:column;gap:24px;padding:24px;display:flex;box-shadow:0 10px 40px #00000014}.analyzer-header{text-align:center}.back-btn{background:var(--tg-theme-secondary-bg-color,#f1f3f5);color:var(--tg-theme-text-color,#2d3436);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;margin-bottom:14px;padding:8px 14px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.back-btn:hover{background:var(--tg-theme-hint-color,#dee2e6)}.analyzer-header h2{color:var(--tg-theme-text-color,#2d3436);margin-bottom:6px;font-size:24px;font-weight:800}.subtitle{color:var(--tg-theme-hint-color,#868e96);font-size:14px}.analyzer-input-section{flex-direction:column;gap:18px;display:flex}.input-group{flex-direction:column;gap:8px;display:flex}.input-group label{color:var(--tg-theme-text-color,#2d3436);font-size:14px;font-weight:700}.input-group textarea{background:var(--tg-theme-secondary-bg-color,#f8f9fa);width:100%;color:var(--tg-theme-text-color,#2d3436);resize:vertical;border:2px solid #00000014;border-radius:16px;padding:14px 16px;font-family:inherit;font-size:14px;transition:all .2s}.input-group textarea:focus{background:var(--tg-theme-bg-color,#fff);border-color:#228be6;outline:none;box-shadow:0 0 0 4px #228be61a}.analyze-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);border:none;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:16px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #4facfe59}.analyze-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #4facfe73}.analyze-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.results-grid{flex-direction:column;gap:14px;display:flex}.result-card{background:var(--tg-theme-secondary-bg-color,#f8f9fa);border-radius:18px;padding:18px}.level-card{background:#fff9db;align-items:center;gap:16px;display:flex}.level-card .card-icon{color:#fff;background:linear-gradient(135deg,#fab005,#fd7e14);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.level-card h3{color:#7c5700;margin-bottom:4px;font-size:14px;font-weight:700}.level-badge{color:#fff;background:linear-gradient(135deg,#fab005,#fd7e14);border-radius:8px;padding:4px 14px;font-size:14px;font-weight:800;display:inline-block}.skills-card .card-header{color:#228be6;align-items:center;gap:8px;margin-bottom:12px;font-size:15px;font-weight:700;display:flex}.skills-list{flex-wrap:wrap;gap:8px;display:flex}.skill-tag{background:var(--tg-theme-bg-color,#fff);color:var(--tg-theme-text-color,#495057);border:1px solid #00000014;border-radius:10px;padding:6px 14px;font-size:13px;font-weight:600}.analysis-card{grid-template-columns:1fr;gap:18px;display:grid}.section-title{align-items:center;gap:8px;margin-bottom:10px;font-size:15px;font-weight:700;display:flex}.section-title.strengths{color:#40c057}.section-title.improvement{color:#fa5252}.analysis-section ul{margin:0;padding-left:18px}.analysis-section li{color:var(--tg-theme-text-color,#495057);margin-bottom:6px;font-size:14px;line-height:1.5}.questions-card h3{color:var(--tg-theme-text-color,#2d3436);margin-bottom:12px;font-size:15px;font-weight:700}.suggested-questions{flex-direction:column;gap:10px;display:flex}.suggested-q-item{background:var(--tg-theme-bg-color,#fff);color:var(--tg-theme-text-color,#495057);border-left:4px solid #228be6;border-radius:12px;padding:12px 16px;font-size:13px;line-height:1.5}.reset-analyzer-btn{color:var(--tg-theme-hint-color,#868e96);cursor:pointer;background:0 0;border:2px dashed #00000026;border-radius:16px;padding:14px;font-size:14px;font-weight:600;transition:all .2s}.reset-analyzer-btn:hover{color:var(--tg-theme-text-color,#2d3436);border-color:#0000004d}.spinner{animation:1s linear infinite spin}.skeleton-card{background:var(--card-bg,#ffffff0d);border-radius:16px;flex-direction:column;gap:12px;min-height:200px;padding:24px;display:flex}.skeleton-badge{border-radius:12px;width:80px;height:24px}.skeleton-title{border-radius:6px;width:70%;height:20px}.skeleton-line{border-radius:4px;width:100%;height:14px}.skeleton-line.short{width:60%}.skeleton-actions{gap:12px;margin-top:auto;display:flex}.skeleton-btn{border-radius:50%;width:56px;height:56px}.skeleton-text-block{flex-direction:column;gap:10px;display:flex}.skeleton-explanation{flex-direction:column;gap:10px;padding:20px;display:flex}.shimmer{background:linear-gradient(90deg,#ffffff0a 0%,#ffffff1a 40%,#ffffff0a 80%) 0 0/400% 100%;animation:1.8s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-overlay{z-index:1000;background:#000000a6;justify-content:center;align-items:flex-end;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--tg-theme-bg-color,#fff);border-radius:24px 24px 0 0;flex-direction:column;width:100%;max-width:600px;max-height:82vh;animation:.3s ease-out slideUp;display:flex;box-shadow:0 -8px 30px #0003}.modal-header{border-bottom:1px solid #00000012;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-header h2{color:var(--tg-theme-text-color,#2d3436);margin:0;font-size:18px;font-weight:700}.close-button{background:var(--tg-theme-secondary-bg-color,#f1f3f5);cursor:pointer;color:var(--tg-theme-hint-color,#868e96);border:none;border-radius:10px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.close-button:hover{color:var(--tg-theme-text-color,#2d3436);background:#0000001a}.modal-body{-webkit-overflow-scrolling:touch;flex:1;padding:20px;overflow-y:auto}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 20px;display:flex}.spinner{color:var(--tg-theme-button-color,#5c7cfa);animation:1s linear infinite spin}.loading-container p{color:var(--tg-theme-hint-color,#868e96);font-size:14px}.explanation-content{color:var(--tg-theme-text-color,#2d3436);font-size:15px;line-height:1.65}.explanation-content h1,.explanation-content h2,.explanation-content h3{color:var(--tg-theme-text-color,#2d3436);margin:20px 0 10px;line-height:1.3}.explanation-content h1{font-size:22px}.explanation-content h2{font-size:18px}.explanation-content h3{font-size:16px}.explanation-content p{margin:10px 0}.explanation-content ul,.explanation-content ol{margin:10px 0;padding-left:22px}.explanation-content li{margin:6px 0}.explanation-content code{background:var(--tg-theme-secondary-bg-color,#f1f3f5);color:#c92a2a;border-radius:5px;padding:2px 7px;font-family:Fira Code,Courier New,monospace;font-size:.88em}.explanation-content pre{background:#1a1a2e;border-radius:12px;margin:14px 0;padding:16px 18px;overflow-x:auto;box-shadow:0 4px 14px #0003}.explanation-content pre code{color:#abb2bf;background:0 0;padding:0;font-size:13px;line-height:1.6}.explanation-content blockquote{border-left:4px solid var(--tg-theme-button-color,#5c7cfa);background:var(--tg-theme-secondary-bg-color,#f1f3f5);color:var(--tg-theme-hint-color,#868e96);border-radius:0 10px 10px 0;margin:14px 0;padding:10px 16px;font-style:italic}.modal-footer{border-top:1px solid #00000012;flex-shrink:0;padding:16px 20px}.action-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:14px;width:100%;padding:15px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 14px #764ba24d}.action-button:active{transform:scale(.98)}@media (hover:hover){.action-button:hover{opacity:.9}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.category-selection{flex-direction:column;max-width:600px;min-height:100vh;margin:0 auto;padding:20px;display:flex}.category-selection.loading{justify-content:center;align-items:center}.spinner{border:4px solid #00000014;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.category-header{text-align:center;margin-bottom:20px}.category-header h1{color:var(--tg-theme-text-color,#2d3436);margin:0 0 6px;font-size:26px;font-weight:800}.category-header p{color:var(--tg-theme-hint-color,#868e96);margin:0;font-size:15px}.category-actions{gap:10px;margin-bottom:16px;display:flex}.action-btn{background:var(--tg-theme-secondary-bg-color,#f1f3f5);color:var(--tg-theme-text-color,#495057);cursor:pointer;border:1.5px solid #00000014;border-radius:10px;flex:1;padding:10px 14px;font-size:14px;font-weight:600;transition:all .2s}.action-btn:hover{background:#00000012;border-color:#00000026}.action-btn:active{transform:scale(.97)}.categories-grid{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;max-height:calc(100vh - 300px);margin-bottom:20px;padding-bottom:16px;display:grid;overflow-y:auto}.category-card{background:var(--tg-theme-bg-color,#fff);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:2px solid #00000014;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.category-card:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 14px #667eea2e}.category-card:active{transform:translateY(0)}.category-card.selected{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#0000;box-shadow:0 4px 14px #764ba259}.category-checkbox{pointer-events:none;border:2px solid #00000026;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex}.category-card.selected .category-checkbox{color:#fff;background:#ffffff40;border-color:#ffffff80}.category-info{pointer-events:none;flex:1}.category-name{color:var(--tg-theme-text-color,#2d3436);margin-bottom:3px;font-size:15px;font-weight:700}.category-card.selected .category-name{color:#fff}.category-count{color:var(--tg-theme-hint-color,#868e96);font-size:12px}.category-card.selected .category-count{color:#ffffffbf}.category-footer{background:var(--tg-theme-bg-color,#fff);z-index:10;border-top:1px solid #00000012;margin-top:auto;padding:14px 0;position:sticky;bottom:0}.selected-count{text-align:center;color:var(--tg-theme-hint-color,#868e96);margin-bottom:10px;font-size:13px}.start-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:14px;width:100%;padding:15px;font-size:17px;font-weight:700;transition:all .2s;box-shadow:0 4px 14px #764ba259}.start-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #764ba273}.start-button:active:not(:disabled){transform:translateY(0)}.start-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}@media (width<=600px){.category-selection{padding:14px}.category-header h1{font-size:22px}.categories-grid{grid-template-columns:1fr}.start-button{padding:13px;font-size:16px}}.subscription-container{max-width:800px;margin:0 auto;padding:20px;animation:.3s ease-out fadeIn}.subscription-header{text-align:center;margin-bottom:32px;position:relative}.back-button{color:var(--text-color);cursor:pointer;background:0 0;border:none;padding:8px;position:absolute;top:0;left:0}.subscription-header h1{background:linear-gradient(135deg,#4dabf7,#339af0);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:28px}.subscription-header p{opacity:.7}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.plan-card{background:var(--card-bg);border:1px solid #ffffff0d;border-radius:24px;flex-direction:column;padding:32px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;display:flex;position:relative}.plan-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #0003}.plan-card.featured{background:linear-gradient(145deg, var(--card-bg), #339af01a);border-color:#339af04d}.featured-badge{color:#fff;letter-spacing:.5px;background:#339af0;border-radius:20px;padding:4px 12px;font-size:10px;font-weight:700;position:absolute;top:16px;right:16px}.plan-icon{margin-bottom:16px}.plan-name{margin-bottom:8px;font-size:20px;font-weight:700}.plan-price{margin-bottom:24px}.plan-price .amount{font-size:32px;font-weight:800}.plan-price .period{opacity:.6;font-size:14px}.plan-features{flex-grow:1;margin:0 0 32px;padding:0;list-style:none}.plan-features li{opacity:.9;align-items:center;gap:12px;margin-bottom:12px;font-size:14px;display:flex}.plan-features li svg{color:#51cf66;flex-shrink:0}.subscribe-button{color:#fff;cursor:pointer;background:#339af0;border:none;border-radius:12px;width:100%;padding:14px;font-weight:600;transition:all .2s}.subscribe-button:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.02)}.subscribe-button:disabled{color:#ffffff4d;cursor:not-allowed;background:#ffffff1a}.subscribe-button.current{color:#51cf66;background:#51cf661a;border:1px solid #51cf664d}.app{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.app-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;width:100%;height:100%;padding:40px;display:flex}.app-loading .spinner{color:var(--tg-theme-button-color,#5c7cfa);animation:1s linear infinite spin}.app-loading p{color:var(--tg-theme-hint-color,#868e96);font-size:14px}.card-container{flex:1;justify-content:center;align-items:center;padding:20px;display:flex;position:relative;overflow:hidden}.card-stack{width:100%;max-width:400px;height:500px;max-height:60vh;position:relative}.card-wrapper{will-change:transform, opacity;width:100%;height:100%;transition:transform .3s,opacity .3s;position:absolute}.completion-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:40px;animation:.5s ease-out fadeIn;display:flex}.completion-screen h2{color:var(--tg-theme-text-color,#2d3436);margin:0;font-size:24px;font-weight:600}.completion-screen p{color:var(--tg-theme-hint-color,#868e96);margin:0;font-size:16px}.restart-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:16px;padding:16px 32px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 14px #764ba259}.restart-button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #764ba273}.restart-button:active{transform:scale(.97)}@media (height<=700px){.card-stack{height:400px}}@media (height<=600px){.card-stack{height:350px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--tg-theme-bg-color,#f5f5f5);color:var(--tg-theme-text-color,#000);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:100%;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}code{background:#0000000d;border-radius:4px;padding:2px 6px;font-family:Courier New,Courier,monospace;font-size:.9em}pre{background:#0000000d;border-radius:8px;margin:12px 0;padding:12px;overflow-x:auto}pre code{background:0 0;padding:0}button{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;outline:none;font-family:inherit}input,textarea{outline:none;font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0000004d}
