:root{font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#1f2431;background-color:#f7f8fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.page{min-height:100vh;padding:32px 20px;background:radial-gradient(circle at 20% 10%,#fff1cb 0%,transparent 36%),radial-gradient(circle at 80% 90%,#cde8ff 0%,transparent 42%),#f7f8fb}.form-card{max-width:920px;margin:0 auto;padding:30px;border-radius:24px;background:#fff;border:1px solid #e6e8ef;box-shadow:0 20px 45px #23283414}.title-wrap h1{margin:0;font-size:clamp(1.6rem,2.3vw,2.2rem);line-height:1.25;color:#212636}.eyebrow{margin:0 0 8px;font-size:.82rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#e46b24}.subtitle{margin:12px 0 0;color:#5c6270}.section-block{margin-top:24px}.section-block h2{margin:0 0 12px;font-size:1.08rem;color:#2a3142}.dropzone{display:block;padding:22px;border-radius:16px;border:2px dashed #c8ceda;background:#fbfcff;transition:border-color .2s,background-color .2s,transform .2s}.dropzone.drag-over{border-color:#eb7f39;background:#fff5ec;transform:translateY(-1px)}.drop-main{margin:0;font-weight:700;color:#2f3645}.drop-sub{margin:5px 0 14px;color:#666c7b}.secondary-btn{border:1px solid #2f3645;border-radius:10px;padding:10px 15px;color:#2f3645;background:#fff;font-weight:700}.file-name{margin:12px 0 0;color:#3f4657}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.grid-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}label{display:block;color:#3a4051;font-size:.93rem;font-weight:600}input{width:100%;margin-top:6px;border-radius:12px;border:1px solid #cfd5e1;padding:11px 12px;font-size:.95rem;color:#1f2431;background:#fff}textarea{width:100%;margin-top:6px;border-radius:12px;border:1px solid #cfd5e1;padding:11px 12px;font-size:.95rem;color:#1f2431;background:#fff;resize:vertical;min-height:92px}input:focus,textarea:focus{outline:none;border-color:#e46b24;box-shadow:0 0 0 3px #e46b242e}.address-field{margin-top:12px}.cuisine-list{display:flex;flex-wrap:wrap;gap:10px}.chip-btn{border:1px solid #d6dbe6;border-radius:999px;padding:9px 14px;background:#f7f9ff;color:#2e3648;font-weight:700}.chip-btn.active{border-color:#e46b24;background:#fff1e7;color:#7a360e}.selected-info{margin-top:22px;border-top:1px solid #e6e9f0;padding-top:16px;color:#475069;font-weight:600}.submit-row{margin-top:16px}.primary-btn{border:none;border-radius:12px;padding:12px 18px;background:linear-gradient(135deg,#e46b24,#d15318);color:#fff;font-weight:700}.primary-btn:disabled{opacity:.65;cursor:not-allowed}.error-text{margin:10px 0 0;color:#b23131;font-weight:700}.result-card{margin-top:20px;border:1px solid #e4e7ef;border-radius:16px;padding:18px;background:#fbfcff}.result-card h2{margin:0;font-size:1.2rem;color:#283144}.result-summary{margin:10px 0 0;color:#4e5568}.meal-block{margin-top:16px;padding-top:14px;border-top:1px solid #e9ecf4}.meal-block h3{margin:0;color:#2d3547}.meal-block ul{margin:8px 0;padding-left:20px}.meal-block p{margin:0;color:#4f576b}.restaurant-list{margin-top:12px;padding:12px;border-radius:12px;background:#fff;border:1px solid #e5e8f1}.restaurant-list h4{margin:0 0 8px;color:#293246}.restaurant-item{margin-top:10px}.restaurant-item p{margin:2px 0}@media(max-width:760px){.form-card{padding:22px 18px;border-radius:18px}.grid-inputs{grid-template-columns:1fr}}
