*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--dark: #231F20;--gold: #DDC045;--mid: #4E4B4C;--muted: #B4981F;--gray: #CCCCCC;--white: #FFFFFF;--radius: 8px;--radius-lg: 16px}html,body{height:100%;background:var(--dark);color:var(--white);font-family:Poppins,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;align-items:stretch}.screen{width:100%;min-height:100vh;background:var(--dark);display:flex;flex-direction:column;align-items:center;padding:24px 20px 48px}.logo{width:160px;height:auto;max-height:60px;object-fit:contain;margin-bottom:28px}.logo-sm{width:120px;height:auto;max-height:40px;object-fit:contain;margin-bottom:20px}h1,h2,h3,.intro-title,.step-title,.results-heading,.breakdown-heading,.email-heading,.success-heading,.tier-label,.phase-name,.btn-primary,.btn-back,.phase-badge,.intro-badge{font-family:Good Times,Rajdhani,Poppins,sans-serif;letter-spacing:.04em}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:var(--dark);border:none;border-radius:var(--radius);padding:14px 28px;font-family:Good Times,Rajdhani,Poppins,sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .18s,transform .12s,opacity .18s;width:100%;max-width:420px;text-align:center}.btn-primary:hover:not(:disabled){background:#c8aa30;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary.disabled,.btn-primary:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.btn-back{background:transparent;color:var(--gray);border:1px solid var(--mid);border-radius:var(--radius);padding:12px 20px;font-family:Good Times,Rajdhani,Poppins,sans-serif;font-size:11px;letter-spacing:.08em;cursor:pointer;transition:color .15s,border-color .15s}.btn-back:hover{color:var(--white);border-color:var(--white)}.spinner{width:16px;height:16px;border:2px solid var(--dark);border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.spinner.hidden{display:none}@keyframes spin{to{transform:rotate(360deg)}}.intro-screen{justify-content:center;text-align:center}.intro-inner{display:flex;flex-direction:column;align-items:center;max-width:480px;width:100%}.intro-badge{background:#ddc0451f;border:1px solid var(--gold);color:var(--gold);border-radius:40px;padding:5px 16px;font-size:10px;letter-spacing:.14em;margin-bottom:20px;text-transform:uppercase}.intro-title{font-size:clamp(28px,7vw,44px);color:var(--gold);line-height:1.1;margin-bottom:20px;text-transform:uppercase}.intro-subtitle{color:#ffffffbf;font-size:15px;line-height:1.65;margin-bottom:28px;max-width:380px}.intro-features{list-style:none;margin-bottom:36px;display:flex;flex-direction:column;gap:8px;text-align:left;align-self:stretch;padding:0 20px}.intro-features li{color:#fffc;font-size:14px;display:flex;align-items:center;gap:10px}.check{color:var(--gold);font-weight:700;font-size:16px}.intro-note{margin-top:16px;color:var(--mid);font-size:12px;letter-spacing:.06em}.step-screen{padding-top:0}.step-header{width:100%;max-width:560px;padding:20px 0 0;margin-bottom:8px}.progress-wrap{display:flex;flex-direction:column;gap:6px}.progress-track{width:100%;height:4px;background:var(--mid);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--gold);border-radius:4px;transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-label{font-size:11px;color:var(--gray);letter-spacing:.08em;text-transform:uppercase}.step-inner{width:100%;max-width:560px;display:flex;flex-direction:column;flex:1;padding-top:8px}.step-meta{margin-bottom:12px}.phase-badge{font-size:10px;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;opacity:.85}.step-title{font-size:clamp(18px,5vw,26px);color:var(--gold);line-height:1.2;margin-bottom:16px;text-transform:uppercase}.step-question{font-size:16px;font-weight:500;color:var(--white);margin-bottom:10px;line-height:1.5}.step-detail{font-size:13px;color:#fff9;margin-bottom:32px;line-height:1.65}.score-scale{margin-bottom:40px}.scale-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--gray);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}.score-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.score-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 4px;background:transparent;border:1.5px solid var(--mid);border-radius:var(--radius);color:var(--white);cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .1s;min-height:64px}.score-btn:hover{border-color:var(--gold);transform:translateY(-2px)}.score-btn.selected{background:var(--gold);border-color:var(--gold);color:var(--dark)}.score-num{font-family:Good Times,Rajdhani,Poppins,sans-serif;font-size:18px;font-weight:700;line-height:1}.score-hint{font-size:9px;letter-spacing:.04em;opacity:.7;text-transform:uppercase}.step-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:8px}.step-nav .btn-primary{flex:1;max-width:260px}.results-screen{justify-content:flex-start}.results-inner{width:100%;max-width:520px;display:flex;flex-direction:column;align-items:center}.results-header{display:flex;flex-direction:column;align-items:center;margin-bottom:8px;width:100%}.results-heading{font-size:13px;color:var(--gray);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}.score-ring-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:16px}.score-ring-svg{width:160px;height:160px}.ring-score{font-family:Good Times,Rajdhani,Poppins,sans-serif;font-size:36px;font-weight:700;fill:var(--gold)}.ring-label{font-family:Poppins,sans-serif;font-size:11px;fill:#fff9}.tier-label{font-size:22px;color:var(--gold);text-align:center;margin-top:4px;text-transform:uppercase}.tier-description{font-size:13px;color:#ffffffb3;text-align:center;max-width:400px;margin-bottom:28px;line-height:1.65}.phase-breakdown{width:100%;margin-bottom:32px}.breakdown-heading{font-size:11px;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;text-align:left}.phase-row{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}.phase-name{font-size:10px;color:#ffffffd9;letter-spacing:.1em;text-transform:uppercase}.phase-bar-wrap{display:flex;align-items:center;gap:10px}.phase-bar-track{flex:1;height:6px;background:var(--mid);border-radius:6px;overflow:hidden}.phase-bar-fill{height:100%;background:var(--gold);border-radius:6px;transition:width .6s cubic-bezier(.4,0,.2,1)}.phase-pct{font-size:11px;color:var(--gray);min-width:34px;text-align:right}.results-note{margin-top:12px;font-size:12px;color:var(--mid);text-align:center}.email-screen{justify-content:flex-start}.email-inner{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center}.email-heading{font-size:clamp(20px,5vw,28px);color:var(--gold);text-align:center;margin-bottom:12px;text-transform:uppercase}.email-sub{font-size:14px;color:#ffffffb3;text-align:center;margin-bottom:32px;line-height:1.6}.email-form{width:100%;display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.field-group{display:flex;flex-direction:column;gap:6px}.field-group label{font-size:11px;color:var(--gray);letter-spacing:.08em;text-transform:uppercase}.field-group input[type=text],.field-group input[type=email]{background:#ffffff0f;border:1.5px solid var(--mid);border-radius:var(--radius);color:var(--white);font-family:Poppins,sans-serif;font-size:15px;padding:12px 14px;transition:border-color .15s,background .15s;outline:none;width:100%}.field-group input:focus{border-color:var(--gold);background:#ddc0450d}.field-group input::placeholder{color:#ffffff4d}.field-error{font-size:12px;color:#f47b6e;min-height:16px}.consent-row{display:flex;align-items:flex-start;gap:10px}.consent-row input[type=checkbox]{width:18px;height:18px;min-width:18px;margin-top:2px;accent-color:var(--gold);cursor:pointer}.consent-label{font-size:12px;color:#ffffff8c;line-height:1.5;cursor:pointer}.form-error{color:#f47b6e;font-size:13px;text-align:center;margin-top:-8px}.success-screen{justify-content:center;text-align:center}.success-inner{display:flex;flex-direction:column;align-items:center;max-width:440px}.success-icon{width:72px;height:72px;border-radius:50%;background:var(--gold);color:var(--dark);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;margin-bottom:24px}.success-heading{font-size:clamp(22px,6vw,32px);color:var(--gold);margin-bottom:16px;text-transform:uppercase}.success-sub{font-size:14px;color:#ffffffb3;margin-bottom:32px;line-height:1.65}.success-score{display:flex;align-items:baseline;gap:6px;margin-bottom:32px}.success-score-num{font-family:Good Times,Rajdhani,Poppins,sans-serif;font-size:52px;color:var(--gold);line-height:1}.success-score-label{font-size:14px;color:#fff9}.success-note{margin-top:16px;font-size:12px;color:var(--mid)}@media (min-width: 480px){.score-btn{padding:14px 8px}.score-num{font-size:22px}.step-nav .btn-primary{max-width:220px}}@media (max-width: 360px){.score-buttons{gap:5px}.score-btn{padding:10px 2px;min-height:56px}.score-num{font-size:16px}.score-hint{font-size:8px}}@font-face{font-family:Good Times;src:url(/assets/fonts/GoodTimes.otf) format("opentype");font-weight:400;font-display:swap}
