.main-header{max-width:450px;margin:0 auto;padding:0 1em;padding:0}nav{display:flex;align-items:center;gap:.5em;padding:3em 0 .75em;margin-bottom:2em;border-bottom:1px solid var(--border-grey);position:relative}nav h1{font-family:var(--display);font-size:1.35em;font-weight:400;letter-spacing:.01em}.back-btn,.info-btn{background:none;border:none;padding:0;color:inherit;line-height:1}.back-btn{cursor:pointer;font-variation-settings:"wght" 200;opacity:.7;transition:opacity .25s ease}.back-btn:focus-visible,.back-btn:hover{opacity:1;outline:none}.info-btn{margin-left:auto;cursor:pointer;font-size:1.2em;font-variation-settings:"FILL" 0,"wght" 400;opacity:.7;transition:opacity .2s ease}.info-btn:focus-visible,.info-btn:hover{opacity:1;outline:none}.info-tooltip{position:absolute;top:calc(100% + .75em);right:0;width:min(320px,90vw);background:var(--black);border:1px solid var(--border-grey);border-radius:8px;padding:1em;z-index:100}.info-tooltip p{color:var(--light-grey);font-size:.9em;line-height:1.6}.info-tooltip p+p{margin-top:.5em}.info-tooltip p strong{color:var(--white);font-weight:600}.settings-link{position:relative;color:var(--white);pointer-events:none;line-height:1}.settings-link span{font-variation-settings:"wght" 200;line-height:inherit}.install-banner{position:relative;display:block;background:var(--dark-grey);color:var(--grey);width:100%;padding:1em 1em 1.5em;margin-top:1.5em;border-radius:10px;border:1px solid var(--border-grey)}.install-banner h3{font-family:var(--display);font-size:1.25em;font-weight:500;color:var(--white);margin-bottom:.25em}.install-banner span{display:inline-block;margin-top:.25em;margin-bottom:1em;font-size:.85em;line-height:1.5;color:var(--light-grey)}.install-banner .download-icon{position:relative;top:5px;margin-left:6px;font-size:.9em}@media screen and (max-width:600px){.install-banner .download-icon{font-weight:800}}.install-banner .install-link{display:inline-block;background:var(--black);color:var(--white);border-radius:5px;text-decoration:none;padding:.75em 1.4em;font-family:var(--sans);font-size:1em;font-weight:500;letter-spacing:.02em;transition:all .25s ease;padding:.5em 1em;font-size:.9em;margin-right:1em}.install-banner .install-link,.install-banner .install-link:hover{background:var(--white);color:var(--black)}.install-banner .install-link i{-webkit-margin-start:.5em;margin-inline-start:.5em}.install-banner .no-thanks{font-size:.85em;color:var(--light-grey);text-decoration:underline}.install-banner .no-thanks:hover{color:var(--white)}#loading{overflow:hidden}#loading .orb{text-decoration:none;position:absolute;top:calc(50% - 55px);left:0;right:0;background:#fff;margin:0 auto;height:110px;width:110px;border-radius:100%;display:flex;justify-content:center;flex-direction:column;text-align:center;box-shadow:0 0 0 14px var(--black),0 0 0 15px var(--white)}#loading .orb .loading-text,#loading .orb h1,#loading .orb h2{position:absolute;left:0;right:0;padding:0 .5em;font-family:var(--sans);font-weight:400;font-size:.85em;text-transform:uppercase;letter-spacing:.08em;color:var(--black);line-height:1.25}#loading .install-banner,#loading header,#loading ul{opacity:0}#loaded .install-banner,#loaded header,#loaded ul{opacity:1;transition:opacity 3s ease-out}.place-list{max-width:450px;margin:0 auto;padding:0 1em;position:relative;height:100%}.place-list li{margin-bottom:calc(2em*var(--base))}.place-image-container{position:relative;margin-bottom:calc(.5em*var(--base));text-align:center;background:var(--grey);border-radius:10px;overflow:hidden;height:250px;display:block}.place-image-container:focus-visible{outline:2px solid var(--white);outline-offset:2px}.place-image-container img{position:absolute;margin:auto;cursor:pointer;min-width:100%;min-height:100%;top:-100%;left:0;right:0;bottom:-100%}.place-header{display:flex;flex-direction:column;align-items:flex-start}.place-header h2{font-family:var(--display);font-size:1.35em;font-weight:500;line-height:1.2;margin-bottom:.5em}.place-header h2 a{color:inherit;text-decoration:none;transition:all .25s ease}.distance,.place-header h2 a:hover{color:var(--light-grey)}.distance{font-size:.75em;font-weight:500;letter-spacing:.04em;text-decoration:none;margin-bottom:.25em}.distance span{position:relative;top:4px;padding-left:2px;font-size:1.1em;font-weight:300;line-height:.5}.distance a{color:inherit;text-decoration:none}.distance a:hover{color:var(--white)}.action-btn{background:none;border:1px solid var(--border-grey);border-radius:5px;color:var(--light-grey);cursor:pointer;display:flex;flex-direction:row;align-items:center;gap:3px;padding:5px 8px;font-size:.6em;font-weight:500;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;transition:all .25s ease}.action-btn .material-symbols-outlined{font-size:1.5em;font-variation-settings:"FILL" 0;line-height:1}.action-btn:hover{border-color:var(--white);color:var(--white)}.action-btn.loading .label-playing,.action-btn.loading .label-stopped,.action-btn.playing .label-loading,.action-btn.playing .label-stopped,.action-btn.stopped .label-loading,.action-btn.stopped .label-playing{display:none}.action-btn.playing{background:var(--white);border-color:var(--white);color:var(--black)}.action-btn.loading{opacity:.7;pointer-events:none}.action-btn.loading .material-symbols-outlined{animation:sort-spin 1s linear infinite}.place-description{overflow:hidden;margin-top:calc(.5em*var(--base));max-height:0;transition:.7s ease}.place-description.show{max-height:1000px;transition:.7s ease;position:relative}.place-description p{font-size:1em;line-height:calc(1em*var(--base)*1.25);color:var(--grey);padding-bottom:1.5em;border-bottom:1px solid var(--border-grey)}.place-description a{display:inline-flex;align-items:center;gap:3px;padding-bottom:1em;font-size:.8em;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--light-grey);text-decoration:none;transition:all .25s ease}.place-description a:hover{color:var(--white)}.place-snippet{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.85em;line-height:1.5;color:var(--light-grey);margin-bottom:.75em}.place-actions{flex-direction:row;gap:6px}.place-actions,.sort-controls{display:flex;align-items:center}.sort-controls{gap:.5em;margin-bottom:1.5em}.sort-label{letter-spacing:.08em;margin-right:.25em}.sort-btn,.sort-label{font-size:.75em;font-weight:500;text-transform:uppercase;color:var(--med-grey)}.sort-btn{display:inline-flex;align-items:center;gap:.25em;background:none;border:1px solid var(--border-grey);border-radius:4px;cursor:pointer;letter-spacing:.06em;padding:.5em .75em;transition:all .25s ease}.sort-btn:hover{border-color:var(--light-grey);color:var(--light-grey)}.sort-btn.active{border-color:var(--white);color:var(--white)}.sort-btn .sort-ai-icon,.sort-btn .sort-spinner{font-size:1.1em;font-variation-settings:"FILL" 1}.sort-btn .sort-spinner{animation:sort-spin 1s linear infinite}@keyframes sort-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-state{font-size:1.3em;line-height:1.4;text-align:center;padding:2em 1em}.empty-state span{text-decoration:underline}.home{max-width:800px;height:100%;overflow:hidden;position:relative;margin:0 auto}.home .grid{opacity:1}.home h1{animation:orb-text-fade 7s infinite}.home h2{opacity:0;animation:orb-text-fade-alt 7s infinite}.home .orb{text-decoration:none;position:absolute;top:calc(50% - 55px);left:0;right:0;background:#fff;margin:0 auto;height:110px;width:110px;border-radius:100%;display:flex;justify-content:center;flex-direction:column;text-align:center;box-shadow:0 0 0 14px var(--black),0 0 0 15px var(--white)}.home .orb .loading-text,.home .orb h1,.home .orb h2{position:absolute;left:0;right:0;padding:0 .5em;font-family:var(--sans);font-weight:400;font-size:.85em;text-transform:uppercase;letter-spacing:.08em;color:var(--black);line-height:1.25}.home .orb:before{content:"";position:absolute;display:block;width:1000%;height:1000%;margin-left:-450%;border-radius:100%;border:1px solid var(--border-grey);animation:pulse-ring 5s ease-in infinite;transition:border 3s ease-out;opacity:1}@keyframes orb-text-fade{0%{opacity:1}25%{opacity:1}30%{opacity:0}70%{opacity:0}75%{opacity:1}to{opacity:1}}@keyframes orb-text-fade-alt{0%{opacity:0}25%{opacity:0}30%{opacity:1}70%{opacity:1}75%{opacity:0}to{opacity:0}}@keyframes pulse-ring{0%{transform:scale(.1)}to{transform:scale(1.25)}}@keyframes pulse-ring-click{0%{transform:scale(.1)}}.grid{top:0;width:100%;height:100%;overflow:hidden;perspective:375px}.grid,.grid .grid-line{position:absolute}.grid-lines-x,.grid-lines-z{position:absolute;height:100%;width:100%}.grid-line-z{height:200%;top:-50%;left:50%;transform-origin:center;border-left:1px solid var(--dark-grey)}.grid-lines-x{top:50%}.grid-line-x{width:100%;border-top:1px solid var(--dark-grey)}.grid-lines-z .grid-line:first-child{transform:rotate(90deg)}.grid-lines-z .grid-line:nth-child(2){transform:rotate(78.75deg)}.grid-lines-z .grid-line:nth-child(3){transform:rotate(67.5deg)}.grid-lines-z .grid-line:nth-child(4){transform:rotate(45deg)}.grid-lines-z .grid-line:nth-child(5){transform:rotate(22.5deg)}.grid-lines-z .grid-line:nth-child(6){transform:rotate(-22.5deg)}.grid-lines-z .grid-line:nth-child(7){transform:rotate(-45deg)}.grid-lines-z .grid-line:nth-child(8){transform:rotate(-67.5deg)}.grid-lines-z .grid-line:nth-child(9){transform:rotate(-78.75deg)}.grid-lines-z .grid-line:nth-child(10){transform:rotate(-90deg)}.grid-lines-x .grid-line:nth-child(2){top:10px}.grid-lines-x .grid-line:nth-child(3){top:40px}.grid-lines-x .grid-line:nth-child(4){top:80px}.grid-lines-x .grid-line:nth-child(5){top:160px}.grid-lines-x .grid-line:nth-child(6){top:320px}.grid-lines-x .grid-line:nth-child(7){top:640px}.grid-fade{width:100%;height:100%;position:absolute;z-index:1;background:radial-gradient(ellipse at 50% 0,rgba(34,34,34,0) 0,#222 90%)}:root{--base:1.35;--black:#222;--white:#fff;--grey:#d9d9d9;--med-grey:#999;--light-grey:silver;--dark-grey:#575757;--border-grey:#3e3e3e;--display:"EB Garamond",georgia,serif;--sans:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;--mono:"Inconsolata",monospace;--serif:Georgia,Times,serif}*,:after,:before{box-sizing:border-box;margin:0}#app,body,html{height:100%}html{line-height:calc(1em*var(--base));-webkit-text-size-adjust:100%}body{background-color:var(--black);color:var(--white);margin:0;font-family:var(--sans)}main{display:block}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}h2{font-size:1.25em;font-weight:600}p{font-family:var(--serif)}ol,ul{list-style:none;padding:0}a{background-color:transparent;color:inherit}b,strong{font-weight:bolder}img{max-width:100%;border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fade-enter-from.home,.fade-enter-from.place-list .install-banner,.fade-enter-from.place-list header,.fade-enter-from.place-list ul{opacity:0}.fade-enter-to{opacity:1}.fade-enter-active.place-list,.fade-leave-active.home{transition:opacity .5s ease-out}.fade-leave-to.home .grid,.fade-leave-to.home .orb:before{opacity:0;transition:opacity .4s ease-out}.fade-leave-to.home h1,.fade-leave-to.home h2{display:none}.fade-enter-active.home,.fade-leave-active.place-list{transition:opacity .4s ease-out}#tour-loading{overflow:hidden}#tour-loading .orb{text-decoration:none;position:absolute;top:calc(50% - 55px);left:0;right:0;background:#fff;margin:0 auto;height:110px;width:110px;border-radius:100%;display:flex;justify-content:center;flex-direction:column;text-align:center;box-shadow:0 0 0 14px var(--black),0 0 0 15px var(--white)}#tour-loading .orb .loading-text,#tour-loading .orb h1,#tour-loading .orb h2{position:absolute;left:0;right:0;padding:0 .5em;font-family:var(--sans);font-weight:400;font-size:.85em;text-transform:uppercase;letter-spacing:.08em;color:var(--black);line-height:1.25}#tour-loading header{opacity:0}#tour-loaded header{opacity:1;transition:opacity 3s ease-out}.tour{max-width:450px;margin:0 auto;padding:0 1em;position:relative;min-height:100%}.tour-loader{position:relative;height:calc(100vh - 6em)}.orb-pointer{height:110px;animation:pointer-spin 3s ease-in-out infinite}.orb-pointer:after{content:"";position:absolute;top:-34px;left:calc(50% - 10px);right:0;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:20px solid #fff;transition:top 3.5s ease-in}@keyframes pointer-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{animation:loading-text-fade 1.5s ease-in infinite}@keyframes loading-text-fade{0%,to{opacity:1}75%{opacity:0}}.tour-controls{display:flex;align-items:center;gap:.5em;margin-bottom:2em}.tour-label{color:var(--light-grey);font-size:.8em;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.tour-transition{font-family:var(--serif);font-size:1.1em;line-height:calc(1em*var(--base)*1.35);margin-bottom:1.5em;color:var(--grey)}.tour-transition strong{font-weight:600;color:var(--white)}.tour-stop-card{border:1px solid var(--border-grey);border-radius:10px;overflow:hidden;margin-bottom:2em}.stop-image-container{width:100%;height:200px;overflow:hidden;position:relative;background:var(--dark-grey)}.stop-image-container img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.stop-info{padding:1em}.stop-number{display:block;font-size:.75em;text-transform:uppercase;letter-spacing:.1em;color:var(--light-grey)}.stop-info h2,.stop-number{font-weight:500;margin-bottom:.5em}.stop-info h2{font-family:var(--display);font-size:1.5em;line-height:1.2}.stop-distance{margin-bottom:1em}.stop-distance a{display:inline-flex;align-items:center;gap:2px;text-decoration:none;color:var(--light-grey);font-size:.8em;font-weight:400;transition:all .25s ease}.stop-distance a:hover{color:var(--white)}.stop-distance a .material-symbols-outlined{font-size:1.1em;position:relative;top:1px}.stop-highlight{font-family:var(--serif);font-style:italic;font-size:1em;line-height:1.5;color:var(--grey);margin-bottom:1em;border-left:2px solid var(--border-grey);padding-left:1em}.stop-wiki-link{display:inline-flex;align-items:center;gap:3px;font-size:.75em;font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--light-grey);text-decoration:none;transition:all .25s ease}.stop-wiki-link:hover{color:var(--white)}.stop-wiki-link .material-symbols-outlined{font-size:1em}.tour-closing{font-family:var(--serif);font-size:1.1em;line-height:calc(1em*var(--base)*1.35);margin-bottom:3em;color:var(--grey)}.tour-closing strong{font-weight:600;color:var(--white)}.tour-error{padding:2em 0;text-align:center;line-height:1.6}.tour-error p{margin-bottom:1em;color:var(--light-grey)}.tour-error a{font-size:.85em;font-weight:500;letter-spacing:.03em;color:var(--light-grey);text-decoration:underline}.tour-error a:hover{color:var(--white)}.tour-controls .loading,.tour-controls .playing,.tour-controls .stopped{position:relative;font-variation-settings:"FILL" 1;cursor:pointer;background:none;border:none;padding:0;color:inherit}.tour-controls .loading:focus-visible,.tour-controls .playing:focus-visible,.tour-controls .stopped:focus-visible{outline:2px solid var(--white);outline-offset:4px;border-radius:50%}.tour-controls .loading{animation:tts-spin 1s linear infinite;opacity:.7;pointer-events:none}@keyframes tts-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}