:root{--bg:#0a0a0a;--panel:#141414;--panel-2:#1c1c1c;--line:#2a2a2a;--text:#f2f2f2;--muted:#9a9a9a;--accent:#e8734a;--accent-dim:#7a3b26;--ok:#4ea36b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:8px;padding:8px 12px}button:hover{border-color:var(--accent-dim)}button.primary{background:var(--accent);border-color:var(--accent);color:#1a1a1a;font-weight:600}button.primary:hover{filter:brightness(1.05)}button.ghost{background:0 0}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 10px}a{color:var(--accent)}.app{flex-direction:column;min-height:100%;display:flex}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.brand{align-items:center;gap:10px;display:inline-flex}.wordmark{align-items:baseline;gap:8px;display:inline-flex}.wm-main{letter-spacing:.04em;font-size:16px;font-weight:700}.wm-sub{color:var(--accent);white-space:nowrap;font-size:14px;font-weight:600}.wm-sub:before{content:"| ";color:var(--muted)}.brandlogo{filter:invert();width:auto;height:26px;display:block}.muted{color:var(--muted)}.small{font-size:13px}.row{align-items:center;gap:10px;display:flex}.col{flex-direction:column;gap:10px;display:flex}.spacer{flex:1}.gate{max-width:420px;margin:8vh auto;padding:28px}.gate h1{margin:0 0 6px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.wrap{width:100%;max-width:980px;margin:0 auto;padding:20px}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.trip-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}.trip-card h3{margin:0 0 4px}.badge{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:12px}.editor{flex:1;grid-template-columns:minmax(340px,460px) 1fr;min-height:0;display:grid}.pane{border-right:1px solid var(--line);padding:16px;overflow-y:auto}.mappane{min-height:60vh;position:relative}.tabs{gap:6px;margin-bottom:12px;display:flex}.tabs button{border-radius:999px;padding:6px 12px}.tabs button.active{background:var(--accent);border-color:var(--accent);color:#1a1a1a}.stop{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:8px;padding:10px 12px}.stop .kind{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:11px}.stop .meta{color:var(--muted);font-size:13px}.iconbtn{padding:4px 8px;font-size:13px}.leghead{letter-spacing:.02em;border-bottom:1px solid var(--line);margin-top:8px;padding-bottom:4px;font-size:13px;font-weight:700}.leghead .small{font-weight:400}.suggestion{background:var(--panel-2);border:1px dashed var(--line);border-radius:12px;margin-bottom:8px;padding:10px 12px}.suggestion .blurb{color:var(--muted);margin:4px 0;font-size:13px}.summary{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:16px;margin-bottom:12px;padding:10px 12px;display:flex}.summary b{color:var(--accent)}.checkitem{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:6px 0;display:flex}.checkitem input[type=checkbox]{width:auto}.checkitem.done label{color:var(--muted);text-decoration:line-through}.mapfill{position:absolute;inset:0}.mapmissing{color:var(--muted);text-align:center;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.err{color:#e2a;font-size:13px}.pill{align-items:center;gap:6px;display:inline-flex}.poigrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.poicard{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.poicard img{object-fit:cover;width:100%;height:104px;display:block}.poinopic{background:var(--panel-2);place-items:center;height:104px;display:grid}.poimeta{padding:8px 10px}.stopthumb{object-fit:cover;border:1px solid var(--line);border-radius:10px;flex:none;width:52px;height:52px}.editor-mobile{flex-direction:column;flex:1;min-height:0;display:flex}.mhead{border-bottom:1px solid var(--line);padding:12px 14px 8px}.mhead .tabs{-webkit-overflow-scrolling:touch;padding-bottom:2px;overflow-x:auto}.mhead .tabs button{white-space:nowrap}.swipe{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex:1;min-height:0;display:flex;overflow:auto hidden}.swipe .page{scroll-snap-align:start;flex:0 0 100%;width:100%;height:100%;padding:14px;overflow-y:auto}.swipe .page.nopad{padding:0}.swipe .page.nopad .mappane{height:100%;min-height:78vh;position:relative}@media (width<=820px){.topbar{gap:8px;padding:8px 12px}.brandlogo{height:22px}.wordmark{flex-direction:column;align-items:flex-start;gap:0;line-height:1.12}.wm-main{font-size:15px}.wm-sub{font-size:11px;font-weight:500}.wm-sub:before{content:""}.useremail{display:none}.editor{grid-template-columns:1fr}.pane{border-right:none;border-bottom:1px solid var(--line)}.mappane{min-height:50vh}}.pack{gap:12px}.packtitle{font-size:20px;font-weight:700}.packmeta{color:var(--muted);flex-wrap:wrap;gap:6px 18px;font-size:13px;display:flex}.packmeta b{color:var(--text);margin-right:4px;font-weight:600}.packsec{letter-spacing:.03em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--line);margin-top:8px;padding-bottom:4px;font-size:12px;font-weight:700}.packstop{border-bottom:1px solid var(--line);padding:8px 0}.packbook{border-collapse:collapse;width:100%;margin-top:4px}.packbook td{vertical-align:top;padding:2px 8px 2px 0}.packbook td:first-child{white-space:nowrap;width:84px}.packlist{margin:0;padding:4px 0 0;list-style:none}.packlist li{padding:2px 0;font-size:13px}.packlist li.done{color:var(--muted)}.blogmd{white-space:pre-wrap;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;margin:0;padding:12px;font-family:inherit;font-size:13px;line-height:1.5;overflow-x:auto}@media print{.topbar,.tabs,.mhead,.mappane,button{display:none!important}body,.app{color:#000;background:#fff}.pack,.pack.card{color:#000;background:#fff;border:none}.packsec{color:#000;border-color:#ccc}.packstop{border-color:#ddd}.packmeta,.packmeta b,.muted{color:#333!important}}
