*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0f1710;--card:#16211a;--line:#2a3a2e;--ink:#eaf3ea;--dim:#94ab98;--green:#5fd08a;--green2:#8fe3ae;
  --paper:#f4f0e2;--paperink:#2c2a1c}
body{background:radial-gradient(800px 500px at 50% -10%,#18261c 0%,var(--bg) 60%);color:var(--ink);
  font-family:'Noto Sans KR',sans-serif;min-height:100vh;line-height:1.65}
.wrap{max-width:560px;margin:0 auto;padding:26px 16px 56px}
.hidden{display:none!important}
.top{text-align:center;padding:2px 0 16px}
h1{font-size:32px;font-weight:900}
.tg{color:var(--dim);font-size:14px;margin-top:6px}
.tg b{color:var(--green2)}

.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 12px 36px #0008}
.lb{display:block;font-size:13px;font-weight:700;color:var(--green2);margin:15px 0 8px}
.lb:first-child{margin-top:0}
.locrow{display:flex;gap:8px}
.locbtn{background:#0c130d;border:1.5px solid var(--green);color:var(--green2);border-radius:11px;
  padding:0 14px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.locbtn.on{background:var(--green);color:#0c130d}
input{flex:1;width:100%;background:#0c130d;border:1px solid var(--line);border-radius:11px;color:var(--ink);
  padding:12px 13px;font-size:14.5px;font-family:inherit}
input:focus{outline:none;border-color:var(--green)}
.locmsg{font-size:12px;color:var(--dim);margin-top:6px;min-height:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:#0c130d;border:1px solid var(--line);color:var(--dim);border-radius:100px;padding:9px 15px;
  font-size:13.5px;cursor:pointer;font-family:inherit}
.chip.on{background:#15301d;border-color:var(--green);color:var(--green2);font-weight:700}
.prime{display:block;width:100%;margin-top:18px;background:linear-gradient(135deg,var(--green),#2f9e5f);
  color:#04170b;border:none;border-radius:14px;padding:16px;font-size:17px;font-weight:800;font-family:inherit;
  cursor:pointer;box-shadow:0 6px 20px #5fd08a33}
.prime:disabled{opacity:.55}

#map{height:340px;border-radius:16px;border:1px solid var(--line);box-shadow:0 12px 36px #0009;z-index:1}
.numpin{background:var(--green);color:#04170b;border-radius:50%;width:26px;height:26px;display:flex;
  align-items:center;justify-content:center;font-weight:900;font-size:13px;border:2px solid #fff;
  box-shadow:0 2px 8px #0007}
.startpin{font-size:22px;filter:drop-shadow(0 2px 4px #0008)}

.rxcard{margin-top:14px;background:var(--paper);color:var(--paperink);border-radius:16px;padding:22px 20px;
  box-shadow:0 14px 40px #000a;position:relative}
.rxh{font-family:'Noto Serif KR',serif;text-align:center;letter-spacing:5px;font-size:15px;color:#6d6742;
  border-bottom:2px solid #ddd6b8;padding-bottom:9px;margin-bottom:12px;font-weight:900}
.theme{font-family:'Noto Serif KR',serif;text-align:center;font-size:23px;font-weight:900;margin-bottom:4px}
.stat{text-align:center;font-size:12.5px;color:#7d7550;margin-bottom:12px}
.rxtext{font-size:14px;background:#ffffff90;border-radius:10px;padding:11px 13px;line-height:1.75}
.stoplist{margin-top:12px}
.stop{display:flex;gap:11px;padding:9px 0;border-bottom:1px dashed #ddd6b8;align-items:flex-start}
.stop:last-child{border-bottom:none}
.stop .n{background:#2f9e5f;color:#fff;min-width:24px;height:24px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:12.5px;font-weight:900;margin-top:2px}
.stop .nm{font-weight:800;font-size:15px}
.stop .kd{font-size:11px;color:#8d8560;margin-left:6px}
.stop .nt{font-size:13px;color:#5c5535;margin-top:1px}
.dose{margin-top:12px;font-size:13px;color:#5c5535;background:#fff8dcb0;border-left:3px solid #c9a832;
  border-radius:6px;padding:9px 12px}
.rxfoot{margin-top:12px;text-align:center;font-size:11px;color:#8d8560}
.rbtns{display:flex;gap:8px;justify-content:center;margin-top:14px;flex-wrap:wrap}
.rbtns button{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:100px;
  padding:12px 20px;font-family:inherit;font-size:14px;cursor:pointer}
.spin{text-align:center;padding:30px 0;color:var(--dim)}
.spin .big{font-size:36px;display:inline-block;animation:wobble 1s ease-in-out infinite}
@keyframes wobble{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}
.foot{text-align:center;color:#587a5f;font-size:11px;margin-top:34px;line-height:1.8}
@media(max-width:420px){h1{font-size:27px}#map{height:290px}}
