:root{font-family:Segoe UI,Arial,sans-serif;color:#2c423a;background:#ede9df;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}#app,#scene{position:fixed;inset:0}#scene{background:#ede9df}#scene canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.masthead{position:absolute;top:42px;left:48px;display:flex;align-items:flex-start;gap:16px;pointer-events:none}.brand-mark{width:42px;height:47px;display:grid;place-items:center;color:#f8f0db;background:#2d4c40;border-radius:22px 22px 5px 5px;margin-top:3px;box-shadow:inset 0 0 0 2px #f8f0db30}.brand-mark span{font:italic 600 27px Georgia,serif;transform:translateY(-1px)}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.9px;margin:0 0 5px}.eyebrow span{margin-left:13px;opacity:.5;letter-spacing:1px}h1{font:500 43px/1.1 Georgia,serif;letter-spacing:-1.4px;margin:0}.title-period{color:#b7784c}.subtitle{margin:7px 0 0;font:italic 500 15px Georgia,serif;color:#6b786a}.edition-tag{position:absolute;right:47px;top:51px;display:flex;align-items:center;gap:8px;font-size:9px;font-weight:600;letter-spacing:1.5px;pointer-events:none}.status-dot{width:5px;height:5px;border-radius:50%;background:#839467;box-shadow:0 0 0 3px #83946718}.scene-note{position:absolute;left:49px;bottom:163px;pointer-events:none}.note-line{display:block;width:24px;height:1px;background:#839078;margin-bottom:12px}.scene-note p{font-size:9px;letter-spacing:1.5px;font-weight:600;margin:0 0 5px}.scene-note>span:last-child{font-size:8px;letter-spacing:1.2px;color:#7b8375}.control-dock{position:absolute;left:48px;right:48px;bottom:30px;min-height:99px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:23px 28px;border:1px solid #d9d5c7;border-radius:12px;background:#f9f7f0eb;box-shadow:0 7px 30px #354b3910,0 1px 2px #fff inset;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.location-caption{display:flex;flex-direction:column;gap:3px}.tiny-label{font-size:8px;font-weight:600;letter-spacing:1.6px;color:#8b8c7e}.location-caption strong{font:500 17px Georgia,serif}#train-status{display:flex;align-items:center;gap:6px;font-size:10px;color:#7b8376;margin-top:4px}#train-status i{width:4px;height:4px;background:#a5a477;border-radius:50%}#train-status.dwell i{background:#be8051}.controls{display:flex;align-items:center;gap:20px}button{color:#334d42;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #b27e4f;outline-offset:4px}.icon-button,.text-button{border:0;background:transparent;padding:9px;border-radius:7px;transition:background .18s,color .18s}.icon-button:hover,.text-button:hover{background:#e8e9df}.icon-button{display:grid;place-items:center;width:38px;height:38px}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}#play-icon{fill:currentColor;stroke-width:1}#play-icon[hidden],#pause-icon[hidden]{display:none}.control-divider{width:1px;height:27px;background:#dcded2}.speed-control{display:flex;align-items:center;gap:12px}.speed-control label{font-size:8px;letter-spacing:1.4px;font-weight:600;color:#747e71}.speed-control output{min-width:25px;font-size:11px;font-variant-numeric:tabular-nums;color:#737e6e}input[type=range]{width:100px;height:3px;appearance:none;background:#d6d9cd;border-radius:2px;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border-radius:50%;background:#355247;border:2px solid #f9f7f0;box-shadow:0 0 0 1px #355247}input[type=range]::-moz-range-thumb{width:8px;height:8px;border-radius:50%;background:#355247;border:2px solid #f9f7f0;box-shadow:0 0 0 1px #355247}.text-button{display:flex;gap:8px;align-items:center;font-size:11px;min-width:94px}.navigation-hint{justify-self:end;display:flex;gap:10px;align-items:center;color:#8c9184;font-size:10px}.navigation-hint svg{width:17px;height:17px;stroke:#7f887b;stroke-width:1.2;fill:none}.navigation-hint b{font-weight:400;padding:0 5px}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;background:#ede9df;font-size:12px;letter-spacing:1px;transition:opacity .5s}#loading.loaded{opacity:0;pointer-events:none}.loading-ring{width:17px;height:17px;border:1px solid #bbc2b1;border-top-color:#355247;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}body.night .masthead,body.night .edition-tag{color:#e6e3ce}body.night .subtitle,body.night .scene-note>span:last-child{color:#b1b8a8}body.night .control-dock{background:#eeeee8f2}@media(max-width:900px){.masthead{top:25px;left:25px}.edition-tag{top:32px;right:25px}.scene-note{display:none}.control-dock{left:20px;right:20px;bottom:20px;grid-template-columns:1fr auto;padding:17px 20px}.navigation-hint{display:none}.controls{gap:10px}.speed-control{gap:8px}input[type=range]{width:70px}}@media(max-width:580px){.brand-mark{width:32px;height:37px}h1{font-size:32px}.eyebrow{font-size:7px}.subtitle{font-size:12px}.edition-tag{display:none}.control-dock{grid-template-columns:1fr;gap:14px}.location-caption{align-items:center}.controls{justify-content:center}}
