:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.dark .schedule-container,.dark .weather-container,.dark .webcams-container{color:var(--text-primary)}.dark .trip-card,.dark .weather-card,.dark .webcam-card{background:var(--bg-secondary)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.dark .trip-card:hover,.dark .weather-card:hover,.dark .webcam-card:hover{border-color:var(--accent-blue)!important}.dark .trip-card.to-island{border-left:4px solid var(--accent-blue)!important}.dark .trip-card.to-mainland{border-left:4px solid var(--accent-orange)!important}.dark .trip-card.to-mainland:hover{border-color:var(--accent-orange)!important}.dark .legend{background:var(--bg-tertiary)!important}.dark .legend-item,.dark .section-label{color:var(--text-secondary)!important}.dark .location-name,.dark h2,.dark h3,.dark .location,.dark .temp,.dark .condition,.dark .wind{color:var(--text-primary)!important}.dark .condition{color:var(--text-tertiary)!important}.dark .wind,.dark .location-time{color:var(--accent-blue)!important}.dark label,.dark .label{color:var(--text-secondary)!important}.dark .route-btn{background:var(--bg-secondary)!important;border-color:var(--border-color)!important;color:var(--text-tertiary)!important}.dark .route-btn:hover{border-color:var(--accent-blue)!important;color:var(--text-secondary)!important}.dark .route-btn.active{background:var(--accent-blue)!important;border-color:var(--accent-blue)!important;color:#fff!important}.dark input[type=date]{background:var(--bg-secondary)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.dark .loading{background:#3b82f633!important;color:var(--accent-blue)!important}.dark .error{background:#dc262633!important;color:#fca5a5!important}.dark .no-data{background:var(--bg-tertiary)!important;color:var(--text-tertiary)!important}.dark .enroute-badge-container .enroute-badge{background:#059669!important}.dark .high-speed-badge{background:#3b82f64d!important;color:var(--accent-blue)!important}.dark .diverted-help{color:var(--accent-orange)!important}.dark .last-updated{color:#10b981!important}.dark .refresh-btn,.dark .close-btn{background:var(--accent-blue)!important;color:#fff!important}.dark .modal-content{background:var(--bg-secondary)!important;color:var(--text-primary)!important}.dark .modal-header{border-bottom-color:var(--border-color)!important}.dark .webcam-image-container{background:var(--bg-tertiary)!important}.dark .more-info{border-top-color:var(--border-color)!important;color:var(--accent-blue)!important}.schedule-container.svelte-16u1dk6{padding:1rem;max-width:800px;margin:0 auto}.controls.svelte-16u1dk6{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.control-group.svelte-16u1dk6{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.legend.svelte-16u1dk6{display:flex;gap:1.5rem;justify-content:center;padding:.75rem;background:#f9fafb;border-radius:.5rem;margin-bottom:1rem;flex-wrap:wrap}.legend-item.svelte-16u1dk6{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#374151}.legend-color.svelte-16u1dk6{width:20px;height:20px;border-radius:.25rem;display:inline-block}.last-updated.svelte-16u1dk6{color:#059669;font-weight:500;margin-left:auto}@media(max-width:640px){.legend.svelte-16u1dk6{flex-direction:column;align-items:center}.last-updated.svelte-16u1dk6{width:100%;text-align:center;margin-left:0;padding-top:.5rem;border-top:1px solid #e5e7eb}}label.svelte-16u1dk6,.label.svelte-16u1dk6{font-weight:600;font-size:.9rem;color:#374151}.route-toggle.svelte-16u1dk6{display:flex;gap:.5rem}.route-btn.svelte-16u1dk6{flex:1;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:.95rem;font-weight:500;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s}.route-btn.svelte-16u1dk6:hover{border-color:#3b82f6;color:#374151}.route-btn.active.svelte-16u1dk6{background:#3b82f6;border-color:#3b82f6;color:#fff}input[type=date].svelte-16u1dk6{padding:.75rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;background:#fff;color:#111827;transition:border-color .2s}input[type=date].svelte-16u1dk6:focus{outline:none;border-color:#3b82f6}.loading.svelte-16u1dk6,.error.svelte-16u1dk6,.no-data.svelte-16u1dk6{padding:2rem;text-align:center;border-radius:.5rem;margin-top:1rem}.loading.svelte-16u1dk6{background:#eff6ff;color:#3b82f6}.error.svelte-16u1dk6{background:#fef2f2;color:#dc2626}.no-data.svelte-16u1dk6{background:#f9fafb;color:#6b7280}.trips.svelte-16u1dk6{display:flex;flex-direction:column;gap:.75rem}.trip-card.svelte-16u1dk6{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;padding:1rem;transition:all .2s}.trip-card.to-island.svelte-16u1dk6:hover{border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a}.trip-card.to-mainland.svelte-16u1dk6:hover{border-color:#f59e0b;box-shadow:0 4px 6px -1px #0000001a}.trip-card.enroute.svelte-16u1dk6{background:#ecfdf5;border-color:#10b981}.trip-card.completed.svelte-16u1dk6{opacity:.7}.trip-card.to-island.svelte-16u1dk6{border-left:4px solid #3b82f6}.trip-card.to-mainland.svelte-16u1dk6{border-left:4px solid #f59e0b}.trip-header.svelte-16u1dk6{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.status.svelte-16u1dk6{font-size:1.5rem}.enroute-badge-container.svelte-16u1dk6{margin-bottom:.5rem;padding-left:2.25rem}.enroute-badge.svelte-16u1dk6{background:#10b981;color:#fff;padding:.25rem .75rem;border-radius:.375rem;font-size:.85rem;font-weight:600;white-space:nowrap;display:inline-block}.trip-details.svelte-16u1dk6{padding-left:2.25rem;display:flex;gap:1.5rem;flex-wrap:wrap}.departure-section.svelte-16u1dk6,.arrival-section.svelte-16u1dk6{flex:1;min-width:150px}.section-label.svelte-16u1dk6{font-size:.75rem;text-transform:uppercase;color:#9ca3af;font-weight:600;margin-bottom:.25rem;letter-spacing:.05em}.location-name.svelte-16u1dk6{font-size:1.1rem;font-weight:600;color:#111827}.location-name.diverted-old.svelte-16u1dk6{text-decoration:line-through;color:#dc2626;font-size:.95rem}.location-name.diverted-new.svelte-16u1dk6{color:#059669;font-weight:700}.diverted-help.svelte-16u1dk6{font-size:.75rem;color:#f59e0b;font-weight:500;margin:.25rem 0}.location-time.svelte-16u1dk6{font-size:1.25rem;font-weight:700;color:#3b82f6;margin-top:.25rem}.high-speed-badge.svelte-16u1dk6{width:100%;margin-top:.5rem;padding:.5rem;background:#dbeafe;color:#1e40af;border-radius:.375rem;font-size:.85rem;font-weight:600;text-align:center}@media(max-width:640px){.controls.svelte-16u1dk6{flex-direction:column}.control-group.svelte-16u1dk6{min-width:100%}.trip-card.svelte-16u1dk6{padding:.75rem}.status.svelte-16u1dk6{font-size:1.25rem}.enroute-badge.svelte-16u1dk6{font-size:.75rem;padding:.2rem .5rem}.enroute-badge-container.svelte-16u1dk6{padding-left:1.75rem}.trip-details.svelte-16u1dk6{padding-left:1.75rem;flex-direction:column;gap:1rem}.departure-section.svelte-16u1dk6,.arrival-section.svelte-16u1dk6{min-width:100%}.location-name.svelte-16u1dk6{font-size:1rem}.location-time.svelte-16u1dk6{font-size:1.1rem}}.webcams-container.svelte-1hdfcet{padding:1rem;max-width:1200px;margin:0 auto}.header.svelte-1hdfcet{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}h2.svelte-1hdfcet{font-size:1.5rem;color:#111827;margin:0}.refresh-info.svelte-1hdfcet{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.last-update.svelte-1hdfcet{font-size:.9rem;color:#6b7280}.refresh-btn.svelte-1hdfcet{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.refresh-btn.svelte-1hdfcet:hover{background:#2563eb}.refresh-btn.svelte-1hdfcet:active{transform:scale(.98)}.webcams-grid.svelte-1hdfcet{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1rem}.webcam-card.svelte-1hdfcet{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;padding:1rem;transition:all .2s}.webcam-card.svelte-1hdfcet:hover{border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a}h3.svelte-1hdfcet{font-size:1.1rem;color:#374151;margin:0 0 1rem;font-weight:600}.webcam-image-container.svelte-1hdfcet{position:relative;width:100%;border-radius:.5rem;overflow:hidden;background:#f3f4f6;aspect-ratio:16 / 9;cursor:pointer;transition:transform .2s}.webcam-image-container.svelte-1hdfcet:hover{transform:scale(1.02)}.webcam-image-container.svelte-1hdfcet:hover .expand-hint:where(.svelte-1hdfcet){opacity:1}.webcam-image.svelte-1hdfcet{width:100%;height:100%;object-fit:cover;display:block}.expand-hint.svelte-1hdfcet{position:absolute;bottom:.5rem;right:.5rem;background:#000000b3;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;opacity:0;transition:opacity .2s;pointer-events:none}.modal-overlay.svelte-1hdfcet{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content.svelte-1hdfcet{background:#fff;border-radius:.75rem;max-width:1200px;width:100%;max-height:90vh;overflow:auto}.modal-header.svelte-1hdfcet{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:2px solid #e5e7eb}.modal-header.svelte-1hdfcet h3:where(.svelte-1hdfcet){margin:0;font-size:1.25rem}.close-btn.svelte-1hdfcet{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.25rem .5rem;line-height:1}.close-btn.svelte-1hdfcet:hover{color:#111827}.modal-image.svelte-1hdfcet{width:100%;height:auto;display:block}.note.svelte-1hdfcet{text-align:center;color:#6b7280;font-size:.85rem;margin-top:1.5rem}@media(max-width:640px){.header.svelte-1hdfcet{flex-direction:column;align-items:flex-start}.webcams-grid.svelte-1hdfcet{grid-template-columns:1fr}.refresh-info.svelte-1hdfcet{width:100%;justify-content:space-between}}.weather-container.svelte-12dq8b{padding:1rem;max-width:1200px;margin:0 auto}h2.svelte-12dq8b{font-size:1.5rem;color:#111827;margin:0 0 1.5rem}.loading.svelte-12dq8b,.error.svelte-12dq8b{padding:2rem;text-align:center;border-radius:.5rem}.loading.svelte-12dq8b{background:#eff6ff;color:#3b82f6}.error.svelte-12dq8b{background:#fef2f2;color:#dc2626}.weather-grid.svelte-12dq8b{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.weather-card.svelte-12dq8b{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;text-align:center;transition:all .2s;text-decoration:none;color:inherit;display:block;cursor:pointer}.weather-card.svelte-12dq8b:hover{border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.weather-card.svelte-12dq8b:hover .more-info:where(.svelte-12dq8b){opacity:1}.location.svelte-12dq8b{font-size:1rem;font-weight:600;color:#374151;margin-bottom:.75rem}.icon.svelte-12dq8b{font-size:3rem;margin:.5rem 0}.temp.svelte-12dq8b{font-size:2rem;font-weight:700;color:#111827;margin:.5rem 0}.condition.svelte-12dq8b{font-size:.9rem;color:#6b7280;margin-bottom:.5rem}.wind.svelte-12dq8b{font-size:.85rem;color:#3b82f6;font-weight:500}.more-info.svelte-12dq8b{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e5e7eb;font-size:.8rem;color:#3b82f6;font-weight:600;opacity:0;transition:opacity .2s}@media(max-width:640px){.weather-grid.svelte-12dq8b{grid-template-columns:1fr}}:root{--bg-primary: #f9fafb;--bg-secondary: #ffffff;--bg-tertiary: #f3f4f6;--text-primary: #111827;--text-secondary: #374151;--text-tertiary: #6b7280;--border-color: #e5e7eb;--accent-blue: #3b82f6;--accent-orange: #f59e0b}.dark{--bg-primary: #111827;--bg-secondary: #1f2937;--bg-tertiary: #374151;--text-primary: #f9fafb;--text-secondary: #e5e7eb;--text-tertiary: #9ca3af;--border-color: #4b5563;--accent-blue: #60a5fa;--accent-orange: #fbbf24}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s,color .3s}*{box-sizing:border-box}.app.svelte-1n46o8q{min-height:100vh;display:flex;flex-direction:column}header.svelte-1n46o8q{background:linear-gradient(135deg,#1e40af 0%,var(--accent-blue) 100%);color:#fff;padding:2rem 1rem;box-shadow:0 4px 6px -1px #0000001a}.header-content.svelte-1n46o8q{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}.theme-toggle.svelte-1n46o8q{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:1.5rem;width:3rem;height:3rem;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.theme-toggle.svelte-1n46o8q:hover{background:#ffffff4d;transform:scale(1.1)}h1.svelte-1n46o8q{margin:0;font-size:2rem;font-weight:700}.subtitle.svelte-1n46o8q{margin:.5rem 0 0;font-size:1rem;opacity:.9}.tabs.svelte-1n46o8q{display:flex;justify-content:center;gap:.5rem;padding:1rem;background:var(--bg-secondary);border-bottom:2px solid var(--border-color);position:sticky;top:0;z-index:10;box-shadow:0 1px 3px #0000001a}.tab.svelte-1n46o8q{padding:.75rem 1.5rem;border:none;background:var(--bg-tertiary);color:var(--text-tertiary);font-size:1rem;font-weight:500;border-radius:.5rem;cursor:pointer;transition:all .2s}.tab.svelte-1n46o8q:hover{background:var(--border-color);color:var(--text-secondary)}.tab.active.svelte-1n46o8q{background:var(--accent-blue);color:#fff}main.svelte-1n46o8q{flex:1;padding:1rem 0}footer.svelte-1n46o8q{padding:2rem 1rem;text-align:center;background:var(--bg-secondary);border-top:2px solid var(--border-color);margin-top:2rem}footer.svelte-1n46o8q p:where(.svelte-1n46o8q){margin:0;color:var(--text-tertiary);font-size:.9rem}footer.svelte-1n46o8q a:where(.svelte-1n46o8q){color:var(--accent-blue);text-decoration:none}footer.svelte-1n46o8q a:where(.svelte-1n46o8q):hover{text-decoration:underline}@media(max-width:640px){h1.svelte-1n46o8q{font-size:1.5rem}.subtitle.svelte-1n46o8q{font-size:.9rem}.tabs.svelte-1n46o8q{gap:.25rem}.tab.svelte-1n46o8q{padding:.625rem 1rem;font-size:.9rem}}
