/* "Make me a night" planner (js/night.js) */
.nav-night{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);color:var(--fg);font:600 13px/1 var(--f-body,Inter),sans-serif;white-space:nowrap;background:color-mix(in srgb,var(--bg) 70%,transparent)}
.nav-night:hover{border-color:var(--reme,#d9b26f);color:var(--reme,#d9b26f)}
@media (max-width:1440px){.nav-night b{display:none}.nav-night{width:36px;padding:0;justify-content:center}}
.btn.night-go{background:linear-gradient(135deg,#2b2350,#5b3c8f);color:#fff;border:0}
.btn.night-go:hover{filter:brightness(1.12)}
.night-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 0}
.night-strip span{font-size:13px;opacity:.7}
.night-go-inline{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border-radius:999px;background:linear-gradient(135deg,#2b2350,#5b3c8f);color:#fff!important;font:600 14px/1 var(--f-body,Inter),sans-serif;text-decoration:none}
.night-go-inline:hover{filter:brightness(1.12)}
html.nt-open{overflow:hidden}
.nt{position:fixed;inset:0;z-index:1000;background:rgba(8,8,14,.66);backdrop-filter:blur(6px);display:grid;place-items:center;padding:24px;animation:ntIn .2s ease}
@keyframes ntIn{from{opacity:0}to{opacity:1}}
.nt-card{--nf:#f4f1ea;--nm:rgba(244,241,234,.62);--nl:rgba(244,241,234,.14);width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;background:radial-gradient(120% 80% at 100% 0,#2d2452 0,#141320 55%,#0f0f16 100%);color:var(--nf);border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.5);padding:26px 28px 20px;font-family:Inter,system-ui,sans-serif}
.nt-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.nt-k{font:600 11px/1 Inter;letter-spacing:.16em;text-transform:uppercase;color:#d9b26f;margin:0 0 10px}
.nt-head h2{font:500 34px/1.05 Fraunces,Georgia,serif;margin:0;letter-spacing:-.01em}
.nt-sub{margin:8px 0 0;color:var(--nm);font-size:14px}
.nt-x{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--nl);background:none;color:var(--nf);font-size:22px;line-height:1;cursor:pointer}
.nt-ctl{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 6px}
.nt-seg{display:inline-flex;padding:3px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--nl);flex-wrap:wrap}
.nt-seg button{border:0;background:none;color:var(--nm);font:600 13px/1 Inter;padding:9px 14px;border-radius:999px;cursor:pointer}
.nt-seg button.on{background:var(--nf);color:#141320}
.nt-stops{margin-top:14px}
.nt-stop{display:grid;grid-template-columns:118px 132px 1fr;gap:16px;align-items:center;padding:14px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--nl)}
.nt-stop.empty{grid-template-columns:118px 1fr;opacity:.75;border-style:dashed}
.nt-slot{display:flex;flex-direction:column;gap:3px}
.nt-slot .nt-ic{font-size:22px}.nt-slot b{font:600 15px/1.1 Inter}.nt-slot small{font-size:12px;color:var(--nm);line-height:1.3}
.nt-img{display:block;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#222}
.nt-img img{width:100%;height:100%;object-fit:cover;display:block}
.nt-body h3{font:500 20px/1.15 Fraunces,Georgia,serif;margin:4px 0 4px}.nt-body h3 a{color:inherit;text-decoration:none}
.nt-body h3 a:hover{text-decoration:underline}
.nt-pills{margin:0;display:flex;gap:6px;flex-wrap:wrap}.nt-pills .pill{position:static;font-size:10.5px}
.nt-meta{margin:0;color:var(--nm);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nt-acts{display:flex;gap:14px;align-items:center;margin-top:10px;flex-wrap:wrap}
.nt-acts a{color:var(--nf);font-size:13px;font-weight:600;text-decoration:none;opacity:.85}
.nt-swap{border:1px solid var(--nl);background:none;color:var(--nf);font:600 12.5px/1 Inter;padding:8px 12px;border-radius:999px;cursor:pointer}
.nt-swap:hover:not(:disabled){border-color:#d9b26f;color:#d9b26f}.nt-swap:disabled{opacity:.4;cursor:default}
.nt-swap small{opacity:.6;font-weight:500}
.nt-empty{margin:0;color:var(--nm);font-size:14px}
.nt-leg{display:flex;align-items:center;gap:12px;padding:8px 0 8px 52px;font-size:12.5px;color:var(--nm)}
.nt-line{width:2px;height:26px;background:repeating-linear-gradient(var(--nm) 0 4px,transparent 4px 8px);margin-right:4px}
.nt-drive em{font-style:normal;opacity:.7}
.nt-leg a{color:#d9b26f;font-weight:600;text-decoration:none;margin-left:auto}
.nt-est{margin:12px 0 0;font-size:12px;color:var(--nm)}
.nt-thin{margin-top:14px;padding:14px 16px;border-radius:12px;background:rgba(217,178,111,.12);border:1px solid rgba(217,178,111,.35)}
.nt-thin p{margin:0;font-size:14px}.nt-try{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px!important}
.nt-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--nl)}
.nt-btn{height:42px;padding:0 18px;border-radius:999px;border:0;background:linear-gradient(135deg,#d9b26f,#f2d9a2);color:#1a140a;font:700 13.5px/1 Inter;cursor:pointer}
.nt-btn.ghost{background:none;border:1px solid var(--nl);color:var(--nf);font-weight:600}
.nt-btn.ghost:hover{border-color:var(--nf)}
.nt-btn.sm{height:32px;padding:0 12px;font-size:12.5px}
.nt-route{margin-left:auto;color:#d9b26f;font-weight:600;font-size:13px;text-decoration:none}
@media (max-width:760px){
  .nt{padding:0;place-items:end stretch}
  .nt-card{width:100%;max-height:92vh;border-radius:20px 20px 0 0;padding:20px 16px 16px}
  .nt-head h2{font-size:27px}
  .nt-stop{grid-template-columns:92px 1fr;gap:10px 12px;padding:12px}
  .nt-slot{grid-column:1/-1;flex-direction:row;align-items:baseline;gap:8px}.nt-slot .nt-ic{font-size:17px}
  .nt-img{aspect-ratio:1}
  .nt-body h3{font-size:17px}
  .nt-stop.empty{grid-template-columns:1fr}
  .nt-leg{padding-left:20px}
  .nt-foot .nt-btn{flex:1}.nt-route{margin:4px auto 0;width:100%;text-align:center}
}
.mast .night-strip,.m-head .night-strip{justify-content:center}
@media (max-width:520px){.nav-night{display:none}}
/* Near me (location stays on-device) */
.nt-seg .nt-nearbtn{color:var(--nf)}
.nt-seg .nt-nearbtn.on{background:#d9b26f;color:#1a140a}
.nt-near{margin:12px 0 0;font-size:12.5px;color:var(--nm)}.nt-near span{opacity:.8}
.nt-nearbox{margin-top:14px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid var(--nl)}
.nt-nearbox p{margin:0;font-size:14px}
.nt-nearfb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.nt-hood{display:flex;gap:8px;flex:1 1 260px;min-width:0}
.nt-hood input{flex:1;min-width:0;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--nl);background:rgba(255,255,255,.08);color:var(--nf);font:500 13px Inter,sans-serif}
.nt-hood input::placeholder{color:var(--nm)}
.nt-priv{margin-top:10px!important;font-size:12px!important;color:var(--nm)}
.nt-leg-me .nt-from{color:var(--nf);font-weight:600}
@media (max-width:760px){.nt-leg-me{flex-wrap:wrap;row-gap:4px}}
/* time-of-day planner: morning / afternoon tints (html[data-part] set by nav.js + night.js) */
html[data-part=morning] .btn.night-go,html[data-part=morning] .night-go-inline,html.sn[data-part=morning] .nav .sn-night{background:linear-gradient(135deg,#d9822b,#f2b544);box-shadow:0 6px 20px rgba(217,130,43,.35)}
html[data-part=afternoon] .btn.night-go,html[data-part=afternoon] .night-go-inline,html.sn[data-part=afternoon] .nav .sn-night{background:linear-gradient(135deg,#0e7c86,#2fb3a6);box-shadow:0 6px 20px rgba(14,124,134,.35)}
/* homepage: top-bar planner pill hides while the hero's planner button is visible (js/night.js pillSync) */
#nightBtn{transition:opacity .28s ease,visibility 0s linear 0s}
#nightBtn.nt-pill-off{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility 0s linear .28s}
@media (prefers-reduced-motion:reduce){#nightBtn,#nightBtn.nt-pill-off{transition:none}}
