@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600;700&family=Noto+Sans+KR:wght@400;500;700&family=Unbounded:wght@400;600&display=swap";:root{font-family:var(--font-body);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-strong);background-color:#0f111b;--font-body: "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;--font-display: "Cormorant Garamond", "Times New Roman", serif;--font-accent: "Unbounded", "Trebuchet MS", sans-serif;--text-strong: #f7f2ea;--text-soft: rgba(247, 242, 234, .72);--accent: #ffc76c}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#2a1d2c,#12121d 45%,#0b0c14)}#root{min-height:100vh}img{max-width:100%;display:block}input,button,textarea,select{font:inherit}.page{min-height:100vh;display:grid;place-items:center;padding:80px 20px 96px;position:relative;overflow:hidden}.glow-splash{position:absolute;inset:-20% 10% auto;height:420px;background:radial-gradient(circle at 20% 30%,rgba(255,220,170,.7),rgba(255,190,120,.2),transparent 60%);filter:blur(10px);opacity:.8;pointer-events:none}.card-shell{width:min(940px,100%);background:#0f121ec7;border:1px solid rgba(255,255,255,.12);border-radius:32px;padding:48px clamp(24px,4vw,56px);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 30px 80px #07091299;position:relative;animation:float-in .8s ease forwards}.hero{text-align:left;color:var(--text-strong);animation:fade-up .8s ease forwards}.eyebrow{font-family:var(--font-accent);letter-spacing:.24em;font-size:.78rem;text-transform:uppercase;margin:0 0 12px;color:var(--accent)}.hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.5rem);margin:0 0 12px}.subtitle{margin:0 0 32px;color:var(--text-soft);font-size:1.05rem;max-width:46ch}.hint{margin:-18px 0 26px;color:#f7f2ea99;font-size:.9rem}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 24px;margin-bottom:32px}.field{display:grid;gap:8px;font-weight:500;color:var(--text-soft)}.field span{font-size:.9rem}.field input{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:12px 14px;font-size:1rem;color:var(--text-strong);outline:none;transition:border .2s ease,box-shadow .2s ease}.field input:focus{border-color:#ffd28ccc;box-shadow:0 0 0 3px #ffd28c33}.actions{display:flex;gap:12px;align-items:center;grid-column:1 / -1}button{border:none;border-radius:999px;padding:12px 22px;font-weight:600;cursor:pointer;font-size:.95rem;transition:transform .2s ease,box-shadow .2s ease}.primary{background:linear-gradient(120deg,#ff9f5a,#ffd27d);color:#1b1410;box-shadow:0 12px 24px #ffab5a59}.primary:hover{transform:translateY(-1px)}.ghost{background:transparent;color:var(--text-soft);border:1px solid rgba(255,255,255,.2)}.error{grid-column:1 / -1;margin:0;color:#ffb3a7;font-size:.9rem}.result{animation:fade-up .9s ease .1s forwards}.result-card{background:linear-gradient(140deg,#ffffff1a,#0f121ecc);border-radius:22px;padding:28px;border:1px solid rgba(255,255,255,.1);display:grid;gap:12px;color:var(--text-strong)}.result-card h2{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,2.8vw,2.4rem)}.result-card.empty{color:var(--text-soft);text-align:center}.result-card.empty span{font-size:.9rem}.result-title{margin:0;color:var(--text-soft);font-size:.9rem}.result-flavor{margin:0;font-size:1rem}.result-badges{display:flex;flex-wrap:wrap;gap:8px}.badge{padding:6px 10px;border-radius:999px;background:#ffc76c26;color:var(--accent);font-size:.78rem;letter-spacing:.04em}.result-details{display:grid;gap:12px}.detail{display:grid;gap:6px}.detail span{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}.detail strong{font-weight:600;font-size:.95rem}.age-tone{margin:0;color:var(--text-soft);font-size:.95rem}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes float-in{0%{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:720px){.card-shell{padding:36px 22px}.actions{flex-direction:column;align-items:stretch}button{width:100%}}
