:root{--ink:#151313;--ink-2:#231f20;--paper:#fff8f5;--paper-soft:#f8ece6;--line:#231f2024;--muted:#776c69;--coral:#f25f3a;--coral-dark:#d83d23;--rose:#f8b7aa;--mint:#adf0d4;--lime:#d7ff69;--danger:#ff4a55;--shadow:0 24px 70px #1513132e;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Aptos Display,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 13% 18%,#f8b7aab3,#0000 28rem),linear-gradient(135deg,#fff8f5 0%,#f3e1d9 44%,#151313 44.2% 100%);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{grid-template-columns:minmax(280px,.82fr) minmax(0,1.6fr);min-height:100vh;display:grid}.brand-rail{background:radial-gradient(circle at 18% 18%,#f8b7aa80,#0000 24rem),linear-gradient(#fff8f5f5,#f8ece6f0);flex-direction:column;justify-content:flex-start;gap:clamp(2.5rem,8vh,5.5rem);min-height:100vh;padding:clamp(1.5rem,4vw,4.5rem);display:flex}.brand-lockup{width:fit-content;color:var(--ink);letter-spacing:0;align-items:center;font-size:clamp(1.3rem,2.6vw,2.15rem);font-weight:800;display:inline-flex}.brand-lockup svg{display:block}.rail-copy{width:100%;max-width:42rem;margin-top:clamp(1rem,7vh,4rem)}.rail-copy p,.eyebrow{color:var(--coral-dark);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .75rem;font-size:.77rem;font-weight:800;line-height:1.2}.rail-copy h1,.setup-copy h2,.question-card h2,.results-copy h2{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(2.2rem,5vw,5.7rem);font-weight:900;line-height:.92}.rail-copy h1{max-width:100%;font-size:clamp(1.45rem,2.6vw,2.7rem);line-height:1.05}.builder-credit{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.85rem;font-size:.86rem;font-weight:800;line-height:1.35;display:block}.simulator-panel{align-self:stretch;min-width:0;padding:clamp(1rem,2.5vw,2.25rem)}.setup-grid,.exam-layout,.results-view{min-height:calc(100vh - clamp(2rem,5vw,4.5rem));box-shadow:var(--shadow);background:#fff8f5f5;border:1px solid #fff8f529;border-radius:8px;gap:1rem;padding:clamp(1rem,2vw,1.5rem);display:grid}.setup-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.95fr);align-content:start}.setup-copy{align-self:end;padding:clamp(.25rem,1vw,1rem)}.setup-copy h2{max-width:38rem;font-size:clamp(1.55rem,2.7vw,2.8rem);line-height:1.05}.setup-copy p:not(.eyebrow),.results-copy p,.drop-zone p,.answer-line p{color:var(--muted);font-size:1rem;line-height:1.55}.drop-zone{min-height:22rem;color:var(--paper);text-align:center;background:#151313;border:1.5px dashed #231f2047;border-radius:8px;place-items:center;gap:.7rem;padding:2rem;transition:border-color .18s,transform .18s,background .18s;display:grid}.drop-zone input{display:none}.drop-zone.is-dragging{border-color:var(--coral);background:#211b1b;transform:translateY(-2px)}.drop-zone h3,.bank-summary h3,.feedback-title h3{letter-spacing:0;margin:0;font-size:1.45rem}.drop-zone p{color:#fff8f5b8;margin:0}.button{letter-spacing:0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:2.9rem;padding:.72rem 1.05rem;font-weight:800;transition:transform .16s,background .16s,color .16s,border-color .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary,.button-start{background:var(--coral);color:#fff}.button-primary:hover:not(:disabled),.button-start:hover:not(:disabled){background:var(--coral-dark)}.button-secondary{color:var(--ink);background:0 0;border-color:#231f202e}.button-start{grid-column:1/-1;width:100%;min-height:4rem;font-size:1.1rem}.button-start:disabled{color:#231f2073;background:#231f2024}.notice{border-radius:8px;grid-column:1/-1;padding:.9rem 1rem;font-weight:700}.notice.error{color:#9e1720;background:#ff4a551f}.bank-summary,.timer-picker{border:1px solid var(--line);background:#fffdfa;border-radius:8px;grid-column:1/-1;padding:1rem}.bank-summary{justify-content:space-between;align-items:center;gap:1rem;display:flex}.bank-summary span,.metric span,.metric small,.answer-line span,.question-meta span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:800;line-height:1.3}.summary-metrics,.timer-options,.results-actions{gap:.75rem;display:flex}.metric{gap:.16rem;min-width:6.5rem;display:grid}.metric strong{color:var(--ink);font-size:clamp(1.2rem,2vw,1.65rem);line-height:1}.timer-picker{gap:.75rem;display:grid}.timer-options{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.timer-option{border:1px solid var(--line);min-height:8.5rem;color:var(--ink);text-align:left;background:#fffdfa;border-radius:8px;grid-template-columns:auto 1fr;gap:.45rem .6rem;padding:1rem;display:grid}.timer-option span{font-weight:900}.timer-option small{color:var(--muted);grid-column:1/-1;font-size:.9rem;line-height:1.4}.timer-option.is-selected{border-color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral);background:#fff0eb}.exam-layout{grid-template-rows:auto auto minmax(0,1fr) auto}.hud{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:stretch;gap:.75rem;display:grid}.hud .metric{border:1px solid var(--line);background:#fffdfa;border-radius:8px;min-height:5.2rem;padding:.85rem}.icon-button{border:1px solid var(--line);background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:3.15rem;min-height:3.15rem;display:grid}.progress-track{background:#231f201c;border-radius:999px;height:.48rem;overflow:hidden}.progress-track span,.mini-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--coral), var(--lime));height:100%;transition:width .24s;display:block}.question-card{background:var(--ink);min-height:0;color:var(--paper);border-radius:8px;align-content:start;gap:1.35rem;padding:clamp(1rem,2.5vw,2rem);display:grid}.question-meta{flex-wrap:wrap;gap:.55rem;display:flex}.question-meta span{color:#fff8f5b8;border:1px solid #fff8f52e;border-radius:999px;align-items:center;min-height:1.8rem;padding:0 .65rem;display:inline-flex}.question-card h2{width:100%;max-width:78rem;color:var(--paper);font-size:clamp(1rem,1.05vw,1.35rem);font-weight:400;line-height:1.42}.option-list{gap:.7rem;display:grid}.option-button{width:100%;color:var(--paper);text-align:left;background:#fff8f50d;border:1px solid #fff8f52e;border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:.85rem;padding:1rem;line-height:1.45;transition:border-color .16s,background .16s,transform .16s;display:grid}.option-button:hover:not(:disabled){background:#f25f3a1f;border-color:#f25f3ab8;transform:translate(2px)}.option-button:disabled{color:#fff8f5b3}.option-button.is-selected{border-color:var(--rose);background:#f8b7aa1f}.option-button.is-correct{border-color:var(--mint);background:#adf0d424}.option-button.is-wrong{border-color:var(--danger);background:#ff4a5529}.option-letter{background:var(--paper);width:2rem;height:2rem;color:var(--ink);border-radius:50%;place-items:center;font-size:.9rem;font-weight:900;display:grid}.feedback-panel{border:1px solid var(--line);background:#fffdfa;border-radius:8px;gap:.9rem;padding:1rem;display:grid;position:relative;overflow:hidden}.feedback-panel.correct{border-color:#0f9c5f5c}.feedback-panel.wrong{border-color:#ff4a5552}.feedback-title{align-items:center;gap:.6rem;display:flex}.feedback-title svg{color:var(--coral)}.answer-line{gap:.28rem;display:grid}.answer-line strong{line-height:1.45}.answer-line p{margin:0}.fanfare{pointer-events:none;position:absolute;inset:0}.fanfare span{background:var(--coral);transform-origin:50% 7rem;border-radius:999px;width:.42rem;height:1.6rem;animation:.76s ease-out both burst;position:absolute;top:2.2rem;left:50%}.fanfare span:nth-child(3n){background:var(--lime)}.fanfare span:nth-child(4n){background:var(--rose)}.fanfare span:first-child{transform:rotate(0)}.fanfare span:nth-child(2){transform:rotate(30deg)}.fanfare span:nth-child(3){transform:rotate(60deg)}.fanfare span:nth-child(4){transform:rotate(90deg)}.fanfare span:nth-child(5){transform:rotate(120deg)}.fanfare span:nth-child(6){transform:rotate(150deg)}.fanfare span:nth-child(7){transform:rotate(180deg)}.fanfare span:nth-child(8){transform:rotate(210deg)}.fanfare span:nth-child(9){transform:rotate(240deg)}.fanfare span:nth-child(10){transform:rotate(270deg)}.fanfare span:nth-child(11){transform:rotate(300deg)}.fanfare span:nth-child(12){transform:rotate(330deg)}@keyframes burst{0%{opacity:0;translate:0 1rem}18%{opacity:1}to{opacity:0;translate:0 -3.2rem}}.wrong-burst{color:#ff4a552e;animation:.52s cubic-bezier(.2,1.4,.3,1) both wrong-pop;position:absolute;top:.5rem;right:1rem}@keyframes wrong-pop{0%{opacity:0;transform:scale(.4)rotate(-9deg)}to{opacity:1;transform:scale(1)rotate(0)}}.results-view{text-align:center;align-content:center;place-items:center}.score-orbit{aspect-ratio:1;background:var(--ink);width:min(18rem,70vw);color:var(--paper);border-radius:50%;place-items:center;display:grid;box-shadow:0 0 0 1.2rem #f25f3a24,0 0 0 2.4rem #f8b7aa29}.score-orbit span{font-size:clamp(4rem,10vw,7rem);font-weight:950;line-height:.8}.score-orbit small{color:#fff8f5b8;font-weight:800}.results-copy{max-width:48rem}.results-copy h2{font-size:clamp(2rem,4vw,4rem)}.category-breakdown{gap:.7rem;width:min(42rem,100%);display:grid}.breakdown-row{border:1px solid var(--line);text-align:left;background:#fffdfa;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:.55rem 1rem;padding:.9rem 1rem;display:grid}.breakdown-row strong{color:var(--coral-dark)}.mini-bar{background:#231f201a;border-radius:999px;grid-column:1/-1;height:.46rem;overflow:hidden}@media (width<=1040px){body{background:var(--paper-soft)}.app-shell{grid-template-columns:1fr}.brand-rail{min-height:auto;padding-bottom:1rem}.rail-copy h1{max-width:12ch}.setup-grid{grid-template-columns:1fr}.hud{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.brand-rail,.simulator-panel{padding:1rem}.rail-copy h1,.setup-copy h2,.results-copy h2{font-size:clamp(2rem,12vw,3.35rem)}.question-card h2{font-size:clamp(.98rem,4vw,1.12rem);line-height:1.42}.bank-summary,.summary-metrics,.results-actions{flex-direction:column;align-items:stretch}.timer-options,.hud{grid-template-columns:1fr}.hud .icon-button{border-radius:999px;width:100%}.option-button{grid-template-columns:2rem 1fr}}
