@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@600;700&display=swap');

:root{--ink:#05050a;--paper:#f8f7fb;--muted:#9b99aa;--pink:#ff2ba6;--purple:#912eff;--blue:#3985ff;--yellow:#ffd326;--line:rgba(255,255,255,.14);font-family:Inter,system-ui,sans-serif;color:var(--paper);background:var(--ink);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden;background:radial-gradient(ellipse at 50% -10%,#161029 0,transparent 42%),#05050a}button,input,textarea{font:inherit}.ambient{position:fixed;width:26rem;height:26rem;filter:blur(120px);opacity:.1;pointer-events:none;z-index:-1}.ambient--pink{background:var(--pink);left:-15rem;top:35%}.ambient--blue{background:var(--blue);right:-17rem;top:10%}.topbar,main{width:min(1120px,calc(100% - 40px));margin:auto}.topbar{height:60px;display:flex;align-items:center;justify-content:space-between}.logo{color:#fff;text-decoration:none;font-size:1.7rem;font-weight:900;letter-spacing:-.08em}.logo span{background:linear-gradient(105deg,#fff 0,#ff51b8 35%,#a764ff 70%);background-clip:text;color:transparent}.logo i{font-size:.48em;color:#ffe34d;font-style:normal;vertical-align:top;margin-left:5px}.logo--small{font-size:1.08rem}.topbar__tag{font-size:.66rem;font-weight:700;letter-spacing:.14em;color:#aaa7b6}.topbar__tag b{color:var(--pink)}
.hero{min-height:245px;position:relative;display:flex;align-items:center;padding:15px 4% 30px}.hero__copy{position:relative;z-index:1}.eyebrow{margin:0 0 13px;color:#bd91ff;font-size:.72rem;font-weight:800;letter-spacing:.18em}.hero h1{font-family:"Space Grotesk",sans-serif;font-size:clamp(2.6rem,5vw,4.6rem);line-height:.94;letter-spacing:-.065em;margin:0;max-width:780px}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#ff3eaa,#ff766c);color:transparent;background-clip:text}.score-orbit{position:absolute;right:3%;top:18px;width:185px;height:185px;border:1px solid rgba(171,86,255,.48);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(126,35,218,.2),rgba(5,5,10,.78) 66%);box-shadow:0 0 70px rgba(110,38,240,.2),inset 0 0 35px rgba(255,43,166,.08)}.score-orbit:before,.score-orbit:after{content:"";position:absolute;border-radius:50%;inset:12px;border:1px dashed rgba(255,255,255,.12);animation:spin 25s linear infinite}.score-orbit:after{inset:-8px;border-color:transparent;border-top-color:var(--pink);border-right-color:var(--blue);filter:drop-shadow(0 0 8px var(--purple));animation-duration:8s}.score-orbit__label,.score-orbit__status{font-size:.62rem;font-weight:800;letter-spacing:.2em;color:#afaaba}.score-orbit div{display:flex;align-items:baseline;margin:8px 0}.score-orbit strong{font-family:"Space Grotesk";font-size:3.7rem;line-height:1;letter-spacing:-.08em;text-shadow:0 0 25px rgba(255,255,255,.28);transition:.4s}.score-orbit small{font-weight:700;color:#aaa5ba}.score-orbit.is-scored .score-orbit__placeholder{display:none}.score-orbit.is-scored strong{color:#fff}.score-orbit.is-scored{animation:scorePop .7s both}.doodle{position:absolute;color:var(--pink);font-size:2.2rem}.doodle--spark{left:1%;top:30px;transform:rotate(-18deg)}
.section-title{text-align:center;margin-bottom:14px}.section-title h2,.result__heading h2{font:700 clamp(1.8rem,4vw,3rem)/1 "Space Grotesk";letter-spacing:-.055em;margin:0}.judge{padding:12px 0 45px}form{max-width:880px;margin:auto}.upload{height:190px;border-radius:24px;position:relative;border:1px solid transparent;background:linear-gradient(#090911,#090911) padding-box,linear-gradient(110deg,var(--pink),#6b3cff,var(--blue)) border-box;box-shadow:0 0 45px rgba(113,44,255,.12);overflow:hidden}.upload:after{content:"";position:absolute;inset:11px;border:1px dashed rgba(255,255,255,.12);border-radius:17px;pointer-events:none}.upload input{position:absolute;opacity:0;pointer-events:none}.upload>label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;z-index:1}.upload__icon{width:80px;height:80px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#6e2eff,#ff2da3,#ff8c3b);box-shadow:0 0 35px rgba(255,43,166,.3);margin-bottom:16px}.upload__icon svg{width:52px;fill:none;stroke:#fff;stroke-width:2}.upload label strong{font-size:1.25rem}.upload label>span:last-child{color:var(--muted);margin-top:8px}.upload__preview{position:absolute;inset:0;z-index:2;background:#090911}.upload__preview img{width:100%;height:100%;object-fit:cover}.replace{position:absolute;right:18px;bottom:18px;padding:12px 17px;border-radius:99px;background:rgba(5,5,10,.8);border:1px solid rgba(255,255,255,.35);font-size:.7rem;font-weight:800;letter-spacing:.08em;cursor:pointer;backdrop-filter:blur(12px)}.prompt-field{display:block;position:relative;margin-top:10px;padding:11px 15px 8px;border:1px solid var(--line);border-radius:17px;background:rgba(12,12,22,.65);transition:.2s}.prompt-field:focus-within{border-color:#a356ff;box-shadow:0 0 25px rgba(145,46,255,.12)}.prompt-field>span{display:block;color:#9d73df;font-size:.62rem;font-weight:800;letter-spacing:.12em}.prompt-field textarea{display:block;width:100%;min-height:42px;resize:none;border:0;outline:0;background:none;padding:8px 35px 0 0;font-size:1.05rem;color:#fff}.prompt-field small{position:absolute;right:15px;bottom:12px;color:#777483;font-size:.65rem}.field-error{min-height:12px;margin:3px 8px;color:#ff6a9f;font-size:.75rem}.personalities{border:0;padding:5px 0 0;margin:0}.personalities legend{width:100%;text-align:center;font-size:.7rem;letter-spacing:.16em;font-weight:800;color:#d8d4e2;margin-bottom:10px}.personalities__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.personality{position:relative;min-height:145px;border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column;align-items:center;padding:17px 8px;cursor:pointer;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,0));transition:transform .2s,border-color .2s,box-shadow .2s}.personality:hover{transform:translateY(-3px)}.personality input{position:absolute;opacity:0}.face{width:66px;height:66px;margin-bottom:4px}.face svg{width:100%;overflow:visible}.face__base{fill:#10101c;stroke:currentColor;stroke-width:2}.face__line{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.face__eye{fill:#fff}.face__detail{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.face__teeth{fill:none;stroke:#05050a;stroke-width:1.5}.personality strong{font:italic 800 .9rem "Space Grotesk"}.personality small{color:#898694;font-size:.68rem;margin-top:5px}.personality>i{position:absolute;width:9px;height:9px;border:2px solid currentColor;border-radius:50%;bottom:10px}.personality--mean{color:#ff386f}.personality--zen{color:#3f91ff}.personality--fan{color:#ffd126}.personality:has(input:checked){border-color:currentColor;box-shadow:0 0 30px color-mix(in srgb,currentColor 20%,transparent),inset 0 0 28px color-mix(in srgb,currentColor 7%,transparent);transform:translateY(-4px)}.personality:has(input:checked)>i{background:currentColor;box-shadow:0 0 9px currentColor}.judge-button,.share-button{border:0;color:#fff;font-weight:900;letter-spacing:.04em;cursor:pointer}.judge-button{width:min(620px,100%);height:54px;display:block;margin:14px auto 0;border-radius:99px;font-style:italic;font-size:1.2rem;background:linear-gradient(100deg,#9e18ed,#ff2d9e 52%,#ffba26);box-shadow:0 12px 40px rgba(255,43,166,.23);transition:transform .2s,filter .2s}.judge-button:hover,.share-button:hover{transform:translateY(-2px);filter:brightness(1.12)}.judge-button__loading{display:none}.judge-button.is-loading .judge-button__idle{display:none}.judge-button.is-loading .judge-button__loading{display:flex;justify-content:center;align-items:center;gap:10px}.judge-button__loading i{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite}.privacy{margin:12px 0 0;text-align:center;color:#6f6c79;font-size:.6rem;font-weight:700;letter-spacing:.08em}
.result{padding:30px 0 70px;animation:reveal .65s both}.result__heading{text-align:center;margin-bottom:28px}.verdict-card{position:relative;max-width:900px;min-height:450px;margin:auto;display:grid;grid-template-columns:52% 48%;overflow:hidden;border-radius:26px;background:#0b0a13;border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 100px rgba(0,0,0,.65),0 0 70px rgba(145,46,255,.16)}.verdict-card:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,43,166,.15)}.verdict-card__photo{min-height:450px}.verdict-card__photo img{width:100%;height:100%;object-fit:cover;display:block}.verdict-card__content{padding:32px;display:flex;flex-direction:column}.verdict-card__brand{display:flex;justify-content:space-between;align-items:center}.verdict-card__brand>span:last-child{font-size:.66rem;font-weight:800;letter-spacing:.13em;color:#d797ff}.verdict-card__score{display:flex;align-items:baseline;margin:45px 0 15px}.verdict-card__score strong{font:700 6.2rem/1 "Space Grotesk";letter-spacing:-.08em;background:linear-gradient(150deg,#fff 30%,#ff76bd);background-clip:text;color:transparent}.verdict-card__score span{font-weight:800;color:#b8b3c3}.verdict-card__content p{font:600 1.25rem/1.45 "Space Grotesk";margin:0}.verdict-card__content>small{margin-top:auto;padding-top:20px;color:#777381;border-top:1px solid var(--line)}.share-button{width:min(500px,100%);height:61px;margin:25px auto 0;border-radius:99px;background:#f5f3f8;color:#0b0910;display:flex;justify-content:center;align-items:center;gap:12px}.share-button svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.8}.share-feedback{text-align:center;min-height:18px;color:#b993ff;font-size:.75rem}.result+ .judge{padding-top:25px;border-top:1px solid rgba(255,255,255,.08)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes scorePop{50%{transform:scale(1.08);filter:brightness(1.4)}}@keyframes reveal{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(max-width:760px){
.topbar,main{width:calc(100% - 24px)}.topbar{height:40px}.logo{font-size:1.3rem}.topbar__tag{display:none}
.hero{min-height:0;padding:5px 0 9px;display:grid;grid-template-columns:1fr 66px;gap:8px;align-items:center}.hero h1{font-size:clamp(1.55rem,8vw,2.15rem);line-height:.94}.hero .eyebrow{font-size:.48rem;margin-bottom:4px}.doodle--spark{display:none}
.score-orbit{position:relative;inset:auto;width:62px;height:62px}.score-orbit:before{inset:5px}.score-orbit:after{inset:-3px}.score-orbit__label{display:none}.score-orbit div{margin:0}.score-orbit strong{font-size:1.5rem}.score-orbit small{font-size:.5rem}.score-orbit__status{font-size:.34rem;letter-spacing:.1em}
.judge{padding:4px 0 18px}.section-title{text-align:left;margin-bottom:6px}.section-title .eyebrow{display:none}.section-title h2{font-size:1.12rem}.upload{height:94px;border-radius:14px}.upload:after{inset:5px;border-radius:9px}.upload__icon{width:38px;height:38px;margin-bottom:3px}.upload__icon svg{width:26px}.upload label strong{font-size:.72rem}.upload label>span:last-child{font-size:.55rem;margin-top:2px}.replace{right:8px;bottom:8px;padding:7px 10px;font-size:.52rem}
.prompt-field{margin-top:6px;padding:7px 10px 5px;border-radius:10px}.prompt-field>span{font-size:.45rem}.prompt-field textarea{min-height:30px;padding:4px 28px 0 0;font-size:.76rem;line-height:1.15}.prompt-field small{right:8px;bottom:5px;font-size:.48rem}.field-error{min-height:7px;margin:1px 5px;font-size:.52rem;line-height:1}
.personalities{padding-top:1px}.personalities legend{margin-bottom:4px;font-size:.48rem}.personalities__grid{gap:5px}.personality{min-height:83px;border-radius:10px;padding:4px 2px}.face{width:39px;height:39px;margin-bottom:0}.personality strong{font-size:.53rem}.personality small{font-size:.42rem;margin-top:1px}.personality>i{width:5px;height:5px;border-width:1px;bottom:4px}.personality:has(input:checked){transform:translateY(-1px)}
.privacy{display:none}.judge-button{height:40px;margin-top:7px;font-size:.82rem}
.verdict-card{grid-template-columns:1fr;min-height:0}.verdict-card__photo{height:300px;min-height:0}.verdict-card__content{padding:20px;min-height:290px}.verdict-card__score{margin:24px 0 10px}.verdict-card__score strong{font-size:4.8rem}.verdict-card__content p{font-size:1rem}.result{padding-top:12px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}
