@import"https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700&display=swap";.color-line{position:fixed;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#ffeaa7);z-index:9999}:root{--background-color: #ffffff;--text-color: #000000;--primary-color: #b0b0b0;--table-header-bg: #f2f2f2;--table-row-hover-bg: #e0e0e0;--dropdown-bg: white;--dropdown-border: #ccc;--dropdown-hover-bg: #f0f0f0;--passing-color: #aaa;--clickable-color: #06c;--icon-filter: invert(0%);--service-background: #f9f9f9;--service-border: #ddd;--platform-color: #333;--service-hover-bg: #f0f0f0;--ghosted-color: #cccccc;--dark-primary-color: #3a3a3a;--dark-text-color: #ffffff;--header-background-color-light: #b0b0b0;--header-background-color-dark: #3a3a3a;--hover-light: #d3d3d3;--hover-dark: #444444;--bg-primary: #ffffff;--bg-secondary: #f9f9f9;--text-primary: #000000;--text-secondary: #666666;--bg-hover: #f0f0f0}[data-theme=dark]{--background-color: #0b0d10;--text-color: #e7ecf3;--primary-color: #161a20;--table-header-bg: #1f1f1f;--table-row-hover-bg: #333333;--dropdown-bg: #1f1f1f;--dropdown-border: #333333;--dropdown-hover-bg: #333333;--passing-color: #888;--clickable-color: #bb86fc;--icon-filter: invert(100%);--service-background: #1f1f1f;--service-border: #444;--platform-color: #e0e0e0;--service-hover-bg: #333333;--ghosted-color: #666666;--bg-primary: #0b0d10;--bg-secondary: #1f1f1f;--text-primary: #e7ecf3;--text-secondary: #aaaaaa;--bg-hover: #333333}body{font-family:Jost,sans-serif;margin:30px;background-color:var(--background-color);color:var(--text-color)}h1,h2{font-weight:600}h2,h3{margin-top:20px}.search-container{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.search-container>div{flex:1 1 150px;display:flex;flex-direction:column;position:relative}.search-container label{font-size:1em;font-weight:700;margin-bottom:5px}.search-container input,.search-container select{width:100%;padding:12px 20px;font-size:16px;border:2px solid #3b82f6;border-radius:25px;box-sizing:border-box;background-color:var(--background-color);color:var(--text-color);transition:all .3s ease}.search-container input:focus,.search-container select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #3b82f61a}.search-container input:hover,.search-container select:hover{border-color:#60a5fa}[data-theme=dark] .search-container input,[data-theme=dark] .search-container select{border-color:#60a5fa;background-color:var(--background-color)}[data-theme=dark] .search-container input:focus,[data-theme=dark] .search-container select:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #60a5fa33}[data-theme=dark] .search-container input:hover,[data-theme=dark] .search-container select:hover{border-color:#93c5fd}.search-container button{flex:1 1 100%;padding:12px 20px;margin-top:10px;font-size:16px;border:none;background-color:#3b82f6;color:#fff;cursor:pointer;transition:all .3s ease;border-radius:25px}.search-container button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.global-logo-bar{margin:10px 0 14px;display:flex;align-items:center;justify-content:flex-start}.search-container .ghost-button{background:transparent;color:var(--text-color)}.search-button{background-color:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.search-button:hover{background-color:#0056b3}.ghost-button{background:transparent;color:var(--text-color);border:1px solid var(--dropdown-border);padding:10px 12px;transition:border-color .2s ease,transform .2s ease}.ghost-button:hover{border-color:#007bff;transform:translateY(-1px)}[data-theme=dark] .ghost-button:hover{border-color:#4a9eff}.ghost-button.subtle{opacity:.8}.advanced-search-trigger{flex:1 1 150px;display:flex;align-items:flex-end}.advanced-filters-button{width:100%;padding:12px 20px;font-size:16px;border:2px solid #3b82f6;border-radius:25px;background:var(--background-color)!important;color:var(--text-color);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;box-sizing:border-box}.advanced-filters-button:hover{border-color:#60a5fa}.advanced-filters-button:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #3b82f61a}[data-theme=dark] .advanced-filters-button{border-color:#60a5fa}[data-theme=dark] .advanced-filters-button:hover{border-color:#93c5fd}[data-theme=dark] .advanced-filters-button:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #60a5fa33}.advanced-icon{width:18px;height:18px;flex-shrink:0}.filter-badge{position:absolute;top:-6px;right:-6px;background:#42be65;color:#000;border-radius:10px;padding:3px 7px;font-size:11px;font-weight:700;min-width:18px;text-align:center;box-shadow:0 2px 6px #00000026;border:1.5px solid rgba(255,255,255,.2)}@media (max-width: 720px){.advanced-search-trigger{flex:1 1 100%}}.dropdown{position:absolute;top:calc(100% + 6px);left:0;width:100%;background:var(--dropdown-bg);border:1px solid var(--dropdown-border);z-index:3000;box-shadow:0 4px 8px #0000001a;max-height:200px;overflow-y:auto}.dropdown div{padding:8px;cursor:pointer}.dropdown div:hover{background-color:var(--dropdown-hover-bg)}.ai-suggestions-container{position:absolute;top:calc(100% + 6px);left:0;width:100%;background:linear-gradient(135deg,var(--dropdown-bg) 0%,rgba(16,185,129,.05) 100%);border:1px solid #10b981;border-radius:8px;z-index:3001;box-shadow:0 6px 16px #10b98126;overflow:hidden;margin-top:4px}.ai-suggestions-header{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#10b9811a;border-bottom:1px solid rgba(16,185,129,.2);font-size:12px;font-weight:600;color:#10b981;text-transform:uppercase;letter-spacing:.5px}.ai-interpretation{padding:10px 12px;font-size:13px;color:var(--text-color);opacity:.85;font-style:italic;background:#10b98108;border-bottom:1px solid rgba(16,185,129,.1)}.ai-quick-action-button{display:flex;align-items:center;gap:8px;width:calc(100% - 24px);margin:8px 12px;padding:12px 16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10b9814d}.ai-quick-action-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166;background:linear-gradient(135deg,#059669,#047857)}.ai-quick-action-button:active{transform:translateY(0)}.ai-suggestions-list{max-height:180px;overflow-y:auto}.ai-suggestion-item{padding:10px 12px;cursor:pointer;transition:background .15s ease;color:var(--text-color);border-left:3px solid transparent}.ai-suggestion-item:hover{background:#10b9811a;border-left-color:#10b981}.ai-enhancing-indicator{position:absolute;top:calc(100% + 6px);left:0;width:100%;padding:12px;background:var(--dropdown-bg);border:1px solid #10b981;border-radius:8px;z-index:3000;box-shadow:0 4px 12px #10b9811a;display:flex;align-items:center;gap:10px;font-size:13px;color:#10b981}.ai-spinner{width:16px;height:16px;border:2px solid rgba(16,185,129,.2);border-top-color:#10b981;border-radius:50%;animation:spin .8s linear infinite}.search-panel-divider{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;margin:8px 0 10px;color:var(--text-color)}.search-panel-divider:before,.search-panel-divider:after{content:"";flex:1;height:2px;background:var(--dropdown-border);opacity:.8}.search-panel-divider .chevrons{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;transition:transform .25s ease;opacity:.8}.search-panel-divider .chevrons svg{display:block}.search-panel-divider.open .chevrons{transform:rotate(180deg)}.search-panel-collapse{position:relative;z-index:50;overflow:hidden;max-height:0;opacity:0;transform:translateY(-4px);transition:max-height .35s cubic-bezier(.2,.6,.2,1),opacity .25s ease,transform .35s cubic-bezier(.2,.6,.2,1)}.search-panel-collapse.open{max-height:1600px;opacity:1;transform:translateY(0);overflow:visible}.search-panel-collapse .search-container{margin:12px 0 16px}.advanced-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:4000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.advanced-search-card{background:var(--bg-primary, var(--background-color));color:var(--text-color);padding:24px;border-radius:16px;width:min(680px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000040;border:1px solid rgba(255,255,255,.05);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.advanced-search-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06)}.advanced-header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.advanced-search-kicker{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ghosted-color);opacity:.7}.advanced-search-subtitle{margin:6px 0 0;font-size:13px;color:var(--ghosted-color);opacity:.8;line-height:1.5}.advanced-search-card h3{margin:6px 0 0;font-size:22px;font-weight:600}.advanced-search-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 0 20px}.advanced-search-grid>div{display:flex;flex-direction:column;gap:8px}.advanced-search-card label{font-size:14px;font-weight:600;color:var(--text-color);opacity:.9}.advanced-search-card input,.advanced-search-card select{width:100%;padding:12px 20px;font-size:16px;border:2px solid #3b82f6;border-radius:25px;box-sizing:border-box;background-color:var(--background-color);color:var(--text-color);transition:all .3s ease}.advanced-search-card input:focus,.advanced-search-card select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #3b82f61a}.advanced-search-card input:hover,.advanced-search-card select:hover{border-color:#60a5fa}[data-theme=dark] .advanced-search-card input,[data-theme=dark] .advanced-search-card select{border-color:#60a5fa;background-color:var(--background-color)}[data-theme=dark] .advanced-search-card input:focus,[data-theme=dark] .advanced-search-card select:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #60a5fa33}[data-theme=dark] .advanced-search-card input:hover,[data-theme=dark] .advanced-search-card select:hover{border-color:#93c5fd}.advanced-checkbox{display:flex;align-items:flex-start;padding:12px;background:#ffffff05;border-radius:8px;border:1px solid rgba(255,255,255,.06);transition:all .2s ease}.advanced-checkbox:hover{background:#ffffff0a;border-color:#ffffff1a}.advanced-checkbox label{display:flex;align-items:center;gap:10px;font-weight:400;font-size:14px;cursor:pointer;width:100%}.advanced-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--clickable-color)}.advanced-search-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.advanced-left-actions,.advanced-right-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.span-2{grid-column:span 2}.span-full{grid-column:1 / -1}@media (max-width: 720px){.span-2{grid-column:span 1}}.advanced-search-card .ghost-button{background:#ffffff08;color:var(--text-color);border:1px solid rgba(255,255,255,.08);padding:10px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease}.advanced-search-card .ghost-button:hover{background:#ffffff0f;border-color:#ffffff26}.advanced-search-card .ghost-button.subtle{opacity:.9}.advanced-search-card .search-button{min-width:120px;padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #007bff40}.advanced-search-card .search-button:hover{background:#0056b3;box-shadow:0 4px 12px #007bff59;transform:translateY(-1px)}.advanced-search-card .search-button:active{transform:translateY(0)}.advanced-active-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#24a14826;color:#42be65;border:1px solid rgba(36,161,72,.3);border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.advanced-active-pill.inline{padding:6px 11px}.clear-inline.placeholder{visibility:hidden;pointer-events:none}.ghost-button.slim{padding:10px 12px;font-size:14px;border-radius:4px}.icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;border-radius:8px;line-height:1;background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:var(--text-color);cursor:pointer;transition:all .2s ease}.icon-button:hover{background:#ff4d561a;border-color:#ff4d564d;color:#fa4d56}.icon-button:active{transform:scale(.95)}.service{display:flex;justify-content:space-between;align-items:center;background-color:var(--service-background);border:1px solid var(--service-border);padding:10px;margin-bottom:10px;transition:background-color .3s,transform .5s ease-out,opacity .5s ease-out}.service.ghosted{color:var(--ghosted-color)}.service.slide-out{transform:translate(-100%);opacity:0}.service .time{flex:0 0 60px;font-size:18px;font-weight:700;position:relative}.service .pass{font-size:10px;font-style:italic;position:absolute;top:20px;left:0;width:60px;text-align:center;color:var(--passing-color)}.service .headcode{font-size:12px;color:var(--passing-color)}.service .destination{flex-grow:1;padding:0 10px;font-size:18px}.service .details{font-size:14px;color:var(--passing-color)}.service .platform{flex:0 0 50px;text-align:right;font-size:18px;font-weight:700;color:var(--platform-color)}.service .platform-label{font-size:12px;color:var(--passing_color)}.theme-toggle{display:flex;gap:4px;align-items:center}.theme-toggle button{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;opacity:.4}.theme-toggle button:hover{opacity:.7;background:#ffffff1a}.theme-toggle button.active{opacity:1;background:#ffffff26}.theme-toggle button img{width:20px;height:20px;filter:var(--icon-filter);transition:all .2s ease}.theme-toggle-fab{position:fixed;top:16px;right:16px;z-index:2000;background:var(--service-background);border:1px solid var(--service-border);border-radius:12px;padding:4px;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:themeFabEnter .28s ease-out}.theme-toggle-fab:hover{transform:translateY(-2px);transition:transform .18s ease;box-shadow:0 6px 16px #0003}@keyframes themeFabEnter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.theme-toggle-fab{top:auto;bottom:max(16px,env(safe-area-inset-bottom) + 16px);right:16px}}.dlc-toggle{top:20px;right:20px;background:none;border:none;cursor:pointer;font-size:24px}.back-button{margin-top:20px;cursor:pointer;color:var(--primary-color);text-decoration:underline}.service-details{margin-top:20px}.service-details-header{display:flex;justify-content:space-between;align-items:center;background-color:var(--primary-color);color:var(--background-color);padding:20px;border-radius:10px 10px 0 0}.service-details-header h3{margin:0;font-size:24px;color:var(--text-color)}.service-details-header img{width:200px;height:auto}.service-details-body{background-color:var(--service-background);border:1px solid var(--service-border);padding:20px;border-radius:0 0 10px 10px}.service-details-table th,.service-details-table td{border:1px solid var(--service-border);padding:10px;text-align:left}.service-details-table th{background-color:var(--table-header-bg)}.service-details-table .ghosted td{color:var(--ghosted-color)}.train-info{display:flex;align-items:center;margin-bottom:20px}.train-info img{width:100px;height:auto;margin-right:20px}.train-info div{font-size:18px;font-weight:700}.detailed-header{background-color:var(--primary_color);padding:20px;border-radius:10px 10px 0 0;display:flex;justify-content:space-between;align-items:center;color:var(--background-color)}.detailed-header .header-left{display:flex;flex-direction:column}.detailed-header .header-left .headcode,.detailed-header .header-left .coaches{color:var(--text-color)}.detailed-header .header-left .headcode{font-size:32px;font-weight:700}.detailed-header .header-left .coaches{font-size:18px}.detailed-header .header-right img{width:200px;height:auto}.train-coaches{display:flex;justify-content:center;align-items:center;overflow-x:auto;padding:10px;background-color:var(--primary-color);color:var(--text-color);border-bottom:1px solid var(--service-border);border-radius:0 0 10px 10px}[data-theme=dark] .train-coaches{background-color:#1a1a1a}.train-coach{text-align:center;display:flex;flex-direction:column;align-items:center;min-width:0;flex-shrink:0}.train-coach>div{white-space:nowrap;font-size:.85em;margin-top:4px}.train-coach img.train-image{width:100%;height:auto;max-height:150px;display:block}.train-coaches-freight{padding:0;margin:0}.train-coaches-start{justify-content:flex-start}.train-coaches-hst .train-coach{margin-right:0}.dlc-menu{position:absolute;right:20px;background-color:var(--dropdown-bg);border:1px solid var(--dropdown-border);z-index:1000;padding:10px;border-radius:5px}.dlc-menu label{display:flex;align-items:center;margin-bottom:10px;color:var(--text-color)}.dlc-menu input[type=checkbox]{margin-right:10px}.to-text,.from-text,.currently-displaying{font-size:.8em;font-weight:400}.destination-text{font-size:1em;font-weight:700}.time-navigation{display:flex;justify-content:center;align-items:center;gap:16px;margin:24px 0;padding:14px 16px;background:var(--service-background);border:1px solid var(--service-border);border-radius:12px;box-shadow:0 6px 18px #00000014}.time-nav-button{display:flex;align-items:center;gap:6px;padding:10px 16px;background-color:#007bff;color:#fff;border:1px solid transparent;border-radius:9999px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s ease}.time-nav-button:hover{background-color:#0066d6;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.time-nav-button:active{transform:translateY(0)}.time-nav-button:focus{outline:none;box-shadow:0 0 0 3px #007bff59}.time-nav-current{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--text-color);font-size:14px;padding:8px 12px;border-radius:9999px;border:1px solid rgba(0,123,255,.35);background:var(--service-background);white-space:nowrap;font-variant-numeric:tabular-nums}@media (max-width: 600px){.time-navigation{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.time-nav-button{width:100%;justify-content:center;padding:12px 16px}.time-nav-current{grid-column:1 / -1;justify-content:center;text-align:center}}.disclaimer{text-align:center;padding:10px 0;font-size:14px;color:inherit}@media (max-width: 768px){.service-details-header img,.train-info img,.detailed-header .header-right img{width:100px}.service-details-header h3,.detailed-header .header-left .headcode{font-size:18px}.theme-toggle img,.dlc-toggle img{width:20px;height:20px}.train-coaches{display:none}.service-details-table{display:block;overflow-x:auto}.search-container{flex-direction:column;align-items:stretch}.search-container>div,.search-container button{width:100%}}@media (max-width: 480px){body{margin:10px}.service-details-header h3,.detailed-header .header-left .headcode{font-size:16px}.service-details-header img,.train-info img,.detailed-header .header-right img{width:80px}.search-container input,.search-container select,.search-container button{padding:8px;font-size:14px}}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:var(--service-background)}*::-webkit-scrollbar-thumb{background-color:var(--primary-color);border-radius:6px;border:2px solid var(--service-background)}*::-webkit-scrollbar-thumb:hover{background:var(--dark-primary-color)}*::-webkit-scrollbar-corner{background:var(--background-color)}@media (max-width: 600px){.theme-toggle-fab .theme-toggle{position:static;bottom:auto;left:auto;right:auto;background:transparent;padding:0;z-index:auto}.dlc-toggle{top:10px;right:10px}}header,.app-header{z-index:1100}.main-content,.header-title{z-index:1060;position:relative}.header-container{position:relative}.currently-displaying{text-align:center;margin-top:20px}.hidden{display:none}.footer{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background-color:var(--background-color);border-top:1px solid var(--service-border);flex-wrap:wrap}.footer-left{display:flex;flex-direction:column;align-items:center;gap:5px}.footer-nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.footer-nav a{display:none;color:var(--text-color);text-decoration:none;transition:color .3s}.footer-nav a.home,.footer-nav a.supported-routes,.footer-nav a.duty-sheet,.footer-nav a.copyright-information,.footer-nav a.faq,.footer-nav a.privacy-policy,.footer-nav a.terms-of-service{display:inline}.footer-nav a:hover{color:#007bff}.footer-right{display:flex;justify-content:center;width:100%;margin-top:10px}@media (max-width: 768px){.footer{flex-direction:column;align-items:center}.footer-nav{justify-content:center;width:100%}.footer-right{justify-content:center}.timetable-status{margin-top:10px}}.system-status{display:flex;align-items:center;font-size:16px;margin-top:10px;color:var(--text-color)}.status-dot{width:10px;height:10px;border-radius:50%;margin-right:5px}.timetable-status{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:5px;transition:background-color .3s,color .3s,border-color .3s;border:1px solid transparent}.dot{width:10px;height:10px;border-radius:50%}.status-text{color:var(--text-color)}.timetable-status.up-to-date:hover,.timetable-status.out-of-date:hover{background-color:var(--hover-light);border-color:var(--hover-light);color:var(--text-color)}[data-theme=dark] .timetable-status.up-to-date:hover,[data-theme=dark] .timetable-status.out-of-date:hover{background-color:var(--hover-dark);border-color:var(--hover-dark);color:var(--text-color)}.service-status{display:flex;flex-direction:column;border:1px solid var(--dropdown-border);border-radius:5px;background-color:var(--service-background);transition:background-color .3s ease,border-color .3s ease}.service-status.expanded{background-color:var(--service-hover-bg)}.service-header{display:flex;justify-content:space-between;align-items:center;padding:10px;cursor:pointer}.group-parent-indicator:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900;color:var(--text-color)}.group-parent-indicator.expanded:before{content:""}.sub-services{padding:0 10px 10px}.sub-service-status{display:flex;justify-content:space-between;align-items:center;padding:5px 0}.status-indicator{padding:5px 10px;border-radius:3px;display:flex;align-items:center}.tool{margin-left:5px}.tool.icon-indicator{font-family:"Font Awesome 5 Free";font-weight:900}.timetable-status{text-decoration:none}.timetable-status{text-decoration:none;padding:5px 10px;border-radius:5px;transition:background-color .3s,color .3s}.timetable-status.up-to-date:hover,.timetable-status.out-of-date:hover{background-color:var(--dropdown-hover-bg);cursor:pointer}.theme-icon{filter:var(--icon-filter)}:root{--icon-filter: invert(0%)}[data-theme=dark]{--icon-filter: invert(100%)}.status-icon{width:20px;height:20px;display:inline-block;vertical-align:middle}.icon-container{display:inline-flex;align-items:center;justify-content:center;margin-left:5px}.service-status{margin-bottom:15px}.service-header{display:flex;justify-content:space-between;cursor:pointer}.group-parent-indicator{margin-right:10px}.sub-services{margin-left:20px}.sub-service-status{margin-bottom:10px}.status-page h1{margin-bottom:20px}.status-container{margin:0 auto;max-width:800px}[data-theme=dark] .status-icon.light{display:none}[data-theme=dark] .status-icon.dark,[data-theme=light] .status-icon.light{display:inline-block}[data-theme=light] .status-icon.dark{display:none}.status-page{padding:20px}.status-container{display:flex;flex-direction:column;gap:10px}.service-status{border:1px solid var(--dropdown-border);padding:10px;border-radius:5px}.service-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.group-parent-indicator{margin-right:5px}.group-parent-indicator.expanded:before{content:"-"}.group-parent-indicator:before{content:"+"}.tool.icon-indicator.fa-check{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgZmlsbD0iIzQyQkU2NSIvPgogIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNNiAxMmw0IDQgOC04Ii8+Cjwvc3ZnPgo=);background-size:cover;width:24px;height:24px}.tool.icon-indicator.fa-times{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgZmlsbD0iI0ZBNEREIj8+PC9jaXJjbGU+CiAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik02IDZsMTIgMTJtMC0xMkw2IDE4Ii8+Cjwvc3ZnPgo=);background-size:cover;width:24px;height:24px}.sub-service-status{padding:5px 0}.timetable-status.up-to-date .status-text{color:#42be65}.timetable-status.out-of-date .status-text{color:#fa4d56}.fa-check{color:#42be65}.fa-times{color:#fa4d56}.status-indicator.up-to-date{color:#42be65}.status-indicator.out-of-date{color:#fa4d56}.dot.green{background-color:#42be65}.dot.red{background-color:#fa4d56}[data-theme=light] .dlc-text{--text-color: #000}[data-theme=dark] .dlc-text{--text-color: #fff}.input-wrapper{position:relative;display:inline-block}:root{--glow-color: rgba(90, 90, 90, .35)}[data-theme=dark]{--glow-color: rgba(220, 225, 230, .4)}.cursor-glow{position:relative;border:2px solid transparent;background:linear-gradient(var(--background-color),var(--background-color)) padding-box,radial-gradient(140px circle at var(--glowX, -1000px) var(--glowY, -1000px),var(--glow-color),transparent 60%) border-box;background-clip:padding-box,border-box;transition:box-shadow .16s ease,background 60ms linear}.cursor-glow:hover,.cursor-glow:focus{outline:none;box-shadow:none}@media (prefers-reduced-motion: reduce){.cursor-glow{transition:none}}input.cursor-glow,.faq-input.cursor-glow{border:2px solid transparent!important;background:linear-gradient(var(--background-color),var(--background-color)) padding-box,radial-gradient(140px circle at var(--glowX, -1000px) var(--glowY, -1000px),var(--glow-color),transparent 60%) border-box!important;background-clip:padding-box,border-box!important}.faq-input.cursor-glow{background:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='7' stroke='%239aa4b2' stroke-width='2'/%3E%3Cpath d='M20 20L17 17' stroke='%239aa4b2' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 10px center,linear-gradient(var(--panel-bg),var(--panel-bg)) padding-box,radial-gradient(140px circle at var(--glowX, -1000px) var(--glowY, -1000px),var(--glow-color),transparent 60%) border-box!important;background-clip:initial,padding-box,border-box!important}.faq-input.cursor-glow:focus{border-color:transparent!important;box-shadow:none!important}.clear-button{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer;font-size:16px;color:#ccc}.previous-service,.follow-up-service{border-left:none;border-right:none}.previous-service{border-top:none}.follow-up-service{border-bottom:none}.service-forms{font-size:.9em;color:#007bff;display:block}.service-forms strong{font-weight:700}.clickable{cursor:pointer;text-decoration:underline;color:#007bff}.clickable-service{cursor:pointer;transition:background-color .3s ease}.clickable-service:hover{background-color:#007bff1a}.clickable-station{cursor:pointer;transition:color .2s ease}.clickable-station:hover{color:#007bff}[data-theme=dark] .clickable-station:hover{color:#4a9eff}.linked-service{font-size:.9em;margin-top:5px;padding:2px 5px;border-radius:3px}.linked-service.previous{color:#6c757d}.linked-service.follow-up{color:#28a745}.service-forms{display:inline-block;padding:2px 5px;border-radius:3px}.service-details-table{width:100%;border-collapse:collapse}.service-details-table th,.service-details-table td{border:none;border-bottom:1px solid var(--border-color);padding:8px;text-align:left}.service-details-table th{font-weight:700;background-color:var(--secondary-color)}.service-details-table tr:nth-child(2n){background-color:#00000005}[data-theme=dark] .service-details-table tr:nth-child(2n){background-color:#ffffff05}@media (max-width: 768px){.search-container>div{flex-basis:calc(50% - 5px)}}@media (max-width: 480px){.search-container>div{flex-basis:100%}}.footer{background-color:var(--background-color);border-top:1px solid var(--service-border);margin-top:60px}.footer-container{max-width:1200px;margin:0 auto;padding:40px 20px 20px}.footer.full-width .footer-container{max-width:100%;padding:40px 40px 20px}.footer-content{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:40px;padding-bottom:30px;border-bottom:1px solid var(--service-border)}.footer-section{display:flex;flex-direction:column;gap:12px}.footer-section h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-color);opacity:.5;margin:0 0 4px}.footer-section a{font-size:14px;color:var(--text-color);text-decoration:none;opacity:.7;transition:all .2s ease;width:fit-content}.footer-section a:hover{opacity:1;color:#007bff}.footer-info{gap:16px}.footer-status{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#ffffff05;border:1px solid var(--service-border);border-radius:20px;text-decoration:none;font-size:13px;font-weight:500;color:var(--text-color);transition:all .2s ease;width:fit-content}.footer-status:hover{background:#ffffff0a;border-color:#007bff4d}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-green{background:#42be65;box-shadow:0 0 0 2px #42be6533}.dot-red{background:#fa4d56;box-shadow:0 0 0 2px #fa4d5633}.footer-description{font-size:13px;line-height:1.6;color:var(--text-color);opacity:.5;margin:0;max-width:220px}.footer-discord{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#5865f214;border-radius:6px;text-decoration:none;font-size:14px;color:var(--text-color);opacity:.7;transition:all .2s ease;width:fit-content}.footer-discord:hover{background:#5865f226;opacity:1}.discord-logo{width:18px;height:18px;filter:var(--icon-filter)}.footer-meta{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 0 10px;font-size:12px;color:var(--text-color);opacity:.5;flex-wrap:wrap}.footer-divider{opacity:.3}.footer-version{font-family:Courier New,monospace;font-weight:600;text-decoration:none;color:var(--text-color);opacity:.6;transition:opacity .2s ease}.footer-version:hover{opacity:1}.footer-vercel{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--text-color);transition:opacity .2s ease}.footer-vercel:hover{opacity:1}.footer-vercel img{height:14px;filter:var(--icon-filter);margin-top:-1px}@media (max-width: 968px){.footer-content{grid-template-columns:repeat(3,1fr);gap:30px}.footer-info{grid-column:1 / -1}}@media (max-width: 640px){.footer-container{padding:30px 20px 20px}.footer-content{grid-template-columns:repeat(2,1fr);gap:24px;padding-bottom:24px}.footer-info{grid-column:1 / -1}.footer-meta{flex-direction:column;gap:8px;padding:16px 0 8px}.footer-divider{display:none}}.copyright-page a{color:var(--clickable-color);text-decoration:none}.copyright-page a:hover{color:var(--clickable-color);text-decoration:underline}.copyright-page{padding:20px;max-width:800px;margin:0 auto;color:var(--text-color)}.copyright-page h1{font-size:2em;margin-bottom:20px;color:var(--text-color)}.copyright-page p{font-size:1em;line-height:1.5;margin-bottom:15px;color:var(--text-color)}.copyright-page a{color:var(--text-color);text-decoration:none;transition:color .3s ease}.copyright-page a:hover{color:#007bff;text-decoration:underline}.chatgpt-logo{width:100px;height:auto;display:inline-block;filter:var(--icon-filter)}.formation-name{font-weight:400;color:var(--text-color);font-size:.9em}.formation-support{display:flex;align-items:center;font-weight:400;font-size:.9em}.status-dot{width:12px;height:12px;border-radius:50%;margin-right:8px}.status-indicator.green,.status-indicator.green .status-dot{color:#24a148}.status-indicator.yellow,.status-indicator.yellow .status-dot{color:#f1c21b}.status-indicator.red,.status-indicator.red .status-dot{color:#da1e28}.supported-route-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background-color:var(--table-header-bg);cursor:pointer;font-weight:700;font-size:1.2em;color:var(--text-color)}.supported-formations{padding:15px 20px;background-color:var(--background-color)}.status-indicator{display:flex;align-items:center}.status-indicator.green{color:#24a148}.status-indicator.yellow{color:#f1c21b}.status-indicator.red{color:#da1e28}.supported-routes-page{text-align:center;margin:0 auto;max-width:800px}.supported-routes-page h1{font-size:2.5em;margin-bottom:10px}.supported-routes-page .description{font-size:1.1em;margin-bottom:20px;color:var(--text-color)}.formation-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.formation-name{font-weight:400;color:var(--text-color);font-size:.9em;flex-grow:1;text-align:left}.formation-support{display:flex;align-items:center;font-weight:400;font-size:.9em;text-align:left}.status-indicator{display:flex;align-items:center;justify-content:flex-start;width:150px}.status-dot{width:12px;height:12px;border-radius:50%;margin-right:8px;background-color:currentColor}.toggle-section{margin-bottom:10px}.toggle-label{display:flex;align-items:center}.toggle-label input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:20px;background-color:#ccc;border-radius:20px;position:relative;outline:none;cursor:pointer;transition:background-color .2s}.toggle-label input[type=checkbox]:checked{background-color:#4caf50}.toggle-label input[type=checkbox]:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background-color:#fff;top:1px;left:1px;transition:transform .2s}.toggle-label input[type=checkbox]:checked:before{transform:translate(20px)}.toggle-label span{margin-left:10px}.toggle-label{display:flex;align-items:center;cursor:pointer;font-size:16px;-webkit-user-select:none;user-select:none;margin-bottom:10px}.toggle-label input{display:none}.toggle-label .slider{position:relative;width:50px;height:24px;background-color:#ccc;border-radius:34px;margin-right:10px;transition:background-color .3s}.toggle-label .slider:before{content:"";position:absolute;height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:transform .3s}.toggle-label input:checked+.slider{background-color:#4caf50}.toggle-label input:checked+.slider:before{transform:translate(26px)}.build-link{color:inherit;text-decoration:none;transition:color .2s ease-in-out}.build-link:hover{color:#007bff}.update-log-page{padding:20px}.update-log-page h1{font-size:2em;margin-bottom:20px;text-align:center}.update-log-sections{max-width:800px;margin:0 auto;padding:10px;background-color:#1c1c1e;border-radius:8px;box-shadow:0 4px 10px #0000001a}.update-log-section{margin-bottom:15px}.update-log-header{display:flex;justify-content:space-between;padding:10px 15px;cursor:pointer;background-color:#2c2c2e;border-radius:6px;color:#fff;font-weight:700;font-size:1.2em;transition:background-color .3s}.update-log-header:hover{background-color:#3a3a3c}.update-details{padding:10px 20px;background-color:#1c1c1e;border-radius:6px;margin-top:5px;color:#f0f0f0}.update-details ul{list-style-type:disc;padding-left:20px;margin-top:10px}.update-details li{margin-bottom:5px}.toggle-container{display:flex;justify-content:flex-end;align-items:center;gap:10px}.dlc-menu{position:absolute;top:130px;right:20px;background-color:var(--dropdown-bg);border:1px solid var(--dropdown-border);z-index:1000;padding:10px;border-radius:5px}@media (min-width: 768px){.dlc-menu{top:150px}}.service{display:flex;justify-content:space-between;align-items:center;background-color:var(--service-background);border:1px solid var(--service-border);border-left-width:4px;padding:10px;margin-bottom:10px;transition:background-color .3s,transform .5s ease-out,opacity .5s ease-out;border-radius:8px}.service:hover{background-color:var(--service-hover-bg);cursor:pointer}.scroll-top-button{position:fixed;bottom:30px;right:30px;width:40px;height:40px;border-radius:50%;background-color:#007bff;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;z-index:9999;opacity:1;visibility:visible}.scroll-top-button:hover{background-color:#0056b3}@media (max-width: 600px){.scroll-top-button{bottom:max(80px,env(safe-area-inset-bottom) + 80px);right:16px}}.interactive-mode .service.ghosted{color:var(--ghosted-color);opacity:.7}.interactive-mode .service .platform-info{display:flex;justify-content:flex-end;align-items:center;gap:4px}.interactive-mode .service .platform-number{font-weight:700}.interactive-mode .service.ghosted .platform-label,.interactive-mode .service.ghosted .headcode,.interactive-mode .service.ghosted .details{color:var(--ghosted-color)}.interactive-mode .service{display:flex;justify-content:space-between;align-items:center;background-color:var(--service-background);border:1px solid var(--service-border);padding:10px;margin-bottom:10px;transition:background-color .3s;border-radius:8px}.interactive-mode .service .time{flex:0 0 60px;font-size:18px;font-weight:700;position:relative}.interactive-mode .service .pass{font-size:10px;position:absolute;top:20px;left:0;width:60px;text-align:center;color:var(--passing-color)}.interactive-mode .service .headcode{font-size:12px;color:var(--passing-color)}.interactive-mode .service .destination{flex-grow:1;padding:0 10px;font-size:18px}.interactive-mode .service .details{font-size:14px;color:var(--passing-color)}.interactive-mode .service .platform{flex:0 0 80px;text-align:right;font-size:18px;font-weight:700;color:var(--platform-color)}.interactive-mode .service .platform-label{font-size:12px;color:var(--passing-color)}.interactive-mode .service .status{font-size:12px;color:var(--passing-color);margin-bottom:5px;text-align:right}.control-bar{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding:10px 0}.station-selector select,.month-filter select,.time-control input{padding:10px;font-size:16px;border:1px solid var(--dropdown-border);border-radius:4px;background-color:var(--background-color);color:var(--text-color)}.station-selector select,.month-filter select{width:200px}.time-control{display:flex;align-items:center;gap:15px}.game-clock{background-color:var(--service-background);padding:8px 15px;border-radius:4px;font-family:monospace;font-size:24px;font-weight:700;color:var(--text-color);min-width:120px;text-align:center}.interactive-mode .service.departing-soon{background-color:#fff3cd}.interactive-mode .service.departed{opacity:.7;transition:opacity .5s ease}.interactive-mode .service.passing{color:var(--ghosted-color);opacity:.7}.interactive-mode .service{transition:all .3s ease}.interactive-mode .service.ghosted{opacity:.7;color:var(--ghosted-color)}.interactive-mode .service.approaching{background-color:var(--dropdown-hover-bg);border-left-color:var(--service-border);color:var(--text-color)}.interactive-mode .service.arrived{background-color:var(--service-background);border-left-color:var(--service-border);color:var(--text-color)}.interactive-mode .service.approaching .details,.interactive-mode .service.arrived .details,.interactive-mode .service.approaching .platform-label,.interactive-mode .service.arrived .platform-label,.interactive-mode .service.approaching .headcode,.interactive-mode .service.arrived .headcode{color:var(--passing-color)}.announcements-toggle{display:flex;align-items:center;margin-left:15px}.announcements-toggle label{display:flex;align-items:center;gap:8px;cursor:pointer}.announcements-toggle input[type=checkbox]{width:16px;height:16px}.warning-banner{background-color:#ba1b1b;color:#fff;padding:12px 16px;display:flex;align-items:center;gap:12px;font-size:16px;line-height:1.5;margin-bottom:20px}.warning-banner svg{flex-shrink:0}.warning-banner span{flex:1}.detailed-header .route{font-size:14px;color:var(--text-color);margin-top:4px}.service .details:last-child{margin-top:2px}.ai-icon{width:14px;height:14px;vertical-align:middle;margin-right:4px;filter:invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0%) contrast(100%)}[data-theme=dark] .ai-icon{filter:invert(57%) sepia(93%) saturate(1899%) hue-rotate(193deg) brightness(103%) contrast(101%)}.detailed-header .ai-icon{width:20px;height:20px;margin-right:8px}.ai-icon-container{position:relative;display:inline-flex;align-items:center;cursor:help;margin-left:8px}.ai-icon-container .ai-icon{width:18px;height:18px;transition:transform .2s ease;margin-right:0}.ai-icon-container:hover .ai-icon{transform:scale(1.1)}.ai-icon-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background:var(--enhanced-surface, var(--service-background));color:var(--enhanced-text, var(--text-color));border:1px solid var(--enhanced-border, var(--service-border));padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;box-shadow:0 4px 12px #00000026;z-index:1000}.ai-icon-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--enhanced-border, var(--service-border))}.ai-icon-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--enhanced-surface, var(--service-background));z-index:1}.ai-icon-container:hover .ai-icon-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(-4px)}[data-theme=dark] .ai-icon-tooltip{box-shadow:0 4px 12px #0006}.dlc-menu select{width:100%;padding:8px 12px;font-size:14px;font-family:inherit;border:1px solid var(--dropdown-border);border-radius:6px;background-color:var(--dropdown-bg);color:var(--text-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .2s,background-color .2s;margin-top:5px}.dlc-menu select:hover{border-color:#007bff}.dlc-menu select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.stop-note-inline{font-size:.8rem;opacity:.6;font-style:italic;margin-top:2px;color:var(--note-color)}:root{--note-color: #444}[data-theme=dark]{--note-color: #ccc}.faq-wrap{max-width:900px;margin:0 auto;padding:24px 16px 56px;color:inherit}.faq-title{text-align:center;font-size:clamp(26px,4.5vw,40px);margin:4px 0 18px}.faq-wrap{--panel-bg: rgba(255,255,255,.04);--panel-bg-2: rgba(255,255,255,.06);--border: rgba(255,255,255,.1);--muted: #a6adbb;--accent: #60a5fa}@media (prefers-color-scheme: light){.faq-wrap{--panel-bg: #f6f7f9;--panel-bg-2: #eef1f5;--border: #e5e7eb;--muted: #64748b;--accent: #2563eb}}.faq-searchbar{position:relative;margin:8px 0 20px}.faq-input{width:100%;padding:10px 40px 10px 36px;background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;color:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease;background-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='7' stroke='%239aa4b2' stroke-width='2'/%3E%3Cpath d='M20 20L17 17' stroke='%239aa4b2' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:10px center}.faq-input::placeholder{color:var(--muted)}.faq-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #60a5fa40}.faq-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:1px solid var(--border);background:var(--panel-bg);color:var(--muted);border-radius:6px;cursor:pointer}.faq-clear:hover{color:inherit;border-color:var(--accent)}.faq-section{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;margin:12px 0}.faq-section-head{width:100%;padding:12px 14px;border:0;background:transparent;color:inherit;display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:700;cursor:pointer}.faq-section-head:hover{background:var(--panel-bg-2)}.faq-toggle{opacity:.75}.faq-items{padding:8px 10px 12px;display:grid;gap:8px}.faq-item{border:1px solid var(--border);border-radius:6px;background:transparent;overflow:hidden}.faq-q{width:100%;text-align:left;padding:10px 12px;border:0;background:transparent;color:inherit;display:flex;justify-content:space-between;align-items:center;font-weight:600;cursor:pointer}.faq-q:hover{background:var(--panel-bg-2)}.faq-q.open{border-bottom:1px solid var(--border)}.faq-a{padding:0 12px;color:inherit;line-height:1.55;max-height:0;opacity:0;overflow:hidden;transition:max-height .2s ease,opacity .2s ease,padding .2s ease}.faq-a.open{padding:10px 12px 12px;max-height:600px;opacity:1}.faq-results{display:grid;gap:10px}.faq-result-meta{color:var(--muted);font-size:13px;margin-bottom:4px}.faq-result{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.faq-result-sec{color:var(--muted);font-size:12px;margin-bottom:4px}.faq-result-q{font-weight:700;margin-bottom:4px}.faq-result-a{line-height:1.6}mark{background:#fde047;color:#111827;padding:0 .18em;border-radius:.2em}.faq-footer{margin-top:18px;color:var(--muted);display:flex;align-items:center;gap:8px}.faq-searchbar{position:relative;max-width:100%}.faq-input{box-sizing:border-box;padding-right:46px}.faq-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:0!important;background:transparent!important;color:var(--muted);cursor:pointer}.faq-clear:hover{color:var(--accent)}.faq-searchbar{overflow:visible}.enhanced-service-view{--enhanced-bg: #0b0d10;--enhanced-surface: #121418;--enhanced-surface-2: #161a20;--enhanced-text: #e7ecf3;--enhanced-muted: #a7b3c2;--enhanced-border: #232833;--enhanced-accent: #50b0ff;--enhanced-accent-2: #7ad3ff;--enhanced-shadow: 0 8px 24px rgba(0,0,0,.35);background:var(--enhanced-bg);color:var(--enhanced-text);border-radius:16px;overflow:hidden;margin-bottom:20px}[data-theme=light] .enhanced-service-view{--enhanced-bg: #f6f7fb;--enhanced-surface: #ffffff;--enhanced-surface-2: #f1f3f7;--enhanced-text: #121418;--enhanced-muted: #5a6677;--enhanced-border: #e5e9f0;--enhanced-accent: #1479ff;--enhanced-accent-2: #70adff;--enhanced-shadow: 0 8px 24px rgba(10,30,60,.08)}[data-theme=light]{--background-color: #f6f7fb;--service-background: #ffffff;--surface: #ffffff;--surface-2: #f1f3f7}.enhanced-hero{background:var(--enhanced-surface);border:1px solid var(--enhanced-border);border-radius:16px;box-shadow:var(--enhanced-shadow);padding:20px;margin-bottom:16px}.enhanced-hero-line{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.enhanced-hero-left{display:flex;align-items:center;gap:14px}.enhanced-headcode{background:var(--enhanced-surface-2);border:1px solid var(--enhanced-border);padding:8px 14px;border-radius:999px;font-weight:700;letter-spacing:.4px;font-size:18px;color:var(--enhanced-text)}.enhanced-route{display:flex;align-items:center;gap:10px;font-size:20px;color:var(--enhanced-text)}.enhanced-route .arrow-icon{width:22px;height:22px;color:var(--enhanced-muted)}.enhanced-hero-right{display:flex;align-items:center}.enhanced-op-logo{height:60px;display:block}.enhanced-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.enhanced-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid var(--enhanced-border);background:var(--enhanced-surface-2);color:var(--enhanced-text);font-size:13px;font-weight:600}.enhanced-chip.accent{border-color:color-mix(in srgb,var(--enhanced-accent) 50%,var(--enhanced-border));background:color-mix(in srgb,var(--enhanced-accent) 14%,var(--enhanced-surface-2))}.enhanced-chip.muted{color:var(--enhanced-muted)}.enhanced-actions{display:flex;gap:8px}.enhanced-btn{display:inline-flex;align-items:center;gap:8px;background:var(--enhanced-accent);color:#fff;border:0;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:600;transition:background-color .2s;text-decoration:none}.enhanced-btn:hover{background:var(--enhanced-accent-2)}.enhanced-btn.ghost{background:transparent;color:var(--enhanced-text);border:1px solid var(--enhanced-border)}.enhanced-btn.ghost:hover{background:var(--enhanced-surface-2)}.enhanced-btn-icon{width:18px;height:18px}.enhanced-formation{background:var(--enhanced-surface);border:1px solid var(--enhanced-border);border-radius:16px;box-shadow:var(--enhanced-shadow);padding:12px;margin-bottom:16px;position:sticky;top:8px;z-index:5}.enhanced-formation-toolbar{display:flex;align-items:center;gap:8px;padding:6px 6px 10px}.zoom-percentage{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.enhanced-formation-label{font-weight:700;color:var(--enhanced-muted)}.enhanced-formation-grow{flex:1}.enhanced-zoom-input{width:160px;accent-color:var(--enhanced-accent)}.enhanced-timetable{background:var(--enhanced-surface);border:1px solid var(--enhanced-border);border-radius:16px;box-shadow:var(--enhanced-shadow);overflow:hidden;margin-bottom:16px}.enhanced-table-head,.enhanced-table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;align-items:center}.enhanced-table-head{padding:12px;border-bottom:1px solid var(--enhanced-border);color:var(--enhanced-muted);font-weight:700;background:var(--enhanced-surface-2)}.enhanced-table-body .enhanced-table-row{padding:12px;border-bottom:1px solid var(--enhanced-border);background:transparent}.enhanced-table-body .enhanced-table-row:nth-child(2n){background:color-mix(in srgb,var(--enhanced-surface) 80%,var(--enhanced-surface-2))}.enhanced-table-row.major{background:color-mix(in srgb,var(--enhanced-surface) 65%,var(--enhanced-surface-2))}.enhanced-table-row.pass{color:var(--enhanced-muted);opacity:.8}.enhanced-table-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--enhanced-text)}.enhanced-table-center{text-align:center}.enhanced-platform-pill{display:inline-block;font-weight:700;padding:4px 8px;border-radius:999px;border:1px solid var(--enhanced-border);background:var(--enhanced-surface-2);color:var(--enhanced-text)}.enhanced-pass-pill{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.3px;padding:3px 8px;border-radius:999px;background:var(--enhanced-surface-2);border:1px solid var(--enhanced-border);color:var(--enhanced-muted)}.enhanced-back-button{display:inline-flex;align-items:center;gap:8px;color:var(--enhanced-accent);text-decoration:none;font-weight:600;margin-bottom:16px;padding:8px 0;border:none;background:none;cursor:pointer;transition:color .2s}.enhanced-back-button:hover{color:var(--enhanced-accent-2)}.enhanced-back-icon{width:16px;height:16px;stroke:currentColor}@media print{.enhanced-service-view{--enhanced-bg: #ffffff !important;--enhanced-surface: #ffffff !important;--enhanced-surface-2: #f8f9fa !important;--enhanced-text: #000000 !important;--enhanced-muted: #6c757d !important;--enhanced-border: #cfd6e0 !important;--enhanced-accent: #0b57d0 !important;--enhanced-shadow: none !important}.enhanced-actions,.enhanced-formation-toolbar{display:none!important}.enhanced-formation{position:static!important;top:auto!important}.enhanced-formation-container{overflow:visible!important;padding:0!important}.enhanced-formation-content{transform:none!important}.enhanced-hero,.enhanced-formation,.enhanced-timetable{box-shadow:none!important;border:1px solid #cfcfcf!important;page-break-inside:avoid}}@media (max-width: 768px){.enhanced-hero-line{flex-direction:column;align-items:flex-start}.enhanced-meta{flex-direction:column;align-items:stretch}.enhanced-actions{order:-1;align-self:flex-end}.enhanced-formation{position:static}.enhanced-formation-container{padding:8px;-webkit-overflow-scrolling:touch;max-width:100%;box-sizing:border-box}.enhanced-formation-toolbar{flex-wrap:wrap;gap:6px}.enhanced-zoom-input{width:120px}.enhanced-formation-content{min-height:80px;width:max-content}.enhanced-formation-content img{max-height:80px}.zoom-percentage{min-width:40px;font-size:12px}.enhanced-formation-container::-webkit-scrollbar{height:6px}.enhanced-formation-container::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--enhanced-text) 25%,transparent)}}.enhanced-hero{margin-bottom:12px}.enhanced-hero-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.enhanced-hero-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.enhanced-headcode{display:inline-block;background:var(--service-background);border:1px solid var(--service-border);padding:5px 10px;border-radius:999px;font-weight:700;letter-spacing:.3px;font-variant-numeric:tabular-nums;font-size:13px;line-height:1.1}.enhanced-route{display:inline-flex;align-items:center;gap:10px;font-size:18px}.enhanced-chips{display:flex;gap:8px;flex-wrap:wrap}.enhanced-chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid var(--service-border);background:var(--service-background);font-size:12px;font-weight:600}.enhanced-chip.muted{color:var(--passing-color)}.enhanced-op-logo{height:auto;width:228px;display:block}.enhanced-table-right{text-align:right}.enhanced-time{display:inline-flex;align-items:center;justify-content:flex-end;min-width:4.8ch;font-variant-numeric:tabular-nums;line-height:1.2}.enhanced-time.is-pass{justify-content:center;border:1px solid var(--service-border);background:var(--service-background);color:var(--passing-color);border-radius:999px;padding:2px 8px}.enhanced-timetable .enhanced-table-head,.enhanced-timetable .enhanced-table-body .enhanced-table-row{padding-right:64px}.enhanced-table-body .enhanced-table-row.pass{opacity:.48}.enhanced-table-body .enhanced-table-row.pass .enhanced-pass-pill,.enhanced-table-body .enhanced-table-row.pass .enhanced-time.is-pass{opacity:.95;border:1px solid var(--service-border);background:var(--service-background);color:var(--passing-color)}.enhanced-time{display:inline-flex;align-items:center;justify-content:center;width:4.8ch;font-variant-numeric:tabular-nums;line-height:1.2}.enhanced-table-body .enhanced-table-row.stop .enhanced-time.is-stop{font-weight:700}.enhanced-table-body .enhanced-table-row.stop .enhanced-table-cell:first-child{font-weight:600}.enhanced-time.is-pass{justify-content:center;border:1px solid var(--service-border);background:var(--service-background);color:var(--passing-color);border-radius:999px;padding:2px 8px;font-weight:600}.enhanced-hero .enhanced-headcode{font-size:16px;font-weight:800;padding:6px 12px;border-radius:999px;letter-spacing:.35px;line-height:1.1}.enhanced-hero .enhanced-route{display:inline-flex;align-items:center;gap:12px;font-size:22px;font-weight:700;letter-spacing:.2px}.enhanced-hero .enhanced-hero-left{gap:16px}.enhanced-hero .enhanced-route .enhanced-btn-icon{width:18px;height:18px;margin:0 6px;color:var(--passing-color)}@media (max-width: 700px){.enhanced-hero .enhanced-headcode{font-size:14px;padding:5px 10px}.enhanced-hero .enhanced-route{font-size:19px}}.enhanced-formation-container{overflow-x:auto;overflow-y:hidden;padding:12px;background:var(--enhanced-surface-2);border-radius:8px;border:1px solid var(--enhanced-border);scrollbar-gutter:stable;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;position:relative;width:100%;max-width:100%;box-sizing:border-box;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.enhanced-formation-container::-webkit-scrollbar{height:8px}.enhanced-formation-container::-webkit-scrollbar-track{background:transparent}.enhanced-formation-container::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--enhanced-text) 14%,transparent);border-radius:999px}.enhanced-formation-content{display:inline-flex;align-items:flex-end;gap:0;min-height:120px;transform-origin:left center;transition:transform .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:max-content;box-sizing:content-box}.enhanced-formation-content img{max-width:none;height:auto;flex-shrink:0;margin:0;padding:0;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;pointer-events:none}.enhanced-formation-content *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1300;opacity:1;animation:fadeIn .18s ease-out}.sheet-panel.dlc-menu.enhanced{position:fixed;right:20px;top:80px;width:min(720px,92vw);max-height:min(70vh,750px);overflow:hidden;border-radius:14px;background:var(--dropdown-bg);border:1px solid var(--dropdown-border);box-shadow:0 12px 40px #00000040;z-index:1310;display:flex;flex-direction:column;transform:translateY(-8px);opacity:0;animation:slideIn .18s ease-out forwards}@media (max-width: 640px){.sheet-panel.dlc-menu.enhanced{right:0;left:0;top:0;bottom:0;width:100vw;height:100vh;max-height:100vh;border-radius:0}}@keyframes slideIn{to{transform:translateY(0);opacity:1}}.sheet-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--table-header-bg);border-bottom:1px solid var(--dropdown-border);z-index:1}.sheet-title{font-weight:600}.sheet-actions{display:flex;align-items:center;gap:8px}.sheet-search{min-width:180px;padding:8px 10px;border-radius:8px;border:1px solid var(--dropdown-border);background:var(--background-color);color:var(--text-color)}.btn-ghost{padding:6px 10px;border-radius:8px;background:transparent;border:1px solid var(--dropdown-border);color:var(--text-color);cursor:pointer}.btn-ghost:hover{background:var(--dropdown-hover-bg)}.btn-close{border:none;background:transparent;cursor:pointer;font-size:18px;line-height:1;color:var(--text-color);padding:4px 6px;border-radius:8px}.btn-close:hover{background:var(--dropdown-hover-bg)}.sheet-subheader{padding:8px 12px;border-bottom:1px solid var(--dropdown-border);background:var(--service-background)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid var(--dropdown-border)}.badge.green{color:#24a148}.badge.yellow{color:#f1c21b}.badge.red{color:#da1e28}.toggle-grid{padding:12px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media (max-width: 700px){.toggle-grid{grid-template-columns:1fr}}.toggle-pill{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--dropdown-border);border-radius:12px;-webkit-user-select:none;user-select:none;cursor:pointer;background:var(--background-color);transition:background .2s,border-color .2s}.toggle-pill:hover{background:var(--dropdown-hover-bg)}.toggle-pill input{display:none}.pill-slider{width:46px;height:24px;border-radius:999px;background:#ccc;position:relative;flex:0 0 auto;transition:background .2s}.pill-slider:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-pill.checked .pill-slider{background:#4caf50}.toggle-pill.checked .pill-slider:after{transform:translate(22px)}.pill-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--dropdown-border);border-radius:12px;background:var(--background-color)}.select-label{font-weight:500}.select-input{padding:8px 10px;border-radius:8px;border:1px solid var(--dropdown-border);background:var(--background-color);color:var(--text-color)}.empty-hint{grid-column:1/-1;opacity:.7;padding:12px;text-align:center}.dlc-toggle{display:flex;flex-direction:column;align-items:center;background:none;border:none;cursor:pointer}.dlc-toggle img{width:24px;height:24px;filter:var(--icon-filter)}.dlc-text{margin-top:4px;font-size:12px;color:var(--text-color)}.status-page{min-height:100vh;background-color:var(--background-color);font-family:Jost,sans-serif}.status-header-simple{padding:2rem 0 1rem}.status-header-simple .header-content{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center}.status-header-simple .header-title h1{margin:0;font-size:1.75rem;font-weight:700;color:var(--text-color)}.status-header-simple .header-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--passing-color)}.status-header-simple .header-actions{display:flex;align-items:center;gap:1rem}.status-header-simple .last-update{display:flex;align-items:center;font-size:.875rem;color:var(--passing-color);gap:.25rem}.status-container{max-width:1200px;margin:0 auto;padding:1.5rem 1rem}.status-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.overview-card{background:var(--service-background);border-radius:.5rem;border:1px solid var(--service-border);padding:1rem;display:flex;align-items:center;gap:.75rem}.overview-number{font-size:1.25rem;font-weight:600;color:var(--text-color)}.overview-label{font-size:.875rem;color:var(--passing-color)}.service-list{display:flex;flex-direction:column;gap:.75rem}.service-status{background:var(--service-background);border-radius:.5rem;border:1px solid var(--service-border);box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:all .2s ease}.service-status:hover{box-shadow:0 4px 6px #0000001a}.service-header{padding:1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s}.service-header:hover{background-color:var(--service-hover-bg)}.service-info{display:flex;align-items:center;gap:.75rem;flex:1}.group-parent-indicator{font-size:.75rem;color:var(--passing-color);width:1rem;text-align:center;transition:transform .2s}.service-details{display:flex;flex-direction:column;gap:.25rem}.service-name{font-weight:600;color:var(--text-color);font-size:1rem}.service-time{font-size:.75rem;color:var(--passing-color)}.service-status-badge .status-indicator,.sub-service-status .status-indicator{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;border:1px solid;text-align:center;display:flex;align-items:center;justify-content:center}.status-indicator.running-normally{background-color:#42be651a;color:#42be65;border-color:#42be654d}.status-indicator.minor-disruption{background-color:#ffc1071a;color:#ffc107;border-color:#ffc1074d}.status-indicator.major-disruption{background-color:#fa4d561a;color:#fa4d56;border-color:#fa4d564d}.sub-services{border-top:1px solid var(--service-border);background-color:transparent;padding:1rem}.sub-service-status{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--service-background);border-radius:.375rem;border:1px solid var(--service-border);margin-bottom:.5rem}.sub-service-status:last-child{margin-bottom:0}.sub-service-info{display:flex;align-items:center;gap:.75rem;flex:1}.sub-service-details{display:flex;flex-direction:column;gap:.25rem}.sub-service-name{font-weight:500;color:var(--text-color);font-size:.875rem}.sub-service-time{font-size:.75rem;color:var(--passing-color)}.status-footer{margin-top:2rem;text-align:center;color:var(--passing-color);font-size:.875rem}.status-footer p{margin:0}.service-status.running-normally{border-left:4px solid #42BE65}.service-status.minor-disruption{border-left:4px solid #FFC107}.service-status.major-disruption{border-left:4px solid #FA4D56}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem;text-align:center}.service-header{flex-direction:column;align-items:flex-start;gap:.75rem}.service-info{width:100%}.sub-service-status{flex-direction:column;align-items:flex-start;gap:.5rem}.status-overview{grid-template-columns:1fr}}[data-theme=dark] .service-status{box-shadow:0 1px 3px #ffffff1a}[data-theme=dark] .service-status:hover{box-shadow:0 4px 6px #ffffff1a}[data-theme=dark] .status-header{box-shadow:0 1px 3px #ffffff1a}.overview-icon,.service-icon,.sub-service-icon{flex-shrink:0}.logo-header{display:flex;align-items:center;padding:20px 30px 15px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:25px}.site-logo{max-width:350px;height:auto;object-fit:contain;transition:opacity .2s ease}.logo-header:hover .site-logo{opacity:.9}@media (max-width: 768px){.logo-header{justify-content:center;padding:15px 20px}.site-logo{max-width:280px}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;min-height:300px}.loading-spinner-small{min-height:150px;padding:30px 20px}.loading-spinner-large{min-height:400px;padding:80px 20px}.spinner-icon{width:50px;height:50px}.loading-spinner-small .spinner-icon{width:30px;height:30px}.loading-spinner-large .spinner-icon{width:70px;height:70px}.spinner-path{stroke:var(--accent-color, #4A90E2);stroke-linecap:round;animation:spinner-dash 1.5s ease-in-out infinite}@keyframes spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.loading-message{margin-top:16px;color:var(--text-color);font-size:1em;opacity:.8}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;min-height:400px}.empty-state-icon{color:var(--text-color);opacity:.3;margin-bottom:24px}.empty-state-icon svg{width:64px;height:64px}.empty-state-title{font-size:1.5em;font-weight:600;color:var(--text-color);margin:0 0 12px}.empty-state-message{font-size:1em;color:var(--text-color);opacity:.7;margin:0 0 24px;max-width:500px}.empty-state-suggestions{list-style:none;padding:0;margin:0 0 32px;max-width:400px}.empty-state-suggestions li{padding:8px 16px;margin:6px 0;background:var(--card-background, rgba(255, 255, 255, .05));border-radius:8px;color:var(--text-color);opacity:.8;font-size:.9em}.empty-state-suggestions li:before{content:"•";color:var(--accent-color, #4A90E2);font-weight:700;display:inline-block;width:1em;margin-right:8px}.empty-state-button{padding:12px 24px;background:var(--accent-color, #4A90E2);color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:500;cursor:pointer;transition:all .2s ease}.empty-state-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4a90e24d}.empty-state-button:active{transform:translateY(0)}.recently-viewed-section{margin:20px 0;padding:16px;background:var(--service-background);border-radius:8px;border:1px solid var(--service-border)}.recently-viewed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.recently-viewed-header h3{margin:0;font-size:1.1em;font-weight:600;color:var(--text-color)}.recently-viewed-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.recent-service-card{padding:12px;background:var(--background-color);border:1px solid var(--service-border);border-radius:6px;cursor:pointer;transition:all .2s ease}.recent-service-card:hover{background:var(--service-hover-bg);transform:translateY(-2px);box-shadow:0 2px 8px #0000001a;border-color:#007bff}[data-theme=dark] .recent-service-card:hover{border-color:#4a9eff}.recent-service-headcode{font-weight:700;font-size:1.1em;color:#007bff;margin-bottom:4px}[data-theme=dark] .recent-service-headcode{color:#4a9eff}.recent-service-route{font-size:.9em;color:var(--text-color);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-service-operator{font-size:.8em;color:var(--text-secondary)}@media (max-width: 600px){.empty-state{padding:40px 16px;min-height:300px}.recently-viewed-list{grid-template-columns:1fr}.empty-state-icon svg{width:48px;height:48px}.empty-state-title{font-size:1.25em}.empty-state-message{font-size:.9em}}.ai-mode-toggle{margin:12px 0;display:inline-block}.ai-toggle-switch-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;padding:6px 12px;border-radius:20px;background:#3b82f60d;border:1px solid rgba(59,130,246,.2);transition:all .3s ease}.ai-toggle-switch-label:hover{background:#3b82f61a;border-color:#3b82f64d}[data-theme=dark] .ai-toggle-switch-label{background:#3b82f614;border-color:#3b82f64d}[data-theme=dark] .ai-toggle-switch-label:hover{background:#3b82f61f;border-color:#3b82f666}.ai-toggle-icon{display:flex;align-items:center;color:#3b82f6;animation:ai-pulse 3s ease-in-out infinite}[data-theme=dark] .ai-toggle-icon{color:#60a5fa}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.6}}.ai-toggle-text{font-size:.9em;font-weight:500;color:var(--text-color)}.ai-toggle-input{position:absolute;opacity:0;width:0;height:0}.ai-toggle-slider{position:relative;width:36px;height:20px;background-color:#ccc;border-radius:20px;transition:all .3s ease}[data-theme=dark] .ai-toggle-slider{background-color:#555}.ai-toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background-color:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003}.ai-toggle-input:checked+.ai-toggle-slider{background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.ai-toggle-input:checked+.ai-toggle-slider:before{transform:translate(16px)}.ai-toggle-input:focus+.ai-toggle-slider{box-shadow:0 0 0 2px #3b82f64d}.ai-suggestions-container{animation:ai-slide-in .3s ease-out}@keyframes ai-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.ai-mode-toggle{margin:15px 0;padding:12px}.ai-mode-label{font-size:.95em}.ai-mode-hint{font-size:.8em;margin-left:28px}}.ai-natural-search{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border:2px solid rgba(59,130,246,.3);border-radius:16px;padding:24px;margin-bottom:20px}[data-theme=dark] .ai-natural-search{background:linear-gradient(135deg,#3b82f614,#8b5cf614);border-color:#3b82f666}.ai-search-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:#3b82f6;font-weight:600;font-size:1.1em}[data-theme=dark] .ai-search-header{color:#60a5fa}.ai-search-header svg{animation:ai-pulse 3s ease-in-out infinite}.ai-search-title{color:var(--text-color)}.ai-search-input-container{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.ai-search-textarea{flex:1;padding:14px 16px;font-size:16px;font-family:Jost,sans-serif;border:2px solid rgba(59,130,246,.3);border-radius:12px;background-color:var(--background-color);color:var(--text-color);resize:vertical;min-height:44px;transition:all .3s ease;line-height:1.4}.ai-search-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.ai-search-textarea::placeholder{color:var(--text-secondary);opacity:.7}[data-theme=dark] .ai-search-textarea{border-color:#3b82f666;background-color:#1f1f1f80}[data-theme=dark] .ai-search-textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f626}.ai-search-button{padding:16px 24px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;white-space:nowrap;font-family:Jost,sans-serif;font-size:16px}.ai-search-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #3b82f64d}.ai-search-button:disabled{opacity:.6;cursor:not-allowed}.ai-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.ai-analysis-result{background:#3b82f61a;border-left:4px solid #3b82f6;border-radius:8px;padding:16px;margin-bottom:16px}[data-theme=dark] .ai-analysis-result{background:#3b82f626;border-left-color:#60a5fa}.ai-interpretation{display:flex;align-items:flex-start;gap:10px;color:var(--text-color);margin-bottom:12px;line-height:1.5}.ai-interpretation svg{flex-shrink:0;color:#3b82f6;margin-top:2px}[data-theme=dark] .ai-interpretation svg{color:#60a5fa}.ai-quick-execute{background:#3b82f6;color:#fff;border:none;padding:10px 16px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-family:Jost,sans-serif;font-size:14px;transition:all .2s ease}.ai-quick-execute:hover{background:#2563eb;transform:translate(4px)}.ai-suggestions-panel{border-top:1px solid rgba(59,130,246,.2);padding-top:16px}.ai-suggestions-label{font-weight:600;color:var(--text-color);margin-bottom:10px;font-size:.9em}.ai-suggestions-grid{display:flex;flex-wrap:wrap;gap:8px}.ai-suggestion-chip{background:#3b82f626;border:1px solid rgba(59,130,246,.3);color:var(--text-color);padding:8px 14px;border-radius:20px;cursor:pointer;font-size:14px;font-family:Jost,sans-serif;transition:all .2s ease}.ai-suggestion-chip:hover{background:#3b82f640;border-color:#3b82f6;transform:translateY(-2px)}[data-theme=dark] .ai-suggestion-chip{background:#3b82f633;border-color:#3b82f666}[data-theme=dark] .ai-suggestion-chip:hover{background:#3b82f64d;border-color:#60a5fa}.ai-enhancing-status{display:flex;align-items:center;gap:12px;padding:12px;background:#3b82f61a;border-radius:8px;color:var(--text-color);font-size:14px}[data-theme=dark] .ai-enhancing-status{background:#3b82f626}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 600px){.ai-natural-search{padding:16px}.ai-search-input-container{flex-direction:column}.ai-search-button{width:100%;justify-content:center}.ai-search-textarea{min-height:44px}}.platinum-trophy-container{position:relative;display:inline-flex;align-items:center;cursor:help}.platinum-trophy{width:20px;height:20px;transition:transform .2s ease}.platinum-trophy-container:hover .platinum-trophy{transform:scale(1.1)}.platinum-trophy-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background:var(--enhanced-surface, var(--service-background));color:var(--enhanced-text, var(--text-color));border:1px solid var(--enhanced-border, var(--service-border));padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;box-shadow:0 4px 12px #00000026;z-index:1000}.platinum-trophy-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--enhanced-border, var(--service-border))}.platinum-trophy-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--enhanced-surface, var(--service-background));z-index:1}.platinum-trophy-container:hover .platinum-trophy-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(-4px)}[data-theme=dark] .platinum-trophy-tooltip{box-shadow:0 4px 12px #0006}.error-boundary-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary, #f5f5f5)}[data-theme=dark] .error-boundary-container{background:var(--bg-primary, #1a1a1a)}.error-boundary-content{max-width:600px;width:100%;text-align:center;background:var(--bg-secondary, #ffffff);padding:3rem 2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}[data-theme=dark] .error-boundary-content{background:var(--bg-secondary, #2a2a2a);box-shadow:0 4px 6px #0000004d}.error-boundary-icon{font-size:4rem;margin-bottom:1rem}.error-boundary-title{font-size:2rem;margin-bottom:1rem;color:var(--text-primary, #333)}[data-theme=dark] .error-boundary-title{color:var(--text-primary, #e0e0e0)}.error-boundary-message{font-size:1.1rem;margin-bottom:2rem;color:var(--text-secondary, #666);line-height:1.6}[data-theme=dark] .error-boundary-message{color:var(--text-secondary, #b0b0b0)}.error-boundary-details{text-align:left;margin:2rem 0;padding:1rem;background:#f8f8f8;border-radius:8px;border:1px solid #ddd}[data-theme=dark] .error-boundary-details{background:#1a1a1a;border-color:#444}.error-boundary-details summary{cursor:pointer;font-weight:600;margin-bottom:1rem;color:var(--text-primary, #333)}[data-theme=dark] .error-boundary-details summary{color:var(--text-primary, #e0e0e0)}.error-boundary-stack{overflow-x:auto;padding:1rem;background:#fff;border-radius:4px;font-size:.85rem;line-height:1.5;color:#333}[data-theme=dark] .error-boundary-stack{background:#0a0a0a;color:#e0e0e0}.error-boundary-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-boundary-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.error-boundary-button.primary{background:#007bff;color:#fff}.error-boundary-button.primary:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 8px #007bff4d}.error-boundary-button.secondary{background:transparent;color:#007bff;border:2px solid #007bff}[data-theme=dark] .error-boundary-button.secondary{color:#4da3ff;border-color:#4da3ff}.error-boundary-button.secondary:hover{background:#007bff;color:#fff;transform:translateY(-2px)}[data-theme=dark] .error-boundary-button.secondary:hover{background:#4da3ff;color:#1a1a1a}@media (max-width: 640px){.error-boundary-content{padding:2rem 1.5rem}.error-boundary-title{font-size:1.5rem}.error-boundary-message{font-size:1rem}.error-boundary-actions{flex-direction:column}.error-boundary-button{width:100%}}.duty-sheet-page{min-height:100vh;padding:2rem;background:var(--bg-primary)}.duty-sheet-container{max-width:1200px;margin:0 auto}.duty-sheet-container h1{font-size:2.5rem;margin-bottom:1rem;color:var(--text-primary)}.duty-sheet-description{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.duty-sheet-form{background:var(--bg-secondary);border-radius:12px;padding:1.75rem;margin-bottom:2rem;box-shadow:0 4px 16px #00000014;border:1px solid var(--service-border)}[data-theme=dark] .duty-sheet-form{box-shadow:0 4px 20px #0006;border-color:#ffffff14}.config-row{display:flex;gap:1rem;margin-bottom:1rem}.primary-controls{flex-wrap:wrap}.config-item{flex:1;min-width:200px}.config-item label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem}.route-select{flex:2;min-width:280px;display:flex;flex-direction:column}.route-select select{height:100%;min-height:44px}.time-duration{flex:1;min-width:180px;display:flex;flex-direction:column}.inline-group{display:flex;gap:.5rem}.inline-field{flex:1;display:flex;flex-direction:column}.inline-field label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem}.inline-field input,.inline-field select{height:100%;min-height:44px}.filters-row{flex-direction:column;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--service-border)}.config-section{display:flex;flex-direction:column;gap:.5rem}.section-header{display:flex;align-items:center;gap:.75rem}.section-label{font-size:.7rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.75px}.selection-count{font-size:.7rem;color:#007bff;background:#007bff1a;padding:.15rem .5rem;border-radius:10px}.class-chips{display:flex;flex-wrap:wrap;gap:.4rem}.class-chip{padding:.35rem .7rem;font-size:.8rem;font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--service-border);border-radius:16px;cursor:pointer;transition:all .15s ease}.class-chip:hover{border-color:#007bff;background:#007bff0d}.class-chip.selected{background:#007bff;color:#fff;border-color:#007bff}.class-chip.selected:hover{background:#0069d9;border-color:#0069d9}.options-section{display:flex;flex-direction:row;align-items:center;gap:1rem}.option-toggles{display:flex;gap:1.25rem;flex-wrap:wrap}.toggle-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer}.toggle-switch input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;width:36px;height:20px;background:var(--service-border);border-radius:20px;transition:all .2s ease;flex-shrink:0}.toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:all .2s ease;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background:#007bff}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px)}.toggle-label{font-size:.85rem;color:var(--text-primary);font-weight:500}@media (max-width: 600px){.config-row{flex-direction:column}.config-item{min-width:100%}.options-section{flex-direction:column;align-items:flex-start}.option-toggles{flex-direction:column;gap:.75rem}}.form-select,.form-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid transparent;border-radius:8px;background:var(--bg-primary);color:var(--text-primary);transition:box-shadow .16s ease,background 60ms linear;box-sizing:border-box}.form-select.cursor-glow,.form-input.cursor-glow{background:linear-gradient(var(--bg-primary),var(--bg-primary)) padding-box,radial-gradient(140px circle at var(--glowX, -1000px) var(--glowY, -1000px),var(--glow-color),transparent 60%) border-box;background-clip:padding-box,border-box}.form-select.cursor-glow:hover,.form-input.cursor-glow:hover,.form-select.cursor-glow:focus,.form-input.cursor-glow:focus{outline:none;box-shadow:none}.form-select option{background:var(--bg-primary);color:var(--text-primary)}[data-theme=light] .form-select option{background:#fff;color:#1a1a1a}[data-theme=dark] .form-select option{background:#1a1a1a;color:#f5f5f5}.btn-generate{padding:.85rem 1.75rem;font-size:1rem;font-weight:600;color:#fff;background:#007bff;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;width:100%;max-width:280px;margin-top:1.25rem}.btn-generate:hover:not(:disabled){background:#0069d9;box-shadow:0 4px 12px #007bff59}.btn-generate:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 6px #007bff4d}.btn-generate:disabled{background:#6c757d;cursor:not-allowed;opacity:.7}.duty-sheets-results{background:var(--bg-secondary);border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}[data-theme=dark] .duty-sheets-results{box-shadow:0 2px 8px #0000004d}.duty-sheets-results h2{font-size:2rem;margin-bottom:1.5rem;color:var(--text-primary)}.duty-sheet-tabs{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.duty-tab{padding:.75rem 1.5rem;background:var(--bg-primary);border:2px solid var(--service-border);border-radius:8px;cursor:pointer;transition:all .3s;color:var(--text-primary);font-weight:500}.duty-tab:hover{border-color:#007bff;background:var(--bg-hover, #f5f5f5)}[data-theme=dark] .duty-tab:hover{background:var(--bg-hover, #2a2a2a)}.duty-tab.active{background:#007bff;color:#fff;border-color:#007bff}.duty-sheet-display{border:2px solid var(--service-border);border-radius:12px;padding:1.5rem;background:var(--bg-primary)}.duty-sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--service-border)}.duty-sheet-header h3{font-size:1.8rem;color:var(--text-primary);margin:0}.duty-sheet-actions{display:flex;gap:.75rem}.btn-action{padding:.5rem 1.25rem;background:var(--bg-secondary);border:2px solid var(--service-border);border-radius:6px;cursor:pointer;transition:all .3s;color:var(--text-primary);font-weight:500}.btn-action:hover{border-color:#007bff;background:#007bff;color:#fff}.duty-sheet-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:8px}.summary-item{display:flex;flex-direction:column}.summary-item .label{font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem}.summary-item .value{font-size:1.2rem;font-weight:600;color:var(--text-primary)}.duty-services-list{display:flex;flex-direction:column;gap:1rem}.duty-service-card{background:var(--bg-secondary);border:1px solid var(--service-border);border-radius:6px;padding:1.5rem;transition:border-color .2s}.duty-service-card:hover{border-color:#007bff}.duty-service-card.travel{background:linear-gradient(135deg,#ffc10714,#ff980014);border-color:#ffc107;border-width:2px}[data-theme=dark] .duty-service-card.travel{background:linear-gradient(135deg,#ffc10726,#ff980026)}.duty-service-card.travel:hover{border-color:#ff9800}.travel-badge{padding:.3rem .7rem;background:#ffc107;color:#1a1a1a;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.duty-service-notes{padding:.75rem;background:#ffc10733;border-left:4px solid #ffc107;border-radius:4px;margin-bottom:1rem;font-style:italic;color:var(--text-primary)}[data-theme=dark] .duty-service-notes{background:#ffc10726}.duty-service-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.duty-service-title{display:flex;align-items:center;gap:.75rem;flex:1}.travel-icon{width:24px;height:24px;color:#ffc107;flex-shrink:0}[data-theme=dark] .travel-icon{color:#ffb300}.duty-service-header h4{font-size:1.2rem;color:var(--text-primary);margin:0}.operator-logo{height:32px;width:auto;max-width:120px;object-fit:contain}.duty-service-actions{display:flex;gap:.5rem;align-items:center}.train-class-badge{padding:.4rem .8rem;background:#007bff;color:#fff;border-radius:6px;font-size:.9rem;font-weight:600}.btn-view-service{padding:.5rem .75rem;background:var(--bg-primary);border:1px solid #007bff;color:#007bff;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-view-service:hover{background:#007bff;color:#fff}.btn-toggle-stops{width:100%;padding:.75rem 1rem;margin-top:.75rem;background:var(--bg-primary);border:1px solid var(--service-border);border-radius:6px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s;text-align:left;display:flex;align-items:center;gap:.5rem}.btn-toggle-stops:hover{border-color:var(--text-secondary);background:var(--bg-hover, #f5f5f5)}[data-theme=dark] .btn-toggle-stops:hover{background:var(--bg-hover, #2a2a2a)}.stops-list{margin-top:1rem;padding:1rem;background:var(--bg-primary);border-radius:6px;border:1px solid var(--service-border);max-height:300px;overflow-y:auto}.stop-item{display:grid;grid-template-columns:100px 1fr auto auto;gap:1rem;padding:.75rem;border-bottom:1px solid var(--service-border);align-items:center}.stop-item:last-child{border-bottom:none}.stop-time{font-weight:600;color:var(--text-primary);font-size:.95rem;font-family:monospace}.stop-station{color:var(--text-primary);font-size:.95rem}.stop-platform{padding:.25rem .5rem;background:var(--bg-secondary);border-radius:4px;font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.stop-note{grid-column:2 / -1;font-size:.85rem;color:var(--text-secondary);font-style:italic}.duty-service-details{margin-top:1rem}.journey-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:var(--bg-primary);border-radius:8px}.journey-point{display:flex;flex-direction:column;flex:1}.journey-point .time{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.journey-point .station{font-size:1rem;color:var(--text-primary);font-weight:500;margin-bottom:.25rem}.journey-point .action{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.journey-arrow{font-size:1.4rem;color:#007bff;flex-shrink:0;align-self:center;margin:0 8px}.stops-count{margin-top:.75rem;padding:.5rem;background:var(--bg-primary);border-radius:6px;font-size:.9rem;color:var(--text-secondary);text-align:center}.turnaround-time{margin-top:.75rem;padding:.75rem;background:#fef3cd;border-left:4px solid #ffc107;border-radius:6px;color:#856404;font-weight:600;font-size:.95rem}[data-theme=dark] .turnaround-time{background:#3d3416;color:#ffc107}.no-results{text-align:center;padding:3rem;color:var(--text-secondary)}.no-results p{font-size:1.1rem}@media (max-width: 768px){.duty-sheet-page{padding:1rem}.duty-sheet-container h1{font-size:2rem}.duty-sheet-form,.duty-sheets-results{padding:1.5rem}.class-filter-grid{grid-template-columns:1fr}.duty-sheet-header{flex-direction:column;align-items:flex-start;gap:1rem}.duty-sheet-summary{grid-template-columns:1fr}.journey-row{flex-direction:column;align-items:flex-start}.journey-arrow{transform:rotate(90deg)}.stop-item{grid-template-columns:80px 1fr;gap:.5rem}.stop-platform{grid-column:1;justify-self:start}.duty-service-actions{flex-wrap:wrap}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:var(--bg-primary);border-radius:8px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--service-border)}.modal-header h2{margin:0;color:var(--text-primary);font-size:1.25rem}.modal-close{background:transparent;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.modal-close:hover{background:var(--service-border);color:var(--text-primary)}.modal-body{flex:1;overflow-y:auto;padding:1.5rem}.service-details-container{color:var(--text-primary)}.service-details-container h3{font-size:1.1rem;margin:1.25rem 0 .75rem;color:var(--text-primary);border-bottom:1px solid var(--service-border);padding-bottom:.5rem}.service-info{background:var(--bg-secondary);border-radius:6px;padding:1rem;margin-bottom:1rem}.service-info-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.95rem;border-bottom:1px solid var(--service-border)}.service-info-row:last-child{border-bottom:none}.service-info-row .label{font-weight:600;color:var(--text-secondary)}.service-info-row .value{color:var(--text-primary);font-weight:500}.modal-stops-list{display:flex;flex-direction:column;gap:.5rem}.modal-stop-item{display:grid;grid-template-columns:100px 1fr auto auto;gap:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:6px;align-items:center}.modal-stop-time{font-weight:600;color:#007bff;font-family:Courier New,monospace}.modal-stop-station{color:var(--text-primary);font-weight:500}.modal-stop-platform{padding:.25rem .5rem;background:#007bff;color:#fff;border-radius:4px;font-size:.85rem;font-weight:600}.modal-stop-note{color:var(--text-secondary);font-style:italic;font-size:.9rem}.duty-sheet-print{display:none}.duty-sheet-print.visible{display:block}.duty-sheet-print{font-family:Jost,Arial,sans-serif;color:#000}.print-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;border-bottom:2px solid #000;padding-bottom:.75rem}.print-header h1{margin:0;font-size:1.5rem;color:#000}.print-subtitle{margin:.2rem 0 0;color:#222}.print-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;font-size:.9rem}.print-meta span{display:block;color:#444;font-size:.8rem}.print-meta strong{display:block;color:#000}.print-table{width:100%;border-collapse:collapse;margin:.5rem 0 1rem;font-size:.9rem}.print-table th,.print-table td{border:1px solid #000;padding:4px 6px;text-align:left}.print-table th{background:#e6e6e6}.print-table tr{page-break-inside:avoid}.print-table td:nth-child(1){width:36px}.print-table td:nth-child(2){width:90px}.print-table td:last-child{max-width:180px;word-break:break-word}.print-operator{display:flex;align-items:center;gap:6px}.print-operator img{width:20px;height:20px;object-fit:contain}.print-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.95rem;page-break-inside:avoid}.print-table thead{display:table-header-group}.print-table tfoot{display:table-footer-group}@media print{.duty-sheet-form,.duty-sheet-tabs,.duty-sheet-actions,.modal-overlay,.theme-toggle-fab,.footer,.global-logo-bar,.logo-header,.site-logo{display:none!important}body{background:#fff;margin:0}.app,.duty-sheet-page{padding:0;margin:0}html,body{height:auto}@page{size:A4 landscape;margin:8mm}.app>:not(.duty-sheet-page){display:none!important}.duty-sheet-page>:not(.duty-sheet-container){display:none!important}.duty-sheet-container>:not(.duty-sheet-print){display:none!important}.duty-sheet-print{display:block!important;position:static;width:100%;max-width:100%;padding:6mm;margin:0;background:#fff;font-size:.9rem;box-sizing:border-box}.duty-sheet-print h1,.duty-sheet-print p,.duty-sheet-print td,.duty-sheet-print th,.duty-sheet-print span,.duty-sheet-print strong{color:#000}.duty-sheet-print table{width:100%;table-layout:fixed;page-break-inside:auto;box-sizing:border-box}.duty-sheet-print tr{page-break-inside:avoid;page-break-after:auto}.duty-sheet-print th,.duty-sheet-print td{page-break-inside:avoid;box-sizing:border-box}}.ai-settings-button{position:fixed;bottom:30px;right:90px;width:40px;height:40px;border-radius:50%;background-color:var(--service-background);border:1px solid var(--service-border);color:var(--text-color);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:9998;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.ai-settings-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003;background-color:var(--service-hover-bg)}.ai-status-indicator{position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:50%;background-color:#10b981;border:2px solid var(--service-background);animation:pulse 2s infinite}@media (max-width: 600px){.ai-settings-button{bottom:max(144px,env(safe-area-inset-bottom) + 144px);right:16px}}.ai-settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;animation:fadeIn .2s ease-out}.ai-settings-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(500px,90vw);max-height:85vh;background:var(--service-background);border:1px solid var(--service-border);border-radius:16px;box-shadow:0 8px 32px #0000004d;z-index:10001;overflow:hidden;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.ai-settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--service-border);background:var(--header-bg)}.ai-settings-header h2{margin:0;font-size:20px;color:var(--text-color);font-weight:600}.ai-settings-close{background:none;border:none;font-size:32px;color:var(--text-color);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s ease;line-height:1}.ai-settings-close:hover{background:var(--service-hover-bg)}.ai-settings-content{padding:24px;overflow-y:auto;overflow-x:hidden;max-height:calc(85vh - 80px)}.ai-settings-description{margin:0 0 24px;color:var(--text-color);opacity:.8;line-height:1.5}.ai-settings-form{display:flex;flex-direction:column;gap:16px;width:100%;box-sizing:border-box;overflow:hidden}.ai-settings-form label{font-weight:500;color:var(--text-color);font-size:14px;margin-bottom:-8px}.ai-provider-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;width:100%;box-sizing:border-box}.ai-provider-btn{flex:1 1 calc(33.333% - 10px);min-width:110px;max-width:calc(33.333% - 7px);padding:12px 8px;background:var(--service-background);border:2px solid var(--service-border);border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;font-family:Jost,sans-serif;box-sizing:border-box}.ai-provider-btn:hover{border-color:#3b82f680;background:var(--service-hover-bg);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.ai-provider-btn.active{border-color:#3b82f6;background:#3b82f61a;box-shadow:0 0 0 1px #3b82f633}[data-theme=dark] .ai-provider-btn.active{background:#3b82f626}.ai-provider-logo{width:32px;height:32px;display:flex;align-items:center;justify-content:center;position:relative}.ai-provider-logo img{width:100%;height:100%;object-fit:contain}.logo-light-theme{display:block}.logo-dark-theme,[data-theme=dark] .logo-light-theme{display:none}[data-theme=dark] .logo-dark-theme{display:block}.ai-provider-btn span{font-size:13px;font-weight:500;color:var(--text-color)}.ai-provider-badge{position:absolute;top:4px;right:4px;background:#10b981;color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;font-weight:600}.ai-provider-select,.ai-api-key-input{width:100%;max-width:100%;padding:12px;border:1px solid var(--service-border);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:14px;transition:border-color .2s ease;box-sizing:border-box}.ai-provider-select:focus,.ai-api-key-input:focus{outline:none;border-color:#007bff}.ai-provider-select option{background:var(--service-background);color:var(--text-color)}@media (max-width: 600px){.ai-provider-btn{flex:1 1 calc(50% - 10px);min-width:100px;max-width:calc(50% - 7px);padding:10px 6px}}.ai-verification-error{padding:12px;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c00;font-size:14px}.ai-verify-button{padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.ai-verify-button:hover:not(:disabled){background:#0056b3}.ai-verify-button:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.ai-get-key-link{text-align:center;color:#007bff;text-decoration:none;font-size:14px;margin-top:8px}.ai-get-key-link:hover{text-decoration:underline}.ai-settings-connected{display:flex;flex-direction:column;gap:24px;align-items:center}.ai-connected-status{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.ai-connected-status h3{margin:0;color:var(--text-color);font-size:18px;font-weight:600}.ai-connected-status p{margin:0;color:var(--text-color);opacity:.7}.ai-remove-button{padding:10px 20px;background:transparent;color:#dc3545;border:1px solid #dc3545;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease}.ai-remove-button:hover{background:#dc3545;color:#fff}@media (max-width: 600px){.ai-settings-panel{width:95vw;max-height:90vh}.ai-settings-header{padding:16px 20px}.ai-settings-header h2{font-size:18px}.ai-settings-content{padding:20px}}.route-detail-page{max-width:1200px;margin:0 auto;padding:40px 20px;min-height:100vh}.back-button{background:#0000001a;border:1px solid rgba(0,0,0,.2);color:var(--text-color, #fff);padding:12px 24px;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease;margin-bottom:30px;display:inline-flex;align-items:center;gap:8px}.back-button:hover{background:#0003;border-color:#0000004d;transform:translate(-4px)}.route-detail-hero{position:relative;width:100%;aspect-ratio:1678 / 697;max-height:500px;border-radius:16px;overflow:hidden;margin-bottom:40px;background:transparent}.route-detail-hero img{width:100%;height:100%;object-fit:cover}.route-detail-overlay{position:absolute;bottom:0;left:0;right:0;padding:40px 40px 40px 120px;background:transparent}.route-detail-title{font-size:2.5rem;font-weight:700;margin:0 0 12px;color:var(--text-color)}.route-detail-stats{font-size:1.1rem;color:var(--text-color);opacity:.8;margin:0}.route-detail-content{margin-bottom:60px}.formations-title-row{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}.formations-title{font-size:2rem;font-weight:600;margin-bottom:30px;color:var(--text-color, #fff)}.preview-toggle{padding:10px 14px;border-radius:10px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--text-color);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.preview-toggle:hover{transform:translateY(-1px);box-shadow:0 10px 22px #00000014;background:#00000014}.formations-list{display:flex;flex-direction:column;gap:12px}.formation-item{display:flex;flex-direction:column;gap:10px;align-items:stretch;padding:20px 24px;background:#0000000d;border:1px solid rgba(0,0,0,.1);border-radius:10px;transition:all .2s ease}.formation-item:hover{background:#00000014;border-color:#00000026}.formation-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.formation-info{display:flex;flex-direction:column;gap:6px}.formation-name{font-size:1.1rem;font-weight:600;color:var(--text-color, #fff)}.formation-details{font-size:.95rem;color:var(--text-color, #aaa);opacity:.7}.formation-support{flex-shrink:0}.formation-preview{width:100%;margin-top:12px;padding-top:10px;border-top:1px dashed rgba(0,0,0,.12)}.formation-preview-strip{display:flex;align-items:flex-end;gap:4px;overflow-x:auto;overflow-y:hidden;padding:8px 4px;border-radius:10px;background:#0000000a;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.formation-preview-strip::-webkit-scrollbar{height:6px}.formation-preview-strip::-webkit-scrollbar-track{background:transparent}.formation-preview-strip::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.formation-preview-strip::-webkit-scrollbar-thumb:hover{background:#0000004d}[data-theme=dark] .formation-preview-strip{scrollbar-color:rgba(255,255,255,.3) transparent}[data-theme=dark] .formation-preview-strip::-webkit-scrollbar-thumb{background:#fff3}[data-theme=dark] .formation-preview-strip::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.formation-preview-strip .train-coach{flex-shrink:0}.formation-preview-strip .train-coach img{max-height:70px;height:auto;width:auto;display:block}.formation-preview-strip .train-coach div{color:var(--text-color)}.formation-preview-empty{color:var(--text-color);opacity:.6;font-size:.95rem}.status-indicator{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:500}.status-indicator.green{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.status-indicator.yellow{background:#eab30826;color:#eab308;border:1px solid rgba(234,179,8,.3)}.status-indicator.red{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.no-formations{text-align:center;padding:60px 20px;color:var(--text-color, #aaa)}.no-formations p{font-size:1.1rem;opacity:.7}.route-not-found{text-align:center;padding:100px 20px}.route-not-found h1{font-size:2.5rem;margin-bottom:30px;color:var(--text-color, #fff)}@media (max-width: 768px){.route-detail-hero{max-height:300px}.route-detail-overlay{padding:24px 24px 24px 80px}.route-detail-title{font-size:1.8rem}.route-detail-stats{font-size:1rem}.formations-title{font-size:1.6rem}.formation-item{flex-direction:column;align-items:flex-start;gap:16px;padding:16px 20px}.formation-support{width:100%}.status-indicator{width:100%;justify-content:center}.formation-preview-strip{padding:12px 8px;margin:0 -8px;width:calc(100% + 16px)}.formation-preview-strip .train-coach img{max-height:60px}.formation-preview-strip .train-coach div{font-size:10px}}@media (max-width: 480px){.route-detail-page{padding:20px 15px}.route-detail-hero{max-height:250px;border-radius:12px}.route-detail-overlay{padding:20px 20px 20px 60px}.route-detail-title{font-size:1.5rem}.formations-title{font-size:1.4rem}.back-button{padding:10px 20px;font-size:.95rem}.formation-preview-strip{padding:10px 6px;margin:0 -10px;width:calc(100% + 20px);gap:2px}.formation-preview-strip .train-coach img{max-height:50px}.formation-preview-strip .train-coach div{font-size:9px}}.routes-page{max-width:1400px;margin:0 auto;padding:40px 20px;min-height:100vh;background:var(--background-color)}.routes-home-button{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--card-background, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;color:var(--text-color);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:30px}.routes-home-button svg{width:20px;height:20px}.routes-home-button:hover{background:var(--card-background-hover, rgba(255, 255, 255, .1));transform:translate(-4px)}.routes-title{text-align:center;font-size:3rem;font-weight:700;margin-bottom:16px;color:var(--text-color, #fff)}.routes-subtitle{text-align:center;font-size:1.1rem;color:var(--text-color, #aaa);margin-bottom:60px;opacity:.8}.routes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-bottom:60px}.route-card{background:transparent;border:none;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;position:relative}.route-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000080}.route-card-image{width:100%;aspect-ratio:914 / 1077;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;border-radius:12px}.route-card-image img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease;border-radius:12px}.route-card:hover .route-card-image img{transform:scale(1.05)}.route-card-content{padding:20px;background:transparent}.route-card-title{font-size:1.3rem;font-weight:600;margin-bottom:8px;color:var(--text-color)}.route-card-stats{font-size:.95rem;color:var(--text-color);opacity:.7;line-height:1.4}.routes-footer{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 20px;color:var(--text-color, #aaa);opacity:.6;font-size:.9rem;border-top:1px solid rgba(128,128,128,.2);margin-top:40px}.routes-footer p{margin:0}.chatgpt-logo{height:24px;width:auto}@media (max-width: 968px){.routes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}}@media (max-width: 768px){.routes-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.routes-title{font-size:2.2rem}.route-card-content{padding:16px}.routes-subtitle{font-size:1rem;margin-bottom:40px}}@media (max-width: 480px){.routes-grid{grid-template-columns:1fr}.routes-title{font-size:1.8rem}.routes-page{padding:30px 15px}}.home-page{max-width:1200px;margin:0 auto;padding:40px 20px}.home-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.home-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.home-header{text-align:center;margin-bottom:28px}.home-search-divider{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;margin:8px 0 10px}.home-search-divider:before,.home-search-divider:after{content:"";flex:1;height:2px;background:#007bff;opacity:.8}.home-search-divider .chevrons{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;transition:transform .2s ease;color:#007bff}.home-search-divider .chevrons svg{display:block}.home-search-divider.open .chevrons{transform:rotate(180deg)}.home-title{font-size:2.4rem;margin:0 0 8px;color:var(--text-color)}.home-subtitle{color:var(--text-color);opacity:.8;margin:0 0 16px}.home-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;text-decoration:none;background:#007bff;color:#fff;border:none;box-shadow:0 8px 14px #007bff33;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.home-cta:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 10px 18px #007bff47}.home-cta:active{transform:translateY(0);box-shadow:0 6px 10px #007bff33}.home-cta-icon{display:block;color:#fff}.hero-grid{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 900px){.hero-grid{grid-template-columns:1fr 1fr}}.hero-card{cursor:pointer;border:none;background:transparent;border-radius:14px;padding:24px;min-height:0;aspect-ratio:1678 / 697;display:flex;align-items:end;position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;background-size:cover;background-position:center}.hero-card:before{display:none}.hero-card:after{display:none}.hero-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px #0000002e}.hero-card-content{position:relative;z-index:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.hero-card-title{margin:0 0 6px;font-size:1.2rem;color:#fff}.hero-card-cta{margin:0;opacity:.9;color:#fff}@media (max-width: 600px){.home-page{padding:16px}.home-header{margin-bottom:16px}.home-search-divider{margin:4px 0 6px}.home-title{font-size:clamp(1.6rem,6.2vw + .3rem,2.1rem);line-height:1.15}.home-subtitle{font-size:clamp(.95rem,3.2vw + .1rem,1.1rem);margin:0 0 12px}.hero-grid{gap:14px;margin:0;padding:0}.hero-card{background-size:cover;background-repeat:no-repeat;background-position:center;padding:20px;min-height:160px;border-radius:12px;margin:0;width:100%;box-sizing:border-box;display:flex;align-items:flex-end;justify-content:flex-start}.hero-card-content{position:relative;z-index:1;width:100%;padding-left:16px}.hero-card-title{font-size:clamp(1rem,5.5vw,1.4rem);line-height:1.25;margin:0 0 6px;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.8)}.hero-card-cta{font-size:clamp(.85rem,4vw,1.05rem);line-height:1.3;opacity:.95;text-shadow:0 2px 4px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.8)}}.home-dlc-toggle{display:flex;justify-content:flex-end;margin-bottom:10px}.home-search-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--service-border);background:var(--service-background);color:var(--text-color);padding:8px 12px;border-radius:8px;cursor:pointer}.home-search-toggle:hover{filter:brightness(1.05)}.home-search-toggle .chevrons{display:inline-block;transition:transform .2s ease}.home-search-toggle.open .chevrons{transform:rotate(90deg)}.home-search-collapse{overflow:hidden;max-height:0;transition:max-height .25s ease}.home-search-collapse.open{max-height:1500px;overflow:visible}.home-search-collapse .search-container{margin:12px 0 16px}@media (max-width: 720px){.home-topbar{position:sticky;top:0;z-index:1200;background:var(--background-color);border-bottom:1px solid var(--service-border);padding-bottom:8px;flex-direction:column;align-items:stretch;gap:8px}.logo-header{border-bottom:none!important;margin-bottom:0!important;padding:8px 0;justify-content:center}.site-logo{max-width:240px}.home-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.home-actions .dlc-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 12px;background:var(--service-background);border:1px solid var(--service-border);border-radius:10px;color:var(--text-color);min-height:44px}.home-actions .dlc-toggle img{width:20px;height:20px;filter:var(--icon-filter)}.home-actions .dlc-toggle .dlc-text{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 400px){.home-actions .dlc-toggle .dlc-text{display:none}}}.not-found-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background-color);padding:20px}.not-found-content{text-align:center;max-width:600px}.trainTrack_1i0o3nj{margin-bottom:24px;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw}.trainWrapper_1d6605r{position:relative;width:100%;min-height:180px;overflow:hidden;--train-w: 2340px}@media (max-width: 600px){.trainWrapper_1d6605r{min-height:160px}}.train_8d8kkv{position:absolute;top:10px;left:calc(-1 * var(--train-w));width:var(--train-w);height:auto;display:block;will-change:left;animation:train-run 12s cubic-bezier(.22,1,.36,1) forwards}@keyframes train-run{0%{left:calc(-1 * var(--train-w))}to{left:calc(100% - var(--train-w))}}.error-code{font-size:6rem;font-weight:900;color:var(--accent-color, #4A90E2);margin:0;line-height:1}.error-title{font-size:2rem;font-weight:600;color:var(--text-color);margin:16px 0}.error-message{font-size:1.125rem;color:var(--text-color);opacity:.8;margin:0 0 40px}.error-suggestions{margin:40px 0}.error-suggestions h3{font-size:1.25rem;font-weight:600;color:var(--text-color);margin-bottom:16px}.error-suggestions ul{list-style:none;padding:0;margin:0}.error-suggestions li{padding:12px 20px;margin:8px 0;background:var(--card-background, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:12px;color:var(--text-color)}.error-suggestions li:hover{background:var(--card-background-hover, rgba(255, 255, 255, .1));border-color:var(--accent-color, #4A90E2);transform:translate(4px)}.error-suggestions li svg{flex-shrink:0;opacity:.7}.auto-redirect{margin-top:48px;padding-top:32px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.auto-redirect p{font-size:.9rem;color:var(--text-color);opacity:.7;margin:0 0 12px}.countdown{font-weight:700;color:var(--accent-color, #4A90E2)}.progress-bar{width:100%;height:4px;background:var(--card-background, rgba(255, 255, 255, .1));border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent-color, #4A90E2);transition:width 1s linear}@media (max-width: 600px){.error-code{font-size:4rem}.error-title{font-size:1.5rem}.error-message{font-size:1rem}.train-icon{width:150px}.error-suggestions li{padding:10px 16px;font-size:.9rem}}.quick-stats-page{max-width:1200px;margin:0 auto;padding:20px}.stats-header{text-align:center;margin-bottom:32px}.stats-header h1{font-size:2.5em;margin:0 0 8px;color:var(--text-color)}.stats-subtitle{font-size:1.1em;color:var(--secondary-text);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stats-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stats-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.stat-card{background:var(--service-background);border:1px solid var(--service-border);border-radius:8px;padding:20px;text-align:center;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#007bff}[data-theme=dark] .stat-card:hover{border-color:#4a9eff;box-shadow:0 4px 12px #4a9eff26}.stat-card-primary{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none}[data-theme=dark] .stat-card-primary{background:linear-gradient(135deg,#4a9eff,#007bff)}.stat-card-primary:hover{border-color:transparent;box-shadow:0 6px 16px #007bff4d}[data-theme=dark] .stat-card-primary:hover{box-shadow:0 6px 16px #4a9eff66}.stat-card-secondary{background:var(--background-color)}.stat-value{font-size:2.5em;font-weight:700;margin-bottom:8px;color:inherit}.stat-card-primary .stat-value{color:#fff}.stat-label{font-size:1em;font-weight:500;color:var(--secondary-text);text-transform:uppercase;letter-spacing:.5px}.stat-card-primary .stat-label{color:#ffffffe6}.stat-subtext{font-size:.85em;color:var(--secondary-text);margin-top:4px;opacity:.7}.stats-section{margin-bottom:40px}.stats-section h2{font-size:1.5em;margin:0 0 16px;color:var(--text-color);border-bottom:2px solid #007bff;padding-bottom:8px}[data-theme=dark] .stats-section h2{border-bottom-color:#4a9eff}.stats-list{background:var(--service-background);border:1px solid var(--service-border);border-radius:8px;overflow:hidden}.stats-list-item{display:flex;align-items:center;padding:16px;border-bottom:1px solid var(--service-border);transition:background-color .2s ease}.stats-list-item:last-child{border-bottom:none}.stats-list-item:hover{background:var(--service-hover-bg)}.stats-list-rank{font-size:1.2em;font-weight:700;color:#007bff;min-width:40px;margin-right:12px}[data-theme=dark] .stats-list-rank{color:#4a9eff}.stats-list-label{flex:1;font-size:1em;color:var(--text-color)}.stats-list-value{font-size:1em;font-weight:600;color:#007bff;margin-left:auto}[data-theme=dark] .stats-list-value{color:#4a9eff}@media (max-width: 768px){.quick-stats-page{padding:16px}.stats-header h1{font-size:2em}.stats-subtitle{font-size:1em}.stats-grid,.stats-grid-2,.stats-grid-3{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px}.stat-value{font-size:2em}.stats-section h2{font-size:1.3em}.stats-list-item{padding:12px}.stats-list-rank{min-width:30px;font-size:1em}.stats-list-label,.stats-list-value{font-size:.9em}}@media (max-width: 480px){.stats-grid,.stats-grid-2,.stats-grid-3{grid-template-columns:1fr}.stat-value{font-size:1.8em}.stats-list-item{flex-wrap:wrap}.stats-list-value{flex-basis:100%;text-align:right;margin-top:4px}}.report-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.report-modal{background:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.report-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid var(--border-color, #e0e0e0)}.report-modal-header h2{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #1a1a1a)}.report-modal-close{background:none;border:none;font-size:32px;line-height:1;color:var(--text-secondary, #666);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.report-modal-close:hover{background:var(--hover-bg, #f5f5f5);color:var(--text-primary, #1a1a1a)}.report-modal-service-info{padding:20px 24px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #e0e0e0)}.report-service-badge{display:inline-block;background:var(--accent-color, #2196F3);color:#fff;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:600;margin-bottom:8px}.report-service-route{font-size:18px;font-weight:500;color:var(--text-primary, #1a1a1a);margin-bottom:6px}.report-service-meta{font-size:14px;color:var(--text-secondary, #666)}.report-modal-form{padding:24px}.report-form-group{margin-bottom:20px}.report-form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary, #1a1a1a);font-size:14px}.required{color:#f44336}.report-select,.report-input,.report-textarea{width:100%;padding:12px;border:2px solid var(--border-color, #e0e0e0);border-radius:8px;font-size:14px;font-family:inherit;background:var(--bg-primary, #ffffff);color:var(--text-primary, #1a1a1a);transition:border-color .2s}.report-select:focus,.report-input:focus,.report-textarea:focus{outline:none;border-color:var(--accent-color, #2196F3)}.report-textarea{resize:vertical;min-height:120px}.report-char-count{text-align:right;font-size:12px;color:var(--text-secondary, #999);margin-top:4px}.report-help-text{font-size:12px;color:var(--text-secondary, #999);margin-top:4px}.report-status-message{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;font-weight:500;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.report-status-success{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.report-status-error{background:#ffebee;color:#c62828;border:1px solid #f44336}[data-theme=dark] .report-status-success{background:#4caf5033;color:#81c784;border-color:#4caf50}[data-theme=dark] .report-status-error{background:#f4433633;color:#e57373;border-color:#f44336}.report-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color, #e0e0e0)}.report-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none;font-family:inherit}.report-btn-secondary{background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #1a1a1a)}.report-btn-secondary:hover:not(:disabled){background:var(--hover-bg, #e0e0e0)}.report-btn-primary{background:var(--accent-color, #2196F3);color:#fff}.report-btn-primary:hover:not(:disabled){background:var(--accent-hover, #1976D2);transform:translateY(-1px);box-shadow:0 2px 8px #2196f34d}.report-btn:disabled{opacity:.5;cursor:not-allowed}.report-modal-footer{padding:16px 24px;background:var(--bg-secondary, #f8f9fa);border-top:1px solid var(--border-color, #e0e0e0);border-radius:0 0 12px 12px}.report-modal-footer p{margin:0;font-size:13px;color:var(--text-secondary, #666);line-height:1.5}[data-theme=dark] .report-modal{background:#1e1e1e}[data-theme=dark] .report-modal-header{border-bottom-color:#333}[data-theme=dark] .report-modal-header h2{color:#e0e0e0}[data-theme=dark] .report-modal-close{color:#999}[data-theme=dark] .report-modal-close:hover{background:#2a2a2a;color:#e0e0e0}[data-theme=dark] .report-modal-service-info{background:#2a2a2a;border-bottom-color:#333}[data-theme=dark] .report-service-route{color:#e0e0e0}[data-theme=dark] .report-service-meta{color:#999}[data-theme=dark] .report-select,[data-theme=dark] .report-input,[data-theme=dark] .report-textarea{background:#2a2a2a;border-color:#444;color:#e0e0e0}[data-theme=dark] .report-select:focus,[data-theme=dark] .report-input:focus,[data-theme=dark] .report-textarea:focus{border-color:#2196f3}[data-theme=dark] .report-modal-actions{border-top-color:#333}[data-theme=dark] .report-btn-secondary{background:#2a2a2a;color:#e0e0e0}[data-theme=dark] .report-btn-secondary:hover:not(:disabled){background:#333}[data-theme=dark] .report-modal-footer{background:#2a2a2a;border-top-color:#333}[data-theme=dark] .report-modal-footer p{color:#999}@media (max-width: 768px){.report-modal{max-height:95vh;margin:10px}.report-modal-header{padding:20px 16px 12px}.report-modal-header h2{font-size:20px}.report-modal-service-info,.report-modal-form{padding:16px}.report-modal-actions{flex-direction:column-reverse}.report-btn{width:100%}.report-modal-footer{padding:12px 16px}}.consent-banner-overlay{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:20px;pointer-events:none;animation:slideUp .3s ease-out}.consent-banner-overlay.closing{animation:slideDown .3s ease-in}.consent-banner{max-width:1200px;margin:0 auto;background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;box-shadow:0 8px 32px #0000001f;padding:24px;pointer-events:auto;display:flex;gap:20px;align-items:center;flex-wrap:wrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .3s ease-out}[data-theme=dark] .consent-banner{background:#1e1e1ef2;border-color:#ffffff1a;box-shadow:0 8px 32px #0006}.consent-banner.closing{animation:fadeOut .3s ease-in}.consent-banner-content{flex:1;display:flex;gap:16px;align-items:flex-start;min-width:280px}.consent-banner-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--primary-color, #3b82f6);border-radius:8px;color:#fff}.consent-banner-text{flex:1}.consent-banner-title{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-color, #000000)}.consent-banner-description{margin:0;font-size:14px;line-height:1.5;color:var(--text-secondary, #666666)}[data-theme=dark] .consent-banner-title{color:#fff}[data-theme=dark] .consent-banner-description{color:#b0b0b0}.consent-banner-link{color:var(--primary-color, #3b82f6);text-decoration:underline;cursor:pointer;transition:color .2s}.consent-banner-link:hover{color:var(--primary-hover, #2563eb)}.consent-banner-actions{display:flex;gap:12px;flex-shrink:0}.consent-banner-btn{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.cookie-consent-btn.accept{background:var(--primary-color, #3b82f6);color:#fff}.cookie-consent-btn.accept:hover{background:var(--primary-hover, #2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.cookie-consent-btn.decline{background:transparent;color:var(--text-secondary, #666666);border:1px solid var(--border-color, #e0e0e0)}.cookie-consent-btn.decline:hover{background:#0000000d;border-color:var(--text-secondary, #666666)}[data-theme=dark] .cookie-consent-btn.decline{color:#b0b0b0;border-color:#fff3}[data-theme=dark] .cookie-consent-btn.decline:hover{background:#ffffff1a;border-color:#ffffff4d}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@media (max-width: 768px){.consent-banner-overlay{padding:16px}.consent-banner{padding:20px;flex-direction:column;gap:16px}.consent-banner-content{flex-direction:column;align-items:center;text-align:center}.consent-banner-actions{width:100%;flex-direction:column-reverse}.consent-banner-btn{width:100%;padding:12px}.consent-banner-title{font-size:15px}.consent-banner-description{font-size:13px}}@media (max-width: 480px){.consent-banner{padding:16px}.consent-banner-icon{width:32px;height:32px}.cookie-consent-icon svg{width:20px;height:20px}}
