@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(./inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(./inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(./inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(./inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(./inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(./inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(./inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(./inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(./inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(./inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(./inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(./inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(./inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(./inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(./inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(./inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(./inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(./inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(./poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(./poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(./poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(./poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(./poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(./poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary: #f5f75a;--color-primary-strong: #eef040;--color-primary-soft: #fdfd8a;--color-bg: #0a0a0a;--color-surface: #171717;--color-surface-raised: #232323;--color-surface-veil: #2e2e2e;--color-line: #3a3a3a;--color-line-strong: #4d4d4d;--color-text: #f5f5f4;--color-text-dim: #a3a3a3;--color-text-faint: #6f6f6f;--color-on-primary: #111111;--color-success: #22c55e;--color-success-soft: #4ade80;--color-warning: #f59e0b;--color-danger: #f87171;--color-info: #3b82f6;--color-seat-taken: #d4d4d8;--color-seat-blocked: #52525b;--font-display: "Poppins", "Inter", "PingFang SC", "Noto Sans CJK SC", sans-serif;--font-body: "Inter", "PingFang SC", "Noto Sans CJK SC", sans-serif;--text-xs: 11px;--text-sm: 13px;--text-md: 15px;--text-lg: 18px;--text-xl: 24px;--text-2xl: 30px;--text-3xl: 38px;--radius-xs: 5px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 18px;--radius-xl: 25px;--radius-2xl: 32px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--shell-max: 480px;--bottom-nav-h: 62px;--z-drawer: 60;--z-modal: 70;--z-toast: 80}html[data-theme=light]{--color-bg: #f4f4f0;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-surface-veil: #ececec;--color-line: #d9d9d0;--color-line-strong: #b9b9ac;--color-text: #131311;--color-text-dim: #57574e;--color-text-faint: #8a8a7e;--color-on-primary: #111111;--color-seat-blocked: #a1a1aa}[data-theme=dark]{color-scheme:dark}html[data-theme=light]{color-scheme:light}.app-shell{position:relative;min-height:100vh;max-width:var(--shell-max);margin:0 auto;background:var(--color-bg);display:flex;flex-direction:column;overflow-x:clip}.app-main{flex:1;display:flex;flex-direction:column;min-height:0}.app-main--nav{padding-bottom:calc(var(--bottom-nav-h) + 12px)}.page{flex:1;display:flex;flex-direction:column;padding:16px 20px 28px;gap:16px;animation:page-in .22s ease-out}.page--flush{padding:0}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:8px}.page-hero__title{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1.08;font-weight:700;letter-spacing:-.02em}.page-hero__sub{margin-top:6px;color:var(--color-text-dim);font-size:var(--text-sm)}.hello-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.hello-bar__date{font-size:var(--text-md)}.hello-bar__date strong{font-family:var(--font-display);font-weight:600}.section{display:flex;flex-direction:column;gap:12px}.section__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.section__more{color:var(--color-primary);font-size:var(--text-sm)}.panel--primary{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;margin:8px -20px -28px;padding:20px 20px 28px;flex:1;display:flex;flex-direction:column;gap:14px}.panel--primary .section__title{color:var(--color-on-primary)}.panel--primary .section__more{color:#111111a8}.chip-row{display:flex;gap:8px;overflow-x:auto;padding:2px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px}.row--between{justify-content:space-between}.muted{color:var(--color-text-dim)}.faint{color:var(--color-text-faint)}.grow{flex:1;min-width:0}.price{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;white-space:nowrap}.code-badge{font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);letter-spacing:.14em;background:var(--color-primary);color:var(--color-on-primary);border-radius:999px;padding:4px 10px}.doodle{pointer-events:none;flex:none}.doodle--spiral{color:#f5f75a66}.doodle--plane{color:#f5f75a8c}.scroller{display:flex;flex-direction:column;gap:12px}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.meta-grid__item{display:flex;flex-direction:column;gap:3px}.meta-grid__label{font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.08em}.meta-grid__value{font-size:var(--text-md);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;font-family:var(--font-display);font-weight:600;cursor:pointer;transition:transform .12s ease,filter .12s ease,opacity .12s ease}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover:not(:disabled){filter:brightness(1.05)}.btn--secondary{background:transparent;color:var(--color-text);box-shadow:inset 0 0 0 1.5px var(--color-primary)}.btn--secondary:hover:not(:disabled){background:#f5f75a1a}.btn--ghost{background:var(--color-surface-raised);color:var(--color-text)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-veil)}.btn--sm{padding:6px 14px;font-size:var(--text-sm)}.btn--md{padding:10px 20px;font-size:var(--text-md)}.btn--lg{padding:14px 24px;font-size:var(--text-lg)}.btn--block{width:100%}.btn__spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn__icon{display:inline-flex}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;cursor:pointer;color:var(--color-text);background:transparent;transition:background .12s ease,transform .12s ease}.icon-btn:active{transform:scale(.94)}.icon-btn--filled{background:var(--color-primary);color:var(--color-on-primary)}.icon-btn--sm{width:34px;height:34px}.icon-btn--md{width:42px;height:42px}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn__badge{position:absolute;top:-2px;right:-2px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:var(--text-sm);color:var(--color-text-dim)}.field__box{display:flex;align-items:center;gap:8px;background:var(--color-surface-raised);border-radius:var(--radius-md);padding:0 14px;border:1.5px solid transparent;transition:border-color .14s ease}.field__box:focus-within{border-color:var(--color-primary)}.field--error .field__box{border-color:var(--color-danger)}.field__input{flex:1;min-width:0;background:transparent;border:none;outline:none;padding:12px 0;font-size:var(--text-md);color:var(--color-text)}.field__input::placeholder{color:var(--color-text-faint)}.field__input:disabled{opacity:.5}.field__input--area{resize:vertical;padding:12px 0}.field__prefix,.field__suffix{color:var(--color-text-dim);display:inline-flex;align-items:center;font-size:var(--text-md)}.field__error{font-size:var(--text-xs);color:var(--color-danger)}.select-box{position:relative;background:var(--color-surface-raised);border-radius:var(--radius-md);border:1.5px solid transparent}.select-box:focus-within{border-color:var(--color-primary)}.select-box--md .select-box__native{padding:12px 32px 12px 14px}.select-box--sm .select-box__native{padding:7px 26px 7px 10px;font-size:var(--text-sm)}.select-box--disabled{opacity:.5}.select-box__native{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;outline:none;color:var(--color-text);cursor:pointer}.select-box__native option{color:#111;background:#fff}.select-box__chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-text-dim)}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-sm)}.check--disabled{opacity:.5;cursor:not-allowed}.check__native{position:absolute;opacity:0;width:1px;height:1px}.check__box{width:20px;height:20px;border-radius:var(--radius-xs);border:1.5px solid var(--color-line-strong);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--color-on-primary);transition:background .12s ease,border-color .12s ease}.check__native:checked+.check__box,.check__native:indeterminate+.check__box{background:var(--color-primary);border-color:var(--color-primary)}.check__native:focus-visible+.check__box{outline:2px solid var(--color-primary);outline-offset:2px}.check__label{color:var(--color-text-dim)}.switch{display:inline-flex;align-items:center;gap:10px}.switch--disabled{opacity:.5}.switch__label{font-size:var(--text-md)}.switch__track{width:46px;height:26px;border-radius:999px;background:var(--color-surface-veil);border:none;position:relative;cursor:pointer;transition:background .16s ease;flex:none}.switch__track--on{background:var(--color-primary)}.switch__thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .16s ease}.switch__track--on .switch__thumb{transform:translate(20px)}.card{display:block;width:100%;text-align:left;border:none;background:var(--color-surface);border-radius:var(--radius-lg);padding:16px;color:inherit}.card--raised{background:var(--color-surface-raised);box-shadow:0 8px 24px #00000059}.card--primary{background:var(--color-primary);color:var(--color-on-primary)}.card--dark{background:#0d0d0d;border:1px solid var(--color-line)}.card--interactive{cursor:pointer;transition:transform .12s ease,filter .12s ease}.card--interactive:hover{filter:brightness(1.08)}.card--interactive:active{transform:scale(.985)}.list-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 14px;background:var(--color-surface);border:none;border-radius:var(--radius-lg);color:inherit;cursor:default}button.list-item{cursor:pointer}button.list-item:hover{background:var(--color-surface-raised)}.list-item--selected{box-shadow:inset 0 0 0 1.5px var(--color-primary)}.list-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.list-item__title{font-size:var(--text-md);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item__desc{font-size:var(--text-sm);color:var(--color-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item__meta{font-size:var(--text-xs);color:var(--color-text-faint);flex:none}.list-item__icon{color:var(--color-primary);display:inline-flex}.list-item__avatar{flex:none}.avatar{position:relative;display:inline-flex;flex:none}.avatar--sm{width:32px;height:32px}.avatar--md{width:44px;height:44px}.avatar--lg{width:64px;height:64px}.avatar__face{width:100%;height:100%;border-radius:50%;background:var(--color-surface-veil);border:2px solid var(--color-line-strong);display:flex;align-items:center;justify-content:center;font-size:1.3em;font-weight:600}.avatar--lg .avatar__face{font-size:1.6em}.avatar__dot{position:absolute;right:0;bottom:2px;width:11px;height:11px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-bg)}.badge--dot:after{content:"";position:absolute;top:-1px;right:-1px;width:8px;height:8px;border-radius:50%;background:var(--color-danger)}.badge__count{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs--pill{background:var(--color-surface-raised);border-radius:999px;padding:4px}.tabs--pill .tabs__tab{flex:1;border:none;background:transparent;color:var(--color-text-dim);font-size:var(--text-sm);font-weight:600;padding:8px 0;border-radius:999px;cursor:pointer;transition:background .14s ease,color .14s ease}.tabs--pill .tabs__tab--active{background:var(--color-primary);color:var(--color-on-primary)}.tabs--underline{gap:18px;border-bottom:1px solid var(--color-line)}.tabs--underline .tabs__tab{border:none;background:transparent;color:var(--color-text-dim);font-size:var(--text-md);font-weight:600;padding:8px 2px 10px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs--underline .tabs__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#0009;padding:24px;animation:overlay-in .16s ease-out}.modal__panel{width:100%;max-height:80vh;overflow:auto;background:var(--color-surface-raised);border-radius:var(--radius-xl);padding:18px;animation:modal-in .2s cubic-bezier(.2,.9,.3,1.2)}.modal__panel--sm{max-width:300px}.modal__panel--md{max-width:360px}.modal__panel--lg{max-width:440px}@keyframes overlay-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:scale(.92) translateY(10px)}}.modal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal__title{font-family:var(--font-display);font-size:var(--text-lg)}.modal__close{border:none;background:transparent;color:var(--color-text-dim);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm)}.modal__close:hover{color:var(--color-text)}.modal__foot{margin-top:14px;display:flex;gap:10px}.modal__foot>*{flex:1}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drawer);background:#0009;animation:overlay-in .16s ease-out}.drawer-layer{position:fixed;background:var(--color-surface-raised);display:flex;flex-direction:column;z-index:calc(var(--z-drawer) + 1)}.drawer-layer--bottom{left:0;right:0;bottom:0;width:min(100vw,var(--shell-max));max-width:var(--shell-max);margin:0 auto;max-height:78vh;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom,0px));animation:drawer-up .24s cubic-bezier(.2,.9,.3,1)}.drawer-layer--left{left:calc((100vw - min(100vw,var(--shell-max)))/2);top:0;bottom:0;width:min(320px,84vw);animation:drawer-left .24s cubic-bezier(.2,.9,.3,1)}.drawer-layer--right{right:calc((100vw - min(100vw,var(--shell-max)))/2);top:0;bottom:0;width:min(320px,84vw);animation:drawer-right .24s cubic-bezier(.2,.9,.3,1)}@keyframes drawer-up{0%{transform:translateY(100%)}}@keyframes drawer-left{0%{transform:translate(-100%)}}@keyframes drawer-right{0%{transform:translate(100%)}}.drawer__grab{align-self:center;width:40px;height:4px;border-radius:999px;background:var(--color-line-strong);margin-bottom:8px;flex:none}.drawer-layer--left .drawer__grab,.drawer-layer--right .drawer__grab{display:none}.drawer__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.drawer__title{font-family:var(--font-display);font-size:var(--text-lg)}.drawer__body{overflow:auto;display:flex;flex-direction:column;gap:12px}.toast-stack{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--bottom-nav-h) + 28px);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:min(90vw,var(--shell-max))}.toast{background:var(--color-surface-veil);color:var(--color-text);border:1px solid var(--color-line-strong);border-radius:999px;padding:10px 18px;font-size:var(--text-sm);max-width:var(--shell-max);animation:toast-in .22s cubic-bezier(.2,.9,.3,1.2);box-shadow:0 8px 20px #0006}.toast--success{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.toast--error{border-color:var(--color-danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.95)}}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:36px 20px}.empty__icon{font-size:40px}.empty__title{font-family:var(--font-display);font-size:var(--text-lg)}.empty__desc{color:var(--color-text-dim);font-size:var(--text-sm);max-width:260px}.empty__action{margin-top:8px}.skel__line,.skel__bar,.skel__circle{background:linear-gradient(90deg,var(--color-surface-raised) 25%,var(--color-surface-veil) 50%,var(--color-surface-raised) 75%);background-size:200% 100%;animation:skel 1.2s ease infinite;border-radius:var(--radius-sm)}.skel__line{height:14px}.skel__bar{height:64px;border-radius:var(--radius-md)}.skel__circle{width:36px;height:36px;border-radius:50%;flex:none}.skel--card{background:var(--color-surface);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:10px}.skel--row{background:var(--color-surface);border-radius:var(--radius-lg);padding:12px 14px;display:flex;align-items:center;gap:12px}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}.page-hero__actions{flex:none}.page-hero__back{border:none;background:var(--color-surface-raised);color:var(--color-text);width:38px;height:38px;border-radius:50%;font-size:18px;cursor:pointer;margin-bottom:8px}.page-hero__back:hover{background:var(--color-surface-veil)}.page-hero__doodle{display:inline-block;margin-left:10px}.ticket-card{display:flex;width:100%;text-align:left;border:none;padding:0;background:transparent;color:inherit;cursor:pointer;gap:8px;min-height:208px}.ticket-card__main{flex:1;min-width:0;border-radius:var(--radius-xl);padding:16px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.ticket-card--yellow .ticket-card__main{background:var(--color-primary);color:var(--color-on-primary)}.ticket-card--dark .ticket-card__main{background:#0d0d0d;color:var(--color-text);border:1px solid var(--color-line)}.ticket-card__route{border-left:3px solid currentColor;padding-left:10px}.ticket-card__city{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);line-height:1.12;text-transform:uppercase;letter-spacing:.01em}.ticket-card__sub{margin-top:4px;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;opacity:.78;font-weight:600}.ticket-card__strip{display:flex;align-items:center;gap:10px;border-radius:var(--radius-sm);background:#00000024;padding:8px 12px}.ticket-card--dark .ticket-card__strip{background:var(--color-surface-raised)}.ticket-card__strip-code{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);letter-spacing:.05em}.ticket-card__info{display:flex;gap:12px;align-items:stretch}.ticket-card__time{border:1.5px solid currentColor;border-radius:var(--radius-sm);padding:6px 10px;font-size:var(--text-sm);font-weight:600;display:flex;flex-direction:column;justify-content:space-between;flex:none}.ticket-card__time small{font-weight:500;opacity:.75;font-size:var(--text-xs)}.ticket-card__meta{font-size:var(--text-md);line-height:1.5;font-weight:500}.ticket-card__notch{position:absolute;top:0;bottom:0;width:14px;border-radius:50%;background:var(--color-bg)}.ticket-card__notch--l{left:-7px}.ticket-card__notch--r{right:-7px}.ticket-card__stub{flex:none;width:86px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);letter-spacing:.12em;writing-mode:vertical-rl;text-orientation:mixed}.ticket-card--yellow .ticket-card__stub{background:#0d0d0d repeating-linear-gradient(45deg,transparent 0 10px,rgba(245,247,90,.32) 10px 12px);color:var(--color-primary);border:1px solid var(--color-line)}.ticket-card--dark .ticket-card__stub{background:var(--color-primary) repeating-linear-gradient(45deg,transparent 0 10px,rgba(17,17,17,.16) 10px 12px);color:var(--color-on-primary)}.ticket-card--mini{min-height:0;flex-direction:column}.ticket-card--mini .ticket-card__stub{width:auto;min-height:44px;writing-mode:horizontal-tb;font-size:var(--text-md)}.boarding-pass{display:flex;gap:10px}.boarding-pass__main{flex:1;min-width:0;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-xl);padding:18px 16px;display:flex;flex-direction:column;gap:12px}.boarding-pass__flightline{display:flex;align-items:center;gap:10px;background:#111111e6;color:#fff;border-radius:var(--radius-sm);padding:10px 14px}.boarding-pass__flightline strong{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.04em}.boarding-pass__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.boarding-pass__cell{background:#1111110f;border-radius:var(--radius-sm);padding:8px 10px}.boarding-pass__cell dt{font-size:var(--text-xs);opacity:.66;font-weight:600}.boarding-pass__cell dd{margin:2px 0 0;font-weight:700;font-size:var(--text-md)}.boarding-pass__stub{flex:none;width:84px;border-radius:var(--radius-xl);background:#0d0d0d repeating-linear-gradient(45deg,transparent 0 10px,rgba(245,247,90,.32) 10px 12px);color:var(--color-primary);border:1px solid var(--color-line);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);letter-spacing:.14em;writing-mode:vertical-rl}.barcode{height:64px;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:stretch;gap:0;background:#fff;padding:6px 8px}.barcode i{flex:none;background:#0d0d0d}.seatmap{background:radial-gradient(circle at 50% 0%,rgba(245,247,90,.05),transparent 60%),var(--color-surface);border-radius:var(--radius-xl);padding:18px 14px;display:flex;flex-direction:column;align-items:center;gap:8px}.seatmap__nose{color:var(--color-line-strong)}.seatmap__classlabel{font-size:var(--text-sm);font-weight:600;color:var(--color-text-dim);margin:8px 0 4px;letter-spacing:.04em}.seatmap__row{display:flex;align-items:center;gap:6px}.seatmap__rownum{width:26px;text-align:center;font-size:var(--text-xs);color:var(--color-text-faint)}.seatmap__aisle{width:18px;flex:none}.seat{width:34px;height:34px;border:none;border-radius:10px 10px 6px 6px;padding:0;cursor:pointer;position:relative;transition:transform .11s ease,background .11s ease}.seat:after{content:"";position:absolute;left:8px;right:8px;bottom:3px;height:4px;border-radius:3px;background:#00000047}.seat--free{background:var(--color-success)}.seat--free:hover{transform:scale(1.1)}.seat--occupied{background:var(--color-seat-taken);cursor:not-allowed;opacity:.85}.seat--blocked{background:var(--color-seat-blocked);cursor:not-allowed}.seat--selected{background:var(--color-primary);box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-primary)}.seatmap__legend{display:flex;gap:16px;margin-top:12px;font-size:var(--text-xs);color:var(--color-text-dim)}.seatmap__legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:5px;vertical-align:-1px}.seatmap-side{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 4px;flex:none}.seatmap-side__code{font-family:var(--font-display);font-weight:600;letter-spacing:.08em}.seatmap-side__axis{width:0;flex:1;border-left:2px dashed var(--color-line-strong);position:relative}.seatmap-side__plane{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-primary)}.seat-bar{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-xl);padding:14px 16px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.seat-bar__cell small{display:block;font-size:var(--text-xs);font-weight:600;opacity:.7}.seat-bar__cell strong{font-family:var(--font-display);font-size:var(--text-lg)}.barchart{background:#0d0d0d;border:1px solid var(--color-line);border-radius:var(--radius-xl);border-top-right-radius:var(--radius-2xl);padding:18px 14px 12px;display:flex;gap:10px}.barchart__grid{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:var(--text-xs);color:var(--color-text-faint);padding-bottom:26px}.barchart__plot{flex:1;display:flex;align-items:flex-end;justify-content:space-around;gap:12px;height:180px;border-left:1px solid var(--color-line);border-bottom:1px solid var(--color-line-strong);position:relative}.barchart__colwrap{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;flex:1}.barchart__bar{width:70%;max-width:38px;border-radius:8px 8px 0 0;background:var(--color-info);animation:bar-grow .6s cubic-bezier(.2,.9,.3,1);transform-origin:bottom}.barchart__bar--alt{background:var(--color-success-soft)}.barchart__bar--hot{background:var(--color-primary)}.barchart__label{font-size:var(--text-xs);color:var(--color-text-dim)}.barchart__label--hot{color:var(--color-primary);font-weight:700}.barchart__value{font-size:var(--text-xs);color:var(--color-text);font-weight:700}@keyframes bar-grow{0%{transform:scaleY(0)}}.region-picker{display:flex;flex-direction:column;gap:10px}.region-picker__cols{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px;height:218px;min-height:0}.region-picker__col{overflow:auto;background:var(--color-surface);border-radius:var(--radius-md);padding:6px;display:flex;flex-direction:column;gap:2px}.region-picker__opt{border:none;background:transparent;text-align:left;padding:8px 10px;border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-dim);cursor:pointer}.region-picker__opt:hover{background:var(--color-surface-veil)}.region-picker__opt--active{background:var(--color-primary);color:var(--color-on-primary);font-weight:600}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(100vw,var(--shell-max));height:var(--bottom-nav-h);background:#0d0d0df0;border-top:1px solid var(--color-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;z-index:50}html[data-theme=light] .bottom-nav{background:#fffffff0}.bottom-nav__item{flex:1;border:none;background:transparent;color:var(--color-text-faint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;cursor:pointer;position:relative}.bottom-nav__item--active{color:var(--color-primary)}.bottom-nav__item:hover{color:var(--color-text-dim)}.bottom-nav__item--active:hover{color:var(--color-primary)}.chip{border:1.5px solid var(--color-primary);background:transparent;color:var(--color-primary);border-radius:999px;padding:7px 16px;font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .13s ease,color .13s ease}.chip--active{background:var(--color-primary);color:var(--color-on-primary)}.chip--plain{border-color:var(--color-line-strong);color:var(--color-text-dim)}.chip--plain.chip--active{border-color:var(--color-primary)}.status-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 10px;font-size:var(--text-xs);font-weight:700}.status-pill--paid{background:#22c55e29;color:var(--color-success-soft)}.status-pill--pending{background:#f59e0b29;color:var(--color-warning)}.status-pill--cancelled,.status-pill--failed{background:#f8717124;color:var(--color-danger)}.status-pill--refunding{background:#3b82f624;color:var(--color-info)}.flight-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-xl);padding:14px 16px;cursor:pointer;color:inherit;transition:border-color .13s ease,transform .13s ease}.flight-row:hover{border-color:var(--color-primary)}.flight-row:active{transform:scale(.99)}.flight-row__time{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl)}.flight-row__city{font-size:var(--text-xs);color:var(--color-text-dim);margin-top:2px}.flight-row__mid{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--color-text-faint)}.flight-row__line{width:100%;border-top:2px dotted var(--color-line-strong);position:relative}.flight-row__line i{position:absolute;right:-2px;top:-7px;color:var(--color-primary);font-style:normal;font-size:12px}.flight-row__no{font-size:var(--text-xs);letter-spacing:.05em}.flight-row__fav{color:var(--color-text-faint);border:none;background:transparent;cursor:pointer;padding:4px;display:inline-flex;border-radius:50%}.flight-row__fav--on{color:var(--color-primary)}.qr-placeholder{width:168px;height:168px;border-radius:var(--radius-lg);background:repeating-conic-gradient(#0d0d0d 0,#0d0d0d 25%,#fff 0,#fff 50%) 0 0 / 24px 24px;border:6px solid #fff;margin:0 auto;position:relative}.qr-placeholder:after{content:"";position:absolute;top:34%;right:34%;bottom:34%;left:34%;background:var(--color-primary);border-radius:8px;box-shadow:0 0 0 4px #fff}.pay-option{display:flex;align-items:center;gap:12px;width:100%;background:var(--color-surface);border:1.5px solid var(--color-line);border-radius:var(--radius-lg);padding:12px 14px;cursor:pointer;color:inherit;text-align:left;transition:border-color .13s ease}.pay-option--active{border-color:var(--color-primary);background:var(--color-surface-raised)}.pay-option__logo{width:38px;height:38px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:19px;flex:none}.pay-option__logo--wechat{background:#22c55e29}.pay-option__logo--alipay{background:#3b82f629}.pay-option__radio{margin-left:auto;width:20px;height:20px;border-radius:50%;border:2px solid var(--color-line-strong);flex:none;display:flex;align-items:center;justify-content:center}.pay-option--active .pay-option__radio{border-color:var(--color-primary)}.pay-option--active .pay-option__radio:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--color-primary)}.settings-group{display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden}.settings-group>*+*{border-top:1px solid var(--color-line)}.settings-link{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:none;padding:14px 16px;color:inherit;text-align:left;cursor:pointer;font-size:var(--text-md)}.settings-link:hover{background:var(--color-surface-raised)}.settings-link__chevron{margin-left:auto;color:var(--color-text-faint)}.settings-group-label{font-size:var(--text-xs);letter-spacing:.1em;color:var(--color-text-faint);padding:4px 4px 0}.code-inputs{display:flex;gap:10px}.code-inputs .field__box{flex:1;justify-content:center}.code-inputs .field__input{text-align:center;font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.2em;padding:12px 0}.onb{flex:1;display:flex;flex-direction:column;padding:20px;gap:18px}.onb__progress{display:flex;gap:10px}.onb__progress i{height:6px;border-radius:999px;flex:1;background:var(--color-surface-veil)}.onb__progress i.on{background:var(--color-primary)}.onb__title{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.2;font-weight:600}.onb__desc{color:var(--color-text-dim);font-size:var(--text-md);line-height:1.7}.onb__art{flex:1;display:flex;align-items:center;justify-content:center;min-height:260px;position:relative}.onb__stub{position:absolute;right:-20px;top:30%;width:120px;height:300px;border-radius:var(--radius-2xl) 0 0 var(--radius-2xl);background:#0d0d0d repeating-linear-gradient(45deg,transparent 0 12px,rgba(245,247,90,.28) 12px 14px);border:1px solid var(--color-line);border-right:none;display:flex;align-items:center;justify-content:flex-start;padding-left:18px;color:var(--color-primary);font-family:var(--font-display);font-weight:700;letter-spacing:.14em;writing-mode:vertical-rl;font-size:var(--text-xl)}.notif-card{display:flex;flex-direction:column;gap:6px;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-xl);padding:14px 16px;width:100%;text-align:left;border:none;cursor:pointer}.notif-card--read{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-line)}.notif-card__top{display:flex;align-items:center;gap:8px}.notif-card__tag{font-size:var(--text-xs);font-weight:700;background:#1111111f;border-radius:999px;padding:2px 9px}.notif-card--read .notif-card__tag{background:var(--color-surface-veil);color:var(--color-text-dim)}.notif-card__time{margin-left:auto;font-size:var(--text-xs);opacity:.7}.notif-card__title{font-weight:700;font-size:var(--text-md)}.notif-card__body{font-size:var(--text-sm);line-height:1.6;opacity:.86}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.quick-link{display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;border-bottom:1.5px solid rgba(17,17,17,.35);padding:12px 2px;font-size:var(--text-md);font-weight:600;color:var(--color-on-primary);cursor:pointer;text-align:left}.quick-link:hover{border-bottom-color:#111c}.lang-row{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;width:100%;background:transparent;border:none;color:inherit;font-size:var(--text-md);cursor:pointer;text-align:left}.lang-row:hover{background:var(--color-surface-raised)}.lang-row--active{color:var(--color-primary);font-weight:600}.result-hero{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 20px 24px;text-align:center}.result-hero__icon{width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:44px}.result-hero__icon--success{background:var(--color-primary);color:var(--color-on-primary)}.result-hero__icon--error{background:#f8717124;color:var(--color-danger);box-shadow:inset 0 0 0 2px var(--color-danger)}.result-hero__icon--info{background:var(--color-surface-raised);color:var(--color-text-dim);box-shadow:inset 0 0 0 2px var(--color-line-strong)}.result-hero__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700}.result-hero__desc{color:var(--color-text-dim);font-size:var(--text-sm);max-width:280px;line-height:1.7}.steps{display:flex;gap:6px;align-items:center}.steps i{height:4px;flex:1;border-radius:999px;background:var(--color-surface-veil)}.steps i.on{background:var(--color-primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-word{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);letter-spacing:.12em;line-height:1}.brand-word span{color:var(--color-primary);margin-left:3px}.brand-word--on-primary{color:var(--color-on-primary)}.brand-word--on-primary span{color:var(--color-on-primary);opacity:.55}.eyebrow{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.16em;color:var(--color-primary);text-transform:uppercase;margin-bottom:6px}.eyebrow--dark{color:var(--color-on-primary);opacity:.55}.text-link{display:inline-flex;align-items:center;gap:4px;color:var(--color-primary);font-weight:600;font-size:var(--text-sm);background:transparent;border:none;padding:0;cursor:pointer;text-align:left}.text-link--small{font-size:var(--text-xs)}.text-link--center{justify-content:center;width:100%}.inline-link{border:none;background:transparent;color:var(--color-primary);padding:0;font:inherit;text-decoration:underline;cursor:pointer}.back-bar{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;padding:6px 2px;color:var(--color-text-dim);font-size:var(--text-sm);font-weight:600;cursor:pointer}.back-bar:hover{color:var(--color-text)}.flow-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px}.flow-steps{display:flex;align-items:center;gap:10px}.flow-steps .steps{flex:1}.flow-steps__label{font-size:var(--text-xs);color:var(--color-text-faint);white-space:nowrap}.page-head-simple{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:6px}.page-title-lg{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1.02;font-weight:600;letter-spacing:-.03em}.field-row{display:flex;align-items:flex-end;gap:8px}.field-row .field{flex:1;min-width:0}.field-row--code .btn{margin-bottom:1px;flex:none;white-space:nowrap}.field-eye{border:none;background:transparent;color:var(--color-text-faint);cursor:pointer;display:inline-flex;padding:2px}.auth-page{flex:1;display:flex;flex-direction:column;background:var(--color-bg);min-height:100%}.auth-visual{position:relative;background:var(--color-primary);color:var(--color-on-primary);padding:18px 20px 48px;min-height:306px;overflow:hidden;border-radius:0 0 var(--radius-2xl) var(--radius-2xl)}.auth-visual:before{content:"";position:absolute;top:48px;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(17,17,17,.22) 1px,transparent 1px);background-size:16px 16px;opacity:.45;pointer-events:none}.auth-visual__bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-back{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#11111114;color:var(--color-on-primary)}.auth-visual__tag{font-size:9px;font-weight:700;letter-spacing:.18em;border:1px solid rgba(17,17,17,.3);border-radius:999px;padding:4px 8px}.auth-visual__art{position:absolute;right:20px;top:54px;width:148px;height:148px;display:flex;align-items:center;justify-content:center;color:var(--color-on-primary)}.auth-visual__art .doodle--spiral{position:absolute;left:-18px;bottom:-4px;color:#11111159}.auth-visual__art .doodle--plane{position:absolute;right:-8px;bottom:6px;color:#11111180}.auth-visual__art>svg:first-child{filter:grayscale(1) contrast(1.1)}.auth-visual__stamp{position:absolute;left:-38px;bottom:3px;transform:rotate(-90deg);font-size:8px;font-weight:800;letter-spacing:.24em;opacity:.5}.auth-visual__copy{position:relative;z-index:1;margin-top:32px;max-width:310px}.auth-title{font-family:var(--font-display);font-size:38px;line-height:.98;letter-spacing:-.045em;font-weight:700;text-transform:uppercase;white-space:pre-line}.auth-desc{margin-top:12px;max-width:285px;font-size:var(--text-sm);line-height:1.55;font-weight:500;opacity:.76}.auth-sheet{position:relative;z-index:3;flex:1;margin-top:-26px;background:var(--color-bg);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding:22px 20px 30px;display:flex;flex-direction:column;gap:14px}.auth-sheet .tabs{margin-bottom:2px}.auth-hint{display:flex;align-items:flex-start;gap:6px;font-size:var(--text-xs);line-height:1.5;color:var(--color-text-dim)}.auth-hint svg{flex:none;margin-top:1px;color:var(--color-primary)}.auth-hint--warn{color:var(--color-warning)}.auth-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--color-text-faint);font-size:var(--text-xs)}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--color-line)}.wechat-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text);border-radius:999px;padding:12px 18px;font-weight:600;font-size:var(--text-sm);cursor:pointer}.wechat-btn:hover{border-color:var(--color-success-soft)}.wechat-btn__icon{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#22c55e29;color:var(--color-success-soft)}.auth-fineprint{display:flex;gap:6px;color:var(--color-text-faint);font-size:10px;line-height:1.5}.auth-fineprint svg{flex:none;margin-top:1px}.auth-footer{margin-top:auto;padding-top:6px;font-size:var(--text-sm);color:var(--color-text-dim);text-align:center}.auth-verified{display:flex;align-items:center;gap:8px;background:#22c55e1f;color:var(--color-success-soft);border-radius:var(--radius-md);padding:10px 12px;font-size:var(--text-sm);font-weight:600}.auth-verified .text-link{margin-left:auto;color:var(--color-primary)}.onb{min-height:100%;background:var(--color-bg)}.onb__top{display:flex;align-items:center;justify-content:space-between}.onb__copy{padding:4px 2px 0}.onb__title{white-space:pre-line;font-size:36px;letter-spacing:-.03em;line-height:1.03;font-weight:700}.onb__desc{margin-top:10px;max-width:330px}.onb__art{flex:1;min-height:290px;display:flex;align-items:center;justify-content:center;position:relative;padding:10px 0}.onb__art>.doodle--spiral{position:absolute;right:4px;top:8px}.onb__actions{display:flex;flex-direction:column;gap:8px;padding-top:4px}.onb__fineprint{text-align:center;color:var(--color-text-faint);font-size:10px;line-height:1.5;padding:0 12px}.onb-ticket{position:relative;width:300px;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-xl);padding:16px;transform:rotate(-3deg);box-shadow:0 20px 40px #00000059}.onb-ticket:after{content:"";position:absolute;top:-1px;bottom:-1px;right:66px;border-left:1.5px dashed rgba(17,17,17,.22)}.onb-ticket__top{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.16em}.onb-ticket__route{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:24px 0 18px;font-family:var(--font-display);font-size:40px;line-height:1;letter-spacing:-.04em}.onb-ticket__dash{color:#11111180;font-size:20px}.onb-ticket__meta{display:flex;justify-content:space-between;font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;margin-bottom:14px}.onb-ticket .barcode{height:48px;background:#111111e6}.onb-ticket .barcode i{background:var(--color-primary)}.onb-seatart{position:relative;width:300px;min-height:280px;border-radius:var(--radius-xl);background:radial-gradient(circle at 50% 10%,var(--color-surface-raised),var(--color-surface));border:1px solid var(--color-line);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:10px}.onb-seatart>.doodle--plane{position:absolute;left:8px;bottom:10px}.onb-seatart__rows{display:flex;flex-direction:column;gap:8px;margin-top:8px}.onb-seatart__row{display:flex;align-items:center;gap:7px}.onb-seatart__row i{width:26px;height:26px;border-radius:8px 8px 5px 5px;background:var(--color-seat-taken)}.onb-seatart__row i.on{background:var(--color-success);box-shadow:0 0 0 2px #22c55e33}.onb-seatart__row span{width:18px;text-align:center;font-size:10px;color:var(--color-text-faint)}.onb-location{position:relative;width:300px;min-height:250px;border-radius:var(--radius-xl);background:var(--color-primary);color:var(--color-on-primary);padding:18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;overflow:hidden}.onb-location:before{content:"";position:absolute;right:-50px;top:-50px;width:180px;height:180px;border:1px dashed rgba(17,17,17,.3);border-radius:50%;box-shadow:0 0 0 24px #1111110a,0 0 0 52px #11111108}.onb-location__pin{width:56px;height:56px;border-radius:50%;background:var(--color-on-primary);color:var(--color-primary);display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.onb-location__card{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px}.onb-location__card small{font-size:9px;font-weight:700;letter-spacing:.16em;opacity:.6}.onb-location__card strong{font-family:var(--font-display);font-size:var(--text-xl)}.onb-location__card span{font-size:var(--text-xs);opacity:.7}.onb-location__safe{position:relative;z-index:1;display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;background:#11111114;border-radius:999px;padding:5px 9px}.home-page{padding-bottom:10px}.home-top{align-items:flex-start}.home-hello{font-size:var(--text-sm);color:var(--color-text-dim);font-weight:500}.home-date{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;margin-top:2px}.home-top__actions{display:flex;align-items:center;gap:10px}.home-bell{position:relative;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-dim);background:var(--color-surface)}.home-bell__dot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 2px var(--color-bg)}.home-avatar{display:inline-flex}.home-avatar__guest{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:999px;background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-xs);font-weight:700}.home-heading{margin-top:10px}.home-heading__row{display:flex;align-items:flex-start;gap:8px;position:relative}.home-title{font-family:var(--font-display);font-size:56px;line-height:.9;letter-spacing:-.06em;font-weight:600;text-transform:uppercase}.home-heading__art{display:flex;align-items:flex-start;gap:4px;color:var(--color-primary);margin-left:4px;margin-top:4px}.home-today{margin-left:auto;align-self:flex-end;background:var(--color-primary);color:var(--color-on-primary);border-radius:999px;padding:6px 15px;font-size:var(--text-xs);font-weight:700}.home-current{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px 18px;border-radius:var(--radius-xl);background:radial-gradient(circle at 90% -20%,rgba(245,247,90,.12),transparent 50%),var(--color-surface);border:1px solid var(--color-line);color:var(--color-text);position:relative;overflow:hidden}.home-current:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;background:var(--color-primary);border-radius:0 3px 3px 0}.home-current__codes{display:flex;flex-direction:column;gap:4px}.home-current__codes strong{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1;letter-spacing:-.02em}.home-current__codes span,.home-current__time span{color:var(--color-text-dim);font-size:var(--text-xs)}.home-current__time{text-align:right;display:flex;flex-direction:column;gap:4px}.home-current__time strong{font-family:var(--font-display);font-size:var(--text-xl);line-height:1}.home-current__cities{grid-column:1 / -1;display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px dashed var(--color-line-strong);font-size:var(--text-xs);color:var(--color-text-dim)}.home-current__plane{color:var(--color-primary)}.home-current--empty{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--color-surface)}.home-current--empty h2{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:4px}.home-current--empty p{font-size:var(--text-xs);color:var(--color-text-dim)}.home-current--empty>svg{color:var(--color-primary);flex:none}.book-pill{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--color-surface-raised);border-radius:999px;padding:7px 7px 7px 22px;font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text);border:1px solid var(--color-line);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.book-pill__arrow{width:38px;height:38px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);display:inline-flex;align-items:center;justify-content:center;flex:none}.home-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.home-quick__item{border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-lg);padding:10px 10px 9px;display:flex;flex-direction:column;gap:3px;text-align:left;cursor:pointer}.home-quick__item:hover{border-color:var(--color-primary)}.home-quick__item span{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:.04em}.home-quick__item small{color:var(--color-text-faint);font-size:10px}.home-onboarding-hint{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border:1px dashed var(--color-line-strong);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-dim)}.home-onboarding-hint svg{color:var(--color-primary)}.home-panel{margin-top:6px;min-height:330px}.panel__more{display:inline-flex;align-items:center;gap:3px;background:var(--color-on-primary);color:var(--color-primary);border-radius:999px;font-size:var(--text-xs);font-weight:700;padding:7px 12px}.home-panel .section__title{font-size:var(--text-2xl);letter-spacing:-.03em}.ticket-carousel{display:grid;grid-template-columns:1fr;gap:12px;padding:2px 0 10px}.ticket-carousel__item{width:100%}.ticket-carousel .ticket-card{min-height:250px}.ticket-carousel .ticket-card__main{padding:14px}.ticket-carousel .ticket-card__city{font-size:var(--text-xl)}.ticket-carousel .ticket-card__stub{min-height:40px}.home-panel__empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px 0}.home-panel__empty p{font-size:var(--text-sm);color:#111111b3}.home-panel__cta{background:var(--color-on-primary);color:var(--color-primary);border-radius:999px;padding:8px 16px;font-size:var(--text-xs);font-weight:700}.search-page{gap:18px}.search-title{position:relative}.search-title h1{font-family:var(--font-display);font-size:44px;line-height:.96;letter-spacing:-.05em;font-weight:600;text-transform:uppercase;white-space:pre-line;margin-top:12px}.search-title__doodle{position:absolute;right:4px;bottom:8px;color:var(--color-primary)}.search-card{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-2xl);padding:16px;display:flex;flex-direction:column;gap:14px}.search-card__route{display:grid;grid-template-columns:1fr 38px 1fr;align-items:center;gap:4px}.search-city{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:none;background:transparent;color:inherit;text-align:left;padding:4px 2px;cursor:pointer}.search-city--right{align-items:flex-end;text-align:right}.search-city__label{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:800;letter-spacing:.16em;opacity:.6}.search-city strong{font-family:var(--font-display);font-size:40px;line-height:.98;letter-spacing:-.04em}.search-city small{font-size:10px;opacity:.65;font-weight:500}.swap-btn{width:38px;height:38px;border-radius:50%;background:var(--color-on-primary);color:var(--color-primary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.search-date{display:flex;flex-direction:column;gap:4px;border-top:1px dashed rgba(17,17,17,.24);border-bottom:1px dashed rgba(17,17,17,.24);padding:11px 2px}.search-date input{border:none;background:transparent;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-on-primary);width:100%;padding:0}.search-card .btn--primary{background:var(--color-on-primary);color:var(--color-primary)}.search-card__hint{font-size:10px;opacity:.7;text-align:center}.popular-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.popular-card{border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-lg);padding:11px 12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:5px}.popular-card--active{border-color:var(--color-primary);background:#f5f75a14}.popular-card__codes{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:700;font-size:var(--text-md);letter-spacing:.06em}.popular-card__codes svg{color:var(--color-primary)}.popular-card__label{font-size:10px;color:var(--color-text-dim)}.airport-strip{display:flex;flex-wrap:wrap;gap:8px}.airport-chip{flex:none;min-width:66px;border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);padding:8px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.airport-chip:hover{border-color:var(--color-primary)}.airport-chip strong{font-family:var(--font-display);letter-spacing:.06em;font-size:var(--text-sm)}.airport-chip span{font-size:9px;color:var(--color-text-faint)}.airport-list{display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow:auto}.airport-row{display:flex;align-items:center;gap:12px;width:100%;border:none;border-bottom:1px solid var(--color-line);background:transparent;color:inherit;padding:11px 8px;text-align:left;cursor:pointer}.airport-row--active{background:#f5f75a14}.airport-row__code{width:48px;height:36px;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.airport-row__body{flex:1;display:flex;flex-direction:column;gap:2px}.airport-row__body small{color:var(--color-text-faint);font-size:var(--text-xs)}.airport-row>svg{color:var(--color-text-faint)}.list-page{gap:14px}.list-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.list-heading{margin-top:2px}.list-heading h1{font-family:var(--font-display);font-size:40px;line-height:.98;letter-spacing:-.04em;font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.list-heading__plane{color:var(--color-primary);font-size:24px}.list-heading p{color:var(--color-text-dim);font-size:var(--text-sm);margin-top:6px}.list-toolbar{display:flex;flex-direction:column;gap:10px}.list-route{display:flex;align-items:center;gap:12px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:9px 12px;font-size:var(--text-sm)}.list-route>span{display:flex;flex-direction:column;gap:1px}.list-route small{font-size:8px;letter-spacing:.12em;color:var(--color-text-faint)}.list-route strong{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.05em}.list-route>svg{color:var(--color-primary)}.list-route__edit{margin-left:auto;display:inline-flex!important;flex-direction:row!important;align-items:center;gap:3px!important;color:var(--color-primary);font-size:var(--text-xs);font-weight:600}.list-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.list-filter .tabs{flex:1;min-width:0}.list-filter .tabs__tab{white-space:nowrap;font-size:var(--text-xs);padding:7px 6px}.list-filter .select-box{min-width:118px}.results{gap:10px}.flight-row-wrap{position:relative}.flight-row-wrap .flight-row{padding-right:88px}.flight-row-wrap .flight-row__time{display:flex;flex-direction:column;min-width:54px}.flight-row-wrap .flight-row__city{display:block;font-family:var(--font-body);font-size:10px;font-weight:500;margin-top:2px}.flight-row__aside{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:2px}.flight-row__price{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-primary);white-space:nowrap}.flight-row__price small{font-size:8px;opacity:.6;margin-left:1px}.flight-row__date{display:none}.list-footnote{display:flex;align-items:flex-start;gap:5px;font-size:10px;color:var(--color-text-faint);line-height:1.5;padding:2px 4px 6px}.list-footnote svg{flex:none;margin-top:1px}.detail-page{gap:16px;padding-bottom:12px}.detail-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail-fav{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text-dim);border-radius:999px;padding:6px 11px;font-size:var(--text-xs);font-weight:600;cursor:pointer}.detail-fav--on{border-color:var(--color-primary);color:var(--color-primary)}.detail-hero{position:relative;overflow:hidden;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-2xl);padding:18px 18px 16px;min-height:236px}.detail-hero:before{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border:1px dashed rgba(17,17,17,.24);border-radius:50%;box-shadow:0 0 0 26px #1111110a,0 0 0 56px #11111108}.detail-hero__tag{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;position:relative;z-index:1}.detail-hero__tag .badge{color:inherit}.detail-hero__tag .badge--dot:before{background:var(--color-on-primary)}.detail-hero h1{position:relative;z-index:1;font-family:var(--font-display);font-size:42px;line-height:.98;letter-spacing:-.05em;font-weight:700;margin:24px 0 8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-hero__arrow{font-size:24px;font-weight:400;opacity:.55}.detail-hero__codes{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;letter-spacing:.16em;opacity:.75;position:relative;z-index:1}.detail-hero__codes i{width:44px;border-top:1px dashed currentColor}.detail-hero__date{margin-top:12px;font-size:var(--text-xs);font-weight:600;opacity:.7;position:relative;z-index:1}.detail-hero__stub{position:absolute;right:-1px;top:0;bottom:0;width:66px;background:var(--color-on-primary) repeating-linear-gradient(45deg,transparent 0 9px,rgba(245,247,90,.4) 9px 11px);color:var(--color-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:.16em;writing-mode:vertical-rl}.detail-hero__stub svg{color:var(--color-primary);writing-mode:horizontal-tb}.detail-timeline{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:8px;padding:2px}.detail-time{display:flex;flex-direction:column;gap:2px}.detail-time--right{text-align:right;align-items:flex-end}.detail-time strong{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1}.detail-time span{font-size:var(--text-xs);font-weight:600}.detail-time small{font-size:9px;color:var(--color-text-faint)}.detail-duration{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--color-text-faint);padding-top:2px}.detail-duration span{font-size:9px;white-space:nowrap}.detail-duration i{color:var(--color-primary);display:flex}.detail-duration small{font-size:9px}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:11px 12px}.detail-facts div{display:flex;flex-direction:column;gap:3px}.detail-facts small{font-size:9px;color:var(--color-text-faint);letter-spacing:.08em}.detail-facts strong{font-size:var(--text-sm)}.cabin-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cabin-option{position:relative;border:1.5px solid var(--color-line);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-xl);padding:14px 12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:5px;min-height:134px}.cabin-option--active{border-color:var(--color-primary);background:#f5f75a12}.cabin-option__top{display:flex;align-items:center;gap:5px}.cabin-option__top strong{font-family:var(--font-display);font-size:var(--text-md)}.cabin-option__tag{font-size:8px;border:1px solid var(--color-line-strong);border-radius:999px;padding:1px 5px;color:var(--color-text-dim)}.cabin-option__desc{font-size:10px;color:var(--color-text-faint);line-height:1.45}.cabin-option__price{margin-top:auto;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-primary)}.cabin-option__price small{font-family:var(--font-body);font-size:9px;color:var(--color-text-faint);font-weight:400}.cabin-option__check{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.seat-preview{border-radius:var(--radius-xl);padding:14px 14px 8px;display:grid;grid-template-columns:1fr 118px;gap:10px;align-items:center;overflow:hidden}.seat-preview__copy h3{font-family:var(--font-display);font-size:var(--text-lg);margin:3px 0 5px}.seat-preview__copy p{font-size:10px;color:var(--color-text-dim);line-height:1.5}.seat-preview__legend{display:flex;gap:10px;margin-top:8px;font-size:9px;color:var(--color-text-faint)}.seat-preview__legend span{display:inline-flex;align-items:center;gap:4px}.dot{width:8px;height:8px;border-radius:2px;display:inline-block}.dot--free{background:var(--color-success)}.dot--taken{background:var(--color-seat-taken)}.dot--blocked{background:var(--color-seat-blocked)}.seat-preview__art{position:relative;display:flex;align-items:flex-start;justify-content:center}.seat-preview__art .seatmap__nose{width:110px;height:100px}.detail-policy{display:flex;flex-direction:column;gap:7px;padding:11px 12px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-line)}.detail-policy div{display:flex;align-items:center;gap:7px;font-size:var(--text-xs);color:var(--color-text-dim)}.detail-policy svg{color:var(--color-primary)}.sticky-cta{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;gap:12px;background:#0a0a0af5;border-top:1px solid var(--color-line);padding:11px 2px calc(11px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sticky-cta__price{display:flex;flex-direction:column;gap:1px}.sticky-cta__price small{color:var(--color-text-faint);font-size:9px}.sticky-cta__price strong{font-family:var(--font-display);font-size:var(--text-xl)}.sticky-cta__btn{margin-left:auto;flex:1;max-width:230px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.sticky-cta__arrow{width:22px;height:22px;border-radius:50%;background:var(--color-on-primary);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-size:13px}.detail-back-list{border:none;background:transparent;color:var(--color-text-faint);font-size:var(--text-xs);display:inline-flex;align-items:center;gap:5px;cursor:pointer;padding:2px;align-self:center}.seat-page{gap:14px;padding-bottom:20px}.seat-heading{display:flex;flex-direction:column;gap:10px}.seat-heading__row{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.seat-heading h1{font-family:var(--font-display);font-size:38px;line-height:1;letter-spacing:-.04em}.seat-heading p{color:var(--color-text-dim);font-size:var(--text-xs);margin-top:5px}.seat-heading .doodle--plane{color:var(--color-primary)}.seat-stage{position:relative;padding-top:4px}.seat-stage__doodle{position:absolute;left:1px;top:22px;color:#f5f75a6b;z-index:1}.seat-stage .seatmap{width:100%}.seat-stage .seatmap__row{gap:4px}.seat-stage .seat{width:31px;height:31px}.seat-stage .seatmap__aisle{width:0}.seat-stage .seatmap__rownum{width:22px}.seat-stage .seatmap-side{padding:8px 0;width:34px}.seat-stage .seatmap-side__code{font-size:var(--text-xs)}.seat-note{display:flex;align-items:flex-start;gap:6px;font-size:10px;line-height:1.5;color:var(--color-text-faint)}.seat-note svg{flex:none;margin-top:1px;color:var(--color-primary)}.seat-footnote{text-align:center;font-size:10px;color:var(--color-text-faint)}.seat-bar{border-radius:var(--radius-xl)}.checkout-page{gap:14px;padding-bottom:14px}.checkout-title{font-family:var(--font-display);font-size:38px;letter-spacing:-.04em;line-height:1}.checkout-sub{color:var(--color-text-dim);font-size:var(--text-sm);margin-top:-8px}.order-ticket{display:flex;gap:8px;min-height:172px}.order-ticket__main{flex:1;min-width:0;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-xl);padding:14px;display:flex;flex-direction:column;gap:10px}.order-ticket__route{display:flex;align-items:center;justify-content:space-between;gap:10px}.order-ticket__route>div{display:flex;flex-direction:column;gap:2px}.order-ticket__route strong{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1}.order-ticket__route span{font-size:10px;opacity:.68;font-weight:600}.order-ticket__line{font-size:15px;opacity:.5!important}.order-ticket__meta{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:auto}.order-ticket__meta span{display:flex;flex-direction:column;gap:2px;font-size:var(--text-xs);font-weight:700}.order-ticket__meta small{font-size:8px;font-weight:700;letter-spacing:.08em;opacity:.5}.order-ticket__stub{flex:none;width:64px;border-radius:var(--radius-xl);background:var(--color-on-primary) repeating-linear-gradient(45deg,transparent 0 8px,rgba(245,247,90,.35) 8px 10px);color:var(--color-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-family:var(--font-display);writing-mode:vertical-rl;letter-spacing:.14em;font-size:var(--text-sm)}.order-ticket__stub span{opacity:.6}.checkout-block{display:flex;flex-direction:column;gap:9px}.passenger-row{display:flex;align-items:center;gap:10px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:11px 12px}.passenger-avatar{width:38px;height:38px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700}.passenger-row>div{display:flex;flex-direction:column;gap:2px}.passenger-row small{font-size:10px;color:var(--color-text-faint)}.passenger-phone{margin-left:auto;font-size:var(--text-xs);color:var(--color-text-dim)}.fare-lines{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:12px 14px;margin:0;display:flex;flex-direction:column;gap:8px}.fare-lines>div{display:flex;justify-content:space-between;gap:10px;font-size:var(--text-sm);color:var(--color-text-dim)}.fare-lines dd{margin:0;color:var(--color-text);font-weight:600}.fare-lines__total{border-top:1px dashed var(--color-line-strong);padding-top:8px;margin-top:1px;color:var(--color-text)!important;font-weight:600}.fare-lines__total dd{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary)}.checkout-notice{display:flex;align-items:flex-start;gap:8px;background:#f5f75a12;border:1px solid rgba(245,247,90,.25);border-radius:var(--radius-md);padding:10px 12px}.checkout-notice svg{flex:none;color:var(--color-primary);margin-top:1px}.checkout-notice p{font-size:10px;line-height:1.6;color:var(--color-text-dim)}.checkout-security{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--color-text-faint)}.checkout-security svg{color:var(--color-success)}.checkout-date,.checkout-existing{text-align:center;font-size:10px;color:var(--color-text-faint)}.checkout-existing{display:flex;align-items:center;justify-content:center;gap:4px;color:var(--color-warning)}.pay-page{gap:16px}.pay-head{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;padding:4px 0 0}.pay-head h1{font-family:var(--font-display);font-size:54px;line-height:1;letter-spacing:-.05em;color:var(--color-primary)}.pay-head p{color:var(--color-text-dim);font-size:var(--text-xs)}.pay-countdown{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--color-text-faint);margin-top:3px}.pay-qr-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-xl);padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px}.pay-qr-card p{font-size:var(--text-sm)}.pay-qr-card small{font-size:9px;color:var(--color-text-faint)}.pay-options{display:flex;flex-direction:column;gap:8px}.pay-option>span:nth-child(2){display:flex;flex-direction:column;gap:2px}.pay-option small{color:var(--color-text-faint);font-size:10px}.pay-demo-actions{display:flex;flex-direction:column;gap:8px}.pay-demo-actions__row{display:flex;gap:8px}.pay-demo-actions__row .btn{flex:1}.pay-footnote{display:flex;align-items:flex-start;gap:5px;font-size:10px;line-height:1.5;color:var(--color-text-faint)}.pay-footnote svg{flex:none;margin-top:1px;color:var(--color-primary)}.pay-order-link{display:flex;align-items:center;justify-content:center;gap:3px;font-size:var(--text-xs);color:var(--color-text-dim)}.result-page{gap:14px;padding-top:16px}.result-top{display:flex;align-items:center;justify-content:space-between}.result-page .result-hero__icon{margin:12px auto 0}.result-page .result-hero__title,.result-page .result-hero__desc{text-align:center;margin:0 auto}.result-summary{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:12px 14px;display:flex;flex-direction:column;gap:7px}.result-summary__row{display:flex;justify-content:space-between;gap:10px;font-size:var(--text-xs);color:var(--color-text-dim)}.result-summary__row strong{color:var(--color-text);font-weight:600}.result-summary__row--total{border-top:1px dashed var(--color-line-strong);padding-top:7px;align-items:baseline}.result-summary__row--total strong{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary)}.result-actions{display:flex;flex-direction:column;gap:8px}.result-safe{text-align:center;font-size:10px;color:var(--color-text-faint);display:flex;align-items:center;justify-content:center;gap:4px}.tickets-page{gap:14px}.tickets-summary{position:relative;overflow:hidden;display:flex;gap:18px;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-xl);padding:14px 16px}.tickets-summary>div{display:flex;flex-direction:column;gap:2px;position:relative;z-index:1}.tickets-summary span{font-size:9px;font-weight:700;letter-spacing:.1em;opacity:.55}.tickets-summary strong{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1}.tickets-summary__icon{position:absolute;right:12px;bottom:8px;opacity:.16}.tickets-toolbar{display:flex;flex-direction:column;gap:9px}.segmented{display:flex;gap:4px;background:var(--color-surface);border-radius:999px;padding:4px;border:1px solid var(--color-line)}.segmented__item{flex:1;border:none;background:transparent;color:var(--color-text-dim);border-radius:999px;padding:6px 8px;font-size:var(--text-xs);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px}.segmented__item--on{background:var(--color-primary);color:var(--color-on-primary)}.tickets-stack{gap:16px}.ticket-with-meta{display:flex;flex-direction:column;gap:6px}.ticket-with-meta__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:var(--color-text-faint);padding:0 2px}.ticket-with-meta__cta{display:inline-flex;align-items:center;gap:3px;color:var(--color-primary);font-weight:600}.period-filter{display:flex;flex-direction:column;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.period-filter__date{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-md);padding:7px 10px;font-size:var(--text-xs);color:var(--color-text-dim)}.period-filter__date input{border:none;background:transparent;font-weight:600;color:var(--color-text)}.badge{position:relative;display:inline-flex}.badge--dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--color-primary);display:inline-block}.badge__count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:999px;background:var(--color-primary);color:var(--color-on-primary);font-size:9px;font-weight:800;padding:0 4px}.ticket-detail-page{gap:14px}.ticket-detail-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.ticket-detail-heading{position:relative;margin-top:2px}.ticket-detail-heading h1{font-family:var(--font-display);font-size:34px;line-height:1.02;letter-spacing:-.045em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ticket-detail-heading h1 span{color:var(--color-primary);font-weight:400}.ticket-detail-heading p{color:var(--color-text-dim);font-size:var(--text-xs);margin-top:5px}.ticket-detail-heading>.doodle--plane{position:absolute;right:4px;bottom:-4px;color:var(--color-primary);opacity:.7}.boarding-wrap{display:flex;flex-direction:column;gap:0}.boarding-wrap .boarding-pass__main{border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:20px}.boarding-wrap .boarding-pass__stub{border-bottom-left-radius:0;border-bottom-right-radius:0}.boarding-barcode{background:#fff;color:#0d0d0d;border-radius:0 0 var(--radius-xl) var(--radius-xl);padding:9px 12px 7px;display:flex;flex-direction:column;gap:2px}.boarding-barcode .barcode{height:46px;padding:0;border-radius:0}.boarding-barcode>span{font-size:8px;font-weight:700;letter-spacing:.24em;text-align:center}.ticket-passenger{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:12px 14px}.ticket-passenger div{display:flex;flex-direction:column;gap:2px}.ticket-passenger small{font-size:9px;color:var(--color-text-faint);letter-spacing:.08em}.ticket-passenger strong{font-size:var(--text-sm)}.ticket-order{display:flex;flex-direction:column;gap:8px}.ticket-order .section__head{align-items:center}.ticket-order .text-link{background:transparent}.ticket-order__lines{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:12px 14px;margin:0;display:flex;flex-direction:column;gap:7px}.ticket-order__lines>div{display:flex;justify-content:space-between;gap:10px;font-size:var(--text-xs)}.ticket-order__lines dt{color:var(--color-text-faint)}.ticket-order__lines dd{margin:0;text-align:right;color:var(--color-text)}.ticket-order__total{border-top:1px dashed var(--color-line-strong);padding-top:7px;align-items:baseline}.ticket-order__total dd{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-primary)}.refund-banner{display:flex;align-items:flex-start;gap:9px;background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:var(--radius-md);padding:11px 12px;color:var(--color-danger)}.refund-banner svg{flex:none;margin-top:1px}.refund-banner strong{font-size:var(--text-sm);display:block}.refund-banner p{font-size:10px;line-height:1.5;color:var(--color-text-dim);margin-top:2px}.refund-banner--pending{background:#f59e0b1a;border-color:#f59e0b4d;color:var(--color-warning)}.ticket-actions{display:flex;flex-direction:column;gap:8px}.ticket-fineprint{display:flex;align-items:flex-start;justify-content:center;gap:5px;text-align:center;font-size:10px;color:var(--color-text-faint);line-height:1.5}.ticket-fineprint svg{flex:none;margin-top:1px}.modal-copy{font-size:var(--text-sm);line-height:1.65;color:var(--color-text-dim)}.refund-rule{display:flex;align-items:center;gap:7px;font-size:var(--text-xs);color:var(--color-primary);background:#f5f75a14;border-radius:var(--radius-sm);padding:8px 10px;margin-top:10px}.history-page{gap:14px}.history-summary{position:relative;display:flex;gap:26px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-xl);padding:14px 16px;overflow:hidden}.history-summary>div{display:flex;flex-direction:column;gap:2px;position:relative;z-index:1}.history-summary span{font-size:9px;color:var(--color-text-faint);letter-spacing:.08em}.history-summary strong{font-family:var(--font-display);font-size:var(--text-xl)}.history-summary strong small{font-family:var(--font-body);font-size:9px;color:var(--color-text-faint)}.history-summary__icon{position:absolute;right:12px;bottom:8px;color:var(--color-primary);opacity:.2}.history-list{display:flex;flex-direction:column;gap:7px}.history-row{display:flex;align-items:center;gap:10px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:9px 10px;position:relative}.history-row__date{width:50px;height:50px;border-radius:var(--radius-sm);background:var(--color-surface-raised);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}.history-row__date--today{background:var(--color-primary);color:var(--color-on-primary)}.history-row__date strong{font-size:var(--text-xs);line-height:1.1}.history-row__date small{font-size:8px;opacity:.65}.history-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.history-row__route{display:flex;align-items:center;gap:4px;font-size:var(--text-sm);font-weight:600}.history-row__route svg{color:var(--color-primary)}.history-row__body small{font-size:9px;color:var(--color-text-faint)}.history-row__end{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.history-row__end strong{font-size:var(--text-xs)}.history-row__arrow{color:var(--color-text-faint);flex:none}.stats-page{gap:16px}.stats-hero{position:relative;overflow:hidden;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-2xl);padding:20px 18px 18px;min-height:160px}.stats-hero__copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start}.stats-hero__copy>strong{font-family:var(--font-display);font-size:58px;line-height:.9;letter-spacing:-.06em}.stats-hero__copy>span{font-size:var(--text-sm);font-weight:600;margin-top:2px}.stats-hero__copy p{font-size:10px;opacity:.65;margin-top:8px;max-width:200px}.stats-hero__icon{position:absolute;right:24px;top:24px;opacity:.22}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stat-tile{position:relative;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:11px 12px;display:flex;flex-direction:column;gap:3px;overflow:hidden}.stat-tile__icon{position:absolute;right:9px;top:9px;color:var(--color-primary);opacity:.6}.stat-tile__value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:1.1}.stat-tile__label{font-size:9px;color:var(--color-text-faint)}.stats-chart-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-xl);padding:14px;display:flex;flex-direction:column;gap:10px}.stats-chart-card .barchart{background:transparent;border:none;padding:4px 0 0}.stats-chart-card__legend{display:inline-flex;align-items:center;gap:5px;font-size:9px;color:var(--color-text-faint)}.stats-chart-card__legend i{width:8px;height:8px;border-radius:2px;background:var(--color-primary)}.stats-chart-card__foot{font-size:9px;color:var(--color-text-faint);line-height:1.5}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-link{display:flex;align-items:center;gap:9px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:11px 12px;color:var(--color-text);min-height:62px}.quick-link:hover{border-color:var(--color-primary)}.quick-link__icon{width:32px;height:32px;border-radius:50%;background:#f5f75a1a;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;flex:none}.quick-link__text{display:flex;flex-direction:column;gap:2px}.quick-link__text strong{font-size:var(--text-xs)}.quick-link__text small{font-size:9px;color:var(--color-text-faint)}.stats-recent{display:flex;flex-direction:column;gap:3px}.stats-recent__row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--color-line);font-size:var(--text-xs);color:var(--color-text-dim)}.stats-recent__code{display:flex;align-items:center;gap:3px;font-family:var(--font-display);font-weight:700;color:var(--color-text);letter-spacing:.04em}.stats-recent__code i{color:var(--color-primary);font-style:normal;font-size:9px}.stats-recent__row>span:nth-child(2){flex:1}.stats-recent__date{color:var(--color-text-faint)}.notifications-page{gap:14px}.notification-count{display:inline-flex;align-items:center;gap:5px;color:var(--color-text-dim)}.notification-count strong{background:var(--color-primary);color:var(--color-on-primary);border-radius:999px;min-width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;font-size:10px}.notifications-toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.notifications-toolbar .tabs{overflow-x:auto;width:100%;scrollbar-width:none}.notification-list{display:flex;flex-direction:column;gap:8px}.notif-card__headline{display:flex;align-items:center;gap:6px}.notif-card__icon{display:inline-flex;opacity:.8}.notif-card__dot{width:6px;height:6px;border-radius:50%;background:var(--color-on-primary);color:transparent;font-size:0}.notif-card--read .notif-card__dot{background:transparent}.notification-detail{display:flex;flex-direction:column;gap:10px}.notification-detail__icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center}.notification-detail__icon--ticket{background:#f5f75a26;color:var(--color-primary)}.notification-detail__icon--checkin{background:#3b82f626;color:var(--color-info)}.notification-detail__icon--promo{background:#f59e0b26;color:var(--color-warning)}.notification-detail p{font-size:var(--text-sm);line-height:1.7;color:var(--color-text-dim)}.notification-detail small{font-size:10px;color:var(--color-text-faint)}.notifications-settings-hint{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--color-text-faint);padding:4px 2px}.notifications-settings-hint .text-link{margin-left:auto}.favorites-page{gap:12px}.favorites-heart{display:inline-flex;align-items:center;gap:5px;color:var(--color-primary);font-family:var(--font-display);font-weight:700}.favorites-intro{font-size:var(--text-sm);color:var(--color-text-dim);line-height:1.6}.favorites-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:4px}.help-page{gap:16px}.help-hero{position:relative;overflow:hidden;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-2xl);padding:14px 16px 20px}.help-hero .back-bar{color:var(--color-on-primary);opacity:.6}.help-hero__copy{position:relative;z-index:1;margin-top:20px}.help-hero__copy h1{font-family:var(--font-display);font-size:38px;line-height:.98;letter-spacing:-.04em;font-weight:700}.help-hero__copy p{font-size:var(--text-xs);margin-top:7px;opacity:.65}.help-hero__icon{position:absolute;right:18px;top:50px;opacity:.18}.help-search{margin-top:-28px;position:relative;z-index:2;background:var(--color-bg);border-radius:var(--radius-lg);padding:0 2px}.help-contact{display:grid;grid-template-columns:1fr 1fr;gap:8px}.help-contact__item{display:flex;flex-direction:column;gap:2px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:11px 12px;color:var(--color-text)}.help-contact__item>span{color:var(--color-primary);margin-bottom:3px}.help-contact__item strong{font-size:var(--text-xs)}.help-contact__item small{font-size:10px;color:var(--color-text-faint)}.faq-section{display:flex;flex-direction:column;gap:8px}.faq-list{display:flex;flex-direction:column;gap:4px}.faq-item{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.faq-item--open{border-color:var(--color-primary)}.faq-item__q{display:flex;align-items:center;gap:9px;width:100%;border:none;background:transparent;color:inherit;padding:11px 12px;cursor:pointer;text-align:left}.faq-item__q>span{font-size:9px;font-weight:700;color:var(--color-primary);width:16px}.faq-item__q strong{flex:1;font-size:var(--text-sm);font-weight:600}.faq-item__chevron{color:var(--color-text-faint);transition:transform .16s ease}.faq-item--open .faq-item__chevron{transform:rotate(180deg);color:var(--color-primary)}.faq-item__a{padding:0 12px 13px 37px;font-size:var(--text-xs);line-height:1.7;color:var(--color-text-dim)}.faq-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px 12px;color:var(--color-text-faint);font-size:var(--text-xs)}.feedback-card{display:flex;flex-direction:column;gap:12px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-xl);padding:14px}.feedback-card__head{display:flex;align-items:flex-start;gap:9px}.feedback-card__head>svg{color:var(--color-primary);flex:none}.feedback-card__head h2{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.2}.feedback-card__head p{font-size:10px;color:var(--color-text-faint);margin-top:3px;line-height:1.5}.feedback-form{display:flex;flex-direction:column;gap:10px}.feedback-success{display:flex;flex-direction:column;align-items:center;gap:5px;padding:16px;text-align:center;color:var(--color-success-soft)}.feedback-success strong{font-size:var(--text-md)}.feedback-success p{font-size:var(--text-xs);color:var(--color-text-dim)}.feedback-success b{font-family:var(--font-display);letter-spacing:.08em;color:var(--color-text)}.help-foot{display:flex;align-items:flex-start;justify-content:center;gap:5px;text-align:center;font-size:10px;color:var(--color-text-faint);line-height:1.5}.help-foot svg{flex:none;margin-top:1px}.profile-page{gap:16px}.profile-hero{position:relative;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-2xl);padding:16px 16px 12px;overflow:hidden}.profile-hero:before{content:"";position:absolute;right:-60px;bottom:-80px;width:230px;height:230px;border:1px dashed rgba(17,17,17,.18);border-radius:50%}.profile-hero__row{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:8px}.profile-avatar-btn{position:relative;border:none;background:transparent;padding:0;cursor:pointer}.profile-avatar-btn .avatar{border:2px solid rgba(17,17,17,.2)}.profile-avatar-btn__edit{position:absolute;right:-4px;bottom:-4px;background:var(--color-on-primary);color:var(--color-primary);border-radius:999px;font-size:8px;font-weight:700;padding:2px 6px}.profile-hero__copy{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.profile-hero__copy h1{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.05;letter-spacing:-.02em}.profile-hero__copy p{font-size:var(--text-xs);font-weight:600;opacity:.7}.profile-hero__copy>span{font-size:9px;opacity:.55;margin-top:1px}.profile-hero .icon-btn{color:var(--color-on-primary)}.profile-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:14px;background:#11111117;border-radius:var(--radius-md);padding:8px}.profile-stats a{display:flex;flex-direction:column;align-items:center;gap:1px}.profile-stats strong{font-family:var(--font-display);font-size:var(--text-lg);line-height:1}.profile-stats span{font-size:8px;opacity:.55;font-weight:600}.settings-block{display:flex;flex-direction:column;gap:5px}.settings-link__value{margin-left:auto;color:var(--color-text-faint);font-size:10px;max-width:116px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-link__value+.settings-link__chevron{margin-left:0}.settings-link--danger{color:var(--color-danger)}.profile-foot{text-align:center;font-size:9px;color:var(--color-text-faint);line-height:1.5;padding:0 16px}.avatar-picker{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.avatar-picker__item{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--color-line);background:var(--color-surface);font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer}.avatar-picker__item--on{border-color:var(--color-primary);background:#f5f75a1a}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0}.switch-row>div{display:flex;flex-direction:column;gap:2px}.switch-row strong{font-size:var(--text-sm)}.switch-row small{font-size:10px;color:var(--color-text-faint);line-height:1.4}.switch-list{display:flex;flex-direction:column}.switch-list .switch-row+.switch-row{border-top:1px solid var(--color-line)}.modal-hint{font-size:10px;color:var(--color-text-faint);line-height:1.55}.lang-row{border-radius:var(--radius-md)}.lang-row>span:first-child{display:flex;flex-direction:column;gap:2px}.lang-row small{font-size:10px;color:var(--color-text-faint)}.lang-row__check{color:var(--color-primary);font-weight:700}.privacy-note{display:flex;align-items:flex-start;gap:8px;background:#f5f75a12;border:1px solid rgba(245,247,90,.2);border-radius:var(--radius-md);padding:10px 11px;margin:8px 0}.privacy-note svg{color:var(--color-primary);flex:none;margin-top:1px}.privacy-note p{font-size:10px;line-height:1.6;color:var(--color-text-dim)}.privacy-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--color-line);padding:9px 0;font-size:var(--text-xs)}.privacy-row span{color:var(--color-text-faint)}.privacy-row strong{font-weight:600}.about-sheet{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 14px}.about-sheet__mark{width:62px;height:62px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:4px}.about-sheet strong{font-family:var(--font-display);letter-spacing:.12em;font-size:var(--text-md)}.about-sheet small{font-size:9px;color:var(--color-text-faint)}.legal-copy{display:flex;flex-direction:column;gap:5px}.legal-copy h4{font-family:var(--font-display);font-size:var(--text-sm);margin-top:7px}.legal-copy p{font-size:10px;line-height:1.7;color:var(--color-text-dim)}@media(min-width:700px){.app-shell{margin:18px auto;min-height:calc(100vh - 36px);border-radius:30px;box-shadow:0 28px 80px #00000080;border:1px solid var(--color-line)}.bottom-nav{border-radius:0 0 30px 30px}}@media(max-width:360px){.home-title{font-size:48px}.auth-title{font-size:34px}.search-title h1{font-size:38px}.seat-stage .seat{width:28px;height:28px}.seat-stage .seatmap{padding:14px 8px}.order-ticket__meta{grid-template-columns:1fr 1fr}}@media print{.bottom-nav,.sticky-cta,.toast-stack{display:none!important}.app-shell{margin:0 auto;max-width:none;box-shadow:none}}.search-date{position:relative}.search-date__value{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.3;padding-right:22px}.search-date__icon{position:absolute;right:2px;bottom:14px;opacity:.55;pointer-events:none}.search-date input[type=date]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.flight-row__dur{font-size:9px;color:var(--color-text-faint);white-space:nowrap}.flight-row__no{white-space:nowrap}.seat-stage .seatmap__rownum{color:var(--color-text-dim);font-size:10px;font-weight:700}@media(min-width:700px){.bottom-nav{bottom:18px}}.barcode{justify-content:space-between;gap:2px}.barcode i{flex-basis:0;min-width:1px;max-width:7px}.onb-ticket .barcode i{max-width:6px}.period-filter__date{position:relative}.period-filter__value{color:var(--color-text);font-weight:600;padding-right:16px}.period-filter__date input[type=date]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer}.avatar__image{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid var(--color-line-strong);background:var(--color-surface-veil)}.badge--dot:after{content:none}.seat-bar .btn--secondary{background:var(--color-on-primary);color:var(--color-primary);box-shadow:none}.seat-bar .btn--secondary:hover:not(:disabled){background:var(--color-on-primary);filter:brightness(1.15)}.seat-bar .btn--secondary .btn__icon{background:var(--color-primary);color:var(--color-on-primary)}.seat-bar .btn--secondary:disabled{background:#11111159;color:#1119;opacity:1}.seat-bar .btn--secondary:disabled .btn__icon{background:#1113;color:#11111180}.seatmap__legend{flex-wrap:wrap;justify-content:center}.cabin-option:not(.cabin-option--active) .cabin-option__check{display:none}.ticket-with-meta__status{display:inline-flex;align-items:center;gap:6px}.ticket-with-meta__status .status-pill{font-size:8px;padding:2px 7px}.segmented__count{min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--color-warning);color:var(--color-on-primary);font-size:8px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.result-home{display:block;text-align:center;color:var(--color-text-dim);font-size:var(--text-xs);padding:4px}.result-home:hover{color:var(--color-primary)}.ticket-card{transition:transform .14s ease,filter .14s ease}.ticket-card:hover{transform:translateY(-2px);filter:brightness(1.03)}.ticket-card:active{transform:translateY(0)}.home-current{transition:border-color .14s ease}.home-current:hover{border-color:var(--color-primary)}.book-pill{transition:border-color .14s ease,transform .14s ease}.book-pill:hover{border-color:var(--color-primary);transform:translateY(-1px)}.paymethods-page{gap:16px}.wallet-preview{position:relative;overflow:hidden;border-radius:var(--radius-xl)}.wallet-preview__card{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-primary-strong),var(--color-primary) 55%,var(--color-primary-soft));color:var(--color-on-primary);border-radius:var(--radius-xl);padding:18px 18px 16px;min-height:190px;display:flex;flex-direction:column;box-shadow:0 18px 40px #0006}.wallet-preview__brand{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;letter-spacing:.1em}.wallet-preview__glyph{position:absolute;right:16px;top:14px;width:40px;height:40px;border-radius:10px;background:#111111d9;color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}.wallet-preview__num{margin-top:auto;font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:.12em}.wallet-preview__meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:12px}.wallet-preview__meta small{font-size:9px;font-weight:700;letter-spacing:.14em;opacity:.6}.wallet-preview__meta strong{font-family:var(--font-display);font-size:var(--text-md)}.wallet-preview__zigzag{position:absolute;right:26px;top:50%;transform:translateY(-50%);font-size:44px;line-height:1;color:#11111159;font-weight:700;pointer-events:none}.wallet-default-tag{margin-left:auto;display:inline-flex;align-items:center;gap:4px;background:var(--color-on-primary);color:var(--color-primary);border-radius:999px;font-size:9px;font-weight:700;padding:4px 9px;flex:none}.location-page{gap:16px}.location-state{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:40px 20px 28px}.location-state__blob{position:absolute;top:6px;left:50%;transform:translate(-50%);width:240px;height:170px;background:var(--color-surface-raised);border-radius:48% 52% 55% 45%/55% 48% 52% 45%;opacity:.75}.location-state__icon{position:relative;z-index:1;width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 0 0 10px #f5f75a1a}.location-state h1{position:relative;z-index:1;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em}.location-state p{position:relative;z-index:1;max-width:300px;font-size:var(--text-sm);line-height:1.7;color:var(--color-text-dim)}.location-state .doodle--spiral{position:absolute;right:20px;bottom:6px;color:#f5f75a66}.location-toggle-group{padding:2px 14px}.location-switch-row{padding:12px 0}.manual-city-link{display:flex;align-items:center;gap:11px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:12px 13px}.manual-city-link--static{cursor:default}.manual-city-link:hover{border-color:var(--color-primary)}.manual-city-link__icon{width:34px;height:34px;border-radius:50%;background:#f5f75a1a;color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex:none}.manual-city-link>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}.manual-city-link strong{font-size:var(--text-sm)}.manual-city-link small{font-size:10px;color:var(--color-text-faint)}.location-fineprint{text-align:center;font-size:10px;color:var(--color-text-faint);line-height:1.6;padding:0 14px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);font-family:var(--font-body);color:var(--color-text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}::selection{background:var(--color-primary);color:var(--color-on-primary)}:root{--color-page-bg: #e9e4df}html,body,#root{height:auto;min-height:100%}#root{align-items:flex-start}.shell,.app-shell{min-height:100vh;min-height:100dvh}body{background:var(--color-page-bg, #e9e4df)}
