:root{--bg:#f2ede2;--card:#fffdf8;--ink:#2a2620;--muted:#6b6255;--line:#e2d9c8;--accent:#1f6b45;--accent-ink:#ffffff;--cta:#d9622b;--cta-ink:#ffffff;--head:linear-gradient(135deg,#1d3d2c,#2c5a3f);--heading:#1f4a33;--ret:#2d5d8a;--ok:#0a7547;--warn:#5c4300;--warn-bg:#fff3c4;--sign-yellow:#f3b61f;--bad:#c62a20;--asphalt:#262b30;--radius:12px;--font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#1b1f22;--card:#23282c;--ink:#e9ece6;--muted:#a2aaa0;--line:#353b40;--accent:#3fb57a;--accent-ink:#0d1f15;--cta:#e8783f;--cta-ink:#1f1208;--head:linear-gradient(135deg,#12261b,#1d3d2c);--heading:#8fd3ad;--ret:#86aaf0;--ok:#3fb57a;--warn:#f3c94b;--warn-bg:#3a3010;--bad:#ff7a6e;--asphalt:#111417;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);background-image:radial-gradient(circle at 1px 1px,rgb(120 100 70/.1) 1px,transparent 0);background-size:18px 18px;color:var(--ink);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}html{overflow-x:clip}.wrap{max-width:1240px;margin:0 auto;padding:0 20px 64px}header.top{margin:0 calc(50% - 50vw) 24px;padding:18px max(20px,calc(50vw - 600px)) 22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='120' fill='none' stroke='%23ffffff' stroke-opacity='.09' stroke-width='1.5'%3E%3Cpath d='M-10 90c40-30 70-10 110-35s80-5 150-30'/%3E%3Cpath d='M-10 105c40-30 80-8 120-30s80 0 140-28'/%3E%3Cpath d='M-10 70c30-25 70-15 100-35s90-10 160-25'/%3E%3Cpath d='M-10 50c35-20 60-12 95-30s95-8 165-18'/%3E%3C/svg%3E"),var(--head);color:#f4f5f1;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;position:relative}.brand,header.top{display:flex;align-items:center}.brand{gap:14px}.brand-mark{flex:none;width:44px;height:44px;border-radius:7px;background:var(--cta);box-shadow:inset 0 0 0 2px #fff;display:grid;place-items:center}h1{font-size:26px;font-weight:800;margin:0;letter-spacing:-.01em;line-height:1.1}.sub{color:#b9c0bb;margin:2px 0 0;font-size:14px}.top-tools{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}header.top label{color:#b9c0bb;margin:0}header.top .top-tools>label{position:relative}header.top .top-tools>label>.top-label{position:absolute;bottom:calc(100% + 2px);left:2px;font-size:12px;line-height:1;white-space:nowrap}header.top .top-tools>label>select{margin-top:0;height:40px}@media (max-width:900px){header.top .top-tools{row-gap:22px}}header.top select{background:rgb(255 255 255/.1);border-color:rgb(255 255 255/.25);color:#f4f5f1}header.top select option{color:var(--ink);background:var(--card)}header.top .new-trip{margin:0}header.top .new-trip>button{background:transparent;border-color:#6b7378;color:#f4f5f1}header.top .new-trip>button:hover{border-color:#f4f5f1}header.top .new-trip .confirm{color:var(--ink)}.layout{display:grid;grid-template-columns:minmax(300px,400px) 1fr;grid-gap:24px;gap:24px;align-items:start}@media (max-width:900px){.layout{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 2px 0 var(--line)}.card+.card{margin-top:18px}h2{font-size:18px;font-weight:800;color:var(--heading);margin:0 0 14px;letter-spacing:-.005em}label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:12px}label>input,label>select{display:block;width:100%;margin-top:4px;font-weight:400}button,input,select{font:inherit;color:inherit}input,select{padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}input:hover,select:hover{border-color:color-mix(in srgb,var(--ink) 30%,var(--line))}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}.grid2{grid-template-columns:1fr 1fr}.grid2,.grid3{display:grid;grid-gap:0 12px;gap:0 12px}.grid3{grid-template-columns:1fr 1fr 1fr}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chip{display:inline-flex;gap:6px;align-items:center;padding:5px 11px;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink);margin:0;background:var(--card)}.chip input{width:auto;margin:0;accent-color:var(--accent)}.chip.on,.chip:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--card))}.stop{grid-template-columns:1fr;padding:12px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:6px;margin-bottom:10px;background:color-mix(in srgb,var(--bg) 45%,var(--card))}.stop.ret{border-left-color:var(--ret)}.stop,.stop .row{display:grid;grid-gap:6px;gap:6px}.stop .row{grid-template-columns:1fr 124px 1fr;align-items:end}.stop label{margin:0}.stop .row>.stop-pass,.stop .row>.stop-road,.stop .row>label:first-child{grid-column:1/-1}.stop .row>.stop-pass{justify-self:start;font-weight:500}.pass-tag{color:var(--accent);font-weight:600}label.pass-pick{display:block;margin:4px 0 0;font-weight:500;white-space:nowrap}.leaflet-popup .map-legs input[type=checkbox],label.pass-pick input{width:16px;height:16px;min-height:0;margin:0 4px 0 0;padding:0;vertical-align:-3px}.tips{font-size:12.5px;color:var(--muted);margin:3px 0 0}.tips b{color:var(--ink);font-weight:600}.mode{font-size:11.5px;color:var(--muted);display:block;margin-top:3px}button{cursor:pointer;border:1px solid var(--line);background:var(--card);padding:8px 13px;border-radius:6px;font-weight:600}button:hover:not(:disabled){border-color:color-mix(in srgb,var(--ink) 35%,var(--line))}button.primary{background:var(--cta);color:var(--cta-ink);border-color:var(--cta);font-weight:800;padding:11px 18px;border-radius:10px}button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--cta) 86%,#000);border-color:color-mix(in srgb,var(--cta) 86%,#000)}form .primary[type=submit]{width:100%;margin-top:6px;font-size:16px}button:disabled{opacity:.55;cursor:progress}button.link{border:0;background:none;padding:4px 6px;font-weight:600}a,button.link{color:var(--ret)}.err{background:color-mix(in srgb,var(--bad) 10%,var(--card));border:1px solid var(--bad);border-left-width:6px;color:var(--bad);padding:12px 14px;border-radius:6px;margin-bottom:14px}.ok{color:var(--ok);font-weight:600}.warn{background:var(--warn-bg);color:var(--warn);border-left:5px solid var(--sign-yellow);border-radius:4px;padding:8px 12px;margin:0 0 6px;font-size:13.5px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:12.5px;border-bottom:2px solid var(--ink)}td.n,th.n{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tag{display:inline-block;font-size:11.5px;padding:1px 7px 0;border-radius:4px;font-weight:800;color:#fff}.tag.out{background:var(--accent);color:var(--accent-ink)}.tag.ret{background:var(--ret);color:var(--card)}.must{font-weight:800}.bar{height:8px;background:color-mix(in srgb,var(--line) 70%,transparent);border-radius:2px;overflow:hidden;margin-top:4px}.bar>i{display:block;height:100%;background:var(--accent)}.scroll{overflow-x:auto}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}.small{font-size:12.5px;color:var(--muted)}.road-sign{background:var(--accent);color:#fff;border-radius:12px;padding:22px 26px 18px;box-shadow:inset 0 0 0 4px var(--accent),inset 0 0 0 7px #fff;margin-bottom:14px}@media (prefers-color-scheme:dark){.road-sign{background:#0a7547;box-shadow:inset 0 0 0 4px #0a7547,inset 0 0 0 7px #e9ece6}}.sign-route{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;font-weight:800;font-size:clamp(24px,3.4vw,38px);line-height:1.05;letter-spacing:-.01em}.sign-route .arrow{flex:none}.sign-km{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.sign-km small{font-size:.55em;font-weight:600;margin-left:4px}.sign-via{margin-top:6px;font-size:15px;font-weight:600;color:#d8eee2}.sign-stats{display:flex;flex-wrap:wrap;gap:10px 36px;margin-top:16px;padding-top:12px;border-top:2px solid rgba(255,255,255,.85)}.sign-stats b{display:block;font-size:24px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.sign-stats span{font-size:13px;color:#d8eee2;font-weight:600}.sign-stats .budget.over b{display:inline-block;background:#fff;color:var(--bad);padding:0 8px;border-radius:4px}details.notes{margin-bottom:14px}details.notes>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;padding:6px 12px 5px 8px;border-radius:4px;background:var(--warn-bg);color:var(--warn);font-weight:700;font-size:13.5px}details.notes>summary::-webkit-details-marker{display:none}details.notes>summary:after{content:"▾";font-size:11px}details.notes[open]>summary:after{content:"▴"}.sign-triangle{flex:none}details.notes[open]>.warn:first-of-type{margin-top:8px}.route-map{width:100%;height:380px;border:1px solid var(--line);border-radius:8px;background:var(--bg);z-index:0}.map-pin{background:none;border:0}.map-pin span{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid var(--accent);color:var(--accent);font:800 11px/1 var(--font);box-shadow:0 1px 3px rgba(0,0,0,.35)}.map-pin.ret span{border-color:var(--ret);color:var(--ret)}.map-pin.must span{background:var(--accent);color:#fff}.map-pin.must.ret span{background:var(--ret);color:#fff}.map-pin.generic span{border-style:dashed;color:var(--muted);border-color:var(--muted)}.map-pin.start span{width:22px;height:22px;background:var(--ink);border-color:var(--ink);color:#fff}.leaflet-tooltip.map-label{background:rgba(255,255,255,.92);border:0;box-shadow:0 1px 2px rgba(0,0,0,.25);padding:1px 5px;font:700 11px/1.3 var(--font);color:#1c2229}.leaflet-tooltip.map-label:before,.route-map:not(.all-names) .leaflet-tooltip.map-label:not(.must){display:none}.empty{color:var(--muted);text-align:center;padding:56px 24px;font-size:15px}@media (max-width:600px){.wrap{padding:0 12px 48px}header.top{padding:14px 12px 22px}h1{font-size:22px}.grid3,.stop .row{grid-template-columns:1fr 1fr}button,input,select{min-height:44px}td,th{padding:6px 5px;font-size:13px}}.card,.layout>*{min-width:0}input,select{max-width:100%;min-width:0}header.top>div{min-width:0}@media (max-width:600px){header.top .grid2{min-width:0!important;width:100%}.stop .row{grid-template-columns:1fr 1fr}.stop .row button{grid-column:1/-1}}.wrap.narrow{max-width:560px}.gate h2{margin-top:16px}.gate .primary{margin-top:4px}.gate a{color:var(--accent);word-break:break-all}.sharebox{margin-top:12px;padding:10px;border:1px dashed var(--line);border-radius:8px}.sharebox input{width:100%}a.button{display:inline-block;border:1px solid var(--line);background:var(--bg);padding:8px 12px;border-radius:8px;color:inherit;text-decoration:none}.stop .row>.stop-tools{grid-column:1/-1;display:flex;justify-content:flex-end;gap:4px}.stop-tools button{padding:4px 10px}.stepper{display:flex;margin-top:3px}.stepper input{width:100%;min-width:2.5em;text-align:center;border-radius:0}.stepper button{padding:0 10px;font-size:18px;line-height:1}.stepper button:first-child{border-radius:8px 0 0 8px;border-right:0}.stepper button:last-child{border-radius:0 8px 8px 0;border-left:0}.field-label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}.table-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.costs-toggle{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tr.opened td{border-bottom:0}tr.editor-row>td{background:var(--bg);padding:10px 12px 14px}.cost-editor .cost-options{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:flex-start}.cost-editor .cost-options>label{min-width:220px}.cost-lines td{padding:4px 6px;vertical-align:middle}.cost-lines input.amount{width:7.5em;text-align:right;padding:5px 8px;display:inline}.cost-lines tr.edited td:first-child{color:var(--accent)}@media (max-width:600px){.stop .row{grid-template-columns:1fr 1fr}.stop .row>.stepper-label{grid-column:auto}.cost-lines input.amount{width:6em}}h1 .ver{font-size:13px;font-weight:500;color:var(--muted);vertical-align:middle;letter-spacing:0}.mini-stepper{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.mini-stepper button{padding:0 7px;min-height:26px;line-height:1;font-size:15px}.mini-stepper span{min-width:1.6em;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mini-stepper.changed span{color:var(--accent);font-weight:700}@media (max-width:600px){.mini-stepper button{min-height:32px;padding:0 9px}}.stale{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:14px;position:-webkit-sticky;position:sticky;top:8px;z-index:5}.stage-tools{display:inline-flex;gap:3px;margin-left:8px;vertical-align:middle}.stage-tools button{padding:0 6px;min-height:24px;font-size:11px;line-height:1}.stale.suggest{background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--ink)}@media (max-width:600px){.stage-tools{display:flex;margin:4px 0 0}.stage-tools button{min-height:32px;padding:0 10px}}.add-cost{margin:10px 0 6px}.add-cost-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.add-cost-row>input{flex:1 1 200px}.add-cost-row input.amount{width:7em;text-align:right}.rental{margin:4px 0 10px}.rental .grid3{margin-top:6px}.members{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.member,.members{align-items:center}.member{display:inline-flex;gap:2px}.member input{width:150px;margin:0}.split-table select{margin:0;width:auto;max-width:210px}.split-table td,.split-table th{vertical-align:top;white-space:nowrap}.split-table .pct{display:inline-flex;align-items:center;gap:3px;margin-top:3px}.split-table .pct input.amount{width:62px;margin:0;text-align:right}.split-table .takes{display:inline-flex;align-items:center;gap:4px;margin:3px 0 0;color:var(--muted)}.split-table .takes input{width:auto;margin:0}.split-table tfoot td{border-top:1px solid var(--line)}.split-table tfoot tr.total td{border-top:2px solid var(--ink)}.warn-text{color:var(--warn);margin:2px 0 0;white-space:normal}.new-trip{margin-top:10px}.new-trip .confirm{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--card)}.routing-status{margin:8px 0 0;font-size:.85rem}.routing-status.ok{color:var(--ok)}.routing-status.off{color:var(--warn)}.stay-finder{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.stay-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin:6px 0}.stay-actions>label{display:inline-flex;align-items:center;gap:6px;margin:0}.stay-actions>label>select{display:inline-block;width:auto;margin-top:0}.finder-grid{display:grid;grid-template-columns:auto auto 1fr;align-items:start;grid-gap:4px 8px;gap:4px 8px}.finder-grid>.field-label{margin:0}.finder-grid>.ext-links{justify-self:end}.finder-grid>button{white-space:nowrap}.finder-grid>select,.stay-actions>button,.stay-actions>label>select,a.button.ext-link{height:40px;box-sizing:border-box}.stay-actions>button{padding-top:0;padding-bottom:0}.ext-links{display:grid;grid-template-columns:repeat(2,auto);align-items:start;grid-gap:6px 8px;gap:6px 8px;margin-left:auto}.ext-links .under{grid-column:2}.stay-finder{container-type:inline-size}@container (max-width: 740px){.ext-links{grid-template-columns:auto}.ext-links .under{grid-column:auto}}@container (max-width: 560px){.finder-grid{grid-template-columns:1fr auto}.finder-grid>span:nth-child(3){display:none}.finder-grid>button{white-space:normal;height:auto;min-height:40px}.finder-grid>.ext-links{grid-column:1/-1;justify-self:start;margin-left:0;display:flex;flex-wrap:wrap}}a.button.ext-link{display:inline-flex;align-items:center;padding:0 10px;white-space:nowrap;background:color-mix(in srgb,var(--cta) 10%,var(--card));border-color:color-mix(in srgb,var(--cta) 38%,var(--line));font-weight:600}a.button.ext-link:hover{border-color:var(--cta)}.stay-chosen{margin:4px 0 6px}.stay-map{height:260px;border-radius:var(--radius);margin:6px 0 8px;border:1px solid var(--line)}.stay-list{list-style:none;padding:0;margin:0;max-height:340px;overflow-y:auto}.stay-list li{display:grid;grid-template-columns:26px 1fr auto;grid-gap:8px;gap:8px;align-items:start;padding:6px 4px;border-bottom:1px solid var(--line);white-space:normal}.stay-list li.chosen{background:color-mix(in srgb,var(--ok) 10%,transparent)}.stay-list .num{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:.75rem;font-weight:600}.ok-text,.stay-list li button{white-space:nowrap}.ok-text{color:var(--ok)}.map-pin.stay span{width:20px;height:20px;font-size:11px;background:#2f7d4f;border-color:#2f7d4f;color:#fff}.map-pin.stay.rv span{background:#8a5a00;border-color:#8a5a00}.map-pin.stay.chosen span{outline:3px solid var(--ok)}td .date{color:var(--muted)}.map-pin.stay.food span{background:#a3361f;border-color:#a3361f}.stay-list .num.food{background:#a3361f}.tag.food{background:color-mix(in srgb,#a3361f 14%,transparent);color:#a3361f}.food-finder .chips{margin:4px 0}header.top .routing-status{margin:4px 0 0;font-size:12.5px;font-weight:600}header.top .routing-status.ok{color:#7fd6a6}header.top .routing-status.off{color:#f3c94b}header.top h1 .ver{color:#8f978f}.day-cell{white-space:nowrap}.day-pin{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 4px;border-radius:13px;border:2px solid var(--accent);color:var(--accent);background:var(--card);font-weight:800;font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.day-pin.ret{border-color:var(--ret);color:var(--ret)}.day-pin.must{background:var(--accent);color:#fff}.day-pin.ret.must{background:var(--ret)}.day-to{font-weight:700;font-size:12.5px;margin-left:2px;color:var(--muted)}.stage-tools button,.stop-tools button{color:var(--muted);background:transparent;font-size:10px}.stage-tools button:hover:not(:disabled),.stop-tools button:hover:not(:disabled){color:var(--ink)}.stepper-label:first-letter{text-transform:uppercase}.empty-sign{padding:8px 0 0}.road-sign.blank{opacity:.92}.road-sign.blank .sign-via{font-size:16px;margin-top:12px}.phone-access{position:relative}header.top .phone-access>button{display:inline-flex;align-items:center;gap:7px;background:transparent;border-color:#6b7378;color:#f4f5f1}.phone-panel{position:absolute;z-index:1000;top:calc(100% + 8px);left:0;width:min(330px,86vw);background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:14px}.install-steps{margin:6px 0 8px;padding-left:20px}.install-steps li{margin-bottom:6px}.phone-panel .qr{width:200px;margin:0 auto 8px;background:#fff;padding:6px;border-radius:6px}.phone-panel .qr svg{display:block;width:100%;height:auto}.phone-panel p{margin:0 0 8px}.phone-url{font-weight:800;font-size:16px;-webkit-user-select:all;-moz-user-select:all;user-select:all;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:600px){.phone-panel{left:auto;right:-100px}}@media (max-width:640px){.stages-table thead{display:none}.stages-table tr:not(.editor-row){display:grid;grid-template-columns:40px 1fr auto;grid-template-areas:"day route cost" "day leg stay";grid-gap:2px 8px;gap:2px 8px;padding:12px 0;border-bottom:1px solid var(--line)}.stages-table tr:not(.editor-row)>td{border:0;padding:0}.stages-table .day-cell{grid-area:day}.stages-table .day-to{display:block;margin:2px 0 0}.stages-table .c-route{grid-area:route;font-size:15px}.stages-table .c-cost{grid-area:cost;font-size:15px}.stages-table .c-leg{grid-area:leg;display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px}.stages-table .c-leg .mode{display:inline;margin:0}.stages-table .c-km{grid-area:leg;justify-self:end;align-self:center;margin-right:4px;color:var(--muted);font-size:13px}.stages-table .c-km:after{content:" km"}.stages-table .c-cum{display:none}.stages-table .c-stay{grid-area:stay}.stages-table .c-stay:empty{display:none}.stages-table .stage-tools{display:flex;margin:6px 0 0}.stages-table .stage-tools button{min-height:34px;min-width:40px}.stages-table tr.editor-row,.stages-table tr.editor-row>td{display:block;padding-left:0;padding-right:0}.stages-table .mini-stepper button{min-height:34px;min-width:34px}}.landing .hero{display:grid;grid-template-columns:1.05fr 1fr;grid-gap:40px;gap:40px;align-items:center;margin:28px 0 40px}.hero-text h2{font-size:clamp(30px,4.2vw,48px);line-height:1.05;letter-spacing:-.02em;margin:0 0 16px;max-width:17ch}.hero-text p{font-size:18px;line-height:1.55;color:var(--muted);max-width:46ch;margin:0 0 22px}.hero-text .button.primary{font-size:17px;padding:13px 22px}.hero-sign{transform:rotate(-1.2deg);box-shadow:inset 0 0 0 4px var(--accent),inset 0 0 0 7px #fff,0 18px 40px rgba(0,0,0,.18)}.features{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:28px 32px;gap:28px 32px;padding:28px 0 36px;border-top:2px solid var(--ink)}.feature h3{font-size:17px;font-weight:800;margin:0 0 6px}.feature p{margin:0;color:var(--muted);line-height:1.55}.buy-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;align-items:start;scroll-margin-top:16px}.price-box{background:var(--head);border-radius:var(--radius);padding:22px 24px}.price-box,.price-box h2{color:#f4f5f1}.price-box .price{font-size:40px;font-weight:800;margin:0 0 10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price-box .price span{font-size:15px;font-weight:600;color:#b9c0bb}.price-box ul{margin:0;padding-left:18px;line-height:1.7}.landing .gate{margin:0}a.button.on-dark{background:transparent;border:1px solid #6b7378;color:#f4f5f1}a.button.primary{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);font-weight:800}.legal-footer{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin:28px 0 0}@media (max-width:860px){.buy-row,.landing .hero{grid-template-columns:1fr}.features{grid-template-columns:1fr 1fr}}@media (max-width:560px){.features{grid-template-columns:1fr}.hero-sign{transform:none}}.brand-link{color:inherit;text-decoration:none}.legal-text{max-width:760px;margin:0 auto;padding:28px 32px;line-height:1.65;font-size:15.5px}.legal-text h1{font-size:30px;margin:0 0 4px}.legal-text h2{margin:26px 0 8px}.legal-text ul{padding-left:20px}.legal-text li+li{margin-top:6px}mark.todo{padding:0 4px;border-radius:3px;font-weight:700}.pro-badge,mark.todo{background:var(--sign-yellow);color:#262b30}.pro-badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.04em;padding:2px 6px 1px;border-radius:4px;vertical-align:middle}.pro-lock{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.pro-lock p{margin:0;flex:1 1 260px}.pro-lock.compact p{font-size:14px;color:var(--muted)}.pro-lock.inline{display:block;margin:0 0 12px;font-size:13.5px;color:var(--muted)}.free-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--sign-yellow);border-radius:6px;padding:10px 14px;margin-bottom:14px;font-size:14px}.free-banner>span:nth-child(2){flex:1 1 280px}.plans{display:grid;grid-template-columns:1fr 1.25fr;grid-gap:24px;gap:24px;margin-bottom:28px}.plan{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}.plan.pro{background:var(--head);border-color:#1d3d2c}.plan.pro,.plan.pro h2{color:#f4f5f1}.plan .price{font-size:36px;font-weight:800;margin:0 0 10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plan .price span{font-size:14px;font-weight:600;color:var(--muted)}.plan.pro .price span{color:#b9c0bb}.plan ul{margin:0;padding-left:18px;line-height:1.7}.buy-row.single{grid-template-columns:minmax(0,520px);justify-content:center}@media (max-width:760px){.plans{grid-template-columns:1fr}}.route-map-wrap.full{position:fixed;inset:0;z-index:2000;background:var(--bg,#fff)}.route-map-wrap.full .route-map{height:100%;border-radius:0;margin:0}body.map-open{overflow:hidden}.map-full-btn{position:absolute;top:10px;right:10px;z-index:1000;min-width:36px;height:36px;padding:0 8px;font-size:18px;line-height:1;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}.route-export{margin-top:10px}.route-export .actions{flex-wrap:wrap}.route-export select{display:inline;width:auto}.help{margin:8px 0 0;padding-top:6px;border-top:1px dashed rgba(0,0,0,.15)}table.mix{width:100%;margin:0 0 6px}table.mix td,table.mix th{padding:3px 4px;vertical-align:middle}table.mix .chip{margin:0}table.mix tr:not(.on) .chip{opacity:.75}.pct{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.pct input{width:4.2em;text-align:right;display:inline}table.meals input.amount{width:6em}.stars{color:#b8860b;letter-spacing:1px}tr.over td{color:#c62a20}.align-inputs>label{display:flex;flex-direction:column;gap:4px}.align-inputs>label>input{margin-top:auto}.excursion,.roads{margin-top:10px}.mode.road{color:var(--accent)}select.mode-pick{display:block;width:auto;max-width:100%;margin-top:3px;padding:2px 6px;font-size:12px;color:var(--ink)}.leaflet-popup .map-legs select{margin-left:4px}.trail-facts{display:flex;flex-wrap:wrap;gap:4px 12px;margin:4px 0}.trail-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}.trail-list button{text-align:left}.trail-info .muted{color:var(--muted);margin-top:6px}.map-pin.stay.sight span,.num.sight{background:#7a4ea3}.tag.sight{background:#efe6f7;color:#5a2f82}.city-name{cursor:zoom-in;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}.city-btn{display:inline-flex;align-items:center;gap:4px;margin-left:4px;padding:2px 9px 2px 7px;border:1px solid var(--accent);border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--card));color:var(--accent);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;vertical-align:middle}.city-btn span{font-size:19px;line-height:1}.city-btn:hover{background:var(--accent);color:var(--accent-ink)}.city-map{position:fixed;inset:0;z-index:2100;display:flex;flex-direction:column;background:var(--bg,#fff)}.city-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 12px;background:var(--card,#fff);border-bottom:1px solid var(--line,#ddd)}.city-bar .chips,.city-radius{margin:0}.city-radius select{display:inline;width:auto;margin:0}.city-close{margin-left:auto;font-size:18px;min-width:40px}.city-canvas{flex:1 1;min-height:0}.city-error{margin:4px 12px}.city-credits{margin:0;padding:4px 12px}.city-pin span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid #7a4ea3;font-size:16px;box-shadow:0 1px 3px rgba(0,0,0,.35)}.city-pin.hotels span{border-color:#1c4f9c}.city-pin.food span{border-color:#c26a00}.city-pin.stays span{border-color:#0a7547}.city-pin.chosen span{background:#ffe89a;border-width:3px}.city-pin.selected span{transform:scale(1.25)}.city-info{position:absolute;left:12px;right:12px;bottom:36px;z-index:1000;max-width:520px;padding:10px 36px 10px 12px;background:var(--card,#fff);border-radius:10px;box-shadow:0 3px 14px rgba(0,0,0,.3)}.city-info .actions{margin-top:6px}.city-info-close{position:absolute;top:6px;right:8px}.poi-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0 6px}.poi-bar .chip{margin:0}.poi-hint{flex-basis:100%;margin:0}.route-map-wrap.full{display:flex;flex-direction:column}.route-map-wrap.full .poi-bar{margin:0;padding:8px 56px 8px 12px;background:var(--card,#fff);border-bottom:1px solid var(--line,#ddd)}.route-map-wrap.full .route-map{flex:1 1;height:auto;min-height:0}.route-map-wrap .city-info{bottom:12px}.chosen-pin span{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#ffe89a;border:2px solid #b8860b;font-size:12px;box-shadow:0 1px 3px rgba(0,0,0,.35)}.poi-day{display:block;margin:6px 0 0}.poi-day select{display:inline;width:auto;max-width:100%;margin:0}.day-plan a{text-decoration:none}.route-map-box{position:relative}.route-map-wrap.full .route-map-box{flex:1 1;min-height:0;display:flex}.route-map-wrap.full .route-map-box .route-map{flex:1 1}.powered-by{white-space:nowrap}.diary h3{margin:10px 0 6px}.diary-nav{display:flex;gap:6px;align-items:center}.diary-nav select{flex:1 1;margin:0}.diary-expenses input,.diary-expenses select,.diary-legs input{margin:0;min-width:0}.diary-expenses td,.diary-legs td{padding:2px 3px}.diary-legs input[type=time]{width:6.5em}.diary-legs input.amount{width:5em}.diary textarea{width:100%;font:inherit}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:8px;gap:8px;margin:4px 0 8px}.photo-grid figure{margin:0}.photo-grid img,.photo-missing{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block;background:var(--bg,#eee)}.photo-grid input{margin:4px 0 0;font-size:12px}.photo-add{display:inline-block;cursor:pointer;margin-bottom:10px}.diary-share,.diary-spent{margin-top:14px}.diary-days .chip{min-width:2.6em}.diary-import{cursor:pointer}.fb-box input.file-hidden,label>input.file-hidden{display:none}.diary-legs input[type=time]{width:7.2em}.diary-legs td:first-child input,.diary-legs td:nth-child(3) input{min-width:9em}label.photo-add{display:inline-block;border:1px solid var(--line);background:var(--card);padding:8px 13px;border-radius:6px;font-weight:600;font-size:14px;color:var(--ink)}.diary-nav select{min-width:0;width:auto}@media (max-width:640px){.diary-expenses thead,.diary-legs thead{display:none}.diary-expenses,.diary-expenses tbody,.diary-legs,.diary-legs tbody{display:block}.diary-legs tr{grid-template-columns:1fr 7.2em;grid-gap:4px}.diary-expenses tr,.diary-legs tr{display:grid;gap:4px;padding:6px 0;border-bottom:1px solid var(--line)}.diary-expenses tr{grid-template-columns:1fr 7em;grid-gap:4px}.diary-expenses td,.diary-legs td{display:block;padding:0;border:0}.diary-legs td:first-child input,.diary-legs td:nth-child(3) input{min-width:0;width:100%}.diary-expenses input.amount,.diary-legs input.amount{width:100%}.diary-legs td.n:nth-child(6):before{content:"km P ";color:var(--muted);font-size:12px}.diary-expenses input,.diary-expenses select{width:100%}}form.redeem{margin-top:8px}.admin-code b{font-family:monospace;font-size:15px}.error-text{color:var(--bad)}.admin-mag{display:grid;grid-gap:4px;gap:4px;min-width:190px}.admin-mag input{width:auto;max-width:140px;padding:2px 6px}.admin table code{font-size:13px}.diary{--d-sky:#1d6fa5;--d-sea:#0f8b8d;--d-sun:#f29e38;--d-coral:#e4572e;--d-paper:#fffaf0;--d-paper-line:#e8dcc3;--d-legs:#e8f2fb;--d-money:#eaf6ee;--d-photos:#fdf0e6;--d-share:#f3edfb;--d-cover-ink:#ffffff;padding:0 0 8px;overflow:hidden;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--d-sun) 14%,transparent) 0 180px,transparent 181px),var(--card)}@media (prefers-color-scheme:dark){.diary{--d-paper:#2b2a24;--d-paper-line:#45412f;--d-legs:#1f2c38;--d-money:#1f3027;--d-photos:#362a20;--d-share:#2c2638}}.diary>*{margin-left:18px;margin-right:18px}.diary>.diary-cover{margin:0 0 16px}.diary-cover{position:relative;padding:20px 18px 16px;color:var(--d-cover-ink);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='120' viewBox='0 0 220 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.16' stroke-width='1.5'%3E%3Cpath d='M0 90 C40 60 70 110 110 80 S180 40 220 70'/%3E%3Cpath d='M0 60 C40 30 70 80 110 50 S180 10 220 40'/%3E%3Cpath d='M0 30 C40 0 70 50 110 20 S180 -20 220 10'/%3E%3C/g%3E%3Cpath d='M20 105 L60 95 L95 100 L140 88' fill='none' stroke='%23ffffff' stroke-opacity='.45' stroke-width='2' stroke-dasharray='5 5'/%3E%3C/svg%3E") repeat,linear-gradient(120deg,var(--d-sky) 0,var(--d-sea) 55%,var(--d-sun) 130%)}.diary-cover h2{color:inherit;margin:0 0 2px;font-size:22px}.diary-cover p{margin:0 0 10px;opacity:.95}.diary-cover .diary-trip{font-weight:800;font-size:16px;letter-spacing:.02em}.diary-cover .diary-nav button{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.5);color:#fff}.diary-cover .diary-nav select{background:rgba(255,255,255,.95);color:#262b30;border-color:transparent;font-weight:600}.diary-dayhead{display:flex;align-items:center;gap:14px;margin-bottom:14px}.diary-daynum{flex:none;display:grid;place-items:center;align-content:center;width:64px;height:64px;border-radius:50%;background:var(--d-coral);color:#fff;font-size:26px;font-weight:800;line-height:1;box-shadow:0 0 0 4px var(--card),0 0 0 6px var(--d-coral);transform:rotate(-8deg)}.diary-daynum small{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}.diary-save{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.diary-saved{font-weight:700;color:var(--heading)}.diary-savehint{margin:-6px 18px 12px;color:var(--muted)}.diary-changed{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 18px}.diary-changed p{flex-basis:100%;margin:0}.diary .diary-dayhead h3{margin:0;font-size:19px;text-transform:capitalize}.diary-dayhead h3 span{display:block;font-size:14px;font-weight:600;color:var(--muted);text-transform:none}.diary-block{display:block;margin-top:0;margin-bottom:14px;padding:12px 14px;border-radius:12px;border-left:5px solid var(--d-block,var(--accent));background:var(--d-block-bg,var(--bg))}.diary-block:last-of-type{margin-bottom:18px}.diary-block-title{display:block;margin-bottom:8px;font-size:15px;font-weight:800;color:var(--d-block,var(--ink))}.diary-legs-block{--d-block:var(--d-sky);--d-block-bg:var(--d-legs)}.diary-notes-block{--d-block:var(--d-sun);--d-block-bg:var(--d-paper)}.diary-photos-block{--d-block:var(--d-coral);--d-block-bg:var(--d-photos)}.diary-money-block{--d-block:var(--d-sea);--d-block-bg:var(--d-money)}.diary-share-block{--d-block:#7b4fc9;--d-block-bg:var(--d-share)}@media (prefers-color-scheme:dark){.diary-legs-block{--d-block:#6fb3e6}.diary-notes-block{--d-block:#f5b866}.diary-photos-block{--d-block:#f08a6a}.diary-money-block{--d-block:#4fc4c6}.diary-share-block{--d-block:#b59bf0}}.diary-block table{background:transparent}.diary-block .diary-share,.diary-block .diary-spent{margin-top:12px}.diary-share-block .diary-share{margin-top:0}.diary-notes-block textarea{margin:0;border:1px solid var(--d-paper-line);border-radius:6px;padding:2px 10px;line-height:28px;background:repeating-linear-gradient(to bottom,transparent 0 27px,var(--d-paper-line) 27px 28px) var(--d-paper);background-attachment:local;color:var(--ink);font-size:16px}.diary-photos-block .photo-grid{gap:14px;padding:4px 2px 6px}.diary-photos-block .photo-grid figure{background:#fff;padding:8px 8px 10px;border-radius:3px;box-shadow:0 3px 10px rgba(0,0,0,.18);transform:rotate(-1.5deg);transition:transform .15s}.diary-photos-block .photo-grid figure:nth-child(2n){transform:rotate(1.8deg)}.diary-photos-block .photo-grid figure:hover{transform:rotate(0) scale(1.02)}.diary-photos-block .photo-grid img,.diary-photos-block .photo-missing{border-radius:1px}.diary-photos-block .photo-grid input{background:transparent;border:0;border-bottom:1px dashed #c9c2b4;color:#262b30;text-align:center}.diary-share-block .primary{background:linear-gradient(110deg,#7b4fc9,var(--d-coral));border-color:transparent}.cost-calc{display:block;font-size:12px;color:var(--muted);line-height:1.3}.dev-link{margin-top:12px;padding:12px;border-radius:8px;background:var(--warn-bg)}.dev-link p{margin:0 0 8px;color:var(--warn)}.admin-send{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0}.admin-send input{margin:0;flex:1 1 220px;min-width:0}.admin-send.compact input{flex-basis:180px}.admin input.admin-note{margin:0;min-width:9em}.map-legs{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.map-legs button{padding:4px 10px;border-radius:999px;border:1px solid var(--line,#d9ddd5);background:#fff;color:#262b30;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.map-legs button.on{background:#0a7547;border-color:#0a7547;color:#fff;cursor:default}.map-legs button[data-leg=return].on{background:#1c4f9c;border-color:#1c4f9c}.map-move input{width:4.2em;margin:0;padding:3px 6px;font-size:13px}.map-move-hint{margin-top:4px;font-size:11px;color:#5e666d;max-width:240px}.map-legs button.danger{color:#c62a20;border-color:#e7b4ae}.travellers{display:inline-flex;align-items:flex-end;gap:10px;margin-left:14px;vertical-align:middle}.traveller{display:inline-grid;place-items:center;height:44px;padding:2px 8px;border-radius:10px;background:rgba(255,255,255,.08)}@media (max-width:600px){.travellers{display:flex;gap:6px;margin:6px 0 0}.traveller{height:36px;padding:2px 4px}.traveller svg{width:48px;height:29px}.traveller:last-child svg{width:26px;height:31px}}.route-map-wrap{position:relative}.map-working{position:absolute;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;gap:12px;background:rgba(20,24,27,.45);color:#fff;font-size:18px;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.route-map-wrap.full .map-working{position:fixed}.map-working .spinner{width:34px;height:34px;border-radius:50%;border:4px solid rgba(255,255,255,.35);border-top-color:#fff;animation:trm-spin .9s linear infinite}@keyframes trm-spin{to{transform:rotate(1turn)}}.stop.dest-stay .row{align-items:center}.stop.dest-stay .dest-name{font-weight:800;flex:1 1}.map-notices>*{margin:0 0 8px}.route-map-wrap.full .map-notices{padding:8px 56px 0 12px;background:var(--card,#fff)}.day-cell .stage-days{white-space:nowrap;margin-top:2px}.guida .g-doc{max-width:900px;margin:0 auto;padding:28px 34px 40px;line-height:1.6;font-size:16px}.guida .top-tools .button{white-space:nowrap}.g-cover{padding:26px 28px;margin:-6px -10px 26px;border-radius:var(--radius);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='120' fill='none' stroke='%23ffffff' stroke-opacity='.1' stroke-width='1.5'%3E%3Cpath d='M-10 90c40-30 70-10 110-35s80-5 150-30'/%3E%3Cpath d='M-10 105c40-30 80-8 120-30s80 0 140-28'/%3E%3Cpath d='M-10 70c30-25 70-15 100-35s90-10 160-25'/%3E%3Cpath d='M-10 50c35-20 60-12 95-30s95-8 165-18'/%3E%3C/svg%3E"),var(--head);color:#f4f5f1}.g-cover h1{font-size:clamp(30px,5vw,44px);margin:4px 0 12px}.g-cover .small{color:#d6e2d8;margin-bottom:0}.g-kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:13px;color:#f6b38f;margin:0}.g-lead{font-size:18px;max-width:60ch}.g-toc ol{column-count:2;column-gap:32px;padding-left:22px;margin:0}.g-toc li{page-break-inside:avoid;break-inside:avoid;margin-bottom:4px}.g-chapter{margin-top:44px}.g-chapter h2{font-size:26px;display:flex;align-items:center;gap:12px;border-bottom:3px solid var(--line);padding-bottom:8px}.g-chapnum{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--accent);color:#fff;font-size:20px}.g-chapter h3{font-size:19px;color:var(--heading);margin:28px 0 8px}.g-fig{margin:18px 0;text-align:center}.g-fig img{max-width:100%;height:auto;border-radius:10px;border:1px solid var(--line);box-shadow:0 4px 16px rgb(60 50 30/.12);background:#fff}.g-fig.medium img{max-width:min(100%,460px)}.g-fig.small img{max-width:min(100%,300px)}.g-fig figcaption{font-size:14px;color:var(--muted);margin:8px auto 0;max-width:62ch;text-align:left}.g-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:flex-start}.g-row .g-fig{flex:1 1 240px;margin:8px 0}.g-num{flex:none;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--cta);color:#fff;font-weight:800;font-size:14px;border:2px solid #fff;box-shadow:0 1px 4px rgb(0 0 0/.3)}.g-num.inline{width:22px;height:22px;font-size:12px;vertical-align:-4px}.g-legend{list-style:none;padding:0;margin:8px 0 18px}.g-legend li{display:flex;gap:12px;align-items:flex-start;padding:7px 0;border-bottom:1px dashed var(--line)}.g-legend li:last-child{border-bottom:0}.g-tip{margin:18px 0;padding:12px 16px;border-radius:10px;border-left:5px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--card))}.g-tip>b{display:block;color:var(--accent);font-size:13px;text-transform:uppercase;letter-spacing:.06em}.g-tip.warn{border-left-color:var(--sign-yellow);background:var(--warn-bg)}.g-tip.warn>b{color:var(--warn)}.g-tip.pro{border-left-color:var(--cta);background:color-mix(in srgb,var(--cta) 9%,var(--card))}.g-tip.pro>b{color:var(--cta)}.g-steps{padding-left:24px}.g-steps li{margin-bottom:8px}.g-table{width:100%;margin:10px 0 16px}.g-table td,.g-table th{padding:7px 8px}.g-faq dt{font-weight:800;color:var(--heading);margin-top:16px}.g-faq dd{margin:4px 0 0}@media (max-width:600px){.guida .g-doc{padding:18px 16px 30px;font-size:15px}.g-cover{margin:-4px -4px 20px;padding:20px}.g-toc ol{column-count:1}}@media print{@page{size:A4;margin:14mm 14mm 16mm}body,html{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.g-noprint,.guida header.top{display:none!important}.guida .g-doc,.guida.wrap{max-width:none;padding:0}.guida .g-doc{border:0;box-shadow:none;font-size:11.5pt;background:#fff}.g-cover{margin:0 0 10mm;padding:40mm 14mm 30mm;min-height:120mm}.g-toc{page-break-after:always;break-after:page}.g-chapter{page-break-before:always;break-before:page;margin-top:0}.g-chapter h3{page-break-after:avoid;break-after:avoid}.g-faq dd,.g-fig,.g-legend li,.g-tip{page-break-inside:avoid;break-inside:avoid}.g-fig img{max-height:175mm;width:auto;box-shadow:none}.g-fig.medium img{max-height:150mm}.g-doc a,.g-toc a{color:inherit;text-decoration:none}}header.top .feedback-btn{background:transparent;border-color:rgb(255 255 255/.35);color:#f4f5f1}header.top .feedback-btn:hover{border-color:#f4f5f1}.fb-overlay{position:fixed;inset:0;z-index:4000;background:rgb(20 25 20/.55);display:grid;place-items:center;padding:16px;overflow-y:auto}.fb-box{position:relative;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;color:var(--ink);box-shadow:0 20px 60px rgb(0 0 0/.35)}.fb-close{position:absolute;top:10px;right:12px;font-size:20px}.fb-box textarea{display:block;width:100%;margin-top:4px;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);font:inherit;font-weight:400;resize:vertical}.fb-image{display:flex;gap:10px;align-items:center;margin:6px 0 12px}.fb-image img{max-width:160px;max-height:110px;border-radius:6px;border:1px solid var(--line)}.fb-trip{display:flex;gap:8px;align-items:flex-start;margin-bottom:14px}.fb-trip>input{display:inline;width:auto;flex:none;margin-top:3px}.fb-box .primary{width:100%}.fb-admin .fb-text{white-space:pre-wrap;margin:6px 0}.fb-admin .fb-item{border-top:1px solid var(--line);padding:14px 0}.fb-admin .fb-item.new{border-left:4px solid var(--cta);padding-left:12px}.cm-admin .fb-meta,.fb-admin .fb-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.cm-admin .fb-actions,.fb-admin .fb-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.fb-admin .fb-actions select{width:auto}.fb-admin img.fb-thumb{max-width:220px;max-height:160px;border-radius:6px;border:1px solid var(--line);display:block;margin:6px 0}.community .cm-hero h2{font-size:24px}.cm-filters{margin-top:4px}.cm-filters>summary{cursor:pointer;font-weight:800;color:var(--heading);margin-bottom:8px}.cm-group{margin-bottom:6px}.cm-group>.small{display:block;margin-bottom:4px}.cm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:18px;gap:18px;margin-top:18px}.cm-grid .card+.card{margin-top:0}.cm-card{padding:0;overflow:hidden;color:inherit;text-decoration:none;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}.cm-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgb(60 50 30/.15)}.cm-card img,.cm-cover-blank{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.cm-cover-blank{display:grid;place-items:center;padding:12px;text-align:center;font-weight:800;color:#f4f5f1;background:var(--head)}.cm-card-body{padding:12px 14px 14px}.cm-card-body h3{margin:0 0 4px;font-size:17px;color:var(--heading)}.cm-card-body p{margin:0 0 2px}.cm-tags{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.cm-tags .tag{background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent);text-decoration:none}.cm-detail h2{font-size:26px;margin-bottom:4px}.cm-notes,.cm-summary{white-space:pre-wrap}.cm-map{height:380px}.cm-actions{gap:12px;margin-top:14px}.cm-actions,.cm-day h3{display:flex;flex-wrap:wrap;align-items:center}.cm-day h3{gap:8px;margin:0 0 8px;font-size:18px}.cm-day .small-num{width:34px;height:34px;font-size:15px}.cm-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px}.cm-photos figure{margin:0}.cm-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block}.cm-photos figcaption{font-size:13px;color:var(--muted);margin-top:4px}.cm-costs{margin-top:8px}.cm-publish .cm-form textarea{display:block;width:100%;margin-top:4px;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);font:inherit;font-weight:400}.cm-photo-pick{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}.cm-photo-pick label{position:relative;margin:0;width:96px;cursor:pointer;opacity:.55}.cm-photo-pick label.on{opacity:1}.cm-photo-pick .cm-nophoto,.cm-photo-pick img{display:block;width:96px;height:72px;object-fit:cover;border-radius:6px;border:2px solid transparent;background:var(--line)}.cm-photo-pick label.on img{border-color:var(--cta)}.cm-photo-pick input{position:absolute;top:4px;left:4px;width:auto;margin:0}.cm-check{display:flex;gap:8px;align-items:flex-start;margin-bottom:10px}.cm-check>input{display:inline;width:auto;flex:none;margin-top:3px}.cm-status.hidden,.cm-status.pending{color:var(--warn);font-weight:700}.cm-status.published{color:var(--ok);font-weight:700}.cm-status.rejected{color:var(--bad);font-weight:700}.cm-admin .cm-item{border-top:1px solid var(--line);padding:14px 0}.cm-admin .cm-item.hidden,.cm-admin .cm-item.pending{border-left:4px solid var(--cta);padding-left:12px}.cm-admin .cm-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.cm-admin .cm-thumbs figure{margin:0;width:120px}.cm-admin .cm-thumbs img{width:120px;height:90px;object-fit:cover;border-radius:6px;display:block}.st-totals{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.st-totals>div{flex:1 1 140px;border:1px solid var(--line);border-radius:10px;padding:10px 14px}.st-totals b{display:block;font-size:26px;color:var(--heading)}.st-totals span{font-size:13px;color:var(--muted)}.st-chart{gap:2px;height:140px;padding:6px 0;border-bottom:1px solid var(--line)}.st-chart,.st-day{display:flex;align-items:flex-end}.st-day{position:relative;flex:1 1;height:100%}.st-day i{display:block;width:100%;min-height:1px;border-radius:3px 3px 0 0;background:var(--accent)}.st-day em{position:absolute;top:0;left:50%;transform:translateX(-50%);font-style:normal;font-size:11px;font-weight:800;color:var(--cta)}.st-axis{display:flex;justify-content:space-between;margin:4px 0 14px}.st-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px}.st-list td{padding:3px 4px}.fb-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}:root{--tl-fill:#ece5d8;--tl-fill-line:#ddd3c1;--tl-dark:#1f2a1f;--tl-drive:#d9622b;--tl-visit:#2c5a3f;--tl-grey:#b5aa96;--tl-bad-bg:#f8dcd6;--tl-good-bg:#e2efe3}@media (prefers-color-scheme:dark){:root{--tl-fill:#2c3236;--tl-fill-line:#3b4247;--tl-dark:#e9ece6;--tl-drive:#e8783f;--tl-visit:#3fb57a;--tl-grey:#6d746f;--tl-bad-bg:#4a2420;--tl-good-bg:#1f3a2a}}.serif{font-family:Georgia,Times New Roman,serif;letter-spacing:0}h2.serif{font-size:26px;font-weight:700;color:var(--ink)}.pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.pill{border:1px solid var(--tl-fill-line);background:var(--tl-fill);border-radius:999px;padding:6px 14px 5px;font-size:13.5px;font-weight:600}.pill.strong{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:800}.pill.good{background:var(--tl-good-bg)}.pill.bad{background:var(--tl-bad-bg);border-color:color-mix(in srgb,var(--bad) 35%,transparent)}.sum-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px}.seg2{display:inline-flex;gap:8px;margin-right:auto}.pill-btn,.seg2 button,.tl-pill-btn{border-radius:999px;border:1px solid var(--tl-fill-line);background:var(--tl-fill);min-height:38px;padding:4px 18px;font-size:14px;font-weight:700;color:var(--ink)}.seg2 button.on,.tl-pill-btn.on{background:var(--tl-dark);border-color:var(--tl-dark);color:var(--card)}.sum-budget{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.sum-budget input{width:7.5em;border-radius:999px}.sum-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);grid-gap:20px;gap:20px}.sum-sub{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px}.cat-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.cat-tile{background:var(--tl-fill);border:1px solid var(--tl-fill-line);border-radius:12px;padding:9px 14px 10px;display:grid;grid-template-columns:1fr auto;align-items:baseline;grid-gap:6px 8px;gap:6px 8px;font-size:14px}.cat-tile .cat-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-tile b,.hbar-val b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cat-bar,.hbar-track{height:7px;border-radius:4px;background:var(--tl-fill-line);overflow:hidden}.cat-bar{grid-column:1/-1}.cat-bar i,.hbar-track i{display:block;height:100%;background:var(--tl-grey)}.first .cat-bar i,.first .hbar-track i{background:var(--tl-drive)}.second .cat-bar i,.second .hbar-track i{background:var(--tl-visit)}.hbars{display:grid;grid-gap:9px;gap:9px;background:var(--tl-fill);border:1px solid var(--tl-fill-line);border-radius:12px;padding:14px 16px 10px}.hbar{display:grid;grid-template-columns:minmax(0,8.5em) 1fr auto;align-items:center;grid-gap:10px;gap:10px;font-size:13px}.hbar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-val{text-align:right;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:6.5em}.hbar-val b{color:var(--ink)}.hbar-foot{border-top:1px solid var(--tl-fill-line);margin:4px 0 0;padding-top:8px}.timeline .table-head{align-items:center;margin-bottom:6px}.timeline .table-head h2{margin:0;font-size:22px}.tl-day{border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:14px;margin-top:12px;background:var(--card);overflow:hidden}.tl-day.ret{border-left-color:var(--ret)}.tl-day.opened{box-shadow:0 3px 10px rgb(0 0 0/.08)}.tl-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px 16px;gap:12px 16px;align-items:center;padding:14px 16px 6px}.tl-badges{display:flex;gap:6px}.tl-sq{display:grid;place-items:center;min-width:52px;height:52px;padding:0 6px;border-radius:10px;color:#fff;line-height:1.05;text-align:center}.tl-sq b{font-size:15px}.tl-sq small{font-size:11px;opacity:.92}.tl-sq.drive{background:var(--tl-drive)}.tl-sq.visit{background:var(--tl-visit)}.tl-sq.pass{background:var(--tl-grey)}.tl-route{font-size:16px;font-weight:700;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}.tl-route .day-pin{min-width:22px;height:22px;font-size:11.5px}.tl-km{font-weight:400;font-size:13px}.tl-km,.tl-meta{color:var(--muted)}.tl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:4px}.tl-meta b{color:var(--ink)}.tl-meta .mode{margin:0}.tl-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.tl-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--tl-fill-line);background:var(--tl-fill);border-radius:999px;padding:6px 14px 5px;font-size:13.5px;white-space:nowrap}.tl-pill.over{background:var(--tl-bad-bg)}.tl-stay-pick select{border:0;background:transparent;min-height:0;padding:0 4px;font-weight:700;max-width:15em}.tl-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:2px 16px 12px}.tl-ok{border-radius:999px;padding:3px 12px 2px;font-size:12.5px;font-weight:700;background:var(--tl-good-bg);color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 30%,transparent)}.tl-ok.bad{background:var(--tl-bad-bg);color:var(--bad);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}.tl-note{color:var(--muted)}.tl-spend{color:var(--ok)}.tl-stay{gap:6px;margin-left:auto;color:var(--muted)}.tl-stay,.tl-stay .c-stay{display:inline-flex;align-items:center}.tl-stay .c-stay{gap:8px}.tl-notes:not(:empty){padding:0 16px 10px}.tl-notes .tips{margin:2px 0}.tl-editor{background:var(--tl-fill);border-top:1px solid var(--tl-fill-line);padding:16px}.cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.cat-box{display:flex;flex-direction:column;justify-content:space-between;gap:8px;background:var(--card);border:1px solid var(--tl-fill-line);border-radius:12px;padding:10px 12px;font-size:13.5px;font-weight:700}.cat-box.edited{border-color:var(--accent)}.cat-box-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.cat-hint{font-size:11.5px;text-align:right}.cat-box-input,.cat-hint{font-weight:400;color:var(--muted)}.cat-box-input{display:flex;align-items:center;gap:6px}.cat-box-input input{flex:1 1;width:100%;background:var(--tl-fill);border-color:var(--tl-fill-line);text-align:left}.cat-box.zero .cat-box-input input{color:var(--muted)}.tl-foot{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.tl-foot .tl-pill{background:var(--card);border-radius:12px;padding:9px 14px}.tl-lines{margin-top:12px;border:1px solid var(--tl-fill-line);border-radius:12px;background:var(--card);padding:8px 12px}.tl-lines>summary{cursor:pointer;font-weight:700}.tl-editor .food-finder,.tl-editor .sight-finder,.tl-editor .stay-finder{background:var(--card);border-radius:12px;padding:10px 12px;margin-top:10px}.city-table td.chosen{font-weight:800;color:var(--heading)}.city-table .quota{display:inline-flex;align-items:center;gap:4px}.city-table .quota input{width:6.5em}.city-table .quota input.custom{border-color:var(--accent);font-weight:700}.tl-over{color:var(--bad);font-weight:700}@media (max-width:1100px){.tl-head{grid-template-columns:auto minmax(0,1fr)}.tl-actions{grid-column:1/-1;justify-content:flex-start}.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.sum-grid{grid-template-columns:1fr}}@media (max-width:600px){h2.serif{font-size:22px}.cat-tiles{grid-template-columns:1fr}.tl-head{padding:12px 12px 6px;gap:10px}.tl-sq{min-width:44px;height:44px}.tl-sub{padding:2px 12px 10px}.tl-stay{margin-left:0}.tl-pill{white-space:normal}.cat-grid{grid-template-columns:1fr}}.timeline{container-type:inline-size}.tl-main{min-width:0}@container (max-width: 980px){.tl-head{grid-template-columns:auto minmax(0,1fr)}.tl-actions{grid-column:1/-1;justify-content:flex-start}.tl-editor .cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (max-width: 640px){.tl-editor .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 420px){.tl-editor .cat-grid{grid-template-columns:1fr}}.cat-box-head>span:first-child{white-space:nowrap}@container (max-width: 480px){.tl-head{grid-template-columns:1fr}.tl-stay-pick{width:100%}.tl-stay-pick>span{white-space:nowrap}.tl-stay-pick select{flex:1 1;max-width:none}}.rv7{--v7-surface:#fffcf7;--v7-surface-2:#eee7dd;--v7-surface-3:#e4d9c8;--v7-text:#1e2a1a;--v7-bg:#f6f1eb;--v7-border:#d8ccb8;--v7-border-strong:#b8a995;--v7-accent:#e07a3f;--v7-accent-2:#2d5a3d;--v7-muted-2:#9aa89a;--v7-danger:#b91c1c;background:var(--v7-surface);border:1px solid var(--v7-border);border-radius:24px;padding:24px;box-shadow:0 2px 16px rgba(30,42,26,.08);color:var(--v7-text);line-height:1.5}@media (prefers-color-scheme:dark){.rv7{--v7-surface:#1e2a1a;--v7-surface-2:#253324;--v7-surface-3:#2f422d;--v7-text:#e8e2d9;--v7-bg:#141a13;--v7-border:#2f422d;--v7-border-strong:#445a42;--v7-accent-2:#7ab88f;--v7-muted-2:#6b7a67;--v7-danger:#f87171;box-shadow:0 2px 24px rgba(0,0,0,.3)}}.rv7,.rv7 button{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.rv7 .rv7-sub,.rv7 .rv7-title{font-family:Georgia,Fraunces,serif}.rv7-head{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:flex-start}.rv7 .rv7-title{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.5;color:var(--v7-text);margin:0}.rv7-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.rv7-pill{padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:500;line-height:1.5;border:1px solid var(--v7-border);background:var(--v7-surface-2)}.rv7-pill.dark{background:var(--v7-accent-2);border-color:var(--v7-accent-2);color:#fff;font-weight:700}.rv7-pill.bad{background:color-mix(in srgb,var(--v7-danger) 15%,var(--v7-surface))}.rv7-pill.good{background:color-mix(in srgb,var(--v7-accent-2) 15%,var(--v7-surface))}.rv7-pill.light{font-weight:400}.rv7-switch{display:flex;gap:8px}.rv7 .rv7-switch button{padding:8px 16px;min-height:0;border-radius:9999px;font-size:12px;font-weight:600;line-height:1.5;border:1px solid var(--v7-border);background:var(--v7-surface-2);color:var(--v7-text);box-shadow:none}.rv7 .rv7-switch button.on{background:var(--v7-text);color:var(--v7-bg)}.rv7-grid{margin-top:20px;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px}.rv7 .rv7-sub{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.7;margin:0 0 12px;color:var(--v7-text)}.rv7-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.rv7-tile{border:1px solid var(--v7-border);background:var(--v7-surface-2);border-radius:12px;padding:8px 12px}.rv7-tile-row{display:flex;justify-content:space-between;gap:8px;font-size:12px}.rv7-tile-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv7-tile-val{font-weight:600;white-space:nowrap}.rv7-bar{margin-top:4px;height:6px;overflow:hidden;background:var(--v7-surface-3)}.rv7-bar,.rv7-bar i{display:block;border-radius:9999px}.rv7-bar i{height:100%;background:var(--v7-border-strong)}.rv7-tile.first .rv7-bar i{background:var(--v7-accent)}.rv7-tile.second .rv7-bar i{background:var(--v7-accent-2)}.rv7-chart{border:1px solid var(--v7-border);background:var(--v7-surface-2);border-radius:12px;padding:12px;display:grid;grid-gap:8px;gap:8px}.rv7-row{display:flex;align-items:center;gap:8px}.rv7-row-label{width:90px;flex-shrink:0;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv7-track{flex:1 1;height:8px;border-radius:9999px;background:var(--v7-surface-3)}.rv7-track i{display:block;height:100%;border-radius:9999px;background:var(--v7-muted-2);transition:all .15s}.rv7-row.first .rv7-track i{background:var(--v7-accent)}.rv7-row.second .rv7-track i{background:var(--v7-accent-2)}.rv7-row-val{width:70px;flex-shrink:0;text-align:right;font-size:11px;white-space:nowrap}.rv7-row-val,.rv7-row-val b{font-weight:600}.rv7-row-val span{opacity:.5}.rv7 .rv7-foot{padding-top:8px;margin:0;border-top:1px solid var(--v7-border);font-size:11px;opacity:.7}.rv7 .rv7-note{margin:16px 0 0;font-size:11px;opacity:.7}.rv7{container-type:inline-size}@container (min-width: 760px){.rv7-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}@container (max-width: 520px){.rv7-tiles{grid-template-columns:1fr}}.tl-tools{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 14px}.wrap.app-wide{max-width:1600px}@media (min-width:1024px){.app-wide .layout{grid-template-columns:minmax(300px,4fr) minmax(0,8fr)}}@media (min-width:1280px){.app-wide .layout{grid-template-columns:minmax(320px,3fr) minmax(0,9fr)}}.rv7-head>div:first-child{flex:1 1 100%;min-width:0}.rv7-pills{flex-wrap:nowrap;align-items:stretch}.rv7-pill{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:18px}@container (max-width: 520px){.rv7-pills{flex-wrap:wrap}}.rv7-head{flex-wrap:nowrap;align-items:flex-end}.rv7-head>div:first-child{flex:1 1 auto}.rv7-switch{flex-shrink:0}.rv7 .rv7-switch button{height:100%;min-height:36px}@container (max-width: 700px){.rv7-head{flex-wrap:wrap}.rv7-head>div:first-child{flex-basis:100%}}.rv7-pills .rv7-switch{margin-left:auto;align-items:stretch}.rv7 .rv7-pills .rv7-switch button{height:auto;min-height:0;padding:4px 16px;white-space:nowrap}.rv7-two{display:flex;flex-direction:column;align-items:center;line-height:1.35}.rv7-pills .rv7-switch{flex-shrink:1;min-width:0}.rv7 .rv7-pills .rv7-switch button{white-space:normal;line-height:1.35;min-width:5.5em}.rv7-two>span{white-space:nowrap}.rv7-two>br{display:none}.tl7{--v7-surface:#fffcf7;--v7-surface-2:#eee7dd;--v7-surface-3:#e4d9c8;--v7-text:#1e2a1a;--v7-bg:#f6f1eb;--v7-border:#d8ccb8;--v7-border-strong:#b8a995;--v7-accent:#e07a3f;--v7-accent-2:#2d5a3d;--v7-success:#2d5a3d;--v7-danger:#b91c1c;--v7-ret:#2d5d8a;--v7-shadow:0 2px 16px rgba(30,42,26,0.08);margin-top:18px;display:grid;grid-gap:12px;gap:12px;color:var(--v7-text);line-height:1.5;container-type:inline-size}@media (prefers-color-scheme:dark){.tl7{--v7-surface:#1e2a1a;--v7-surface-2:#253324;--v7-surface-3:#2f422d;--v7-text:#e8e2d9;--v7-bg:#141a13;--v7-border:#2f422d;--v7-border-strong:#445a42;--v7-accent-2:#7ab88f;--v7-success:#7ab88f;--v7-danger:#f87171;--v7-ret:#86aaf0;--v7-shadow:0 2px 24px rgba(0,0,0,0.3)}}.tl7,.tl7 button,.tl7 input,.tl7 select{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.tl7-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:0 4px}.tl7 .tl7-title{font-family:Georgia,Fraunces,serif;font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--v7-text);margin:0}.tl7-tools,.tl7-tools .tl-tools{display:inline-flex;flex-wrap:wrap;gap:4px 12px;font-size:11px}.tl7-tools .link{font-size:11px;opacity:.8}.tl7-card{background:var(--v7-surface);border-radius:18px;box-shadow:var(--v7-shadow);overflow:hidden;border:1px solid var(--v7-border);border-left:4px solid var(--v7-accent-2)}.tl7-card.ret{border-left-color:var(--v7-ret)}.tl7-top{padding:16px;flex-wrap:wrap;justify-content:space-between}.tl7-left,.tl7-top{display:flex;gap:12px;align-items:flex-start}.tl7-left{min-width:0;flex:1 1 320px}.tl7-badges{gap:6px}.tl7-badges,.tl7-sq{display:flex;flex-shrink:0}.tl7-sq{width:48px;height:48px;border-radius:12px;flex-direction:column;align-items:center;justify-content:center;color:#fff}.tl7-sq b{font-size:11px;font-weight:700;line-height:1}.tl7-sq small{font-size:10px;opacity:.8}.tl7-sq.drive{background:var(--v7-accent)}.tl7-sq.visit{background:var(--v7-accent-2)}.tl7-sq.pass{background:var(--v7-border-strong)}.tl7-text{min-width:0}.tl7-route{font-size:14px;font-weight:600;line-height:1.25}.tl7-route .route-from{opacity:.6}.tl7-route .day-pin{min-width:20px;height:20px;font-size:11px;border-width:1.5px;vertical-align:1px}.tl7-km{margin-left:4px;font-size:12px;font-weight:400;opacity:.6}.tl7-meta{margin-top:4px;font-size:12px;opacity:.7}.tl7-leg{margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:11px}.tl7-leg .mode{margin:0;font-size:11px}.tl7-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tl7 .tl7-pill{display:inline-flex;align-items:center;gap:8px;border-radius:9999px;border:1px solid var(--v7-border);background:var(--v7-surface-2);padding:6px 12px;font-size:12px;line-height:1.5;color:var(--v7-text);min-height:0;white-space:nowrap;box-shadow:none}.tl7 .tl7-pill.strong{font-weight:600}.tl7 .tl7-pill.over{background:color-mix(in srgb,var(--v7-danger) 15%,var(--v7-surface))}.tl7 .tl7-btn.on{background:var(--v7-text);color:var(--v7-bg)}.tl7-stay select{background:transparent;border:0;padding:0;min-height:0;height:auto;font-size:12px;font-weight:600;color:var(--v7-text);max-width:16em}.tl7-status{padding:0 16px 12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px}.tl7-ok{padding:4px 10px;border-radius:9999px;border:1px solid var(--v7-border);background:var(--v7-surface-2);color:var(--v7-success);font-weight:500}.tl7-ok.bad{color:var(--v7-danger)}.tl7-faint{opacity:.6}.tl7-spend{color:var(--v7-success)}.tl7-staydays{margin-left:auto;gap:6px;opacity:.8}.tl7-staydays,.tl7-staydays .c-stay{display:inline-flex;align-items:center}.tl7-staydays .c-stay{gap:8px}.tl7-staydays .mini-stepper button{min-height:22px;padding:0 6px;font-size:13px}.tl7-notes:not(:empty){padding:0 16px 12px;font-size:12px}.tl7-notes .tips{margin:2px 0}.tl7-panel{border-top:1px solid var(--v7-border);padding:16px;background:color-mix(in srgb,var(--v7-surface-2) 60%,var(--v7-surface))}.tl7-panel .cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.tl7-panel .cat-box{background:var(--v7-surface);border:1px solid var(--v7-border);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600}.tl7-panel .cat-box.edited{border-color:var(--v7-accent-2)}.tl7-panel .cat-box-head{display:flex;justify-content:space-between;gap:6px}.tl7-panel .cat-box-head>span:first-child{white-space:nowrap}.tl7-panel .cat-hint{font-size:10px;font-weight:400;opacity:.5;color:inherit;text-align:right}.tl7-panel .cat-box-input{display:flex;align-items:center;gap:8px;font-weight:400;color:inherit}.tl7-panel .cat-box-input input{width:100%;flex:1 1;border-radius:8px;border:1px solid var(--v7-border);background:var(--v7-surface-2);padding:6px 10px;font-size:13px;min-height:0;text-align:left;color:var(--v7-text)}.tl7-panel .cat-box-input>span{font-size:12px;opacity:.6}.tl7-foot{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px;margin-top:12px}.tl7-box{padding:8px 12px;border-radius:12px;border:1px solid var(--v7-border);background:var(--v7-surface);font-size:12px}.tl7-box.bold{font-weight:700}.tl7-box.over{color:var(--v7-danger)}.tl7-panel .food-finder,.tl7-panel .sight-finder,.tl7-panel .stay-finder,.tl7-panel .tl-lines{background:var(--v7-surface);border:1px solid var(--v7-border);border-radius:12px;padding:10px 12px;margin-top:12px}@container (max-width: 1000px){.tl7-panel .cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (max-width: 760px){.tl7-panel .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 480px){.tl7-panel .cat-grid{grid-template-columns:1fr}.tl7-staydays{margin-left:0}.tl7 .tl7-pill{white-space:normal}}.tl7-stay select{max-width:12.5em;text-overflow:ellipsis}.tl7-km{white-space:nowrap}.tl7-badges{position:relative}.tl7-pin{position:absolute;top:-7px;left:-7px;z-index:1;line-height:0}.tl7-pin .day-pin{min-width:18px;height:18px;padding:0 3px;font-size:10px;border-width:1.5px}.tl7-route{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px}.tl7-route .city-btn{font-size:0;padding:0;min-height:0;text-decoration:none}.tl7-route .city-btn span{font-size:14px}.tl7-route .stage-tools{display:inline-flex;gap:2px;margin:0}.tl7-route .stage-tools button{min-height:0;min-width:0;height:18px;width:18px;padding:0;font-size:9px;line-height:1;border-radius:5px;opacity:.45}.tl7-route .stage-tools button:hover:not(:disabled){opacity:1}.tl7-km{margin-left:0}.tl7-meta .tl7-leg{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 0 6px;vertical-align:1px}.tl7-meta .tl7-leg .tag{font-size:10px;padding:0 5px}.tl7-meta .tl7-leg .mode{font-size:11px;margin:0}.tl7-meta .tl7-leg select.mode-pick{min-height:0;height:20px;padding:0 4px;font-size:11px}.tl7-staydays .pass-pick{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.tl7-panel>.tl7-notes:not(:empty){padding:0 0 12px}.tl7-route .tl7-leg{display:inline-flex;align-items:center;gap:4px;font-weight:400;font-size:11px}.tl7-route .tl7-leg .tag{font-size:10px;padding:0 5px}.tl7-route .tl7-leg .mode{font-size:11px;margin:0}.tl7-card.one-mode .tl7-leg span.mode:not(.road){display:none}.tl7-badges{flex-wrap:wrap;width:min-content;row-gap:6px}.tl7-under{flex-basis:100%;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;white-space:nowrap}.tl7-under .tag{font-size:10px;padding:1px 6px 0}.tl7-date{opacity:.75}.tl7-route .tl7-leg .tag{display:none}.tl7-actions{align-items:stretch;justify-content:flex-end}.tl7 .tl7-actions>.tl7-pill{height:36px;box-sizing:border-box;padding-top:0;padding-bottom:0;align-items:center}.tl7-stay select{max-width:11em}.tl7-grid{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-gap:10px 14px;gap:10px 14px;align-items:start;padding:16px 16px 10px}.tl7-grid .tl7-badges{flex-wrap:nowrap;width:auto}.tl7-grid .tl7-under{align-self:center;justify-self:center;flex-direction:column}.tl7-grid .tl7-actions{justify-content:flex-start}.tl7-line1{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}.tl7-line1 .tl7-route{min-width:0}.tl7-line1 .tl7-staydays{margin-left:auto;font-size:11px}.tl7 .tl7-stay select{margin:0;align-self:center;line-height:1.5}.tl7 .tl7-stay.lodging select{max-width:19em}.tl7-left-ok{color:var(--v7-success)}.tl7-left-bad{color:var(--v7-danger)}.tl7-grid{padding-bottom:16px}.tl7-grid .tl7-actions{flex-wrap:nowrap;min-width:0}.tl7 .tl7-actions>.tl7-stay{flex:0 1 auto;min-width:0}.tl7 .tl7-actions>.tl7-stay>span{flex:none}.tl7 .tl7-actions>.tl7-stay select{min-width:7.5em;width:100%;overflow:hidden;text-overflow:ellipsis}.tl7 .tl7-actions>.tl7-pill:not(.tl7-stay){flex:none}@container (max-width: 1000px){.tl7-grid .tl7-actions{flex-wrap:wrap}}.tl7 .tl7-btn{background:color-mix(in srgb,var(--v7-accent) 22%,var(--v7-surface));border-color:var(--v7-accent);cursor:pointer}.tl7 .tl7-btn:hover{background:color-mix(in srgb,var(--v7-accent) 35%,var(--v7-surface))}.tl7 .tl7-btn.on{background:var(--v7-accent);border-color:var(--v7-accent);color:#fff}.cat-tap-hint{margin:0 0 8px;font-size:11px;opacity:.6}.tl7-panel .cat-box-head{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;margin:0;min-height:0;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;box-shadow:none}.tl7-panel .cat-box-head:disabled{cursor:default}.tl7-panel .cat-box-head:hover:not(:disabled)>span:first-child{text-decoration:underline}.cat-arrow{font-size:9px;opacity:.6}.tl7-panel .cat-box.open{border-color:var(--v7-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--v7-accent) 35%,transparent)}.cat-detail{margin-top:12px;background:var(--v7-surface);border:1px solid var(--v7-accent);border-radius:12px;padding:12px 14px}.cat-detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px}.cat-detail .food-finder,.cat-detail .sight-finder,.cat-detail .stay-finder{border:0;padding:0;margin:0 0 12px;background:transparent}.cat-detail .cost-options:empty{display:none}.tl7 .tl7-reset{cursor:pointer;min-height:0;font:inherit;font-size:12px;color:var(--v7-text);margin-left:auto}.tl7-places{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px}.tl7-places a{text-decoration:none;color:var(--v7-accent-2);font-weight:600}.tl7-places a:hover{text-decoration:underline}.cost-nav{margin-left:8px;font-size:12px;white-space:nowrap}.food-people{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:6px 0 8px;font-size:13px;font-weight:600}.food-people .small,.food-per{font-weight:400}.food-per{display:block;font-size:11px;opacity:.7}.tl7-panel .tl7-notes .day-plan{display:none}.cost-people{display:inline-flex;align-items:center;gap:4px;margin-left:10px;font-size:12px;white-space:nowrap}.cost-people .mini-stepper button{min-height:24px;padding:0 7px}.cat-detail .stay-finder .stay-chosen{display:none}.cost-stay{display:block;margin-top:2px;font-size:12px}.cat-detail .stay-finder .ext-links{display:flex;flex-wrap:nowrap;gap:8px}.cat-detail .stay-finder .ext-links .under{grid-column:auto}.cat-detail .stay-finder a.button.ext-link{white-space:nowrap}.stay-split{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:8px 0;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:13px}.stay-split select{width:auto;min-height:0;height:28px;margin:0;padding:0 6px}.stay-split .small{flex-basis:100%}.stay-buttons{display:flex;flex-direction:column;align-items:stretch;gap:4px}.stay-buttons .split-btn{font-size:12px;min-height:30px;padding:2px 10px}.night-plan{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:10px 0;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:13px}.night-plan ol{margin:0;padding-left:18px}.night-plan select{width:auto;min-height:0;height:28px;margin:0 4px;padding:0 6px}.night-plan ol{list-style:none;padding-left:0}.np-pick{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px}.np-pick button{min-width:36px;min-height:34px;padding:0 8px;font-weight:700}.np-pick select{width:auto;min-height:34px;margin:0}.night-plan li{margin:2px 0}.night-plan li a{white-space:nowrap}.cost-lines .cost-stay{display:inline;margin:0 0 0 10px}.sosta-pin{background:none;border:0}.sosta-pin span{display:inline-flex;align-items:center;justify-content:center;gap:2px;height:22px;padding:0 6px;border-radius:11px;background:#7c3aed;border:2px solid #fff;color:#fff;font:800 11px/1 var(--font);white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.4)}.map-legend{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;margin:0 0 6px}.map-legend span{display:inline-flex;align-items:center;gap:5px}.map-legend i{font-style:normal}.map-legend .lg-stage{justify-content:center;width:18px;border-radius:50%;border:2px solid var(--accent);color:var(--accent);background:#fff}.map-legend .lg-sosta,.map-legend .lg-stage{display:inline-flex;align-items:center;height:18px;font:800 10px/1 var(--font)}.map-legend .lg-sosta{padding:0 5px;border-radius:9px;background:#7c3aed;color:#fff}.map-legend .lg-line{display:inline-block;width:26px;border-top:3px solid var(--accent)}.map-legend .lg-line.sosta{border-top:3px dashed #7c3aed}.night-plan .np-concept{display:block;opacity:.8}.map-legend .lg-line.ret{border-top:3px dashed var(--ret)}.city-btn span{font-size:22px}.tl7-route .city-btn{border:0;background:transparent;align-self:center}.tl7-route .city-btn span{font-size:24px;line-height:1;transition:transform .15s}.tl7-route .city-btn:hover{background:transparent}.tl7-route .city-btn:hover span{transform:scale(1.15)}.tl7-grid .tl7-under{justify-self:start;align-items:flex-start;font-size:12.5px;gap:4px}.tl7-grid .tl7-under .tag{font-size:11.5px;padding:2px 8px 1px}.tl7-grid .tl7-under{align-self:start;margin-top:-4px}.tl7-grid .tl7-left{grid-column:1;grid-row:1/span 2;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.tl7-grid .tl7-text{grid-column:2;grid-row:1}.tl7-grid .tl7-actions{grid-column:2;grid-row:2}.tl7-grid .tl7-left .tl7-under{margin-top:0;align-self:flex-start}@container (max-width: 560px){.tl7-grid{grid-template-columns:minmax(0,1fr)}.tl7-grid .tl7-left{grid-row:1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 10px}.tl7-grid .tl7-left .tl7-under{align-self:center}.tl7-grid .tl7-text{grid-column:1;grid-row:2}.tl7-grid .tl7-actions{grid-column:1;grid-row:3}}form.side{--v7-surface:#fffcf7;--v7-surface-2:#eee7dd;--v7-text:#1e2a1a;--v7-muted:#6b6255;--v7-bg:#f6f1eb;--v7-border:#d8ccb8;--v7-border-strong:#b8a995;--v7-accent:#e07a3f;--v7-accent-2:#2d5a3d;--v7-ret:#2d5d8a;--v7-shadow:0 2px 16px rgba(30,42,26,0.08);counter-reset:v7step;color:var(--v7-text)}@media (prefers-color-scheme:dark){form.side{--v7-surface:#1e2a1a;--v7-surface-2:#253324;--v7-text:#e8e2d9;--v7-muted:#b3ab9f;--v7-bg:#141a13;--v7-border:#2f422d;--v7-border-strong:#445a42;--v7-accent-2:#7ab88f;--v7-ret:#86aaf0;--v7-shadow:0 2px 24px rgba(0,0,0,0.3)}}form.side .card{background:var(--v7-surface);border:1px solid var(--v7-border);border-radius:16px;box-shadow:var(--v7-shadow);padding:20px}form.side .card+.card{margin-top:16px}form.side .card>h2{counter-increment:v7step;display:flex;align-items:center;gap:10px;font-family:Georgia,Fraunces,serif;font-size:19px;font-weight:700;color:var(--v7-text);letter-spacing:0;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--v7-border)}form.side .card>h2:before{content:counter(v7step);flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--v7-accent);color:#fff;font:700 13px/1 var(--font)}form.side .field-label,form.side label{color:var(--v7-muted);font-size:12.5px;font-weight:600}form.side input:not([type=checkbox]):not([type=radio]):not([type=file]),form.side select{background:var(--v7-bg);border:1px solid var(--v7-border);border-radius:10px;color:var(--v7-text);min-height:38px}form.side input:not([type=checkbox]):not([type=radio]):not([type=file]):hover,form.side select:hover{border-color:var(--v7-border-strong)}form.side input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,form.side select:focus{border-color:var(--v7-accent);background:var(--v7-surface);outline:3px solid color-mix(in srgb,var(--v7-accent) 25%,transparent);outline-offset:0}form.side .stepper button{background:var(--v7-surface-2);border:1px solid var(--v7-border);color:var(--v7-text);font-weight:700}form.side .stepper button:first-child{border-radius:10px 0 0 10px}form.side .stepper button:last-child{border-radius:0 10px 10px 0}form.side .stepper input{border-radius:0}form.side .chip{border-radius:9999px;border:1px solid var(--v7-border);background:var(--v7-surface-2);color:var(--v7-text);padding:6px 13px;font-size:12.5px}form.side .chip:hover{border-color:var(--v7-border-strong)}form.side .chip.on,form.side .chip:has(input:checked){background:var(--v7-accent-2);border-color:var(--v7-accent-2);color:#fff}form.side .chip input{accent-color:var(--v7-accent-2)}form.side .chip:has(input:checked) input{accent-color:#fff}form.side p.help,form.side p.small.help{background:var(--v7-bg);border:1px solid color-mix(in srgb,var(--v7-border) 60%,transparent);border-radius:10px;padding:8px 11px;font-size:12px;line-height:1.5;color:var(--v7-muted);margin-top:10px}form.side table.mix th{color:var(--v7-muted);font-size:11.5px;font-weight:600}form.side table.mix td{border-bottom:1px solid color-mix(in srgb,var(--v7-border) 60%,transparent)}form.side .stop{background:var(--v7-bg);border:1px solid var(--v7-border);border-left:4px solid var(--v7-accent-2);border-radius:12px;padding:12px}form.side .stop.ret{border-left-color:var(--v7-ret)}form.side .stop .row{background:var(--v7-surface);border-radius:10px}form.side button:not(.link):not(.chip){border-radius:10px}form.side button[type=submit]{border-radius:9999px;min-height:46px;font-size:16px;box-shadow:0 2px 10px color-mix(in srgb,var(--v7-accent) 35%,transparent)}form.side .chip.stop-pass,form.side .dest-stay .chip{border-radius:10px}form.side .chip{border-radius:6px;padding:3px 11px;line-height:1.4}form.side .chip input{min-height:0;height:auto}form.side .chip.stop-pass,form.side .dest-stay .chip{border-radius:6px}.lbl-ico{display:inline-block;margin-right:5px;font-size:14px;line-height:1;vertical-align:-1px}form.side .card{counter-reset:v7stop}form.side .stop:not(.dest-stay){counter-increment:v7stop}form.side .stop:not(.dest-stay):before{content:counter(v7stop);justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:var(--v7-accent-2);color:#fff;font:700 12px/1 var(--font)}form.side .stop.ret:not(.dest-stay):before{background:var(--v7-ret)}form.side input:not([type=checkbox]):not([type=radio]):not([type=file]),form.side select{min-height:34px;height:34px;padding:4px 10px;font-size:14px}form.side .stepper button{min-height:34px;height:34px;padding:0 10px;font-size:16px}form.side .stepper input{min-height:34px;height:34px;padding:2px 4px}form.side table.mix input:not([type=checkbox]){min-height:30px;height:30px;padding:3px 8px}form.side .chip{min-height:0}form.side button[type=submit]{min-height:44px}form.side :is(.grid2,.grid3)>.stepper-label,form.side :is(.grid2,.grid3)>label{align-self:end}.beta-band{background:#e07a3f;color:#fff;text-align:center;font-size:13.5px;line-height:1.45;padding:7px 16px}