@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable-dynamic-subset.css";
:root{--bg:#f5f7fb;--nav:#080d1a;--surface:#fff;--surface-soft:#edf2f8;--border:#d9e0ea;--ink:#07111f;--muted:#617089;--blue:#1f5bff;--blue-dark:#1748cc;--blue-soft:#e8efff;--green:#16a37b;--gold:#f4d271;--font-display:"Pretendard Variable", "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif;--font-body:"Pretendard Variable", "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body), sans-serif;margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}main{min-height:100vh}.nav-bar{background:var(--nav);color:#fff;grid-template-columns:auto 1fr;align-items:center;gap:28px;min-height:50px;padding:0 20px;display:grid}.brand,.nav-links{align-items:center;display:flex}.brand{letter-spacing:0;gap:10px;min-width:0;font-weight:900}.brand-mark{flex:none;width:26px;height:26px;display:block}.nav-links{gap:4px;min-width:0;height:100%}.nav-links a{color:#c8d2e3;align-items:center;height:100%;padding:0 14px;font-size:.9rem;display:inline-flex}.nav-links a[aria-current=page]{color:#fff;border-bottom:3px solid var(--blue);background:#111b32}.home-top,.today-discoveries,.announcement-banner,.hotel-page-hero,.hotel-promo-section,.hotel-stay-section,.hotel-stay-featured,.hotel-stay-property-list,.inventory-section,.route-section,.announcement-section,.feedback-section,.site-footer{width:min(1400px,100% - 40px);margin:0 auto}.home-top{padding:24px 0 16px}.today-discoveries{padding:0 0 18px}.today-discoveries__panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);gap:0;display:grid;overflow:hidden;box-shadow:0 10px 28px #0f172a0d}.today-discoveries__copy{border-right:1px solid var(--border);padding:22px}.today-discoveries__copy span{color:var(--muted);font-size:.78rem;font-weight:800}.today-discoveries__copy h3{letter-spacing:0;margin:8px 0 10px;font-size:1.35rem;line-height:1.2}.today-discoveries__copy p{color:#3c485e;line-height:1.65}.today-discoveries__items{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.today-discovery-card{border-right:1px solid var(--border);align-content:space-between;gap:12px;min-height:150px;padding:18px;transition:background-color .15s,color .15s;display:grid}.today-discovery-card:last-child{border-right:0}.today-discovery-card:hover{background:#f7f9fd}.today-discovery-card strong{font-size:.98rem;line-height:1.45}.today-discovery-card span{color:var(--muted);font-size:.82rem;line-height:1.45}.today-discovery-card em{color:var(--blue);font-size:.84rem;font-style:normal;font-weight:900}.today-discoveries__actions{display:none}.eyebrow{color:var(--blue);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:900}h1,h2,p{margin:0}h1,h2{font-family:var(--font-display), sans-serif;letter-spacing:0}h1{word-break:keep-all;font-size:clamp(2.4rem,4.2vw,4.2rem);line-height:1.04}h1 span{color:var(--blue)}.search-box{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:1fr 46px 1fr .9fr .78fr .55fr 130px;display:grid;overflow:hidden;box-shadow:0 10px 28px #0f172a0f}.mileage-scope-control{width:calc(100% - 28px);min-width:0;max-width:420px;box-sizing:border-box;border:1px solid var(--border);background:#f7f9fd;border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:start;gap:4px;min-inline-size:0;margin:14px;padding:4px;display:inline-grid}.mileage-scope-control label{min-width:0;position:relative}.mileage-scope-control input{opacity:.01;cursor:pointer;position:absolute;inset:0}.mileage-scope-control span{color:#43516a;text-align:center;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;min-height:38px;font-size:.88rem;font-weight:900;line-height:1;transition:background-color .15s,box-shadow .15s,color .15s;display:flex;overflow:hidden}.mileage-scope-control input:checked+span{background:var(--blue);color:#fff;box-shadow:0 5px 14px #255bff38}.mileage-scope-control input:focus-visible+span{outline:2px solid var(--blue-dark);outline-offset:2px}.search-field{border-right:1px solid var(--border);text-align:center;align-content:center;justify-items:center;gap:8px;min-height:78px;padding:14px;display:grid}.search-field span{color:#728095;letter-spacing:0;font-size:.68rem;font-weight:900}.search-field strong,.search-field select,.search-field input,.airport-trigger{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:1.12rem;font-weight:900}.airport-trigger{text-align:center;cursor:pointer;padding:0}.search-field select,.search-field input{text-align:center;text-align-last:center}.airport-trigger:hover{color:var(--blue)}.swap-route-button{border:0;border-right:1px solid var(--border);min-height:78px;color:var(--blue);cursor:pointer;background:#f7f9fd;font-size:1.3rem;font-weight:900}.swap-route-button:hover{background:var(--blue-soft)}.search-field input{appearance:textfield}.search-field--compact input{max-width:64px;margin:0 auto}.search-button{background:var(--blue);color:#fff;cursor:pointer;border:0;font-weight:900}.search-button:hover{background:var(--blue-dark)}.airport-modal-backdrop{z-index:40;background:#07111f47;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.airport-modal{border:1px solid var(--border);background:#fff;border-radius:12px;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);height:min(78vh,840px);max-height:min(78vh,840px);display:grid;overflow:hidden;box-shadow:0 22px 70px #07111f3d}.airport-modal__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:0 22px;display:flex}.airport-modal__head h2{font-size:1.25rem}.airport-modal__head button{width:42px;height:42px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:2rem;line-height:1}.airport-modal__body{min-height:0;padding:22px;overflow-y:auto}.airport-search{gap:8px;display:grid}.airport-search span{color:var(--muted);font-size:.84rem;font-weight:900}.airport-search input{border:1px solid var(--border);min-height:54px;color:var(--ink);border-radius:8px;padding:0 16px;font-size:1.02rem;font-weight:800}.airport-search input:focus{border-color:var(--blue);outline:3px solid var(--blue-soft)}.airport-tabs{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.airport-tabs button{color:#6b7280;cursor:pointer;background:#eef1f6;border:0;border-radius:999px;min-height:38px;padding:0 16px;font-weight:900}.airport-tabs button.is-active{background:var(--blue);color:#fff}.airport-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.airport-option,.airport-empty{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:72px;padding:12px}.airport-option{cursor:pointer;text-align:left;gap:4px;display:grid;position:relative}.airport-option:hover{background:#f8faff;border-color:#9bb3ff}.airport-option strong{color:var(--ink);align-items:baseline;gap:6px;font-size:1rem;display:flex}.airport-option strong span{color:var(--blue);font-size:.82rem}.airport-option small{color:var(--muted);font-size:.82rem}.airport-option__badges{flex-wrap:wrap;gap:4px;display:flex}.airport-option__badges em{background:var(--blue);color:#fff;border-radius:999px;padding:2px 6px;font-size:.66rem;font-style:normal;font-weight:900}.airport-option__badges em+em{background:var(--green)}.airport-option--all strong{color:var(--blue)}.airport-empty{color:var(--muted);align-items:center;display:flex}.inventory-section{padding:16px 0 36px}.route-section{padding:36px 0}.announcement-banner{background:#eef4ff;border:1px solid #b9c9ff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;display:grid}.announcement-label,.new-badge,.announcement-area{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;font-size:.68rem;font-weight:900;line-height:1;display:inline-flex}.announcement-label{color:var(--blue);background:#dbe6ff;padding:6px 8px}.announcement-banner__copy{gap:3px;min-width:0;display:grid}.announcement-banner strong{color:var(--ink);font-size:.92rem}.announcement-banner p{color:#40516a;word-break:keep-all;font-size:.82rem;line-height:1.45}.announcement-banner a{color:var(--blue);font-size:.78rem;font-weight:900}.nav-link-with-badge,.skyteam-booking-button{gap:6px}.new-badge{color:var(--blue);background:#e8efff;min-height:18px;padding:4px 6px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.announcement-section{padding:34px 0 0}.announcement-page-hero{width:min(1400px,100% - 40px);margin:0 auto;padding:46px 0 10px}.hotel-page-hero{padding:46px 0 10px}.announcement-page-hero h1{max-width:720px}.announcement-page-hero p:last-child,.hotel-page-hero p:last-child{color:#334155;word-break:keep-all;max-width:680px;margin-top:14px;font-size:1rem;line-height:1.6}.announcements-page .announcement-section{padding-bottom:56px}.hotel-promo-section{padding:26px 0 10px}.hotel-promo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.hotel-promo-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:12px;min-width:0;padding:16px;display:grid}.hotel-promo-card--active{border-color:#9bb3ff;box-shadow:inset 0 0 0 1px #1f5bff24}.hotel-promo-card__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.hotel-promo-status{background:var(--surface-soft);color:#40516a;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900}.hotel-promo-offer{background:linear-gradient(#f8fbff 0%,#eef5ff 100%);border:1px solid #d9e5ff;border-radius:8px;gap:7px;padding:12px;display:grid}.hotel-promo-offer__label{color:var(--muted);font-size:.74rem;font-weight:900}.hotel-promo-card__value{color:var(--ink);font-size:1.72rem;line-height:1.05}.hotel-promo-offer__main{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.hotel-promo-offer__recommendation{color:#10251b;background:#f5fbf6;border:1px solid #cde5d3;border-radius:999px;padding:6px 9px;font-size:.86rem;font-weight:900}.hotel-promo-offer__basis{color:#4b6355;font-size:.74rem;font-weight:900}.hotel-promo-meta .hotel-promo-meta__period{background:#f4f7ff;border:1px solid #b8cdfc;border-radius:8px;grid-template-columns:1fr;gap:5px;padding:11px 12px;display:grid}.hotel-promo-meta__period dt{color:#31548f;font-size:.74rem;font-weight:900}.hotel-promo-meta__period dd{gap:3px;display:grid}.hotel-promo-meta__period strong{color:#0b3fb8;font-size:1.05rem;line-height:1.2}.hotel-promo-meta__period span{color:#263b61;font-size:.78rem;font-weight:900;line-height:1.45}.hotel-promo-meta{gap:8px;margin:0;display:grid}.hotel-promo-meta div{border-top:1px solid var(--border);grid-template-columns:104px minmax(0,1fr);gap:10px;padding-top:8px;display:grid}.hotel-promo-meta dt,.hotel-promo-meta dd{margin:0}.hotel-promo-meta dt{color:var(--muted);font-size:.72rem;font-weight:900}.hotel-promo-meta dd{color:var(--ink);font-size:.82rem;font-weight:800;line-height:1.35}.hotel-empty-state{background:#f8fafc;border:1px dashed #b8c4d6;border-radius:8px;align-content:center;gap:8px;min-height:130px;padding:20px;display:grid}.hotel-empty-state strong{color:var(--ink);font-size:1rem}.hotel-empty-state span{color:#40516a;font-size:.88rem;line-height:1.5}.hotel-stay-section{padding:26px 0 56px}.hotel-stay-overview{width:min(1400px,100% - 40px);margin:0 auto;padding:16px 0 4px}.hotel-stay-overview dl{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;display:grid}.hotel-stay-overview div{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:6px;min-width:0;padding:14px;display:grid}.hotel-stay-overview dt,.hotel-stay-overview dd{margin:0}.hotel-stay-overview dt{color:var(--muted);font-size:.72rem;font-weight:900}.hotel-stay-overview dd{min-width:0;color:var(--ink);overflow-wrap:anywhere;font-size:1.1rem;font-weight:900;line-height:1.25}.hotel-stay-freshness{border:1px solid var(--border);background:var(--surface);color:#40516a;white-space:nowrap;border-radius:8px;justify-self:end;padding:9px 12px;font-size:.82rem;font-weight:900}.hotel-stay-featured{gap:14px;padding:20px 0 4px;display:grid}.hotel-stay-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.hotel-stay-featured-card,.hotel-stay-property-card{border:1px solid var(--border);background:var(--surface);min-width:0;color:inherit;border-radius:8px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid;overflow:hidden}.hotel-stay-featured-card:hover,.hotel-stay-featured-card:focus-visible,.hotel-stay-property-card:hover,.hotel-stay-property-card:focus-visible{border-color:var(--blue);box-shadow:0 1px 3px #0f172a0f}.hotel-stay-card-image{aspect-ratio:16/10;background:#dbeafe;min-height:142px;position:relative;overflow:hidden}.hotel-stay-card-image:before{content:"";z-index:0;background:linear-gradient(135deg,#fff3,#0f172a14),linear-gradient(160deg,#e0f2fe 0%,#7dd3fc 48%,#0f766e 100%);position:absolute;inset:0}.hotel-stay-card-image img{z-index:1;object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.hotel-stay-card-image:after{content:"";z-index:2;background:radial-gradient(at 30% 100%,#ffffff7a,#0000 52%),linear-gradient(#0000 0%,#0f172a61 100%);height:45%;position:absolute;inset:auto 0 0}.hotel-stay-card-image span{z-index:3;color:#fff;letter-spacing:.04em;text-shadow:0 1px 8px #0f172a6b;text-transform:uppercase;font-size:.75rem;font-weight:900;position:absolute;bottom:10px;left:12px}.hotel-stay-image--kyoto:before{background:linear-gradient(135deg,#ffffff29,#1e293b1a),linear-gradient(160deg,#f7f0df 0%,#a7c9a4 42%,#345c44 100%)}.hotel-stay-image--maldives:before,.hotel-stay-image--fari:before,.hotel-stay-image--bora:before{background:linear-gradient(135deg,#ffffff40,#0f172a0f),linear-gradient(160deg,#f8fafc 0%,#67e8f9 42%,#0e7490 100%)}.hotel-stay-image--bigsur:before{background:linear-gradient(135deg,#ffffff26,#0f172a1a),linear-gradient(160deg,#dbeafe 0%,#64748b 44%,#164e63 100%)}.hotel-stay-image--niseko:before{background:linear-gradient(135deg,#fff3,#0f172a14),linear-gradient(160deg,#f8fafc 0%,#bfdbfe 45%,#334155 100%)}.hotel-stay-image--desert:before{background:linear-gradient(135deg,#ffffff24,#0f172a14),linear-gradient(160deg,#fef3c7 0%,#f59e0b 44%,#7f1d1d 100%)}.hotel-stay-image--danang:before{background:linear-gradient(135deg,#fff3,#0f172a14),linear-gradient(160deg,#dcfce7 0%,#38bdf8 44%,#14532d 100%)}.hotel-stay-featured-card__body,.hotel-stay-property-card__body{gap:10px;padding:14px;display:grid}.hotel-stay-card-head{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.75rem;font-weight:900;line-height:1.3;display:flex}.hotel-stay-recommendation{letter-spacing:.04em;border-radius:999px;padding:4px 7px;font-size:.68rem;font-weight:900}.hotel-stay-recommendation[data-level=HIGH]{color:#14532d;background:#e8f7ee}.hotel-stay-recommendation[data-level=MEDIUM]{color:#1d4ed8;background:#edf4ff}.hotel-stay-recommendation[data-level=LOW]{color:#475569;background:#f1f5f9}.hotel-stay-featured-card h3,.hotel-stay-property-card h3{color:var(--ink);margin:0;font-size:1.08rem;line-height:1.28}.hotel-stay-card-region{color:#40516a;margin:-4px 0 0;font-size:.82rem;font-weight:800}.hotel-stay-featured-card__deal,.hotel-stay-property-card__deal{background:#f8fbff;border:1px solid #d9e5ff;border-radius:8px;gap:4px;padding:10px;display:grid}.hotel-stay-featured-card__deal strong,.hotel-stay-property-card__deal strong{color:var(--ink);font-size:1.35rem;line-height:1.08}.hotel-stay-featured-card__deal span,.hotel-stay-property-card__deal span{color:#31548f;font-size:.78rem;font-weight:900}.hotel-stay-card-recommendation-copy{color:#10251b;margin:0;font-size:.86rem;font-weight:900}.hotel-stay-card-value-signal{color:#31548f;margin:-2px 0;font-size:.78rem;font-weight:900;line-height:1.35}.hotel-stay-reason-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.hotel-stay-reason-list li{color:#294936;background:#f7fbf8;border:1px solid #d7e7dc;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900;line-height:1.2}.hotel-stay-property-list{gap:12px;margin-top:18px;display:grid}.hotel-stay-list-section-title{color:var(--ink);letter-spacing:0;margin:0;font-size:1.15rem;font-weight:900}.hotel-stay-list-head{gap:10px;display:grid}.hotel-stay-list-head p{color:#40516a;margin:4px 0 0;font-size:.86rem;line-height:1.45}.hotel-stay-filter-chips{scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.hotel-stay-filter-chips::-webkit-scrollbar{display:none}.hotel-stay-filter-chips a{scroll-snap-align:start;border:1px solid var(--border);background:var(--surface);color:#40516a;border-radius:999px;flex:none;align-items:center;min-height:34px;padding:0 12px;font-size:.8rem;font-weight:900;text-decoration:none;display:inline-flex}.hotel-stay-filter-chips a[aria-current=true]{color:#0b3fb8;background:#edf4ff;border-color:#1f5bff}.hotel-stay-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.hotel-stay-property-card{grid-template-columns:150px minmax(0,1fr)}.hotel-stay-property-card .hotel-stay-card-image{aspect-ratio:auto;min-height:100%}.hotel-stay-property-card__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin:0;display:grid}.hotel-stay-property-card__stats div{border-top:1px solid var(--border);min-width:0;padding-top:8px}.hotel-stay-property-card__stats dt,.hotel-stay-property-card__stats dd{margin:0}.hotel-stay-property-card__stats dt{color:var(--muted);font-size:.68rem;font-weight:900}.hotel-stay-property-card__stats dd{color:var(--ink);overflow-wrap:anywhere;margin:4px 0 0;font-size:.8rem;font-weight:900}.hotel-stay-property-page{flex-direction:column;gap:20px;max-width:880px;margin:0 auto;padding:24px 16px 48px;display:flex}.hotel-stay-property-header{background:var(--surface);border:1px solid var(--border);border-radius:16px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;padding:24px 28px;display:grid}.hotel-stay-property-header__main h1{margin:6px 0 14px;font-size:28px;line-height:1.2}.hotel-stay-property-header__main .eyebrow{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin:0;font-size:12px}.hotel-stay-property-header__main dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;display:grid}.hotel-stay-property-header__main dl>div{min-width:0}.hotel-stay-property-header__main dt{letter-spacing:.04em;color:var(--muted);font-size:11px}.hotel-stay-property-header__main dd{margin:4px 0 0;font-size:16px;font-weight:700}.hotel-stay-property-header__actions{flex-direction:column;place-self:start end;gap:10px;display:flex}.hotel-stay-property-header__actions a,.hotel-stay-property-header__actions button{border:1px solid var(--border);background:var(--surface);color:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.hotel-stay-property-header__actions a:hover,.hotel-stay-property-header__actions button:hover{border-color:var(--blue)}.hotel-stay-sticky-banner{z-index:2;background:var(--blue-soft);border:1px solid var(--blue);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:8px}.hotel-stay-sticky-banner__label{font-size:14px;font-weight:600}.hotel-stay-sticky-banner__action,.hotel-stay-sticky-banner__copy{border:1px solid var(--blue);background:var(--surface);color:inherit;cursor:pointer;border-radius:8px;align-items:center;padding:7px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.hotel-stay-sticky-banner__stale{color:#4b5563;font-size:14px;font-weight:600}.hotel-stay-best-window{background:#f8fbff;border:1px solid #d9e5ff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px;display:grid}.hotel-stay-best-window .eyebrow{color:#1f5bff;letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:900}.hotel-stay-best-window h2,.hotel-stay-best-window p{margin:0}.hotel-stay-best-window h2{color:var(--ink);font-size:1.08rem;line-height:1.25}.hotel-stay-best-window p{color:#31548f;margin-top:5px;font-size:.92rem;font-weight:900}.hotel-stay-best-window__meta{background:var(--surface);border:1px solid #d9e5ff;border-radius:8px;gap:3px;min-width:0;padding:10px 12px;display:grid}.hotel-stay-best-window__meta strong{color:var(--ink);white-space:nowrap;font-size:1rem;line-height:1.2}.hotel-stay-best-window__meta span{color:#31548f;white-space:nowrap;font-size:.82rem;font-weight:900}.hotel-stay-best-window__meta em{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hotel-stay-best-window>a{color:#fff;white-space:nowrap;background:#1f5bff;border:1px solid #1f5bff;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;font-size:.84rem;font-weight:900;text-decoration:none;display:inline-flex}.hotel-stay-timeline{flex-direction:column;gap:24px;display:flex}.hotel-stay-timeline-month{flex-direction:column;display:flex}.hotel-stay-timeline-month__head{z-index:1;background:var(--bg);align-items:baseline;gap:10px;margin:0 0 6px;padding:8px 4px;font-size:14px;font-weight:700;display:flex;position:sticky;top:0}.hotel-stay-timeline-month__head span{color:var(--muted);font-size:12px;font-weight:500;line-height:1.35}.hotel-stay-award-row{border-bottom:1px solid var(--border);color:inherit;cursor:pointer;grid-template-columns:minmax(0,1fr) auto minmax(0,1.4fr);align-items:center;gap:14px;padding:12px 14px;text-decoration:none;display:grid}.hotel-stay-award-row:hover,.hotel-stay-award-row:focus-visible{background:var(--surface-soft)}.hotel-stay-award-row.is-selected{background:var(--blue-soft);border-left:3px solid var(--blue);padding-left:11px}.hotel-stay-award-row__date{font-size:14px;font-weight:600}.hotel-stay-award-row__points{white-space:nowrap;font-size:15px;font-weight:700}.hotel-stay-award-row__room{color:var(--muted);text-align:right;overflow-wrap:anywhere;font-size:12px}.announcement-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.announcement-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:10px;min-width:0;padding:16px;display:grid}.announcement-card__meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.announcement-card time{color:var(--muted);font-size:.74rem;font-weight:800}.announcement-card h3{color:var(--ink);margin:0;font-size:1rem;line-height:1.35}.announcement-card p{color:#40516a;word-break:keep-all;font-size:.86rem;line-height:1.55}.announcement-area{background:var(--surface-soft);color:#40516a;justify-self:start;padding:6px 8px}.section-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;min-height:34px;margin-bottom:14px;display:flex}.section-title h2{font-size:1.12rem}.section-title p,.section-title a{color:var(--muted);font-size:.84rem}.section-title a{color:var(--blue);font-weight:900}.section-title .hotel-promo-exchange-rate{text-align:right;justify-items:end;gap:3px;display:grid}.inventory-heading{flex:100%;width:100%;min-width:0;padding:0 16px}.inventory-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.hotel-promo-exchange-rate span{color:#263b61;font-weight:900}.hotel-promo-exchange-rate a{color:var(--muted);font-weight:800}.inventory-summary-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.inventory-summary{flex-wrap:wrap;gap:8px;margin:0;display:flex}.inventory-summary div{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:7px;min-height:28px;padding:5px 10px;display:inline-flex}.inventory-summary dt,.inventory-summary dd{white-space:nowrap;margin:0}.inventory-summary dt{color:var(--muted);font-size:.72rem;font-weight:800}.inventory-summary dd{color:var(--ink);font-size:.82rem;font-weight:900}.inventory-alert-row{justify-content:flex-start;align-items:flex-start;margin-top:10px;display:flex}.inventory-alert-row--top{margin-top:10px;margin-bottom:10px}.inventory-alert-row .alert-subscribe-panel{margin-top:0}.inventory-freshness{background:var(--blue-soft);color:#14346f;border:1px solid #a8bfff;border-radius:999px;justify-self:end;align-items:center;gap:7px;min-height:30px;margin:0;padding:5px 11px;font-size:.82rem;line-height:1.3;display:inline-flex}.inventory-freshness span{color:var(--blue);white-space:nowrap;font-size:.72rem;font-weight:900}.inventory-freshness strong{color:var(--ink);white-space:nowrap;font-weight:900}.alert-subscribe-panel{gap:8px;width:min(100%,680px);margin-top:10px;display:grid}.alert-subscribe-panel--top{border:1px solid var(--border);background:#ffffffc2;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;width:100%;padding:10px 12px}.alert-subscribe-panel--empty{background:var(--blue-soft);border-color:#a8bfff}.alert-subscribe-panel--button-only{background:0 0;border:0;grid-template-columns:minmax(0,auto);padding:0}.alert-subscribe-panel__prompt{align-items:center;gap:9px;min-width:0;display:flex}.alert-subscribe-panel__prompt-icon{width:28px;height:28px;color:var(--blue);background:#fff;border:1px solid #a8bfff;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.alert-subscribe-panel__prompt-icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.alert-subscribe-panel__prompt-copy{flex-wrap:wrap;align-items:baseline;gap:3px 8px;min-width:0;line-height:1.35;display:flex}.alert-subscribe-panel__prompt-copy strong{color:var(--ink);font-size:.9rem;font-weight:900}.alert-subscribe-panel__prompt-copy span{color:#40516a;font-size:.82rem;font-weight:800}.alert-subscribe-panel__toggle,.alert-subscribe-panel__submit{min-height:34px;color:var(--blue);cursor:pointer;background:#fff;border:1px solid #a8bfff;border-radius:999px;justify-content:center;align-items:center;gap:6px;width:fit-content;padding:0 13px;font-size:.82rem;font-weight:900;display:inline-flex}.alert-subscribe-panel__toggle-icon,.share-button__icon{flex:none;justify-content:center;align-items:center;width:15px;height:15px;display:inline-flex}.alert-subscribe-panel__toggle-icon svg,.share-button__icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.alert-subscribe-panel__toggle:hover,.alert-subscribe-panel__submit:hover{background:var(--blue-soft)}.alert-subscribe-panel__toggle:disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.alert-subscribe-panel--top .alert-subscribe-panel__toggle{border-color:var(--blue);background:var(--blue);color:#fff;min-height:38px}.alert-subscribe-panel--top .alert-subscribe-panel__toggle:hover{background:var(--blue-dark)}.alert-subscribe-panel--top .alert-subscribe-panel__toggle:disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted)}.alert-subscribe-panel__submit{background:var(--blue);color:#fff}.alert-subscribe-panel__submit:hover{background:var(--blue-dark)}.alert-subscribe-panel__submit:disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.alert-subscribe-modal-backdrop{z-index:60;background:#07111f6b;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.alert-subscribe-modal{background:#fff;border:1px solid #c7d5e8;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100%);max-height:min(88dvh,720px);display:grid;overflow:hidden;box-shadow:0 22px 70px #07111f3d}.alert-subscribe-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:14px 18px;display:flex}.alert-subscribe-modal__header h3{color:var(--ink);margin:0;font-size:1.04rem;font-weight:900;line-height:1.3}.alert-subscribe-modal__header p{color:#40516a;margin:3px 0 0;font-size:.78rem;font-weight:800;line-height:1.45}.alert-subscribe-modal__close{color:#07111f;cursor:pointer;background:#f8fafc;border:1px solid #c7d5e8;border-radius:999px;flex:none;width:34px;height:34px;padding:0;font-size:1.24rem;font-weight:900;line-height:1}.alert-subscribe-modal__close:hover{background:var(--blue-soft)}.alert-subscribe-modal__close:disabled{color:var(--muted);cursor:not-allowed}.alert-subscribe-panel__form{overscroll-behavior:contain;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;min-height:0;padding:14px 18px 16px;display:grid;overflow-y:auto}.alert-subscribe-panel__form[hidden]{display:none}.alert-subscribe-panel--top .alert-subscribe-panel__form,.alert-subscribe-panel--top .alert-subscribe-panel__status{grid-column:1/-1}.alert-subscribe-panel__route{border:1px solid var(--border);min-height:42px;color:var(--ink);white-space:nowrap;background:#f8fafc;border-radius:8px;align-items:center;gap:8px;width:fit-content;padding:0 12px;font-size:.94rem;font-weight:900;display:inline-flex}.alert-subscribe-panel__route span{color:var(--muted)}.alert-subscribe-panel__email,.alert-subscribe-panel__compact-controls label{gap:5px;display:grid}.alert-subscribe-panel__email span,.alert-subscribe-panel__compact-controls span{color:var(--muted);font-size:.68rem;font-weight:900}.alert-subscribe-panel__email input,.alert-subscribe-panel__compact-controls input,.alert-subscribe-panel__compact-controls select{border:1px solid var(--border);min-height:36px;color:var(--ink);background:#fff;border-radius:7px;width:100%;padding:0 10px;font-size:.86rem;font-weight:800}.alert-subscribe-modal__period{border:0;gap:7px;margin:0;padding:0;display:grid}.alert-subscribe-modal__period legend{color:var(--muted);font-size:.68rem;font-weight:900}.alert-subscribe-modal__period-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.alert-subscribe-modal__period-mode{border:1px solid var(--border);color:#40516a;cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;min-height:34px;padding:0 8px;font-size:.76rem;font-weight:900;line-height:1.2}.alert-subscribe-modal__period-mode:hover{background:var(--blue-soft)}.alert-subscribe-modal__period-mode[aria-pressed=true]{border-color:var(--blue);background:var(--blue);color:#fff}.alert-subscribe-modal__period-mode:disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.alert-subscribe-modal__date-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.alert-subscribe-modal__date-range[hidden]{display:none}.alert-subscribe-modal__date-range label{gap:5px;display:grid}.alert-subscribe-modal__date-range span{color:var(--muted);font-size:.68rem;font-weight:900}.alert-subscribe-modal__date-range input{border:1px solid var(--border);min-height:36px;color:var(--ink);background:#fff;border-radius:7px;width:100%;padding:0 10px;font-size:.86rem;font-weight:800}.alert-subscribe-panel__months{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.alert-subscribe-panel__months label{border:1px solid var(--border);color:#40516a;white-space:nowrap;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:0 9px;font-size:.76rem;font-weight:900;display:inline-flex}.alert-subscribe-panel__months input{width:14px;height:14px;accent-color:var(--blue)}.alert-subscribe-panel__compact-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.alert-subscribe-panel__compact-controls label{min-width:0}.alert-subscribe-panel__status{color:#40516a;margin:0;font-size:.8rem;font-weight:800;line-height:1.4}.alert-subscribe-panel__status--error{color:#b42318}.alert-subscribe-panel__resend{color:#2b5cff;cursor:pointer;background:#fff;border:1px solid #c8d4e6;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:34px;padding:0 14px;font-size:.78rem;font-weight:900;display:inline-flex}.alert-subscribe-panel__resend:hover{background:var(--blue-soft);border-color:#9eb6ff}.alert-subscribe-panel__resend:disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.alert-subscribe-modal__footer{border-top:1px solid var(--border);background:#fff;padding:12px 18px 14px;box-shadow:0 -12px 26px #07111f14}.alert-subscribe-modal__footer .alert-subscribe-panel__submit{width:100%;min-height:42px}.inventory-table{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:0;display:grid;overflow:visible}.inventory-head{background:var(--surface-soft);color:#59677d;letter-spacing:0;grid-template-columns:minmax(132px,.72fr) .88fr 1.18fr .54fr 1.02fr .4fr .72fr 1.08fr;align-items:center;gap:14px;min-height:36px;padding:0 14px;font-size:.68rem;font-weight:900;display:grid}.inventory-row{border-top:1px solid var(--border);background:var(--surface);min-height:56px;box-shadow:none;gap:0;font-size:.9rem;display:grid;position:relative}.inventory-card-desktop{grid-template-columns:minmax(132px,.72fr) .88fr 1.18fr .54fr 1.02fr .4fr .72fr 1.08fr;align-items:center;gap:14px;min-height:56px;padding:0 14px;display:grid}.inventory-card-mobile{display:none}.inventory-card-mobile__top{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.inventory-card-mobile__top .inventory-airline{flex:auto}.inventory-card-mobile__top .share-action{flex:none;justify-items:end}.inventory-card-mobile__top .share-button{border-radius:8px;min-height:32px;padding:0 10px}.inventory-cell{min-width:0}.inventory-cell--strong{font-weight:900}.inventory-card-desktop .inventory-seat-count strong{color:currentColor}.inventory-card-desktop .inventory-actions{justify-content:flex-start}.inventory-airline,.inventory-route-summary,.inventory-action-panel{min-width:0}.inventory-airline{justify-items:start;gap:6px;display:grid}.inventory-airline-brand{align-items:center;gap:7px;min-width:0;max-width:100%;display:flex}.airline-logo{color:#1748cc;letter-spacing:0;background:0 0;border:0;border-radius:0;flex:none;justify-content:center;align-items:center;width:34px;height:24px;padding:0;font-size:.68rem;font-weight:950;line-height:1;display:inline-flex;overflow:visible}.airline-logo__image{object-fit:contain;width:100%;height:100%;display:block}.airline-logo--ke,.airline-logo--af,.airline-logo--dl,.airline-logo--lj{width:34px}.airline-logo--oz{width:40px}.airline-logo--kl{width:34px}.airline-logo--fallback{color:#1748cc;padding:0}.airline-logo__fallback{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.inventory-flight-number{color:var(--muted);font-size:.72rem;font-weight:850;line-height:1.2}.inventory-route-summary{gap:4px;min-width:0;display:grid}.inventory-route-summary strong{color:var(--ink);overflow-wrap:anywhere;font-size:1.02rem;font-weight:950;line-height:1.35}.inventory-route-meta{flex-wrap:wrap;align-items:center;gap:5px 8px;display:flex}.inventory-route-meta span{color:#40516a;font-size:.78rem;font-weight:800;line-height:1.35}.inventory-action-panel{text-align:right;justify-self:end;justify-items:end;gap:8px;display:grid}.inventory-price-block .flight-cost{justify-items:end}.inventory-price-block .flight-cost>strong{color:#07111f;font-size:1.02rem}.inventory-primary-action{justify-self:end}.inventory-primary-action .booking-link{min-width:92px;min-height:36px}.inventory-action-availability{color:#40516a;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px 6px;max-width:228px;font-size:.72rem;font-weight:850;line-height:1.35;display:flex}.inventory-action-availability .cabin-badge,.inventory-action-availability .product-badge{letter-spacing:0;padding:3px 7px;font-size:.68rem}.inventory-seat-count{white-space:nowrap;align-items:center;gap:5px;width:fit-content;max-width:100%;display:inline-flex;position:relative}.inventory-seat-count__label{color:currentColor;opacity:.78;font-size:.68rem;font-weight:850}.inventory-seat-count strong{color:currentColor;font-weight:950}.inventory-seat-count--critical{color:#e11d48}.inventory-seat-count--limited{color:#ea580c}.inventory-seat-count--available{color:#1d4ed8}.inventory-availability-note{align-items:center;display:inline-flex;position:relative}.inventory-availability-note__trigger{color:#64748b;cursor:help;background:#fff;border:1px solid #cbd5e1;border-radius:999px;place-items:center;width:16px;height:16px;padding:0;font-size:.62rem;font-weight:900;line-height:1;display:inline-grid}.inventory-availability-note__trigger:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.inventory-availability-note__tooltip{z-index:5;color:#7c2d12;white-space:normal;background:#fffaf0;border:1px solid #d6b37b;border-radius:8px;width:218px;padding:9px 10px;font-size:.72rem;font-weight:800;line-height:1.42;display:none;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%);box-shadow:0 10px 24px #0f172a24}.inventory-availability-note__tooltip:after{content:"";background:#fffaf0;border-bottom:1px solid #d6b37b;border-right:1px solid #d6b37b;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.inventory-availability-note:hover .inventory-availability-note__tooltip,.inventory-availability-note:focus-within .inventory-availability-note__tooltip{display:block}.inventory-candidate-strip{border-top:1px solid var(--border);background:#fbfdff;gap:10px;padding:12px 16px;display:none}.inventory-candidate-strip__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.inventory-candidate-strip__head strong{color:#14346f;font-size:.86rem;font-weight:950;line-height:1.3}.inventory-candidate-strip__more{color:#59677d;cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;padding:0;font-size:.76rem;font-weight:900;line-height:1.2}.inventory-candidate-strip__more:hover{color:var(--blue)}.inventory-candidate-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.inventory-candidate-card{color:#263850;text-align:center;background:#fff;border:1px solid #d8e1ef;border-radius:7px;align-content:center;place-items:center;gap:3px;min-height:54px;padding:6px 4px;display:grid}.inventory-candidate-card span{white-space:nowrap;font-size:.68rem;font-weight:850;line-height:1.2}.inventory-candidate-card strong{color:#14346f;font-size:.78rem;font-weight:950;line-height:1.2}.inventory-candidate-card--critical strong{color:#e11d48}.inventory-candidate-card--limited strong{color:#ea580c}.inventory-candidate-card--available strong{color:#1d4ed8}.inventory-candidate-empty{color:var(--muted);margin:0;font-size:.8rem;font-weight:800}.flight-cost{align-content:center;gap:2px;display:grid}.flight-cost__line{color:#07111f;flex-wrap:wrap;align-items:baseline;gap:0 4px;font-size:.98rem;font-weight:900;line-height:1.22;display:inline-flex}.flight-cost__line--stacked{gap:2px;font-size:.9rem;font-weight:600;line-height:1.3;display:grid}.flight-cost__primary{align-items:baseline;gap:4px;display:inline-flex}.flight-cost__line strong,.flight-cost__fee,.flight-cost__separator{color:inherit;font-size:inherit;font-weight:900;line-height:inherit}.flight-cost__line strong{align-items:baseline;justify-content:inherit;font-weight:950;display:inline-flex}.flight-cost__unit{color:#40516a;font-size:inherit;font-weight:900}.flight-cost__fee{color:#40516a}.flight-cost__line--stacked .flight-cost__primary,.flight-cost__line--stacked .flight-cost__unit{font-weight:900}.flight-cost__line--stacked .flight-cost__fee{font-size:.84rem;font-weight:600}.flight-cost small{color:var(--muted);font-size:.72rem;font-weight:800;line-height:1.25}.provider-badge{color:#1848ad;overflow-wrap:anywhere;background:#eef4ff;border-radius:999px;width:fit-content;max-width:100%;padding:5px 9px;font-size:.74rem;font-weight:900}.product-badge{color:#075985;overflow-wrap:anywhere;letter-spacing:.04em;background:#dff3ff;border-radius:5px;width:fit-content;max-width:100%;padding:5px 8px;font-size:.74rem;font-weight:900}.product-badge--interactive{appearance:none;cursor:pointer;text-align:left;border:0;align-items:center;gap:5px;display:inline-flex}.product-badge--interactive:hover{color:#075985;background:#cdeeff}.product-badge--interactive:focus{outline:0;box-shadow:0 0 0 2px #1f5bff47}.product-badge__icon{color:#075985;background:#ffffffb3;border:1px solid #07598547;border-radius:999px;flex:none;place-items:center;width:14px;height:14px;font-size:.58rem;font-weight:950;line-height:1;display:inline-grid}.seat-product-popover{width:min(560px,100vw - 32px);max-height:min(88vh,760px);color:var(--ink);background:0 0;border:0;margin:auto;padding:0;inset:0;overflow:visible}.seat-product-popover::backdrop{background:#07111f61}.seat-product-card{width:100%;color:var(--ink);background:#fff;border:1px solid #c7d5e8;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 20px 50px #07111f2e}.seat-product-card__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 14px;display:flex}.seat-product-card__close{color:#07111f;cursor:pointer;background:#f8fafc;border:1px solid #c7d5e8;border-radius:999px;flex:none;width:34px;height:34px;padding:0;font-size:1.3rem;font-weight:900;line-height:1}.seat-product-card__image{aspect-ratio:16/9;object-fit:cover;background:var(--surface-soft);width:100%;display:block}.seat-product-card__body{gap:12px;padding:14px;display:grid}.seat-product-card h3{color:#07111f;margin:0;font-size:1rem;line-height:1.35}.seat-product-card p{color:#40516a;font-size:.84rem;line-height:1.55}.seat-product-card ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none;display:grid}.seat-product-card li{color:#263850;background:#f2f6fb;border-radius:5px;padding:7px 8px;font-size:.74rem;font-weight:800;line-height:1.35}.seat-product-card a{width:fit-content;color:var(--blue);text-underline-offset:3px;font-size:.78rem;font-weight:900;text-decoration:underline}.cabin-badge{border-radius:999px;width:fit-content;padding:5px 9px;font-size:.74rem;font-weight:900}.cabin-badge--business{color:#1748cc;background:#e8efff}.cabin-badge--first{color:#8a5a00;background:#fff3cf}.booking-link{background:var(--blue);color:#fff;text-align:center;border-radius:8px;justify-content:center;align-items:center;width:fit-content;max-width:100%;min-height:34px;padding:0 12px;font-size:.76rem;font-weight:900;line-height:1.2;text-decoration:none;display:inline-flex}.booking-link:hover{background:var(--blue-dark)}.booking-link--disabled{background:var(--surface-soft);color:var(--muted)}.booking-link--disabled:hover{background:var(--surface-soft)}.inventory-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.share-action{justify-items:end;gap:4px;display:inline-grid;position:relative}.share-button{color:#263850;cursor:pointer;min-height:34px;font:inherit;background:#fff;border:1px solid #c7d5e8;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.76rem;font-weight:900;line-height:1.2;display:inline-flex}.share-button:hover{color:var(--blue);border-color:#9bb3ff}.share-button:disabled{cursor:wait;opacity:.72}.share-action__status{color:var(--muted);font-size:.68rem;font-weight:850}.share-action__manual-card{z-index:20;border:1px solid var(--border);background:#fff;border-radius:8px;gap:8px;width:min(320px,82vw);padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 34px #07111f24}.share-action__image-link{background:#eef4ff;border:1px solid #d8e1ef;border-radius:6px;display:block;overflow:hidden}.share-action__image{aspect-ratio:1200/630;object-fit:cover;width:100%;display:block}.share-action__manual-message{border:1px solid var(--border);color:#263850;resize:vertical;background:#fff;border-radius:6px;width:100%;min-height:84px;padding:8px 9px;font-size:.72rem;font-weight:750;line-height:1.45}.share-action__image-download{color:var(--blue);justify-self:end;font-size:.72rem;font-weight:900;line-height:1.2;text-decoration:none}.share-action__image-download:hover{text-decoration:underline}@media (max-width:640px){.share-action__manual-card{width:auto;max-height:calc(100vh - 24px);position:fixed;inset:auto 12px 12px;overflow:auto}}.skyteam-booking-button{cursor:pointer;border:0}.roundtrip-modal-backdrop{z-index:50;background:#07111f61;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.roundtrip-modal{background:#fff;border:1px solid #c7d5e8;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100%);max-height:min(88dvh,840px);display:grid;overflow:hidden;box-shadow:0 22px 70px #07111f3d}.roundtrip-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 18px;display:flex}.roundtrip-modal__close{color:#07111f;cursor:pointer;background:#f8fafc;border:1px solid #c7d5e8;border-radius:999px;flex:none;width:36px;height:36px;padding:0;font-size:1.3rem;font-weight:900;line-height:1}.roundtrip-modal__body{overscroll-behavior:contain;gap:12px;min-height:0;padding:16px 18px 18px;display:grid;overflow-y:auto}.roundtrip-modal__footer{border-top:1px solid var(--border);background:#fff;gap:8px;padding:14px 18px 16px;display:grid;box-shadow:0 -12px 26px #07111f14}.roundtrip-panel__empty,.roundtrip-panel__note{color:#40516a;font-size:.84rem;line-height:1.5}.roundtrip-notice{background:#fbfdff;border:1px solid #d7e4f3;border-radius:8px;flex:auto;align-items:center;gap:8px;padding:8px 10px;display:flex}.roundtrip-notice__icon{color:#0f5d8f;background:#eef7ff;border-radius:999px;flex:none;place-items:center;width:24px;height:24px;font-size:.86rem;font-weight:900;line-height:1;display:inline-grid}.roundtrip-list-heading h4{color:var(--ink);font-size:.96rem;line-height:1.35}.roundtrip-notice p{color:#334155;word-break:keep-all;margin:0;font-size:.9rem;font-weight:800;line-height:1.45}.roundtrip-list-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.roundtrip-list-heading span{color:#40516a;white-space:nowrap;background:#eef2f7;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900}.roundtrip-panel__note{color:#8a5a00;font-weight:800}.return-candidate-list{gap:8px;display:grid}.return-candidate{border:1px solid var(--border);min-width:0;min-height:78px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:8px;grid-template-columns:minmax(110px,.85fr) minmax(150px,1.15fr) minmax(120px,.95fr) minmax(58px,.45fr) minmax(128px,.8fr);align-items:center;gap:14px;padding:12px 14px;transition:border-color .12s,background .12s,box-shadow .12s;display:grid}.return-candidate:hover,.return-candidate[aria-pressed=true]{background:#f8faff;border-color:#9bb3ff}.return-candidate[aria-pressed=true]{box-shadow:inset 0 0 0 2px #1f5bff33}.return-candidate strong,.return-candidate span{overflow-wrap:anywhere;min-width:0}.return-candidate strong{color:var(--ink);font-size:.95rem;line-height:1.3}.return-candidate span{color:#40516a;font-size:.78rem;line-height:1.35}.return-candidate__airline,.return-candidate__schedule,.return-candidate__cost{justify-items:start;gap:4px;display:grid}.return-candidate__airline strong{font-size:.92rem}.return-candidate__airline span{color:#40516a;font-weight:800}.return-candidate__date{font-weight:900;color:var(--blue)!important}.return-candidate__time{background:#eaf5ff;border-radius:999px;flex:none;padding:3px 7px;font-weight:900;color:#0f5d8f!important}.return-candidate__route{font-size:.94rem}.return-candidate__seats{font-weight:900;color:var(--ink)!important}.return-candidate__cost{justify-items:end;font-weight:800;color:var(--ink)!important}.return-candidate__cost strong{font-size:.92rem}.return-candidate__cost small{color:#40516a;text-align:right;font-size:.72rem;font-weight:800;line-height:1.35}.roundtrip-selection{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.roundtrip-summary{gap:8px;display:grid}.roundtrip-summary__label{color:var(--ink);font-size:.78rem;font-weight:900}.roundtrip-summary__legs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.roundtrip-summary__legs div{border:1px solid var(--border);background:#f8fafc;border-radius:8px;gap:2px;min-width:0;padding:8px 10px;display:grid}.roundtrip-summary__legs span{color:var(--blue);font-size:.68rem;font-weight:900}.roundtrip-summary__legs strong{color:var(--ink);font-size:.82rem;line-height:1.25}.roundtrip-summary__legs small,.roundtrip-summary--empty p{color:#40516a;overflow-wrap:normal;word-break:keep-all;font-size:.72rem;line-height:1.35}.roundtrip-summary--empty p{margin:0}.roundtrip-selection .booking-link{white-space:nowrap;place-self:end;min-width:96px;min-height:54px;padding:0 18px}.roundtrip-selection p{color:var(--ink);font-size:.86rem;font-weight:900}.empty-row{border-top:1px solid var(--border);text-align:center;align-content:center;place-items:center;gap:5px;min-height:88px;padding:18px;display:grid}.empty-row>span{color:var(--muted)}.empty-feedback-link{width:fit-content;min-height:32px;color:var(--blue);background:#fff;border:1px solid #a8bfff;border-radius:999px;align-items:center;padding:0 12px;font-size:.8rem;font-weight:900;display:inline-flex}.pagination{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.pagination a,.pagination span{border:1px solid var(--border);background:var(--surface);color:#14346f;border-radius:8px;justify-content:center;align-items:center;min-width:38px;min-height:38px;padding:0 12px;font-weight:900;display:inline-flex}.pagination a:hover{background:#f8faff;border-color:#9bb3ff}.pagination a[aria-current=page]{border-color:var(--blue);background:var(--blue);color:#fff}.pagination span{color:#9aa7b8}.flight-share-page{width:min(100% - 32px,980px);margin:0 auto;padding:32px 0 72px}.flight-share-hero{gap:16px;padding:22px 0;display:grid}.flight-share-status{border-radius:999px;width:fit-content;padding:7px 10px;font-size:.78rem;font-weight:900}.flight-share-status--current{color:#10775b;background:#e9f8f2}.flight-share-status--needs-confirmation{color:#8a5a00;background:#fff3cf}.flight-share-status--departed{color:#40516a;background:#eef2f7}.flight-share-hero h1{max-width:760px;color:var(--ink);margin:0;font-size:clamp(2rem,5vw,3.7rem);line-height:1.04}.flight-share-hero p{color:#40516a;max-width:760px;font-size:1rem;font-weight:800;line-height:1.55}.flight-share-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.flight-share-secondary-link{color:#263850;text-align:center;background:#fff;border:1px solid #c7d5e8;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 12px;font-size:.84rem;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #0f172a14}.flight-share-secondary-link:hover{color:var(--blue);background:#f8faff;border-color:#9bb3ff}.flight-share-booking-button{cursor:pointer;border:0}.flight-share-booking-modal-backdrop{z-index:55;background:#07111f61;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.flight-share-booking-modal-backdrop[hidden]{display:none}.flight-share-booking-modal{background:#fff;border:1px solid #c7d5e8;border-radius:8px;width:min(440px,100%);max-width:100%;display:grid;overflow:hidden;box-shadow:0 22px 70px #07111f3d}.flight-share-booking-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 18px;display:flex}.flight-share-booking-modal__header h2{color:var(--ink);font-size:1rem;line-height:1.35}.flight-share-booking-modal__close{color:#07111f;cursor:pointer;background:#f8fafc;border:1px solid #c7d5e8;border-radius:999px;flex:none;width:36px;height:36px;padding:0;font-size:1.3rem;font-weight:900;line-height:1}.flight-share-booking-modal__body{padding:18px}.flight-share-booking-modal__body p{color:#263850;word-break:keep-all;margin:0;font-size:.96rem;font-weight:850;line-height:1.55}.flight-share-booking-modal__actions{border-top:1px solid var(--border);background:#fff;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 18px 16px;display:flex}.flight-share-modal-secondary-button{color:#263850;cursor:pointer;background:#fff;border:1px solid #c7d5e8;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 12px;font-size:.84rem;font-weight:900;display:inline-flex}.flight-share-modal-secondary-button:hover{color:var(--blue);background:#f8faff;border-color:#9bb3ff}.flight-share-details{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:16px}.flight-share-details dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;display:grid}.flight-share-details div{border-top:1px solid var(--border);grid-template-columns:92px minmax(0,1fr);gap:10px;min-width:0;padding:12px 0;display:grid}.flight-share-details div:nth-child(-n+2){border-top:0}.flight-share-details dt,.flight-share-details dd{margin:0}.flight-share-details dt{color:var(--muted);font-size:.76rem;font-weight:900}.flight-share-details dd{color:var(--ink);overflow-wrap:anywhere;font-size:.92rem;font-weight:850;line-height:1.35}.route-chips{flex-wrap:wrap;gap:10px;display:flex}.route-chips a{border:1px solid var(--border);background:var(--surface);color:#14346f;border-radius:999px;padding:10px 14px;font-weight:900}.feedback-section{background:#eaf0ff;border:1px solid #bfd0ff;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:56px;padding:22px;display:flex}.feedback-copy{gap:10px;display:grid}.feedback-copy p,.feedback-actions p{color:var(--muted);margin-top:6px;line-height:1.6}.feedback-actions{text-align:right;justify-items:end;gap:8px;display:grid}.open-chat-link{width:fit-content;min-height:36px;color:var(--blue);background:#fff;border:1px solid #a8bfff;border-radius:999px;align-items:center;padding:0 14px;font-size:.86rem;font-weight:900;display:inline-flex}.open-chat-link--disabled{color:var(--muted)}.site-footer{border-top:1px solid var(--border);color:var(--muted);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px 32px;margin-top:36px;padding:26px 0 34px;display:grid}.footer-brand{gap:8px;display:grid}.brand--footer{width:fit-content;color:var(--ink);letter-spacing:.02em}.footer-brand p,.footer-note,.footer-copy{margin:0;font-size:.82rem;line-height:1.6}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.footer-links a{border:1px solid var(--border);background:var(--surface);min-height:30px;color:var(--ink);border-radius:999px;align-items:center;padding:0 12px;font-size:.78rem;font-weight:900;display:inline-flex}.footer-note{max-width:760px}.footer-copy{white-space:nowrap;justify-self:end}@media (max-width:1100px){.search-box,.hotel-promo-grid,.hotel-stay-overview dl{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-stay-featured-grid,.hotel-stay-property-grid{grid-template-columns:1fr}.search-button{min-height:58px}.swap-route-button{border-bottom:1px solid var(--border)}.alert-subscribe-panel__form,.return-candidate-list{grid-template-columns:1fr}.airport-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.nav-bar{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:54px;padding:0 10px 0 12px}.brand{white-space:nowrap;gap:8px;min-height:54px;padding:0}.brand-mark{width:24px;height:24px}.nav-links{scrollbar-width:none;border-top:0;min-width:0;height:54px;padding:9px 0;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-links a{background:#ffffff0f;border-radius:999px;flex:none;height:36px;padding:0 11px}.nav-links a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--blue);border-bottom:0}.home-top,.today-discoveries,.announcement-banner,.announcement-page-hero,.hotel-page-hero,.hotel-stay-overview,.hotel-stay-featured,.hotel-promo-section,.hotel-stay-section,.hotel-stay-property-list,.inventory-section,.route-section,.announcement-section,.feedback-section,.site-footer{width:min(100% - 24px,1400px)}.flight-alert-page{width:min(100% - 24px,920px);padding:18px 0 44px}.flight-alert-panel{padding:16px}.flight-alert-current-card__top{grid-template-columns:1fr auto}.flight-alert-current-card__airline{grid-column:1/-1}.flight-alert-current-card__details{grid-template-columns:1fr;gap:8px}.flight-alert-current-card__footer,.flight-alert-current-card__booking{width:100%}.home-top{padding-top:12px}.today-discoveries{padding-bottom:14px}.today-discoveries__panel{grid-template-columns:1fr}.today-discoveries__copy{border-right:0;border-bottom:1px solid var(--border);padding:16px}.today-discoveries__copy h3{font-size:1.08rem}.today-discoveries__items{grid-template-columns:1fr}.today-discovery-card{border-right:0;border-bottom:1px solid var(--border);min-height:0;padding:14px 16px}.today-discovery-card:last-child{border-bottom:0}.today-discoveries__actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.today-discoveries__actions a{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:.86rem;font-weight:900;display:inline-flex}.today-discoveries__actions .today-discoveries__primary{border-color:var(--blue);background:var(--blue);color:#fff}h1{font-size:2.05rem}.search-box{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;overflow:visible}.mileage-scope-control{width:auto;inline-size:auto;min-inline-size:0;max-inline-size:none;grid-column:1/-1;justify-self:stretch;max-width:none;margin:0}.mileage-scope-control span{min-height:38px;padding:0 8px;font-size:.82rem}.hotel-promo-grid{grid-template-columns:1fr}.section-title{display:grid}.inventory-section .section-title{grid-template-columns:minmax(0,1fr)}.section-title .hotel-promo-exchange-rate{text-align:left;justify-items:start}.hotel-stay-overview{padding-top:12px}.hotel-stay-overview dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hotel-stay-overview div{min-height:72px;padding:12px}.hotel-stay-overview div:last-child{grid-column:1/-1;min-height:66px}.hotel-stay-overview dd{font-size:1rem}.hotel-stay-freshness{white-space:normal;justify-self:start}.hotel-stay-property-card{grid-template-columns:1fr}.hotel-stay-property-card .hotel-stay-card-image{aspect-ratio:16/10}.hotel-stay-property-card__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-stay-featured-card__body,.hotel-stay-property-card__body{padding:13px}.hotel-stay-featured-card h3,.hotel-stay-property-card h3{font-size:1rem}.hotel-stay-featured-card__deal strong,.hotel-stay-property-card__deal strong{font-size:1.22rem}.hotel-stay-property-header{grid-template-columns:1fr;gap:16px;padding:18px}.hotel-stay-property-header__main dl{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-stay-property-header__actions{justify-self:stretch}.hotel-stay-sticky-banner{margin:0 -2px;position:sticky;top:auto;bottom:12px}.hotel-stay-best-window{grid-template-columns:1fr;gap:10px;padding:14px}.hotel-stay-best-window__meta strong,.hotel-stay-best-window__meta span{white-space:normal}.hotel-stay-best-window>a{width:100%}.hotel-stay-timeline-month__head{flex-direction:column;align-items:flex-start;gap:3px}.hotel-stay-award-row{grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:4px 12px}.hotel-stay-award-row__room{text-align:left;grid-column:1/-1}.feedback-section{flex-direction:column;align-items:flex-start}.feedback-actions{text-align:left;justify-items:start}.announcement-banner{grid-template-columns:1fr;align-items:start}.announcement-list{grid-template-columns:1fr}.search-field{border:1px solid var(--border);border-radius:8px;gap:4px;min-height:58px;padding:8px 10px}.airport-picker-field{text-align:center;justify-items:center;min-height:72px}.airport-trigger{text-align:center}.search-field span{letter-spacing:0}.swap-route-button{border:0;border-radius:8px;justify-self:center;width:48px;min-height:72px}.search-field--compact{grid-column:3}.search-button{border-radius:8px;grid-column:1/-1;min-height:44px}.inventory-title-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}.inventory-title-row h2{white-space:nowrap;min-width:0;font-size:1rem}.inventory-freshness{justify-self:end;gap:4px;max-width:100%;min-height:28px;padding:4px 7px;font-size:.68rem}.inventory-freshness span{font-size:.6rem}.inventory-heading{padding:0 14px}.inventory-table{background:0 0;border:0;gap:12px;overflow:visible}.inventory-head{display:none}.inventory-row{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:0;box-shadow:0 8px 20px #07111f0d}.inventory-card-desktop{display:none}.inventory-card-mobile{gap:6px;padding:13px 14px;display:grid}.inventory-card-mobile .inventory-airline{flex-wrap:wrap;grid-area:auto/1;align-items:center;display:flex}.inventory-card-mobile .inventory-route-summary{grid-area:auto/1}.inventory-route-meta,.inventory-route-meta span{min-width:0}.inventory-action-panel--mobile{text-align:left;border-top:1px solid #e5ebf3;grid-area:auto/1;grid-template-columns:minmax(0,1fr);place-items:stretch stretch;gap:6px;width:100%;max-width:none;padding-top:6px;display:grid}.inventory-action-panel--mobile .inventory-action-availability{order:1}.inventory-action-panel--mobile .inventory-price-block{order:2}.inventory-action-panel--mobile .inventory-primary-action{order:3}.inventory-price-block{text-align:left;justify-self:start}.inventory-price-block .flight-cost{justify-items:start}.inventory-price-block .flight-cost__line{overflow-wrap:anywhere;white-space:normal;max-width:100%;font-size:.98rem;line-height:1.22}.inventory-primary-action{justify-self:stretch}.inventory-primary-action .booking-link{justify-content:center;width:100%;min-width:86px;min-height:46px;font-size:.95rem}.inventory-action-availability{grid-column:1/-1;justify-content:flex-start;gap:5px;max-width:100%;min-height:28px;font-size:.66rem}.inventory-action-availability .cabin-badge,.inventory-action-availability .product-badge{max-width:128px;padding:3px 7px;font-size:.62rem}.inventory-action-availability .inventory-seat-count{border-radius:999px;margin-left:0;padding:3px 8px}.inventory-action-availability .inventory-seat-count--critical{background:#fff1f2}.inventory-action-availability .inventory-seat-count--limited{background:#fff7ed}.inventory-action-availability .inventory-seat-count--available{background:#eff6ff}.inventory-candidate-strip{padding:11px 14px;display:grid}.inventory-candidate-list{gap:6px}.inventory-candidate-card{min-height:50px;padding:5px 3px}.alert-subscribe-panel{width:100%}.alert-subscribe-panel--top{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px}.alert-subscribe-panel__prompt{align-items:flex-start;gap:8px}.alert-subscribe-panel__prompt-copy{gap:2px;display:grid}.alert-subscribe-panel__prompt-copy strong{font-size:.84rem}.alert-subscribe-panel__prompt-copy span{font-size:.76rem}.alert-subscribe-panel__toggle,.alert-subscribe-panel__submit{justify-content:center;width:100%}.alert-subscribe-modal-backdrop{align-items:flex-end;padding:0 10px}.alert-subscribe-modal{border-radius:8px 8px 0 0;width:100%;max-height:calc(100dvh - 14px)}.alert-subscribe-modal__header{min-height:58px;padding:12px 14px}.alert-subscribe-modal__header h3{font-size:.98rem}.alert-subscribe-modal__header p{font-size:.74rem}.alert-subscribe-panel__form{gap:10px;padding:12px 14px 14px}.alert-subscribe-panel__route{justify-content:center;width:100%}.alert-subscribe-panel__months{grid-template-columns:repeat(3,minmax(0,1fr));max-height:160px;overflow:auto}.alert-subscribe-panel__compact-controls{grid-template-columns:1fr;display:grid}.alert-subscribe-panel__resend{width:100%}.alert-subscribe-modal__footer{padding:10px 14px 12px}.inventory-availability-note__tooltip{inset:calc(100% + 8px) 0 auto auto;transform:none}.inventory-availability-note__tooltip:after{border:0;border-top:1px solid #d6b37b;border-left:1px solid #d6b37b;inset:-6px 5px auto auto}.seat-product-card ul{grid-template-columns:1fr}.airport-modal-backdrop{padding:10px}.airport-modal{width:100%;height:min(86vh,720px);max-height:min(86vh,720px)}.airport-modal__body{padding:16px}.roundtrip-modal-backdrop{padding:10px}.roundtrip-modal{height:min(92dvh,760px);max-height:calc(100dvh - 20px)}.flight-share-booking-modal-backdrop{padding:12px}.flight-share-booking-modal__actions{flex-direction:column}.flight-share-booking-modal__actions .booking-link,.flight-share-booking-modal__actions .flight-share-secondary-link,.flight-share-modal-secondary-button{width:100%}.return-candidate{grid-template-columns:1fr;align-items:start}.return-candidate__cost{justify-items:start}.roundtrip-selection,.roundtrip-summary__legs{grid-template-columns:1fr}.roundtrip-selection .booking-link{width:100%}.flight-share-page{width:min(100% - 24px,980px);padding-top:20px}.flight-share-hero h1{font-size:2.05rem}.flight-share-actions,.flight-share-actions .booking-link,.flight-share-secondary-link{width:100%}.flight-share-details dl{grid-template-columns:1fr}.flight-share-details div:nth-child(2){border-top:1px solid var(--border)}.airport-list{grid-template-columns:repeat(2,minmax(0,1fr))}.airport-option{min-height:76px}.site-footer{grid-template-columns:1fr;gap:16px}.footer-links{justify-content:flex-start}.footer-copy{justify-self:start}}@media (max-width:360px){.airport-list{grid-template-columns:1fr}}.admin-shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.admin-sidebar{background:var(--nav);color:#fff;flex-direction:column;gap:24px;padding:24px 16px;display:flex}.admin-brand{letter-spacing:.04em;font-size:18px;font-weight:700}.admin-sidebar nav ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.admin-sidebar nav a{color:#ffffffb3;border-radius:6px;padding:8px 12px;text-decoration:none;display:block}.admin-sidebar nav a:hover{color:#fff;background:#ffffff14}.admin-sidebar nav a[aria-current=page]{background:var(--blue);color:#fff}.admin-logout{margin-top:auto}.admin-logout button{color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;width:100%;padding:8px}.admin-main{background:var(--bg);padding:32px}.admin-login-wrap{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(360px,100%);padding:32px}.admin-login-card h1{margin:0 0 16px;font-size:20px}.admin-login-card form{flex-direction:column;gap:12px;display:flex}.admin-login-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.admin-login-card input{border:1px solid var(--border);font:inherit;border-radius:6px;padding:8px 10px}.admin-login-card button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:10px;font-weight:600}.admin-banner{background:var(--blue-soft);color:var(--blue-dark);border-radius:6px;padding:8px 12px;font-size:14px}.admin-error{color:#b3261e;background:#fde7e9;border-radius:6px;padding:8px 12px;font-size:14px}.admin-notice{color:#166534;background:#ecfdf5;border-radius:6px;padding:8px 12px;font-size:14px}.admin-tabs ul{border-bottom:1px solid var(--border);gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.admin-tabs a{color:var(--muted);border-bottom:2px solid #0000;padding:8px 12px;text-decoration:none;display:inline-block}.admin-tabs a:hover{color:var(--ink)}.admin-tabs a[aria-current=page]{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.admin-filter-bar{flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 16px;display:flex}.admin-filter-bar label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.admin-filter-bar select,.admin-filter-bar input[type=text]{border:1px solid var(--border);font:inherit;background:var(--surface);border-radius:6px;padding:6px 8px}.admin-filter-bar button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:8px 14px;font-weight:600}.admin-attempts-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 16px;display:flex}.admin-attempts-toolbar .admin-filter-bar{margin:0}.admin-inline-form{align-items:end;display:flex}.admin-table{border-collapse:collapse;background:var(--surface);width:100%;font-size:13px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.admin-table th{background:var(--surface);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.admin-table tbody tr:hover{background:#00000008}.admin-table a{color:var(--blue);text-decoration:none}.admin-table a:hover{text-decoration:underline}.admin-empty{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:8px;padding:32px 12px}.admin-status-chip{color:var(--ink);background:#0000000f;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.admin-status-chip[data-status=succeeded]{color:#03543f;background:#def7ec}.admin-status-chip[data-status=failed]{color:#b3261e;background:#fde7e9}.admin-status-chip[data-status=partial]{color:#92400e;background:#fef3c7}.admin-status-chip[data-status=running]{color:#075985;background:#e0f2fe}.admin-pagination{flex-direction:column;gap:8px;margin-top:16px;display:flex}.admin-pagination-summary{color:var(--muted);margin:0;font-size:13px}.admin-pagination ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.admin-pagination a,.admin-pagination span{text-align:center;border:1px solid var(--border);background:var(--surface);min-width:32px;color:var(--ink);border-radius:6px;padding:4px 8px;font-size:13px;text-decoration:none;display:inline-block}.admin-pagination a:hover{border-color:var(--blue);color:var(--blue)}.admin-pagination .current{background:var(--blue);color:#fff;border-color:var(--blue)}.admin-pagination .disabled{color:var(--muted);opacity:.6}.admin-detail-header{margin-bottom:16px}.admin-detail-header a{color:var(--blue);margin-bottom:4px;font-size:13px;text-decoration:none;display:inline-block}.admin-detail-header h1{margin:0;font-size:20px}.admin-detail-dl{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:200px 1fr;gap:8px 16px;padding:16px;display:grid}.admin-detail-dl dt{color:var(--muted);font-size:13px}.admin-detail-dl dd{word-break:break-all;margin:0;font-size:14px}.admin-detail-pre{white-space:pre-wrap;word-break:break-all;background:#0000000a;border-radius:6px;margin:0;padding:8px;font-size:12px}.admin-page-header{justify-content:space-between;align-items:center;gap:16px;margin:24px 0 16px;display:flex}.admin-page-header h1{margin:0;font-size:1.4rem;font-weight:800}.admin-page-header a{color:var(--muted);font-size:.9rem}.admin-primary-button{background:var(--blue);color:#fff;border:1px solid var(--blue-dark);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.admin-primary-button:hover{background:var(--blue-dark)}.admin-secondary-button{background:var(--surface);color:var(--ink);border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.admin-secondary-button:hover{background:var(--surface-soft)}.admin-danger-button{color:#fff;cursor:pointer;background:#c0392b;border:1px solid #962a1f;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.admin-danger-button:hover{background:#962a1f}.admin-danger-note{color:#962a1f;background:#fdecea;border-left:4px solid #c0392b;border-radius:4px;margin:16px 0;padding:12px 14px;font-size:.92rem}.admin-form{flex-direction:column;gap:12px;max-width:480px;margin:16px 0;display:flex}.admin-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.9rem;font-weight:600;display:flex}.admin-form input[type=text],.admin-form input:not([type=checkbox]):not([type=hidden]),.admin-form select{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:4px;padding:8px 10px;font-weight:400}.admin-form-checkbox{color:var(--ink);align-items:center;gap:8px;flex-direction:row!important}.admin-form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;display:flex}.admin-toggle{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:56px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.admin-toggle[data-on=true]{color:#1d6b3f;background:#d4f4e2;border-color:#1d6b3f}.admin-toggle[data-on=false]{color:#5a5a5a;background:#ececec;border-color:#b5b5b5}.flight-alert-page{gap:18px;width:min(920px,100% - 40px);margin:0 auto;padding:42px 0 72px;display:grid}.flight-alert-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:14px;padding:24px;display:grid}.flight-alert-panel h1{font-size:clamp(2rem,4vw,3.1rem)}.flight-alert-panel h2{font-size:1.2rem}.flight-alert-copy,.flight-alert-empty{color:var(--muted);line-height:1.7}.flight-alert-notice{color:#0b6e51;background:#eaf8f2;border:1px solid #b8ddcf;border-radius:8px;padding:12px 14px;font-weight:800}.flight-alert-link-button,.flight-alert-actions button,.flight-alert-inline-form button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:8px;width:fit-content;font-weight:900}.flight-alert-link-button,.flight-alert-actions button{padding:12px 16px}.flight-alert-inline-form button{padding:9px 12px}.flight-alert-link-button:hover,.flight-alert-actions button:hover,.flight-alert-inline-form button:hover{background:var(--blue-dark)}.flight-alert-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.flight-alert-list li{border:1px solid var(--border);border-radius:8px;gap:6px;padding:14px;display:grid}.flight-alert-list span{color:var(--muted)}.flight-alert-current-card{gap:14px}.flight-alert-current-card__top{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.flight-alert-current-card__top strong{min-width:0;color:var(--ink);font-size:1rem;font-weight:900}.flight-alert-current-card__airline,.flight-alert-current-card__seats{border-radius:999px;width:fit-content;padding:8px 10px;font-size:.78rem;font-weight:900;line-height:1}.flight-alert-current-card__airline{color:#2451d8;background:#eef3ff}.flight-alert-current-card__seats{color:#d5364d;background:#fff1f3}.flight-alert-current-card__details{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.flight-alert-current-card__details div{background:#f8fbff;border:1px solid #dce5f0;border-radius:8px;min-width:0;padding:10px 12px}.flight-alert-current-card__details dt{color:#607089;margin-bottom:5px;font-size:.72rem;font-weight:900}.flight-alert-current-card__details dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.88rem;font-weight:900;line-height:1.35}.flight-alert-current-card__footer{justify-content:flex-end;display:flex}.flight-alert-current-card__booking{border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:.82rem;font-weight:900;display:inline-flex}.flight-alert-current-card__booking:hover{background:var(--blue-dark)}.flight-alert-current-card__booking--disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted)}.flight-alert-current-card__booking--disabled:hover{background:var(--surface-soft)}.flight-alert-table-wrap{overflow-x:auto}.flight-alert-table{border-collapse:collapse;width:100%;min-width:680px}.flight-alert-table th,.flight-alert-table td{border-bottom:1px solid var(--border);text-align:left;padding:12px}.flight-alert-table th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.flight-alert-inline-form,.flight-alert-actions{margin:0}@media (max-width:720px){.flight-alert-page{width:min(100% - 24px,920px);padding:18px 0 44px}.flight-alert-panel{padding:16px}.flight-alert-current-card__top{grid-template-columns:1fr auto}.flight-alert-current-card__airline{grid-column:1/-1}.flight-alert-current-card__details{grid-template-columns:1fr;gap:8px}.flight-alert-current-card__footer,.flight-alert-current-card__booking{width:100%}}.community-shell{width:min(960px,100% - 32px);margin:0 auto;padding:24px 0 64px}.community-topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:min(960px,100% - 32px);margin:0 auto;padding:12px 0;display:flex}.community-topbar-home{color:var(--ink);font-weight:700}.community-topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.community-topbar-nick{color:var(--muted);font-size:.9rem}.community-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.community-header h1{margin:0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.community-list-actions{justify-content:flex-end;margin:-14px 0 10px;display:flex}.community-crumb{color:var(--muted);font-size:.84rem;font-weight:800;text-decoration:none}.community-crumb:hover{color:var(--blue)}.community-front-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:28px;display:grid}.community-list-panel{gap:12px;margin-bottom:28px;display:grid}.community-list-panel__head{justify-content:space-between;align-items:baseline;gap:12px;min-height:30px;display:flex}.community-list-panel__head h2{color:var(--ink);font-size:1rem;font-weight:900}.community-list-panel__head a{color:var(--muted);font-size:.78rem;font-weight:900}.community-list-panel__head a:hover{color:var(--blue)}.board-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.board-grid--compact{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.board-card{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:12px;gap:8px;padding:20px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid}.board-card:hover,.board-card:focus-visible{border-color:var(--blue);box-shadow:0 4px 14px #1f5bff1a}.board-card-name{color:var(--ink);font-size:1rem;font-weight:900;line-height:1.3}.board-card-desc{color:var(--muted);font-size:.84rem;line-height:1.5}.post-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.post-list--compact .post-row{min-height:52px}.post-list--compact .post-row-main{padding:9px 12px}.post-list--dense{border-radius:6px}.post-row{border-bottom:1px solid var(--border);min-height:60px;color:inherit;grid-template-columns:56px 84px minmax(0,1fr);align-items:stretch;gap:0;padding:0;text-decoration:none;transition:background-color .12s;display:grid}.post-row:last-child{border-bottom:0}.post-row:hover{background:var(--surface-soft)}.post-row-score{border-right:1px solid var(--border);color:var(--muted);text-align:center;align-content:center;place-items:center;gap:1px;min-width:0;padding:8px 6px;display:grid}.post-row-score strong{color:var(--ink);font-size:.92rem;font-weight:900;line-height:1}.post-row-score span{color:var(--muted);font-size:.64rem;font-weight:900;line-height:1}.post-row-main{align-content:center;gap:5px;min-width:0;padding:10px 12px;display:grid}.post-row-head{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.post-row-titleline{align-items:baseline;gap:7px;min-width:0;display:flex}.post-row-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:.96rem;font-weight:900;line-height:1.35;overflow:hidden}.post-row-title:hover{color:var(--blue)}.post-row-comment-count{color:var(--blue);flex:none;font-size:.9rem;font-weight:900;line-height:1.2;text-decoration:none}.post-row-comment-count:hover{text-decoration:underline}.post-row-board{background:var(--blue-soft);color:var(--blue);border-radius:6px;flex:none;padding:2px 7px;font-size:.68rem;font-weight:900}.post-row-stats{min-width:0;color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;font-size:.78rem;line-height:1.35;display:flex}.post-row-author{text-overflow:ellipsis;min-width:0;max-width:120px;overflow:hidden}.post-row-date{color:var(--muted);white-space:nowrap}.post-row-date:before{content:"/";color:var(--border);margin-right:7px}.post-row-view-count{color:var(--muted);white-space:nowrap}.post-row-view-count:before{content:"/";color:var(--border);margin-right:7px}.post-row-stat{background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:2px 7px;font-weight:900}.post-row-meta{color:var(--muted);font-size:.78rem;line-height:1.35}.post-row-thumb{border:1px solid var(--border);background:var(--surface-soft);border-radius:6px;place-self:center;width:72px;height:52px;margin:7px 0;display:block;overflow:hidden}.post-row-thumb--empty{background:linear-gradient(180deg, #64748b14, #64748b08), var(--surface-soft)}.post-row-thumb--empty:before{content:"";border:2px solid #64748b33;border-radius:4px;width:26px;height:28px;margin:11px auto 0;display:block;box-shadow:inset 0 8px #64748b14}.post-row-thumb img{object-fit:cover;width:100%;height:100%;display:block}.forum-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:24px;display:flex}.forum-pagination a,.forum-pagination span{border:1px solid var(--border);background:var(--surface);min-width:36px;min-height:36px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:.86rem;font-weight:800;text-decoration:none;transition:border-color .12s,color .12s;display:inline-flex}.forum-pagination a:hover{border-color:var(--blue);color:var(--blue)}.forum-pagination .current,.forum-pagination [aria-current=page]{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:900}.forum-empty{border:1px dashed var(--border);background:var(--surface);min-height:120px;color:var(--muted);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;font-size:.9rem;line-height:1.6;display:flex}.forum-empty--compact{min-height:96px;padding:18px}.forum-empty--actionable{min-height:150px}.forum-empty__title{color:var(--ink);font-size:.95rem;font-weight:900}.forum-empty__text{max-width:460px;color:var(--muted);font-size:.84rem}.post-detail-shell{gap:18px;display:grid}.post-detail{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:22px;padding:22px;display:grid}.post-feedback{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:10px 12px;font-size:.86rem;font-weight:800;line-height:1.45;display:flex}.post-feedback--error{color:#9f1f17;background:#fff5f3;border-color:#b4231847}.post-feedback--success{color:#1f6f3d;background:#f2fbf5;border-color:#26723c47}.post-feedback__close{min-height:28px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:8px;flex:none;padding:0 9px;font-size:.76rem;font-weight:900}.post-feedback__close:hover{background:#ffffffb8}.post-detail-header{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;padding-bottom:16px;display:grid}.post-detail-heading{gap:10px;min-width:0;display:grid}.post-detail-kicker{color:var(--muted);align-items:center;gap:9px;font-size:.78rem;font-weight:900;display:flex}.post-detail-kicker a{color:var(--muted);text-decoration:none}.post-detail-kicker a:hover{color:var(--blue)}.post-detail-kicker span{border-left:1px solid var(--border);padding-left:9px}.post-title-row{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.post-title{color:var(--ink);word-break:keep-all;margin:0;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:900;line-height:1.2}.post-detail-date{color:var(--muted);white-space:nowrap;flex:none;font-size:.9rem;font-weight:800;line-height:1.4}.post-meta{color:var(--muted);font-size:.84rem;line-height:1.45}.post-stat-list{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.post-stat-list div{background:var(--surface-soft);border-radius:999px;align-items:center;gap:5px;min-height:26px;padding:0 9px;display:inline-flex}.post-stat-list dt,.post-stat-list dd{margin:0;font-size:.76rem;line-height:1}.post-stat-list dt{color:var(--muted);font-weight:800}.post-stat-list dd{color:var(--ink);font-weight:900}.post-owner-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin:0;display:flex}.post-owner-actions form{display:inline-flex}.post-body{color:var(--ink);font-size:1rem;line-height:1.7}.post-share-link{border-bottom:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;min-width:0;margin-top:-6px;padding:0 0 12px;display:flex}.post-share-link a{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.86rem;font-weight:800;text-decoration:none;display:block;overflow:hidden}.post-share-link a:hover{color:var(--blue);text-decoration:underline}.post-share-link button{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--ink);cursor:pointer;border-radius:8px;flex:none;padding:0 10px;font-size:.78rem;font-weight:900}.post-share-link button:hover{border-color:var(--blue);color:var(--blue)}.post-body h2{color:var(--ink);margin:28px 0 10px;font-size:1.28rem;font-weight:900}.post-body h3{color:var(--ink);margin:22px 0 8px;font-size:1.1rem;font-weight:800}.post-body p{margin:0 0 14px;line-height:1.7}.post-body strong{font-weight:900}.post-body em{font-style:italic}.post-body a{color:var(--blue);text-decoration:underline}.post-body a:hover{color:var(--blue-dark)}.post-body ul,.post-body ol{margin:0 0 14px;padding-left:24px;line-height:1.7}.post-body li{margin-bottom:6px}.post-body blockquote{border-left:3px solid var(--border);color:var(--muted);background:var(--surface-soft);border-radius:0 6px 6px 0;margin:16px 0;padding:10px 16px;font-style:italic}.post-body img{border-radius:10px;max-width:100%;height:auto;margin:14px 0;display:block}.post-body img.community-image,.editor-content .ProseMirror img.community-image{width:auto;max-width:100%}.post-body img.community-image--small,.editor-content .ProseMirror img.community-image--small{max-width:min(100%,320px)}.post-body img.community-image--medium,.editor-content .ProseMirror img.community-image--medium{max-width:min(100%,520px)}.post-body img.community-image--large,.editor-content .ProseMirror img.community-image--large{max-width:min(100%,760px)}.post-body img.community-image--full,.editor-content .ProseMirror img.community-image--full{width:100%}.post-body .reference-card{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:10px;margin:14px 0;padding:14px 16px;text-decoration:none;transition:border-color .15s;display:block}.post-body .reference-card:hover{border-color:var(--blue)}.post-actionbar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;display:flex}.post-neighbor-nav{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.post-neighbor-nav__link,.post-neighbor-nav__list{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;text-decoration:none}.post-neighbor-nav__link{gap:4px;min-width:0;padding:10px 12px;display:grid}.post-neighbor-nav__link span{color:var(--muted);font-size:.72rem;font-weight:900}.post-neighbor-nav__link strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:900;overflow:hidden}.post-neighbor-nav__link--next{text-align:right}.post-neighbor-nav__list{min-width:108px;color:var(--muted);justify-content:center;align-items:center;padding:0 14px;font-size:.84rem;font-weight:900;display:inline-flex}.post-neighbor-nav__link:hover,.post-neighbor-nav__list:hover{border-color:var(--blue);color:var(--blue)}.post-neighbor-nav__link.is-disabled{color:var(--muted);opacity:.58}.post-neighbor-nav__link.is-disabled:hover{border-color:var(--border);color:var(--muted)}.comments-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:14px;padding:18px;display:grid}.comments-panel__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;display:flex}.comments-panel__head h2{color:var(--ink);margin:0;font-size:1.02rem;font-weight:900}.comments-panel__head span{color:var(--muted);font-size:.8rem;font-weight:800}.btn{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:.88rem;font-weight:800;text-decoration:none;transition:border-color .12s,background-color .12s;display:inline-flex}.btn:hover{border-color:var(--blue);background:var(--surface-soft)}.btn:disabled{cursor:not-allowed;opacity:.58}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000;min-height:30px;padding:0 8px;font-size:.8rem}.btn-ghost:hover{border-color:var(--border);background:var(--surface-soft);color:var(--ink)}.btn-danger{color:#b42318}.btn-danger:hover{color:#8f1d14}.like-btn{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.84rem;font-weight:800;transition:border-color .12s,background-color .12s,color .12s;display:inline-flex}.like-btn:hover{border-color:var(--blue);color:var(--blue)}.like-btn.is-liked{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.report-form{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.report-disclosure{display:inline-flex;position:relative}.report-disclosure summary{min-height:30px;color:var(--muted);cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;padding:0 8px;font-size:.8rem;font-weight:800;list-style:none;display:inline-flex}.report-disclosure summary::-webkit-details-marker{display:none}.report-disclosure summary:hover,.report-disclosure[open] summary{border-color:var(--border);background:var(--surface-soft);color:var(--ink)}.report-disclosure__panel.report-form{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:10px;width:min(320px,100vw - 40px);padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 30px #0f172a29}.report-disclosure__panel label{gap:5px;display:grid}.report-disclosure__panel label span{color:var(--muted);font-size:.74rem;font-weight:900}.report-form .forum-input{width:min(220px,52vw);padding:6px 8px;font-size:.85rem}.report-form .forum-select{width:auto;padding:6px 26px 6px 8px;font-size:.85rem}.report-form button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem;text-decoration:underline}.report-form button:hover{color:var(--ink)}.report-disclosure__panel.report-form .forum-input,.report-disclosure__panel.report-form .forum-select{width:100%}.report-disclosure__panel.report-form button{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--ink);border-radius:8px;justify-self:end;padding:0 10px;text-decoration:none}.report-disclosure__panel.report-form button:hover{border-color:var(--blue);color:var(--blue)}.forum-form{flex-direction:column;gap:14px;display:flex}.forum-input,.forum-select,.forum-textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);font-family:var(--font-body), sans-serif;border-radius:8px;padding:10px 12px;font-size:16px;line-height:1.5;transition:border-color .12s,box-shadow .12s}.forum-input:focus,.forum-textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.forum-textarea{resize:vertical;min-height:120px}.community-shell:has(.new-post-shell){width:min(1160px,100% - 40px)}.new-post-shell{gap:22px;display:grid}.new-post-board-notice{border:1px solid var(--border);background:var(--surface);color:var(--ink)}.new-post-board-notice__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:40px;padding:0 16px;display:flex}.new-post-board-notice__head p,.new-post-board-notice__body{margin:0}.new-post-board-notice__head p{color:var(--ink);padding-left:12px;font-size:.98rem;font-weight:800;position:relative}.new-post-board-notice__head p:before{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid var(--muted);width:0;height:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.new-post-board-notice__head p span{color:var(--blue)}.new-post-board-notice__topics{color:var(--muted);white-space:nowrap;align-items:center;gap:10px;font-size:.86rem;font-weight:800;display:inline-flex}.new-post-board-notice__topics span+span{border-left:1px solid var(--border);padding-left:10px}.new-post-board-notice__topics span:last-child{color:#f5a400;border-left:0;padding-left:4px;font-size:1.02rem}.new-post-board-notice__body{color:#3f4756;align-items:center;min-height:48px;padding:0 18px;font-size:.94rem;font-weight:700;display:flex}.new-post-alert{color:#b42318;background:#fff4f2;border:1px solid #f4c7c3;border-radius:8px;margin:0;padding:12px 14px;font-size:.9rem;font-weight:800}.new-post-form{gap:12px}.new-post-title-row{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.new-post-title-input{border-radius:6px;min-height:42px;padding:0 18px;font-size:1rem;font-weight:800}.new-post-title-input::placeholder{color:#8a94a5}.new-post-title-input[aria-invalid=true]{border-color:#f0a29a}.new-post-field-error{color:#b42318;margin:-4px 0 0;font-size:.82rem;font-weight:900;line-height:1.45}.new-post-editor-frame{display:grid}.new-post-form .post-editor{box-shadow:none;border-radius:6px 6px 0 0}.new-post-form .post-editor:focus-within{box-shadow:none}.new-post-editor-frame.is-invalid .post-editor{border-color:#f0a29a}.new-post-form [role=toolbar]{background:#fbfcff;min-height:40px}.new-post-form .editor-content .ProseMirror{min-height:400px;padding:14px 18px}.post-submit-bar{justify-content:space-between;align-items:center;gap:16px;margin-top:15px;display:flex}.post-submit-bar .btn{border-radius:5px;min-width:132px;min-height:48px;font-size:.98rem}.post-submit-bar__actions{align-items:center;gap:14px;display:inline-flex}.post-submit-bar__actions .btn-primary{min-width:142px}.comment-thread{gap:10px;margin:0;padding:0;list-style:none;display:grid}.comment{margin-left:calc(var(--depth,0) * 14px);grid-template-columns:14px minmax(0,1fr);gap:8px;display:grid;position:relative}.comment.is-muted{opacity:.76}.comment-depth-marker{border-left:2px solid var(--border);width:14px;min-height:100%}.comment-card{border-bottom:1px solid var(--border);gap:7px;min-width:0;padding:10px 0 10px 10px;display:grid}.comment-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.comment-head strong{color:var(--ink);font-size:.88rem;font-weight:900}.comment-meta{color:var(--muted);align-items:center;gap:6px;font-size:.76rem;font-weight:800;display:inline-flex}.comment-meta time,.comment-meta span{color:var(--muted)}.comment-body{color:var(--ink);word-break:break-word;font-size:.92rem;line-height:1.65}.comment-body p,.comment-body ul,.comment-body ol,.comment-body blockquote{margin-top:0;margin-bottom:8px}.comment-body p:last-child,.comment-body ul:last-child,.comment-body ol:last-child,.comment-body blockquote:last-child{margin-bottom:0}.comment-body ul,.comment-body ol{padding-left:20px}.comment-body blockquote{border-left:3px solid var(--border);background:var(--surface-soft);color:var(--muted);border-radius:0 4px 4px 0;padding:7px 10px}.comment-body a{color:var(--blue);text-decoration:underline}.comment-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.comment-editor-control{display:contents}.comment-editor-control .comment-form--rich{flex:1 0 100%;width:100%;margin-top:6px}.comment-actions .like-btn{min-height:28px;padding:0 9px;font-size:.78rem}.comment-tombstone{color:var(--muted);font-size:.84rem;font-style:italic}.comment-form{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:8px;display:grid}.comment-form--rich{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.comment-form--root{margin-top:0}.comment-form--reply,.comment-form--edit{margin-top:2px}.comment-children{grid-column:2}.comment-children .comment-thread{margin-top:6px}.comment-overflow{gap:10px;display:grid}.comment-overflow summary{border:1px solid var(--border);background:var(--surface-soft);min-height:38px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:.84rem;font-weight:900;list-style:none;display:inline-flex}.comment-overflow summary::-webkit-details-marker{display:none}.comment-overflow summary:hover{border-color:var(--blue);color:var(--blue)}.comment-overflow[open] summary{margin-bottom:10px}.post-editor{border:1px solid var(--border);background:var(--surface);border-radius:10px;transition:border-color .12s;overflow:hidden}.post-editor:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.post-editor--compact{border-radius:8px}.editor-toolbar{-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border);background:var(--surface-soft);scrollbar-width:thin;flex-wrap:nowrap;align-items:center;gap:6px;padding:8px 10px;display:flex;overflow:auto hidden}.editor-toolbar-group{border-right:1px solid var(--border);flex:none;align-items:center;gap:2px;margin-right:2px;padding-right:6px;display:inline-flex}.editor-toolbar-group:last-child{border-right:0;margin-right:0;padding-right:0}.editor-toolbar button{width:auto;min-width:28px;height:30px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0 7px;font-size:.82rem;font-weight:900;transition:background-color .1s,border-color .1s,color .1s;display:inline-flex}.editor-toolbar button:not(:disabled):hover{background:var(--surface);border-color:var(--border);color:var(--ink)}.editor-toolbar button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.editor-toolbar button:disabled{cursor:not-allowed;opacity:.55}.editor-toolbar button.is-active,.editor-toolbar button[aria-pressed=true]{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.editor-command--wide{min-width:44px}.editor-command-icon{justify-content:center;align-items:center;min-width:14px;line-height:1;display:inline-flex}.editor-command-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.editor-toolbar-group--image-size.is-disabled{opacity:.72}.editor-upload-status{border:1px solid var(--border);background:var(--surface);max-width:min(360px,64vw);min-height:30px;color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:800;line-height:1.2;display:inline-flex}.editor-upload-status span:last-child{text-overflow:ellipsis;overflow:hidden}.editor-upload-status__dot{background:currentColor;border-radius:999px;flex:none;width:7px;height:7px}.editor-upload-status--pending{background:var(--blue-soft);color:var(--blue);border-color:#b9c9ff}.editor-upload-status--success{color:var(--green);background:#effaf5;border-color:#bfe8d8}.editor-upload-status--error{color:#b42318;background:#fff4f2;border-color:#f4c7c3}.editor-content .ProseMirror{min-height:240px;color:var(--ink);font-size:1rem;line-height:1.7;font-family:var(--font-body), sans-serif;outline:none;padding:12px}.editor-content .ProseMirror p{margin:0 0 12px}.editor-content .ProseMirror h2{margin:20px 0 8px;font-size:1.2rem;font-weight:900}.editor-content .ProseMirror h3{margin:16px 0 6px;font-size:1.05rem;font-weight:800}.editor-content .ProseMirror ul,.editor-content .ProseMirror ol{margin:0 0 12px;padding-left:22px}.editor-content .ProseMirror blockquote{border-left:3px solid var(--border);color:var(--muted);background:var(--surface-soft);border-radius:0 4px 4px 0;margin:12px 0;padding:8px 14px}.editor-content .ProseMirror a{color:var(--blue);text-decoration:underline}.editor-content .ProseMirror img{border-radius:10px;height:auto;margin:12px 0;display:block}.editor-content .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--blue);outline-offset:2px}.editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--muted);pointer-events:none;height:0}.post-editor--compact .editor-toolbar{padding:6px 8px}.post-editor--compact .editor-toolbar button{min-width:26px;height:28px;padding:0 6px;font-size:.78rem}.post-editor--compact .editor-content .ProseMirror{min-height:92px;padding:10px;font-size:.92rem;line-height:1.6}.post-editor--compact .editor-content .ProseMirror p{margin-bottom:8px}.notif-list{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.notif-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:14px 18px;font-size:.9rem;line-height:1.45;transition:background-color .12s;display:flex}.notif-item:last-child{border-bottom:0}.notif-item:hover{background:var(--surface-soft)}.notif-item.is-unread{background:var(--blue-soft);font-weight:800}.notif-item.is-unread:before{content:"";background:var(--blue);border-radius:999px;flex:none;width:8px;height:8px;margin-top:5px;display:block}.moderation-section{gap:12px;margin:0 0 28px;display:grid}.moderation-section__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.moderation-section__head h2{margin:0;font-size:1rem}.moderation-section__head span{color:var(--muted);font-size:.85rem;font-weight:700}.report-queue{gap:12px;margin:0;padding:0;list-style:none;display:grid}.report-item{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:12px;padding:16px 18px;display:grid}.report-item__meta,.report-item__reason{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.report-item__actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:720px){.community-header{flex-direction:column;align-items:flex-start;gap:10px}.community-list-actions{margin-top:-6px}.community-front-grid{grid-template-columns:1fr;gap:22px}.board-grid{grid-template-columns:1fr}.post-actionbar{gap:8px}.comment{margin-left:calc(var(--depth,0) * 7px)}.community-shell{padding:16px 0 48px}.new-post-board-notice__head{flex-direction:column;align-items:flex-start;min-height:0;padding:12px 14px}.new-post-board-notice__topics{white-space:normal;flex-wrap:wrap;gap:7px}.new-post-title-row{grid-template-columns:1fr}.post-submit-bar{flex-direction:column;align-items:stretch}.post-submit-bar__actions{grid-template-columns:1fr;display:grid}.post-submit-bar .btn{width:100%}.forum-pagination{gap:4px}}@media (max-width:640px){.community-header{gap:8px;margin-bottom:20px}.post-row{grid-template-columns:46px 64px minmax(0,1fr);gap:0;min-height:56px;padding:0}.post-row-score{padding:7px 4px}.post-row-score strong{font-size:.84rem}.post-row-score span{font-size:.58rem}.post-row-main{padding:9px 10px}.post-row-title{font-size:.9rem}.post-row-titleline{gap:5px}.post-row-stats{gap:8px}.post-row-thumb{width:56px;height:44px;margin:6px 0}.post-row-thumb--empty:before{width:21px;height:23px;margin-top:9px}.post-title{font-size:1.4rem}.post-detail{gap:18px;padding:16px}.post-detail-header{grid-template-columns:1fr}.post-title-row{flex-direction:column;gap:6px}.post-detail-date{font-size:.82rem}.post-share-link{justify-content:flex-start}.post-neighbor-nav{grid-template-columns:1fr}.post-neighbor-nav__link--next{text-align:left}.post-neighbor-nav__list{min-height:40px}.post-owner-actions{justify-content:flex-start}.comments-panel{padding:14px}.comments-panel__head{flex-direction:column;align-items:flex-start;gap:4px}.comment-form{grid-template-columns:1fr}.editor-content .ProseMirror{min-height:180px;padding:10px}.new-post-form .editor-content .ProseMirror{min-height:300px}.notif-item{padding:12px 14px}.report-item{padding:14px}}
