#journeyPlanner[hidden],#journeyPlanner [hidden]{display:none!important}
#journeyPlanner{position:fixed;z-index:100000;inset:0;background:rgba(0,0,0,.55);height:100dvh;color:var(--ink,#222);font-size:16px}
#journeyPlanner *{box-sizing:border-box}
.jp-shell{background:var(--paper,#fff);width:min(100%,780px);height:100%;margin:auto;display:flex;flex-direction:column;padding:8px;overflow:hidden}
.jp-shell header{display:flex;align-items:center;gap:8px;flex:none;border-bottom:1px solid #ccc}.jp-shell header h2{font-size:20px;margin:6px 0;flex:1}.jp-shell header button{padding:4px 14px;font-size:25px}
.jp-scroll{overflow:auto;flex:1;min-height:0;padding:8px;overscroll-behavior:contain}.jp-shell label{display:block;margin:8px 0}.jp-shell select{display:block;width:100%;margin-top:4px;min-height:44px;font-size:16px}.jp-shell button{min-height:42px;border:1px solid #aaa;border-radius:8px;cursor:pointer;background:var(--paper,#fff);color:inherit}.jp-shell button:disabled{opacity:.5;cursor:default}.jp-search{display:flex;gap:6px}.jp-search input{min-width:0;flex:1;font-size:16px;padding:8px}.jp-search button{flex:none;padding:6px 14px}.jp-candidates{display:grid;gap:5px;max-height:220px;overflow:auto}.jp-candidates button{text-align:left;padding:10px}.jp-route{border:1px solid #aaa;border-radius:10px;padding:12px;margin:10px 0}.jp-route h3{font-size:19px;margin:4px 0}.jp-route button{width:100%;margin-top:8px}.jp-note{font-size:13px;color:#777}
#jp-play{display:flex;flex-direction:column;flex:1;min-height:0;gap:6px;padding-top:6px}#jp-progress{flex:none}.jp-board{flex:1;min-height:0;overflow:auto;border:1px solid #aaa;border-radius:10px;padding:12px}#jp-line{margin:0 0 8px;font-weight:bold}#jp-track{position:relative;height:40px;border-bottom:4px solid #b38b34}#jp-vehicle{position:absolute;left:0;transition:left .4s;font-size:28px}#jp-word{font-size:clamp(22px,5vw,36px);overflow-wrap:anywhere;margin:12px 0}#jp-transfer{color:#956c16;font-weight:bold}.jp-entry{display:flex;gap:5px;flex:none;padding-bottom:env(safe-area-inset-bottom,0px)}.jp-entry input{flex:1;min-width:0;width:0;min-height:44px;font-size:18px;padding:7px;border:2px solid #b38b34;border-radius:7px}.jp-entry button{flex:0 0 62px;width:62px;padding:2px;font-size:12px;white-space:nowrap}#jp-itinerary{padding-left:22px;font-size:15px}#jp-itinerary li{padding:5px}.jp-current{font-weight:bold;background:#b38b3422}#jp-feedback{color:#b33}#freeJourneyOpen{width:100%;margin-top:10px;min-height:44px;border:1px solid #b38b34;border-radius:10px}
@media(min-width:821px){.jp-shell{height:95%;margin-top:1vh;border-radius:12px}}

/* Separate query inputs, selectable matches and selected endpoints. */
#journeyPlanner .jp-search input{border:2px solid #8f8778;border-radius:8px;background:var(--paper,#fff);color:var(--ink,#222)}
#journeyPlanner .jp-candidates{padding:6px;background:rgba(174,135,50,.08);border-radius:10px;margin:6px 0 14px}
#journeyPlanner .jp-candidates:empty{display:none}
#journeyPlanner .jp-station-result{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #ae8732;background:var(--paper,#fff);min-height:48px;padding:10px 12px}
#journeyPlanner .jp-result-name{font-size:16px;font-weight:700;text-align:left}
#journeyPlanner .jp-result-action{flex:none;font-size:13px;font-weight:700;color:var(--ink,#222);background:rgba(174,135,50,.2);border-radius:6px;padding:5px 8px}
#journeyPlanner [id$="-chosen"]{font-size:13px;margin:8px 0;color:var(--ink,#222)}
#journeyPlanner .jp-selected{padding:10px 12px;border-left:4px solid #ae8732;background:rgba(174,135,50,.12);font-weight:700}
