@font-face{font-family:DM Sans;src:url(/dm-sans.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Instrument Serif;src:url(/instrument-serif.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--ink:#152d24;--pine:#112923;--leaf:#dff199;--paper:#f4f5ec;--white:#fcfdf8;--line:#d7ded0;--muted:#53645a;--serif:"Instrument Serif",Georgia,serif;font:16px/1.5 "DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
button,a,input,select,summary{outline-offset:4px}
:focus-visible{outline:2px solid #44823f}
.frame{width:min(1140px,calc(100% - 64px));margin-inline:auto}
.top{background:var(--pine);color:#f2f6e9}
.top-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;gap:9px;align-items:center;text-decoration:none;font-size:1.16rem;font-weight:700;white-space:nowrap}
.brand span{color:var(--leaf);margin-left:-4px}
nav{display:flex;align-items:center;gap:8px}
nav button{border:1px solid transparent;border-radius:7px;background:transparent;color:inherit;font-size:.9rem;padding:8px 14px}
nav button:hover,nav button[aria-current]{background:#244238;border-color:#466459}
.hero{color:#f6f7e9;background:linear-gradient(90deg,#102c28 8%,#153833df 34%,#0e282050 72%,#0c241b2b),#163d43 url(/sky.jpg) center 49%/cover}
.hero-inner{padding-block:55px 117px}
.overline{text-transform:uppercase;font-size:.76rem;font-weight:700;letter-spacing:.14em;color:var(--leaf);margin:0 0 12px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1;margin:0}
h1{font-size:clamp(4rem,9.2vw,7.5rem);letter-spacing:-.025em;line-height:.85}
.hero p:last-child{max-width:390px;font-size:1.04rem;margin:22px 0 0;color:#eff5e8}
.workspace{position:relative;margin-top:-64px;min-height:350px}
.panel{background:var(--white);border:1px solid var(--line);border-radius:15px;box-shadow:0 12px 30px #1d38200d;padding:24px 28px}
.panel-heading,.results-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
h2{font-size:clamp(2.05rem,4vw,2.65rem)}
h3{font-size:2.05rem}
.segments{display:flex;flex-wrap:wrap;margin:0;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--paper);min-width:0}
.segments label{display:flex;align-items:center;gap:5px;cursor:pointer;padding:5px 10px;border-radius:5px;white-space:nowrap}
.segments label:has(:checked){background:var(--white);box-shadow:0 1px 4px #23381d24}
input[type=radio]{accent-color:var(--ink);margin:0}
.fields{display:grid;grid-template-columns:1.35fr repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.fields:has(.buddy-field:not([hidden])){grid-template-columns:repeat(4,minmax(0,1fr))}
label{font-size:.8rem;font-weight:700}
.fields label,#invite-output,#watch-form label{display:grid;gap:6px}
input:not([type=radio]),select{width:100%;min-width:0;border:1px solid #bac7b6;border-radius:7px;background:#fff;padding:10px 8px;font-size:.94rem;font-weight:500}
.form-bottom{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:17px}
.source{display:flex;align-items:center;gap:8px}
.source select{width:auto}
.primary,.secondary,.link-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:7px;border:1px solid transparent;padding:9px 14px;text-decoration:none;font-size:.91rem;font-weight:700}
.primary{background:var(--pine);color:white}
.primary:hover{background:#295241}
.primary span{color:var(--leaf)}
.secondary,.link-button{border-color:#b7c6b4;background:var(--white)}
.secondary:hover,.link-button:hover{background:#e9efde}
#buddy-panel{border-top:1px solid var(--line);padding-top:10px;margin-top:18px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#invite-output{margin-top:12px;max-width:570px}
#copy-link{margin-top:8px}
.results{padding-block:35px 12px}
.results-heading{align-items:flex-start}
.results-heading label{display:flex;align-items:center;gap:8px;white-space:nowrap}
.results-heading label select{width:auto;max-width:100%}
.results-heading p,#watches-panel>p{margin:8px 0 0;color:var(--muted)}
.message{margin:10px 0;color:var(--muted);font-size:.91rem}
.message:empty,#coverage:empty{display:none}
.trip-grid,.watch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.trip-card,.watch-card{min-width:0;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:17px}
.trip-card header,.watch-card header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.code{font-size:.74rem;letter-spacing:.1em;font-weight:700;color:var(--muted)}
.fare{font-size:1.4rem;font-weight:700;white-space:nowrap;line-height:1.1;text-align:right}
.fare small{display:block;font-size:.72rem;color:var(--muted);font-weight:600}
.trip-meta{margin:13px 0;color:var(--muted);font-size:.87rem}
.visit{display:inline-block;background:#e9f1ce;border-radius:5px;padding:2px 8px;font-size:.79rem;font-weight:700}
details{border-top:1px solid var(--line);margin-top:12px;padding-top:11px}
summary{font-size:.87rem;font-weight:700;cursor:pointer}
.itinerary{font-size:.83rem;margin-block:12px}
.itinerary p{margin:4px 0;overflow-wrap:anywhere}
.itinerary .actions{margin-top:8px}
.itinerary a,.itinerary button{font-size:.78rem}
.footer{border-top:1px solid var(--line);margin-top:35px;display:flex;justify-content:space-between;gap:16px;padding-block:20px 28px;font-size:.82rem;color:var(--muted)}
dialog{max-width:min(430px,calc(100% - 30px));width:100%;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--ink);padding:24px}
dialog::backdrop{background:#142e26a8}
dialog .actions{margin-top:14px}
@media(max-width:950px){.fields,.fields:has(.buddy-field:not([hidden])){grid-template-columns:repeat(3,minmax(0,1fr))}.trip-grid,.watch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:630px){.frame{width:calc(100% - 32px)}.top-inner{gap:7px;min-height:62px}.brand{font-size:.94rem;gap:5px}.brand img{width:25px;height:25px}nav{gap:1px}nav button{padding:6px 5px;font-size:.75rem}.hero-inner{padding-block:42px 99px}.hero{background-position:64% center}.workspace{margin-top:-49px}.panel{padding:17px}.panel-heading{align-items:flex-start;flex-direction:column;gap:10px}.fields,.fields:has(.buddy-field:not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.form-bottom{align-items:stretch;flex-wrap:wrap}.form-bottom>.primary{flex:1}.trip-grid,.watch-grid{grid-template-columns:1fr}.footer{flex-direction:column;gap:3px}}
@media(max-width:360px){.frame{width:calc(100% - 20px)}.fields,.fields:has(.buddy-field:not([hidden])){grid-template-columns:1fr}}
@media(max-width:630px){.results-heading label{display:grid;gap:4px}.results-heading label select{font-size:.81rem}}
