*{box-sizing:border-box} :root{font-family:Arial,Helvetica,sans-serif;color:#193b35;background:#f1efe9;font-synthesis:none;--green:#173f39;--gold:#a78043;--muted:#65736d}body{margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #b48a42;outline-offset:4px}button{border:0;border-radius:6px;transition:background .15s,color .15s}button:hover:not(:disabled){filter:brightness(.95)}[hidden]{display:none!important}#app{height:100svh;min-height:560px;display:flex;flex-direction:column;overflow:hidden}header{height:98px;flex:none;padding:14px 28px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #dddcd5;z-index:3}.brand{display:flex;align-items:center;gap:20px}.brand img{width:65px;height:70px;object-fit:contain}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:var(--muted)}h1{font-family:Georgia,serif;font-weight:400;font-size:28px;margin:7px 0 0;letter-spacing:-.5px}h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:12px 0;line-height:1.13}p{font-size:16px;line-height:1.55;color:#596963}.view-switch{display:flex;gap:3px;padding:5px;background:#f2f2ee;border-radius:8px}.view-switch button{padding:12px 19px;background:transparent;color:#52625b;font-weight:600;font-size:14px}.view-switch button.selected{background:var(--green);color:white;box-shadow:0 3px 8px #173f3915}.header-actions{display:flex;gap:8px}.quiet{width:42px;height:42px;background:#f1f3ef;color:var(--green);font-size:22px}.header-actions #help{font-family:Georgia,serif;font-size:23px}main{flex:1;position:relative;min-height:0}#gallery,#scene,#mapview{position:absolute;inset:0}#scene{touch-action:none}#scene canvas{display:block;width:100%;height:100%}.scene-hint{position:absolute;top:23px;left:28px;color:#53655e;font-size:14px;background:#ffffffb8;padding:10px 14px;border:1px solid #fff8;border-radius:5px;pointer-events:none}.scene-hint span{padding:0 7px}.floating{position:absolute;top:23px;right:28px;background:#fff;color:var(--green);padding:12px 17px;border:1px solid #d9dfd8;font-size:14px;box-shadow:0 3px 14px #183c3510}#load-status{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);padding:16px 22px;background:#fff;border-radius:8px;color:var(--muted)}#stop-card{position:absolute;left:28px;bottom:24px;width:326px;background:#fffffff5;border:1px solid #fff;padding:23px 24px;border-radius:8px;box-shadow:0 12px 35px #14362b12;z-index:2}#stop-card h2{font-size:27px;margin-top:18px}#stop-card p{margin:10px 0 20px;line-height:1.5;font-size:15px}.stop-top{display:flex;align-items:center;gap:12px}.stop-top .eyebrow{font-size:11px}#stop-number{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#e9eee8;font-size:15px;font-weight:700}.primary{padding:14px 16px;width:100%;background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;font-size:15px}.text-button{background:transparent;color:#876329;padding:14px 0 0;text-align:left;font-size:14px}.progress{width:350px;text-align:center}.progress label{display:block;font-size:10px;color:#718078}.progress select{border:0;color:#24433a;padding:5px 7px;background:white;font-size:15px;width:100%;text-align:center;cursor:pointer}.progress-track{height:3px;background:#e7eae2;margin-top:4px;border-radius:9px;overflow:hidden}#progress-fill{height:100%;background:var(--gold);width:5%;transition:width .3s}footer{height:85px;display:flex;align-items:center;justify-content:center;gap:50px;flex:none;background:white;border-top:1px solid #e0e3dc;padding:12px 28px;z-index:3}.nav-button{background:transparent;color:var(--green);font-size:16px;padding:14px 20px;white-space:nowrap}.nav-button.next{background:var(--green);color:white}.map-heading{position:absolute;top:28px;left:28px;max-width:280px}.map-heading h2{font-size:30px}.map-heading p{font-size:15px;margin-top:8px}#mapview{background:#f4f3ee}#map{position:absolute;left:365px;right:25px;top:18px;bottom:45px}#map svg{width:100%;height:100%;overflow:visible}#map .stop-dot{cursor:pointer;outline:none}#map .stop-dot circle{stroke:white;stroke-width:3;fill:#fff;transition:fill .2s}#map .stop-dot text{fill:#173f39;font-size:14px;font-weight:bold;pointer-events:none}#map .stop-dot circle{stroke:#b58f51;stroke-width:2}#map .stop-dot.digital circle{stroke:#648577}#map .stop-dot.active circle,#map .stop-dot:hover circle,#map .stop-dot:focus-visible circle{fill:#173f39;stroke:#173f39}#map .stop-dot.active text,#map .stop-dot:hover text,#map .stop-dot:focus-visible text{fill:white}.map-key{position:absolute;bottom:17px;right:35px;display:flex;gap:19px;font-size:12px;color:#6b7770}.map-key span{display:flex;align-items:center;gap:7px}.map-key i{width:14px;height:4px;display:inline-block}.gold{background:#b58f51}.green{background:#648577}#notice{position:absolute;top:70px;left:50%;transform:translateX(-50%);padding:10px 16px;background:white;box-shadow:0 3px 20px #0001;z-index:5;max-width:90%;font-size:14px}dialog{border:0;padding:0;border-radius:12px;box-shadow:0 20px 100px #0004;color:var(--green)}dialog::backdrop{background:#102d28b8;backdrop-filter:blur(5px)}#reader{width:min(1500px,96vw);height:94svh;max-height:none;max-width:none;background:#e7e8e0;overflow:hidden}#reader[open]{display:flex;flex-direction:column}.reader-bar{background:#fff;display:flex;align-items:center;justify-content:space-between;padding:15px 25px;gap:15px;flex:none}.reader-bar h2{font-size:24px;margin:5px 0 0}.reader-bar .eyebrow{font-size:11px}#image-viewport{position:relative;overflow:hidden;flex:1;min-height:0;touch-action:none;cursor:grab;background:#e9e8e2}#image-viewport.dragging{cursor:grabbing}#reader-image{position:absolute;left:50%;top:50%;max-width:none;user-select:none;transform-origin:center}#zoom-bar{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px;background:#fff;font-size:14px;flex:none}#zoom-bar button{background:#f0f2ed;color:var(--green);padding:10px 15px;min-width:44px}#zoom-bar output{min-width:48px;text-align:center}#zoom-bar span{color:#718078;margin-left:20px}#help-dialog{width:490px;max-width:94vw;padding:36px}#close-help{float:right;margin:-20px -20px 8px 12px}#help-dialog h2{font-size:34px}#help-dialog li{font-size:15px;line-height:1.55;margin:12px 0;color:#596963}#help-dialog ul{padding-left:20px}.small{font-size:13px}#digital-content{flex:1;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center}#digital-content>div{max-width:520px}#digital-content video{max-width:100%;max-height:100%}#digital-content a{display:inline-block;text-decoration:none;padding:15px 25px;color:white;background:var(--green);border-radius:6px}#digital-content .screen-symbol{font-size:64px}#digital-content h3{font:30px Georgia,serif}
@media(min-width:1500px){#stop-card{left:40px;bottom:35px;width:350px;padding:28px}header{padding-left:40px;padding-right:40px}}
@media(max-width:900px){header{padding:10px 16px;gap:10px;height:88px}.brand{gap:10px}.brand img{width:48px;height:60px}h1{font-size:22px}.brand .eyebrow{font-size:10px}.header-actions #help{display:none}.view-switch button{padding:11px 12px}#stop-card{left:16px;bottom:16px;width:270px;padding:18px}#stop-card h2{font-size:23px}#stop-card p{font-size:14px;margin-bottom:14px}.scene-hint{left:16px;font-size:12px}.floating{right:16px}.map-heading{left:18px;max-width:235px}.map-heading h2{font-size:25px}#map{left:300px;right:15px}footer{gap:16px}.progress{width:300px}}
@media(max-width:640px){#app{min-height:620px}header{height:110px;flex-wrap:wrap;gap:5px;padding:8px 14px}.brand{flex:1}.brand img{width:42px;height:47px}.brand .eyebrow{font-size:9px;letter-spacing:.08em}h1{font-size:22px;margin-top:3px}.header-actions{position:absolute;right:14px;top:13px}.header-actions .quiet{width:34px;height:34px}.view-switch{width:100%;padding:3px;justify-content:center;order:3;background:#f2f2ee}.view-switch button{flex:1;padding:8px 12px}.scene-hint{top:10px;left:10px;font-size:11px;padding:8px}.scene-hint span{padding:0 2px}.floating{top:45px;right:10px;padding:9px 12px;font-size:12px}#stop-card{left:10px;right:10px;bottom:10px;width:auto;padding:14px 16px;display:grid;grid-template-columns:1fr auto;gap:0 12px}#stop-card .stop-top{grid-column:1/-1;gap:8px}#stop-number{height:26px;width:26px;font-size:12px}#stop-card h2{font-size:22px;margin:9px 0 3px;grid-column:1/-1}#stop-card p{font-size:13px;line-height:1.4;margin:5px 0 9px;grid-column:1/-1}#stop-card .primary{padding:10px 12px;font-size:13px;grid-column:1/-1}#stop-card .text-button{padding-top:9px;font-size:12px;grid-column:1/-1}footer{padding:10px;gap:7px;height:75px}.nav-button{padding:10px;font-size:14px}.nav-button span{display:none}.nav-button.next span{display:inline;font-size:12px}.progress{width:auto;flex:1;min-width:0}.progress select{font-size:12px;padding:5px 0}.progress label{font-size:8px}.map-heading{display:none}#map{left:0;right:0;top:8px;bottom:235px}.map-key{display:none}.reader-bar{padding:12px 14px}.reader-bar h2{font-size:19px}.reader-bar .eyebrow{font-size:10px}#zoom-bar{gap:7px}#zoom-bar span{display:none}#reader{height:97svh;width:98vw}#help-dialog{padding:26px}#help-dialog h2{font-size:29px}#close-help{margin:-14px -14px 5px 8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

#map{overflow:hidden;touch-action:none}.map-zoom{position:absolute;right:24px;top:12px;display:flex;gap:3px;z-index:1;background:white;padding:3px;border-radius:6px;box-shadow:0 2px 10px #0001}.map-zoom button{background:#f0f2ec;color:#173f39;height:34px;min-width:34px;font-size:15px}.map-zoom #map-fit{font-size:12px;padding:0 10px}@media(max-height:760px) and (min-width:641px){.map-heading p{display:none}.map-heading h2{font-size:24px;margin-top:8px}.map-heading{top:16px}}@media(max-width:640px){.map-mode #stop-card p,.map-mode #stop-kind{display:none}.map-mode #stop-card{grid-template-columns:auto 1fr;gap:0 10px}.map-mode #stop-card .stop-top{grid-column:1;grid-row:1}.map-mode #stop-card h2{grid-column:2;grid-row:1;font-size:18px;margin:2px 0 10px}.map-mode #map{bottom:160px}.map-zoom{top:8px;right:10px}.map-zoom button{height:30px;min-width:30px}.map-mode #stop-card .primary{margin-top:5px}}

