.ferry-lines{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:12px 0}.ferry-lines button{border:1px solid var(--ui-line);background:var(--ui-paper);border-radius:5px;padding:9px}.ferry-lines button[aria-pressed=true]{background:#006bb5;color:white;border-color:#006bb5}.ferry-journeys{margin-bottom:16px}.ferry-journeys p{font-size:12px;font-weight:600;margin:15px 0 6px}.ferry-journeys button{display:block;text-align:left;width:100%;background:none;border-left:2px solid #006bb5;padding:5px 10px;font-size:11px}.ferry-journeys button:hover{background:var(--ui-wash)}.ferry-schedule{border-top:1px solid var(--ui-line);margin-top:18px;padding-top:6px}.ferry-schedule h3{font:20px Georgia,serif}.ferry-time-fields{display:grid;grid-template-columns:1.3fr 1fr;gap:7px}.ferry-time-fields label{display:grid;gap:5px;font-size:11px;min-width:0}.ferry-time-fields input{width:100%;min-width:0;border:1px solid var(--ui-line);background:var(--ui-paper);padding:7px 3px;border-radius:4px}.ferry-time-fields button{grid-column:1/-1;padding:7px;background:var(--ui-wash);border-radius:4px}.ferry-departures{margin:12px 0}.ferry-departure{display:grid;grid-template-columns:46px 28px 1fr;gap:7px;align-items:center;border-bottom:1px solid var(--ui-wash);padding:10px 0;font-size:11px}.ferry-departure time{font-variant-numeric:tabular-nums;font-weight:650;font-size:14px}.ferry-badge{background:#006bb5;color:white;padding:3px;border-radius:3px;text-align:center}.ferry-schedule>a{font-size:11px}.map-feature-marker[data-kind=ferry] .map-feature-symbol{background:#006bb5;color:white}
#feedback-open{position:absolute;right:20px;top:18px;bottom:auto;z-index:25;background:var(--ui-ink);color:var(--ui-paper);border:1px solid var(--ui-paper);box-shadow:0 3px 18px #0002;padding:10px 15px;border-radius:22px;font-size:12px}#feedback-dialog{max-width:480px;width:calc(100vw - 28px);padding:25px;color:var(--ui-ink);background:var(--ui-paper);border:1px solid var(--ui-line);border-radius:14px}#feedback-dialog::backdrop{background:#25232988}#feedback-dialog h2{font:30px Georgia,serif;margin:0}#feedback-dialog .feedback-header{display:flex;justify-content:space-between;gap:16px;align-items:center}#feedback-dialog .feedback-header button{background:none;font-size:25px}#feedback-form{display:grid;gap:14px;margin-top:22px}#feedback-form>label{display:grid;gap:7px;font-size:13px}#feedback-form select,#feedback-form textarea,#feedback-email{width:100%;padding:12px;border:1px solid var(--ui-line);border-radius:6px;background:var(--ui-surface);font:inherit}#feedback-form textarea{min-height:130px;resize:vertical}#feedback-form textarea:focus-visible{outline:3px solid var(--ui-accent)}#feedback-form .feedback-view{display:flex;align-items:flex-start;font-size:12px}#feedback-form p{margin:0;font-size:12px;line-height:1.6;color:var(--ui-muted)}#feedback-send{padding:12px;background:var(--ui-accent);color:white;border-radius:6px}.feedback-trap{position:absolute;left:-10000px;opacity:0;pointer-events:none}#feedback-status{font-size:13px;line-height:1.5}#feedback-status[data-error=true]{color:#a02c39}@media(max-width:600px){#feedback-open{right:12px;top:14px;bottom:auto;font-size:11px;padding:9px 12px}}
.ferry-overview{width:100%;padding:8px;background:var(--ui-wash);border-radius:4px;font-size:12px}
.ferry-card{width:350px}.ferry-card .place-card-body{padding-top:24px}.ferry-card h2{margin-bottom:10px}.ferry-card-lines{display:flex;gap:5px}.ferry-card-lines .ferry-badge{font-size:12px;min-width:28px;padding:4px 6px}.ferry-anchor{background:#006bb5;box-shadow:0 0 0 1px #006bb5,0 3px 15px #0005}
.ferry-card .ferry-schedule{border-top:0;margin-top:18px;padding:0}.ferry-card .ferry-schedule h3{font:600 13px 'Avenir Next',Avenir,sans-serif;margin:0}.ferry-card .ferry-when{font-size:11px;color:var(--ui-muted);margin:5px 0 10px}.ferry-card .ferry-departure{grid-template-columns:47px 29px 1fr;font-size:12px;padding:10px 0}.ferry-card .ferry-departure time{font-size:16px}.ferry-card .ferry-service-note{font-size:11px;color:var(--ui-muted);margin:14px 0 8px}.ferry-card .ferry-schedule>a{font-size:12px;color:var(--ui-accent);text-underline-offset:3px}
.ferry-date-options,.ferry-provenance{font-size:12px;color:var(--ui-muted);margin-top:12px}.ferry-date-options summary,.ferry-provenance summary{cursor:pointer;padding:8px 0}.ferry-date-options .ferry-time-fields{margin-top:6px}.ferry-card .ferry-provenance p{font-size:11px;line-height:1.6}.ferry-next-day{padding:10px 12px;background:var(--ui-wash);border-radius:4px;font-size:12px}.ferry-card .place-card-footer{margin-top:12px}.ferry-card .ferry-departures>p{font-size:13px}
.ferry-overlay[data-mobile=true] .ferry-card{max-height:68%;width:calc(100% - 24px)}.ferry-overlay[data-mobile=true] .ferry-card h2{font-size:24px}.ferry-overlay[data-mobile=true] .ferry-card .place-card-body{padding:16px}.ferry-overlay[data-mobile=true] .ferry-card .ferry-schedule{margin-top:14px}

.railway-panel{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--border,#ded9ce)}.railway-panel>button{text-align:left;padding:11px 12px;border:1px solid #d8d1c6;border-radius:6px;background:#f9f7f1;color:#782f42}.railway-panel .tree-toggle{display:flex;align-items:center;gap:8px}.railway-panel p{margin:0}
