:root{font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;line-height:1.5;font-weight:400;color:#1c2f44;background:linear-gradient(160deg,#e9f2fb,#f7fbff 45%,#e7f5f3);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.app{max-width:1000px;margin:0 auto;padding:24px 16px 48px;display:grid;gap:18px}.panel,.results{background:#fff;border-radius:16px;border:1px solid #d8dee9;box-shadow:0 10px 24px #0b1d3a14;padding:20px}h1{margin:0;color:#1e3a5f;font-size:28px}.subtitle{margin:8px 0 0;color:#4f6379;font-size:15px}.search-form{margin-top:18px;display:grid;gap:14px}.field-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;gap:6px}.field span{font-size:13px;font-weight:600;color:#314860}.field select,.field input{height:42px;border:1px solid #c7d2df;border-radius:10px;padding:0 12px;font-size:14px;background:#fff;color:#15283d}.field select:focus,.field input:focus{outline:none;border-color:#2c7be5;box-shadow:0 0 0 3px #2c7be52e}.menu-field input{width:100%}button{justify-self:start;height:42px;border:0;border-radius:10px;padding:0 18px;color:#fff;font-weight:700;font-size:14px;background:linear-gradient(120deg,#1f6fd8,#0d8a9f);cursor:pointer}button:hover{filter:brightness(1.05)}.results-head h2{margin:0;color:#102b46;font-size:22px}.results-head p{margin:6px 0 0;color:#50657d;font-size:14px}.card-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}.card{border:1px solid #d9e2ec;border-radius:12px;padding:14px;background:#fdfefe}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-top strong{color:#0f2740}.badge{font-size:12px;font-weight:700;color:#0f6f44;background:#d8f6e7;border-radius:999px;padding:4px 8px}.meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.meta span{font-size:13px;color:#415a73;background:#eef4fb;border-radius:999px;padding:3px 9px}.tags,.menu{margin:10px 0 0;font-size:14px;color:#2d455f}.reviews{margin-top:10px;border-top:1px solid #e2e8f0;padding-top:10px}.reviews p{margin:0;font-size:13px;font-weight:700;color:#2e4661}.reviews ul{margin:8px 0 0;padding-left:18px;color:#485f76;font-size:13px}.empty-state{margin-top:14px;border:1px dashed #c1cfde;border-radius:12px;padding:18px;text-align:center;color:#50657b;background:#f8fbff}@media(max-width:760px){.field-grid{grid-template-columns:1fr}.panel,.results{padding:16px}h1{font-size:24px}}
