:root{
  --ink:#17181C; --sub:#9398A1; --sub2:#C2C6CC; --line:#F0F1F3; --soft:#F7F8F9;
  --rose:#F23B5F; --rose-bg:#FDEAEE; --blue:#3B72F0; --body:#4E5968;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;}
body{font-family:'Pretendard',system-ui,-apple-system,'Apple SD Gothic Neo',sans-serif;background:var(--soft);color:var(--ink);}
.wrap{max-width:480px;margin:0 auto;min-height:100vh;background:#fff;padding:28px 20px 48px;}
.brand{font-size:24px;font-weight:800;letter-spacing:-.03em;}
.sub{color:var(--sub);font-size:14px;margin-top:6px;}
.empty{color:var(--sub);margin-top:40px;text-align:center;}

.tz-hero{text-align:center;padding:14px 0 8px;}
.tz-hearts{font-size:22px;letter-spacing:6px;margin-bottom:10px;}
.test-card{display:flex;gap:14px;align-items:center;border:0.5px solid var(--line);border-radius:18px;padding:16px;margin-top:14px;text-decoration:none;color:var(--ink);box-shadow:0 2px 10px rgba(20,20,30,.03);}
.tc-emoji{width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;}
.tc-body{flex:1;min-width:0;}
.test-title{font-size:16.5px;font-weight:700;letter-spacing:-.02em;}
.test-intro{font-size:13px;color:var(--body);margin-top:5px;line-height:1.5;}
.go{display:inline-block;margin-top:9px;color:var(--rose);font-weight:700;font-size:13px;}

.intro{padding-top:30px;text-align:center;}
.intro-emoji{width:88px;height:88px;border-radius:28px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:44px;}
.badge-new{display:inline-block;background:var(--rose-bg);color:var(--rose);font-weight:800;font-size:11px;padding:4px 10px;border-radius:999px;letter-spacing:.05em;}
.intro-title{font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.35;margin-top:18px;}
.intro-desc{font-size:15px;color:var(--body);line-height:1.6;margin-top:16px;}
.btn-primary{display:block;background:var(--rose);color:#fff;font-weight:800;font-size:16px;text-align:center;padding:16px;border-radius:14px;margin-top:16px;text-decoration:none;border:none;width:100%;cursor:pointer;}
.btn-ghost{display:block;background:#fff;color:var(--rose);font-weight:800;font-size:15px;text-align:center;padding:14px;border-radius:14px;margin-top:10px;text-decoration:none;border:1.5px solid var(--line);width:100%;cursor:pointer;}
.link-muted{display:block;text-align:center;color:var(--sub);font-size:13px;margin-top:16px;text-decoration:none;}
.app-cta{margin-top:22px;padding:18px;border:1.5px solid var(--line);border-radius:16px;background:var(--soft);text-align:center;}
.app-cta-t{font-size:15px;font-weight:800;color:var(--ink);}
.app-cta-s{font-size:12.5px;color:var(--body);margin-top:5px;line-height:1.5;}
.app-cta .btn-primary{margin-top:12px;}

.quiz{padding-top:16px;}
.q-emoji{font-size:34px;text-align:center;margin-bottom:14px;}
.progress{height:9px;background:#F2F3F5;border-radius:6px;overflow:hidden;}
.progress-fill{height:100%;background:var(--rose);border-radius:6px;transition:width .25s;width:0;}
.q-count{color:var(--rose);font-size:12.5px;font-weight:800;margin-top:12px;}
.q-text{font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.45;margin-top:18px;min-height:80px;}
.choices{margin-top:8px;}
.choice{display:block;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:16px;margin-top:10px;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;}
.choice:active{border-color:var(--rose);background:var(--rose-bg);}

.result{text-align:center;padding-top:16px;}
.result-hero{border-radius:24px;padding:22px 0 18px;position:relative;}
.result-emoji{font-size:26px;margin-bottom:4px;}
.result-avatar{width:118px;height:118px;}
.result-title{font-size:24px;font-weight:800;letter-spacing:-.02em;margin-top:16px;}
.result-catch{font-size:15px;color:var(--rose);font-weight:700;margin-top:8px;}
.result-desc{font-size:14.5px;color:var(--body);line-height:1.7;margin-top:16px;text-align:left;}
.match-row{display:flex;gap:10px;margin-top:22px;}
.match-box{flex:1;display:flex;align-items:center;gap:10px;border:0.5px solid var(--line);border-radius:14px;padding:12px;text-align:left;}
.match-box img{width:40px;height:40px;}
.match-label{display:block;font-size:11px;color:var(--sub);}
.match-name{display:block;font-size:13px;font-weight:700;margin-top:2px;}
.match-box.good{background:var(--rose-bg);border-color:transparent;}
.share{display:flex;gap:10px;margin-top:26px;}
.btn-share{flex:1;padding:14px;border-radius:12px;font-weight:800;font-size:14px;border:none;cursor:pointer;}
.btn-share.kakao{background:#FAE100;color:#3A1D1D;}
.btn-share.copy{background:var(--soft);color:var(--ink);border:0.5px solid var(--line);}
.cta{margin-top:14px;}

.admin{padding-top:10px;}
.admin h1{font-size:20px;font-weight:800;}
.admin h2{font-size:15px;font-weight:800;margin-top:28px;color:var(--sub);}
.admin label{display:block;font-size:13px;font-weight:700;margin-top:12px;}
.admin input,.admin textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px;font-size:14px;margin-top:5px;font-family:inherit;}
.admin button{margin-top:18px;background:var(--ink);color:#fff;border:none;border-radius:12px;padding:14px;font-weight:800;font-size:15px;width:100%;cursor:pointer;}
.admin .row{display:flex;gap:10px;}
.admin .row>div{flex:1;}
.admin .flash{background:var(--rose-bg);color:var(--rose);padding:10px 12px;border-radius:10px;font-size:13px;font-weight:700;margin-top:14px;}
.admin table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px;}
.admin td,.admin th{border-bottom:0.5px solid var(--line);padding:8px 6px;text-align:left;}
