:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;height:100%;overflow:hidden}h1{font-size:3.2em;line-height:1.1}#app{position:absolute;z-index:1;margin:0;padding:0;pointer-events:none;width:100%;height:100%}#app>div{pointer-events:auto}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.vanilla:hover{filter:drop-shadow(0 0 2em #3178c6aa)}.card{padding:2em}.read-the-docs{color:#888}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.dialog{position:fixed;z-index:1001;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#0006;touch-action:none}.dialog-content{background-color:#fefefe;margin:15% auto;padding:20px;border:1px solid #888;width:80%;max-width:500px;border-radius:8px;color:#213547;max-height:70vh;overflow-y:auto}.close-btn{color:#aaa;font-size:28px;font-weight:700;cursor:pointer}.close-btn:hover,.close-btn:focus{color:#000;text-decoration:none}#menu{position:fixed;top:10px;left:10px;z-index:1000;background-color:#fffc;padding:10px;border-radius:5px;box-shadow:0 2px 5px #0003}.manual-button{position:fixed;bottom:140px;left:20px;z-index:1000;background-color:#fffc;width:50px;height:50px;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 5px #0003;cursor:pointer;transition:background-color .3s ease}.manual-button:hover{background-color:#fff}.manual-button svg{width:30px;height:30px;fill:#646cff}.point-list-button{position:fixed;bottom:80px;left:20px;z-index:1000;background-color:#fffc;width:50px;height:50px;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 5px #0003;cursor:pointer;transition:background-color .3s ease}.point-list-button:hover{background-color:#fff}.point-list-button svg{width:30px;height:30px;fill:#646cff}.point-list-dialog{position:fixed;z-index:1001;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#0006;touch-action:none}.point-list-content{background-color:#fefefe;margin:15% auto;padding:0;border:1px solid #888;width:80%;max-width:500px;border-radius:8px;color:#213547;max-height:50vh;display:flex;flex-direction:column;overflow:hidden}.point-list-header{padding:15px 20px 10px;border-bottom:1px solid #eee;position:sticky;top:0;background-color:#fefefe;z-index:1;display:flex;justify-content:space-between;align-items:center}.point-list-header h3{margin:0}.point-list-scrollable{overflow-y:auto;max-height:calc(50vh - 60px);padding:0 20px}.sort-toggle{display:flex;justify-content:center;margin:10px 0;gap:5px}.sort-button{padding:5px 10px;border:1px solid #ccc;background-color:#f8f8f8;cursor:pointer;border-radius:4px;font-size:14px;transition:all .3s ease}.sort-button.active{background-color:#646cff;color:#fff;border-color:#646cff}.point-list{list-style-type:none;padding:0;margin:0}.point-list li{padding:10px;border-bottom:1px solid #eee;cursor:pointer}.point-list li:hover{background-color:#f5f5f5}.settings-button{position:fixed;bottom:20px;left:20px;z-index:1000;background-color:#fffc;width:50px;height:50px;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 5px #0003;cursor:pointer;transition:background-color .3s ease}.settings-button:hover{background-color:#fff}.settings-button svg{width:30px;height:30px;fill:#646cff}.map-type-button{position:fixed;bottom:20px;right:20px;z-index:1000;background-color:#fffc;width:50px;height:50px;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 5px #0003;cursor:pointer;transition:background-color .3s ease}.map-type-button:hover{background-color:#fff}.map-type-button svg{width:30px;height:30px;fill:#646cff}.notification{position:fixed;top:10px;left:10px;z-index:1000;background-color:#fffc;padding:10px;border-radius:5px;box-shadow:0 2px 5px #0003;color:#213547;width:200px}.notification-text{margin:0}.notification-link{cursor:pointer;color:#646cff;text-decoration:underline}.notification-link:hover{color:#535bf2}.stamp-gallery{position:fixed;top:10px;right:10px;z-index:1000;background-color:#fffc;padding:10px;border-radius:5px;box-shadow:0 2px 5px #0003;max-width:300px;max-height:90vh;display:flex;flex-direction:column}.stamp-heading{margin:0 0 10px;padding-bottom:5px;border-bottom:1px solid #ccc;cursor:pointer;color:#213547;text-align:center;-webkit-user-select:none;user-select:none;position:relative}.stamp-heading:hover{color:#646cff}.stamp-heading:after{content:"";display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid currentColor;margin-left:5px;vertical-align:middle;transition:transform .3s ease}.stamp-heading.collapsed:after{transform:rotate(-90deg)}.stamp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;max-height:calc(80vh - 60px);overflow-y:auto;padding-right:5px}.stamp-item{width:100%;text-align:center}.stamp-item img{max-width:100%;width:auto;height:auto;border-radius:3px}.stamp-name{font-size:.8em;margin-top:3px;color:#213547}.quiz-section{margin-top:20px;border-top:1px solid #ccc;padding-top:15px}.quiz-section h3{margin-top:0;color:#213547;font-size:1.2em}.quiz-options{margin-top:15px}.quiz-option{margin-bottom:10px;display:flex;align-items:center}.quiz-option input[type=radio]{margin-right:10px}.quiz-option label{cursor:pointer}.answer-button{margin-top:15px;padding:8px 16px;border-radius:4px;color:#fff;font-weight:500;transition:background-color .3s ease}.answer-button:disabled{opacity:.7}.transportation-mode-select{width:100%;margin-top:5px}.transportation-mode-options{display:flex;justify-content:space-between;gap:5px}.mode-button{flex:1;padding:6px 8px;font-size:.9em;background-color:#f8f8f8;border:1px solid #ccc;border-radius:4px;cursor:pointer;transition:all .3s ease}.mode-button.active{background-color:#646cff;color:#fff;border-color:#646cff}.mode-button:hover{background-color:#e8e8e8}.mode-button.active:hover{background-color:#535bf2}.info-dialog{position:fixed;z-index:1001;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#0006;touch-action:none}.info-content{background-color:#fefefe;margin:15% auto;padding:20px;border:1px solid #888;width:80%;max-width:500px;border-radius:8px;color:#213547;max-height:70vh;overflow-y:auto}.info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.info-header h3{margin:0;font-size:1.5em}.info-details{margin-bottom:20px}.info-details p{margin:8px 0}.action-buttons{display:flex;flex-direction:column;gap:15px}.route-buttons{display:flex;justify-content:space-between;gap:10px}.route-buttons button{flex:1;padding:8px;font-size:.9em}.collect-btn{width:100%;padding:10px;background-color:#646cff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.collect-btn:hover{background-color:#535bf2}.collect-btn.disabled{background-color:#ccc;cursor:not-allowed}.quiz-container{padding:15px 0}.options-container{margin:15px 0}.option{padding:10px;margin-bottom:8px;border:1px solid #ccc;border-radius:4px;cursor:pointer;transition:all .3s ease}.option:hover{background-color:#f5f5f5}.option.selected{background-color:#e6f7ff;border-color:#646cff}.submit-btn{width:100%;padding:10px;background-color:#646cff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.submit-btn:disabled{background-color:#ccc;cursor:not-allowed}.stamp-container{text-align:center;padding:20px 0}.stamp-image{margin:20px 0}.stamp-image img{max-width:150px;height:auto}.close-stamp-btn{padding:8px 20px;background-color:#646cff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
