:root{font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--tg-theme-bg-color,#f3f6f7);--surface:var(--tg-theme-secondary-bg-color,#fff);--text:var(--tg-theme-text-color,#182d35);--muted:var(--tg-theme-subtitle-text-color,#536870);--accent:var(--tg-theme-button-color,#096e72);--on-accent:var(--tg-theme-button-text-color,#fff);--line:color-mix(in srgb, var(--text) 15%, transparent);--danger:var(--tg-theme-destructive-text-color,#b52d3e);--radius:14px;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--bg:var(--tg-theme-bg-color,#172329);--surface:var(--tg-theme-secondary-bg-color,#22323b);--text:var(--tg-theme-text-color,#edf3f4);--muted:var(--tg-theme-subtitle-text-color,#b7c8ce);--accent:var(--tg-theme-button-color,#70c7c8);--on-accent:var(--tg-theme-button-text-color,#10292a);--danger:var(--tg-theme-destructive-text-color,#ffabb2)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:var(--tg-theme-bg-color,#172329);--surface:var(--tg-theme-secondary-bg-color,#22323b);--text:var(--tg-theme-text-color,#edf3f4);--muted:var(--tg-theme-subtitle-text-color,#b7c8ce);--accent:var(--tg-theme-button-color,#70c7c8);--on-accent:var(--tg-theme-button-text-color,#10292a);--danger:var(--tg-theme-destructive-text-color,#ffabb2)}}*{box-sizing:border-box}body{min-width:280px;margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}button,a{touch-action:manipulation}button{background:0 0;border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent);overflow-wrap:anywhere}svg{flex-shrink:0}h1,h2,p{margin:0}h1{letter-spacing:-.025em;text-wrap:balance;font-size:25px;font-weight:740;line-height:1.14}h2{letter-spacing:-.015em;font-size:19px;line-height:1.3}button{min-height:48px}p{line-height:1.55}main:focus{outline:none}.app{max-width:760px;padding-left:max(env(safe-area-inset-left,0px), var(--app-safe-left,0px));padding-right:max(env(safe-area-inset-right,0px), var(--app-safe-right,0px));padding-top:max(env(safe-area-inset-top,0px), var(--app-safe-top,0px));margin:auto}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:64px;padding:0 22px;display:flex}.brand{align-items:center;gap:9px;padding:0;font-size:19px;font-weight:750;display:flex}.brand svg{color:var(--accent)}.top-actions{gap:8px;display:flex}.icon-button{border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.add-button{background:var(--surface);color:var(--accent)}main{padding:20px 22px calc(116px + max(env(safe-area-inset-bottom,0px), var(--app-safe-bottom,0px)));position:relative}.page-heading{margin-bottom:18px}.page-heading p{color:var(--muted);margin-top:10px;font-size:15px}.back-link{color:var(--muted);align-items:center;gap:2px;margin-top:-16px;margin-bottom:12px;padding:0;display:flex}.day-context{color:var(--muted);flex-wrap:wrap;gap:12px 20px;margin-bottom:16px;font-size:14px;display:flex}.day-context span{overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;display:flex}.day-events{margin-bottom:30px}.day-events h2{margin-bottom:14px}.day-events ol,.itinerary{margin:0;padding:0;list-style:none}.day-events li{border-bottom:1px solid var(--line)}.day-events li:first-child{border-top:1px solid var(--line)}.day-events button{text-align:left;align-items:center;gap:16px;width:100%;padding:17px 0;display:flex}.day-events time{font-variant-numeric:tabular-nums;min-width:40px;color:var(--muted);align-self:flex-start;padding-top:2px;font-size:14px}.day-events button>span{flex:1;min-width:0}.day-events strong{overflow-wrap:anywhere;font-size:15px;font-weight:620;line-height:1.4;display:block}.day-events small{color:var(--muted);margin-top:5px;font-size:13px;display:block}.panel{margin-top:24px}.rich-text{white-space:pre-wrap;overflow-wrap:anywhere;max-width:72ch;font-size:15px;line-height:1.6}.rich-text b:first-child{font-size:18px}.action-list{border-radius:var(--radius);background:var(--surface);margin-top:18px;overflow:hidden}.action-row{border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.action-row:last-child{border:0}.action-row>button{text-align:left;overflow-wrap:anywhere;flex:calc(50% - 1px);justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:14px 16px;font-size:14px;font-weight:570;line-height:1.35;display:flex}.action-row>button+button{border-left:1px solid var(--line)}.action svg,.muted-action{color:var(--muted)}.danger{color:var(--danger)}.primary{background:var(--accent);min-height:50px;color:var(--on-accent);border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px 18px;font-size:15px;font-weight:650;text-decoration:none;display:flex}.action-row .primary{border-radius:0}.secondary{border:1px solid var(--line);border-radius:12px;width:100%;margin-top:24px;font-weight:600}.text-button{color:var(--muted);margin:14px auto;display:block}.bottom-nav{z-index:10;background:var(--surface);border-top:1px solid var(--line);width:100%;max-width:760px;padding:8px max(12px, var(--app-safe-right,0px)) calc(8px + max(env(safe-area-inset-bottom,0px), var(--app-safe-bottom,0px))) max(12px, var(--app-safe-left,0px));grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:var(--muted);border-radius:10px;flex-direction:column;align-items:center;gap:5px;padding:7px 0;font-size:13px;font-weight:550;display:flex}.bottom-nav button[aria-current]{color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, transparent)}.route-intro{color:var(--muted);margin-bottom:22px;font-size:15px}.itinerary li{border-bottom:1px solid var(--line)}.itinerary li.selected{background:var(--surface);border-radius:var(--radius);border:0}.itinerary button{text-align:left;align-items:center;gap:16px;width:100%;padding:18px 10px;display:flex}.date-stamp{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:35px;display:flex}.date-stamp strong{font-variant-numeric:tabular-nums;font-size:27px;font-weight:550}.date-stamp>span{color:var(--muted);font-size:13px}.itinerary-copy{flex:1;min-width:0}.itinerary-copy>strong{font-size:15px;font-weight:620;line-height:1.4;display:block}.itinerary-copy>span{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.4;display:block}.itinerary-copy small{color:var(--accent);margin-top:8px;font-size:13px;display:block}.section-list{background:var(--surface);border-radius:var(--radius);padding:0 16px}.section-list button{text-align:left;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;width:100%;padding:17px 0;font-size:15px;display:flex}.section-list button:last-child{border:0}.section-list svg{color:var(--muted)}.native-form{background:var(--surface);border-radius:var(--radius);margin-top:26px;padding:20px}.form-progress{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:6px;margin-bottom:18px;font-size:13px;display:flex}.native-form label{margin-bottom:12px;font-size:16px;font-weight:600;line-height:1.5;display:block}.native-form input,.native-form textarea{border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;min-height:52px;color:var(--text);border-radius:10px;padding:12px;font-size:16px}.native-form input[type=file]{font-size:14px}.native-form .primary{width:100%;margin-top:18px}.field-hint{color:var(--muted);overflow-wrap:anywhere;margin-top:10px;font-size:13px}.download-button{background:var(--surface);text-align:left;width:100%;color:var(--accent);border-radius:12px;align-items:center;gap:12px;margin-top:14px;padding:16px;display:flex}.download-button span{overflow-wrap:anywhere;min-width:0}.empty{color:var(--muted);padding:24px 0}.connection,.error-banner{background:var(--surface);border-radius:12px;margin:16px 22px 0;padding:14px 16px;font-size:14px;line-height:1.5}.error-banner{color:var(--danger)}.error-banner button{text-align:left;padding:8px 0 0;font-weight:650;text-decoration:underline;display:block}.loading-line{background:var(--line);height:2px;position:absolute;top:0;left:22px;right:22px;overflow:hidden}.loading-line:after{content:"";background:var(--accent);width:45%;height:100%;animation:1.3s ease-in-out infinite loading;display:block}.skeleton{padding-top:20px}.skeleton p{color:var(--muted);margin-top:15px}.skeleton>div{background:var(--surface);border-radius:12px;height:74px;margin-top:20px}.gate{max-width:440px;margin:12vh auto 0;padding:24px}.gate p{color:var(--muted);margin:20px 0 28px}.brand-mark{color:var(--accent);margin-bottom:28px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.itinerary-copy,.page-heading{overflow-wrap:anywhere}@keyframes loading{0%{transform:translate(-110%)}to{transform:translate(330%)}}@media (hover:hover){button:not(:disabled):hover{filter:brightness(.93)}.action:not(:disabled):hover,.section-list button:not(:disabled):hover,.day-events button:not(:disabled):hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}}@media (width>=680px){.topbar{padding:0 40px}main{padding-left:40px;padding-right:40px}.day-events strong{font-size:16px}.action-row>button{font-size:15px}.bottom-nav button{font-size:13px}}@media (width<=350px){main{padding-left:16px;padding-right:16px}.action-row{flex-direction:column}.action-row>button+button{border-left:0;border-top:1px solid var(--line)}.topbar{padding:0 16px}.day-events button{gap:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation:none!important}.loading-line:after{width:100%}}.leave-dialog{border:1px solid var(--line);background:var(--surface);width:calc(100% - 40px);max-width:400px;color:var(--text);border-radius:16px;padding:24px}.leave-dialog::backdrop{background:#00000073}.leave-dialog p{color:var(--muted);margin:14px 0 22px;font-size:15px}.leave-dialog .primary{width:100%}.leave-dialog .secondary{margin-top:10px}select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;min-height:48px;padding:10px}select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.trip-search{margin-bottom:20px}.search-field{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:flex}.search-field input{width:100%;min-width:0;min-height:48px;color:var(--text);background:0 0;border:0;font-size:16px}.search-field:focus-within{outline:2px solid var(--accent)}.search-field input:focus-visible{outline:0}.search-results{border-bottom:1px solid var(--line);padding:12px 0}.search-results p{color:var(--muted);font-size:14px}.search-results button{text-align:left;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 0;display:flex}.search-results button>span{min-width:0}.search-results strong,.search-results small{overflow-wrap:anywhere;display:block}.search-results strong{font-size:15px;font-weight:600}.search-results small{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.4}.day-selector{grid-template-columns:48px 1fr 48px;gap:8px;margin-bottom:12px;display:grid}.day-selector button{border:1px solid var(--line);border-radius:10px}.phase-notice{color:var(--muted);margin-bottom:16px;font-size:14px}.next-stop{margin-bottom:16px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.section-heading h2{font-size:17px}.section-heading>span{color:var(--muted);font-size:13px}.next-stop-button{text-align:left;border-left:3px solid var(--accent);background:var(--surface);align-items:center;gap:14px;width:100%;padding:12px 10px 12px 14px;display:flex}.next-stop-button time{color:var(--accent);font-variant-numeric:tabular-nums;font-size:15px}.next-stop-button>span{flex:1;min-width:0}.next-stop-button strong{overflow-wrap:anywhere;font-size:16px;font-weight:650;line-height:1.35;display:block}.next-stop-button small{color:var(--muted);margin-top:5px;font-size:13px;display:block}.day-warning{border:1px solid var(--line);border-radius:10px;margin-top:16px;margin-bottom:16px;padding:12px 14px;font-size:14px;line-height:1.45}.day-warning p{margin-top:5px;line-height:1.45}.day-shortcuts{background:var(--line);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.day-shortcuts button{background:var(--surface);text-align:left;align-items:flex-start;gap:9px;padding:14px 12px;display:flex}.day-shortcuts button>span{min-width:0}.day-shortcuts svg{width:18px;height:18px;color:var(--accent);margin-top:2px}.day-shortcuts strong{font-size:14px;font-weight:650;line-height:1.4;display:block}.day-shortcuts small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:13px;line-height:1.4;display:block}.day-secondary{flex-wrap:wrap;gap:0 20px;margin:4px 0 24px;display:flex}.day-secondary button{color:var(--accent);align-items:center;gap:5px;padding:4px 0;font-size:14px;display:flex}.more-group{margin-bottom:26px}.more-group h2{margin-bottom:12px;font-size:17px}.ticket-library label{color:var(--muted);margin-bottom:8px;font-size:14px;display:block}.ticket-library select{width:100%;margin-bottom:18px}.ticket-library .section-list{margin-bottom:20px}.ticket-library .section-list button>span,.library-stays>span{flex:1;min-width:0}.ticket-library strong,.ticket-library small{overflow-wrap:anywhere;display:block}.ticket-library strong{font-size:15px;font-weight:600}.ticket-library small{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.4}.ticket-library>.primary{width:100%}.empty-library{padding:8px 0 24px}.empty-library p{color:var(--muted);margin-top:10px;font-size:15px}.library-stays{border-top:1px solid var(--line);text-align:left;align-items:center;gap:12px;width:100%;margin-top:26px;padding:18px 0;display:flex}.action-row button:focus-visible,.day-shortcuts button:focus-visible{outline-offset:-3px}
