*{box-sizing:border-box}html,body{margin:0;min-width:320px}body{font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;color:#2f1c16;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg-start: #fff9f1;--bg-end: #ffd7c2;--card: #fffdf9;--text-main: #2f1c16;--text-sub: #6e5248;--primary: #ca5b2c;--primary-hover: #b14b1f;--primary-disabled: #dc8f6d;--border: #f1d4c7;--ok: #1f7a41;--error: #b3261e}#root{min-height:100vh}.page{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;background:radial-gradient(circle at 15% 15%,rgba(255,255,255,.7),transparent 40%),linear-gradient(145deg,var(--bg-start),var(--bg-end))}.card{width:min(100%,460px);padding:2rem;border:1px solid var(--border);border-radius:20px;background:var(--card);box-shadow:0 20px 45px #6c321b24}.eyebrow{margin:0;font-size:.75rem;letter-spacing:.14em;color:var(--primary);font-weight:700}h1{margin:.5rem 0 0;font-size:clamp(1.5rem,4vw,2rem);color:var(--text-main)}.description{margin:.85rem 0 1.4rem;color:var(--text-sub);line-height:1.45}.form{display:grid;gap:.75rem}label{font-weight:600;color:var(--text-main)}input,select{border:1px solid var(--border);border-radius:12px;padding:.8rem .9rem;font:inherit;color:var(--text-main);background:#fff}input:focus,select:focus{outline:2px solid rgba(202,91,44,.28);border-color:var(--primary)}button{margin-top:.45rem;border:0;border-radius:12px;padding:.88rem 1rem;background:var(--primary);color:#fff;font-weight:700;font:inherit;cursor:pointer}button:hover{background:var(--primary-hover)}button:disabled{cursor:wait;background:var(--primary-disabled)}.result{margin-top:1rem;font-weight:600}.result.ok{color:var(--ok)}.result.error{color:var(--error)}.recommendation{margin-top:1.2rem;padding:1rem;border:1px solid var(--border);border-radius:14px;background:#fff8f4;color:var(--text-main)}.recommendation h2{margin:0 0 .5rem;font-size:1.35rem}.summary{margin-top:0;color:var(--text-sub)}.recommendation ul{margin:.2rem 0 .9rem;padding-left:1.1rem}.recommendation li{margin:.25rem 0}.disclaimer{margin-bottom:0;font-size:.86rem;color:var(--text-sub)}.contact-footer{margin-top:1.2rem;padding-top:.9rem;border-top:1px solid var(--border);font-size:.9rem;color:var(--text-sub)}.contact-footer a{color:var(--primary);text-decoration:none}.contact-footer a:hover{text-decoration:underline}@media(max-width:480px){.card{padding:1.35rem;border-radius:16px}}
