@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=DM+Mono:wght@400;500&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{margin:0}#root{min-height:100vh}:root{--bg:#f5f7fa;--bg2:#fff;--bg3:#eef1f6;--border:#00000014;--border2:#00000024;--text:#1a2035;--muted:#8a94a8;--accent:#2563eb;--accent2:#d97706;--green:#059669;--red:#dc2626;--purple:#7c3aed;--orange:#ea580c}body{background:var(--bg);color:var(--text);padding-bottom:60px;font-family:Noto Sans KR,sans-serif;font-size:14px;line-height:1.6}.sticky-header{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border2);background:#f5f7faf7;padding:10px 16px 12px;position:sticky;top:0}.header-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.header-title{color:var(--accent);letter-spacing:.08em;font-family:DM Mono,monospace;font-size:12px}.header-count{color:var(--muted);font-family:DM Mono,monospace;font-size:11px}.progress-bar-bg{background:#ffffff12;border-radius:3px;height:5px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent), var(--green));border-radius:3px;height:100%;transition:width .4s}.next-section{background:var(--bg2);border-bottom:1px solid var(--border);padding:14px 16px}.next-label{color:var(--green);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-family:DM Mono,monospace;font-size:10px;display:flex}.next-label-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.next-card{background:#2563eb0f;border:1px solid #2563eb38;border-radius:14px;padding:14px 16px}.next-card-top{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.next-card-icon{flex-shrink:0;margin-top:1px;font-size:22px}.next-card-name{color:var(--text);font-size:16px;font-weight:600;line-height:1.3}.next-card-addr{color:var(--muted);margin-top:2px;font-family:DM Mono,monospace;font-size:11px}.next-card-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.next-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn-big{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:11px 10px;font-family:Noto Sans KR,sans-serif;font-size:13px;font-weight:600;transition:opacity .15s,transform .1s;display:flex}.btn-big:active{opacity:.8;transform:scale(.97)}.btn-maps{background:var(--accent);color:#fff}.btn-tesla{background:var(--green);color:#fff}.all-done-card{text-align:center;background:#05966912;border:1px solid #05966940;border-radius:14px;padding:20px}.all-done-icon{margin-bottom:8px;font-size:36px}.all-done-text{color:var(--green);font-size:16px;font-weight:600}.all-done-sub{color:var(--muted);margin-top:4px;font-size:12px}.day-header-bar{background:var(--bg2);border-bottom:1px solid var(--border);border-top:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;padding:10px 16px;transition:background .15s;display:flex}.day-header-bar:hover{background:var(--bg3)}.day-badge{border:1.5px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;height:40px;font-family:DM Mono,monospace;font-size:11px;font-weight:500;display:flex}.day-info{flex:1;min-width:0}.day-title-bar{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.day-sub-bar{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-family:DM Mono,monospace;font-size:11px;overflow:hidden}.day-done-count{color:var(--green);flex-shrink:0;font-family:DM Mono,monospace;font-size:10px}.day-chevron{color:var(--muted);flex-shrink:0;font-size:11px;transition:transform .22s}.day-chevron.open{transform:rotate(90deg)}.stop-row{border-bottom:1px solid var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:flex-start;gap:10px;padding:13px 16px;transition:background .12s;display:flex}.stop-row:hover{background:#00000005}.stop-row.completed{opacity:.38}.stop-row.is-next{background:#2563eb0a}.stop-check{border:2px solid var(--border2);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;margin-top:1px;font-size:13px;transition:all .2s;display:flex}.stop-check.checked{background:var(--green);border-color:var(--green)}.stop-icon{text-align:center;flex-shrink:0;width:22px;margin-top:1px;font-size:17px}.stop-content{flex:1;min-width:0}.stop-name-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:2px;display:flex}.stop-name{font-size:13px;font-weight:500}.completed .stop-name{color:var(--muted);text-decoration:line-through}.stop-addr{color:var(--muted);word-break:break-word;margin-bottom:3px;font-family:DM Mono,monospace;font-size:11px}.stop-detail-text{color:var(--muted);margin-bottom:5px;font-size:11px}.stop-meta-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:7px;display:flex}.stop-time-text{color:var(--muted);font-family:DM Mono,monospace;font-size:10px}.charge-pill{color:var(--accent);background:#2563eb14;border:1px solid #2563eb2e;border-radius:4px;padding:1px 6px;font-family:DM Mono,monospace;font-size:10px}.stop-warn{color:#92600a;background:#d9770612;border:1px solid #d9770638;border-radius:6px;margin-bottom:7px;padding:5px 9px;font-size:11px;line-height:1.5}.stop-buttons{flex-wrap:wrap;gap:6px;display:flex}.btn-sm{cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid;border-radius:7px;align-items:center;gap:4px;padding:6px 11px;font-family:Noto Sans KR,sans-serif;font-size:11px;font-weight:500;transition:background .12s;display:flex}.btn-sm:active{opacity:.7}.btn-sm-maps{color:var(--accent);border-color:#2563eb59}.btn-sm-maps:hover{background:#2563eb12}.btn-sm-tesla{color:var(--green);border-color:#05966959}.btn-sm-tesla:hover{background:#05966912}.vendor{white-space:nowrap;border:1px solid;border-radius:4px;padding:1px 6px;font-family:DM Mono,monospace;font-size:10px;display:inline-block}.v-tesla{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.v-ea{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.v-cp{color:#5b21b6;background:#ede9fe;border-color:#c4b5fd}.v-mb{color:#92400e;background:#fef3c7;border-color:#fcd34d}.v-ionna{color:#9a3412;background:#ffedd5;border-color:#fdba74}.v-evgo{color:#9d174d;background:#fce7f3;border-color:#f9a8d4}.v-evc{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.d1{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.d2{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.d3{color:#9a3412;background:#ffedd5;border-color:#fdba74}.d4{color:#5b21b6;background:#ede9fe;border-color:#c4b5fd}.d5{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.d6{color:#92400e;background:#fef3c7;border-color:#fcd34d}.d7{color:#9d174d;background:#fce7f3;border-color:#f9a8d4}.d8{color:#0c4a6e;background:#e0f2fe;border-color:#7dd3fc}.d9{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.d10{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.tour-banner{color:#92600a;background:#fffbeb;border-bottom:1px solid #fde68a;align-items:center;gap:8px;padding:8px 16px;font-family:DM Mono,monospace;font-size:11px;display:flex}.toast{color:var(--text);z-index:999;white-space:nowrap;pointer-events:none;background:#1e293b;border:1px solid #2563eb4d;border-radius:50px;padding:10px 20px;font-family:DM Mono,monospace;font-size:12px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(100px);box-shadow:0 8px 32px #00000080}.toast.show{transform:translate(-50%)translateY(0)}.footer-reset{border-top:1px solid var(--border);justify-content:center;margin-top:12px;padding:24px 16px;display:flex}.btn-reset{border:1px solid var(--border2);color:var(--muted);cursor:pointer;background:0 0;border-radius:20px;padding:8px 22px;font-family:DM Mono,monospace;font-size:11px;transition:border-color .15s,color .15s}.btn-reset:hover{border-color:var(--red);color:var(--red)}@media (width<=400px){.next-card-name{font-size:14px}.btn-big{padding:10px 8px;font-size:12px}}
