:root{font-family:Pretendard,Noto Sans KR,system-ui,sans-serif;color:#0f172a;background:radial-gradient(circle at top,#ecfeff,#dbeafe 40%,#f8fafc)}*{box-sizing:border-box}body{margin:0;min-height:100vh}.page{min-height:100vh;display:grid;place-items:center;padding:32px 16px;gap:24px;position:relative}.hero{text-align:center}.eyebrow{margin:0 0 8px;letter-spacing:.14em;font-size:12px;font-weight:700;color:#0ea5e9}h1{margin:0;font-size:clamp(36px,6vw,56px)}.subtitle{margin:10px 0 0;color:#334155}.panel{width:min(760px,100%);display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.form,.card{border-radius:20px;background:#ffffffe6;box-shadow:0 10px 25px #02061714;padding:20px}.form{display:grid;gap:12px}.mbtiPicker{display:grid;gap:8px}.mbtiPicker p{margin:0;font-size:14px;font-weight:700}.mbtiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mbtiOption{border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;color:#0f172a;padding:10px 6px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s ease}.mbtiOption:hover{border-color:#38bdf8;background:#f0f9ff}.mbtiOption.active{border-color:#0284c7;background:#0ea5e9;color:#fff}label{display:grid;gap:6px;font-size:14px;font-weight:700}input{border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px;font-size:16px}input:focus{outline:2px solid #38bdf8;border-color:#38bdf8}button{border:none;border-radius:14px;padding:12px 16px;font-size:16px;font-weight:700;color:#fff;background:linear-gradient(135deg,#0ea5e9,#22c55e);cursor:pointer}button:disabled{opacity:.7;cursor:not-allowed}.loadingOverlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0f172a59;border-radius:24px;z-index:10}.loadingCard{min-width:220px;display:grid;place-items:center;gap:8px;background:#fffffffa;border-radius:16px;padding:18px 20px;box-shadow:0 12px 26px #0206172e}.loadingEmoji{font-size:48px;line-height:1}.loadingCard p{margin:0;font-size:14px;font-weight:700;color:#0f172a}.card{display:grid;gap:10px}.cardHeader{display:flex;justify-content:space-between;align-items:center}.badge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.badge.육식형{background:#fee2e2;color:#b91c1c}.badge.초식형{background:#dcfce7;color:#166534}.mbti{font-size:13px;color:#334155}.silhouette{font-size:44px}h2{margin:0;font-size:clamp(22px,3vw,30px);word-break:keep-all}.card p{margin:0;color:#1e293b;line-height:1.5}
