:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary: #f97316;--primary-light: #ffedd5;--primary-dark: #ea580c;--secondary: #1e40af;--accent: #10b981;--warning: #f59e0b;--danger: #ef4444;--bg-primary: #fefbf7;--bg-secondary: #fff7ed;--bg-card: #ffffff;--bg-dark: #1f2937;--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--text-inverse: #ffffff;--border-light: #f3f4f6;--border-medium: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-medium);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{min-height:100vh;position:relative}.report-container{max-width:800px;margin:0 auto;padding:0 16px 40px;transition:filter .3s ease}.report-container.blurred{filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none}.report-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);margin:0 -16px 24px;padding:40px 16px 32px;text-align:center;position:relative;overflow:hidden}.report-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(2%,2%) rotate(5deg)}}.header-content{position:relative;z-index:1}.report-header h1{font-size:28px;font-weight:700;color:var(--text-inverse);margin-bottom:8px;letter-spacing:-.5px}.header-subtitle{color:#ffffffe6;font-size:14px;margin-bottom:16px}.token-badge{display:inline-block;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-inverse);font-size:12px;padding:6px 12px;border-radius:20px;font-family:monospace}.report-content{display:flex;flex-direction:column;gap:20px}.section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.section-icon{color:var(--primary)}.section-title{font-size:20px;font-weight:700;color:var(--text-primary)}.section-subtitle{font-size:14px;color:var(--text-secondary);margin-top:-12px;margin-bottom:16px}.score-section{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md)}.user-info-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:24px}.user-avatar{width:56px;height:56px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-inverse)}.user-name{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.user-position{font-size:14px;color:var(--text-secondary)}.overall-score-card{display:flex;align-items:center;justify-content:center;gap:24px;padding:24px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border-radius:var(--radius-lg);margin-bottom:24px}.score-circle{position:relative;width:120px;height:120px}.score-svg{width:100%;height:100%;transform:rotate(-90deg)}.score-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.score-number{font-size:36px;font-weight:700;color:var(--text-primary)}.score-total{font-size:14px;color:var(--text-muted)}.score-info{text-align:center}.score-level{display:block;font-size:24px;font-weight:700;margin-bottom:4px}.score-desc{font-size:13px;color:var(--text-secondary)}.skills-section{background:var(--bg-primary);border-radius:var(--radius-md);padding:16px}.skills-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:12px}.skill-radar{width:100%}.diagnosis-section{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md)}.problems-list{display:flex;flex-direction:column;gap:12px}.problem-card{background:var(--bg-primary);border-radius:var(--radius-md);padding:16px;border-left:4px solid var(--warning)}.problem-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.problem-number{width:24px;height:24px;background:var(--warning);color:var(--text-inverse);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.problem-icon-wrapper{color:var(--warning)}.problem-title{font-size:15px;font-weight:600;color:var(--text-primary)}.problem-description{font-size:13px;color:var(--text-secondary);line-height:1.6;padding-left:34px}.course-section{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md)}.course-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:var(--radius-lg);padding:24px;position:relative;overflow:hidden}.course-badge{position:absolute;top:16px;right:16px;background:var(--primary);color:var(--text-inverse);font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;display:flex;align-items:center;gap:4px}.course-name{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:12px;padding-right:80px}.course-meta{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.course-meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.course-meta-item.price{color:var(--danger);font-weight:700;font-size:15px}.course-reasons{background:#fff9;border-radius:var(--radius-md);padding:16px;margin-bottom:20px}.reasons-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.reasons-list{list-style:none;display:flex;flex-direction:column;gap:10px}.reason-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-secondary)}.reason-icon{color:var(--accent);flex-shrink:0;margin-top:2px}.course-cta-button{width:100%;background:var(--primary);color:var(--text-inverse);border:none;padding:14px 24px;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #f9731666}.course-cta-button:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px #f9731680}.course-cta-button:active{transform:translateY(0)}.report-footer{text-align:center;padding:32px 16px;margin-top:20px;border-top:1px solid var(--border-light)}.report-footer p{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.footer-note{font-size:11px!important;color:var(--text-muted)!important}.auth-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{background:var(--bg-card);border-radius:var(--radius-xl);padding:32px 24px;width:100%;max-width:380px;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-modal-header{text-align:center;margin-bottom:24px}.auth-icon{color:var(--primary);margin-bottom:12px}.auth-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.auth-subtitle{font-size:14px;color:var(--text-secondary)}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-primary)}.form-group input{padding:12px 14px;border:1.5px solid var(--border-medium);border-radius:var(--radius-md);font-size:15px;transition:all .2s ease;background:var(--bg-primary)}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group input.error{border-color:var(--danger)}.error-text{font-size:12px;color:var(--danger)}.privacy-agreement{padding:12px 0}.checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.checkbox-label input{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid var(--border-medium);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:all .2s ease}.checkbox-label input:checked+.checkbox-custom{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.agreement-text{font-size:13px;color:var(--text-secondary);line-height:1.5}.agreement-text a{color:var(--primary);text-decoration:none;font-weight:500}.agreement-text a:hover{text-decoration:underline}.submit-auth-button{background:var(--primary);color:var(--text-inverse);border:none;padding:14px 24px;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.submit-auth-button:hover:not(:disabled){background:var(--primary-dark)}.submit-auth-button:disabled{background:var(--border-medium);color:var(--text-muted);cursor:not-allowed}@media(max-width:767px){.report-container{padding:0 12px 32px}.report-header{margin:0 -12px 20px;padding:32px 12px 28px}.report-header h1{font-size:24px}.section-title{font-size:18px}.score-section,.diagnosis-section,.course-section{padding:20px}.overall-score-card{flex-direction:column;gap:16px}.course-name{font-size:18px;padding-right:0;padding-top:32px}.course-badge{left:16px;right:auto}}@media(min-width:768px)and (max-width:1023px){.report-container{padding:0 24px 40px}.report-header{margin:0 -24px 24px;padding:40px 24px 32px}}@media(min-width:1024px){.report-container{padding:0 32px 48px}.report-header{margin:0 -32px 32px;padding:48px 32px 40px}.report-header h1{font-size:32px}}.report-container.blurred-mode .diagnosis-section,.report-container.blurred-mode .course-section{filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.6}.score-highlight{font-weight:700;color:var(--primary);font-size:1.2em}.footer-actions{margin-top:20px;display:flex;justify-content:center}.delete-data-btn{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--danger);color:var(--danger);padding:8px 16px;border-radius:var(--radius-md);font-size:13px;cursor:pointer;transition:all .2s ease;opacity:.7}.delete-data-btn:hover{background:#ef44440d;opacity:1}.deleted-state{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-secondary)}.message-container{text-align:center;padding:40px;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:400px}.deleted-icon{color:var(--text-muted);margin-bottom:16px}.message-container h2{color:var(--text-primary);margin-bottom:8px}.message-container p{color:var(--text-secondary)}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:var(--text-muted)}.input-with-icon input{padding-left:38px;width:100%}
