:root{--bg:#f6ead2;--card:#fffef9;--ink:#34241a;--muted:#6f5b48;--line:#e2d0b2;--brand:#b1442f;--brand-soft:#f6e2d6;--accent:#d99a1c;--ok:#4e7d2f;--shadow:0 4px 16px rgba(120,84,45,.12);--radius:20px;--font-hand:"Gaegu",-apple-system,"Apple SD Gothic Neo",sans-serif;--font-sign:"Nanum Pen Script","Gaegu",cursive;--font-body:"Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);background-image:radial-gradient(circle at 20% 10%,rgba(224,169,46,.08),transparent 40%),radial-gradient(circle at 90% 80%,rgba(192,85,63,.06),transparent 45%);color:var(--ink);font-family:var(--font-body);font-size:16px;-webkit-font-smoothing:antialiased}button{cursor:pointer}button,input,select{font-family:inherit}.wrap{max-width:460px;margin:0 auto;padding:20px 16px 60px}.app-header{text-align:center;padding:18px 0 8px}.app-header h1{font-family:var(--font-sign);font-size:40px;line-height:1.1;margin:4px 0 2px;color:var(--brand);letter-spacing:0}.app-header p{font-family:var(--font-hand);color:var(--muted);font-size:16px;margin:0}.card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:16px}.card h2{font-family:var(--font-hand);font-weight:700;font-size:22px;margin:0 0 16px;color:var(--brand);display:flex;align-items:center;gap:8px}.label{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:8px;display:block}.field{margin-bottom:14px}.input,.select{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:14px;background:#fff;color:var(--ink);outline:none;transition:border-color .15s}.input:focus,.select:focus{border-color:var(--brand)}.stepper{display:flex;align-items:center;gap:12px}.stepper button{width:40px;height:40px;border:1.5px solid var(--line);background:#fff;border-radius:12px;font-size:20px;color:var(--brand);line-height:1}.stepper button:active{transform:scale(.94)}.stepper .count{font-family:var(--font-hand);font-size:26px;font-weight:700;min-width:46px;text-align:center;color:var(--brand)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-size:14px;font-weight:500;color:var(--ink);transition:all .12s}.chip.on{border-color:var(--brand)}.btn,.chip.on{background:var(--brand);color:#fff;font-weight:700}.btn{width:100%;padding:15px;border:none;border-radius:16px;font-family:var(--font-hand);font-size:20px;letter-spacing:.5px;box-shadow:0 4px 0 #a4432f;transition:filter .15s,transform .1s,box-shadow .1s}.btn:active{transform:translateY(2px);box-shadow:0 2px 0 #a4432f;transform:scale(.98)}.btn:disabled{filter:grayscale(.5) opacity(.6);cursor:not-allowed}.btn.ghost{background:#fff;color:var(--brand);border:2px dashed var(--brand);box-shadow:none;font-size:18px}.btn.ghost:active{transform:scale(.98);box-shadow:none}.loc-row{display:flex;gap:8px}.loc-row .input{flex:1 1}.loc-row .btn{width:auto;padding:12px 16px;white-space:nowrap}.hint{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.5}.hint.ok{color:var(--ok);font-weight:600}.list{display:flex;flex-direction:column;gap:12px}.resto{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow);position:relative}.resto.top{border:2px solid var(--brand);background:linear-gradient(180deg,#fff6ec,#fffdf5)}.resto .rank{position:absolute;top:-12px;left:14px;background:var(--brand);color:#fff;font-size:15px;padding:2px 12px;border-radius:999px;transform:rotate(-3deg)}.resto .rank,.resto h3{font-family:var(--font-hand);font-weight:700}.resto h3{margin:4px 0;font-size:20px}.resto .meta{font-size:13px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}.resto .cat{display:inline-block;background:var(--brand-soft);color:var(--brand);font-size:12px;padding:3px 9px;border-radius:8px}.resto .cat.price{background:#fbf0d3;color:#a5781a}.resto .reason{font-size:12px;color:var(--ok);margin-top:8px}.resto .links{margin-top:10px;display:flex;gap:10px}.resto .links a{font-size:12px;color:var(--brand);text-decoration:none;border:1px solid var(--brand-soft);padding:6px 10px;border-radius:8px}.empty{text-align:center;color:var(--muted);padding:30px 10px;font-size:14px}.spinner{width:22px;height:22px;border:3px solid var(--brand-soft);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;margin:20px auto}@keyframes spin{to{transform:rotate(1turn)}}.summary-bar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}.summary-bar .pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:12px;color:var(--muted)}.summary-bar .pill b{color:var(--ink)}.footer-note{font-family:var(--font-hand);text-align:center;font-size:16px;color:var(--muted);margin-top:24px}.empty{font-size:15px;line-height:1.6}