body.enhanced-journal{--base:#f4ecd7;--panel:#fff7e7;--panel2:#e7ead6;--ink:#253d32;--muted:#4a5e50;--border:#7d8d76;--link:#92382b;--action:#aa3d2e;--action-ink:#fff8e8;--route-red:#a94130;--route-green:#365d45;--route-gold:#886419;--stamp-bg:#fff3d8;--stamp-ink:#233f34;--cream:var(--base);--line:var(--border);color-scheme:light}
body.enhanced-journal[data-light=dawn]{--base:#efd8c8;--panel:#fff1df;--panel2:#e4ddc8;--ink:#293c33;--muted:#4b5b4e;--border:#897d68}
body.enhanced-journal[data-light=dusk]{--base:#cdb1a9;--panel:#f4e8dd;--panel2:#e5d1c0;--ink:#293a32;--muted:#394b3d;--border:#7a7566;--link:#813326}
body.enhanced-journal[data-light=night]{--base:#1b3038;--panel:#263f46;--panel2:#354f50;--ink:#fff0d3;--muted:#d1d9c9;--border:#96aa9a;--link:#ffc2a7;--action:#b34937;--action-ink:#fff8e8;--route-red:#edac94;--route-green:#aac9aa;--route-gold:#e2c17f;--stamp-bg:#f0e0c1;--stamp-ink:#233d32;color-scheme:dark}
body.enhanced-journal,body.enhanced-journal[data-light=day],body.enhanced-journal[data-light=night],body.enhanced-journal[data-light=dawn],body.enhanced-journal[data-light=dusk]{background-color:var(--base)!important;color:var(--ink)!important}
body.enhanced-journal a{color:var(--link)}body.enhanced-journal header{color:var(--ink);border-color:var(--border)}body.enhanced-journal header .brand small{color:var(--ink)!important;opacity:1}body.enhanced-journal header a{color:var(--ink)!important}
body.enhanced-journal button:not(.journal-lamp),body.enhanced-journal input:not([type=checkbox]),body.enhanced-journal select,body.enhanced-journal textarea{background:var(--panel)!important;color:var(--ink)!important;border-color:var(--border)!important;accent-color:var(--action)}
body.enhanced-journal button.active,body.enhanced-journal button[aria-pressed=true],body.enhanced-journal button[aria-selected=true],body.enhanced-journal .letter-submit,body.enhanced-journal .story-body button[data-story],body.enhanced-journal .swipe-arrows button{background:var(--action)!important;color:var(--action-ink)!important;border-color:var(--action)!important}
body.enhanced-journal button:focus-visible,body.enhanced-journal a:focus-visible,body.enhanced-journal select:focus-visible,body.enhanced-journal input:focus-visible{outline:3px solid var(--link)!important;outline-offset:4px}
body.enhanced-journal .story-cover button,body.enhanced-journal button.photo-open{background:none!important;border:0!important;box-shadow:none!important}
body.enhanced-journal .story-card,body.enhanced-journal .story-body,body.enhanced-journal .journal-mail,body.enhanced-journal .letter-card{background:var(--panel)!important;color:var(--ink)!important;border-color:var(--border)!important}
body.enhanced-journal .lead-story,body.enhanced-journal .lead-story .story-body{background:var(--panel2)!important}body.enhanced-journal .story-body h3,body.enhanced-journal .story-body .fine,body.enhanced-journal .story-body small{color:var(--ink)!important}
body.enhanced-journal .tag,body.enhanced-journal .section-heading .eyebrow,body.enhanced-journal .journal-hero .eyebrow,body.enhanced-journal .notice{background:var(--panel2)!important;color:var(--ink)!important;border-color:var(--border)!important}
body.enhanced-journal .fine,body.enhanced-journal .lead-label,body.enhanced-journal .weather-credit,body.enhanced-journal .travel-time,body.enhanced-journal .journal-stats,body.enhanced-journal .journal-stats span{color:var(--muted)!important}
body.enhanced-journal .wild-ribbon{background:var(--action)!important;color:var(--action-ink)!important;border-color:var(--border)!important}
body.enhanced-journal #story-dialog,body.enhanced-journal #photo-dialog{background:var(--panel)!important;color:var(--ink)!important;border-color:var(--border)!important}
body.enhanced-journal #story-dialog .story-text,body.enhanced-journal #story-dialog h2,body.enhanced-journal #story-dialog .fine,body.enhanced-journal .gallery figcaption,body.enhanced-journal #photo-dialog figcaption,body.enhanced-journal .photo-controls{color:var(--ink)!important}
body.enhanced-journal #story-dialog h2:before{color:var(--muted)!important}body.enhanced-journal #story-dialog[data-weather] .gallery figure{background:var(--panel2)!important}
body.enhanced-journal .prototype-controls{background:var(--panel)!important;color:var(--ink)!important;border-color:var(--border)!important}.prototype-controls summary,.prototype-controls label{color:inherit}.prototype-shortcuts a{color:var(--link)!important}.prototype-controls #layout-explanation{color:var(--muted)}
body.enhanced-journal .map-filters button,body.enhanced-journal .map-filters select{background:var(--panel)!important;color:var(--ink)!important}body.enhanced-journal .map-filters button[aria-pressed=true]{background:var(--action)!important;color:var(--action-ink)!important}
body.enhanced-journal .route-map{border:2px dashed var(--border)!important;border-radius:4px!important;box-shadow:5px 5px 0 color-mix(in srgb,var(--ink) 16%,transparent);background:var(--panel2)}.map-cartouche{display:flex;gap:13px;align-items:center;background:var(--panel2);color:var(--ink);border:1px solid var(--border);border-bottom:0;padding:10px 14px;margin-top:16px;border-radius:5px 5px 0 0;font:11px monospace}.map-cartouche b{font:italic 18px Georgia}.map-cartouche small{margin-left:auto;color:var(--muted);font-size:9px}
body.enhanced-journal .postage-marker{background:var(--stamp-bg)!important;color:var(--stamp-ink)!important;border-color:var(--stamp-ink)!important;box-shadow:3px 3px 0 #122e2444}body.enhanced-journal .postage-marker.food-stamp{background:#f4d7b5!important;color:#273b2e!important}.postage-marker small{color:inherit!important}.stamp-count{background:#a83e2d!important;color:#fff4da!important}
body.enhanced-journal .maplibregl-ctrl-attrib,body.enhanced-journal .maplibregl-ctrl-group{background:var(--panel)!important;color:var(--ink)!important}.maplibregl-ctrl-attrib a{color:inherit!important}body[data-light=night] .maplibregl-ctrl-icon{filter:invert(1)}.maplibregl-ctrl-attrib-button{background-color:var(--panel)!important}
.route-sketch{height:auto!important;max-width:680px;overflow:visible!important;margin:-4px 0 17px!important;padding:0;color:var(--ink)}.rail-caption{display:flex;justify-content:space-between;gap:10px;font:9px/1.5 monospace;letter-spacing:1px;color:var(--muted);padding:4px 1px;border-bottom:1px dashed var(--border)}.rail-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain}.rail-track{display:flex;width:max-content;min-width:100%;position:relative;padding:10px 5px 6px}.rail-station{--station-line:var(--route-red);position:relative;flex:0 0 102px;width:102px;height:100px;text-align:center}.rail-station[data-country=E]{--station-line:var(--route-green)}.rail-station[data-country=T]{--station-line:var(--route-gold)}.rail-station:before{content:'';position:absolute;left:-50%;width:100%;top:34px;height:4px;background:var(--station-line);border-radius:4px}.rail-station:first-child:before{display:none}
body.enhanced-journal .route-sketch .rail-station button{display:grid;grid-template-rows:31px 15px 14px 13px;justify-items:center;gap:2px;width:100%;height:100%;padding:19px 4px 0;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink)!important;position:relative;transform:none!important;font:11px/1.2 monospace;cursor:pointer}
.station-symbol{box-sizing:border-box;border:3px solid var(--station-line);border-radius:50%;width:31px;height:31px;background:var(--panel);color:var(--ink);font:700 10px/25px monospace;position:relative;z-index:1}.station-name{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 12px/1.25 Georgia,'Hiragino Sans',serif}.station-name[lang=ja]{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:12px}.station-subname{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font:9px/1.3 'Hiragino Sans',system-ui,sans-serif}.rail-station time{font-size:9px;color:var(--muted)}.rail-vehicle{position:absolute;left:-12px;top:23px;z-index:3;background:var(--base);font-size:13px;padding:0 3px}.route-sketch .route-person{width:23px;height:28px;position:absolute;left:calc(50% - 11px);top:-7px;color:var(--ink);fill:currentColor;z-index:4}.current .station-symbol{box-shadow:0 0 0 3px var(--panel),0 0 0 4px var(--station-line)}.current .station-name{color:var(--route-red);font-weight:700}
.route-sketch[data-style=passport] .rail-track{padding-top:14px}.route-sketch[data-style=passport] .rail-station{flex-basis:116px;width:116px;height:110px}.route-sketch[data-style=passport] .rail-station:before{height:1px;top:57px;background:var(--border)}.route-sketch[data-style=passport] .station-symbol{position:absolute;top:7px;left:12px;width:93px;height:93px;border:2px double var(--station-line);border-radius:50%;transform:rotate(-8deg);background:var(--panel)}.passport-country{position:absolute;top:9px;left:0;right:0;line-height:1;font:8px monospace;letter-spacing:2px}.route-sketch[data-style=passport] .station-name{position:absolute;top:39px;left:4px;right:4px;z-index:2}.route-sketch[data-style=passport] .station-subname{position:absolute;top:57px;left:3px;right:3px;z-index:2}.route-sketch[data-style=passport] .rail-station time{position:absolute;top:74px;left:0;right:0;z-index:2}.route-sketch[data-style=passport] .rail-vehicle{top:48px}.route-sketch[data-style=passport] .route-person{top:-9px}.route-sketch[data-style=passport] .current .station-symbol{border-style:dashed;background:var(--panel2);box-shadow:none}
.station-board{border:1px solid var(--border);background:var(--panel);border-radius:4px;overflow:hidden;margin-top:4px}.station-board-caption{display:flex;justify-content:space-between;padding:6px 11px;font:8px monospace;color:var(--muted);letter-spacing:1px;border-bottom:1px solid var(--border)}.station-board-main{display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:8px;padding:8px 10px}.station-board-main button{border:0!important;background:transparent!important;box-shadow:none!important;display:flex;flex-direction:column;align-items:center;color:var(--ink)!important;padding:5px;min-height:58px;justify-content:center;cursor:pointer}.station-board-main .board-current{position:relative;border-left:1px dashed var(--border)!important;border-right:1px dashed var(--border)!important;border-radius:0;min-width:0}.board-current .station-name{font:italic 23px Georgia,'Hiragino Sans',serif;max-width:100%;color:var(--route-red)}.board-current .station-name[lang=ja]{font-size:23px;font-style:normal}.board-current .route-person{left:3px;top:0;width:17px;height:22px}.station-board-main time{font:9px monospace;color:var(--muted);margin-top:3px}.board-neighbour{text-align:center;font-size:11px}.board-neighbour .station-name{font-size:12px}.board-here-label{font:16px Georgia}.board-here-label small{font:9px monospace;color:var(--muted)}.station-board-band{display:flex;justify-content:space-between;background:var(--action);color:var(--action-ink);padding:4px 10px;font:8px monospace;letter-spacing:1px}.station-history{display:flex;gap:5px;overflow-x:auto;padding:6px 0;scrollbar-width:thin}.station-history button{flex:0 0 auto;padding:6px 9px!important;font:9px monospace;min-height:32px;border-radius:3px!important}.station-history [aria-current]{background:var(--action)!important;color:var(--action-ink)!important}
.settings-location-note{padding:15px;background:#e8ecdc;color:#263e32;border:1px solid #8e9c83;border-radius:5px;line-height:1.7}.mosaic-stories .mini-card{min-width:0}.language-indicator{white-space:nowrap}
@media(max-width:700px){.rail-station{flex-basis:95px;width:95px}.station-name{font-size:11px}.station-name[lang=ja]{font-size:11px}.route-sketch{margin-bottom:12px!important}.map-cartouche{padding:9px 11px;gap:9px}.map-cartouche b{font-size:15px}.map-cartouche small{display:none}.station-board-main{gap:4px;padding:5px}.board-current .station-name{font-size:20px}.board-current .station-name[lang=ja]{font-size:18px}.board-neighbour .station-name{font-size:10px}.station-board-caption{font-size:7px}.rail-caption{font-size:8px}.route-sketch[data-style=passport] .rail-station{flex-basis:110px;width:110px}}
@media(prefers-reduced-motion:reduce){.station-name,.station-subname{transition:none}}

body.enhanced-journal{transition:none!important}.metro-schematic{position:relative;min-width:300px;margin:8px 0 2px}.metro-schematic>svg{position:absolute;inset:0;pointer-events:none}.metro-position{position:absolute;width:100px;height:76px}.metro-schematic .rail-station{width:100px;height:76px}.metro-schematic .rail-station:before{display:none}body.enhanced-journal .route-sketch .metro-schematic .rail-station button{display:block;padding:0}.metro-schematic .station-symbol{position:absolute;top:15px;left:37px;width:26px;height:26px;font-size:8px;line-height:20px}.metro-schematic .station-name{position:absolute;top:45px;left:3px;right:3px;font-size:11px}.metro-schematic .station-subname{display:none}.metro-schematic .rail-station time{position:absolute;top:61px;left:0;right:0;font-size:9px}.metro-schematic .rail-vehicle{top:17px;left:-8px;background:var(--base)}.metro-return .rail-vehicle{left:auto;right:-8px}.metro-schematic .route-person{top:-10px;left:calc(50% - 11px)}

body.enhanced-journal a.button{background:var(--action)!important;color:var(--action-ink)!important;border-color:var(--border)!important}body.enhanced-journal h1 em{color:var(--link)!important;text-shadow:2px 2px 0 var(--base)}body.enhanced-journal .lead-story:before{background:var(--panel2)!important;color:var(--ink)!important;border-color:var(--border)!important}.enhanced-journal .wild-ticket{background:#efc4ba;color:#273d32}.enhanced-journal .art-caption{background:#fff4dc;color:#273d32;padding:3px 6px}.enhanced-journal .travel-time{width:100%;max-width:680px;border-color:var(--border)}.enhanced-journal .journal-hero>div:first-child{min-width:0}

body.enhanced-journal button.journal-lamp[aria-pressed]{background:none!important;border:0!important;box-shadow:none!important}body.enhanced-journal button.postage-marker{background:var(--stamp-bg)!important;color:var(--stamp-ink)!important;border-color:var(--stamp-ink)!important}body.enhanced-journal button.postage-marker.food-stamp{background:#f4d7b5!important;color:#273b2e!important}

body.enhanced-journal button.postage-marker{width:60px!important;height:68px!important;padding:4px!important;grid-template-rows:30px 23px;align-items:center;font-size:25px!important;line-height:1}.postage-marker small{max-width:48px;width:48px;font:9px/1.15 monospace!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;text-align:center}

.enhanced-journal .demo-photo,.enhanced-journal .research-card{background:var(--panel)!important;color:var(--ink)!important;border-color:var(--border)!important}.enhanced-journal .demo-note{background:var(--panel2)!important;color:var(--ink)!important;border-color:var(--border)!important}.enhanced-journal .demo-links a{background:var(--action)!important;color:var(--action-ink)!important}.enhanced-journal .research-card h2{color:var(--ink)}

.station-board-main{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr)}.board-neighbour{min-width:0}.board-neighbour button{max-width:100%;width:100%;min-width:0}.board-current .station-name{width:100%}@media(max-width:700px){.board-current .station-name[lang=ja]{font-size:14.5px}}

.metro-schematic .rail-station,.metro-position{height:62px}.metro-schematic .station-symbol{top:7px;left:39px;width:22px;height:22px;font-size:7px;line-height:16px}.metro-schematic .station-name{top:34px;font-size:10.5px}.metro-schematic .rail-station time{top:49px}.metro-schematic .rail-vehicle{top:8px}.metro-schematic .route-person{top:-8px;width:20px;height:23px}.metro-return .route-person{top:3px;left:calc(50% + 14px);width:17px;height:21px}.enhanced-journal .route-label{display:none}

/* Ronde 3: één reisregel over de volle breedte, zonder horizontaal schuiven. */
.travel-route-header{grid-column:1/-1;min-width:0;margin:4px 0 24px;width:100%}.travel-route-header .travel-time{max-width:none;width:100%;margin-bottom:12px}.travel-route-header .route-sketch{max-width:none;width:100%;height:auto;margin:0;overflow:visible;box-sizing:border-box}.travel-route-header .metro-schematic{position:relative;width:100%;max-width:100%;overflow:visible}.metro-lines{position:absolute;inset:0;pointer-events:none}.travel-route-header .metro-position{position:absolute;width:var(--station-width);height:112px}.travel-route-header .metro-schematic .rail-station{width:100%;height:112px;position:relative}.travel-route-header .metro-schematic .rail-station button{position:relative;width:100%;height:110px;display:block;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--ink)!important;padding:0!important;transform:none!important}.travel-route-header .metro-schematic .station-symbol{position:absolute;left:calc(50% - 17px);top:7px;width:34px;height:34px;border:4px solid var(--route-green);background:var(--panel);color:var(--ink);border-radius:50%;display:grid;place-items:center;font:700 11px/1 system-ui;box-sizing:border-box}.travel-route-header [data-country=J] .station-symbol{border-color:var(--route-red)}.travel-route-header [data-country=T] .station-symbol{border-color:var(--route-gold)}.travel-route-header .current .station-symbol{box-shadow:0 0 0 5px var(--panel),0 0 0 7px var(--ink)}.travel-route-header .metro-schematic .station-name{position:absolute;top:49px;left:4px;right:4px;font:700 15px/1.3 system-ui;text-align:center;white-space:normal;overflow-wrap:anywhere;color:var(--ink)}.travel-route-header .metro-schematic .station-subname{position:absolute;top:72px;left:2px;right:2px;display:block;text-align:center;font:11px/1.25 system-ui;color:var(--muted)}.travel-route-header .metro-schematic time{position:absolute;top:91px;left:0;right:0;text-align:center;font:11px/1.2 system-ui;color:var(--muted)}.travel-route-header .rail-vehicle{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;z-index:2;width:29px;height:32px;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--ink);box-sizing:border-box}.rail-vehicle svg{width:21px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.travel-route-header .station-history{display:flex;flex-wrap:wrap;overflow:visible;gap:7px}.travel-route-header .rail-caption{padding:0 0 12px;font-size:11px}.station-board .board-current{padding-left:15px!important}.place-coordinate-row{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid var(--border,#87917e);border-radius:10px}.place-coordinate-row input{width:100%;box-sizing:border-box}.place-coordinate-row a{font-size:12px}
@media(max-width:700px){.travel-route-header .metro-schematic .station-name{font-size:13px}.travel-route-header .metro-schematic .station-subname{font-size:10px}.travel-route-header .rail-caption{font-size:9px;gap:8px}.travel-route-header .station-board-main{grid-template-columns:1fr 1.3fr 1fr}.travel-route-header .board-current .station-name{font-size:24px}.travel-route-header .board-neighbour .station-name{font-size:12px}.travel-route-header .board-neighbour .station-subname{font-size:10px}.travel-route-header .rail-vehicle{width:25px;height:29px}}

.travel-mode-preview{display:flex;align-items:center;gap:12px;min-height:36px;color:var(--ink,#253d32)}.travel-mode-preview svg{flex-shrink:0;width:28px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.place-coordinate-row{color:var(--ink,#253d32)}

.travel-route-header .metro-schematic{min-width:0}.travel-route-header .metro-schematic .rail-station button:focus-visible{outline:2px dashed var(--ink);outline-offset:-2px;border-radius:8px}
