@font-face{font-family:Thmanyah Sans;src:url(/fonts/thmanyahsans-Light.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/thmanyahsans-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/thmanyahsans-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/thmanyahsans-Bold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/thmanyahsans-Black.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:Thmanyah Display;src:url(/fonts/thmanyahserifdisplay-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Thmanyah Display;src:url(/fonts/thmanyahserifdisplay-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Thmanyah Display;src:url(/fonts/thmanyahserifdisplay-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Thmanyah Display;src:url(/fonts/thmanyahserifdisplay-Black.woff2) format("woff2");font-weight:900;font-display:swap}:root,[data-theme=day]{--ground:#e9ebe3;--ink:#10231d;--ink-65:rgba(16,35,29,0.65);--ink-45:rgba(16,35,29,0.62);--ink-30:rgba(16,35,29,0.3);--card:#fbfcf8;--rule:rgba(16,35,29,0.14);--rule-2:rgba(16,35,29,0.28);--accent:#b94f35;--accent-ink:#fffdf9;--accent-wash:rgba(185,79,53,0.09);--accent-glow:rgba(185,79,53,0.3);--hatch:#dcdfd4;--ok:#16785f;--warn:#9a7a1f;--bar:#10231d;--bar-ink:#e9ebe3;--bar-ink-50:rgba(233,235,227,0.5);--demo-ink:#d6a15c;--shadow:rgba(16,35,29,0.1);--strip-h:26px;color-scheme:light}[data-theme=night]{--ground:#0b181d;--ink:#efe7d8;--ink-65:rgba(239,231,216,0.65);--ink-45:rgba(239,231,216,0.62);--ink-30:rgba(239,231,216,0.3);--card:#12262e;--rule:rgba(239,231,216,0.14);--rule-2:rgba(239,231,216,0.28);--accent:#f2b441;--accent-ink:#0b181d;--accent-wash:rgba(242,180,65,0.12);--accent-glow:rgba(242,180,65,0.25);--hatch:#17313b;--ok:#4fb39a;--warn:#b9822b;--bar:#061115;--bar-ink:#efe7d8;--bar-ink-50:rgba(239,231,216,0.5);--demo-ink:#b9822b;--shadow:rgba(0,0,0,0.45);color-scheme:dark}[data-theme=sign]{--ground:#f2efe6;--ink:#16255f;--ink-65:rgba(22,37,95,0.65);--ink-45:rgba(22,37,95,0.62);--ink-30:rgba(22,37,95,0.3);--card:#ffffff;--rule:rgba(22,37,95,0.16);--rule-2:rgba(22,37,95,0.3);--accent:#2440ae;--accent-ink:#f2efe6;--accent-wash:rgba(36,64,174,0.09);--accent-glow:rgba(36,64,174,0.28);--hatch:#dde1ee;--ok:#2440ae;--warn:#c8322b;--bar:#16255f;--bar-ink:#f2efe6;--bar-ink-50:rgba(242,239,230,0.55);--demo-ink:#c8322b;--shadow:rgba(22,37,95,0.14);color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:Thmanyah Sans,system-ui,sans-serif;font-weight:300;font-size:15px;line-height:1.8;min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent;cursor:pointer}button:not(:disabled):active{transform:translateY(1px)}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px}.dock :focus-visible,.tabs :focus-visible{outline-color:var(--bar-ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.mono{font-family:IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.display{font-family:Thmanyah Display,Thmanyah Sans,serif}.shell[data-demo=false]{--strip-h:0px}.shell{max-width:460px;margin-inline:auto;min-height:100dvh;display:flex;flex-direction:column;background:var(--ground);position:relative;overflow-x:clip}@media (min-width:900px){body{background:color-mix(in srgb,var(--ground) 88%,var(--ink))}.shell{box-shadow:0 0 0 1px var(--rule-2),0 24px 60px var(--shadow);min-height:100dvh}}.demo-strip{position:-webkit-sticky;position:sticky;top:0;z-index:45;height:var(--strip-h);display:grid;place-items:center;background:var(--bar);color:var(--demo-ink);font-size:9.5px;line-height:1;letter-spacing:.7px;text-align:center;padding:0 10px}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px 10px;border-bottom:1px solid var(--rule-2);background:var(--ground);position:-webkit-sticky;position:sticky;top:var(--strip-h);z-index:40}.header-brand{font-size:26px;line-height:1.1;font-weight:700;color:inherit;text-decoration:none}.header-meta{font-size:10px;letter-spacing:.7px;color:var(--ink-45);text-align:end;line-height:1.5}.avatar{width:38px;height:38px;border:1px solid var(--ink-30);border-radius:50%;background:var(--card);font-size:15px;display:grid;place-items:center}.title-bar{display:flex;align-items:center;gap:2px;padding:8px 12px 9px;border-bottom:1px solid var(--rule-2);background:var(--ground);position:-webkit-sticky;position:sticky;top:var(--strip-h);z-index:40}.title-bar h1{font-size:16px;font-weight:600;-webkit-padding-start:6px;padding-inline-start:6px}.icon-btn{width:44px;height:44px;background:none;border:0;font-size:19px;color:var(--ink-65);display:grid;place-items:center}.screen{flex:1 1;min-height:0;animation:fade .25s ease-out;padding-bottom:24px}.tabs{position:-webkit-sticky;position:sticky;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--bar);color:var(--bar-ink)}.tab{position:relative;background:none;border:0;padding:11px 4px 10px;font-size:11px;font-weight:600;color:var(--bar-ink-50);min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none}.tab[data-current=true]{color:var(--bar-ink)}.tab[data-current=true]:before{content:"";position:absolute;inset-block-start:0;inset-inline:0;margin-inline:auto;width:22px;height:3px;border-radius:0 0 99px 99px;background:var(--demo-ink)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);box-shadow:0 5px 14px var(--accent-glow),inset 0 1px 0 rgba(255,255,255,.18);font-size:15px;font-weight:600;text-decoration:none}.btn:disabled{background:var(--hatch);color:var(--ink-45);box-shadow:none;cursor:not-allowed}.btn-ghost{border:1.5px solid var(--ink);border-radius:999px;font-weight:600}.btn-ghost,.btn-quiet{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;background:none;font-size:13.5px;color:inherit;text-decoration:none}.btn-quiet{border:1px solid var(--ink-30);border-radius:999px;font-weight:500}.btn-warn{border:1.5px solid var(--warn);color:var(--warn)}.field-label{display:block;font-size:9.5px;letter-spacing:1.2px;color:var(--ink-45);margin-bottom:5px}.field{width:100%;height:48px;border:1px solid var(--ink-30);border-radius:13px;background:var(--card);padding:0 12px;font-size:15px}textarea.field{height:auto;padding:10px 12px;resize:none;line-height:1.7}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none}.ledger-top{border-top:2px solid var(--ink);display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:stretch}.ledger-cell{padding:11px 0 12px;background:none;border:0;text-align:start;color:inherit;min-width:0}.ledger-cell input{min-width:0;max-width:100%}.ledger-cell .k{display:block;font-size:9.5px;letter-spacing:1.2px;color:var(--ink-45)}.ledger-cell .v{display:block;font-size:16px;font-weight:500}.ledger-swap{display:grid;place-items:center;color:var(--ink-30);font-size:16px}.ledger-bottom{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule-2);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ledger-divide{-webkit-border-start:1px solid var(--rule);border-inline-start:1px solid var(--rule);-webkit-padding-start:14px;padding-inline-start:14px}.stepper{display:flex;align-items:center;gap:11px}.stepper button{width:26px;height:26px;border:1px solid var(--ink-30);border-radius:50%;background:var(--card);font-size:14px;line-height:1;display:grid;place-items:center}.chips{display:flex;gap:7px;overflow-x:auto;padding:14px 16px 6px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;border:1px solid var(--ink-30);border-radius:999px;background:none;padding:8px 16px 9px;font-size:12.5px;font-weight:500;white-space:nowrap;min-height:36px;color:inherit;text-decoration:none;display:inline-flex;align-items:center}.chip[aria-pressed=true]{background:var(--ink);color:var(--ground);border-color:var(--ink)}.next-card{margin:16px 16px 0;border:1px solid var(--ink-30);border-radius:13px;background:var(--card);padding:14px 16px 15px;position:relative;overflow:hidden}.next-card:before{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:4px;background:var(--accent)}.sheet{border-top:2px solid var(--ink)}.trip{border-bottom:1px solid var(--rule)}.trip[data-open=true]{background:var(--accent-wash)}.trip-row{width:100%;background:none;border:0;text-align:start;padding:13px 16px 14px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;grid-column-gap:12px;column-gap:12px;align-items:center;color:inherit;animation:rise .45s cubic-bezier(.2,.7,.2,1) backwards}.trip-time{font-size:21px;letter-spacing:-.6px;line-height:1.2}.trip-duration{font-size:10px;letter-spacing:.6px;color:var(--ink-45)}.trip-route{font-size:21px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-operator,.trip-route .arrow{color:var(--ink-45)}.trip-operator{font-size:11.5px;line-height:1.55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-fare{font-size:13px;font-weight:500}.trip-seats{font-size:10.5px;margin-top:2px;color:var(--ink-65)}.trip-seats[data-low=true]{color:var(--accent);font-weight:600}.seat-panel{padding:0 16px 20px;animation:fade .22s ease-out}.coach{border:1px solid var(--ink-30);border-radius:16px;background:var(--card);padding:12px 12px 14px}.coach-head{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:var(--ink-45);border-bottom:1px dashed var(--rule-2);padding-bottom:9px;margin-bottom:11px}.coach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) 16px repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.seat{height:40px;border:1px solid var(--ink-30);border-radius:9px 9px 13px 13px;background:none;font-size:11.5px;transition:background .15s,transform .15s,border-color .15s}.seat:hover:not(:disabled){background:var(--accent-wash);border-color:var(--accent);transform:translateY(-2px)}.seat[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);box-shadow:0 3px 8px var(--accent-glow);font-weight:500}.seat:disabled{border:1px dashed var(--rule-2);color:var(--ink-45);cursor:not-allowed;background:repeating-linear-gradient(135deg,var(--hatch) 0 4px,transparent 4px 8px)}.legend{display:flex;gap:15px;flex-wrap:wrap;margin-top:13px;font-size:11px;color:var(--ink-45)}.legend b{display:inline-block;width:11px;height:11px;border:1px solid var(--rule-2);border-radius:2px;vertical-align:-1px;-webkit-margin-end:5px;margin-inline-end:5px}.legend .taken{background:repeating-linear-gradient(135deg,var(--hatch) 0 3px,transparent 3px 6px)}.legend .mine{background:var(--accent);border-color:var(--accent)}.pay-note{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:11.5px;color:var(--ink-65);line-height:1.65}.pay-note span:first-child{width:6px;height:6px;background:var(--accent);border-radius:50%;flex:none}.dock{position:-webkit-sticky;position:sticky;bottom:56px;z-index:45;background:var(--bar);color:var(--bar-ink);padding:11px 14px 12px;display:flex;align-items:center;gap:12px;animation:dock .26s cubic-bezier(.2,.8,.3,1)}.dock-route{font-size:18px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-meta{font-size:11px;letter-spacing:.5px;color:var(--bar-ink-50)}.dock .btn{width:auto;flex:none;height:46px;padding:0 22px;font-size:14px}.ticket{background:var(--card);border:1px solid var(--rule-2);position:relative;box-shadow:0 14px 34px var(--shadow)}.ticket:before{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:4px;background:var(--accent)}.ticket-body{padding:20px 20px 16px}.ticket-route{font-size:31px;line-height:1.4;margin-top:16px}.ticket-grid{border-top:1px solid var(--rule);margin-top:16px;padding-top:13px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-row-gap:13px;row-gap:13px}.ticket-k{display:block;font-size:8.5px;letter-spacing:1.1px;color:var(--ink-45)}.ticket-v{font-size:16px;font-weight:500}.perf{height:20px;position:relative;background:radial-gradient(circle at 0 50%,var(--ground) 9px,transparent 9px) 0 /50% 100% no-repeat,radial-gradient(circle at 100% 50%,var(--ground) 9px,transparent 9px) 100% /50% 100% no-repeat}.perf:after{content:"";position:absolute;inset-inline:14px;top:50%;border-top:1px dashed var(--rule-2)}.ticket-foot{padding:4px 20px 22px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.seat-big{font-size:37px;font-weight:500;letter-spacing:-1px;line-height:1.05}.stamp{width:86px;height:86px;border:2.5px solid var(--ok);border-radius:50%;color:var(--ok);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:stamp .38s cubic-bezier(.2,.8,.3,1.3) forwards;position:relative;flex:none;transform:rotate(-13deg)}.stamp:before{content:"";position:absolute;inset:6px;border:1px solid var(--ok);border-radius:50%}.note-row{display:flex;gap:11px;border-bottom:1px solid var(--rule);padding:12px 0}.note-row .ico{flex:none;color:var(--accent);margin-top:2px}.row-link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;border:0;border-bottom:1px solid var(--rule);padding:16px;text-align:start;min-height:58px;color:inherit;text-decoration:none}.section-top{border-top:2px solid var(--ink)}.muted{color:var(--ink-45)}.small{font-size:11.5px;line-height:1.7}.pad{padding-inline:16px}.switch{flex:none;width:54px;height:32px;border:1px solid var(--ink);border-radius:999px;background:none;position:relative;padding:0}.switch[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}.switch span{position:absolute;inset-block:3px;inset-inline-start:3px;width:24px;border-radius:50%;background:var(--ink);transition:inset-inline-start .18s}.switch[aria-pressed=true] span{inset-inline-start:25px;background:var(--accent-ink)}.meter{height:6px;border-radius:99px;background:var(--hatch);margin-top:10px;overflow:hidden}.meter span{display:block;height:100%;border-radius:99px;background:var(--accent)}.toast[data-visible=false]{opacity:0;pointer-events:none;visibility:hidden}.toast{position:fixed;inset-inline:14px;bottom:100px;margin-inline:auto;max-width:432px;background:var(--bar);color:var(--bar-ink);padding:12px 15px;font-size:12.5px;line-height:1.65;box-shadow:0 10px 26px var(--shadow);animation:toast .26s ease-out;z-index:80}.otp-cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:20px}.otp-cell{height:60px;border:1px solid var(--ink-30);border-radius:13px;background:var(--card);display:grid;place-items:center;font-size:26px;font-weight:500}.otp-cell[data-filled=true]{-webkit-border-after:2px solid var(--accent);border-block-end:2px solid var(--accent)}.keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;border-top:2px solid var(--ink);padding-top:14px}.keypad button{height:52px;border:0;border-radius:14px;background:var(--card);box-shadow:0 1.5px 0 var(--rule-2);font-size:20px}@keyframes rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes dock{0%{transform:translateY(100%)}to{transform:none}}@keyframes toast{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes stamp{0%{opacity:0;transform:rotate(-13deg) scale(.7)}to{opacity:.9;transform:rotate(-13deg) scale(1)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:380px){.trip-row{grid-template-columns:48px minmax(0,1fr) auto;column-gap:8px}.ticket-route{font-size:26px}}