:root{--text:#e4e9e3;--background:#121611;--primary:#4b6f44;--secondary:#7ca973;--accent:#d2a245;--input-background:#1e241d}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--background);color:var(--text);min-height:100vh;font-family:Inter,sans-serif}#root{min-height:100vh}code,.mono{font-family:JetBrains Mono,monospace}button{cursor:pointer;font-family:Inter,sans-serif}textarea,input,select{font-family:Inter,sans-serif}.screen-fade{animation:.2s ease-in screen-fade-in}@keyframes screen-fade-in{0%{opacity:0}to{opacity:1}}button,a,input,textarea,select{transition:all .15s}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes questionIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.question-text{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.question-text{animation:.25s forwards questionIn}}.app-shell{max-width:1100px;margin:0 auto;padding:48px 16px 64px}.btn{background:var(--primary);color:var(--text);border:none;border-radius:6px;padding:12px 22px;font-size:1rem;font-weight:600}.btn:hover:not(:disabled){background:var(--secondary)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{border:1px solid var(--primary);color:var(--text);background:0 0}.spinner{border:2px solid var(--primary);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.field-label{color:var(--secondary);margin-bottom:8px;font-size:.9rem;display:block}.input,.textarea{background:var(--input-background);color:var(--text);border:1px solid var(--primary);border-radius:6px;width:100%;padding:12px 14px;font-size:1rem}.input:focus{outline:1px solid var(--secondary)}.textarea{resize:vertical;background:#0e150d;border-radius:8px;min-height:160px}.textarea:focus{border-color:var(--secondary);outline:none;box-shadow:0 0 0 2px #7ca97333}.error-text{color:var(--accent);margin-top:8px;font-size:.9rem}.landing-grid{grid-template-columns:40% 60%;align-items:center;gap:48px;display:grid}.landing-left{flex-direction:column;display:flex}.landing h1{margin:0 0 12px;font-size:2.2rem;line-height:1.25}.landing .subheading{color:var(--secondary);margin:0 0 28px;font-size:1.05rem}.landing-form{flex-direction:column;display:flex}.mode-grid{grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 24px;display:grid}.mode-btn{background:var(--input-background);border:1px solid var(--primary);color:var(--text);border-radius:6px;padding:12px 10px;font-size:.95rem}.mode-btn.active{border-color:var(--accent);color:var(--accent)}.byok-heading{margin:0 0 4px;font-size:1.05rem;font-weight:600}.byok-subtext{color:var(--secondary);margin:0 0 20px;font-size:.9rem}.provider-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.provider-card{border:1px solid var(--primary);cursor:pointer;border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.provider-card.selected{border-color:var(--primary);background:#1e2b1d}.provider-card-radio{opacity:0;pointer-events:none;position:absolute}.provider-name{font-weight:600}.provider-description{color:var(--secondary);font-size:.85rem}.provider-link{color:var(--accent);align-self:flex-start;font-size:.85rem;text-decoration:none}.provider-link:hover{text-decoration:underline}.api-key-field{position:relative}.api-key-field .input{padding-right:56px}.key-toggle-btn{color:var(--secondary);background:0 0;border:none;padding:0;font-size:.85rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.byok-privacy-note{color:var(--secondary);margin:8px 0 0;font-size:.8rem}.key-row-label{color:var(--secondary);margin:16px 0 8px;font-size:.9rem}.backup-key-row{margin-top:4px}.backup-key-inputs{align-items:center;gap:8px;display:flex}.backup-provider-select{flex:0 0 130px;width:auto}.backup-key-field{flex:1}.remove-key-btn{border:1px solid var(--primary);color:var(--secondary);background:0 0;border-radius:6px;flex:0 0 38px;width:38px;height:38px;font-size:.9rem}.add-backup-key-btn{color:var(--secondary);background:0 0;border:none;align-self:flex-start;margin-top:16px;padding:0;font-size:.9rem}.briefing-arena{border:1px solid var(--primary);border-radius:12px;align-items:stretch;min-height:520px;display:flex;overflow:hidden}.briefing-sidebar{border-right:1px solid var(--primary);background:#0d120b;flex:0 0 35%;padding:40px 28px}.briefing-main{flex:1;min-width:0;padding:40px 44px}.briefing-label{color:var(--secondary);margin:0 0 14px;font-size:.85rem}.briefing-heading{color:var(--text);letter-spacing:-.01em;margin:0 0 32px;font-size:1.5rem;font-weight:600}.briefing-pill-stack{flex-direction:column;gap:8px;display:flex}.tech-pill{background:var(--primary);color:var(--secondary);border-left:3px solid var(--accent);opacity:1;border-radius:4px;padding:10px 14px;font-size:.9rem;font-weight:500}@media (prefers-reduced-motion:no-preference){.tech-pill{opacity:0;animation:.4s forwards tech-pill-in}}@keyframes tech-pill-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.flow-transcript{margin:0 0 32px;padding:0;list-style:none}.flow-row{border-bottom:1px solid var(--primary);gap:18px;padding:16px 0;display:flex}.flow-row:last-child{border-bottom:none}.flow-number{color:var(--accent);flex:0 0 30px;padding-top:2px;font-size:.85rem}.flow-text{color:var(--text);line-height:1.6}.opening-prompt-block{border-left:3px solid var(--primary);color:var(--text);background:#1a231a;margin:0 0 32px;padding:24px;font-style:italic;line-height:1.6}.briefing-ready-btn{border-radius:8px;width:100%}.briefing-ready-btn:hover:not(:disabled){background:var(--secondary);transform:scale(1.01)}.explain-arena{max-width:720px;margin:0 auto}.explain-prompt{color:var(--text);margin:0 0 32px;font-size:20px;line-height:1.6}.explain-divider{background:var(--primary);height:1px;margin-bottom:32px}.explain-textarea{min-height:200px}.explain-footer-row{justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.explain-char-count{color:var(--secondary);font-size:12px}.explain-submit-btn{border-radius:8px;flex:none}.interview-arena{max-width:760px;margin:0 auto}.interview-topbar{border-bottom:1px solid var(--primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;display:flex}.interview-progress{color:var(--secondary);font-size:1rem}.interview-meta{align-items:center;gap:14px;display:flex}.category-badge{border:1px solid var(--primary);color:var(--secondary);text-transform:capitalize;background:0 0;border-radius:6px;padding:4px 10px;font-size:.8rem}.difficulty-dots{gap:4px;display:flex}.dot{background:#2a2a2a;border-radius:50%;width:6px;height:6px}.dot.filled{background:var(--secondary)}.question-text{color:var(--text);margin:40px 0;font-size:22px;font-weight:500;line-height:1.5}.eval-panel{opacity:1;margin-top:40px;transform:none}@media (prefers-reduced-motion:no-preference){.eval-panel{opacity:0;animation:.2s forwards eval-panel-in;transform:translateY(20px)}}@keyframes eval-panel-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.eval-score{margin-bottom:8px;font-size:2.2rem}.eval-score.score-high{color:var(--secondary)}.eval-score.score-mid{color:var(--accent)}.eval-score.score-low{color:#c0392b}.eval-verdict{color:var(--text);margin-bottom:16px;font-size:15px}.collapsible-toggle{color:var(--secondary);background:0 0;border:none;margin-bottom:10px;padding:0;font-size:.9rem;text-decoration:underline}.missing-concepts-panel{background:#1a1a1a;border-radius:8px;margin-bottom:16px;padding:16px}.missing-concepts-list{margin:0;padding-left:20px}.interview-submit-btn,.interview-next-btn{border-radius:8px;width:100%}.report-v2{max-width:800px;margin:0 auto}.report-v2 .report-section{margin-bottom:40px}.report-v2 .report-section:last-child{margin-bottom:0}.report-v2 .report-section-title{letter-spacing:.02em;color:var(--text);margin:0 0 16px;font-size:16px;font-weight:500}.report-v2 button{transition:all .15s}.report-v2 button:hover:not(:disabled){filter:brightness(1.15)}.report-v2 button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.report-hero{text-align:center;flex-direction:column;align-items:center;padding:48px;display:flex}.report-hero-ring-wrap{width:136px;height:136px;position:relative}.report-hero-ring{transform:rotate(-90deg)}.report-hero-ring-track{stroke:#1e1e1e}.report-hero-ring-progress{transition:stroke-dashoffset .6s}.report-hero-score-wrap{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.report-hero-score{color:var(--accent);font-size:2rem;line-height:1}.report-hero-score-unit{color:var(--secondary);font-size:.85rem}.report-hero-label{color:var(--secondary);margin:16px 0 0;font-size:14px;font-style:italic}.report-hero-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.mode-badge{background:var(--input-background);border:1px solid var(--secondary);color:var(--secondary);border-radius:6px;padding:4px 10px;font-size:.85rem}.report-hero-progress-text{color:var(--secondary);font-size:.9rem}.report-hero-separator{background:var(--primary);opacity:.4;height:1px;margin-bottom:40px}.category-rows{flex-direction:column;gap:16px;display:flex}.category-row{grid-template-columns:minmax(120px,auto) 1fr 44px;align-items:center;gap:16px;display:grid}.category-row-label{color:var(--text);align-items:center;gap:10px;font-size:.95rem;display:flex}.category-dot{background:var(--secondary);flex:0 0 8px;width:8px;height:8px}.category-bar-track{background:#27272a;border-radius:4px;height:8px;overflow:hidden}.category-bar-fill{border-radius:4px;height:100%}.category-bar-fill.score-high{background:var(--secondary)}.category-bar-fill.score-mid{background:var(--accent)}.category-bar-fill.score-low{background:#c0392b}.category-pct{text-align:right;color:var(--text);font-size:.9rem}.strong-weak-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.strong-card,.weak-card{border-radius:12px;min-width:0;padding:20px}.strong-card{border-left:3px solid var(--secondary);background:#1a2b1a}.weak-card{border-left:3px solid var(--accent);background:#2b2210}.strong-areas-list,.weak-areas-list{margin:0;padding:0;list-style:none}.strong-areas-list li,.weak-areas-list li{gap:8px;font-size:15px;line-height:1.8;display:flex}.strong-bullet{color:var(--secondary)}.weak-bullet{color:var(--accent)}.card-empty-state{color:var(--secondary);text-align:center;margin:0;font-style:italic}.revision-timeline{margin:0 0 20px;padding:0;list-style:none}.revision-item{gap:14px;display:flex}.revision-marker{flex-direction:column;align-items:center;display:flex}.revision-circle{background:var(--primary);width:24px;height:24px;color:var(--text);border-radius:50%;flex:0 0 24px;justify-content:center;align-items:center;font-size:.8rem;display:flex}.revision-connector{background:var(--primary);opacity:.6;flex:1;width:1px;min-height:12px;margin:4px 0}.revision-content{flex:1;min-width:0;padding-bottom:20px}.revision-title-btn{width:100%;color:var(--text);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:2px 0;font-size:.95rem;display:flex}.revision-title{flex:1;min-width:0;font-weight:500}.revision-caret{color:var(--secondary)}.revision-body{border:1px solid var(--primary);color:var(--text);background:#1a231a;border-radius:12px;margin:10px 0 0;padding:16px}.practice-btn{background:var(--secondary);width:100%;color:var(--background);border:none;border-radius:8px;padding:14px;font-size:1rem;font-weight:600}.followup-list{color:var(--text);margin:12px 0 0;padding-left:20px;line-height:1.8}.followup-list li{margin-bottom:4px}.report-actions{flex-direction:column;align-items:center;gap:12px;padding-top:40px;display:flex}.start-new-btn{border-radius:8px}.share-btn{color:var(--secondary);background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}@media (width<=768px){.landing-grid{grid-template-columns:1fr;gap:32px}.backup-key-inputs{flex-wrap:wrap}.backup-provider-select{flex:100%}.provider-grid{grid-template-columns:1fr}.strong-weak-grid{grid-template-columns:1fr;gap:20px}.report-hero{padding:32px 16px}.report-hero-score{font-size:1.6rem}.category-row{grid-template-columns:minmax(100px,auto) 1fr 40px;gap:10px}.landing h1{font-size:1.8rem}.briefing-arena{flex-direction:column;min-height:0}.briefing-sidebar{border-right:none;border-bottom:1px solid var(--primary);flex:none;padding:28px 20px}.briefing-main{padding:28px 20px}.explain-prompt{font-size:18px}.explain-footer-row{flex-wrap:wrap}.question-text{font-size:19px}}
