@import "https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Syne:wght@400;600;700;800&display=swap";
:root{--bg:#0a0a0f;--surface:#12121a;--surface2:#1a1a26;--accent:#7c6aff;--accent2:#ff6a9b;--green:#4fffb0;--amber:#ffb347;--red:#ff4f6a;--text:#e8e8f0;--muted:#6b6b88;--border:#2a2a3d;--mono:"Space Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Syne,system-ui,sans-serif}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60rem 30rem at 20% -10%,#7c6aff24,#0000 70%),radial-gradient(50rem 25rem at 90% 0,#ff6a9b1a,#0000 70%);position:fixed;inset:0}.shell{max-width:780px;margin:0 auto;padding:0 1.25rem 5rem}.promo{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:20px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;width:fit-content;max-width:100%;margin:.9rem auto 0;padding:.5rem 1rem;font-size:.82rem;text-decoration:none;transition:border-color .15s,color .15s;display:flex}.promo:hover{border-color:var(--accent);color:var(--text)}.promo b{color:var(--accent);font-weight:700}.promo .arrow{color:var(--accent);transition:transform .15s}.promo:hover .arrow{transform:translate(3px)}@media (max-width:560px){.promo{border-radius:14px;gap:.15rem;padding:.55rem .9rem;font-size:.78rem;line-height:1.45}}.hero{text-align:center;border-bottom:1px solid var(--border);margin-bottom:1.75rem;padding:2rem 0 1.4rem}.hero-badge{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#fff;font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;border-radius:20px;margin-bottom:1rem;padding:4px 14px;font-size:.7rem;display:inline-block}.hero-title{background:linear-gradient(135deg, #fff 0%, var(--accent) 60%, var(--accent2) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:.3rem 0;font-size:clamp(2.1rem,8vw,2.8rem);font-weight:800;line-height:1.1}.hero-sub{color:var(--muted);font-size:.95rem;font-family:var(--mono);margin-top:.5rem}.grid{grid-template-columns:1.55fr 1fr;align-items:start;gap:1.25rem;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.25rem 1.35rem 1.4rem}.panel+.panel{margin-top:1.25rem}@media (max-width:720px){.grid{grid-template-columns:1fr;gap:1.5rem}}.row{gap:.75rem;display:flex}.row-3{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.divider{border:0;border-top:1px solid var(--border);margin:1.75rem 0}h2.section{margin:0 0 .75rem;font-size:1.05rem;font-weight:700}.stack>*+*{margin-top:1.25rem}label.field{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem;font-size:.7rem;display:block}input[type=text],select{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;outline:none;padding:.6rem .75rem;font-family:inherit;font-size:.95rem}input[type=text]:focus,select:focus{border-color:var(--accent)}select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px}input[type=range]{width:100%;accent-color:var(--accent)}button{border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;border-radius:8px;padding:.62rem 1.1rem;font-family:Syne,sans-serif;font-size:.92rem;font-weight:600;transition:border-color .15s,color .15s,opacity .15s}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#fff;border:none}button.primary:hover:not(:disabled){opacity:.92;color:#fff;box-shadow:0 6px 20px #7c6aff40}button.primary:disabled{background:var(--surface2);border:1px solid var(--border);color:var(--muted);opacity:1}button.wide{width:100%}button.lg{padding:.85rem 1.2rem;font-size:1rem}.picks{flex-wrap:wrap;gap:.4rem;margin-top:.7rem;display:flex}.pick{border:1px dashed var(--border);color:var(--muted);background:0 0;border-radius:20px;padding:3px 11px;font-size:.8rem;font-weight:400}.pick:hover:not(:disabled){border-style:solid;border-color:var(--accent);color:var(--accent)}.pick:disabled{opacity:.3}.dropzone{background:var(--surface);border:2px dashed var(--border);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1.6rem 1rem;transition:border-color .15s;display:flex}.dropzone:hover,.dropzone.dragging{border-color:var(--accent)}.dropzone .hint{font-family:var(--mono);color:var(--muted);font-size:.72rem}.dropzone.loaded{border-style:solid;border-color:var(--green)}.doclist{margin:.7rem 0 0;padding:0;list-style:none}.doclist li{background:var(--surface2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.6rem;margin-bottom:.4rem;padding:.45rem .7rem;font-size:.85rem;display:flex}.doc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.doc-size{font-family:var(--mono);color:var(--muted);flex-shrink:0;font-size:.7rem}.doclist button{all:unset;cursor:pointer;color:var(--muted);flex-shrink:0;padding:0 2px;line-height:1}.doclist button:hover{color:var(--red)}.chip{background:var(--surface2);border:1px solid var(--border);color:var(--accent);border-radius:20px;align-items:center;gap:6px;margin:3px 3px 3px 0;padding:3px 12px;font-size:.85rem;display:inline-flex}.chip button{all:unset;cursor:pointer;color:var(--muted);font-size:.9rem;line-height:1}.chip button:hover{color:var(--red)}.banner{color:var(--accent);background:linear-gradient(135deg,#7c6aff1a,#ff6a9b1a);border:1px solid #7c6aff4d;border-radius:8px;margin:.5rem 0;padding:.7rem 1rem;font-size:.85rem}.banner.error{color:var(--red);background:#ff4f6a14;border-color:#ff4f6a66}.adaptive{background:var(--surface2);border:1px solid var(--accent);font-family:var(--mono);color:var(--accent);text-align:center;border-radius:8px;margin:.5rem 0;padding:.6rem 1rem;font-size:.8rem}.caption{font-family:var(--mono);color:var(--muted);font-size:.72rem}.q-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;margin:1rem 0;padding:1.5rem 1.6rem}.q-meta{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.tag{background:var(--surface2);border:1px solid var(--border);font-size:.75rem;font-family:var(--mono);color:var(--muted);border-radius:20px;padding:2px 10px}.tag.easy{border-color:var(--green);color:var(--green)}.tag.moderate{border-color:var(--amber);color:var(--amber)}.tag.tough{border-color:var(--accent2);color:var(--accent2)}.q-text{font-size:1.15rem;font-weight:600;line-height:1.5}.option{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:.7rem;margin-bottom:.55rem;padding:.8rem 1rem;line-height:1.45;transition:border-color .15s,background .15s;display:flex}.option:hover{border-color:var(--accent)}.option.selected{border-color:var(--accent);background:#7c6aff17}.option input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.option:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #7c6aff40}.opt-letter{background:var(--surface2);border:1px solid var(--border);width:24px;height:24px;font-family:var(--mono);color:var(--muted);border-radius:7px;flex-shrink:0;place-items:center;font-size:.72rem;display:grid}.option.selected .opt-letter{background:var(--accent);border-color:var(--accent);color:#fff}.progress-head{font-family:var(--mono);color:var(--muted);justify-content:space-between;margin-bottom:.4rem;font-size:.75rem;display:flex}.progress-bg{background:var(--surface2);border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent2));border-radius:4px;height:100%;transition:width .35s}.score-hero{text-align:center;padding:2rem 0 1rem}.score-val{background:linear-gradient(135deg, #fff, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:800}.score-label{color:var(--muted);margin-top:.3rem;font-size:1.3rem}.metric{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;padding:1.2rem .6rem}.metric-val{font-size:2rem;font-weight:800;font-family:var(--mono)}.metric-val small{color:var(--muted);font-size:1rem}.metric-label{color:var(--muted);font-size:.7rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:1px}.topic-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin:.4rem 0;padding:.8rem 1rem}.topic-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.topic-head span:last-child{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:.82rem}.bar-bg{background:var(--surface2);border-radius:4px;height:6px;margin-top:.45rem;overflow:hidden}.bar-fill{border-radius:4px;height:6px;transition:width .5s}details.review{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem}details.review summary{cursor:pointer;font-weight:600;list-style:none}details.review summary::-webkit-details-marker{display:none}details.review summary:before{content:"▸ ";color:var(--accent)}details.review[open] summary:before{content:"▾ "}.review-item{border-top:1px solid var(--border);margin-top:.9rem;padding:1rem 0 .4rem}.answer-cols{grid-template-columns:1fr 1fr;gap:1rem;margin-top:.6rem;font-size:.9rem;display:grid}@media (max-width:560px){.answer-cols{grid-template-columns:1fr}}.answer-cols h4{font-family:var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 .3rem;font-size:.7rem}.answer-cols ul{margin:0;padding-left:1.1rem}.report{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.2rem 1.5rem;font-size:.95rem;line-height:1.65}.report h1,.report h2,.report h3{color:var(--accent);margin:1.2rem 0 .5rem;font-size:1.05rem}.report h1:first-child,.report h2:first-child,.report h3:first-child{margin-top:0}.report ul,.report ol{margin:.4rem 0;padding-left:1.3rem}.report li{margin:.25rem 0}.report p{margin:.5rem 0}.report code{background:var(--surface2);font-family:var(--mono);border-radius:4px;padding:1px 5px;font-size:.85em}.cursor:after{content:"▌";color:var(--accent)}.spinner{vertical-align:-2px;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.footer{text-align:center;color:var(--muted);font-family:var(--mono);padding:2.5rem 0 0;font-size:.72rem}
