:root{--bg:#fff;--fill:#f3f4f6;--text:#16181d;--muted:#6b7280;--line:#e5e7eb;--blue:#1a66e0;--on-blue:#fff;--blue-soft:#e8f0fd;--green:#0f7a4d;--green-soft:#e3f4ec;--red:#c0352b;--warn-bg:#fff6dd;--warn-text:#7a5200;--scrim:#10111473;--r:14px;-webkit-text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/1.5 -apple-system,BlinkMacSystemFont,PingFang TC,Noto Sans TC,system-ui,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101114;--fill:#1c1e23;--text:#f1f2f4;--muted:#9aa0aa;--line:#2a2d34;--blue:#6aa5ff;--on-blue:#0b1220;--blue-soft:#18263d;--green:#5fd09a;--green-soft:#14301f;--red:#ff8a80;--warn-bg:#33290f;--warn-text:#f0cf7a;--scrim:#0009}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3,h4,p,ol,ul,dl,dd{margin:0;padding:0}ol,ul{list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.icon{flex:none}.page,.sheet{max-width:680px;padding:calc(env(safe-area-inset-top) + 8px) 16px calc(env(safe-area-inset-bottom) + 40px);margin:0 auto}.sheet{background:var(--bg);z-index:30;max-width:none;position:fixed;inset:0;overflow-y:auto}.sheet>*{max-width:648px;margin-left:auto;margin-right:auto}.top{justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}h1{letter-spacing:-.01em;font-size:28px;line-height:1.25}h2{margin:32px 0 8px;font-size:19px}.top h2{margin:0}h3{font-size:16px;line-height:1.4}h4{color:var(--muted);font-size:13px;font-weight:500}.country{margin-top:16px}.lead{margin-top:8px}.sub{margin-top:2px}.link{color:var(--blue);align-items:center;gap:4px;display:inline-flex}.link.danger,.error{color:var(--red)}.link.center{justify-content:center;width:100%;padding:14px 0;display:flex}.muted{color:var(--muted);font-size:14px}.grow{flex-direction:column;flex:1;min-width:0;display:flex}.grow>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.error{margin-top:12px;font-size:15px}.ok{color:var(--green)}.iconbtn{width:40px;height:40px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;margin:0 -8px;display:inline-flex}.iconbtn:active{background:var(--fill)}.iconbtn.small{width:32px;height:32px;color:var(--muted);margin:-4px -6px -4px 0}.btn{background:var(--blue);min-height:40px;color:var(--on-blue);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:15px;font-weight:600;display:inline-flex}.btn.ghost{background:var(--blue-soft);color:var(--blue)}.btn.small{min-height:36px;padding:6px 12px}.btn.big{border-radius:12px;width:100%;min-height:50px;margin-top:20px;font-size:17px}.btn.wide{width:100%;margin-top:12px}.panelfoot .btn.big{margin-top:0}.searchbox{border-radius:var(--r);background:var(--fill);flex-direction:column;gap:12px;margin-top:4px;padding:14px;display:flex}.origin{background:var(--bg);width:100%;color:var(--blue);border-radius:10px;align-items:center;gap:10px;padding:12px 14px;display:flex}.origin strong{color:var(--text);flex:1;font-size:17px}.filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;display:flex}.seg{background:var(--line);border-radius:10px;padding:2px;display:flex}.searchbox>.seg button,.input .seg button{text-align:center;flex:1}.seg button{white-space:nowrap;color:var(--muted);border-radius:8px;padding:7px 14px;font-size:15px}.seg button[aria-pressed=true]{background:var(--bg);color:var(--text);font-weight:600}.check{white-space:nowrap;align-items:center;gap:8px;font-size:15px;display:flex}.check input{width:20px;height:20px;accent-color:var(--blue)}.chips{scrollbar-width:none;align-items:center;gap:8px;margin:0 -16px;padding:2px 16px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips>.muted{white-space:nowrap;flex:none}.searchbox .chips{margin:0 -14px;padding:2px 14px}.chips.wrap{flex-wrap:wrap;justify-content:center;margin:10px 0 0;padding:0}.chips.wrap.start{justify-content:flex-start;margin-top:0}.chips button{border:1px solid var(--line);background:var(--bg);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:4px;padding:7px 13px;font-size:14px;display:inline-flex}.chips button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}.banner{background:var(--warn-bg);color:var(--warn-text);border-radius:8px;margin-top:14px;padding:8px 12px;font-size:14px}.state{text-align:center;color:var(--muted);padding:40px 0}.note{color:var(--muted);margin-top:20px;font-size:13px}.photo{aspect-ratio:4/3;border-radius:var(--r);background:var(--fill);color:var(--muted);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.photo.wide{aspect-ratio:16/9}.photo.thumb{aspect-ratio:auto;border-radius:10px;flex:none;width:72px;height:72px}.photo img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .25s;position:absolute;inset:0}.photo img[data-ok=true]{opacity:1}.bigflag{font-size:44px;line-height:1}@media (prefers-reduced-motion:reduce){.photo img{transition:none}}.deal{flex-direction:column;gap:8px;min-width:0;display:flex;position:relative}.deal.hero{margin-top:20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;margin-top:24px;display:grid}@media (width>=600px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.dealtext{flex-direction:column;min-width:0;display:flex}.dealhead{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.dealhead strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.deal.hero .dealhead strong{font-size:20px}.deal.hero .price{font-size:22px}.dealtext .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dates{font-variant-numeric:tabular-nums;font-size:14px}.dates .muted{white-space:nowrap}.price{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px;font-weight:700}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.badge{background:var(--green-soft);color:var(--green);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600;position:absolute;top:10px;left:10px}.badge.inline{vertical-align:2px;margin-left:8px;position:static}.tag{background:var(--fill);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:1px 8px;font-size:12px}.skel{border-radius:var(--r);background:var(--fill);aspect-ratio:4/3;animation:1.2s ease-in-out infinite alternate pulse}.skel.wide{aspect-ratio:16/9;margin-top:20px}@keyframes pulse{to{opacity:.5}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.cityfares{border-bottom:1px solid var(--line);padding:12px 0}.cityhead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.option{background:var(--fill);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;display:flex}.optionmain{flex-direction:column;gap:2px;min-width:0;display:flex}.optionacts{flex:none;gap:6px;display:flex}.optionmain .price{color:var(--text)}.tabs{top:env(safe-area-inset-top);z-index:5;background:var(--bg);border-bottom:1px solid var(--line);scrollbar-width:none;gap:20px;margin:24px -16px 12px;padding:0 16px;display:flex;position:sticky;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{text-align:center;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;padding:12px 0}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--blue);font-weight:600}.tabbar{z-index:20;padding:6px 0 calc(env(safe-area-inset-bottom) + 6px);background:var(--bg);border-top:1px solid var(--line);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{width:104px;color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:12px;display:flex}.tabbar a[aria-current=page]{color:var(--blue);font-weight:600}.card{border-bottom:1px solid var(--line);padding:14px 0}.card p{margin-top:4px}.cardhead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.cards{gap:20px;margin-top:16px;display:grid}@media (width>=600px){.cards{grid-template-columns:1fr 1fr}}.pcard .photo{aspect-ratio:16/9}.pbody{margin-top:10px}.pbody p{margin-top:4px}.tipline{color:var(--muted);gap:6px;font-size:14px;display:flex}.tipline .icon{margin-top:3px}.plantitle{margin-top:16px}.slot{gap:12px;display:flex}.slot .muted{flex:none;width:4.5em;line-height:24px}.fact{border-bottom:1px solid var(--line);padding:14px 0}.fact>div{margin-top:2px}.line{display:block}.line+.line{margin-top:4px}.group{border-bottom:1px solid var(--line);justify-content:space-between;margin-top:24px;padding-bottom:6px;display:flex}.tiplist li{border-bottom:1px solid var(--line);padding:14px 0}.tiplist p{margin-top:2px}.prices>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.prices dd{text-align:right;font-weight:600}.list li+li{border-top:1px solid var(--line)}.row{align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 0;display:flex}.caticon{background:var(--fill);width:36px;height:36px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;display:flex}.amounts{flex-direction:column;align-items:flex-end;display:flex}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:48px 16px;display:flex}.empty h3{color:var(--text)}.empty .btn{margin-top:8px}.triplist .deal.hero+.deal.hero{margin-top:28px}.form{flex-direction:column;gap:16px;margin-top:16px;display:flex}.input{flex-direction:column;gap:6px;min-width:0;display:flex}.input>span{color:var(--muted);font-size:13px}.input small{color:var(--muted);font-size:12px}.input input,.input textarea,.keyrow input,.receipt input,.receipt select{border:1px solid var(--line);background:var(--bg);appearance:none;resize:none;border-radius:10px;outline:none;width:100%;min-height:44px;padding:10px 12px}.input input:focus,.input textarea:focus,.keyrow input:focus,.receipt input:focus{border-color:var(--blue)}.pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pair.acts{margin-top:16px}.stepper{align-items:center;gap:16px;display:flex}.stepper button{background:var(--fill);text-align:center;border-radius:50%;width:40px;height:40px;font-size:20px}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:1.5em;font-size:18px;font-weight:600}.callout{border-radius:var(--r);background:var(--fill);margin-top:24px;padding:16px}.keybox{flex-direction:column;align-items:flex-start;gap:10px;margin-top:8px;display:flex}.keyrow{gap:8px;width:100%;display:flex}.working{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:24px 0;display:flex}.spinner{border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.search{border:1px solid var(--line);background:var(--fill);appearance:none;border-radius:10px;outline:none;width:100%;margin-top:8px;padding:10px 12px}.search:focus{border-color:var(--blue)}.locate{padding:14px 0 6px;display:block}.field{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.field select{color:var(--blue);text-align:right;background:0 0;border:0;outline:none}.para{margin-top:12px}.scrim{z-index:40;background:var(--scrim);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.panel{background:var(--bg);border-radius:18px 18px 0 0;flex-direction:column;width:100%;max-width:560px;max-height:92dvh;display:flex}@media (width>=640px){.scrim{align-items:center}.panel{border-radius:18px;max-height:86dvh}}.panelhead{justify-content:space-between;align-items:center;padding:14px 20px 6px;display:flex}.panelhead h2{margin:0}.panelbody{padding:0 20px 20px;overflow-y:auto}.panelfoot{padding:12px 20px calc(env(safe-area-inset-bottom) + 12px);border-top:1px solid var(--line)}.tipbox{border-radius:var(--r);background:var(--fill);margin-top:16px;padding:0 14px}.tipbox summary{cursor:pointer;align-items:center;gap:8px;padding:14px 0;font-weight:600;list-style:none;display:flex}.tipbox summary::-webkit-details-marker{display:none}.tipbox summary:after{content:"›";color:var(--muted);margin-left:auto;font-size:20px;line-height:1;transition:transform .15s}.tipbox[open] summary:after{transform:rotate(90deg)}.tipbox .tiplist li{border-bottom:0;border-top:1px solid var(--line)}.day{margin-top:32px}.dayhead{align-items:center;gap:12px;display:flex}.daynum{background:var(--text);color:var(--bg);border-radius:8px;flex:none;padding:4px 10px;font-size:14px;font-weight:600}.dayhead strong{font-size:18px}.timeline{margin-top:12px}.timeline li{grid-template-columns:44px 28px minmax(0,1fr);gap:10px;padding-bottom:20px;display:grid;position:relative}.timeline li:not(:last-child):before{content:"";background:var(--line);width:2px;position:absolute;top:30px;bottom:2px;left:67px}.time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:3px;font-size:14px}.dot{background:var(--fill);width:28px;height:28px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.dot.sight{background:var(--blue-soft);color:var(--blue)}.stop{gap:12px;min-width:0;display:flex}.stoptext{flex:1;min-width:0}.stoptext p{margin-top:2px}.meta{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:14px;display:flex}.stayline{background:var(--fill);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.stayline .grow>*{white-space:normal}.dayacts{flex-wrap:wrap;gap:8px 20px;margin-top:12px;font-size:15px;display:flex}.map{border-radius:var(--r);background:var(--fill);height:min(42dvh,340px);margin-top:12px;overflow:hidden}.marker{background:var(--blue);width:28px;height:28px;color:var(--on-blue);cursor:pointer;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.marker.static{cursor:inherit;border-color:#0000;flex:none}.maplibregl-popup-content{font:inherit;color:#16181d;border-radius:10px;padding:10px 12px}.pop{flex-direction:column;gap:2px;font-size:14px;display:flex}.pop span{color:#6b7280}.pop a{color:#1a66e0}.stops{margin-top:8px}.flight{border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:10px;width:100%;margin-top:12px;padding:14px 16px;display:flex}.flighttop{justify-content:space-between;gap:12px;display:flex}.legs{align-items:center;gap:12px;display:flex}.leg{flex-direction:column;display:flex}.leg.end{align-items:flex-end}.leg b{letter-spacing:.02em;font-size:26px;line-height:1.2}.legline{color:var(--muted);border-top:1px dashed var(--line);flex:1;justify-content:center;align-items:center;height:0;display:flex}.legline .icon{background:var(--bg);box-sizing:content-box;padding:0 6px;transform:rotate(45deg)}.flightmeta{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding-top:10px;font-size:14px;display:flex}.total{flex-direction:column;gap:2px;margin-top:8px;display:flex}.total strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:36px;line-height:1.2}.tiles{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin-top:16px;display:grid}.tiles>div{background:var(--fill);border-radius:12px;padding:12px}.tiles dt{color:var(--muted);font-size:13px}.tiles dd{font-variant-numeric:tabular-nums;font-size:17px;font-weight:600}.legend{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.swatch{background:var(--blue);border-radius:2px;width:12px;height:8px}.tick{background:var(--text);width:2px;height:12px;margin-left:10px}.bars li{grid-template-columns:1fr auto;gap:4px 12px;padding:10px 0;display:grid}.barlabel{align-items:center;gap:6px;font-size:15px;display:flex}.barlabel .icon{color:var(--muted)}.barvalue{font-variant-numeric:tabular-nums;font-weight:600}.barvalue .muted{font-weight:400}.track{background:var(--fill);border-radius:4px;grid-column:1/-1;height:10px;position:relative}.bar{background:var(--blue);border-radius:4px;min-width:4px;position:absolute;top:0;bottom:0;left:0}.esttick{background:var(--text);width:2px;box-shadow:0 0 0 2px var(--bg);margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.barsub{grid-column:1/-1;font-size:13px}.receipt{flex-direction:column;gap:10px;display:flex}.receipt li{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding-bottom:10px;display:flex}.receiptrow{grid-template-columns:minmax(0,1fr) 104px 32px;align-items:center;gap:8px;display:grid}.receiptrow .iconbtn.small{margin:0}.receipt .num{text-align:right}.receipt select{width:auto;min-height:36px;color:var(--muted);align-self:flex-start;padding:6px 10px;font-size:14px}.datefield{border:1px solid var(--line);background:var(--bg);width:100%;min-height:60px;color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.datefield.single{border-radius:10px;justify-content:space-between;min-height:44px;padding:10px 12px}.datecell{flex-direction:column;min-width:0;display:flex}.datecell small{color:var(--muted);font-size:12px}.datefield b{color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.datefield.single b{font-weight:400}.datefield b[data-empty=true]{color:var(--muted);font-weight:400}.datespan{background:var(--blue-soft);color:var(--blue);white-space:nowrap;border-radius:999px;margin-left:auto;padding:3px 10px;font-size:13px;font-weight:600}.cal section{scroll-margin-top:36px}.cal h3{padding:18px 4px 8px;font-size:16px}.calweek{z-index:1;background:var(--bg);border-bottom:1px solid var(--line);color:var(--muted);text-align:center;grid-template-columns:repeat(7,1fr);padding:6px 0;font-size:13px;display:grid;position:sticky;top:0}.calgrid{grid-template-columns:repeat(7,1fr);row-gap:4px;display:grid}.calgrid button{text-align:center;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;height:44px;display:flex;position:relative}.calgrid button span{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.calgrid button:disabled{opacity:1;color:var(--line)}.calgrid .today span{box-shadow:inset 0 0 0 1px var(--muted)}.calgrid .in,.calgrid .first,.calgrid .last{background:var(--blue-soft)}.calgrid .first{background:linear-gradient(to right, transparent 50%, var(--blue-soft) 50%)}.calgrid .last{background:linear-gradient(to left, transparent 50%, var(--blue-soft) 50%)}.calgrid .end span{background:var(--blue);color:var(--on-blue);box-shadow:none;font-weight:700}.calfoot{justify-content:space-between;align-items:center;gap:12px;font-size:15px;display:flex}.panel:has(.cal) .panelbody{padding-bottom:8px}.countrypick{min-height:60dvh}.countrypick .search{z-index:1;background:var(--fill);position:sticky;top:0}.row.slim{min-height:48px;padding:8px 0}.row[aria-pressed=true] strong{color:var(--blue)}.panel:has(.countrypick){height:92dvh}.flags{letter-spacing:4px;margin-top:12px;font-size:26px;line-height:1.3}.footprint .tipbox{margin-top:12px}.footprint .bars{padding-bottom:8px}.footprint .track{background:var(--line)}.signin{flex-direction:column;gap:10px;margin-top:14px;display:flex}.signin .btn{min-height:48px;font-size:16px}.btn.dark{background:var(--text);color:var(--bg)}.btn.outline{background:var(--bg);color:var(--text);border:1px solid var(--line)}.hint{background:var(--blue-soft);color:var(--blue);border-radius:12px;justify-content:space-between;align-items:center;margin-top:12px;padding:10px 14px;font-size:14px;display:flex}.topacts{align-items:center;gap:16px;display:flex}.sharelink{border:1px solid var(--line);background:var(--fill);border-radius:10px;outline:none;width:100%;min-height:44px;padding:10px 12px;font-size:14px}.sharedtag{margin-top:16px}.sharedtabs{margin:20px 0 4px}.sharedtabs .seg button{text-align:center;flex:1}.sosbtn{border:1px solid var(--red);color:var(--red);white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:14px;font-weight:600}.soscountry{margin-top:12px}.soscalls{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin-top:16px;display:grid}.soscall{border-radius:var(--r);background:var(--red);color:#fff;flex-direction:column;align-items:center;gap:2px;padding:16px 8px;display:flex}.soscall span{font-size:14px}.soscall strong{font-variant-numeric:tabular-nums;font-size:30px;line-height:1.1}.sosrow{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.sosrow strong{color:var(--red);white-space:nowrap;font-variant-numeric:tabular-nums}.sosplace{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;display:flex}.btn.danger{background:var(--red);color:#fff}:root[data-theme=dark] :is(.soscall,.btn.danger){color:#1a0a08}.memacts{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;display:grid}.memacts .btn{padding:8px 6px}.recording{border-radius:var(--r);background:var(--fill);align-items:center;gap:10px;margin-top:8px;padding:12px 14px;display:flex}.recording strong{font-variant-numeric:tabular-nums}.recdot{background:var(--red);border-radius:50%;width:10px;height:10px;animation:.8s ease-in-out infinite alternate pulse}.memory{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:10px;width:100%;padding:14px 0;display:grid}.memorybody{flex-direction:column;gap:8px;min-width:0;display:flex}.memtext{white-space:pre-wrap}.pics{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.pics.n1{grid-template-columns:1fr}.pics.n2{grid-template-columns:1fr 1fr}.pic{aspect-ratio:1;background:var(--fill);color:var(--muted);text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:4px;font-size:12px;display:flex;position:relative;overflow:hidden}.pics.n1 .pic{aspect-ratio:4/3}.pic img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.picwrap{position:relative}.picdel{background:var(--scrim);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:4px;right:4px}.story{border-radius:var(--r);background:var(--fill);margin-top:20px;padding:4px 18px 18px}.story h2{margin-top:18px;font-size:22px}.story section{margin-top:18px}.story h3{color:var(--muted);font-size:15px;font-weight:500}.story p{margin-top:6px;line-height:1.75}.story .pics{margin-top:12px}.story .pic{background:var(--line)}.budgetset{margin-top:10px;font-size:15px}.budget{grid-template-columns:1fr auto;gap:4px 12px;width:100%;margin-top:14px;display:grid}.bar.warn{background:#b8860b}.bar.over{background:var(--red)}.alert{border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;font-size:15px;font-weight:600;display:flex}.alert.warn{background:var(--warn-bg);color:var(--warn-text)}.alert.over{background:var(--red);color:#fff}:root[data-theme=dark] .bar.warn{background:#f0cf7a}:root[data-theme=dark] .alert.over{color:#1a0a08}.chart{margin:8px 0 0;position:relative}.chart svg{touch-action:pan-y;width:100%;height:auto;display:block}.chart .axis{stroke:var(--line);stroke-width:1px}.chart .ref{stroke:var(--text);stroke-width:1.5px;stroke-dasharray:5 5}.chart .ref.soft{stroke:var(--muted);stroke-width:1px;stroke-dasharray:2 5}.chart .spendline{fill:none;stroke:var(--blue);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.chart .spenddot{fill:var(--blue);stroke:var(--bg);stroke-width:2px}.chart .cross{stroke:var(--muted);stroke-width:1px}.chart text{fill:var(--muted);font-family:inherit;font-size:13px}.chart .endlabel{fill:var(--text);font-size:15px;font-weight:600}.tooltip{border:1px solid var(--line);background:var(--bg);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;border-radius:10px;flex-direction:column;padding:8px 10px;font-size:13px;display:flex;position:absolute;top:0}.tooltip[data-side=right]{transform:translate(10px)}.tooltip[data-side=left]{transform:translate(calc(-100% - 10px))}.memplace{align-items:center;gap:4px;display:flex}.memplace .icon{color:var(--blue)}.field .seg button{padding:6px 12px;font-size:14px}.catbudgets li+li{margin-top:8px}.catbudgets label{grid-template-columns:1fr 140px;align-items:center;gap:12px;display:grid}.catbudgets input{text-align:right}.chips button.dashed{color:var(--blue);border-style:dashed}.chipdel{opacity:.8;margin:0 -4px 0 2px;display:inline-flex}.form>.keyrow,.input>.keyrow{margin-top:8px}.marker{transition:transform .12s}.marker:active{transform:scale(1.15)}.marker.has{box-shadow:0 0 0 3px var(--green)}.marker.static.has{border-color:var(--bg)}.place{flex-direction:column;gap:10px;display:flex}.placemeta{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.placemeta .tag{align-items:center;gap:4px;padding:3px 9px;display:inline-flex}.placemeta .link{margin-left:auto;font-size:14px}.placehead{border-top:1px solid var(--line);margin-top:10px;padding-top:14px;font-size:17px}.stopempty{padding:12px 0 4px}.place .memory:last-child{border-bottom:0}.stops .row .icon{color:var(--muted)}.viewswitch{justify-content:flex-end;margin-top:16px;display:flex}.viewswitch .seg button{padding:5px 14px;font-size:14px}.triplist .deal.hero:first-child{margin-top:12px}.tripfacts{justify-content:space-between;align-items:baseline;gap:12px;margin-top:2px;font-size:15px;display:flex}.tripfacts .grow>span{align-items:center;gap:4px;display:flex}.tripfacts .icon{color:var(--muted)}.tripsrows{margin-top:8px}.tripsrows .row{align-items:flex-start;padding:14px 0}.tripsrows .flag{font-size:26px}.budgetflag{align-items:center;gap:4px;margin-top:4px;font-size:13px;font-weight:600;display:inline-flex}.budgetflag.warn{color:var(--warn-text)}.budgetflag.over{color:var(--red)}.placednote{margin-top:10px}.ratestrip{background:var(--fill);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;font-size:14px;display:inline-flex}.ratestrip strong,.ratestrip span{color:var(--text)}.convert input.big{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.ratetable li+li{border-top:1px solid var(--line)}.ratetable button{font-variant-numeric:tabular-nums;justify-content:space-between;width:100%;padding:12px 0;display:flex}.converted{font-variant-numeric:tabular-nums;margin-top:-8px;font-weight:600}.mapwrap{margin-top:12px;position:relative}.mapwrap .map{margin-top:0}.stopcard{z-index:2;background:var(--bg);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.stopcard>.iconbtn{margin:0;position:absolute;top:8px;right:10px}.stopcard strong{padding-right:28px;font-size:16px}.stopnote{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:14px;display:-webkit-box;overflow:hidden}.stopacts{gap:8px;margin-top:10px;display:flex}.stopacts .btn{flex:1}.marker.on{background:var(--text);color:var(--bg);z-index:1;transform:scale(1.25)}.maplibregl-ctrl-attrib.maplibregl-compact{min-height:24px;margin:6px}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.select{flex:1;align-items:center;min-width:0;display:flex;position:relative}.select select{border:1px solid var(--line);background:var(--bg);width:100%;min-height:44px;color:var(--text);appearance:none;text-overflow:ellipsis;border-radius:10px;outline:none;padding:10px 30px 10px 12px}.select select:focus{border-color:var(--blue)}.select select:disabled{color:var(--muted)}.select .icon{color:var(--muted);pointer-events:none;position:absolute;right:10px}.timefield{align-items:center;gap:6px;display:flex}.timefield .select select{font-variant-numeric:tabular-nums;padding-right:26px}.timefield .select .icon{right:8px}.unitfield{border:1px solid var(--line);background:var(--bg);border-radius:10px;align-items:stretch;min-height:44px;display:flex;overflow:hidden}.unitfield:focus-within{border-color:var(--blue)}.unitfield input{text-align:right;font-variant-numeric:tabular-nums;border:0;border-radius:0;flex:1;min-width:0;min-height:0}.unitfield .select{border-left:1px solid var(--line);flex:none}.unitfield .select select{height:100%;min-height:0;color:var(--muted);border:0;border-radius:0;padding-left:10px;font-size:14px}.unitfield .unit{border-left:1px solid var(--line);color:var(--muted);align-items:center;padding:0 12px;font-size:14px;display:flex}.daytotal{background:var(--fill);border-radius:12px;margin-top:12px;padding:10px 14px}.daytotal+.timeline{margin-top:16px}.daytotal>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.daytotal>div+div{margin-top:4px}.daytotal dt{color:var(--muted);font-size:14px}.daytotal dd{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.daytotal dd .muted{font-weight:400}.stayline .amounts .muted{font-size:13px}.tipbox.asbutton{align-items:center;gap:8px;width:100%;padding:14px;font-weight:600;display:flex}.tipbox.asbutton .icon:last-child{color:var(--muted);margin-left:auto}.panelbody>.tiplist li:last-child{border-bottom:0}.listhead .seg button{text-align:center;flex:1}.listhint{margin-top:10px}.listprogress{align-items:center;gap:12px;margin-top:14px;display:flex}.listprogress .track{flex:1;grid-column:auto;height:8px}.listprogress .bar{background:var(--green)}.listprogress .link{font-size:14px}.checklist{margin-top:8px}.checklist li{border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex}.checklist label{cursor:pointer;flex:1;align-items:center;gap:12px;min-height:52px;padding:8px 0;display:flex}.checklist input{width:24px;height:24px;accent-color:var(--green);flex:none}.checklist li[data-done=true] span{color:var(--muted);text-decoration:line-through}.checklist .iconbtn.small{margin:0}.listadd{margin-top:14px}.listadd .btn{padding:8px 14px}.daychips{margin-top:14px}.daychips+.mapwrap{margin-top:10px}.day:first-of-type,.mapwrap+.day{margin-top:20px}.timeline .cardhead{align-items:flex-start}.timeline .cardhead h3{flex:1}.timeline .cardhead .iconbtn.small+.iconbtn.small{margin-left:2px}.stop.tappable{cursor:pointer;border-radius:10px}.stop.tappable:active{background:var(--fill)}.iconbtn.small.has{width:auto;color:var(--green);gap:2px;padding:0 4px}.iconbtn.small .count{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.page.centered{justify-content:center;align-items:center;min-height:100dvh;padding-top:0;padding-bottom:0;display:flex}.page.centered .working{padding:0}.triptotal{margin-top:16px}.triptotal+.day{margin-top:24px}.stopcard{border-radius:12px;gap:0;width:min(280px,100% - 16px);padding:8px 12px;bottom:8px;left:50%;right:auto;transform:translate(-50%)}.stopcard>.iconbtn{top:4px;right:6px}.stopcard strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.stopcard .muted{font-size:12px}.stopacts{gap:16px;margin-top:4px;font-size:13px}.stopacts .link{flex:none}.dictate{align-items:center;gap:10px;margin-top:-6px;display:flex}.dictate .btn{flex:none}.dictate .muted{font-size:13px}.dictate .recdot{background:#fff}.where{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex;white-space:normal!important;overflow:visible!important}.wherecountry{white-space:nowrap;font-size:14px;font-weight:600}.where .tag{background:var(--blue-soft);color:var(--blue);padding:2px 9px;font-size:13px}.tripmoney{margin-top:4px}.memacts.two{grid-template-columns:1fr 1fr}.coveredit{flex-direction:column;gap:10px;display:flex}.dayempty{margin-top:12px}.dayhead .iconbtn.small{flex:none;margin:0}.empty .pair{width:100%;max-width:320px;margin-top:8px}.empty .pair .btn{margin-top:0}.daychips+.mapwrap,.mapwrap{top:calc(env(safe-area-inset-top) + 47px);z-index:4;background:var(--bg);margin:10px -16px 0;padding:0 16px 10px;position:sticky}.map{height:min(34dvh,280px)}.stopcard{bottom:18px}.ratestrip{gap:0;padding:0;overflow:hidden}.rateswap{color:var(--blue);align-items:center;padding:7px 8px 7px 12px;display:flex}.rateswap:active{background:var(--line)}.rateopen{font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:7px 12px 7px 4px;display:flex}.convert{grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;display:grid}.convert .iconbtn{color:var(--blue);margin:0 0 2px}.convert[data-flip=true]>:first-child{order:3}.convert[data-flip=true]>.iconbtn{order:2}.convert[data-flip=true]>:last-child{order:1}textarea{resize:none}.dayadd{margin-top:14px}.dayadd .btn{min-height:44px}.dayadd .spinner{width:16px;height:16px}.periodchips{margin-top:4px}.periodrange{margin-top:10px}.countrychips{margin-top:8px}.placehits{border:1px solid var(--line);border-radius:12px;overflow:hidden}.placehits li+li{border-top:1px solid var(--line)}.placehits button{align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.placehits button:active{background:var(--fill)}.placehits .icon{color:var(--blue)}.placehits .muted{font-size:13px}.placeok{align-items:center;gap:4px;display:flex;color:var(--green)!important}.tripbar{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.tripbar .seg button{padding:5px 14px;font-size:14px}.filterbtn{border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:6px;min-width:0;padding:6px 12px;font-size:14px;display:inline-flex;overflow:hidden}.filterbtn.on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);font-weight:600}.filterbtn[aria-expanded=true] .icon:last-child{transform:rotate(180deg)}.filterpanel{border-radius:var(--r);background:var(--fill);margin-top:10px;padding:12px 14px}.filterpanel .chips{margin:0 -14px;padding:2px 14px}.filterpanel .countrychips,.filterpanel .periodrange,.filterpanel>.link{margin-top:10px}.filterpanel>.link{font-size:14px}.footprint .tiles{margin-top:14px}.photo.zoom,.pic.zoom{cursor:zoom-in;border:0;padding:0}button.photo.zoom{display:flex}.viewer{z-index:60;cursor:zoom-out;touch-action:pan-y pinch-zoom;background:#000000f0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.viewer img{object-fit:contain;max-width:100%;max-height:100%}.viewerclose,.viewernav{color:#fff;background:#ffffff29;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute}.viewerclose{top:calc(env(safe-area-inset-top) + 12px);right:12px}.viewernav{top:50%;transform:translateY(-50%)}.viewernav.prev{left:10px}.viewernav.next{right:10px}.viewercount{bottom:calc(env(safe-area-inset-bottom) + 16px);text-align:center;color:#fff;font-variant-numeric:tabular-nums;font-size:14px;position:absolute;left:0;right:0}.memory .iconbtn.small{margin:0}.memory .pics.n1 .pic{aspect-ratio:4/3}.picadd{border:1px dashed var(--line);color:var(--blue);cursor:pointer;background:0 0;flex-direction:column;gap:4px;font-size:12px}.picadd .spinner{width:20px;height:20px}.pastebtn{align-self:flex-start}.pics.editable .picwrap{touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:transform .12s,opacity .12s}.pics.editable .picwrap img{-webkit-touch-callout:none;pointer-events:none}.picwrap.dragging{opacity:.75;z-index:2;outline:2px solid var(--blue);outline-offset:2px;border-radius:12px;transform:scale(1.06)}.reorderhint{margin-top:-8px;font-size:12px}.tabbar{align-items:flex-end}.tabmain{position:relative}.tabknob{background:var(--fill);width:58px;height:58px;color:var(--muted);border:4px solid var(--bg);box-shadow:0 -1px 0 var(--line);border-radius:50%;justify-content:center;align-items:center;margin-top:-30px;transition:transform .12s;display:flex}.tabmain[aria-current=page] .tabknob{background:var(--blue);color:var(--on-blue)}.tabmain:active .tabknob{transform:scale(.94)}.page.withbar{padding-bottom:calc(env(safe-area-inset-bottom) + 108px)}.placeset{background:var(--green-soft);min-height:44px;color:var(--green);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.placeset .grow>*,.placeset .grow{white-space:normal}.placeset .link{flex:none;font-size:14px}.input>.keyrow{margin-top:0}.input>.keyrow .btn{flex:none;padding:8px 14px}.paywall{flex-direction:column;gap:14px;display:flex}.paylist li{align-items:center;gap:8px;padding:6px 0;display:flex}.paylist .icon{color:var(--green)}.payacts{flex-direction:column;gap:10px;display:flex}.payacts .btn.big{margin-top:0}.accessbar{background:var(--blue-soft);width:100%;color:var(--blue);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding:10px 14px;font-size:14px;display:flex}.accessbar.expired{background:var(--warn-bg);color:var(--warn-text)}.accessbar strong{white-space:nowrap}.accessbar+.tripbar{margin-top:12px}.landing>div{text-align:center;flex-direction:column;gap:12px;max-width:360px;display:flex}body:before{content:"";height:env(safe-area-inset-top);background:var(--bg);z-index:25;position:fixed;top:0;left:0;right:0}.page:has(.mapwrap){min-height:calc(100dvh + 180px)}.planpin{top:calc(env(safe-area-inset-top) + 47px);z-index:4;background:var(--bg);margin:0 -16px;padding:10px 16px;position:sticky}.planpin .daychips{margin-top:0}.planpin .mapwrap,.planpin .daychips+.mapwrap{margin:8px 0 0;padding:0;position:relative;top:auto}.planpin .mapwrap:first-child{margin-top:0}.planpin .stopcard{bottom:8px}.page:has(.planpin){min-height:calc(100dvh + 180px)}
