:root{--paper: #ffffff;--ground: #edf1f4;--ground-2: #f5f8fa;--ink: #14202b;--ink-2: #2b3a47;--muted: #5c6b77;--faint: #93a1ab;--line: #dce3e8;--line-soft: #e9eef2;--red: #c8102e;--red-press: #a60d26;--sky: #0e7c7b;--sky-ink: #075c5b;--sky-tint: #e2f1f0;--sans: "Helvetica Neue", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--ease: cubic-bezier(.23, 1, .32, 1);--shadow: 0 1px 2px rgba(20, 32, 43, .04), 0 18px 40px rgba(20, 32, 43, .08);color:var(--ink);background:var(--ground);font-family:var(--sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--sky);outline-offset:2px}.app-shell{min-height:100vh;padding-bottom:64px;background:radial-gradient(120% 50% at 50% -8%,rgba(14,124,123,.06),transparent 60%),var(--ground)}.about-banner{position:relative;display:flex;justify-content:center;align-items:flex-start;gap:9px;padding:11px 48px;background:var(--sky-tint);border-bottom:1px solid rgba(14,124,123,.18);color:var(--ink-2);font-size:13.5px;line-height:1.45;text-align:center}.about-banner .about-ic{flex:0 0 auto;margin-top:2px;color:var(--sky-ink)}.about-banner p{margin:0;max-width:76ch}.about-banner strong{color:var(--ink);font-weight:700}.about-close{position:absolute;top:8px;right:12px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);transition:background .15s var(--ease),color .15s var(--ease)}.about-close:hover{background:#0e7c7b1f;color:var(--sky-ink)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(20px,calc((100% - 1060px)/2));border-bottom:1px solid var(--line-soft);background:#ffffffd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand .bird{display:inline-flex;flex:0 0 auto;color:var(--red)}.brand-text{display:flex;flex-direction:column;line-height:1.1;min-width:0}.brand-name{font-weight:800;font-size:16px;letter-spacing:-.01em}.brand-sub{margin-top:2px;font-family:var(--mono);font-size:11px;letter-spacing:.01em;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:12px}.live{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12.5px;color:var(--muted);white-space:nowrap}.live .pulse{width:7px;height:7px;border-radius:50%;background:var(--sky);animation:pulse 2.4s infinite}.language-switcher{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--line);border-radius:9px;background:var(--ground-2)}.language-option{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:34px;height:28px;padding:0 9px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-family:var(--mono);font-size:11.5px;font-weight:700;line-height:1;transition:background .15s var(--ease),color .15s var(--ease),transform .13s var(--ease)}.language-flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:14px;line-height:1}.language-code{line-height:1}.language-option.on{background:var(--ink);color:#fff}.language-option:active{transform:scale(.96)}.subbar{max-width:1060px;margin:18px auto 22px;padding:0 24px;color:var(--muted);font-size:15px;line-height:1.5}.seo-panel{max-width:1060px;margin:-6px auto 20px;padding:0 24px}.seo-panel-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:22px;padding:18px 0 20px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.seo-copy h1{margin:0 0 8px;max-width:16ch;font-size:32px;line-height:1.08;letter-spacing:0}.seo-copy p,.seo-faq p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}.seo-route-summary{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px;color:var(--ink-2);font-family:var(--mono);font-size:12px;line-height:1.45}.seo-route-pair{display:inline-flex;align-items:center;gap:5px;color:var(--ink);font-weight:700}.seo-route-pair svg{flex:0 0 auto;color:var(--red)}.seo-cta{margin-top:12px!important;color:var(--ink)!important;font-weight:700}.seo-faqs{display:grid;gap:12px}.seo-faq h2{margin:0 0 4px;color:var(--ink);font-size:14px;line-height:1.3;letter-spacing:0}.notice{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;border-radius:10px;font-size:13.5px;font-weight:600;line-height:1.4}.notice.error{border:1px solid #efb6aa;background:var(--red-tint);color:#9f2d1b}.notice svg{flex:0 0 auto;margin-top:1px}.page-notice{max-width:1060px;margin:0 auto 18px}.pane{display:grid;grid-template-columns:248px minmax(0,1fr);gap:18px;max-width:1060px;margin:0 auto;padding:0 24px;align-items:start}.routes-rail{display:flex;flex-direction:column;gap:4px;min-width:0;padding:16px 12px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}.rail-title{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:2px 8px 8px}.rail-toggle{display:none;align-items:center;gap:12px;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);text-align:left;transition:border-color .15s var(--ease)}.rail-toggle:active{transform:scale(.995)}.rt-text{display:flex;flex-direction:column;gap:2px;min-width:0}.rt-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.rt-current{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-weight:700;font-size:15px}.rt-current svg{flex:0 0 auto;color:var(--faint)}.rt-chev{flex:0 0 auto;margin-left:auto;color:var(--muted);transition:transform .2s var(--ease)}.rail-toggle[aria-expanded=true] .rt-chev{transform:rotate(180deg)}.rail-list{display:flex;flex-direction:column;gap:4px}.route-item{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);text-align:left;transition:background .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease);animation:route-enter .24s var(--ease) both;animation-delay:calc(var(--entry-index, 0) * 40ms)}.route-item .pair{display:flex;flex-direction:column;gap:2px;font-size:14px;font-weight:700;line-height:1.25}.route-item .pair .city{display:flex;align-items:flex-start;gap:5px}.route-item .pair .a{flex:0 0 auto;margin-top:3px;color:var(--faint)}.route-item .next{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.route-item.on{background:var(--ground-2);border-color:var(--line);box-shadow:0 4px 12px #14202b0d}.route-item.on .pair .a{color:var(--red)}.route-item:active{transform:scale(.99)}.route-item.skeleton{height:56px;border-radius:10px;background:linear-gradient(90deg,#eef2f5,#f8fafc,#eef2f5);background-size:220% 100%;animation:shimmer 1.2s infinite}.rail-empty{margin:4px 8px;color:var(--muted);font-size:13.5px}.pane-main{display:flex;flex-direction:column;gap:18px;min-width:0}.calendar-panel,.day-detail{border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}.calendar-panel{padding:18px 22px 22px}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.cal-head .mlabel{font-family:var(--mono);font-size:14px;letter-spacing:.02em;font-weight:600}.cal-head .mroute{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-weight:500}.navbtns{display:flex;gap:8px}.navbtns button,.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);transition:border-color .15s var(--ease),background .15s var(--ease),color .15s var(--ease),transform .13s var(--ease)}.icon-button:active,.navbtns button:active{transform:scale(.95)}.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.wd{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding-bottom:4px}.day{position:relative;aspect-ratio:1 / .82;min-width:0;min-height:44px;border:1px solid transparent;border-radius:10px;background:var(--ground-2);color:var(--ink-2);font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums;transition:transform .14s var(--ease),border-color .14s var(--ease),background .14s var(--ease),box-shadow .14s var(--ease)}.day.out{background:transparent;color:#c2ccd2}.day.avail{background:var(--sky-tint);color:var(--sky-ink);border-color:#0e7c7b38;font-weight:600}.day.avail:after{content:"";position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--sky)}.day.today{box-shadow:inset 0 0 0 1.5px #c8102e59}.day.sel{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 8px 20px #c8102e47}.day.sel:after{background:#fff}.day.skeleton{border-color:transparent;background:linear-gradient(90deg,#eef2f5,#f8fafc,#eef2f5);background-size:220% 100%;animation:shimmer 1.2s infinite}.day-detail{padding:18px 22px 22px}.dd-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.dd-date{font-family:var(--mono);font-size:14px;letter-spacing:.02em;color:var(--ink);font-weight:600}.passengers{display:flex;gap:18px;flex-wrap:wrap}.pax-stepper{display:flex;flex-direction:column;gap:5px}.pax-stepper>span{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);font-weight:700}.stepper{display:inline-flex;align-items:center;gap:4px}.stepper button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink-2);transition:border-color .15s var(--ease),background .15s var(--ease),transform .12s var(--ease)}.stepper button:active{transform:scale(.94)}.stepper strong{min-width:22px;text-align:center;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15px}.ticket-list{display:flex;flex-direction:column;gap:10px}.ticket{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:border-color .16s var(--ease),box-shadow .16s var(--ease);animation:enter-soft .24s var(--ease) both}.ticket:hover{border-color:#c8102e66;box-shadow:0 10px 26px #14202b12}.ticket .leg{display:flex;align-items:center;gap:16px;min-width:0}.ticket .time{font-family:var(--mono);font-size:22px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.ticket .arc{display:flex;flex-direction:column;gap:2px;min-width:0}.ticket .arc .cities{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;font-family:var(--mono);font-size:13px;letter-spacing:.02em;color:var(--ink-2)}.ticket .arc .cities svg{flex:0 0 auto;color:var(--faint)}.ticket .arc .sub{font-size:12px;color:var(--faint)}.ticket .price{margin-left:auto;text-align:right}.ticket .price .gel{font-family:var(--mono);font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}.ticket .price .usd{font-family:var(--mono);font-size:12px;color:var(--faint)}.book{display:inline-flex;align-items:center;gap:8px;border:0;white-space:nowrap;background:var(--red);color:#fff;font-weight:700;font-size:14px;padding:12px 18px;border-radius:10px;box-shadow:0 8px 18px #c8102e33;transition:background .15s var(--ease),transform .13s var(--ease)}.book:active{transform:scale(.97)}.book:disabled{background:#c8cfcb;box-shadow:none}.loading-row{display:flex;align-items:center;gap:10px;min-height:56px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--ground-2);color:var(--muted);font-size:13.5px;font-weight:600}.loading-row .spin{color:var(--sky)}.empty-state{display:flex;align-items:center;min-height:56px;padding:14px 16px;border:1px dashed var(--line);border-radius:12px;background:var(--ground-2);color:var(--muted);font-size:13.5px}.spin{animation:spin .9s linear infinite}@keyframes pulse{0%{box-shadow:0 0 #0e7c7b73}70%{box-shadow:0 0 0 7px #0e7c7b00}to{box-shadow:0 0 #0e7c7b00}}@keyframes enter-soft{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes route-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position-x:-220%}}@media(hover:hover)and (pointer:fine){.icon-button:hover,.language-option:hover,.navbtns button:hover,.stepper button:hover{background:var(--ground-2);color:var(--sky)}.icon-button:hover,.navbtns button:hover,.stepper button:hover{border-color:var(--sky)}.language-option.on:hover{background:var(--ink);color:#fff}.route-item:hover{background:var(--ground-2)}.day.avail:hover{transform:translateY(-2px);border-color:var(--sky)}.book:hover{background:var(--red-press)}}@media(max-width:860px){.seo-panel-inner,.pane{grid-template-columns:1fr}.routes-rail{padding:8px;gap:0}.rail-title{display:none}.rail-toggle{display:flex}.rail-list{display:none;margin-top:8px}.rail-list[data-open=true]{display:flex}.cal-head .mroute{display:none}.calendar-panel,.day-detail{padding:16px}.day{aspect-ratio:auto;min-height:46px}.stepper button{width:36px;height:36px}.passengers{gap:14px}}@media(max-width:560px){.seo-copy h1{max-width:none;font-size:26px}.topbar{flex-wrap:wrap;gap:10px}.brand-sub{display:none}.topbar-right{width:100%;min-width:0;margin-left:0;gap:8px}.live{flex:1 1 auto;min-width:0;line-height:1.25;white-space:normal}.language-switcher{flex:0 0 auto}.language-option{gap:4px;min-width:44px;padding:0 6px}.live .when{display:none}.ticket{flex-wrap:wrap}.ticket .price{text-align:left;margin-left:0}.book{flex:1 0 100%;justify-content:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
