:root{color-scheme:light;--ink:#25223a;--muted:#77738c;--faint:#9994ad;--purple:#7158e2;--pink:#ff8fb3;--bg:#f7f5ff;--glow1:#eee8ff;--glow2:#ffe8f0;--card:#ffffffed;--card-border:#fff;--surface:#fff;--surface-2:#fbfaff;--chip:#ffffffb0;--soft:#f0ecff;--soft-ink:#644bd3;--track:#eeeafa;--radio:#d8d3e8;--line:#ece8f8;--line-strong:#e8e0ff;--hover-border:#c9bfff;--trait-ink:#625d78;--soft-a:#f3efff;--soft-b:#fff0f5;--grad-a:#6e54df;--grad-b:#ec78a4;--toast:#28243e;--shadow:#44316b0c}
/* 다크 테마: 시스템 설정을 따르되, 사용자가 직접 고른 테마(data-theme)가 우선 */
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--ink:#ece9f7;--muted:#a6a1bd;--faint:#6f6a86;--purple:#a593ff;--pink:#ff8fb3;--bg:#13111c;--glow1:#2a2148;--glow2:#36202d;--card:#1d1a2aee;--card-border:#2b2740;--surface:#24213a;--surface-2:#201d31;--chip:#ffffff0d;--soft:#2e2752;--soft-ink:#c3b6ff;--track:#332e4a;--radio:#4f4968;--line:#312c47;--line-strong:#463c78;--hover-border:#6a5ac8;--trait-ink:#cbc6de;--soft-a:#29224a;--soft-b:#36202f;--grad-a:#a593ff;--grad-b:#ff8fb3;--toast:#3d3756;--shadow:#00000040}}
:root[data-theme="dark"]{color-scheme:dark;--ink:#ece9f7;--muted:#a6a1bd;--faint:#6f6a86;--purple:#a593ff;--pink:#ff8fb3;--bg:#13111c;--glow1:#2a2148;--glow2:#36202d;--card:#1d1a2aee;--card-border:#2b2740;--surface:#24213a;--surface-2:#201d31;--chip:#ffffff0d;--soft:#2e2752;--soft-ink:#c3b6ff;--track:#332e4a;--radio:#4f4968;--line:#312c47;--line-strong:#463c78;--hover-border:#6a5ac8;--trait-ink:#cbc6de;--soft-a:#29224a;--soft-b:#36202f;--grad-a:#a593ff;--grad-b:#ff8fb3;--toast:#3d3756;--shadow:#00000040}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 0%,var(--glow1) 0,transparent 35%),radial-gradient(circle at 100% 40%,var(--glow2) 0,transparent 30%),var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;transition:background-color .25s,color .25s}
button,input{font:inherit}button{cursor:pointer}.shell{width:min(100% - 32px,720px);margin:0 auto;padding:28px 0 48px}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.top-right{display:flex;align-items:center;gap:8px}.brand{display:flex;align-items:center;gap:9px;font-weight:850;letter-spacing:-.5px}.logo{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#7158e2,#b5a5ff);display:grid;place-items:center;color:white;font-size:19px;box-shadow:0 6px 16px #7158e233}.tag{font-size:12px;color:var(--muted);background:var(--chip);border:1px solid var(--card-border);padding:7px 11px;border-radius:30px}.theme-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--card-border);background:var(--chip);color:var(--ink);font-size:17px;display:grid;place-items:center;padding:0;transition:transform .15s}.theme-toggle:hover{transform:rotate(-15deg) scale(1.06)}
.card{background:var(--card);border:1px solid var(--card-border);border-radius:28px;padding:clamp(22px,5vw,42px);box-shadow:0 18px 60px var(--shadow);backdrop-filter:blur(10px)}.hero{text-align:center;padding-top:42px;padding-bottom:38px}.eyebrow{display:inline-flex;gap:7px;align-items:center;background:var(--soft);color:var(--soft-ink);border-radius:30px;padding:8px 13px;font-weight:750;font-size:12px;margin-bottom:20px}.hero h1{font-size:clamp(34px,7vw,54px);line-height:1.12;letter-spacing:-2px;margin:0 auto 16px;max-width:560px}.gradient{background:linear-gradient(100deg,var(--grad-a),var(--grad-b));-webkit-background-clip:text;background-clip:text;color:transparent}.lead{color:var(--muted);line-height:1.75;max-width:480px;margin:0 auto 26px;font-size:15px}.bubble{font-size:54px;display:block;margin:4px 0 17px;filter:drop-shadow(0 8px 8px #7158e222)}.primary,.secondary{border:0;border-radius:16px;padding:16px 22px;font-weight:800;transition:transform .15s,box-shadow .15s}.primary{background:linear-gradient(100deg,#7158e2,#9079f4);color:#fff;box-shadow:0 9px 22px #7158e238}.primary:hover,.secondary:hover{transform:translateY(-2px)}.primary:disabled{opacity:.35;cursor:not-allowed;transform:none}.secondary{background:var(--soft);color:var(--soft-ink)}.full{width:100%}.tiny{font-size:12px;color:var(--muted);line-height:1.6;margin-top:14px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.feature{padding:16px 10px;border-radius:18px;background:var(--chip);text-align:center;border:1px solid var(--card-border)}.feature b{display:block;font-size:13px;margin:7px 0 4px}.feature span{font-size:11px;color:var(--muted)}.feature i{font-style:normal;font-size:23px}.hidden{display:none!important}.progress-wrap{margin-bottom:24px}.progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:9px}.progress{height:7px;background:var(--track);border-radius:20px;overflow:hidden}.bar{height:100%;width:0;background:linear-gradient(90deg,var(--purple),var(--pink));border-radius:20px;transition:width .25s}.q-label{font-size:12px;color:var(--purple);font-weight:850;letter-spacing:.6px;margin-bottom:12px}.question{font-size:clamp(23px,5vw,31px);line-height:1.35;letter-spacing:-.8px;margin:0 0 9px}.subq{font-size:14px;color:var(--muted);margin:0 0 25px;line-height:1.6}.options{display:grid;gap:11px}.option{display:flex;align-items:center;gap:13px;text-align:left;padding:16px;border:1.5px solid var(--line);background:var(--surface);border-radius:17px;color:var(--ink);transition:.15s;min-height:65px}.option:hover{border-color:var(--hover-border);background:var(--surface-2)}.option.selected{border-color:var(--purple);background:var(--soft);box-shadow:0 0 0 3px #7158e213}.option .emoji{font-size:23px;width:31px;text-align:center;flex-shrink:0}.option .opttext{font-size:14px;line-height:1.5;font-weight:650}.option .radio{margin-left:auto;width:19px;height:19px;border:1.5px solid var(--radio);border-radius:50%;flex-shrink:0}.option.selected .radio{border:6px solid var(--purple)}.navrow{display:flex;justify-content:space-between;gap:12px;margin-top:25px}.navrow button{flex:1}.result-head{text-align:center}.result-head .bubble{font-size:58px}.result-head h2{font-size:clamp(27px,5vw,38px);letter-spacing:-1.2px;margin:4px 0 10px}.result-head p{color:var(--muted);line-height:1.7;margin:0 auto 22px;max-width:480px}.type-pill{display:inline-block;background:var(--soft);color:var(--soft-ink);border-radius:30px;padding:8px 13px;font-size:12px;font-weight:800;margin-bottom:12px}.traits{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px 0 25px}.trait{border:1px solid var(--line);background:var(--surface);border-radius:30px;padding:8px 12px;font-size:12px;color:var(--trait-ink);font-weight:700}.sharebox{border-radius:21px;background:linear-gradient(135deg,var(--soft-a),var(--soft-b));padding:22px;margin:25px 0}.sharebox h3{margin:0 0 7px;font-size:18px}.sharebox p{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 16px}.compat{display:flex;align-items:center;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:21px;padding:20px;margin:20px 0}.score{width:94px;height:94px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--purple) var(--score),var(--track) 0);position:relative}.score:before{content:"";position:absolute;inset:7px;background:var(--surface);border-radius:50%}.score strong{position:relative;font-size:24px}.compat h3{margin:0 0 7px;font-size:17px}.compat p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.detail-list{display:grid;gap:10px;margin:18px 0}.detail{display:flex;gap:12px;padding:15px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}.detail .di{font-size:23px}.detail b{display:block;font-size:13px;margin-bottom:4px}.detail p{font-size:12px;color:var(--muted);line-height:1.6;margin:0}.section-title{font-size:18px;margin:26px 0 12px}.foot{text-align:center;color:var(--faint);font-size:11px;line-height:1.7;margin-top:22px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--toast);color:white;padding:12px 18px;border-radius:30px;font-size:13px;box-shadow:0 8px 30px #0002;z-index:20}
.story-btn{display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:16px;padding:16px 22px;font-weight:800;color:#fff;background:linear-gradient(100deg,#f9a03f,#e1306c 45%,#833ab4);box-shadow:0 9px 22px #e1306c38;transition:transform .15s}.story-btn:hover{transform:translateY(-2px)}.story-btn:disabled{opacity:.5;cursor:wait;transform:none}.ig{width:20px;height:20px;border:2.5px solid #fff;border-radius:6px;position:relative;flex-shrink:0}.ig:before{content:"";position:absolute;inset:3.5px;border:2.5px solid #fff;border-radius:50%}.ig:after{content:"";position:absolute;top:1.5px;right:1.5px;width:3px;height:3px;background:#fff;border-radius:50%}
.modal{position:fixed;inset:0;background:#1d1a2ecc;display:grid;place-items:center;padding:16px;z-index:10;backdrop-filter:blur(4px)}.modal-card{width:min(100%,380px);max-height:100%;overflow:auto;background:var(--surface);border-radius:24px;padding:18px;display:grid;gap:10px}.modal-card img{width:100%;max-height:58vh;object-fit:contain;border-radius:16px;background:var(--soft-a)}.modal-row{display:flex;gap:8px}.modal-row button{flex:1;padding:13px}.modal-card .tiny{margin:2px 0 0;text-align:center}
.score strong small{display:block;font-size:11px;color:var(--muted);font-weight:700;text-align:center;margin-top:-2px}.score strong{text-align:center;line-height:1}.vs{display:block;font-size:11px;color:var(--purple);font-weight:750;margin-bottom:6px}.vibe{display:flex;align-items:center;gap:16px;padding:20px;border-radius:21px;background:linear-gradient(135deg,var(--soft-a),var(--soft-b));margin:0 0 6px}.vibe-emoji{font-size:44px;flex-shrink:0}.vibe-label{display:block;font-size:11px;font-weight:800;color:#e1306c;letter-spacing:.3px;margin-bottom:4px}.vibe b{display:block;font-size:19px;letter-spacing:-.5px;margin-bottom:6px}.vibe p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}
.share-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sb{border:0;border-radius:14px;padding:13px 6px;font-weight:800;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .15s}.sb:hover{transform:translateY(-2px)}.sb i{font-style:normal;font-size:20px}.sb.kakao{background:#fee500;color:#191919}.sb.insta{background:linear-gradient(100deg,#f9a03f,#e1306c 50%,#833ab4);color:#fff}.sb.sms{background:#34c759;color:#fff}.score-box{border:2px solid var(--line-strong)}
.name-field{display:block;max-width:320px;margin:0 auto 14px;text-align:left}.name-field span{display:block;font-size:12px;color:var(--muted);font-weight:700;margin:0 0 6px 4px}.name-field input{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:13px 14px;background:var(--surface);font-size:15px;color:var(--ink)}.name-field input:focus{outline:none;border-color:var(--purple)}.type-pill.rare{background:linear-gradient(100deg,#ffe9a8,#ffc7dc);color:#8a4b00}
.gate-head{text-align:center}.gate-head h2{font-size:clamp(22px,5vw,28px);letter-spacing:-.8px;margin:14px 0 8px}.gate-head p{font-size:13px;color:var(--muted);line-height:1.6;margin:0 auto 20px;max-width:420px}.spinner{width:44px;height:44px;margin:4px auto 0;border-radius:50%;border:5px solid var(--track);border-top-color:var(--purple);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ad-wrap{min-height:250px;border:1px dashed var(--line);border-radius:16px;padding:10px;margin-bottom:18px;background:var(--surface-2)}.ad-label{display:block;font-size:10px;color:var(--faint);margin-bottom:6px;letter-spacing:.4px}
@media(max-width:480px){.shell{width:min(100% - 22px,720px);padding-top:16px}.top{margin-bottom:15px}.card{border-radius:23px}.hero{padding-top:31px;padding-bottom:29px}.features{gap:7px}.feature{padding:13px 5px}.feature span{font-size:10px}.compat{gap:12px;padding:15px}.score{width:78px;height:78px}.score strong{font-size:21px}}
