*{box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Arial,sans-serif;background:#F6F7FA;color:#1B2A4A;max-width:560px;margin:auto;padding-bottom:90px}
.gs-top{background:#102d4c;color:#fff;padding:14px 16px}.gs-brand{display:flex;align-items:center;gap:8px}.wm{font-weight:800;font-size:20px}.tag{font-size:9px;letter-spacing:2px;background:#f26e61;padding:3px 6px;border-radius:4px;font-weight:700}.zip{margin-left:auto;background:rgba(255,255,255,.15);padding:5px 10px;border-radius:14px;font-weight:700;font-size:13px}
.chips,.days{display:flex;gap:8px;margin-top:10px}.chip,.day{background:none;color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:16px;padding:6px 12px;font-weight:600;font-size:13px}.chip.on,.day.on{background:#fff;color:#102d4c}
.demo{background:#fff4d6;margin:0;padding:6px 16px;font-size:12px}h2{margin:14px 16px 8px;font-size:20px}.sub{font-size:12px;color:#6B7690;font-weight:400}p.sub{margin:0 16px 10px}
#map{height:260px;margin:0 16px;border-radius:14px;overflow:hidden;background:#dfe9ef}.hint{font-size:12px;color:#6B7690;margin:6px 16px}
.card{background:#fff;border-radius:14px;box-shadow:0 2px 8px rgba(27,42,74,.08);margin:0 16px 10px;padding:12px;border:2px solid transparent;cursor:pointer}.card.sel{border-color:#f26e61}.card h3{margin:0 0 4px;font-size:16px}.card .meta{font-size:12px;color:#6B7690}.lock{display:inline-block;margin-top:6px;font-size:12px;background:#eef1f6;padding:3px 8px;border-radius:8px}.row{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.small{background:#fff;border:1px solid #102d4c;color:#102d4c;border-radius:10px;padding:6px 10px;font-weight:700;font-size:12px}
.btn{display:block;background:#f26e61;color:#fff;font-weight:800;border:0;border-radius:12px;padding:14px;font-size:16px;text-align:center;text-decoration:none;width:100%}
.plan-bar{position:fixed;bottom:0;left:0;right:0;max-width:560px;margin:auto;padding:10px 16px;background:#fff;border-top:1px solid #E3E6EE;z-index:1000}
#view-route .btn{width:auto;margin:12px 16px}.back{background:none;border:0;color:#102d4c;font-weight:700;margin:12px 16px 0;font-size:14px}
#stops{margin:0 16px;padding:0;list-style:none}#stops li{background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:8px;display:flex;gap:10px;align-items:center}.num{background:#102d4c;color:#fff;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-weight:800;flex:none}
.hoa{background:#e7f4ee;border-radius:14px;margin:10px 16px;padding:12px;font-size:13px}.hoa .small{display:block;margin-top:8px}
.sponsor{background:#fff;border:2px dashed #c9d2e0;border-radius:14px;margin:14px 16px;padding:14px;text-align:center}.sponsor b{font-size:11px;letter-spacing:1px;color:#6B7690;text-transform:uppercase}.sponsor h3{margin:6px 0}.sponsor p{margin:0 0 6px;font-size:13px}.sponsor a{color:#f26e61;font-weight:700}
#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#102d4c;color:#fff;padding:10px 14px;border-radius:10px;font-size:13px;opacity:0;transition:.3s;z-index:2000;pointer-events:none}#toast.show{opacity:1}
.pin{background:#102d4c;color:#fff;border:2px solid #fff;border-radius:50%;width:28px!important;height:28px!important;display:grid;place-items:center;font-weight:800;font-size:12px}.pin.sel{background:#f26e61}
.wk{font-size:12px;opacity:.8;align-self:center}.lbl{margin:10px 16px 6px;font-weight:700;font-size:13px}
.ints{display:flex;flex-wrap:wrap;gap:6px;margin:0 16px}.int{background:#fff;border:1px solid #c9d2e0;color:#102d4c;border-radius:16px;padding:6px 11px;font-weight:600;font-size:13px}.int.on{background:#102d4c;color:#fff;border-color:#102d4c}
.hot{display:flex;gap:8px;overflow-x:auto;margin:0 16px 10px;padding-bottom:4px}.hn{flex:none;background:#fff;border-radius:12px;padding:8px 10px;box-shadow:0 2px 6px rgba(27,42,74,.08);font-size:12px;min-width:140px}.hn b{display:block;font-size:13px}.hn .st{color:#f26e61;font-weight:800}
.card{cursor:default}.card .top{display:flex;gap:10px;align-items:flex-start}.score{flex:none;background:#f26e61;color:#fff;border-radius:12px;width:52px;text-align:center;padding:5px 0;font-weight:800;font-size:20px;line-height:1}.score small{display:block;font-size:8px;letter-spacing:1px;font-weight:700;margin-top:2px}.score.mid{background:#102d4c}.score.low{background:#9aa5b8}
.nb{font-size:12px;color:#102d4c;font-weight:600;margin-top:3px}.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tg{font-size:11px;background:#eef1f6;border-radius:8px;padding:2px 7px}.tg.m{background:#ffe3df;color:#b8392c;font-weight:700}
.th{display:flex;gap:6px}.thb{background:#fff;border:1px solid #c9d2e0;border-radius:10px;padding:5px 9px;font-size:13px;font-weight:700}.thb.on{background:#102d4c;color:#fff;border-color:#102d4c}.pick.on{background:#f26e61;color:#fff;border-color:#f26e61}
.plan-bar{display:flex;gap:8px}.plan-bar .btn{flex:1}.plan-bar .small{flex:none}
#rmap{height:240px;margin:0 16px 12px;border-radius:14px;overflow:hidden;background:#dfe9ef}
.bpin{background:#f26e61;color:#fff;border:3px solid #fff;border-radius:50%;width:38px!important;height:38px!important;display:grid;place-items:center;font-weight:900;font-size:17px;box-shadow:0 2px 6px rgba(0,0,0,.35)}.bpin.home{background:#102d4c;font-size:14px}
#stops li{align-items:flex-start}#stops .num{width:34px;height:34px;font-size:15px;background:#f26e61}.go{font-size:11px;letter-spacing:1px;font-weight:800;color:#f26e61;text-transform:uppercase}.why{font-size:12px;color:#1B2A4A;margin-top:3px}
#stops li.spon{border:2px dashed #c9d2e0;background:#fffdf7}#stops li.spon .num{background:#c9d2e0;color:#102d4c}#stops li.spon a{color:#f26e61;font-weight:700;font-size:12px}
/* Zip Score badge: brand navy */
.score,.score.mid,.score.low{background:#102d4c;color:#fff;box-shadow:0 2px 6px rgba(16,45,76,.25)}
.score small{color:#ffd84d}
.score.low{background:#3a5575}.score.low small{color:#e6edf5}
/* Route buttons: navy, square, yellow lettering, white star */
.btn.rbtn{background:#102d4c;color:#ffd84d;border-radius:2px;letter-spacing:.02em}
.btn.rbtn .ric{color:#fff}
