:root{--bg:#f3f5f7;--card:#fff;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--accent:#111827;--soft:#eef2f7;--warn:#fff5cc;--warn-ink:#7a5d00;--info:#e8f0ff;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}.app-shell{max-width:480px;min-height:100vh;margin:0 auto;background:#f8fafc;position:relative;padding-bottom:86px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px calc(12px + env(safe-area-inset-top));background:rgba(248,250,252,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{font-weight:900;letter-spacing:-.04em;font-size:22px}.subbrand{font-size:11px;color:var(--muted);margin-top:-2px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;line-height:1.1}.badge.warn{background:var(--warn);color:var(--warn-ink)}.badge.info{background:var(--info);color:#254b9c}.badge.neutral{background:#eef0f3;color:#5f6670}.screen{display:none;padding:16px}.screen.active{display:block}.hero-card,.info-card,.nav-card,.safety-card,.report-card,.evidence-list,.route-card,.compare-card,.context-card,.trust-card,.ride-check-card,.privacy-card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 28px rgba(15,23,42,.05)}.hero-card{padding:22px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.08em;color:#697586}.hero-card h1,.section-head h2{margin:6px 0 8px;letter-spacing:-.035em}.hero-card h1{font-size:30px}.hero-card p,.info-card p,.safety-card p,.report-card p,.context-card p,.trust-card p,.privacy-card p{color:var(--muted);line-height:1.55;font-size:14px}.search-box{margin-top:18px;padding:15px 16px;border-radius:14px;background:#f1f4f8;color:#8a93a0;display:flex;justify-content:space-between}.context-card,.trust-card,.ride-check-card,.privacy-card{padding:16px;margin-top:14px}.context-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.context-state{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;background:#eef0f3;color:#5f6670}.context-state.advisory{background:#e8f0ff;color:#254b9c}.context-state.caution{background:#fff5cc;color:#7a5d00}.context-state.do_not_start{background:#fee4e2;color:#b42318}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.context-grid>div{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px}.context-grid span,.context-grid small{display:block;color:var(--muted);font-size:10px;font-weight:700}.context-grid b{display:block;margin:4px 0 6px;font-size:13px;line-height:1.35}.context-card p{margin:10px 0 0;font-size:12px}.trust-points{margin-top:10px}.trust-points p{margin:7px 0}.trust-points b{color:var(--ink)}.section-head{display:flex;align-items:end;justify-content:space-between;margin:22px 2px 12px}.section-head h2{font-size:22px}.muted{font-size:11px;color:var(--muted);font-weight:800}.route-grid{display:grid;gap:12px}.route-card{padding:16px;cursor:pointer;transition:.15s}.route-card.selected{outline:2px solid #111827}.route-top{display:flex;justify-content:space-between;gap:12px}.route-name{font-weight:900;font-size:17px}.route-decision{font-size:11px;font-weight:900;border-radius:999px;padding:5px 8px;background:#f1f5f9}.route-meta{display:flex;gap:14px;color:var(--muted);font-size:13px;margin-top:10px}.route-reason{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;line-height:1.5}.info-card,.safety-card{padding:16px;margin-top:14px}.compare-card{padding:18px;margin-bottom:12px}.compare-card h3{margin:0 0 4px}.compare-bars{display:grid;gap:10px;margin-top:14px}.bar-row{display:grid;grid-template-columns:85px 1fr 38px;align-items:center;gap:8px;font-size:12px}.bar-track{height:8px;background:#edf0f4;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:#111827;border-radius:999px}.ride-status-row{display:flex;justify-content:space-between;margin-bottom:12px}.check-list{margin-top:12px;border-top:1px solid var(--line)}.check-list>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.check-list span,.privacy-state span{color:var(--muted)}.check-value{font-size:11px;text-align:right}.check-value.ok{color:#176b45}.check-value.caution{color:#8a6600}.check-value.neutral{color:#5f6670}.ack-list{display:grid;gap:10px;margin-top:14px}.ack-list label{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start;font-size:12px;line-height:1.45}.ack-list input{margin-top:2px;width:17px;height:17px}.check-note{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#f8fafc;color:var(--muted);font-size:11px;line-height:1.45}.nav-card{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:16px;align-items:center;margin-top:12px}.nav-arrow{font-size:42px;font-weight:800;text-align:center}.nav-distance{font-size:13px;color:var(--muted);font-weight:800}.nav-instruction{font-size:20px;font-weight:900;letter-spacing:-.03em;margin-top:4px}.map-schematic{position:relative;margin-top:12px;background:linear-gradient(160deg,#eef2f5,#dfe6eb);border-radius:22px;overflow:hidden;border:1px solid #d8dde3}.map-schematic svg{display:block;width:100%;height:auto}.road{fill:none;stroke-linecap:round}.road.faint{stroke:#fff;stroke-width:11;opacity:.72}.route{fill:none;stroke:#111827;stroke-width:8;stroke-linecap:round;stroke-dasharray:2 0}.start-dot{fill:#64748b}.end-dot{fill:#111827}.position-dot{fill:#fff;stroke:#111827;stroke-width:5}.map-label{position:absolute;background:#fff;border-radius:8px;padding:4px 7px;font-size:10px;font-weight:800}.map-label.start{left:18px;bottom:34px}.map-label.end{right:14px;top:54px}.map-overlay{position:absolute;left:12px;right:12px;bottom:10px;background:rgba(17,24,39,.82);color:#fff;padding:8px 10px;border-radius:10px;text-align:center;font-size:10px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px}.stat span{display:block;color:var(--muted);font-size:11px;font-weight:700}.stat strong{display:block;font-size:20px;margin-top:4px}.action-row{margin-top:14px}.primary,.secondary,.danger{width:100%;border:0;border-radius:15px;padding:15px 16px;font-size:16px;font-weight:900}.primary{background:#111827;color:white}.primary:disabled,.secondary:disabled,.danger:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#e9edf2;color:#111827}.danger{background:#fee4e2;color:var(--danger)}.danger.subtle{background:#fff;border:1px solid #f4c7c3}.hidden{display:none!important}.report-card{padding:22px;text-align:center}.report-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#eef2f7;margin:0 auto 12px;font-size:24px;font-weight:900}.report-card h3{margin:0 0 6px}.evidence-list{margin:12px 0;padding:4px 16px}.evidence-list>div{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.evidence-list>div:last-child{border-bottom:0}.evidence-list span{color:var(--muted)}.evidence-list strong{text-align:right}.privacy-state{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.button-stack{display:grid;gap:9px;margin-top:12px}.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;z-index:30;width:min(480px,100%);display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-top:1px solid var(--line)}.nav-item{border:0;background:transparent;color:#8a93a0;padding:7px 3px}.nav-item span{display:block;font-size:20px;line-height:1}.nav-item small{display:block;font-size:10px;font-weight:800;margin-top:4px}.nav-item.active{color:#111827}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(min-width:700px){body{padding:24px 0}.app-shell{border-radius:28px;overflow:hidden;min-height:860px;box-shadow:0 20px 60px rgba(15,23,42,.12)}.topbar{border-radius:28px 28px 0 0}.bottom-nav{position:absolute;border-radius:0 0 28px 28px}}
