@font-face{font-family:Vazirmatn;src:url('/assets/Vazirmatn.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--ink:#20211f;--muted:#777972;--line:#ebeae6;--yellow:#ffca48;--yellow-deep:#f4b72c;--canvas:#f5f4f1;--white:#fff;--green:#197c58;--radius:21px;--font:'Vazirmatn','IRANSans',Tahoma,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font);color:var(--ink);background:#232421;-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:3px solid #e3ab21;outline-offset:3px}button svg,.ico{flex-shrink:0}svg.ico{height:20px;width:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.ambient{position:fixed;pointer-events:none;border-radius:50%;filter:blur(80px);opacity:.1}.ambient-a{width:460px;height:460px;background:#ffd267;top:8%;right:8%}.ambient-b{width:280px;height:280px;background:#d7d6c6;bottom:2%;left:14%}.app-frame{position:relative;width:100%;max-width:540px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--canvas);box-shadow:0 28px 100px #0005;overflow:clip}.topbar{height:85px;display:flex;align-items:center;justify-content:space-between;padding:20px 24px 10px;gap:10px}.brand{display:inline-flex;align-items:center;gap:7px;color:var(--ink);text-decoration:none;direction:ltr}.brand-symbol{height:30px;width:35px}.brand-name{font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:850;letter-spacing:-1px}.brand-dot{color:var(--yellow-deep)}.topbar-end{display:flex;align-items:center;gap:8px}.topbar-chip{font-size:10px;color:var(--muted);white-space:nowrap}.topbar-circle{display:grid;place-items:center;width:31px;height:31px;background:#fff;border:1px solid #eeede9;border-radius:50%}.topbar-circle .ico{width:16px;height:16px}
main{padding:0 22px 4px;min-height:calc(100dvh - 133px)}.view{animation:fadeUp .28s ease both}.view[hidden], [hidden]{display:none!important}.hero{padding:13px 1px 22px}.hero-kicker{font:700 9px/1.4 Arial,sans-serif;letter-spacing:2.15px;direction:ltr;text-align:right;color:#777b74;display:flex;justify-content:flex-end;align-items:center;gap:8px}.kicker-line{width:19px;height:2px;background:var(--yellow-deep)}.hero h1{font-size:clamp(29px,7.7vw,40px);line-height:1.42;font-weight:900;letter-spacing:-1.4px;margin:11px 0 4px}.hero-accent{color:var(--yellow-deep)}.hero p{color:#757770;font-size:12px;margin:8px 0 0;line-height:1.9}
.mode-switch{display:flex;background:#fff;border-radius:21px;padding:6px;box-shadow:0 3px 16px #15161509;border:1px solid #eeede9;gap:5px;margin:4px 0 14px}.mode-tab{border:0;background:transparent;color:#60625e;border-radius:16px;min-height:52px;flex:1;display:flex;justify-content:center;gap:7px;align-items:center;font-size:13px;font-weight:800;transition:background .2s,color .2s}.mode-tab .ico{width:19px;height:19px}.mode-tab.is-selected{background:var(--yellow);color:#171816;box-shadow:0 4px 11px #e6ac3236}.search-stack{display:grid;gap:12px}.route-panel,.date-panel,.options-panel{background:var(--white);border-radius:var(--radius);box-shadow:0 5px 28px #27282009;border:1px solid #eeece8}.route-panel{position:relative;padding:2px 14px}.location-field{width:100%;border:0;background:transparent;min-height:76px;display:flex;align-items:center;gap:13px;text-align:right;color:var(--ink);padding:5px 3px}.field-icon{border-radius:14px;background:#f6f5f1;width:39px;height:39px;display:grid;place-items:center;color:#4d514a}.field-icon .ico{width:19px;height:19px}.field-copy{display:grid;gap:2px;flex:1}.field-copy small{font-size:11px;color:#969791}.field-copy strong{font-size:19px;line-height:1.4;font-weight:800}.location-code{direction:ltr;color:#9a9b97;font:700 11px/1 Arial,sans-serif;letter-spacing:.6px;padding-left:10px}.route-divider{border-bottom:1px dashed #deddd8;margin:0 49px 0 10px}.swap-button{position:absolute;left:23px;top:50%;transform:translateY(-50%);z-index:2;width:42px;height:42px;background:var(--yellow);border:4px solid white;border-radius:50%;display:grid;place-items:center;box-shadow:0 2px 10px #dda32a22;transition:transform .2s}.swap-button:hover{transform:translateY(-50%) rotate(180deg)}.swap-button .ico{width:17px;height:17px}
.date-panel{padding:15px 14px 13px}.section-heading,.heading-title{display:flex;align-items:center;gap:8px}.section-heading{justify-content:space-between;margin-bottom:12px;padding:0 3px}.heading-title strong{font-size:13px;font-weight:800}.heading-title .ico{width:19px;height:19px}.text-action{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#777a70;font-size:10px;padding:6px 0}.text-action .ico{width:13px;height:13px}.date-scroller{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x mandatory;padding:0 1px 9px}.date-scroller::-webkit-scrollbar{display:none}.date-chip{flex:0 0 64px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #f1f0ec;border-radius:13px;background:#f7f7f5;min-height:80px;padding:7px 3px;color:#686a64;scroll-snap-align:start;gap:1px;transition:all .16s}.date-chip .day-name{font-size:10px;white-space:nowrap}.date-chip .day-number{font-size:23px;font-weight:900;line-height:1.22;color:#20211f}.date-chip .month-name{font-size:10px}.date-chip.is-active{background:var(--yellow);border-color:#f9c343;box-shadow:0 5px 13px #ffc94c3d;color:#20211f}.return-divider{height:1px;background:#efefec;margin:5px 2px 4px}.return-toggle{display:flex;align-items:center;justify-content:space-between;text-align:right;border:0;width:100%;background:none;min-height:41px;color:var(--ink);padding:1px 3px}.return-toggle>span{display:flex;align-items:center;gap:8px}.return-toggle strong{font-size:12px}.return-toggle small{font-size:10px;color:#979993;margin-right:2px}.return-plus{background:#f5f4f2;border-radius:50%;height:27px;width:27px;display:grid;place-items:center;font-weight:700;font-size:20px;line-height:1}.return-toggle[aria-pressed="true"] .return-plus{background:#ffedba;color:#9d6c0e}.return-toggle>.ico{width:18px;height:18px;color:#777970}.return-ticker{padding-top:8px}.return-remove{display:block;border:0;background:transparent;color:#95752e;font-size:10px;padding:3px 0 6px;margin-right:auto}.options-panel{display:flex;padding:6px}.option-button{border:0;background:none;min-width:0;flex:1;display:flex;text-align:right;align-items:center;gap:8px;padding:12px 7px;color:var(--ink);min-height:64px}.option-icon{width:31px;height:31px;border-radius:11px;background:#f5f4f1;display:grid;place-items:center}.option-icon .ico{width:16px;height:16px}.option-content{display:flex;flex-direction:column;flex:1;min-width:0;gap:3px}.option-content small{font-size:10px;color:#8c8e87;white-space:nowrap}.option-content strong{font-size:13px;font-weight:800;white-space:nowrap}.option-button .chevron{width:13px;height:13px;color:#8c8e87}.options-divider{width:1px;background:var(--line);align-self:stretch;margin:8px 0}.sticky-cta{position:sticky;bottom:0;background:linear-gradient(to bottom,transparent,var(--canvas) 23%,var(--canvas));padding:16px 0 8px;z-index:3}.primary-button{height:58px;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--yellow);border:1px solid #eeb638;border-radius:18px;color:#141512;font-size:16px;font-weight:900;width:100%;padding:0 15px;box-shadow:0 7px 17px #ffcc5535;position:relative;transition:transform .17s,background .17s}.primary-button:hover{background:#ffd56b}.primary-button:active{transform:scale(.985)}.primary-button>.ico{width:22px;height:22px}.button-arrow{position:absolute;left:13px;top:50%;transform:translateY(-50%);display:grid;place-items:center}.button-arrow .ico{width:21px;height:21px}.demo-note{display:flex;align-items:center;justify-content:center;gap:5px;font-size:9.5px;line-height:1.6;color:#989991;margin:10px 0 0;text-align:center}.demo-note .ico{height:13px;width:13px}.app-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 24px 20px;color:#b7b8b0;font-size:9px;letter-spacing:.25px;direction:ltr;font-family:Arial,sans-serif}
/* Secondary views */
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 20px}.page-heading h2{font-size:29px;line-height:1.4;margin:3px 0 0;letter-spacing:-1px;font-weight:900}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;font-family:Arial,sans-serif;color:#a0a19a;direction:ltr;text-align:right}.round-back{border:1px solid #efede9;background:#fff;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;order:2}.round-back .ico{transform:rotate(180deg);width:20px;height:20px}.results-summary{background:#fff;border:1px solid var(--line);width:100%;padding:16px 17px;text-align:right;border-radius:19px;display:grid;gap:4px;position:relative;box-shadow:0 3px 15px #15161508}.summary-route{font-size:16px;font-weight:900}.summary-sub{font-size:11px;color:#858781;padding-left:56px}.edit-pill{position:absolute;top:50%;left:12px;transform:translateY(-50%);background:#f5f4f1;border-radius:11px;padding:7px;display:inline-flex;gap:3px;align-items:center;font-size:10px}.edit-pill .ico{width:13px;height:13px}.sort-bar{display:flex;gap:7px;margin:17px 0 13px;align-items:center}.sort-pill,.filter-trigger{border:1px solid #e8e7e2;border-radius:12px;background:#fff;padding:10px 12px;font-size:11px;font-weight:700;white-space:nowrap;color:#4c4e49}.sort-pill.active{background:var(--yellow);border-color:var(--yellow);color:#181915}.filter-trigger{margin-right:auto;display:flex;align-items:center;gap:4px;padding-inline:9px}.filter-trigger .ico{width:15px;height:15px}.filter-counter{background:#20211f;color:#fff;border-radius:50%;width:16px;height:16px;font:700 10px/16px Arial,sans-serif;text-align:center}.results-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 2px 10px}.results-meta strong{font-size:12px}.results-meta span{font-size:10px;color:#969891}.results-list{display:grid;gap:12px;padding-bottom:20px}.ticket-card{border-radius:21px;background:white;border:1px solid #eceae6;box-shadow:0 6px 20px #1f211f0c;position:relative;overflow:hidden}.ticket-card::before,.ticket-card::after,.detailed-ticket::before,.detailed-ticket::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--canvas);z-index:1}.ticket-card::before{top:94px;right:-9px}.ticket-card::after{top:94px;left:-9px}.ticket-main{width:100%;text-align:right;border:0;background:transparent;padding:17px 17px 11px;color:inherit}.ticket-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.operator-name{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800}.operator-bubble{display:grid;place-items:center;background:#f4f4ef;border:1px solid #ebebe6;border-radius:11px;width:35px;height:35px}.operator-bubble .ico{width:18px;height:18px}.price-tag{background:#ffda7d;border-radius:12px;display:flex;flex-direction:column;align-items:center;padding:7px 11px;gap:0;min-width:93px}.price-tag strong{font-size:13px;font-weight:900;direction:ltr;white-space:nowrap}.price-tag small{font-size:9px}.ticket-timeline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:15px}.time-point{display:flex;flex-direction:column;min-width:72px;gap:1px}.time-point:last-child{text-align:left}.time-point strong{font-size:22px;line-height:1.25;font-family:var(--font);font-weight:900;direction:ltr}.time-point small{font-size:11px;color:#777971}.travel-line{flex:1;display:flex;flex-direction:column;gap:6px;align-items:center;min-width:40px}.travel-line small{border-radius:30px;background:#f2f1ed;padding:3px 7px;color:#696b65;font-size:10px;white-space:nowrap}.travel-track{height:1px;width:100%;background:#c5c7c0;position:relative}.travel-track::before,.travel-track::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#a7a9a2;top:-2px}.travel-track::before{right:0}.travel-track::after{left:0}.ticket-cut{margin:0 9px;border-top:1px dashed #dddeda}.ticket-foot{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:11px 17px 13px}.ticket-foot span{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#7b7d76}.ticket-foot .ico{width:13px;height:13px}.ticket-foot .seat-count{color:#167c5c;font-weight:800}.ticket-foot .advance{margin-right:auto;color:var(--ink);font-weight:800}.ticket-foot .advance .ico{width:16px;height:16px}.ticket-sticker{position:absolute;top:0;left:0;height:5px;width:100%;background:linear-gradient(90deg,#ffd56c,var(--yellow),#ffebae)}.ticket-card:hover{border-color:#f6d17b}.small-print{font-size:10px;color:#a4a59e;margin:5px 0 0}
.empty-state{text-align:center;padding:38px 10px;background:#fff;border:1px dashed #e5e2db;border-radius:20px}.empty-symbol{width:54px;height:54px;background:#fff2cf;border-radius:50%;display:grid;place-items:center;margin:auto}.empty-state h3{font-size:17px;margin:13px 0 5px}.empty-state p{font-size:12px;color:var(--muted)}.secondary-button{background:white;color:#282925;border:1px solid #e2e1dc;padding:12px 20px;border-radius:13px;font-weight:800;font-size:12px}.bottom-action{margin:16px 0 16px;display:grid;gap:9px}.dark-button{background:#222320;color:white;border-color:#222320;box-shadow:none}.dark-button:hover{background:#353633}
.detailed-ticket{position:relative;background:#fff;border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:0 6px 22px #2222220a;margin:6px 0 14px}.detailed-ticket::before{right:-10px;top:176px}.detailed-ticket::after{left:-10px;top:176px}.detail-banner{padding:18px 18px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#222320;color:white}.detail-banner span{font-size:12px;font-weight:800}.detail-banner small{font-size:10px;color:#d2d2ce}.detail-banner .ico{width:22px;height:22px}.detail-main{padding:20px 18px}.detail-timeline .time-point strong{font-size:24px}.detail-row{padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #eeedea}.detail-row:first-child{border-top:0}.detail-row span{display:flex;align-items:center;gap:7px;font-size:11px;color:#7b7e76}.detail-row strong{font-size:12px;font-weight:800;text-align:left}.detail-row .ico{width:16px;height:16px}.ticket-perforation{border-top:2px dashed #e0e1dc;margin:0 18px}.detail-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:17px 18px}.metric{background:#f7f7f4;border-radius:13px;text-align:center;padding:10px 4px}.metric small{font-size:10px;color:#888b82;display:block}.metric strong{font-size:15px;font-weight:900;display:block;margin-top:3px}.ticket-barcode{display:flex;align-items:stretch;justify-content:center;gap:2px;direction:ltr;height:70px;margin:3px 22px 10px;overflow:hidden}.bar-stripe{display:block;background:#20211f;flex:none}.barcode-caption{margin:0;text-align:center;font-size:9px;letter-spacing:.4px;direction:ltr;color:#91938b;padding-bottom:18px}.amount-card{background:#fff;border:1px solid #eae9e4;border-radius:19px;padding:16px 17px;margin:12px 0;display:flex;justify-content:space-between;align-items:center}.amount-card>span{font-size:12px;color:#858780}.amount-card strong{font-size:19px}.amount-card small{font-size:10px}.quiet-banner{display:flex;gap:9px;align-items:flex-start;background:#fff6dd;color:#765b20;padding:13px 14px;border-radius:14px;margin-bottom:14px;font-size:11px;line-height:1.9}.quiet-banner .ico{width:18px;height:18px;margin-top:2px}.quiet-warning{border:1px solid #fae2a9}.form-card{background:#fff;border-radius:20px;border:1px solid var(--line);padding:17px;margin-bottom:12px}.form-card h3{font-size:14px;margin:0 0 14px}.form-card .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-card label{display:block;font-size:11px;font-weight:700;margin:0 0 7px}.form-card input{display:block;width:100%;border:1px solid #e7e5df;background:#f9f9f7;border-radius:13px;padding:12px 11px;color:var(--ink);font-size:12px;min-height:46px}.form-card small{display:block;color:#999a94;margin-top:8px;font-size:10px}.form-card input[aria-invalid="true"]{border-color:#b33922;background:#fff4f1}.preview-tag{display:inline-block;border-radius:10px;background:#ffebb4;padding:5px 9px;font-size:10px;font-weight:800}.preview-fields{padding:0 18px 16px}.preview-field{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid #f0efea;font-size:11px;gap:10px}.preview-field span{color:#85877f}.preview-field strong{text-align:left}
/* Dialogs */
.modal-root{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}.modal-scrim{position:absolute;inset:0;background:#0e0f0dad;backdrop-filter:blur(4px)}.modal-sheet{position:relative;background:var(--canvas);width:min(100%,540px);max-height:min(89dvh,800px);border-radius:28px 28px 0 0;box-shadow:0 -20px 60px #0002;padding:8px 19px max(18px,env(safe-area-inset-bottom));overflow-y:auto;animation:sheetUp .26s ease both}.sheet-handle{width:40px;height:4px;border-radius:9px;background:#d7d7d1;margin:1px auto 16px}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.sheet-heading h3{font-size:20px;font-weight:900;margin:0}.icon-button{background:white;border:1px solid var(--line);height:38px;width:38px;display:grid;place-items:center;border-radius:50%}.icon-button .ico{width:17px;height:17px}.city-search{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;padding:3px 12px;border-radius:14px}.city-search .ico{width:18px;height:18px;color:#8b8b85}.city-search input{flex:1;min-width:0;border:0;outline:none!important;background:none;padding:13px 0;font-size:13px}.sheet-subtitle{font-size:11px;color:#858781;margin:18px 0 9px}.city-list{display:grid;gap:4px;max-height:55dvh;overflow-y:auto}.city-item{display:flex;align-items:center;gap:11px;text-align:right;background:#fff;border:1px solid #eeede7;border-radius:13px;padding:11px 12px;min-height:54px;color:var(--ink)}.city-item.selected{background:#fff8e9;border-color:#ffd47b}.city-item .ico{width:17px;height:17px}.city-text{flex:1}.city-text strong{font-size:13px;display:block}.city-text small{font-size:10px;color:#959790;display:block}.city-code{font:700 11px/1 Arial,sans-serif;direction:ltr;color:#979992}.sheet-note{font-size:10px;color:#93958c;line-height:2}.counter-row{display:flex;align-items:center;justify-content:space-between;background:white;border:1px solid #eeede7;border-radius:16px;padding:17px;margin:0 0 14px}.counter-row strong{display:block;font-size:14px}.counter-row small{font-size:11px;color:#858780}.counter-actions{display:flex;gap:11px;align-items:center}.counter-actions button{height:39px;width:39px;border:1px solid var(--line);border-radius:12px;background:#f7f7f4;font-size:22px;line-height:1}.counter-actions output{min-width:20px;text-align:center;font-weight:900}.sheet-submit{margin-top:15px}.choice-list{display:grid;gap:8px}.choice-button{border:1px solid var(--line);background:white;padding:16px;text-align:right;display:flex;align-items:center;justify-content:space-between;border-radius:14px;font-weight:800}.choice-button.active{border-color:#ffc654;background:#fff4d6}.choice-button .ico{width:18px;height:18px}.calendar-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px}.calendar-title strong{font-size:14px}.calendar-nav{display:flex;align-items:center;gap:6px}.calendar-nav button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:white;font-weight:900}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekday{text-align:center;font-size:10px;font-weight:700;color:#9b9c95;padding:7px 0}.calendar-day{border:0;background:white;border-radius:11px;min-height:41px;font-size:12px;font-weight:800;color:#292a26}.calendar-day:disabled{background:transparent;color:#c6c8bf}.calendar-day.active{background:var(--yellow)}.calendar-day.today{outline:1px solid #d6ac43}.calendar-day.empty{background:transparent}.filter-check{display:flex;justify-content:space-between;align-items:center;background:white;border-radius:13px;padding:14px 15px;margin:8px 0;font-size:12px;font-weight:700}.filter-check input{width:19px;height:19px;accent-color:#f6bc39}.filter-label{display:block;margin:19px 1px 7px;font-size:12px;font-weight:800}.filter-select{width:100%;border:1px solid var(--line);padding:12px;border-radius:13px;background:#fff}.filter-actions{display:flex;gap:9px;margin-top:18px}.filter-actions .primary-button{flex:1;font-size:13px;height:49px}.filter-actions .secondary-button{min-width:100px}
/* Source-inspired Uiverse radial dots; original SVG center replaced with Discovera mark. */
.loading-overlay{position:fixed;inset:0;z-index:90;background:#f6f5f2eb;backdrop-filter:blur(14px);display:grid;place-items:center}.loading-body{text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px;max-width:calc(100% - 32px)}.loading-body p{margin:28px 0 0;font-size:13px;font-weight:800}.loading-body>span{font:700 9px Arial,sans-serif;letter-spacing:3px;color:#aaaba4}.orbit-loader{width:158px;aspect-ratio:1;background:#e9e8e3;border-radius:50%;position:relative;padding:5px;box-shadow:2px 2px 8px #fff,-3px -3px 8px #ccc9bf44,inset 0 0 0 1px #e0ddd4}.orbit-spokes{position:absolute;inset:5px}.orbit-spoke{position:absolute;top:50%;left:0;transform-origin:right center;width:50%;height:5px;display:flex;align-items:center;justify-content:space-between}.orbit-dot{width:3px;height:3px;background:#a7a59f;border-radius:50%;animation:orbitBlink 5s linear infinite}.orbit-core{position:absolute;width:41%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#f8f7f2,#e0ded7);box-shadow:6px 6px 12px #aaa7a05e,-4px -4px 11px #ffffffb3;z-index:2;border-bottom:1px solid #cdc8ba}.loader-brand{width:39px;height:34px}.orbit-glass{position:absolute;inset:2px 22px 52%;border-radius:60% 60% 50% 50%;background:linear-gradient(180deg,#fff9,transparent);pointer-events:none;z-index:3;opacity:.5}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:99;max-width:min(90vw,450px);width:max-content;min-width:180px;background:#242522;color:#fff;padding:12px 18px;border-radius:14px;font-size:12px;text-align:center;box-shadow:0 10px 30px #0002;transition:transform .25s,opacity .25s}.toast.visible{opacity:1;transform:translate(-50%,0)}body.modal-open{overflow:hidden}
@keyframes orbitBlink{0%,12%{background:#ffcc4c;box-shadow:0 0 4px #ffcf51}24%,100%{background:#a7a59f;box-shadow:none}}@keyframes fadeUp{from{opacity:.55;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetUp{from{transform:translateY(20px);opacity:.4}to{transform:translateY(0);opacity:1}}
@media(min-width:700px){body{padding:35px 0}.app-frame{border-radius:29px;min-height:calc(100vh - 70px);border:1px solid #4b4d44}main{min-height:calc(100vh - 195px)}.modal-root{align-items:center}.modal-sheet{border-radius:28px;max-height:82dvh;padding-bottom:18px}}@media(max-width:370px){main{padding-right:14px;padding-left:14px}.topbar{padding-right:16px;padding-left:16px}.hero h1{font-size:29px}.mode-tab{font-size:12px;gap:3px}.date-chip{flex-basis:61px}.sort-pill{padding:9px 8px;font-size:10px}.filter-trigger{font-size:10px;padding:9px 7px}.ticket-timeline .time-point{min-width:62px}.time-point strong{font-size:19px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media print{body{background:white}.app-frame{max-width:100%;box-shadow:none;border:0}.ambient,.topbar,.page-heading,.bottom-action,.quiet-banner,.app-footer{display:none!important}#view-preview{display:block!important}main{min-height:auto}.detailed-ticket{max-width:490px;margin:20px auto;break-inside:avoid}#view-search,#view-results,#view-detail,#view-passenger{display:none!important}}
/* Keep sort/filter controls reachable on narrow phones. */
.sort-bar{overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain}
.sort-bar::-webkit-scrollbar{display:none}
.sort-bar>*{flex-shrink:0}

/* Source-backed details within the supplied design. */
.search-stack{grid-template-columns:minmax(0,1fr)}.search-stack>*,#returnDateArea,.date-scroller{min-width:0;max-width:100%}.brand-symbol,.loader-brand{object-fit:contain}.primary-button{text-decoration:none}.source-notice:empty,.source-links:empty{display:none}.source-notice{font-size:12px;line-height:1.9;padding:12px 14px;margin:10px 0;background:#fff7d9;border:1px solid #eadca9;border-radius:14px;overflow-wrap:anywhere}.source-links{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.source-links a{color:inherit;background:#eee9dd;border-radius:14px;padding:7px 10px;font-size:11px}.ticket-identity{display:flex;flex-direction:column;gap:5px;font-size:11px;line-height:1.8;margin:8px 0}.ticket-identity strong{font-weight:600;overflow-wrap:anywhere}.source-stamp{font-size:10px;line-height:1.8;color:#73716a;padding:0 16px 10px}.detail-row strong{max-width:65%;overflow-wrap:anywhere}.sort-pill:disabled{opacity:.45;cursor:not-allowed}.time-point strong{font-size:clamp(14px,4vw,24px)}.travel-line small{font-size:10px}.loading-body p{max-width:300px;line-height:1.9}.topbar-chip{text-decoration:none;color:inherit}
