/* NADA Party Match — Neon After Dark edition
   Primary aesthetic: near-black nightlife surfaces, vivid neon pink → violet gradient.
   These CSS variables can be updated without touching the quiz logic. */
:root {
  color-scheme:dark;
  --bg:#0D0A17;
  --panel:#1B1528;
  --panel-raised:#251C36;
  --panel-soft:#21172F;
  --text:#F8F4FF;
  --muted:#BDB0CD;
  --muted2:#968AA7;
  --line:#433454;
  --pink:#FF35AE;
  --violet:#9554FF;
  --coral:#FF5FA2;
  --purple:#BA84FF;
  --purple-dark:#D3B0FF;
  --purple-ink:#F8F4FF;
  --mint:#FF35AE;
  --gradient:linear-gradient(110deg,#FF2DA5 0%,#E046EE 51%,#8A50FF 100%);
  --glow:0 0 26px rgba(250,54,197,.25);
  --shadow:0 28px 85px rgba(0,0,0,.48),0 0 35px rgba(174,67,235,.13);
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;overflow-x:hidden;line-height:1.5;color:var(--text);background:radial-gradient(ellipse at 7% 1%,rgba(157,52,211,.25),transparent 42%),radial-gradient(ellipse at 105% 92%,rgba(255,45,166,.12),transparent 38%),#0D0A17;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.background-orbit{position:fixed;z-index:0;pointer-events:none;filter:blur(100px);border-radius:50%;opacity:.28}
.orbit-a{height:470px;width:470px;top:-270px;left:-220px;background:#AC3EEE}
.orbit-b{height:450px;width:450px;bottom:-300px;right:-190px;background:#FF319F}
.page{position:relative;z-index:1;max-width:980px;min-height:100vh;margin:0 auto;padding:24px 24px 24px;display:flex;flex-direction:column}
.site-header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:6px 0 29px}
.wordmark{display:flex;gap:10px;align-items:center;font-weight:850;font-size:19px;letter-spacing:-.65px;color:#fff}
.logo-heart{width:38px;height:38px;border-radius:12px;background:var(--gradient);box-shadow:0 7px 22px #E245CB50;display:grid;place-items:center;color:white;font-size:22px;line-height:1}
.promo-tag{font-size:10px;letter-spacing:1px;font-weight:850;text-transform:uppercase;padding:9px 13px;border-radius:100px;white-space:nowrap;background:#281B39;color:#F4C4EC;border:1px solid #794066}
.screen{width:min(100%,610px);margin:auto;animation:appear .3s ease-out}
.screen-card{position:relative;overflow:hidden;padding:clamp(24px,5vw,42px);border-radius:28px;background:linear-gradient(152deg,#21192E,#171222 78%);border:1px solid #4B345C;box-shadow:var(--shadow)}
.screen-card:before{content:"";height:4px;position:absolute;top:0;left:0;right:0;background:var(--gradient)}
.kicker{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:900;color:#FF81D2;margin:0 0 14px}
.headline{font-size:clamp(35px,5.9vw,54px);line-height:1.055;letter-spacing:-2.25px;font-weight:850;margin:0 0 14px;color:#FAF5FF}
.subhead{font-size:16px;color:var(--muted);margin:0 0 20px}.highlight{color:#FF6CC7}
.primary,.secondary,.option,.tiny-btn,.footer-link{font:inherit;cursor:pointer}
.primary{background:var(--gradient);border:0;color:#fff;font-weight:850;border-radius:14px;padding:15px 22px;min-height:54px;transition:transform .15s,filter .15s,box-shadow .15s;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(240,55,177,.25);text-shadow:0 1px 1px rgba(71,0,63,.27)}
.primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 13px 27px rgba(240,55,177,.35)}
.primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.secondary{background:#2D223E;color:#EFE4FF;border:1.5px solid #614678;border-radius:14px;padding:12px 19px;min-height:50px;font-weight:750}
.secondary:hover,.option:hover{border-color:#D559EA;background:#382848}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.button-row>*{flex:1 1 175px}
.discovery-card{height:174px;background:linear-gradient(124deg,#612077 0%,#B42B99 45%,#6039AC 100%);border-radius:18px;position:relative;overflow:hidden;margin:24px 0 18px;color:#fff;box-shadow:0 14px 33px rgba(230,42,174,.2);display:flex;align-items:center;gap:22px;padding:19px 25px;border:1px solid #F87FC655}
.discovery-card:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;border:1px solid #ffffff35;top:-96px;right:-82px;box-shadow:0 0 0 25px #ffffff0B,0 0 0 55px #ffffff09}
.discovery-avatar{width:97px;height:118px;flex:0 0 97px;display:grid;place-items:center;border-radius:21px;background:linear-gradient(155deg,#ffffff65,#ffffff1C);border:1px solid #ffffff80;backdrop-filter:blur(8px);transform:rotate(-8deg);box-shadow:6px 10px 18px #29063866;color:#FFDAF1;font-size:58px}
.discovery-caption{display:grid;gap:7px;position:relative;z-index:1}.discovery-caption strong{font-size:22px;letter-spacing:-.65px;line-height:1.14;color:white;max-width:290px}.discovery-chip{font-size:9px;letter-spacing:1.25px;font-weight:900;color:#FFE0F3}.discovery-description{font-size:11px;color:#F1DEF8}.discovery-shine{position:absolute;top:13px;left:28px;font-size:32px;color:#FFD0F1}.discovery-corner{position:absolute;right:20px;bottom:8px;font-size:25px;color:#F7C8F9}
.notice{padding:14px 17px;background:#291C35;border:1px solid #5D3B65;border-radius:14px;color:#D9C8E7;font-size:13px;margin:16px 0 0}.note-title{display:flex;align-items:center;gap:9px;color:#FFA3DC;font-weight:900;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:6px}.note-title:before{content:"i";width:17px;height:17px;border:1.5px solid #E688D4;border-radius:50%;display:inline-grid;place-items:center;font-size:10px;font-family:Georgia,serif;font-style:italic}
.progress-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:11px;font-weight:850;color:#F2A2EC;letter-spacing:1.1px}.progress{height:7px;background:#3A2B4B;border-radius:99px;overflow:hidden;margin-bottom:27px}.progress-fill{height:100%;background:var(--gradient);border-radius:99px;transition:width .25s}
.question-title{font-size:clamp(27px,5.3vw,36px);line-height:1.13;font-weight:850;letter-spacing:-1.2px;margin:0 0 12px;color:#F8F4FF}.question-sub{color:var(--muted);margin:0 0 24px;font-size:14px}
.options{display:grid;gap:11px}.option{width:100%;text-align:left;padding:16px 18px;background:#261D34;color:#F5EDFB;border:1.5px solid #514062;border-radius:15px;font-weight:650;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:58px;transition:border-color .15s,transform .15s,background .15s}.option:hover{transform:translateY(-1px)}.option.selected{border-color:#FF65C2;background:linear-gradient(100deg,#4B264F,#382344);box-shadow:0 0 0 2px #FF3FA11E}.option .circle{width:23px;height:23px;flex-shrink:0;border:2px solid #9C7AB3;border-radius:50%;display:grid;place-items:center}.option.selected .circle{border-color:#F95EBB;background:var(--gradient)}.option.selected .circle:after{content:"♥";display:block;color:#fff;font-size:12px;line-height:1}
.matchmaker{padding:18px 19px;background:linear-gradient(140deg,#34213D,#291B3B);border-radius:17px;border:1px solid #8E4B83;margin-top:19px;animation:appear .25s ease}.matchmaker p{margin:0;color:#F3E4F4}.matchmaker .speaker{margin:0 0 8px;color:#FF93D0;font-size:10px;letter-spacing:1.35px;text-transform:uppercase;font-weight:900}.matchmaker .button-row{margin-top:13px}.matchmaker .matchmaker-aside{padding-top:12px;margin-top:12px;border-top:1px solid #855078;color:#FFD6EE;font-style:italic}.help-text{font-size:12px;color:var(--muted2);margin:13px 0 0}
.match-banner{border:1px solid #6A3B75;background:linear-gradient(140deg,#332040,#241B38);border-radius:20px;padding:25px;margin:21px 0;position:relative;overflow:hidden}.match-banner:after{content:"♥";position:absolute;right:-5px;top:8px;font-size:118px;color:#E456CA;opacity:.17;transform:rotate(-16deg);pointer-events:none}.match-banner>*{position:relative;z-index:1}.match-logo{font-size:52px;line-height:1.1;color:#FF62B9;margin:15px 0 0}.match-title{font-size:clamp(28px,5vw,38px);font-weight:850;letter-spacing:-1px;line-height:1.15;margin:5px 0;color:#FAF1FF}.match-sub{color:#D8C3E2;font-size:14px}.badge{display:inline-block;border-radius:99px;padding:7px 11px;background:#5A2C69;color:#FFD5EF;font-size:10px;font-weight:900;letter-spacing:1px;border:1px solid #A75A99}
.details{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:9px;color:#CFBBD9;font-size:14px}.details strong{color:#F8EDFF}.result-copy{color:#F2D7EE;font-size:15px;font-weight:600}.warning{border-left:3px solid #FF5FA2;padding:10px 14px;background:#3B243E;color:#FFD3EA;margin:17px 0;border-radius:0 9px 9px 0}.small-link{padding:7px 0;background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:#F2A1DC;cursor:pointer;font:inherit;font-size:13px}
.site-footer{text-align:center;padding-top:29px}.site-footer p{font-size:11px;color:#BAA9C9;line-height:1.5}.site-footer .tiny{font-size:10px;color:#9686A9}.footer-link{border:0;background:none;font-size:11px;color:#F39DE2;text-decoration:underline;text-underline-offset:3px}
.modal{width:min(calc(100% - 28px),500px);padding:0;border:1px solid #714A82;border-radius:20px;background:#241B35;color:#FAF4FF;box-shadow:var(--shadow)}.modal::backdrop{background:#0D0612C9;backdrop-filter:blur(4px)}.modal-content{padding:28px}.modal-content h2{margin:0 0 10px;font-size:25px}.modal-content p:not(.kicker){color:#DACBE9}.modal .primary{margin-top:10px;width:100%}
button:focus-visible,a:focus-visible{outline:3px solid #FF72C4;outline-offset:3px}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;white-space:nowrap}
@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.extra-wrap{display:grid;gap:11px;margin:20px 0 15px}.extra-eyebrow{font-size:10px;line-height:1.4;font-weight:900;letter-spacing:1.4px;color:#F6A2E2;margin:0 0 2px}.result-extra{display:flex;align-items:flex-start;gap:13px;padding:16px;border:1px solid #543B65;background:#241D32;border-radius:16px}.extra-icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#4B2957;color:#FF8BD1;font-weight:850;font-size:19px}.extra-content{min-width:0}.extra-content h2{font-size:14px;color:#FAEAFF;font-weight:850;margin:0 0 5px;letter-spacing:-.15px}.extra-content p{font-size:13px;line-height:1.5;color:#DAC8E3;margin:0}.extra-link{display:inline-block;margin-top:10px;color:#FFA4E1;text-decoration:underline;text-underline-offset:3px;font-weight:800;font-size:13px;overflow-wrap:anywhere}.extra-link:hover{color:#FF69B4}
@media(max-width:520px){.page{padding:15px 13px 20px}.site-header{padding:4px 2px 20px}.wordmark{font-size:15px;gap:7px}.logo-heart{width:32px;height:32px;font-size:17px;border-radius:10px}.promo-tag{font-size:8px;letter-spacing:.1px;padding:7px 8px;white-space:normal;text-align:center;max-width:170px}.screen-card{border-radius:23px;padding:24px 21px}.headline{letter-spacing:-1.6px}.button-row{flex-direction:column}.button-row>*{width:100%;flex:0 0 auto}.screen{margin:10px auto auto}.discovery-card{height:auto;min-height:160px;padding:17px 15px;gap:16px}.discovery-avatar{width:75px;height:98px;flex-basis:75px;font-size:45px}.discovery-caption strong{font-size:19px}.discovery-description{font-size:10px}.option{padding:14px 13px}}
@media(max-width:355px){.promo-tag{max-width:135px;font-size:7px}.discovery-avatar{width:60px;flex-basis:60px}.discovery-caption strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
