/* Batch54: use existing typography, dialogs, navigation and masonry. */
.flight-mark{display:flex;align-items:center;gap:4px;max-width:100%;margin:7px 0;padding:4px 5px;border:0;border-radius:6px;background:var(--soft,#f2f4f1);color:var(--muted,#7c7e82);font:inherit;font-size:11px;white-space:nowrap;text-align:left;cursor:pointer}
.flight-mark svg,#editor-flight svg{width:15px;height:15px;flex-shrink:0}.flight-mark b{color:var(--green,#404246);font-weight:500}.flight-mark i{font-style:normal;margin-left:auto}.flight-card{margin:14px 0}.flight-card .flight-mark{font-size:14px;padding:10px 12px;width:100%;gap:8px}.flight-card small{display:block;padding:0 12px;color:var(--muted);font-size:12px}.flight-sheet .flight-form{display:grid;gap:12px}.flight-field{display:grid;gap:6px;font-size:14px}.flight-field em{font-style:normal;font-size:12px;color:var(--muted)}.flight-form-hint,.flight-fineprint{font-size:12px;color:var(--muted);margin:3px 0 10px;line-height:1.5}.flight-airports{display:grid;gap:8px;position:relative}.flight-airport{position:relative;display:grid;gap:5px}.flight-airport-label{font-size:14px}.flight-airport-chosen{display:flex;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--line,var(--q-line));border-radius:10px;text-align:left}.flight-airport-chosen small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-airport-chosen i{margin-left:auto}.flight-airport.is-picked>input{display:none}.flight-airport-list{max-height:180px;overflow:auto;border:1px solid var(--line,var(--q-line));border-radius:10px}.flight-airport-list button{display:flex;flex-wrap:wrap;gap:8px;width:100%;padding:10px;border-bottom:1px solid var(--line,var(--q-line));text-align:left}.flight-airport-list small{font-size:12px;color:var(--muted)}.flight-airport-empty{padding:10px;font-size:13px}.flight-swap{position:absolute;right:0;top:-27px;font-size:20px;padding:0 8px}.flight-airline-hint{font-size:12px;color:var(--muted)}.flight-confirm{display:flex;align-items:center;gap:8px;font-size:14px}.flight-confirm input{width:18px;height:18px;accent-color:var(--green,#404246)}.flight-form-actions{display:flex;gap:10px}.flight-form-actions .primary{flex:1}.flight-form .is-invalid{outline:1px solid #a34e40;border-radius:8px}.flight-form [hidden]{display:none}.flight-stories .grid{columns:2;column-gap:10px;display:block}.flight-stories .grid>.card{break-inside:avoid;margin:0 0 10px;display:inline-block;width:100%}.flight-stories .feed-photo{height:auto!important;aspect-ratio:auto!important}.flight-loading,.flight-empty{padding:30px 12px;text-align:center;color:var(--muted)}.flight-stats{display:flex;justify-content:space-around;padding:18px 0}.flight-stats>div{display:grid;text-align:center;gap:5px}.flight-stats b{font-size:28px;color:var(--green,#404246)}.flight-stats span{font-size:12px;color:var(--muted)}.flight-tools{display:flex;align-items:center;gap:8px}.flight-tools label{margin-right:auto}.flight-tools select{width:auto;font-size:14px}.flight-legs article{padding:16px 0;border-top:1px solid var(--line,var(--q-line))}.flight-legs article>div:first-child{display:grid;gap:6px}.flight-legs small{font-size:12px;color:var(--muted)}.flight-leg-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:13px;color:var(--green,#404246)}.flight-route-map{width:100%;max-height:300px;background:var(--soft,#f2f4f1);border-radius:12px}.flight-route-map path{fill:none;stroke:#939599;stroke-width:1.5}.flight-route-map circle{fill:#404246}.flight-route-map text{fill:#404246;font:12px sans-serif}.flight-share-image{display:block;max-width:100%;max-height:60dvh;object-fit:contain;margin:auto}.flight-stories .flight-mark{font-size:11px}@media(max-width:360px){.flight-mark{font-size:10px;gap:3px}.flight-mark svg{width:12px;height:12px}}

.flight-route-map .flight-map-grid path{stroke:#e3e5e9;stroke-width:.7}.flight-stories .community-grid{gap:10px}.flight-stories .feed-photo{height:auto!important;aspect-ratio:auto!important}
/* Bottom sheet with internal scrolling, including keyboard/small-screen cases. */
.flight-sheet.editor-sheet{position:fixed;inset:auto 0 0;height:auto;max-height:90dvh;width:min(100%,560px);margin:0 auto;border-radius:20px 20px 0 0;display:flex;flex-direction:column;background:var(--card,#fff)}
.flight-sheet>.sheet-content{overflow-y:auto;min-height:0;padding:12px 16px max(16px,env(safe-area-inset-bottom));overscroll-behavior:contain}.flight-form label{margin:0}.flight-form input.setting-input{margin:0;min-height:44px;padding:10px 12px;font-size:16px}.flight-form .flight-airline-hint:empty{display:none}.flight-form .flight-error:empty{display:none}.flight-form .flight-confirm{margin-top:4px}.flight-sheet .flight-form{gap:10px}.flight-form-actions{position:sticky;bottom:0;background:var(--card,#fff);padding-top:6px}.flight-stories .flight-mark{min-height:28px}

.profile-tools{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0 14px}.profile-tools .profile-drafts{position:static!important;inset:auto!important;margin:0;padding:7px 11px;font-size:12px;border:1px solid var(--line,var(--q-line));border-radius:8px;transform:none!important}
.flight-route-map{display:block;height:auto!important;aspect-ratio:9/7;min-height:200px;max-height:300px}
.flight-footprint .flight-route-map{width:100%;stroke:none;background:var(--q-tint)}
.flight-footprint .flight-route-map text,.flight-footprint .flight-route-map circle{fill:var(--q-accent)}
.flight-footprint .flight-route-map path{stroke:var(--q-muted)}
.flight-footprint .flight-route-map .flight-map-grid path{stroke:var(--q-line)}

/* Batch54 fix1: custom date calendar and flight identity area. */
.flight-form .flight-date-trigger{box-sizing:border-box;width:100%;height:44px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:0;border-radius:var(--input-radius,18px);background:var(--soft,#f2f3f3);font:inherit;font-size:16px;color:var(--text,#222);text-align:left;-webkit-appearance:none;appearance:none}
.flight-date-trigger svg{width:19px;height:19px;color:var(--green,#404246);flex-shrink:0}.flight-form .flight-swap{top:0;right:0;min-width:40px;height:28px;font-size:19px;display:flex;align-items:center;justify-content:center}
.flight-date-sheet .sheet-content{padding:8px 20px max(20px,env(safe-area-inset-bottom))}.flight-calendar{max-width:420px;margin:auto}.flight-calendar button{font:inherit;cursor:pointer;border:0;background:transparent;color:var(--text,#222);touch-action:manipulation}.flight-calendar button:disabled{opacity:.25;cursor:default}.flight-calendar-nav,.flight-calendar-year{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin-bottom:8px}.flight-calendar-nav>button,.flight-calendar-year>button{min-height:44px;min-width:44px;font-size:26px}.flight-calendar-nav [data-months]{font-size:18px;font-weight:600;color:var(--green,#404246)}.flight-calendar-nav [data-months] span{font-size:14px;margin-left:6px}.flight-calendar-week,.flight-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.flight-calendar-week{font-size:12px;color:var(--muted,#888);margin:10px 0}.flight-calendar-days button{height:42px;width:100%;padding:0;border-radius:14px;font-size:16px}.flight-calendar .is-today{box-shadow:inset 0 0 0 1px var(--green,#404246)}.flight-calendar .is-selected{background:var(--green,#404246);color:#fff}.flight-calendar .flight-calendar-today{display:block;margin:18px auto 0;padding:10px 20px;color:var(--green,#404246);font-size:14px}.flight-calendar-year label{display:flex;align-items:center;gap:8px}.flight-calendar-year input{box-sizing:border-box;width:90px;min-height:44px;margin:0;padding:8px;text-align:center;font:inherit;font-size:18px;background:var(--soft,#f2f3f3);border:0;border-radius:12px}.flight-calendar-months{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.flight-calendar-months button{min-height:48px;border-radius:14px}.flight-calendar-help{font-size:12px;color:var(--muted,#888);text-align:center;margin:0 0 16px}.flight-calendar-error{font-size:13px;color:#a34e40}.flight-calendar-error:empty{display:none}
#dialog:has(.flight-hero)>header #dialog-title{visibility:hidden}
.flight-hero{box-sizing:border-box;min-height:25svh;display:flex;align-items:center;justify-content:center;padding:12px 10px 28px;container-type:inline-size}
.flight-hero h1{margin:0;max-width:100%;font-family:Arial,Helvetica,sans-serif;font-weight:750;font-size:clamp(42px,calc(145cqw / var(--flight-length)),112px);letter-spacing:-.045em;line-height:1.05;color:var(--green,#404246);white-space:nowrap}
@media(max-width:360px){.flight-date-sheet .sheet-content{padding-left:14px;padding-right:14px}.flight-calendar-days{gap:2px}.flight-calendar-days button{height:40px}}

/* Batch55: original logo paths, flight ticket and shared publishing control. */
.flight-mark>svg,#editor-flight svg{width:34px;height:auto;aspect-ratio:1507/1044;flex-shrink:0;mix-blend-mode:multiply}
.action-sheet svg[viewBox="0 0 1507 1044"]{width:34px;height:auto;aspect-ratio:1507/1044}
#dialog:has(.flight-stories){background:var(--q-surface);overflow:hidden;display:flex;flex-direction:column}
#dialog:has(.flight-stories)>header{flex-shrink:0}
#dialog:has(.flight-stories)>header #dialog-title{visibility:hidden}
#dialog:has(.flight-stories) #dialog-body{flex:1;min-height:0;overflow-y:auto;padding:12px 16px calc(114px + env(safe-area-inset-bottom));overscroll-behavior:contain}
.flight-ticket{position:relative;isolation:isolate;overflow:hidden;border:1px solid #e1e3e7;border-radius:14px;padding:18px 16px 20px;margin:0 0 24px;background:radial-gradient(ellipse at 8% 0%,rgba(255,255,250,.98) 0%,rgba(255,255,250,.35) 42%,transparent 75%),linear-gradient(145deg,#f0f4ed 0%,#e9ebef 58%,#dee0e4 100%);border-color:#ffffff #d6d8dc #c5c7cb #e6e8ec;box-shadow:0 1px 1px rgba(29,57,39,.14),1px 3px 5px -2px rgba(29,57,39,.14),4px 12px 20px -10px rgba(29,57,39,.28),7px 24px 34px -20px rgba(29,57,39,.22),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(54,81,54,.08);color:#3a3e44;container-type:inline-size}
.flight-watermark{position:absolute;right:6px;top:18px;width:46%;opacity:.125;mix-blend-mode:multiply;z-index:-1;pointer-events:none}
.flight-watermark>svg{display:block;width:100%;height:auto;aspect-ratio:1507/1044}
.flight-ticket-airline{font-size:12px;letter-spacing:.06em;min-height:18px;line-height:1.5;margin:0 0 17px;color:#515357}
.flight-ticket-label{font:10px Arial,Helvetica,sans-serif;letter-spacing:1.2px;color:#8a8c90;margin:0 0 4px}
.flight-ticket h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(32px,calc(80cqw / var(--flight-length)),70px);font-weight:750;letter-spacing:-.045em;line-height:1.08;white-space:nowrap;margin:0 0 20px;max-width:70%;color:#3a3e44}
.flight-ticket-route{display:grid;grid-template-columns:minmax(0,1fr) minmax(28px,.9fr) minmax(0,1fr);align-items:start;gap:12px}
.flight-ticket-airport{min-width:0;text-align:left}.flight-ticket-airport:last-child{justify-self:end;max-width:100%}
.flight-ticket-airport>small{display:block;font:9px Arial,Helvetica,sans-serif;letter-spacing:1.4px;color:#8a8c90;margin:0 0 5px}
.flight-ticket-airport>strong{display:block;font-size:clamp(15px,calc(23cqw / var(--airport-length)),26px);font-weight:650;line-height:1.25;overflow-wrap:anywhere;letter-spacing:.02em}
.flight-ticket-airport>p{font-size:11px;line-height:1.5;color:#8e9094;margin:6px 0 0;overflow-wrap:anywhere}.flight-ticket-airport>p>span{color:#4b4d51}
.flight-ticket-arrow{width:100%;height:12px;stroke:#a1a3a7;stroke-width:1.2;align-self:start;margin-top:27px}
.flight-history-title{font-size:20px;font-weight:650;margin:0 0 14px;color:var(--ink,#26282c);line-height:1.4}
.flight-list-status{text-align:center;font-size:12px;color:var(--muted);padding:16px 0;margin:0}.flight-list-status:empty{display:none}.flight-stories [hidden]{display:none!important}
.flight-compose-dock{position:absolute;inset:auto 0 0;z-index:5;height:110px;box-sizing:content-box;padding-bottom:env(safe-area-inset-bottom);display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(to bottom,#fff0 0%,#ffffffcc 42%,#fff 84%);pointer-events:none}
.flight-compose-dock>.publish{pointer-events:auto;margin:0 0 22px!important;align-self:auto}
@media(max-width:360px){.flight-mark>svg{width:28px;height:auto}.flight-ticket{padding:16px 12px}.flight-ticket-route{gap:8px}.flight-history-title{font-size:18px}}

/* Batch57: independent back layer, compact ticket and continuous feed. */
#dialog#dialog:has(.flight-stories)>header{position:absolute;inset:env(safe-area-inset-top) 0 auto;z-index:6;height:0;min-height:0;padding:0;border:0;background:transparent;overflow:visible;pointer-events:none}
#dialog:has(.flight-stories)>header #dialog-title{display:none}
#dialog:has(.flight-stories)>header #close-dialog{position:absolute;left:18px;top:8px;width:44px;height:44px;margin:0;padding:12px;pointer-events:auto;border-radius:50%;background:#f7faf4e8}
#dialog:has(.flight-stories) #dialog-body{padding:calc(8px + env(safe-area-inset-top)) 16px calc(88px + env(safe-area-inset-bottom))}
.flight-ticket{padding:48px 20px 16px}
.flight-ticket-airline{margin-bottom:6px}
.flight-compose-dock{height:78px;background:linear-gradient(to bottom,#ffffff00 0%,#ffffff35 35%,#ffffffb3 100%)}
.flight-compose-dock>.publish{margin-bottom:16px!important;box-shadow:0 2px 5px #2f313526;outline:none}
.flight-mini{position:absolute;top:8px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100% - 140px);height:40px;box-sizing:border-box;padding:4px 15px 4px 10px;border-radius:22px;background:#eef0f4eF;box-shadow:0 1px 4px #3d3f4314;color:#3a3e44;white-space:nowrap}
.flight-mini[hidden]{display:none}.flight-mini svg{width:42px;height:auto;aspect-ratio:1507/1044;flex:none}.flight-mini strong{font-size:17px}
@media(max-width:360px){.flight-ticket{padding:48px 16px 16px}.flight-mini{gap:6px;padding-right:10px}.flight-mini svg{width:34px}.flight-mini strong{font-size:15px}}

/* Preserve the pill's visual proportions, reserve a non-overlapping 44px touch row. */
.flight-mark{min-height:44px;box-sizing:border-box;margin:0;padding-top:10px;padding-bottom:10px;background:transparent;position:relative;isolation:isolate;color:var(--text-secondary,#6b6d71)}
.flight-mark:before{content:"";position:absolute;inset:7px 0;background:var(--soft,#f2f4f1);border-radius:6px;z-index:-1;pointer-events:none}
