@font-face{font-family:Shoulders;src:url(/fonts/big_shoulders_display_bold.ttf);font-weight:700;font-display:swap}@font-face{font-family:Shoulders;src:url(/fonts/big_shoulders_display_extrabold.ttf);font-weight:800;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson_hyperlegible_regular.ttf);font-weight:400;font-display:swap;unicode-range:U+0-2F,U+3A-FFFF}@font-face{font-family:Atkinson;src:url(/fonts/atkinson_hyperlegible_bold.ttf);font-weight:700;font-display:swap;unicode-range:U+0-2F,U+3A-FFFF}@font-face{font-family:PlexMono;src:url(/fonts/ibm_plex_mono_medium.ttf);font-weight:500;font-display:swap}:root{--bg:#f3ecdd;--dock:#e9e0cd;--field:#fbf7ee;--ink:#17130e;--ink2:#4f483d;--ink3:#6b6356;--rule:#cdbfa6;--lagoon:#0a5c66;--lagoon-soft:#d3ded8;--brick:#9e3a22;--gold:#e3a833;--spent:#9c9384;--board:#1c1a16;--flap:#2b2721;--flap-ink:#f6efdf;--display:"Shoulders", "Arial Narrow", sans-serif;--body:"Atkinson", system-ui, sans-serif;--mono:"PlexMono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:400 17px/1.35 var(--body);font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;margin:0;font-weight:800;line-height:.95}h2{font-size:30px}h3{font-size:26px}h4{font-size:20px}.display{font:800 46px/.92 var(--display);text-transform:uppercase;letter-spacing:.01em}p{margin:0}a{color:var(--lagoon);text-underline-offset:3px}a:hover{color:var(--brick)}.meta{color:var(--ink2);font-size:15px}.eyebrow,.label{font:700 13px/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}.shell{max-width:1180px;margin:0 auto;padding:20px 20px 72px}.shell.narrow{gap:20px;max-width:560px;padding-top:48px;display:grid}.stack{gap:24px;display:grid}.topbar{border-bottom:3px solid var(--ink);box-shadow:0 4px 0 -3px var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:14px;display:flex}.brand{font:800 24px/1 var(--display);text-transform:uppercase;letter-spacing:.03em;color:var(--ink);text-decoration:none}.brand-line{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{border:4px solid var(--lagoon);border-radius:50%;flex:none;width:14px;height:14px}.topbar-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}button{font:700 15px var(--body);border:2px solid var(--ink);min-height:48px;color:var(--ink);cursor:pointer;background:0 0;border-radius:4px;padding:0 18px}button:hover:not(:disabled){background:var(--dock)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}button.primary:hover:not(:disabled){background:var(--lagoon);border-color:var(--lagoon)}button.danger,.danger{color:var(--brick)}button.danger{border-color:var(--brick)}button.small{min-height:48px;padding:0 12px;font-size:14px}button.link{min-height:0;color:var(--lagoon);text-underline-offset:3px;background:0 0;border:0;padding:0 2px;text-decoration:underline;position:relative}button.link:after,.back:after,.back-free:after{content:"";height:48px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}button.link:hover:not(:disabled){color:var(--brick);background:0 0}button.link.danger{color:var(--brick);justify-self:start}input,select{font:400 17px var(--body);color:var(--ink);background:var(--field);border:2px solid var(--rule);border-radius:4px;width:100%;min-height:48px;padding:0 12px}::placeholder{color:var(--ink3);opacity:1}input:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--ink2)}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--lagoon);outline-offset:2px}input:disabled,select:disabled{background:var(--dock);color:var(--ink2);border-color:#0000}fieldset{border:0;min-width:0;margin:0;padding:0}.field{gap:6px;min-width:0;display:grid}.field>span{font:700 13px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}.affix{align-items:center;gap:8px;display:flex}.affix em{color:var(--ink2);font-style:normal;font-weight:700}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid3{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.inline-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.inline-form .field{flex:200px}.section,.card{border-top:3px solid var(--ink);box-shadow:inset 0 4px 0 var(--bg), inset 0 5px 0 var(--ink);padding:18px 0 4px}.section{gap:14px;display:grid}.section>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:6px;display:flex}.card{gap:14px;display:grid}.panel{background:var(--dock);gap:14px;padding:16px;display:grid}.banner{background:var(--field);color:var(--ink);border-left:6px solid var(--gold);gap:8px;padding:12px 14px;display:grid}.banner.warn{border-left-color:var(--brick)}.tag{font:700 12px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.tag:before{content:"";background:var(--gold);width:9px;height:9px;transform:rotate(45deg)}.badge{font:700 11px var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);border:2px solid var(--rule);white-space:nowrap;vertical-align:2px;border-radius:3px;margin-left:8px;padding:1px 6px}.kind{font:700 11px var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--bg);background:var(--ink2);white-space:nowrap;vertical-align:2px;border-radius:3px;margin-left:8px;padding:2px 7px;display:inline-block}.kind.event{background:var(--brick)}.badge.pin{color:var(--brick);border-color:var(--brick)}.list{margin:0;padding:0;list-style:none;display:grid}.list>li{border-bottom:1px solid var(--rule)}.list>li:first-child{border-top:1px solid var(--rule)}.list.compact>li{padding:10px 0}.list.people>li{flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0;display:flex}.list.people .who{flex:160px;font-weight:700}.row-link{color:inherit;flex:1;gap:4px;min-width:0;padding:14px 10px;text-decoration:none;display:grid}.row-link:hover{background:var(--dock);color:inherit}.row-link strong{font:800 24px/1 var(--display);text-transform:uppercase;letter-spacing:.02em}.row-link>div{gap:4px;display:grid}.chosen-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex!important}.summary{color:var(--ink2);font-size:15px}.summary b{color:var(--ink)}.budget-over{color:var(--brick);font-weight:700}.budget-near{color:var(--brick)}.plan-row{border-left:6px solid #0000;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plan-row.chosen{border-left-color:var(--lagoon)}.pick{justify-content:center;align-items:center;width:48px;min-height:48px;display:flex}.pick input{width:22px;min-height:22px;accent-color:var(--ink)}.row-actions{flex-wrap:wrap;gap:8px;padding-right:4px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--ink);cursor:pointer;min-height:48px;font:700 14px var(--body);letter-spacing:.08em;text-transform:uppercase;background:0 0;border-radius:4px;align-items:center;padding:0 16px;display:inline-flex;position:relative}.chip:hover{background:var(--dock)}.chip input,.toggle input{opacity:0;pointer-events:none;width:1px;height:1px;min-height:0;padding:0;position:absolute}.chip.on{background:var(--ink);color:var(--bg)}.chip:focus-within{outline:3px solid var(--lagoon);outline-offset:2px}.copy-row{gap:8px;display:flex}.toggle{cursor:pointer;align-items:center;gap:14px;min-height:52px;display:flex;position:relative}.toggle .track{border:2px solid var(--ink);background:var(--field);border-radius:4px;flex:none;width:52px;height:30px;transition:background .12s ease-out;position:relative}.toggle .track:after{content:"";background:var(--ink);border-radius:2px;width:20px;height:20px;transition:transform .12s ease-out;position:absolute;top:3px;left:3px}.toggle input:checked+.track{background:var(--lagoon);border-color:var(--lagoon)}.toggle input:checked+.track:after{background:var(--flap-ink);transform:translate(22px)}.toggle input:focus-visible+.track{outline:3px solid var(--lagoon);outline-offset:2px}.toggle-text{font-weight:700;display:grid}.toggle-text small{color:var(--ink2);font-size:14px;font-weight:400}.segmented{border:2px solid var(--ink);border-radius:4px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.segmented button{min-height:48px;font:700 13px var(--body);letter-spacing:.06em;text-transform:uppercase;border:0;border-radius:0;padding:0 12px}.segmented button+button{border-left:2px solid var(--ink)}.segmented button.on{background:var(--ink);color:var(--bg)}.ride-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ride-name{flex:220px;font-weight:700}.ride-group{gap:8px;display:grid}.search{width:220px}.item-card{border-left:6px solid var(--rule);gap:12px;padding:4px 0 4px 14px;display:grid}.page-head{gap:10px;display:grid}.back{font:700 13px var(--body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;position:relative}.back:before{content:"‹ "}.back-free{font:700 13px var(--body);letter-spacing:.1em;text-transform:uppercase;position:relative}.title-input{font:800 46px/1 var(--display);text-transform:uppercase;border:0;border-bottom:2px dashed var(--rule);background:0 0;border-radius:0;min-height:0;padding:0 0 4px}.title-input:hover:not(:disabled){border-bottom-color:var(--ink2)}.title-wrap{gap:4px;display:grid}.plan-title{gap:6px;display:grid}.plan-date{color:var(--lagoon)}.title-input,.plan-name{font-size:34px}.head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.head-actions .meta{margin-right:auto}.tabs{z-index:2;background:var(--bg);border-bottom:2px solid var(--ink);gap:0;display:flex;position:sticky;top:0}.tabs button{font:800 20px var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--ink2);background:0 0;border:0;border-bottom:6px solid #0000;border-radius:0;flex:1;margin-bottom:-2px}.tabs button.on{color:var(--ink);border-bottom-color:var(--lagoon)}.plan-grid{gap:24px;display:grid}.plan-grid.show-setup .route,.plan-grid.show-route .setup{display:none}@media (width>=960px){.tabs{display:none}.plan-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:40px}.plan-grid .setup,.plan-grid .route{display:block!important}.sticky{max-height:calc(100vh - 24px);padding-right:6px;position:sticky;top:12px;overflow:auto}}.whatif summary{cursor:pointer;width:100%;min-height:28px}.whatif[open] summary{margin-bottom:4px}.whatif{background:var(--dock);flex-wrap:wrap;align-items:end;gap:12px 16px;padding:14px;display:flex}.whatif .eyebrow{width:100%}.whatif .field{width:160px}.stats{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;display:grid}.stats dt{color:var(--ink2);font-size:14px}.stats dd{margin:0;font-weight:700}.stats.wide{background:var(--board);border-radius:3px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px}.stats.wide>div{background:var(--flap);gap:4px;padding:10px 12px;display:grid}.stats.wide dt{font:700 11px var(--body);letter-spacing:.12em;text-transform:uppercase;color:#b9ae9a}.stats.wide dd{font:800 30px/1 var(--display);color:var(--flap-ink);letter-spacing:.02em}.stats.wide dd.budget-over{color:#f08a68}.tiles{vertical-align:middle;gap:2px;display:inline-flex}.tiles b{width:20px;height:30px;font:800 22px/1 var(--display);color:var(--flap-ink);background:linear-gradient(var(--flap) 50%, var(--board) 50%);border-radius:3px;place-items:center;display:inline-grid}.tiles+.unit{font:700 12px var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);margin-left:6px}.timeline{margin:0;padding:0;list-style:none;display:grid}.stop{border-left:6px solid var(--lagoon);grid-template-columns:76px 1fr;gap:14px;margin-left:8px;padding:12px 0 14px 18px;display:grid;position:relative}.stop:before{content:"";background:var(--bg);border:5px solid var(--lagoon);border-radius:50%;width:14px;height:14px;position:absolute;top:16px;left:-15px}.stop.tier-must:before{background:var(--lagoon)}.stop.kind-meal:before,.stop.kind-show:before,.stop.kind-shop:before,.stop.kind-break:before{border-color:var(--ink);border-radius:2px;width:14px;height:14px;left:-15px}.stop.kind-free,.stop.kind-break{border-left-color:var(--spent);border-left-width:3px;margin-left:9.5px;padding-left:19.5px}.stop.kind-free:before{border-color:var(--spent);border-width:3px;width:12px;height:12px;left:-12px}.stop.kind-free .stop-head strong,.stop.kind-break .stop-head strong{color:var(--ink2)}.stop .time{font:800 22px/1 var(--display);color:var(--ink);padding-top:2px}.stop-body{gap:4px;min-width:0;display:grid}.stop-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.stop-head strong{font:800 26px/.95 var(--display);text-transform:uppercase;letter-spacing:.01em}.stop-line{color:var(--ink2);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:15px;display:flex}.reason{color:var(--ink);font-size:16px}.stop-body button.link{justify-self:start;font-size:15px}.notes{color:var(--ink2);gap:4px;margin:0;padding-left:20px;font-size:15px;display:grid}.compare{gap:16px;display:grid;overflow-x:auto}.compare-col{border-top:6px solid var(--lagoon);align-content:start;gap:10px;min-width:220px;padding:12px 0;display:grid}.compare-col h4{font-size:24px}.mini-route{gap:4px;margin:0;padding-left:0;font-size:15px;list-style:none;display:grid}.mini-route .time{font:500 13px var(--mono);color:var(--ink2);width:70px;display:inline-block}.cal{gap:6px;width:100%;max-width:360px;display:grid}.cal-head{justify-content:space-between;align-items:center;display:flex}.cal-head strong{font:800 22px var(--display);text-transform:uppercase;letter-spacing:.03em}.cal-head button{width:48px;padding:0;font-size:22px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:3px 0;display:grid}.cal-dow span{text-align:center;font:700 12px var(--body);letter-spacing:.1em;color:var(--ink2)}.cal-day{min-height:48px;font:700 16px var(--body);background:0 0;border:0;border-radius:0;padding:0;position:relative}.cal-day:hover:not(:disabled):not(.start):not(.end):not(.in){background:var(--dock)}.cal-day.past{opacity:.35}.cal-day.today{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.cal-day.in,.cal-day.in:hover:not(:disabled){background:var(--lagoon-soft)}.cal-day.start,.cal-day.end,.cal-day.start:hover:not(:disabled),.cal-day.end:hover:not(:disabled){background:var(--lagoon);color:var(--flap-ink);border-radius:3px}.cal-day.marked:after{content:"";background:var(--gold);width:6px;height:6px;margin-left:-3px;position:absolute;bottom:5px;left:50%;transform:rotate(45deg)}.add-days{gap:16px;display:grid}.add-days>button{justify-self:start}.day-parks>li{flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 0;display:flex}.day-parks strong{font:800 22px/1 var(--display);text-transform:uppercase;letter-spacing:.02em;width:130px}@media (width<=560px){.display{font-size:38px}.title-input,.plan-name{font-size:28px}.stats.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.stop{grid-template-columns:62px 1fr}.whatif .field{width:100%}.segmented button{padding:0 9px}.search{width:100%}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
