:root{--paper: #F6F6F3;--paper-2: #FFFFFF;--paper-sunk: #ECEBE6;--ink: #16181D;--ink-soft: #4A4E57;--ink-faint: #70747D;--line: #DAD8D0;--line-strong: #C4C1B6;--accent: #D8372B;--accent-deep: #A62519;--navy: #1F3A5F;--ok: #2F7D55;--ok-bg: #E2F0E7;--warn: #9A6A12;--warn-bg: #F6ECD4;--shadow: 0 1px 2px rgba(22,24,29,.06), 0 10px 30px -18px rgba(22,24,29,.28);--shadow-lift: 0 6px 16px -6px rgba(22,24,29,.22), 0 24px 48px -28px rgba(22,24,29,.34);--font-sans: "Helvetica Neue", Helvetica, Arial, "Liberation Sans", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--font-serif: "Hoefler Text", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--rad: 4px;--maxw: 1080px}@media(prefers-color-scheme:dark){:root{--paper:#111317;--paper-2:#181B21;--paper-sunk:#0C0E11;--ink:#ECEAE3;--ink-soft:#A7ABB4;--ink-faint:#8D929C;--line:#262A31;--line-strong:#353A43;--accent:#EC5043;--accent-deep:#F0796E;--navy:#6E97C9;--ok:#5BC48A;--ok-bg:#16271D;--warn:#E0B257;--warn-bg:#2A2210;--shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px -18px rgba(0,0,0,.7);--shadow-lift:0 10px 28px -10px rgba(0,0,0,.6)}}:root[data-theme=light]{--paper:#F6F6F3;--paper-2:#FFFFFF;--paper-sunk:#ECEBE6;--ink:#16181D;--ink-soft:#4A4E57;--ink-faint:#70747D;--line:#DAD8D0;--line-strong:#C4C1B6;--accent:#D8372B;--accent-deep:#A62519;--navy:#1F3A5F;--ok:#2F7D55;--ok-bg:#E2F0E7;--warn:#9A6A12;--warn-bg:#F6ECD4;--shadow:0 1px 2px rgba(22,24,29,.06),0 10px 30px -18px rgba(22,24,29,.28);--shadow-lift:0 6px 16px -6px rgba(22,24,29,.22),0 24px 48px -28px rgba(22,24,29,.34)}:root[data-theme=dark]{--paper:#111317;--paper-2:#181B21;--paper-sunk:#0C0E11;--ink:#ECEAE3;--ink-soft:#A7ABB4;--ink-faint:#8D929C;--line:#262A31;--line-strong:#353A43;--accent:#EC5043;--accent-deep:#F0796E;--navy:#6E97C9;--ok:#5BC48A;--ok-bg:#16271D;--warn:#E0B257;--warn-bg:#2A2210;--shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px -18px rgba(0,0,0,.7);--shadow-lift:0 10px 28px -10px rgba(0,0,0,.6)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.5;min-height:100vh}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}::selection{background:var(--accent);color:#fff}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--ink-faint)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}header.board{background:#0b0e13;color:#fff;border-bottom:3px solid var(--accent);position:relative;overflow:hidden}.board-photo{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-size:cover;background-position:center 40%}.board-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#080a0e75,#080a0e3d 40%,#080a0ed6)}.board-photo.board-grad{background:radial-gradient(120% 90% at 85% -10%,color-mix(in srgb,var(--accent) 55%,transparent) 0%,transparent 55%),radial-gradient(90% 80% at 0% 110%,color-mix(in srgb,var(--navy) 70%,transparent) 0%,transparent 60%),linear-gradient(135deg,#15181e,#0c0e12)}.board-photo.board-grad:after{background:linear-gradient(180deg,#080a0e1f,#080a0e59)}.weather-fx{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.board-inner{position:relative;z-index:1;padding:calc(26px + env(safe-area-inset-top)) 0 0}.wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}footer.foot{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.board-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.roundel{display:inline-flex;align-items:center;gap:12px}.roundel .mark{width:46px;height:46px;border-radius:50%;border:7px solid var(--accent);position:relative;flex:none}.roundel .mark:after{content:"";position:absolute;left:-11px;right:-11px;top:50%;transform:translateY(-50%);height:9px;background:var(--accent)}.roundel .lab{line-height:1.1}.roundel .lab b{font-size:15px;letter-spacing:.16em}.roundel .lab span{display:block;font-size:10.5px;letter-spacing:.05em;color:#c7cad1;margin-top:3px;max-width:240px;line-height:1.35}.destination{margin:14px 0 4px}.destination h1{margin:0;font-weight:800;letter-spacing:-.03em;line-height:.9;font-size:clamp(44px,10vw,104px);text-transform:uppercase}.destination h1 em{font-family:var(--font-serif);font-style:italic;font-weight:500;text-transform:none;letter-spacing:-.01em;color:#fff}.destination h1{text-shadow:0 2px 24px rgba(0,0,0,.45)}.roundel .lab b,.countdown{text-shadow:none}.subline{display:flex;gap:10px 20px;flex-wrap:wrap;align-items:baseline;color:#c7cad1;font-size:13px;margin-top:8px}.subline{text-shadow:0 1px 10px rgba(0,0,0,.5)}.subline .mono{color:#fff}.countdown{background:#000;border:1px solid #2b2e35;border-radius:var(--rad);padding:12px 16px;display:flex;gap:14px;align-items:center;flex:none}.countdown .big{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;color:#f5b700;letter-spacing:.02em;line-height:1;text-shadow:0 0 14px rgba(245,183,0,.35)}.countdown .lab{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#9a9da4;max-width:72px}.wx-inline{color:#fff}.trip-prog{display:flex;align-items:center;gap:9px;margin-top:12px;max-width:320px}.trip-prog-bar{flex:1;height:5px;background:#ffffff29;border-radius:5px;overflow:hidden}.trip-prog-bar>span{display:block;height:100%;background:var(--accent);border-radius:5px;transition:width .5s ease}.trip-prog-txt{font-family:var(--font-mono);font-size:11px;font-weight:700;color:#c7cad1}nav.tabs{display:flex;gap:2px;margin-top:22px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}nav.tabs::-webkit-scrollbar{display:none}nav.tabs button{flex:none;white-space:nowrap;background:transparent;border:0;color:#9a9da4;padding:10px 14px 13px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;border-bottom:3px solid transparent;margin-bottom:-3px;display:inline-flex;align-items:center;gap:7px;transition:color .15s}nav.tabs button .tab-ic{font-size:15px;filter:grayscale(.3);opacity:.9}nav.tabs button[aria-selected=true] .tab-ic{filter:none;opacity:1}nav.tabs button .ct{font-family:var(--font-mono);font-size:10px;background:#2b2e35;color:#c7cad1;padding:1px 6px;border-radius:10px;letter-spacing:0}nav.tabs button:hover{color:#fff}nav.tabs button[aria-selected=true]{color:#fff;border-bottom-color:var(--accent)}nav.tabs button[aria-selected=true] .ct{background:var(--accent);color:#fff}main{padding:34px 0 120px}.panel{animation:fade .3s ease both}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.panel{animation:none}}.panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--line)}.panel-head h2{margin:2px 0 0;font-size:26px;font-weight:800;letter-spacing:-.02em}.panel-head p{margin:0;color:var(--ink-soft);font-size:13px;max-width:46ch}.btn{border:1px solid var(--line-strong);background:var(--paper-2);color:var(--ink);padding:9px 15px;border-radius:var(--rad);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:7px;transition:transform .1s,box-shadow .15s,background .15s;white-space:nowrap}.btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active{transform:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-soft);padding:9px 10px}.btn.ghost:hover{color:var(--accent);box-shadow:none}.btn .plus{font-size:15px;line-height:1;margin-top:-1px}.btn:focus-visible,nav.tabs button:focus-visible,.iconbtn:focus-visible,.del:focus-visible,.star:focus-visible,.day-chip:focus-visible,.filter-row button:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.day-nav{display:flex;gap:9px;overflow-x:auto;padding:4px 2px 16px;margin-bottom:4px;scrollbar-width:thin}.day-chip{position:relative;flex:none;width:82px;border:1px solid var(--line);background:var(--paper-2);border-radius:12px;padding:11px 9px 13px;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:2px;transition:border-color .15s,transform .14s,box-shadow .18s}.day-chip:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:var(--shadow-lift)}.dc-dow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;display:inline-flex;align-items:center;gap:4px}.dc-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);display:inline-block}.dc-num{font-size:30px;font-weight:800;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--ink);margin-top:2px}.dc-wx{font-size:11px;color:var(--ink-soft);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:5px;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}.dc-wx-ic{font-size:12px}.dc-wx.est{color:var(--ink-faint)}.dc-foot{margin-top:6px;height:13px;display:flex;align-items:center}.dc-count{font-size:11px;font-weight:700;font-family:var(--font-mono);color:var(--ink-soft)}.dc-done{font-size:12px;font-weight:800;color:var(--ok)}.dc-free{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.dc-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--paper-sunk)}.dc-bar>span{display:block;height:100%;width:0;background:var(--ok);border-radius:0 3px 3px 0;transition:width .45s ease}.day-chip.is-today{border-color:var(--accent)}.day-chip.is-today .dc-num{color:var(--accent)}.day-chip.is-today .dc-bar>span{background:var(--accent)}.day-chip.is-complete .dc-bar>span{background:var(--ok)}.day-chip.is-past:not(.is-complete){opacity:.6}.day-chip.is-past:hover{opacity:1}.day-chip[aria-current=true]{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);transform:translateY(-3px);opacity:1}.day-chip.is-today[aria-current=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.timeline{margin-top:10px}.tl-item{display:grid;grid-template-columns:74px 1fr;position:relative}.tl-time{text-align:right;padding:16px 16px 16px 0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;color:var(--ink)}.tl-time small{display:block;font-size:10px;color:var(--ink-faint);font-weight:400;letter-spacing:.1em}.tl-body{border-left:2px solid var(--line);padding:16px 0 16px 22px;position:relative}.tl-body:before{content:"";position:absolute;left:-7px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--accent)}.tl-item:last-child .tl-body{border-left-color:transparent}.tl-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--rad);padding:13px 15px;box-shadow:var(--shadow);transition:box-shadow .15s,transform .1s;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.tl-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.tl-card .ttl{font-weight:700;font-size:15px;letter-spacing:-.01em}.tl-card .note{color:var(--ink-soft);font-size:13px;margin-top:3px}.cat-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:10px;margin-top:8px;border:1px solid var(--line-strong);color:var(--ink-soft)}.import-dz{border:2px dashed var(--line-strong);border-radius:12px;background:var(--paper-2);padding:16px 18px;margin-bottom:22px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.import-dz:hover{border-color:var(--navy);box-shadow:var(--shadow)}.import-dz.over{border-color:var(--navy);border-style:solid;background:color-mix(in srgb,var(--navy) 7%,var(--paper-2))}.import-dz.busy{cursor:progress;border-color:var(--accent)}.import-dz:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.idz-body{display:flex;align-items:center;gap:14px}.idz-ic{font-size:28px;flex:none}.idz-txt{flex:1;min-width:0;display:flex;flex-direction:column}.idz-txt b{font-size:15px;font-weight:800;letter-spacing:-.01em}.idz-txt span{font-size:13px;color:var(--ink-soft);margin-top:2px}.idz-btn{flex:none;background:var(--navy);color:#fff;border-radius:20px;padding:8px 15px;font-size:12px;font-weight:800;letter-spacing:.03em;white-space:nowrap}.import-dz:hover .idz-btn{background:#16304f}.idz-result{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);cursor:default}.idz-result-h{display:flex;align-items:center;justify-content:space-between;gap:10px}.idz-result-h b{font-size:13px;color:var(--ok)}.idz-close{background:none;border:0;color:var(--ink-faint);font-size:14px;cursor:pointer;padding:2px 6px;border-radius:4px;flex:none}.idz-close:hover{color:var(--ink);background:var(--paper-sunk)}.idz-result ul{list-style:none;margin:8px 0 6px;padding:0;display:flex;flex-direction:column;gap:4px}.idz-result li{font-size:13px;color:var(--ink);display:flex;align-items:center;gap:8px}.idz-k{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);background:var(--paper-sunk);border-radius:10px;padding:2px 8px;flex:none}.idz-note{font-size:12px;color:var(--ink-faint)}@media(max-width:480px){.idz-btn{display:none}}.pass-section{margin-bottom:22px}.pass-sec-h{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:0 2px 10px;margin-bottom:16px;color:var(--ink);cursor:pointer}.pass-sec-h:hover .psh-lab{color:var(--accent)}.psh-ic{font-size:18px;flex:none}.psh-lab{font-size:15px;font-weight:800;letter-spacing:-.01em}.psh-n{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--ink-soft);background:var(--paper-sunk);border-radius:20px;padding:1px 9px}.psh-caret{margin-left:auto;color:var(--ink-faint);font-size:13px}.pass-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:20px}.pass{background:var(--paper-2);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden;display:flex;transition:box-shadow .15s,transform .12s}.pass:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.pass .stub{flex:none;width:54px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center}.pass .stub span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#c7cad1}.pass .perf{flex:none;width:2px;background:repeating-linear-gradient(var(--line) 0 5px,transparent 5px 11px)}.pass .body{flex:1;padding:16px 18px;min-width:0}.pass .prow{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.pass .kind{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--accent)}.pass h3{margin:6px 0 2px;font-size:18px;font-weight:800;letter-spacing:-.015em;line-height:1.15}.pass .route{display:flex;align-items:center;gap:10px;margin:12px 0;font-family:var(--font-mono);font-size:15px;font-weight:600}.pass .route .arrow{color:var(--ink-faint);flex:1;text-align:center;letter-spacing:.1em}.pass .meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:12px}.pass .meta .f{min-width:0}.pass .meta .f .lab{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.pass .meta .f .val{font-family:var(--font-mono);font-size:13px;font-weight:600;margin-top:2px;word-break:break-word}.pass .foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line-strong)}.pass a.lnk{color:var(--navy);font-size:12px;font-weight:700;text-decoration:none;letter-spacing:.04em}.pass a.lnk:hover{text-decoration:underline}.lnk-btn{background:none;border:0;cursor:pointer;padding:0;font-family:inherit}.ticket-doc{display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--rad);background:var(--paper-sunk);text-decoration:none;color:var(--ink);cursor:pointer;transition:border-color .15s,box-shadow .15s}.ticket-doc:hover{border-color:var(--navy);box-shadow:var(--shadow)}.ticket-doc:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.td-ic{font-size:15px;flex:none}.td-name{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.td-view{font-size:11px;font-weight:800;letter-spacing:.03em;color:var(--navy);flex:none;white-space:nowrap}.td-rm{margin-left:auto;background:none;border:0;color:var(--ink-faint);cursor:pointer;font-size:13px;flex:none}.td-rm:hover{color:var(--accent)}.pill{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:20px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.filter-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.filter-row button{border:1px solid var(--line);background:var(--paper-2);color:var(--ink-soft);padding:7px 13px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:all .15s}.filter-row button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sort-sel{margin-left:auto;border:1px solid var(--line);background:var(--paper-2);color:var(--ink-soft);border-radius:20px;padding:6px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ideas-toggle{border:1px solid var(--line-strong)!important;color:var(--navy)!important;border-style:dashed!important}.ideas-toggle.on,.filter-row button.ideas-toggle[aria-pressed=true]{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}.ideas-panel{border:1px solid var(--line);background:var(--paper-2);border-radius:var(--rad);padding:14px;margin-bottom:18px;box-shadow:var(--shadow)}.ideas-head{font-size:13px;color:var(--ink-soft);margin-bottom:11px}.ideas-chips{display:flex;flex-wrap:wrap;gap:7px}.idea-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--paper);border-radius:20px;padding:6px 13px 6px 10px;font-size:13px;font-weight:600;color:var(--ink);transition:all .14s}.idea-chip:hover{border-color:var(--navy);color:var(--navy);transform:translateY(-1px)}.idea-plus{font-size:15px;font-weight:800;color:var(--navy);line-height:1}.place-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.place{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--rad);padding:15px 16px;box-shadow:var(--shadow);transition:box-shadow .15s,transform .1s;position:relative;display:flex;flex-direction:column;gap:8px}.place:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.place-photo{position:relative;height:120px;margin:-15px -16px 4px;border-radius:var(--rad) var(--rad) 0 0;background-size:cover;background-position:center}.pp-remove{position:absolute;top:7px;right:7px;width:24px;height:24px;border:0;border-radius:50%;background:#0a0b0d99;color:#fff;font-size:12px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pp-remove:hover{background:var(--accent)}.place.done{opacity:.62}.place.done h3{text-decoration:line-through;text-decoration-color:var(--ink-faint)}.place .ptop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.place h3{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em}.place .area{font-size:12px;color:var(--ink-soft);font-family:var(--font-mono)}.place .pnote{font-size:12px;color:var(--ink-soft)}.place .pfoot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:6px}.check{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid var(--line-strong);border-radius:4px;display:inline-grid;place-content:center;flex:none;transition:all .15s;background:var(--paper-2)}.check{transition:background .15s,border-color .15s}.check:checked{background:var(--ok);border-color:var(--ok);animation:checkPop .34s cubic-bezier(.2,1.6,.4,1)}.check:checked:after{content:"✓";color:#fff;font-size:13px;font-weight:800;display:inline-block;transform-origin:center;animation:checkMark .34s cubic-bezier(.2,1.8,.4,1) .03s both}@keyframes checkPop{0%{transform:scale(.55)}45%{transform:scale(1.28)}to{transform:scale(1)}}@keyframes checkMark{0%{transform:scale(0);opacity:0}55%{transform:scale(1.35)}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.check:checked,.check:checked:after{animation:none}}.check:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.star{background:none;border:0;font-size:15px;color:var(--line-strong);padding:0;line-height:1}.star.on{color:#f5b700}.budget-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:start}@media(max-width:760px){.budget-grid{grid-template-columns:1fr}}.b-summary{background:var(--ink);color:var(--paper);border-radius:8px;padding:22px 22px 18px;border:1px solid var(--line);margin-bottom:20px}.b-summary .figs{display:flex;gap:26px;flex-wrap:wrap}.b-summary .fig .lab{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#9a9da4;font-weight:700}.b-summary .fig .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;margin-top:3px}.b-summary .fig .num.spent{color:#f5b700}.b-bar{height:8px;background:#2b2e35;border-radius:10px;margin-top:18px;overflow:hidden}.b-bar>span{display:block;height:100%;background:var(--accent);border-radius:10px;transition:width .5s}.b-bar.over>span{background:#f5b700}.b-perday{margin-top:12px;font-size:13px;color:var(--paper);background:#ffffff12;border-radius:var(--rad);padding:9px 12px}.b-perday b{color:var(--gold, #F5B700);font-family:var(--font-mono)}.b-perday .muted{color:#9a9da4;font-size:11px}.b-cap{font-size:11px;color:#9a9da4;margin-top:10px;display:flex;justify-content:space-between;align-items:center}.b-cap .btn.ghost{color:#c7cad1;padding:0;font-size:11px}.b-cap .btn.ghost:hover{color:#fff}.ledger{border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;background:var(--paper-2)}.ledger .row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 15px;border-bottom:1px solid var(--line)}.ledger .row:last-child{border-bottom:0}.ledger .row .lbl{font-weight:600;font-size:14px}.ledger .row .lbl small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;margin-top:1px}.ledger .row .amt{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;font-size:14px}.ledger .row.paid .amt{color:var(--ink-faint)}.card-box{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--rad);padding:4px 0}.chk-row{display:flex;align-items:center;gap:12px;padding:11px 15px;border-bottom:1px solid var(--line)}.chk-row:last-child{border-bottom:0}.chk-row label{flex:1;font-size:14px;cursor:pointer}.chk-row.done label{color:var(--ink-faint);text-decoration:line-through}.sec-title{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin:0;display:flex;align-items:center;gap:10px}.sec-title .pct{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);font-weight:700}.sec-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.del{background:none;border:0;color:var(--ink-faint);font-size:16px;padding:2px 6px;border-radius:4px;line-height:1}.del:hover{color:var(--accent);background:var(--paper-sunk)}.iconbtn{background:none;border:0;color:var(--ink-faint);padding:3px 6px;border-radius:4px;font-size:13px}.iconbtn:hover{color:var(--ink);background:var(--paper-sunk)}.rowactions{display:flex;gap:2px;flex:none;align-items:center}.movebtns{display:inline-flex;flex-direction:column;margin-right:2px}.iconbtn.mv{padding:0 5px;font-size:9px;line-height:1.25;color:var(--ink-faint)}.iconbtn.mv:hover{color:var(--navy);background:var(--paper-sunk)}.maplink{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--navy);text-decoration:none;border:1px solid var(--line);border-radius:20px;padding:4px 11px 4px 9px;background:var(--paper-2);transition:border-color .15s,box-shadow .15s,transform .1s}.maplink:hover{border-color:var(--navy);box-shadow:var(--shadow);transform:translateY(-1px)}.maplink svg{width:13px;height:13px;flex:none}.maplink-ic{display:inline-flex;align-items:center;justify-content:center;color:var(--navy);padding:3px 5px;border-radius:4px;text-decoration:none}.maplink-ic:hover{background:var(--paper-sunk)}.maplink-ic svg{width:15px;height:15px;display:block}.empty{text-align:center;padding:48px 20px;color:var(--ink-soft);border:1px dashed var(--line-strong);border-radius:12px;background:var(--paper-2)}.empty p{margin:0 0 14px;font-size:14px}.empty p:before{content:"🧭";display:block;font-size:38px;margin-bottom:12px;opacity:.7}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b0d80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:50;overflow-y:auto}.modal{background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;width:100%;max-width:480px;box-shadow:var(--shadow-lift);animation:pop .22s ease both}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.modal{animation:none}}.modal header{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal header h3{margin:0;font-size:17px;font-weight:800;letter-spacing:-.01em}.modal .form{padding:18px 22px;display:grid;gap:14px}.field{display:grid;gap:5px}.field.row2{grid-template-columns:1fr 1fr;gap:14px}.field>label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.field.check-field>label{display:flex;align-items:center;gap:10px;text-transform:none;letter-spacing:0;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer}input[type=text],input[type=number],input[type=date],input[type=time],input[type=url],select,textarea{width:100%;padding:9px 11px;border:1px solid var(--line-strong);border-radius:var(--rad);background:var(--paper-2);color:var(--ink);font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--navy);outline-offset:0;border-color:var(--navy)}textarea{resize:vertical;min-height:56px}.modal footer{padding:14px 22px 20px;display:flex;gap:10px;justify-content:flex-end}.toolbar{display:flex;gap:8px;align-items:center}.theme-toggle{background:transparent;border:1px solid #2b2e35;color:#c7cad1;border-radius:var(--rad);padding:8px 10px;font-size:14px}.theme-toggle:hover{color:var(--paper);border-color:#4a4e57}.hdr-ctrls{display:inline-flex;align-items:center;gap:1px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:2px}.hdr-ctrls .theme-toggle{border:0;background:transparent;padding:7px 9px;border-radius:7px}.hdr-ctrls .theme-toggle:hover{background:#ffffff1a;border:0}.lang-toggle{font-size:11px;font-weight:800;letter-spacing:.06em;min-width:34px}footer.foot{border-top:1px solid var(--line);padding:22px 0 60px;color:var(--ink-faint);font-size:12px}footer.foot .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}footer.foot button.link{background:none;border:0;color:var(--accent);cursor:pointer;font-size:12px;padding:0}footer.foot button.link:hover{text-decoration:underline}.prac-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--rad);padding:18px;box-shadow:var(--shadow)}.card-h{margin-bottom:14px}.muted{color:var(--ink-soft);font-size:13px;margin:0}.muted.sm{font-size:12px}.wx-now{display:flex;align-items:center;gap:14px;margin-bottom:16px}.wx-emoji{font-size:42px;line-height:1}.wx-temp{font-size:30px;font-weight:800;font-family:var(--font-mono);line-height:1}.wx-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px}.wx-day{text-align:center;border:1px solid var(--line);border-radius:var(--rad);padding:9px 4px}.wx-dow{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-weight:700}.wx-ic{font-size:22px;margin:5px 0}.wx-mm{font-family:var(--font-mono);font-size:13px}.wx-mm b{color:var(--ink)}.wx-mm span{color:var(--ink-faint);margin-left:4px}.wx-sun{font-size:10px;color:var(--ink-faint);margin-top:6px;line-height:1.6}.wx-note{margin-top:14px}.best-day{margin-top:12px;font-size:13px;font-weight:600;background:var(--ok-bg);color:var(--ok);border-radius:var(--rad);padding:9px 12px}.best-day b{font-weight:800}.best-day .muted{color:var(--ok);opacity:.8;font-family:var(--font-mono)}.conv2{display:flex;align-items:flex-end;gap:8px}.conv-side{flex:1;display:grid;gap:6px;min-width:0}.conv-side select{font-size:12px;font-weight:700;padding:6px 8px}.conv-swap{flex:none;background:var(--paper-sunk);border:1px solid var(--line-strong);border-radius:50%;width:34px;height:34px;font-size:15px;color:var(--navy);cursor:pointer;margin-bottom:3px}.conv-swap:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.conv{display:flex;align-items:flex-end;gap:12px}.conv-f{flex:1;display:grid;gap:5px}.conv-f span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.conv-eq{font-size:20px;color:var(--ink-faint);padding-bottom:9px}.links{display:flex;flex-direction:column;gap:8px}.link-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--rad);text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .1s}.link-row:hover{border-color:var(--navy);box-shadow:var(--shadow);transform:translateY(-1px)}.link-lab{font-weight:700;font-size:14px;display:block}.link-sub{font-size:12px;color:var(--ink-soft);display:block;margin-top:1px}.link-arr{color:var(--navy);font-weight:800;flex:none}.sync-status{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}.sync-dot{width:10px;height:10px;border-radius:50%;flex:none}.sync-code-box{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 6px;padding:10px 12px;background:var(--paper-sunk);border-radius:var(--rad)}.sync-code{font-family:var(--font-mono);font-size:15px;font-weight:800;color:var(--accent);letter-spacing:.02em;word-break:break-all}.sync-guide-toggle{background:none;border:0;color:var(--navy);font-size:13px;font-weight:700;cursor:pointer;padding:8px 0}.sync-guide{margin:4px 0 14px;padding-left:20px;font-size:13px;color:var(--ink-soft);line-height:1.5}.sync-guide li{margin-bottom:8px}.sync-sql{background:var(--paper-sunk);border:1px solid var(--line);border-radius:var(--rad);padding:10px 12px;font-family:var(--font-mono);font-size:11.5px;line-height:1.5;overflow-x:auto;margin:8px 0 0;color:var(--ink);white-space:pre}.sync-form{display:grid;gap:12px;margin-top:14px}.sync-code-row{display:flex;gap:8px}.sync-code-row input{flex:1}.sync-err{color:var(--accent);font-size:12px;font-weight:700;margin:0}.data-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.data-btns .btn{text-transform:none;letter-spacing:0}.today-badge{display:inline-block;margin-left:6px;background:var(--accent);color:#fff;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:8px;vertical-align:middle;font-weight:700}.day-chip.is-today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.map-wrap{border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;box-shadow:var(--shadow)}.map-el{width:100%;height:540px;background:var(--paper-sunk)}.map-el.map-dark .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.92)}@media(max-width:680px){.map-el{height:68vh}}.map-legend{font-size:12px;color:var(--ink-soft);white-space:nowrap}.leaflet-container{font-family:var(--font-sans)}.leaflet-popup-content{font-size:13px}.leaflet-popup-content a{color:var(--navy);font-weight:700}.search-overlay{align-items:flex-start}.search-box{background:var(--paper);border:1px solid var(--line-strong);border-radius:12px;width:100%;max-width:520px;box-shadow:var(--shadow-lift);animation:pop .2s ease both;overflow:hidden}.search-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.search-ic{font-size:16px}.search-head input{flex:1;border:0;background:none;font-size:16px;color:var(--ink);padding:4px 0}.search-head input:focus{outline:none}.search-results{max-height:60vh;overflow-y:auto;padding:6px}.search-empty{padding:24px;text-align:center;color:var(--ink-faint);font-size:14px}.search-tips{padding:14px 16px}.search-tips-h{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:10px}.search-tip{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--ink-soft)}.search-tip kbd{font:600 11px/1 ui-monospace,monospace;background:var(--card-2, rgba(0,0,0,.05));border:1px solid var(--line, rgba(0,0,0,.12));border-radius:5px;padding:3px 6px;min-width:20px;text-align:center}.search-tip span{margin-left:2px}.search-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:10px 12px;color:var(--ink)}.search-row:hover{background:var(--paper-sunk)}.sr-ic{font-size:18px;flex:none}.sr-main{min-width:0;display:flex;flex-direction:column}.sr-label{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-sub{font-size:12px;color:var(--ink-soft)}.day-km{font-size:12px;font-weight:700;color:var(--ink-soft);font-family:var(--font-mono);background:var(--paper-sunk);border-radius:20px;padding:7px 12px;white-space:nowrap}.pp-overlay{align-items:flex-start}.pp-card{background:var(--paper);border:1px solid var(--line-strong);border-radius:14px;width:100%;max-width:560px;box-shadow:var(--shadow-lift);animation:pop .22s ease both;overflow:hidden}.pp-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 12px;background:var(--ink);color:var(--paper)}.pp-eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:#9a9da4}.pp-title{margin:4px 0 0;font-size:24px;font-weight:800;letter-spacing:-.02em}.pp-top .iconbtn{color:#c7cad1}.pp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.pp-stat{background:var(--paper-2);padding:16px 10px;text-align:center}.pp-stat-ic{font-size:20px}.pp-stat-v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;letter-spacing:-.02em;margin-top:2px}.pp-stat-k{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;margin-top:2px}.pp-section{padding:18px 22px;border-top:1px solid var(--line)}.pp-sec-h{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px;display:flex;align-items:center;gap:8px}.pp-badge-count{font-family:var(--font-mono);color:var(--ink-faint)}.pp-countries{display:flex;flex-wrap:wrap;gap:8px}.pp-country{display:inline-flex;align-items:center;gap:7px;background:var(--paper-2);border:1px solid var(--line);border-radius:20px;padding:5px 13px 5px 9px;font-size:13px;font-weight:600}.pp-flag{font-size:18px}.pp-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.pp-badge{border:1px solid var(--line);border-radius:12px;padding:13px 8px;text-align:center;background:var(--paper-2);opacity:.5;filter:grayscale(.8);transition:all .2s}.pp-badge.on{opacity:1;filter:none;border-color:var(--gold, #F5B700);box-shadow:0 6px 16px -10px #f5b70099}.pp-badge-ic{font-size:30px;line-height:1}.pp-badge-t{font-size:11px;font-weight:800;margin-top:7px;letter-spacing:-.01em}.pp-badge-d{font-size:10px;color:var(--ink-faint);margin-top:3px;font-family:var(--font-mono)}.pp-badge.on .pp-badge-d{color:var(--ok);font-weight:800}.toast{position:fixed;left:50%;bottom:calc(26px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:2500;background:var(--ink);color:var(--paper);font-weight:700;font-size:14px;padding:13px 22px;border-radius:30px;box-shadow:var(--shadow-lift);white-space:nowrap;animation:toastIn .35s cubic-bezier(.2,.8,.3,1) both}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;overflow:hidden;cursor:pointer;background:#0b0e14;animation:introIn .6s ease both}.intro.leaving{opacity:0;transition:opacity .75s ease}@keyframes introIn{0%{opacity:0}to{opacity:1}}.intro-photos{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.intro-ph{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;will-change:opacity,transform;transform:scale(1.03)}.intro-ph.p1{animation:introPh1 4.6s ease both,introKB 4.6s linear both}.intro-ph.p2{animation:introPh2 4.6s ease both,introKB 4.6s linear both}.intro-ph.p3{animation:introPh3 4.6s ease both,introKB 4.6s linear both}@keyframes introKB{0%{transform:scale(1.03)}to{transform:scale(1.14)}}@keyframes introPh1{0%{opacity:1}29%{opacity:1}40%{opacity:0}to{opacity:0}}@keyframes introPh2{0%{opacity:0}29%{opacity:0}40%{opacity:1}62%{opacity:1}73%{opacity:0}to{opacity:0}}@keyframes introPh3{0%{opacity:0}62%{opacity:0}73%{opacity:1}to{opacity:1}}.intro-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#080c1880,#080c1814 28%,#080c1833 60%,#080c18b8),radial-gradient(120% 100% at 50% 42%,transparent 52%,rgba(8,12,24,.4) 100%)}.intro-scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2}.cl{animation:introDrift 3s ease both}.cl2{animation-duration:3.4s}.cl3{animation-duration:3.2s}.cl4{animation-duration:3.6s}.cl5{animation-duration:2.9s}@keyframes introDrift{0%{transform:translate(-40px);opacity:0}40%{opacity:1}to{transform:translate(26px);opacity:1}}.intro-trail{stroke-dasharray:1;stroke-dashoffset:1;animation:introDraw 2.8s cubic-bezier(.42,0,.5,1) both;filter:drop-shadow(0 0 6px rgba(255,255,255,.4))}@keyframes introDraw{to{stroke-dashoffset:0}}.intro-plane{filter:drop-shadow(0 6px 10px rgba(16,24,48,.35))}.intro-brand{position:absolute;left:0;right:0;bottom:19%;text-align:center;z-index:3;opacity:0;transform:translateY(16px);animation:introBrand 1.1s cubic-bezier(.2,.7,.3,1) 1s both}.intro-name{font-family:var(--font-serif);font-weight:600;font-size:clamp(50px,13vw,82px);letter-spacing:.01em;color:#fff;text-shadow:0 4px 26px rgba(16,24,48,.4)}.intro-slogan{margin-top:10px;font-size:clamp(15px,4vw,19px);font-weight:600;color:#fffffff5;letter-spacing:.005em;text-shadow:0 2px 16px rgba(8,12,24,.55)}.intro-slogan em{font-family:var(--font-serif);font-style:italic;font-weight:500}@keyframes introBrand{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.intro-trail{animation:none;stroke-dashoffset:0}.cl,.intro-ph{animation:none}.intro-ph.p1{opacity:1}.intro-brand{animation:none;opacity:1;transform:none}}.ob-overlay{align-items:center}.ob-card{position:relative;background:var(--paper);border:1px solid var(--line-strong);border-radius:16px;width:100%;max-width:400px;padding:34px 28px 24px;text-align:center;box-shadow:var(--shadow-lift);animation:pop .25s ease both}.ob-skip{position:absolute;top:14px;right:16px;background:none;border:0;color:var(--ink-faint);font-size:12px;font-weight:700;cursor:pointer}.ob-skip:hover{color:var(--ink)}.ob-ic{font-size:52px;line-height:1;margin-bottom:14px}.ob-t{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0 0 10px}.ob-d{font-size:15px;color:var(--ink-soft);margin:0 0 22px;line-height:1.5}.ob-dots{display:flex;justify-content:center;gap:7px;margin-bottom:20px}.ob-dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong);transition:all .2s}.ob-dot.on{background:var(--accent);width:20px;border-radius:4px}.ob-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}.ob-nav .btn{min-width:96px;justify-content:center}.tripbar{background:var(--paper-sunk);border-bottom:1px solid var(--line)}.tripbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 20px}.tripbar-left{position:relative}.trip-switch{display:inline-flex;align-items:center;gap:8px;background:var(--paper-2);border:1px solid var(--line-strong);border-radius:20px;padding:6px 12px;font-weight:700;font-size:13px;color:var(--ink);max-width:60vw}.trip-switch:hover{border-color:var(--navy)}.ts-globe{font-size:14px}.ts-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-caret{color:var(--ink-faint);font-size:11px}.trip-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:40;background:var(--paper-2);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--shadow-lift);min-width:240px;max-width:86vw;padding:6px;max-height:60vh;overflow-y:auto}.trip-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;background:none;border:0;border-radius:6px;padding:9px 11px;color:var(--ink)}.trip-item:hover{background:var(--paper-sunk)}.trip-item.on{background:var(--paper-sunk);box-shadow:inset 2px 0 0 var(--accent)}.ti-name{font-weight:700;font-size:14px}.ti-sub{font-size:11px;color:var(--ink-soft);font-family:var(--font-mono)}.trip-item.new{color:var(--accent);font-weight:700;font-size:13px;border-top:1px solid var(--line);margin-top:4px;border-radius:0 0 6px 6px}.tripbar-actions{display:flex;align-items:center;gap:4px}.tb-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;border-radius:7px;padding:6px 9px;font-size:13px;color:var(--ink-soft);font-weight:700}.tb-btn:hover{background:var(--paper-2);color:var(--ink);border-color:var(--line)}.tb-btn.danger:hover{color:var(--accent)}.tb-btn.primary{background:var(--accent);color:#fff}.tb-btn.primary:hover{background:var(--accent-deep);color:#fff;border-color:transparent}.tb-lbl{font-size:12px}@media(max-width:600px){.tb-lbl{display:none}}.people-box{border:1px solid var(--line);border-radius:var(--rad);padding:13px;background:var(--paper-2)}.people-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;min-height:20px;align-items:center}.person-chip{display:inline-flex;align-items:center;gap:6px;background:var(--paper-sunk);border-radius:20px;padding:4px 6px 4px 11px;font-size:13px;font-weight:600}.person-chip button{background:none;border:0;color:var(--ink-faint);cursor:pointer;font-size:12px;padding:0 2px}.person-chip button:hover{color:var(--accent)}.person-add{display:flex;gap:8px}.person-add input{flex:1}.settle-row{display:flex;align-items:center;gap:8px;font-size:14px;padding:7px 0;border-bottom:1px solid var(--line)}.settle-row:last-child{border-bottom:0}.settle-amt{margin-left:auto;font-family:var(--font-mono);font-weight:700;color:var(--accent)}.journal-list{display:flex;flex-direction:column;gap:16px}.jr-day{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--rad);padding:16px;box-shadow:var(--shadow)}.jr-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.jr-date{font-size:14px}.jr-date b{font-weight:800}.jr-text{width:100%;min-height:70px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--rad);background:var(--paper);color:var(--ink);font-size:14px;line-height:1.55;resize:vertical;font-family:inherit}.jr-text:focus{outline:2px solid var(--navy);border-color:var(--navy)}.jr-photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.jr-photo{position:relative;width:104px;height:104px;border-radius:var(--rad);background-size:cover;background-position:center;box-shadow:var(--shadow)}.split-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--rad);padding:16px;box-shadow:var(--shadow);margin-bottom:16px}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:680px){.split-grid{grid-template-columns:1fr}}.bal-list{display:flex;flex-direction:column}.bal-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.bal-row:last-child{border-bottom:0}.bal-name{font-weight:600;font-size:14px}.bal-net{font-family:var(--font-mono);font-weight:800;font-size:14px}.bal-net.pos{color:var(--ok)}.bal-net.neg{color:var(--accent)}.split-total{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line-strong);font-size:12px;color:var(--ink-soft)}.split-form{display:grid;gap:12px}.sf-row{display:flex;gap:10px;flex-wrap:wrap}.sf-row input{flex:1;min-width:0}.sf-row .sf-field{min-width:140px}.sf-field{display:grid;gap:6px}.sf-field>label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.sf-parts{display:flex;flex-wrap:wrap;gap:6px}.part-chip{border:1px solid var(--line-strong);background:var(--paper);color:var(--ink-soft);border-radius:20px;padding:5px 12px;font-size:13px;font-weight:600}.part-chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.sf-actions{display:flex;justify-content:flex-end;gap:10px}.shared-list{display:flex;flex-direction:column;gap:8px}.unequal-tog{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink-soft)}.unequal-tog input{width:auto}.part-wrap{display:inline-flex;align-items:center;gap:4px}.part-w{width:46px;padding:5px 6px;text-align:center}.sh-ic{font-size:20px;flex:none}.shared-row{display:flex;align-items:center;gap:12px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--rad);padding:11px 14px;box-shadow:var(--shadow)}.sh-main{flex:1;min-width:0}.sh-label{font-weight:700;font-size:14px}.sh-sub{font-size:12px;color:var(--ink-soft);margin-top:1px}.sh-amt{font-family:var(--font-mono);font-weight:800;font-size:15px;flex:none}.split-hint{font-size:12px;color:var(--ink-soft);background:var(--paper-sunk);border-radius:var(--rad);padding:11px 13px}.smartpack{border:1px dashed var(--line-strong);border-radius:var(--rad);padding:12px 13px;margin-bottom:12px;background:var(--paper-2)}.sp-head{font-size:12px;color:var(--ink-soft);margin-bottom:10px}.sp-types{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.sp-edit{background:none;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink-soft);font-size:12px;font-weight:700;padding:4px 9px;cursor:pointer;flex:none}.sp-edit:hover{color:var(--ink);border-color:var(--navy)}.sp-chip-wrap{position:relative;display:inline-flex}.sp-chip-wrap.editing .tpl-chip{padding-right:24px}.sp-rm{position:absolute;top:50%;right:5px;transform:translateY(-50%);width:16px;height:16px;border:0;border-radius:50%;background:var(--accent);color:#fff;font-size:9px;line-height:1;cursor:pointer;display:grid;place-content:center}.tpl-chip.add{border-style:dashed;color:var(--navy)}.sp-reset{background:none;border:0;color:var(--ink-faint);font-size:12px;font-weight:700;cursor:pointer}.sp-reset:hover{color:var(--ink)}.sp-addform{margin-top:10px;display:grid;gap:8px}.sp-addrow{display:flex;gap:8px}.sp-emoji{width:56px;text-align:center;flex:none}.sp-addform textarea{min-height:54px;resize:vertical}.tpl-grid{display:flex;flex-wrap:wrap;gap:7px}.tpl-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--paper-2);color:var(--ink);border-radius:20px;padding:7px 13px;font-size:13px;font-weight:700;transition:all .14s}.tpl-chip:hover{border-color:var(--navy);transform:translateY(-1px)}.tpl-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.tpl-emoji{font-size:14px}.geo-hint{font-size:11px;color:var(--ink-faint);min-height:15px}.geo-hint .geo-ok{color:var(--ok);font-weight:700}.nextup{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20;box-shadow:var(--shadow)}.nextup-inner{display:flex;align-items:stretch;gap:10px;padding:8px 20px}.nextup-main{flex:1;display:flex;align-items:center;gap:12px;background:none;border:0;color:#fff;text-align:left;padding:4px 0;min-width:0}.nextup-tag{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#ffffff2e;padding:3px 8px;border-radius:10px;white-space:nowrap;flex:none}.nextup-tag.now{background:var(--accent)}.nextup-time{font-family:var(--font-mono);font-weight:700;font-size:15px;flex:none}.nextup-title{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nextup-map{display:inline-flex;align-items:center;justify-content:center;width:38px;border-radius:var(--rad);color:#fff;background:#ffffff24;flex:none}.nextup-map:hover{background:#ffffff42}.nextup-map svg{width:18px;height:18px}.day-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:10px;flex-wrap:wrap}.day-toolbar .day-progress{flex:1;margin-bottom:0;min-width:160px}.route-btn{text-transform:none;letter-spacing:0;background:var(--navy);color:#fff;border-color:var(--navy);white-space:nowrap}.route-btn:hover{background:#16304f;border-color:#16304f}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat{border:1px solid var(--line);border-radius:var(--rad);padding:12px 14px;background:var(--paper)}.stat-v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800;letter-spacing:-.01em}.stat-k{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;margin-top:3px}.phrases{display:flex;flex-direction:column}.phrase{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--line)}.phrase:last-child{border-bottom:0}.ph-fr{font-size:13px;color:var(--ink-soft)}.ph-en{font-size:13px;font-weight:700;text-align:right}.customs{display:flex;flex-direction:column;gap:10px}.custom{display:flex;gap:10px;font-size:13px;align-items:flex-start}.cu-ic{font-size:16px;flex:none;line-height:1.3}.form-list{display:flex;flex-direction:column}.form-row{display:flex;align-items:flex-start;gap:11px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;cursor:pointer}.form-row:last-child{border-bottom:0}.form-row.done span{color:var(--ink-faint);text-decoration:line-through}.form-row .check{margin-top:1px;flex:none}.clock-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.clock-col{text-align:center}.clock-t{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;letter-spacing:-.01em;color:var(--accent)}.clock-t.home{color:var(--ink)}.clock-k{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;margin-top:2px}.clock-diff{font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--ink-soft);background:var(--paper-sunk);border-radius:20px;padding:5px 12px;white-space:nowrap}.accent-row{display:flex;flex-wrap:wrap;gap:10px}.accent-sw{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);cursor:pointer;display:grid;place-content:center;transition:transform .1s}.accent-sw:hover{transform:scale(1.1)}.accent-sw.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--ink)}.sw-check{color:#fff;font-size:14px;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.4)}.up-list{display:flex;flex-direction:column;gap:6px}.up-row{display:flex;gap:11px;align-items:baseline;padding:7px 10px;border:1px solid var(--line);border-radius:var(--rad)}.up-t{font-size:13px;font-weight:700;color:var(--accent);flex:none}.up-ti{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fab{position:fixed;right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:40;width:56px;height:56px;border-radius:50%;border:0;background:var(--accent);color:#fff;font-size:30px;font-weight:300;line-height:1;box-shadow:0 10px 24px -8px #d8372b99,var(--shadow);cursor:pointer;transition:transform .12s,box-shadow .15s;display:flex;align-items:center;justify-content:center}.fab:hover{transform:translateY(-2px) scale(1.04);background:var(--accent-deep)}.fab:active{transform:scale(.95)}@media print{.fab{display:none}}.offline-banner{background:var(--warn);color:#fff;font-size:12.5px;font-weight:700;text-align:center}.offline-banner .wrap{display:block;padding:8px 20px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2600;background:#080a10eb;display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out;animation:introIn .2s ease both}.lightbox img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 30px 80px -30px #000c}.lb-close{position:fixed;top:16px;right:18px;background:#ffffff24;border:0;color:#fff;width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer}.lb-close:hover{background:#ffffff47}.place-photo,.jr-photo{cursor:zoom-in}.install-hint{background:var(--navy);color:#fff}.ih-in{display:flex;align-items:center;gap:12px;padding:10px 20px}.ih-ic{font-size:18px;flex:none}.ih-txt{flex:1;font-size:13px;font-weight:600;line-height:1.35}.ih-btn{flex:none;background:#fff;color:var(--navy);border:0;border-radius:20px;padding:7px 16px;font-weight:800;font-size:13px;cursor:pointer}.ih-btn:hover{background:var(--gold, #F5B700)}.ih-close{flex:none;background:none;border:0;color:#ffffffb3;font-size:15px;cursor:pointer;padding:4px}.ih-close:hover{color:#fff}.home-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--ink);color:var(--paper);border-radius:14px;padding:22px 24px;margin-bottom:14px}.home-hero.has-photo{background-size:cover;background-position:center}.home-hero.has-photo:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0a0c14d1,#0a0c1473 60%,#0a0c1440)}.home-hero>*{position:relative;z-index:1}.home-forecast{display:flex;gap:7px;overflow-x:auto;padding-bottom:10px;margin-bottom:14px;scrollbar-width:none}.home-forecast::-webkit-scrollbar{display:none}.hf-day{flex:none;width:58px;border:1px solid var(--line);background:var(--paper-2);border-radius:10px;padding:9px 4px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1px;transition:border-color .15s,transform .1s}.hf-day:hover{border-color:var(--line-strong);transform:translateY(-2px)}.hf-day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.hf-dow{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.hf-num{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.hf-ic{font-size:17px}.hf-t{font-size:11px;font-family:var(--font-mono);color:var(--ink-soft);font-weight:700}.hh-dest{font-size:clamp(26px,6vw,40px);font-weight:900;letter-spacing:-.03em;margin:4px 0 6px;line-height:1}.hh-sub{font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--accent)}.hh-sub-k{color:#9a9da4;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-left:6px}.hh-wx{text-align:center;flex:none}.hh-wx-ic{font-size:40px;display:block;line-height:1}.hh-wx-t{font-family:var(--font-mono);font-size:20px;font-weight:800;color:var(--paper)}.home-card,.home-sc,.hf-day{animation:homeIn .4s ease both}.home-grid .home-card:nth-child(2){animation-delay:.05s}.home-grid .home-card:nth-child(3){animation-delay:.1s}.home-grid .home-card:nth-child(4){animation-delay:.15s}.home-grid .home-card:nth-child(5){animation-delay:.2s}@keyframes homeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.home-card,.home-sc,.hf-day{animation:none}}.home-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:18px}@media(max-width:620px){.home-grid{grid-template-columns:1fr}}.home-card{text-align:left;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow);display:block;width:100%;transition:transform .12s,box-shadow .16s,border-color .16s}button.home-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:var(--line-strong)}.accent-card{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--paper-2)),var(--paper-2));border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.hc-eyebrow{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.accent-card .hc-eyebrow{color:var(--accent)}.hc-next-time{font-family:var(--font-mono);font-size:24px;font-weight:800;color:var(--accent)}.hc-next-title{font-size:18px;font-weight:800;letter-spacing:-.01em;margin-top:2px}.hc-next-note{font-size:13px;color:var(--ink-soft);margin-top:4px}.hc-plan{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.hc-plan li{display:flex;gap:10px;font-size:13.5px;font-weight:600;align-items:baseline}.hc-plan li.done{color:var(--ink-faint);text-decoration:line-through}.hp-t{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);font-weight:700;flex:none;width:40px}.hc-more{font-size:12px;color:var(--ink-faint);margin-top:6px;font-weight:600}.hc-foot{font-size:12px;color:var(--ink-soft);margin-top:10px;font-weight:700}.hc-empty{font-size:14px;color:var(--ink-soft)}.hc-prog{display:flex;flex-direction:column;gap:6px}.hp-row{display:flex;justify-content:space-between;font-size:13px}.hp-row b{font-family:var(--font-mono)}.hp-bar{height:6px;background:var(--paper-sunk);border-radius:6px;overflow:hidden;margin-bottom:4px}.hp-bar>span{display:block;height:100%;background:var(--navy);border-radius:6px;transition:width .5s}.hp-bar.green>span{background:var(--ok)}.hp-bar.accent>span{background:var(--accent)}.hc-budget{display:flex;align-items:baseline;gap:8px}.hb-spent{font-family:var(--font-mono);font-size:26px;font-weight:800}.hb-of{font-family:var(--font-mono);font-size:14px;color:var(--ink-faint)}.home-shortcuts{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.home-sc{position:relative;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:16px 10px;text-align:center;transition:transform .12s,box-shadow .16s,border-color .16s}.home-sc:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:var(--navy)}.sc-ic{font-size:26px;display:block}.sc-label{font-size:12px;font-weight:700;margin-top:6px;display:block}.sc-n{position:absolute;top:8px;right:8px;font-family:var(--font-mono);font-size:10px;font-weight:700;background:var(--accent);color:#fff;border-radius:10px;padding:1px 6px}.trips-section{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.trips-toggle{background:none;border:0;font-size:14px;font-weight:800;letter-spacing:.02em;color:var(--ink);cursor:pointer;padding:4px 0;display:inline-flex;align-items:center;gap:8px}.tt-caret{color:var(--ink-faint);font-size:12px}.trips-locate{margin-top:10px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.legs{display:flex;flex-direction:column;gap:10px;margin-top:10px}.leg{border:1px solid var(--line);border-radius:var(--rad);padding:12px 14px;background:var(--paper-2);box-shadow:var(--shadow)}.leg-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.leg-ab{font-weight:700;font-size:14px}.leg-arr{color:var(--ink-faint)}.leg-km{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);flex:none}.leg-opts{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 8px}.leg-opt{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;padding:6px 11px;font-size:12.5px;background:var(--paper);color:var(--ink);text-decoration:none;transition:border-color .15s,transform .1s,box-shadow .15s}.leg-opt:hover{border-color:var(--navy);transform:translateY(-1px);box-shadow:var(--shadow)}.leg-opt.best{border-color:var(--ok);background:var(--ok-bg)}.leg-opt.best:hover{border-color:var(--ok)}.leg-opt .lo-ic{font-size:14px}.leg-opt .lo-txt{font-weight:600}.lo-tag{font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--ok);border-radius:8px;padding:1px 6px}.lo-go{color:var(--navy);font-weight:800;font-size:11px}.leg-opt.best .lo-go{color:var(--ok)}.hourstrip{display:flex;gap:6px;overflow-x:auto;padding:10px;margin-bottom:12px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--rad);scrollbar-width:thin}.hour{flex:1 0 auto;min-width:56px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px 6px}.hour+.hour{border-left:1px solid var(--line)}.hr-t{font-size:10px;font-weight:700;color:var(--ink-faint);font-family:var(--font-mono)}.hr-ic{font-size:18px}.hr-tp{font-size:13px;font-weight:700;font-family:var(--font-mono)}.hr-rain{font-size:10px;color:var(--navy);font-weight:700;font-family:var(--font-mono)}.rain-alert{background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);border-radius:var(--rad);padding:12px 14px;margin-bottom:14px}.ra-head{font-size:13px;font-weight:700;color:var(--warn);margin-bottom:9px}.ra-chips{display:flex;flex-wrap:wrap;gap:6px}.ra-chip{font-size:12px;font-weight:600;text-decoration:none;color:var(--ink);background:var(--paper-2);border:1px solid var(--line-strong);border-radius:20px;padding:4px 11px;transition:border-color .15s,transform .1s}.ra-chip:before{content:"📍 "}.ra-chip:hover{border-color:var(--navy);color:var(--navy);transform:translateY(-1px)}.chip-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px}.chip-wx{font-size:10px;color:var(--ink-soft);font-family:var(--font-mono);white-space:nowrap}.day-note{width:100%;height:42px;padding:9px 12px;border:1px dashed var(--line-strong);border-radius:var(--rad);background:var(--paper-2);color:var(--ink);font-size:13px;resize:vertical;margin:4px 0 14px}.day-note:focus{outline:2px solid var(--navy);border-style:solid;border-color:var(--navy)}.day-progress{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:11px;color:var(--ink-soft);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.dp-bar{flex:1;height:5px;background:var(--paper-sunk);border-radius:5px;overflow:hidden}.dp-bar>span{display:block;height:100%;background:var(--ok);border-radius:5px;transition:width .4s}.tl-check{display:flex;align-items:flex-start;padding-top:1px;flex:none}.tl-item.is-done .tl-card{opacity:.58}.tl-item.is-done .ttl{text-decoration:line-through;text-decoration-color:var(--ink-faint)}.now-tag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--accent);padding:2px 8px;border-radius:10px;margin-bottom:6px}.now-tag.next{background:var(--navy)}.tl-item.is-now .tl-card{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}.tl-item.is-next .tl-card{border-color:var(--navy)}.tube{display:flex;flex-direction:column;gap:9px}.tube-row{display:flex;align-items:center;gap:10px;font-size:13px}.tube-dot{width:14px;height:14px;border-radius:50%;flex:none;box-shadow:0 0 0 1px var(--line-strong)}.emg{display:flex;flex-direction:column}.emg-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.emg-row:last-child{border-bottom:0}.emg-v{font-family:var(--font-mono);font-weight:700;color:var(--navy);text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}.catbreak{margin-bottom:22px}.cb-row{display:grid;grid-template-columns:104px 1fr auto;align-items:center;gap:10px;margin-bottom:8px}.cb-name{font-size:12px;font-weight:600;display:flex;align-items:center;gap:7px;min-width:0}.cb-dot{width:9px;height:9px;border-radius:2px;flex:none}.cb-bar{height:8px;background:var(--paper-sunk);border-radius:5px;overflow:hidden}.cb-bar>span{display:block;height:100%;border-radius:5px;transition:width .5s}.cb-amt{font-family:var(--font-mono);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.print-only{display:none}@media(max-width:680px){.wrap{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.board-inner{padding-top:calc(20px + env(safe-area-inset-top))}.board-top{gap:12px}.destination h1{font-size:clamp(38px,12vw,60px)}.countdown{padding:9px 12px;gap:10px}.countdown .big{font-size:26px}.countdown .lab{font-size:9px;max-width:60px}nav.tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}nav.tabs::-webkit-scrollbar{display:none}nav.tabs button{padding:11px 12px 13px;white-space:nowrap;flex:none}.panel-head h2{font-size:22px}.prac-grid{grid-template-columns:1fr;gap:16px}.pass-grid{grid-template-columns:1fr}.data-btns .btn{flex:1 1 100%;justify-content:center}.modal{margin-top:0}.overlay{padding:16px}}@media(hover:none){.iconbtn,.del,.maplink-ic{padding:7px 9px}.star{padding:4px;font-size:17px}.check{width:22px;height:22px}}@media print{.tripbar,.nextup,header.board,main,footer.foot,.overlay{display:none!important}body{background:#fff;color:#000}.print-only{display:block!important}.souvenir{color:#000}.sv-cover{text-align:center;padding:60px 0 30px;border-bottom:3px solid #000;margin-bottom:24px;break-after:avoid}.sv-eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:700}.sv-title{font-size:46px;font-weight:900;letter-spacing:-.03em;margin:10px 0 6px}.sv-dates{font-size:15px;font-family:var(--font-mono)}.sv-day{break-inside:avoid;margin-bottom:14px}.sv-day h3{font-size:14px;margin:0 0 4px;border-bottom:1px solid #000;padding-bottom:2px}.sv-note{font-style:italic;font-size:12px;margin:0 0 4px}.sv-day ul{margin:0;padding-left:18px}.sv-day li{font-size:12px;margin-bottom:2px}.sv-gallery{break-before:page;margin-top:10px}.sv-gallery h3{font-size:18px;border-bottom:2px solid #000;padding-bottom:4px}.sv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.sv-grid figure{margin:0;break-inside:avoid}.sv-grid img{width:100%;height:150px;object-fit:cover;border-radius:4px;display:block}.sv-grid figcaption{font-size:11px;font-weight:700;margin-top:3px}.sv-journal{font-size:12px;line-height:1.5;margin:6px 0;font-style:italic}.sv-grid-sm{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.sv-grid-sm img{height:90px}}
