@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700;800&display=swap";
.tp-root{background:var(--bg-base);min-height:100vh;color:var(--text-primary);font-family:Space Grotesk,sans-serif;position:relative;overflow-x:hidden}.tp-glow{filter:blur(40px);pointer-events:none;z-index:0;will-change:transform;background:radial-gradient(circle,#8b7dd826 0%,#0000 70%);width:400px;height:400px;position:fixed}.tp-nav{z-index:50;background:var(--nav-glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.tp-nav-back{border:1px solid var(--border-default);color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:100px;padding:6px 16px;font-family:inherit;font-size:.8rem;transition:border-color .15s,color .15s}.tp-nav-back:hover{border-color:var(--border-strong);color:var(--text-primary)}.tp-body{z-index:1;max-width:760px;margin:0 auto;padding:40px 20px 80px;position:relative}.tp-loading{min-height:100vh;color:var(--text-tertiary);justify-content:center;align-items:center;font-family:Space Grotesk,sans-serif;font-size:.9rem;display:flex}.tp-hero{text-align:center;margin-bottom:40px}.tp-title{background:linear-gradient(135deg,#8b7dd8 0%,#ff6b9d 55%,#ffa64d 100%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 12px;font-size:clamp(2rem,5vw,3rem);font-weight:800;animation:6s ease-in-out infinite alternate tpTitleShift}@keyframes tpTitleShift{0%{background-position:0%}to{background-position:100%}}.tp-subtitle{color:var(--text-secondary);max-width:520px;margin:0 auto;font-size:.95rem;line-height:1.6}.tp-info-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:36px;display:grid}.tp-info-card{background:var(--surface-glass);border:1px solid var(--border-subtle);border-radius:14px;align-items:center;gap:14px;padding:16px 18px;transition:border-color .2s;display:flex}.tp-info-card:hover{border-color:#8b7dd840}.tp-info-icon{color:#8b7dd8cc;flex-shrink:0}.tp-info-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:3px;font-size:.68rem;font-weight:700}.tp-info-value{color:var(--text-primary);font-size:.88rem;font-weight:600}.tp-cta-wrap{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.tp-attempts-badge{color:var(--text-tertiary);margin:0;font-size:.78rem}.tp-start-btn{color:var(--text-primary);cursor:pointer;background:linear-gradient(135deg,#8b7dd8 0%,#a599e0 100%);border:none;border-radius:100px;min-width:200px;padding:14px 36px;font-family:inherit;font-size:.95rem;font-weight:700;transition:box-shadow .2s,transform .2s;display:inline-block}.tp-start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #8b7dd866}.tp-start-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.tp-outline-btn{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:100px;padding:11px 28px;font-family:inherit;font-size:.88rem;font-weight:600;transition:border-color .15s,color .15s;display:inline-block}.tp-outline-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.tp-upgrade-link{color:#8b7dd8d9;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-family:inherit;font-size:.82rem;text-decoration:underline}.tp-error{color:#ff6b6b;text-align:center;max-width:400px;font-size:.82rem}.tp-error--fixed{background:var(--bg-elevated);z-index:9999;border:1px solid #ff64644d;border-radius:10px;padding:10px 20px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.tp-resume-banner{background:#8b7dd814;border:1px solid #8b7dd84d;border-radius:16px;align-items:flex-start;gap:14px;margin-bottom:28px;padding:18px 20px;display:flex}.tp-resume-icon{color:#8b7dd8;flex-shrink:0;margin-top:2px}.tp-resume-title{color:var(--text-primary);margin-bottom:4px;font-size:.9rem;font-weight:700}.tp-resume-body{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.tp-resume-btn{color:var(--text-primary);cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#8b7dd8 0%,#a599e0 100%);border:none;border-radius:100px;flex-shrink:0;margin-left:auto;padding:9px 20px;font-family:inherit;font-size:.82rem;font-weight:700;transition:box-shadow .15s}.tp-resume-btn:hover{box-shadow:0 6px 20px #8b7dd866}.tp-adaptive-badge{text-align:center;border-radius:12px;max-width:400px;padding:12px 18px;font-size:.85rem;font-weight:500;line-height:1.55}.tp-adaptive-badge.hard{color:#6cde8e;background:#64dc8214;border:1px solid #64dc8240}.tp-adaptive-badge.easy{background:var(--surface-glass);border:1px solid var(--border-default);color:var(--text-secondary)}.tp-between{background:var(--bg-base);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:40px 20px;font-family:Space Grotesk,sans-serif;display:flex}.tp-between-title{color:var(--text-primary);margin:0;font-size:1.8rem;font-weight:800}.tp-between-body{color:var(--text-secondary);max-width:400px;margin:0;font-size:.95rem}.tp-test-root{background:var(--bg-base);min-height:100vh;color:var(--text-primary);flex-direction:column;font-family:Space Grotesk,sans-serif;display:flex}.tp-test-header{z-index:50;background:var(--nav-glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;height:48px;padding:0 20px;font-size:.8rem;display:flex;position:sticky;top:0}.tp-test-phase{color:var(--text-secondary)}.tp-test-timer{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.tp-test-timer--urgent{color:#ff6b6b}.tp-test-progress{color:var(--text-tertiary)}.tp-test-logo{object-fit:contain;flex-shrink:0}.tp-test-header-center{align-items:center;gap:20px;display:flex}.tp-test-exit{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:color .15s,background .15s;display:inline-flex}.tp-test-exit:hover{color:var(--text-primary);background:var(--border-subtle)}.tp-exit-overlay{z-index:200;background:color-mix(in srgb, var(--bg-base) 78%, transparent);-webkit-backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tp-exit-card{text-align:center;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:16px;flex-direction:column;gap:12px;width:100%;max-width:380px;padding:28px;font-family:Space Grotesk,sans-serif;display:flex}.tp-exit-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:800}.tp-exit-body{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.tp-exit-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.tp-test-body{flex:1;display:flex;overflow:hidden}.tp-qnav{border-right:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0;align-content:flex-start;gap:6px;width:200px;padding:16px 12px;display:flex;overflow-y:auto}.tp-qnav-pill{background:var(--surface-glass);border:1px solid var(--border-subtle);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:8px;font-family:inherit;font-size:.75rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.tp-qnav-pill.active{color:var(--text-primary);background:#8b7dd833;border-color:#8b7dd880}.tp-qnav-pill.answered{color:var(--text-secondary);background:#8b7dd81f}.tp-qnav-pill.flagged{border-color:#ffa64d}.tp-question-wrap{flex:1;max-width:680px;padding:28px 32px;overflow-y:auto}.tp-question-num{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;font-size:.68rem;font-weight:700}.tp-question-meta{align-items:center;gap:6px;margin-bottom:18px;display:flex}.tp-qmeta-domain{color:#8b7dd8cc;background:#8b7dd81a;border-radius:100px;padding:3px 10px;font-size:.72rem;font-weight:600}.tp-qmeta-sep{color:var(--text-muted);font-size:.7rem}.tp-qmeta-skill{color:var(--text-tertiary);font-size:.72rem}.tp-passage{background:var(--surface-glass);border-left:3px solid #8b7dd866;border-radius:0 10px 10px 0;margin-bottom:20px;padding:16px 18px}.tp-passage-label{text-transform:uppercase;letter-spacing:.1em;color:#8b7dd8b3;margin-bottom:10px;font-size:.62rem;font-weight:700}.tp-passage-text{color:var(--text-secondary);white-space:pre-wrap;font-size:.9rem;line-height:1.75}.tp-stem{color:var(--text-primary);white-space:pre-wrap;margin-bottom:24px;font-size:.95rem;font-weight:500;line-height:1.7}.tp-choices{flex-direction:column;gap:10px;margin-bottom:28px;display:flex}.tp-choice{background:var(--surface-glass);border:1px solid var(--border-subtle);color:var(--text-secondary);text-align:left;cursor:pointer;border-radius:12px;align-items:flex-start;gap:14px;padding:14px 16px;font-family:inherit;font-size:.9rem;transition:background .15s,border-color .15s,color .15s;display:flex}.tp-choice:hover{background:var(--surface-glass-hover);border-color:var(--border-default);color:var(--text-primary)}.tp-choice.selected{color:var(--text-primary);background:#8b7dd826;border-color:#8b7dd880}.tp-choice-letter{opacity:.7;border:1px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.72rem;font-weight:700;display:flex}.tp-choice.selected .tp-choice-letter{opacity:1}.tp-choice-text{flex:1;line-height:1.5}.tp-spr-wrap{margin-bottom:28px}.tp-spr-input{background:var(--surface-glass);border:1px solid var(--border-default);width:200px;color:var(--text-primary);border-radius:10px;outline:none;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .15s}.tp-spr-input:focus{border-color:#8b7dd899}.tp-question-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.tp-flag-btn{border:1px solid var(--border-default);color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:100px;padding:6px 14px;font-family:inherit;font-size:.75rem;transition:border-color .15s,color .15s}.tp-flag-btn:hover,.tp-flag-btn.active{color:#ffa64d;border-color:#ffa64d}.tp-question-nav-btns{gap:10px;display:flex}.tp-nav-btn{background:var(--surface-glass);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;border-radius:100px;padding:8px 20px;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .15s}.tp-nav-btn:hover{background:var(--surface-glass-hover);color:var(--text-primary)}.tp-nav-btn.primary{color:var(--text-primary);background:linear-gradient(135deg,#8b7dd8 0%,#a599e0 100%);border-color:#0000}.tp-nav-btn.primary:hover{box-shadow:0 6px 20px #8b7dd866}.tp-nav-btn:disabled{opacity:.45;cursor:not-allowed}.tp-results-hero{text-align:center;margin-bottom:44px}.tp-total-score{background:linear-gradient(135deg,#8b7dd8 0%,#ff6b9d 55%,#ffa64d 100%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-size:clamp(3rem,10vw,5rem);font-weight:800;line-height:1}.tp-total-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:20px;font-size:.78rem;font-weight:700}.tp-section-scores{background:var(--surface-glass);border:1px solid var(--border-subtle);border-radius:16px;align-items:center;gap:24px;padding:16px 32px;display:inline-flex}.tp-section-score-item{flex-direction:column;align-items:center;gap:4px;display:flex}.tp-section-score-label{color:var(--text-tertiary);font-size:.72rem}.tp-section-score-val{color:var(--text-primary);font-size:1.5rem;font-weight:700}.tp-section-score-divider{background:var(--surface-glass-hover);width:1px;height:40px}.tp-results-section{margin-bottom:36px}.tp-results-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin:0 0 14px;font-size:.7rem;font-weight:700}.tp-skill-list{flex-direction:column;gap:8px;display:flex}.tp-skill-row{background:var(--surface-glass);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s;overflow:hidden}.tp-skill-row.weak{border-color:#ff646433}.tp-skill-row:hover{border-color:var(--border-default)}.tp-skill-row-header{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.tp-skill-info{align-items:center;gap:12px;display:flex}.tp-skill-section-badge{color:#8b7dd8e6;text-transform:uppercase;letter-spacing:.05em;background:#8b7dd81f;border-radius:100px;flex-shrink:0;padding:3px 8px;font-size:.65rem;font-weight:700}.tp-skill-name{color:var(--text-primary);font-size:.88rem;font-weight:600}.tp-skill-domain{color:var(--text-tertiary);margin-top:2px;font-size:.72rem}.tp-skill-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.tp-skill-bar-wrap{background:var(--surface-glass-hover);border-radius:100px;width:80px;height:5px;overflow:hidden}.tp-skill-bar-fill{background:linear-gradient(90deg,#8b7dd8,#a599e0);border-radius:100px;height:100%;transition:width .6s}.tp-skill-row.weak .tp-skill-bar-fill{background:linear-gradient(90deg,#ff6b6b,#ffa64d)}.tp-skill-pct{color:var(--text-secondary);text-align:right;min-width:30px;font-size:.78rem;font-weight:600}.tp-skill-weak-badge{color:#ff6b6b;background:#ff64641a;border-radius:100px;padding:2px 8px;font-size:.65rem;font-weight:700}.tp-skill-chevron{color:var(--text-muted);font-size:.65rem}.tp-skill-missed{flex-direction:column;gap:14px;padding:0 16px 16px;display:flex}.tp-missed-q{background:var(--chip-bg);border-radius:10px;padding:14px 16px}.tp-missed-stem{color:var(--text-secondary);white-space:pre-wrap;margin-bottom:12px;font-size:.85rem;line-height:1.6}.tp-missed-choices{flex-direction:column;gap:6px;display:flex}.tp-missed-choice{color:var(--text-secondary);border-radius:8px;align-items:center;gap:10px;padding:6px 10px;font-size:.8rem;display:flex}.tp-missed-choice.correct{color:#6cde8e;background:#64dc8212}.tp-missed-choice.wrong{color:#ff6b6b;background:#ff646412}.tp-missed-spr{color:var(--text-secondary);font-size:.82rem}.tp-missed-label{color:var(--text-tertiary);font-weight:700}.tp-results-cta{flex-direction:column;align-items:center;gap:14px;padding-top:12px;display:flex}.tp-results-cta-info{color:var(--text-secondary);text-align:center;font-size:.88rem}.tp-results-cta-info strong{color:var(--text-primary)}@media (max-width:640px){.tp-info-grid{grid-template-columns:1fr}.tp-test-body{flex-direction:column}.tp-qnav{border-right:none;border-bottom:1px solid var(--border-subtle);flex-direction:row;width:100%;height:auto;padding:10px;overflow-x:auto}.tp-question-wrap{padding:20px 16px}.tp-question-footer{flex-direction:column;align-items:flex-start;gap:12px}.tp-section-scores{flex-direction:column;gap:14px}.tp-section-score-divider{width:48px;height:1px}}