.screen{flex:1;display:flex;flex-direction:column;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.progress-bar{height:2px;background:var(--border)}.progress-fill{height:100%;background:var(--teal);transition:width .4s ease;border-radius:1px}.intro-screen{align-items:center;justify-content:center}.intro-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 1.5rem;max-width:600px;width:100%}.logo-mark{font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-bottom:2.5rem}.intro-title{font-family:"DM Serif Display",serif;font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;margin-bottom:1.25rem}.intro-title em{color:var(--teal);font-style:italic}.intro-sub{font-size:15px;color:var(--muted);line-height:1.7;max-width:420px;margin:0 auto 2.5rem}.pill-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:2.5rem}.pill{font-size:11px;padding:5px 12px;border-radius:20px;border:1px solid var(--border);color:var(--muted);font-weight:500}.intro-meta{font-size:12px;color:var(--muted);margin-top:1rem;opacity:.7}.score-wrap{flex:1;display:flex;flex-direction:column;max-width:640px;margin:0 auto;width:100%;padding:2rem 1.5rem}.score-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.cat-badge{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}.header-right{display:flex;align-items:center;gap:12px}.cat-dots{display:flex;gap:6px;align-items:center}.cat-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .3s}.cat-dot.done{background:var(--teal)}.cat-dot.active{background:var(--teal);box-shadow:0 0 0 3px var(--teal-dim)}.q-counter{font-size:12px;color:var(--muted)}.cat-sub{font-size:13px;color:var(--muted);margin-bottom:1.5rem;font-style:italic}.score-question{font-family:"DM Serif Display",serif;font-size:clamp(1.2rem,3.5vw,1.65rem);line-height:1.3;margin-bottom:.75rem;min-height:80px}.q-stem{font-size:13px;color:var(--muted);margin-bottom:1.75rem}.rating-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:2rem}.rating-btn{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s;background:var(--surface);gap:4px}.rating-btn:hover{border-color:var(--teal-mid);background:var(--teal-dim)}.rating-btn.active{border-color:var(--teal);background:var(--teal-dim)}.rating-num{font-size:1.4rem;font-weight:600;color:var(--text);transition:color .15s}.rating-btn.active .rating-num{color:var(--teal)}.rating-label{font-size:9px;color:var(--muted);text-align:center;line-height:1.2;padding:0 4px;transition:color .15s}.rating-btn.active .rating-label{color:var(--teal)}.score-nav{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.results-wrap{flex:1;display:flex;flex-direction:column;max-width:700px;margin:0 auto;width:100%;padding:2rem 1.5rem 4rem}.results-header{text-align:center;padding:1.5rem 0 2rem}.results-badge{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:1rem}.score-ring-wrap{display:flex;flex-direction:column;align-items:center;margin:1rem 0 1.5rem}.score-big{font-family:"DM Serif Display",serif;font-size:4.5rem;line-height:1}.score-suffix{font-size:1.75rem;color:var(--muted)}.score-label{font-size:12px;color:var(--muted);margin-top:.25rem}.results-headline{font-family:"DM Serif Display",serif;font-size:clamp(1.3rem,3.5vw,1.8rem);line-height:1.25;margin-bottom:1rem}.results-verdict{font-size:14px;color:var(--muted);line-height:1.7;max-width:520px;margin:0 auto}.cat-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin-bottom:1.5rem}.cat-score-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px}.csc-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.csc-bar-bg{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:6px}.csc-bar{height:100%;border-radius:2px;transition:width 1s ease}.csc-num{font-size:13px;font-weight:600}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:2rem}@media (max-width:500px){.analysis-grid{grid-template-columns:1fr}}.analysis-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.analysis-card.full{grid-column:1/-1}.ac-title{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.ac-title.green{color:var(--green)}.ac-title.amber{color:var(--amber)}.ac-title.teal{color:var(--teal)}.ac-list{display:flex;flex-direction:column;gap:9px}.ac-item{display:flex;gap:8px;font-size:13px;color:var(--muted);line-height:1.5;align-items:flex-start}.ac-dot{width:5px;height:5px;border-radius:50%;margin-top:7px;flex-shrink:0}.ac-dot.green{background:var(--green)}.ac-dot.amber{background:var(--amber)}.priority-text{font-size:14px;color:var(--text);line-height:1.7}.cta-split{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start;margin-top:1rem}@media (max-width:580px){.cta-split{grid-template-columns:1fr;grid-template-rows:auto auto auto}}.cta-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px}.cta-card.cta-playbook{border-color:var(--teal-mid)}.cta-card-icon{font-size:2rem;line-height:1}.cta-card-title{font-family:"DM Serif Display",serif;font-size:1.15rem;color:var(--text);line-height:1.3}.cta-card-desc{font-size:13px;color:var(--muted);line-height:1.6}.cta-card-meta{font-size:11px;color:var(--muted);opacity:.6;text-align:center}.cta-divider{display:flex;align-items:center;justify-content:center;padding-top:60px}.cta-divider span{font-size:12px;color:var(--muted);background:var(--bg);padding:6px 4px}@media (max-width:580px){.cta-divider{padding-top:0}}.loading-screen{align-items:center;justify-content:center;flex-direction:column;gap:1.5rem}.loader{width:40px;height:40px;border:2px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-title{font-family:"DM Serif Display",serif;font-size:1.4rem;color:var(--text)}.loading-sub{font-size:13px;color:var(--muted);text-align:center}.btn-primary{background:var(--teal);color:#0c0c0c;border:none;padding:13px 28px;border-radius:var(--radius-sm);font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;letter-spacing:.01em}.btn-primary:hover{opacity:.9}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-primary.btn-full{width:100%}.btn-ghost{background:none;border:1px solid var(--border);color:var(--muted);padding:10px 20px;border-radius:var(--radius-sm);font-family:DM Sans,sans-serif;font-size:14px;cursor:pointer;transition:all .15s}.btn-ghost:hover{border-color:var(--teal-mid);color:var(--text)}.btn-ghost:disabled{opacity:.3;cursor:not-allowed}.btn-outline{background:none;border:1px solid var(--teal-mid);color:var(--teal);padding:13px 28px;border-radius:var(--radius-sm);font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-outline:hover{background:var(--teal-dim)}.btn-outline.btn-full{width:100%}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;animation:fadeIn .2s ease}.modal-box{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-lg);padding:32px;max-width:440px;width:100%;position:relative;animation:slideUp .25s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .15s}.modal-close:hover{color:var(--text)}.modal-icon{font-size:2.5rem;margin-bottom:12px;display:block}.modal-title{font-family:"DM Serif Display",serif;font-size:1.5rem;color:var(--text);margin-bottom:8px}.modal-sub{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:20px}.modal-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 0;text-align:center}.modal-ready{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.ready-icon{font-size:3rem}.form-group{width:100%;margin-bottom:12px}.form-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}.optional{opacity:.5;font-weight:400;text-transform:none;letter-spacing:0}.form-input{width:100%;background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:11px 14px;border-radius:var(--radius-sm);font-family:DM Sans,sans-serif;font-size:14px;outline:none;transition:border-color .15s}.form-input:focus{border-color:var(--teal)}.form-input::placeholder{color:var(--muted)}.privacy-note{font-size:11px;color:var(--muted);opacity:.65;text-align:center;margin-top:8px}@media (max-width:400px){.rating-label{font-size:8px}.rating-num{font-size:1.2rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--teal:#00A896;--teal-dim:rgba(0,168,150,.12);--teal-mid:rgba(0,168,150,.3);--bg:#0c0c0c;--surface:#161616;--surface2:#1e1e1e;--text:#f0f0ee;--muted:#888;--border:#2a2a2a;--border2:#333;--green:#4caf7d;--green-dim:rgba(76,175,125,.12);--amber:#f59e0b;--amber-dim:rgba(245,158,11,.12);--red:#e53e3e;--red-dim:rgba(229,62,62,.1);--radius-sm:6px;--radius-md:8px;--radius-lg:12px}html,body,#root{height:100%;width:100%}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}::selection{background:var(--teal-mid);color:var(--text)}
