html,body{overscroll-behavior:none;overscroll-behavior-y:none;overflow:hidden;width:100%;height:100dvh;min-height:100dvh;position:fixed}html{scrollbar-gutter:stable}@supports not (height: 100dvh){html,body{height:100vh;min-height:100vh}}.popup-content,.course-list-container,.message-scrollable-content,.popup-scroll-body,.scrollable-help-content,.modal-content,#goal-results-modal-content{display:flex;flex-direction:column;overflow:hidden}#goal-results-scrollable-content{overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}#close-goal-results-btn-bottom:hover{background-color:#0056b3!important;box-shadow:0 4px 12px #007bff66!important}#close-goal-results-btn-bottom:active{background-color:#004085!important;box-shadow:0 1px 4px #007bff4d!important}:root{--app-visible-vw: 100vw;--app-visible-vh: 100vh;--primary-color: #009999;--text-on-primary: #ffffff;--fab-secondary-label-color: #333333;--primary-darkened: #006666;--primary-hover-color: #007373;--theme-color: #009999;--theme-color-light: rgba(0, 153, 153, .15);--success-color: #28a745;--success-hover-color: #218838;--danger-color: #dc3545;--danger-hover-color: #c82333;--warning-color: #ffc107;--warning-hover-color: #e0a800;--text-primary: #1d1d1f;--text-secondary: #4a4a4f;--white-color: #ffffff;--body-bg: #f5f5f7;--component-bg: #ffffff;--border-color: #d1d1d6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--border-radius-sm: 8px;--border-radius-md: 12px;--stamp-rally-color: #42A5F5;--stamp-rally-hover-color: #1E88E5;--gold-color: #FFD700;--dark-purple-bg: #4A148C;--light-purple-bg: #6A1B9A;--stats-panel-height: 0px;--z-map-base: 1;--z-map-controls: 35;--z-map-marker: 15;--z-ui-base: 100;--z-ui-overlay: 400;--z-top-left-info: 1000;--z-top-left-info-controls: 1001;--z-top-left-fab-container: 1010;--z-fab-aux: 1011;--z-bottom-sliders: 1050;--z-spot-popup-ui-muted: 1200;--z-fab-buttons: 1600;--z-safe-area-bars: 1600;--z-overlay-backdrop: 2000;--z-initial-panel: 2500;--z-export-confirm: 2600;--z-qr-scanner: 4000;--z-update-notification: 5000;--z-modal-content: 9000;--z-tutorial-overlay: 9990;--z-tutorial-step: 9999;--z-fab-tutorial-initial: 9999;--z-modal-elevated: 10000;--z-header-bar: 10001;--z-header-menu: 10002;--z-ar-ui-layer: 11400;--z-ar-instructions: 11000;--z-ar-loading-mask: 11500;--z-ar-choice-popup: 12000;--z-rerouting-controls: 12010;--z-home-popup: 12020;--z-home-popup-content: 12021;--z-modal-list: 12030;--z-lock-screen-overlay: 12040;--z-toast-notification: 2147483646;--z-custom-popup: 12120;--z-guideline: 12001;--z-spot-popup-base: 13000;--z-spot-popup-content: 13050;--z-spot-popup-content-inner: 13051;--z-custom-popup-over-spot: 13120;--z-ar-internal-bg: 1;--z-ar-internal-model: 2;--z-ar-internal-ui: 3;--z-ar-control: 10;--z-ar-screenshot-btn: 50;--z-ar-video-global: 4499;--z-overlay-handle: 2;--z-popup-sticky-footer: 3;--z-spot-swipe-handle: 3;--z-layout-preview-mask: 5;--z-layout-preview-spinner: 10;--z-rerouting-explanation: 10;--z-camera-overlay: 4500;--z-system-loader: 99999;--z-system-startup-error: 100000;--z-system-overlay-under: 2147483648;--z-system-overlay: 2147483649;--z-emergency-reset: 2147483647}body,html{margin:0;padding:0;height:100%;display:flex;flex-direction:column;font-family:Noto Sans JP,sans-serif;color:var(--text-primary);overscroll-behavior:none;-webkit-font-smoothing:antialiased;box-sizing:border-box}html{background-color:var(--body-bg)}body{background-color:var(--body-bg);padding-bottom:0}body[data-app-state=tour] #wrap_map,body[data-app-state=paused] #wrap_map{position:fixed;inset:0;z-index:var(--z-map-base)}h1{height:56px;flex-shrink:0;padding:0 16px;padding-top:env(safe-area-inset-top);box-sizing:content-box;margin:0;background:var(--primary-color);color:var(--text-on-primary)!important;font-size:1.2em;display:flex;align-items:center;box-shadow:var(--shadow-md);position:relative;z-index:var(--z-header-bar);gap:16px}h1 img{height:85%;width:auto;max-width:48px;object-fit:contain;aspect-ratio:1 / 1}body.is-booting h1>img:first-of-type{visibility:hidden!important}.title-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;margin-right:auto;line-height:1.2;min-width:0}.main-title{font-size:1em;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.subtitle{font-size:.6em;font-weight:400;color:var(--text-on-primary);opacity:.9;display:flex;align-items:center;gap:.6em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.manual-link-header{color:var(--text-on-primary);opacity:.8;text-decoration:underline;font-size:.7em;font-weight:400;margin-left:8px;transition:opacity .2s}.manual-link-header:hover{opacity:1}.header-help-btn{background:transparent;border:none;color:var(--text-on-primary);cursor:pointer;padding:8px;min-width:48px;min-height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.header-button-group{display:flex;align-items:center;gap:8px}.settings-menu-wrapper{position:relative;z-index:var(--z-header-menu)}.settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;z-index:var(--z-header-menu);overflow:hidden;transition:opacity .2s ease,transform .2s ease}.settings-dropdown.hidden{display:none}.settings-menu-section{padding:12px 0}.settings-menu-title{font-size:12px;font-weight:700;color:#666;padding:8px 16px 4px;margin:0;text-transform:uppercase}.settings-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:#fff;color:#333;font-size:15px;text-align:left;cursor:pointer;transition:background-color .2s ease}.settings-menu-item[disabled]{cursor:default;opacity:.55}.settings-menu-item[disabled]:hover{background-color:#fff}.settings-menu-item svg{flex-shrink:0}.menu-item-label{flex:1}.settings-menu-divider{height:1px;background:#e0e0e0;margin:4px 0}.settings-menu-item:hover{background-color:#f5f5f5}.settings-menu-item.active{background-color:#e8f5e9;color:#2e7d32;font-weight:600}.settings-menu-legal{padding-top:10px;padding-bottom:10px}.settings-menu-meta{margin:4px 16px 0;font-size:12px;color:var(--text-secondary);line-height:1.3}.lang-flag{font-size:20px}.lang-name{flex:1}.header-help-btn:hover{background-color:#ffffff40}.header-help-btn:focus{outline:none}.header-help-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff8c}.header-help-btn svg{width:28px;height:28px}#top-left-info-cluster{position:fixed;left:16px;z-index:var(--z-top-left-info);display:none;flex-direction:column;align-items:flex-start;gap:12px;transition:top .4s cubic-bezier(.4,0,.2,1)}body[data-app-state=tour] #top-left-info-cluster,body[data-app-state=paused] #top-left-info-cluster{display:flex;top:calc(58px + env(safe-area-inset-top))}body.stats-panel-shown[data-app-state=tour] #top-left-info-cluster,body.stats-panel-shown[data-app-state=paused] #top-left-info-cluster{top:calc(155px + env(safe-area-inset-top))}.header-hidden[data-app-state=tour] #top-left-info-cluster,.header-hidden[data-app-state=paused] #top-left-info-cluster{top:calc(env(safe-area-inset-top) + 16px)}.stats-panel-shown.header-hidden[data-app-state=tour] #top-left-info-cluster,.stats-panel-shown.header-hidden[data-app-state=paused] #top-left-info-cluster{top:calc(env(safe-area-inset-top) + 95px)}body.stats-panel-shown:not(.header-hidden)[data-app-state=tour] #top-left-info-cluster,body.stats-panel-shown:not(.header-hidden)[data-app-state=paused] #top-left-info-cluster{top:155px}#map-controls-container{position:fixed;top:calc(env(safe-area-inset-top) + 4px);left:50%;transform:translate(-50%);z-index:var(--z-top-left-info-controls);pointer-events:none;padding:10px 0;box-sizing:border-box;width:100%;display:flex;justify-content:center;align-items:center;transition:top .3s ease-in-out}#gps-status-indicator{font-size:.75em;font-weight:400;padding:4px 10px;border-radius:20px;display:inline-flex;align-items:center;transition:background-color .3s,color .3s;white-space:nowrap;pointer-events:auto}body.stats-panel-shown #map-controls-container{top:calc(env(safe-area-inset-top) + var(--stats-panel-height) + 4px)}#gps-status-indicator.idle{background-color:#00000080;color:#f0f0f0}#gps-status-indicator.idle:before{background-color:#f0f0f0}#gps-status-indicator.searching{background-color:#ffc107;color:#333}#gps-status-indicator.searching:before{background-color:#333;animation:pulse 1.5s infinite;will-change:opacity}#gps-status-indicator.good{background-color:#28a745;color:#fff}#gps-status-indicator.good:before{background-color:#fff}#gps-status-indicator.poor{background-color:#ffc107;color:#333}#gps-status-indicator.poor:before{background-color:#333}#gps-status-indicator.error{background-color:#dc3545;color:#fff}#gps-status-indicator.error:before{background-color:#fff}@keyframes pulse{0%{opacity:1}50%{opacity:.3}to{opacity:1}}#wrap_map{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background-color:transparent}#map{width:100%;height:100%;flex-grow:1;background-color:transparent;background-image:none;position:relative}#map:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:3px solid rgba(0,153,153,.2);border-top-color:var(--primary-color);border-radius:50%;animation:map-loading-spin 1s linear infinite;opacity:0;pointer-events:none;z-index:var(--z-map-base);transition:opacity .3s}#map:not(.maplibregl-map):before{opacity:1}@keyframes map-loading-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}footer{display:none!important}#button-container{display:none;justify-content:center;padding:8px 16px;background-color:transparent;border-top:none;z-index:var(--z-ui-base);transition:gap .3s,padding .3s}body:not([data-app-state=finished]) #button-container,#button-container:not([data-state=finished]){background-color:transparent!important;border-top:none!important}#button-container>.button-wrapper,#button-container>.speed-controls{display:none}#button-container[data-state~=finished]>.button-wrapper[data-state~=finished],#button-container[data-state~=finished]>.speed-controls[data-state~=finished]{display:flex}.button-wrapper{flex:1 1 0;min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.button-wrapper button{width:52px;height:52px;border-radius:16px;border:1px solid var(--border-color);background-color:var(--component-bg);cursor:pointer;display:flex;justify-content:center;align-items:center;padding:0;transition:all .2s ease}.button-wrapper button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.button-wrapper button:active{transform:translateY(-2px) scale(.95)}.button-wrapper button svg{width:28px;height:28px;color:var(--primary-color)}.button-wrapper .button-label{font-size:11px;margin-top:6px;color:var(--text-secondary);white-space:normal;text-align:center}.speed-controls{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:4px;border-radius:12px;background-color:var(--body-bg);border:1px solid var(--border-color)}.speed-controls button{width:48px;height:48px;min-width:48px;min-height:48px;border:none;border-radius:8px;background-color:transparent;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:background-color .2s,color .2s}.speed-controls button.active{background-color:var(--primary-color);color:var(--text-on-primary)}#stats-panel{position:fixed;top:calc(56px + env(safe-area-inset-top));left:0;width:100%;display:flex;justify-content:space-evenly;padding:12px 4px;background-color:var(--component-bg);border-bottom:1px solid var(--border-color);z-index:var(--z-overlay-backdrop);transform:translateY(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1);box-sizing:border-box;flex-wrap:nowrap;gap:8px;overflow:hidden}.stat-item{display:flex;align-items:center;gap:8px;text-align:left;flex:1;min-width:0;max-width:100%;justify-content:center;box-sizing:border-box;overflow:hidden}#stats-panel.stats-visible{transform:translateY(0)}body.header-hidden #stats-panel{top:0}body[data-app-state=finished] #stats-panel{position:static;transform:none;top:auto;left:0;right:0;width:100%;max-width:100vw;box-sizing:border-box;overflow:hidden;margin:0 auto}.stat-icon{color:var(--primary-color)}.stat-icon svg{width:28px;height:28px;opacity:.8}.stat-text{display:flex;flex-direction:column;align-items:flex-start}.stat-label{font-size:11px;color:var(--text-secondary);white-space:nowrap}.stat-value{font-size:clamp(16px,4.5vw,20px);font-weight:700;color:var(--text-primary);white-space:nowrap}.hidden{display:none!important}@media(orientation:landscape)and (max-height:560px){body.landscape-map-full{padding-bottom:0!important;background-color:#000}body.landscape-map-full h1,body.landscape-map-full #stats-panel,body.landscape-map-full #button-container,body.landscape-map-full #initial-panel,body.landscape-map-full #safe-area-top-bar,body.landscape-map-full #top-left-info-cluster,body.landscape-map-full #map-controls-container,body.landscape-map-full #safe-area-bottom-bar,body.landscape-map-full footer{display:none!important}body.landscape-map-full #top-left-fab-container,body.landscape-map-full #fab-container-top-right,body.landscape-map-full #fab-container-creation-tools{display:none!important}body.landscape-map-full[data-app-state=tour] #fab-container-top-right,body.landscape-map-full[data-app-state=paused] #fab-container-top-right{display:flex!important;top:calc(8px + env(safe-area-inset-top))!important;right:12px!important;z-index:var(--z-header-bar)!important}body.landscape-map-full[data-app-state=tour] #fab-container-top-right>:not(#recenter-map-btn),body.landscape-map-full[data-app-state=paused] #fab-container-top-right>:not(#recenter-map-btn){display:none!important}body.landscape-map-full[data-app-state=tour] #recenter-map-btn,body.landscape-map-full[data-app-state=paused] #recenter-map-btn{display:flex!important}body.landscape-map-full #plogging-collect-button-container,body.landscape-map-full #opacity-toggle-container,body.landscape-map-full #historical-map-switcher,body.landscape-map-full #aerial-attribution-container,body.landscape-map-full #lock-screen-overlay,body.landscape-map-full #lock-screen-overlay p,body.landscape-map-full #lock-screen-overlay .swipe-arrow,body.landscape-map-full #lock-screen-overlay .lock-icon{display:none!important}body.landscape-map-full #wrap_map,body.landscape-map-full #map{width:100%;height:100dvh;min-height:100dvh}body.landscape-map-full #wrap_map{position:fixed;inset:0;z-index:var(--z-map-base)}}body[data-app-state=tour] #safe-area-bottom-bar,body[data-app-state=paused] #safe-area-bottom-bar{display:none!important;height:0!important;padding:0!important;overflow:hidden!important;background:transparent!important}body[data-app-state=tour] #fab-container,body[data-app-state=tour] #fab-container-left,body[data-app-state=tour] #fab-container-animation-stop,body[data-app-state=paused] #fab-container,body[data-app-state=paused] #fab-container-left,body[data-app-state=paused] #fab-container-animation-stop,body.landscape-map-full #fab-container,body.landscape-map-full #fab-container-left,body.landscape-map-full #fab-container-animation-stop,body[data-app-state=tour] #fab-container-plotting,body[data-app-state=tour] #fab-container-delete-guide,body[data-app-state=tour] #fab-container-spot-creation,body[data-app-state=paused] #fab-container-plotting,body[data-app-state=paused] #fab-container-delete-guide,body[data-app-state=paused] #fab-container-spot-creation,body.landscape-map-full #fab-container-plotting,body.landscape-map-full #fab-container-delete-guide,body.landscape-map-full #fab-container-spot-creation{bottom:calc(16px + env(safe-area-inset-bottom))!important}body[data-app-state=tour] #historical-map-switcher,body[data-app-state=paused] #historical-map-switcher,body.landscape-map-full #historical-map-switcher{bottom:calc(4px + env(safe-area-inset-bottom))!important}body[data-app-state=tour] #opacity-toggle-container,body[data-app-state=paused] #opacity-toggle-container,body.landscape-map-full #opacity-toggle-container{bottom:calc(64px + env(safe-area-inset-bottom))!important}body[data-app-state=tour] #aerial-attribution-container,body[data-app-state=paused] #aerial-attribution-container,body.landscape-map-full #aerial-attribution-container{bottom:calc(124px + env(safe-area-inset-bottom))!important}.fab.hidden,.fab.secondary.hidden,.fab.secondary.fab-with-label.hidden,#pitch-toggle-btn.hidden,#navi-mode-btn.hidden,#orientation-btn.hidden,#recenter-map-btn.hidden,#fab-center-guide.hidden{display:none!important}#fab-container,#fab-container-animation-stop{position:fixed;right:16px;bottom:calc(40px + env(safe-area-inset-bottom));z-index:var(--z-fab-buttons);display:flex;flex-direction:column-reverse;align-items:flex-end;gap:12px;transition:bottom .3s ease-in-out,top .3s ease-in-out,opacity .3s,visibility .3s}#fab-container-left{position:fixed;left:16px;bottom:calc(40px + env(safe-area-inset-bottom));z-index:var(--z-fab-buttons);display:flex;flex-direction:column-reverse;align-items:flex-start;gap:12px;transition:bottom .3s ease-in-out,opacity .3s,visibility .3s}#fab-container-top-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px;position:fixed;top:calc(70px + env(safe-area-inset-top));right:10px;z-index:var(--z-fab-buttons);transition:top .3s ease-in-out,visibility .3s}.fab{width:56px;height:56px;border-radius:50%;border:none;color:var(--white-color);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:transform .2s ease,background-color .2s ease,color .2s ease,opacity .3s,width .3s,height .3s}.fab{will-change:transform}.fab:hover{transform:scale(1.05)}.fab:active{transform:scale(.95)}.fab:disabled{opacity:.5;cursor:not-allowed;background-color:var(--text-secondary)}.fab svg{width:24px;height:24px;transition:width .3s,height .3s}#fab-start,#fab-pause,#fab-resume,#fab-stop,#fab-reset,#fab-goal-results,#fab-lock-screen,#fab-track-reload{width:64px;height:64px;flex-direction:column;justify-content:center;padding:8px 4px;gap:8px;box-sizing:border-box}#fab-start svg,#fab-pause svg,#fab-resume svg,#fab-stop svg,#fab-reset svg,#fab-goal-results svg,#fab-lock-screen svg{width:28px;height:28px}#fab-lock-screen .fab-label{font-size:9px}#fab-start{background-color:var(--success-color)}#fab-start:hover:not(:disabled){background-color:var(--success-hover-color)}#fab-pause{background-color:var(--warning-color)}#fab-pause:hover{background-color:var(--warning-hover-color)}#fab-resume{background-color:var(--success-color)}#fab-resume:hover{background-color:var(--success-hover-color)}#fab-stop,#fab-stop-animation{background-color:var(--danger-color)}#fab-stop:hover,#fab-stop-animation:hover{background-color:var(--danger-hover-color)}#fab-reset{background-color:var(--primary-color);color:var(--text-on-primary)!important}#fab-reset:hover{background-color:var(--primary-hover-color)}#fab-reset svg{stroke:currentColor;fill:none}#fab-lock-screen{background-color:#6200ea!important;color:#fff!important;border:2px solid #ffffff;transition:background-color .5s ease,color .5s ease,border-color .5s ease,box-shadow .5s ease}#fab-lock-screen:hover{background-color:#7c1aff!important;border-color:#fff}#fab-lock-screen svg,#fab-lock-screen .fab-label{color:#fff!important;stroke:#fff!important}#fab-voice-memo{width:64px;height:64px;background-color:#8e9aa3!important;color:#fff!important}#fab-voice-memo:hover{background-color:#76828c!important}#fab-voice-memo .fab-label{color:#fff!important}#fab-voice-memo svg{color:#fff!important;fill:currentColor;width:28px;height:28px}@keyframes voice-memo-mic-pulse-ring{0%{transform:scale(.98);opacity:.55}70%{transform:scale(1.14);opacity:0}to{transform:scale(1.14);opacity:0}}#voice-memo-popup .voice-memo-toolbar{display:flex;justify-content:center;align-items:center;width:100%;margin-top:0;margin-bottom:12px}#voice-memo-popup .voice-memo-mic{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:320px;min-height:48px;padding:10px 20px;box-sizing:border-box;border-radius:8px;border:1px solid #76828C;background-color:#8e9aa3!important;color:#fff!important;font-size:1em;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .12));transition:background-color .2s,border-color .2s,transform .1s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;overflow:visible;isolation:isolate}#voice-memo-popup .voice-memo-mic:hover{background-color:#76828c!important;border-color:#5f6a72!important}#voice-memo-popup .voice-memo-mic:active{transform:scale(.98)}#voice-memo-popup .voice-memo-mic svg{flex-shrink:0;color:#fff!important;fill:currentColor}#voice-memo-popup .voice-memo-mic .voice-memo-mic-label{color:#fff!important}#voice-memo-popup .voice-memo-mic.voice-memo-mic-recording{background-color:#d32f2f!important;color:#fff!important;border-color:#b71c1c!important}#voice-memo-popup .voice-memo-mic.voice-memo-mic-recording:after{content:"";position:absolute;inset:-3px;border-radius:inherit;background:#d32f2f73;z-index:0;pointer-events:none;animation:voice-memo-mic-pulse-ring 1.4s ease-out infinite}#voice-memo-popup .voice-memo-mic.voice-memo-mic-recording>*{position:relative;z-index:1}#voice-memo-popup .voice-memo-mic.voice-memo-mic-recording .voice-memo-mic-label{color:#fff!important}@media(prefers-reduced-motion:reduce){#voice-memo-popup .voice-memo-mic.voice-memo-mic-recording:after{animation:none;opacity:0}}#voice-memo-popup .popup-content{max-width:min(680px,92vw)}#voice-memo-popup .popup-textarea{width:100%;max-width:100%;box-sizing:border-box;resize:vertical;padding:14px 16px;border-radius:8px;border:1px solid var(--border-color, #ddd);background:var(--white-color, #fff);color:var(--text-color, #333);font-size:16px;line-height:1.5;min-height:160px}#voice-memo-popup .popup-hint{margin-top:8px;font-size:12px;color:var(--text-secondary, #666)}#fab-lock-screen.power-saving-active{background-color:#000!important;color:#fff!important;border:2px solid #6200ea;box-shadow:0 0 10px #6200ea80}#fab-lock-screen.power-saving-active:hover{background-color:#1a1a1a!important;border-color:#7c1aff;box-shadow:0 0 15px #6200eab3}#fab-lock-screen.power-saving-active svg,#fab-lock-screen.power-saving-active .fab-label{color:#fff!important;stroke:#fff!important}#fab-track-reload{background-color:#007aff}#fab-track-reload:hover{background-color:#0062cc}#fab-track-reload svg{stroke:var(--white-color)}.fab.secondary{width:48px;height:48px;background-color:var(--component-bg);color:var(--text-primary);border:1px solid var(--border-color)}.fab.secondary.fab-with-label{flex-direction:column!important;justify-content:center!important;padding:4px 2px!important;gap:2px!important;box-sizing:border-box!important;display:flex!important}.fab.secondary:hover{border-color:var(--primary-color);color:var(--primary-color)}.fab.secondary.active{background-color:var(--primary-color);color:var(--text-on-primary);border-color:var(--primary-color)}.fab.secondary svg{width:22px;height:22px;stroke:currentColor;fill:currentColor}.fab.secondary.fab-with-label svg{width:24px!important;height:24px!important}#navi-mode-btn svg,#pitch-toggle-btn svg,#recenter-map-btn svg,#orientation-btn svg,#fab-help svg,#fab-center-guide svg,#fab-opacity-toggle svg,#fab-settings svg{fill:none}#fab-stamp-rally{width:64px;height:64px;background-color:var(--stamp-rally-color);color:var(--white-color);border:2px solid var(--white-color);box-shadow:0 4px 12px #0000004d;flex-direction:column;justify-content:center;align-items:center;padding:8px;box-sizing:border-box;height:auto}#fab-stamp-rally:hover{background-color:var(--stamp-rally-hover-color);border-color:var(--white-color);color:var(--white-color);transform:scale(1.05)}#fab-stamp-rally svg{width:28px;height:28px;stroke:var(--white-color);fill:none}#stamp-rally-count-display{font-size:16px;font-weight:700;color:var(--white-color);margin-top:2px;line-height:1;text-shadow:1px 1px 2px rgba(0,0,0,.4)}#fab-container-plotting,#fab-container-delete-guide,#fab-container-spot-creation{position:fixed;bottom:calc(40px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:var(--z-fab-aux);display:flex;gap:16px;background-color:#fffc;padding:12px 16px;border-radius:34px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:none;backdrop-filter:none;transition:opacity .3s,bottom .3s}#fab-container-plotting .fab,#fab-container-delete-guide .fab,#fab-container-spot-creation .fab{width:52px;height:52px}#fab-plotting-confirm{background-color:var(--success-color)}#fab-plotting-confirm:hover{background-color:var(--success-hover-color)}#fab-plotting-undo{background-color:var(--warning-color)}#fab-plotting-undo:hover{background-color:var(--warning-hover-color)}#fab-plotting-cancel{background-color:var(--danger-color)}#fab-plotting-cancel:hover{background-color:var(--danger-hover-color)}#fab-delete-guide-confirm{background-color:var(--primary-color)}#fab-delete-guide-confirm:hover{background-color:var(--primary-hover-color)}#fab-delete-guide-cancel{background-color:var(--danger-color)}#fab-delete-guide-cancel:hover{background-color:var(--danger-hover-color)}#fab-spot-creation-exit{background-color:var(--danger-color)}#fab-spot-creation-exit:hover{background-color:var(--danger-hover-color)}#countdown-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;z-index:var(--z-overlay-backdrop);display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}#countdown-overlay.visible{opacity:1;visibility:visible}#countdown-number{font-size:25vw;font-weight:700;color:#fff;text-shadow:0 0 20px rgba(0,0,0,.5);transform:scale(1.5);opacity:0}#countdown-overlay.visible #countdown-number{animation:countdown-tick 1s forwards;will-change:transform,opacity}@keyframes countdown-tick{0%{transform:scale(1.5);opacity:0}20%{transform:scale(1);opacity:1}80%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}#image-message-container{position:fixed;inset:0;background-color:#0009;z-index:var(--z-system-overlay)!important;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:calc(env(safe-area-inset-top) + 10px) 12px calc(env(safe-area-inset-bottom) + 10px);box-sizing:border-box;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}#image-message-container.visible{opacity:1;visibility:visible}.message-content-wrapper{position:relative;background-color:var(--component-bg);color:var(--text-primary);padding:0;border-radius:16px;width:min(96vw,560px);max-width:560px;height:auto;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);margin:0 auto;display:flex;flex-direction:column;overflow:hidden;text-align:center;border:none;box-shadow:0 8px 32px #0003;transform:translateY(20px) scale(.95);opacity:0;will-change:transform,opacity;transition:transform .4s cubic-bezier(.25,.8,.25,1),opacity .3s ease-out}@supports not (height: 100dvh){.message-content-wrapper{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px)}}@media(max-height:700px){.message-scrollable-content{padding:44px 16px 16px}#myImage{max-height:24vh}}#image-message-container.visible .message-content-wrapper{transform:translateY(0) scale(1);opacity:1}.message-scrollable-content{padding:50px 24px 24px;overflow-y:auto;flex-grow:1;min-height:0}#image-message-container .close-message-btn{position:absolute;top:10px;right:10px;width:54px;height:54px;background-color:#00000040;border:none;border-radius:50%;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;justify-content:center;transition:background-color .2s,transform .1s;z-index:var(--z-top-left-info);touch-action:manipulation}#image-message-container .close-message-btn:active{background-color:#00000059;transform:scale(.9)}#stamp-get-title{color:var(--primary-darkened)!important;font-size:1.6em;font-weight:700;text-align:center;margin:0 0 15px;padding-bottom:12px;border-bottom:2px solid var(--border-color)}#myImage{max-width:100%;height:auto;max-height:30vh;border-radius:8px;margin-bottom:15px;display:block;margin-left:auto;margin-right:auto;object-fit:contain}#mess{margin-top:0;margin-bottom:24px;font-size:1.1em;line-height:1.6}.spot-points-info{display:flex;gap:12px;margin:12px 0 16px;flex-wrap:wrap}.point-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;font-size:.9em;font-weight:600;box-shadow:0 2px 4px #0000001a;flex:0 0 auto}.point-badge svg{flex-shrink:0}.point-label{font-size:.85em;opacity:.9}.point-value{font-size:1.1em;font-weight:700;margin:0 2px}.point-unit{font-size:.8em;opacity:.8}.arrival-points{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.quiz-points{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}#spot-description{text-align:left;font-size:.95em;line-height:1.7;color:var(--text-secondary);margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color);white-space:pre-wrap}#spot-description ruby{display:inline-flex;flex-direction:column;align-items:center;white-space:normal!important;ruby-position:over}#spot-description rt{display:block;font-size:.6em;line-height:1;text-align:center;white-space:nowrap;font-feature-settings:"liga" 0;-webkit-text-emphasis-style:none;text-emphasis-style:none}#quiz-explanation{white-space:pre-wrap;text-align:left;font-size:.9em;line-height:1.5;overflow:visible;padding-right:0;margin-bottom:15px}#quiz-explanation ruby{display:inline-flex;flex-direction:column;align-items:center;white-space:normal!important;ruby-position:over}#quiz-explanation rt{display:block;font-size:.6em;line-height:1;text-align:center;white-space:nowrap;font-feature-settings:"liga" 0;-webkit-text-emphasis-style:none;text-emphasis-style:none}.message-footer{padding:16px 24px;border-top:1px solid var(--border-color);background-color:var(--component-bg);flex-shrink:0;display:flex;justify-content:center;align-items:center;gap:24px}#guideline{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);border:2px dashed rgba(255,0,0,.8);box-shadow:0 0 10px #00000080;pointer-events:none;display:none;z-index:var(--z-guideline)}#toast-notification{visibility:hidden;min-width:250px;background-color:#333;color:#fff;text-align:center;border-radius:25px;padding:14px 22px;position:fixed;z-index:var(--z-toast-notification);left:50%;bottom:calc(160px + env(safe-area-inset-bottom));transform:translate(-50%,20px);font-size:1em;opacity:0;transition:all .4s cubic-bezier(.25,.8,.25,1)}#toast-notification.show{visibility:visible;opacity:1;bottom:calc(180px + env(safe-area-inset-bottom));transform:translate(-50%)}#toast-notification.toast-top{bottom:auto!important;top:calc(env(safe-area-inset-top) + 100px)!important;transform:translate(-50%,-20px)!important}#toast-notification.toast-top.show{transform:translate(-50%)!important}#export-confirm-popup{position:fixed;bottom:calc(34px + env(safe-area-inset-bottom));left:10px;right:10px;transform:translate(0);max-width:500px;margin:0 auto;background-color:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 20px #0006;z-index:var(--z-export-confirm);display:flex;flex-direction:column;align-items:center;gap:12px;transition:opacity .3s,bottom .3s}#export-confirm-popup p{margin:0;font-size:.95em;font-weight:700;text-align:center;line-height:1.5;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.export-buttons{display:flex;gap:8px;flex-shrink:0}#export-confirm-popup button{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:background-color .2s}#export-confirm-popup #execute-export-btn{background-color:#007aff;color:#fff}#export-confirm-popup #cancel-export-btn{background-color:#555;color:#fff}body[data-app-state=finished] .maplibregl-user-location-dot,body[data-app-state=finished] .maplibregl-user-location-accuracy-circle{display:none!important}.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#1e1e1ed9;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;justify-content:center;align-items:center;z-index:var(--z-system-overlay-under)!important;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s}.popup-overlay:not(.hidden){opacity:1;visibility:visible;transition:opacity .3s ease}.popup-content{position:relative;background-color:var(--component-bg);padding:24px;border-radius:12px;box-shadow:var(--shadow-md);text-align:center;max-width:90%;width:300px;opacity:0;transform:scale(.95) translateY(10px);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .3s ease-out}.popup-overlay:not(.hidden) .popup-content{opacity:1;transform:scale(1) translateY(0)}.popup-content p,.popup-section label{margin:0 0 12px;font-size:1.1em;color:var(--text-primary);font-weight:700;display:block}.popup-content h3{margin:0 0 12px;font-size:1.1em;font-weight:700;display:block;color:var(--primary-darkened)!important}.popup-content p small{font-size:.8em;color:var(--text-secondary);font-weight:400}.popup-section{margin-bottom:24px}.popup-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:0}.popup-buttons button,#course-select-modal .course-select-footer button,#my-courses-popup .course-select-footer button,#activity-history-popup .course-select-footer button{padding:12px;min-height:48px;border-radius:8px;border:1px solid var(--border-color);font-size:1em;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s,transform .1s}.popup-buttons button:active,#course-select-modal .course-select-footer button:active,#my-courses-popup .course-select-footer button:active,#activity-history-popup .course-select-footer button:active{transform:scale(.96)}.popup-buttons button.popup-btn-primary{background-color:var(--primary-color);color:var(--text-on-primary);border-color:var(--primary-color)}.popup-buttons button.popup-btn-primary:hover{background-color:var(--primary-hover-color)}.popup-buttons button.popup-btn-secondary,#course-select-modal .course-select-footer button,#my-courses-popup .course-select-footer button,#activity-history-popup .course-select-footer button{background-color:var(--component-bg);color:var(--primary-color);border-color:var(--border-color)}.popup-buttons button.popup-btn-secondary:hover,#course-select-modal .course-select-footer button:hover,#my-courses-popup .course-select-footer button:hover,#activity-history-popup .course-select-footer button:hover,.popup-buttons button.popup-btn-cancel:hover{background-color:#f0f0f0}.popup-buttons button.popup-btn-danger{background-color:var(--danger-color);color:var(--white-color);border-color:var(--danger-color)}.popup-buttons button.popup-btn-danger:hover{background-color:var(--danger-hover-color)}.speed-controls-popup{display:flex;justify-content:center;gap:8px}.speed-controls-popup button{flex:1;padding:10px 0;min-height:48px;border:1px solid var(--border-color);background-color:transparent;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:background-color .2s,color .2s}.speed-controls-popup button.active{background-color:var(--primary-color);color:var(--text-on-primary);border-color:var(--primary-color)}body[data-app-state=finished] #fab-container,body[data-app-state=finished] #fab-container-left{bottom:calc(115px + env(safe-area-inset-bottom))}body[data-app-state=finished] #toast-notification{bottom:calc(195px + env(safe-area-inset-bottom))}body[data-app-state=finished] #toast-notification.show{bottom:calc(215px + env(safe-area-inset-bottom))}body[data-app-state=finished] #export-confirm-popup{bottom:calc(100px + env(safe-area-inset-bottom))}.maplibregl-ctrl-logo{display:none!important}.maplibregl-ctrl-top-left .maplibregl-ctrl{margin-top:10px;transition:margin-top .3s ease-in-out}body[data-app-state=finished] #fab-container-top-right{top:70px}#qr-scanner-overlay{position:fixed;top:0;left:0;width:100%;height:100%;max-height:100dvh;background:#000000eb;z-index:var(--z-qr-scanner);display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-sizing:border-box;overflow:hidden}.qr-scanner-sheet{width:100%;max-width:420px;flex:1 1 auto;min-height:0;max-height:100%;display:grid;grid-template-rows:auto auto auto 1fr auto;grid-template-columns:1fr;gap:10px;align-content:start}.qr-scanner-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;position:relative;z-index:3}.qr-scanner-title{margin:0;font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:.02em}.qr-scanner-header-close{flex-shrink:0;width:44px;height:44px;padding:0;border:none;border-radius:var(--border-radius-md);background:#ffffff1f;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.qr-scanner-header-close:active{background:#ffffff38}.qr-scanner-hint{margin:0;font-size:.88rem;line-height:1.45;color:#ffffffd1;position:relative;z-index:3}.qr-scanner-status{display:flex;align-items:center;gap:10px;min-height:1.5em;font-size:.92rem;font-weight:600;color:#7ee787;position:relative;z-index:3}.qr-scanner-status-msg.hidden{display:none}.qr-scanner-pulse-dot{width:10px;height:10px;border-radius:50%;background:#555;flex-shrink:0}#qr-scanner-overlay.qr-scanner-preparing .qr-scanner-pulse-dot{background:#f0ad4e;animation:qr-scan-breathe 1.2s ease-in-out infinite}#qr-scanner-overlay.qr-scanner-active .qr-scanner-pulse-dot{background:#7ee787;box-shadow:0 0 #7ee78780;animation:qr-scan-pulse 1s ease-in-out infinite}@keyframes qr-scan-breathe{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@keyframes qr-scan-pulse{0%,to{box-shadow:0 0 #7ee78773}50%{box-shadow:0 0 0 10px #7ee78700}}.qr-scanner-middle-wrap{min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;width:100%}.qr-scanner-viewport,#qr-reader{width:100%;max-width:400px;margin:0 auto;height:100%;max-height:100%;min-height:0;border:2px solid var(--primary-color);border-radius:var(--border-radius-md);overflow:hidden;box-sizing:border-box}#qr-scanner-overlay #qr-reader video{position:relative!important;top:auto!important;left:auto!important;width:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;z-index:auto!important;object-fit:cover;pointer-events:auto}.qr-scanner-stop-btn{margin-top:0;padding:14px 20px;width:100%;max-width:400px;margin-left:auto;margin-right:auto;background:var(--danger-color);color:#fff;border:none;border-radius:var(--border-radius-md);font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 2px 8px #00000059;position:relative;z-index:3;flex-shrink:0}.qr-scanner-stop-btn:active{filter:brightness(1.08)}body[data-app-state=tour] h1,body[data-app-state=paused] h1,body[data-app-state=finished] h1,.header-hidden h1{display:none!important}body.stats-panel-shown.header-hidden .maplibregl-ctrl-top-left .maplibregl-ctrl{margin-top:69px}body.stats-panel-shown:not(.header-hidden) .maplibregl-ctrl-top-left .maplibregl-ctrl{margin-top:65px}#initial-panel{position:fixed;bottom:0;left:0;right:0;background-color:var(--component-bg);z-index:var(--z-initial-panel);padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-top-left-radius:var(--border-radius-md);border-top-right-radius:var(--border-radius-md);box-shadow:0 -4px 12px #00000026;transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1)}#initial-panel-swipe-handle{position:absolute;top:8px;left:50%;width:44px;height:5px;transform:translate(-50%);border-radius:999px;background:#78828ca6;box-shadow:inset 0 0 0 1px #ffffff3d;pointer-events:none;z-index:var(--z-overlay-handle)}#initial-panel-swipe-handle.hint-bounce{animation:initialPanelSwipeHandleNudge .42s ease-out 2}@keyframes initialPanelSwipeHandleNudge{0%,to{transform:translate(-50%) translateY(0)}35%{transform:translate(-50%) translateY(5px)}60%{transform:translate(-50%) translateY(2px)}}@media(prefers-reduced-motion:reduce){#initial-panel-swipe-handle.hint-bounce{animation:none}}#initial-panel-content{padding-top:10px}#initial-panel.visible{transform:translateY(0)}#initial-panel-content p{text-align:center;margin-top:0;margin-bottom:24px;font-size:1.1em;line-height:1.6}@keyframes spin{to{transform:rotate(360deg)}}#help-modal.popup-overlay{align-items:flex-start;padding:20px 0}.popup-content.help-content{width:360px;max-width:95vw;text-align:left;max-height:calc(100% - 60px);overflow-y:auto;display:flex;flex-direction:column}.popup-content.help-content .help-section{flex-shrink:0}#help-modal .close-message-btn{position:absolute;top:12px;right:12px;left:auto;width:48px;height:48px;background-color:#00000040;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s;cursor:pointer;z-index:var(--z-ar-control);min-width:48px;min-height:48px}#help-modal .close-message-btn:hover{background-color:#00000040}.popup-content.help-content h2{text-align:center;margin-top:0;margin-right:40px}.help-section{margin-bottom:12px;padding:16px 12px;background-color:var(--card-background);border-radius:8px}.help-section+.help-section{margin-top:0;padding-top:16px;border-top:none}.help-section h3{font-size:1em;color:var(--primary-darkened)!important;border-bottom:2px solid var(--primary-darkened)!important;padding-bottom:4px;margin:0 0 8px}.help-section p{font-size:.9em;line-height:1.6;margin:0;font-weight:400}.help-item{display:flex;align-items:flex-start;gap:15px;margin-bottom:16px}.help-item .icon-placeholder{flex-shrink:0;width:40px;height:40px;display:flex;justify-content:center;align-items:center;background-color:var(--body-bg);border-radius:8px;color:var(--text-primary)}.help-item .icon-placeholder svg{width:24px;height:24px;stroke-width:2;stroke:currentColor;color:currentColor}.help-item p{flex-grow:1;font-size:.85em;line-height:1.5;margin:0}.help-item p b{font-weight:700;color:var(--text-primary);display:inline;margin-right:2px}.user-manual-link{display:block;text-align:center;margin-top:16px;margin-bottom:16px;font-size:.9em;color:var(--primary-darkened)!important;text-decoration:underline}#confirm-help-btn{width:100%;padding:14px;font-size:1.1em;margin-top:10px}#gpx-download-modal .popup-content p{font-weight:400;text-align:center;line-height:1.6}#gpx-download-modal .popup-content p a{color:var(--primary-darkened)!important;font-weight:700}#paused-overlay{position:absolute;bottom:0;left:0;width:100%;padding:10px;background-color:#0009;color:#fff;text-align:center;font-weight:700;font-size:1.1em;z-index:var(--z-top-left-info);pointer-events:none;transition:opacity .3s,visibility .3s}.popup-input{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-sizing:border-box;font-size:1em}#trash-stat-item.hidden{display:none}#plogging-collect-button-container{position:fixed;bottom:calc(40px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:var(--z-fab-aux);transition:opacity .3s,transform .3s}#plogging-collect-btn{width:64px;height:64px;background-color:var(--primary-color);border:2px solid white;border-radius:50%;box-shadow:0 4px 12px #0000004d;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;padding:8px;box-sizing:border-box}#plogging-collect-btn:active{transform:scale(.92)}#plogging-collect-btn svg{width:28px;height:28px}#plogging-count-display{font-size:16px;font-weight:700;margin-top:2px;text-shadow:1px 1px 2px rgba(0,0,0,.4)}#camera-overlay{z-index:var(--z-camera-overlay);background-color:#000000f2;backdrop-filter:none;-webkit-backdrop-filter:none}.camera-container{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}#camera-video,#camera-canvas{width:100%;max-height:100%;object-fit:contain}#camera-canvas{display:none}#camera-shutter-button{position:absolute;bottom:10%;left:50%;transform:translate(-50%);width:70px;height:70px;border-radius:50%;background-color:#fff;border:5px solid rgba(0,0,0,.3);cursor:pointer;z-index:var(--z-ar-control)}#camera-shutter-button:active{background-color:#ccc}#camera-cancel-btn{position:absolute;top:40px;right:20px;background:#00000080;color:#fff;border:none;border-radius:8px;padding:10px 15px;font-weight:700;cursor:pointer;z-index:var(--z-ar-control)}#camera-controls{position:absolute;bottom:10%;width:100%;display:flex;justify-content:space-around;align-items:center;z-index:var(--z-ar-control)}#camera-controls button{padding:12px 24px;border-radius:8px;border:none;font-size:1em;font-weight:700;cursor:pointer;background-color:#ffffffe6}#ar-overlay:not(.hidden){min-height:100dvh;min-height:100vh}#ar-overlay{z-index:var(--z-system-overlay)!important;background-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:auto;top:auto!important;left:0!important;width:100%!important;display:flex;justify-content:flex-start!important;align-items:flex-start!important;transition:background-color .22s ease}#ar-overlay.hidden{display:none!important;visibility:hidden!important;opacity:0!important;z-index:-1!important;pointer-events:none!important}body:not(.ar-active) #ar-overlay,body:not(.ar-active) #ar-ui-layer,body:not(.ar-active) #ar-square-mask{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;z-index:-9999!important}body.ar-mode{padding-bottom:0!important}body.ar-mode h1,body.ar-mode #safe-area-top-bar,body.ar-mode #safe-area-bottom-bar{display:none!important}#ar-overlay.ar-preparing{background-color:#000}#ar-overlay.ar-entering .mask-bar{animation:arSoftFadeIn .42s ease-out both}#ar-overlay.ar-entering #ar-scene-container{animation:arSceneSoftIn .46s cubic-bezier(.2,.85,.25,1) both}#ar-overlay.ar-entering #ar-ui-layer{animation:arUiSoftIn .52s cubic-bezier(.2,.85,.25,1) both}#ar-loading-mask{position:absolute;inset:0;background-color:#000;color:#fff;z-index:var(--z-ar-loading-mask);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;opacity:0;pointer-events:none;transition:opacity .52s ease}#ar-loading-mask.is-active{opacity:1;pointer-events:auto}#ar-loading-mask.fade-out{opacity:0;pointer-events:none}#ar-loading-mask p{margin:0;font-size:14px;letter-spacing:.02em}#ar-loading-mask.is-closing .ar-spinner,#ar-loading-mask.is-closing p{opacity:0}.ar-spinner{width:42px;height:42px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:arSpin .9s linear infinite}@keyframes arSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes arSoftFadeIn{0%{opacity:0}to{opacity:1}}@keyframes arSceneSoftIn{0%{opacity:0;filter:blur(8px) saturate(.85);transform:scale(1.02)}to{opacity:1;filter:blur(0) saturate(1);transform:scale(1)}}@keyframes arUiSoftIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ar-container{position:relative;width:100%;min-height:100dvh;min-height:100vh;height:100%;overflow:hidden;background-color:transparent}#ar-scene-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:var(--z-ar-internal-bg)}#ar-scene-container a-scene{width:100%;height:100%;display:block;background-color:transparent!important;position:relative;z-index:var(--z-ar-internal-bg)}#ar-scene-container canvas{touch-action:none;width:100%!important;height:100%!important;display:block;position:absolute;top:0;left:0;z-index:var(--z-ar-internal-model)!important}body>video{position:fixed!important;top:0!important;left:0!important;min-width:100vw!important;min-height:100vh!important;z-index:var(--z-ar-video-global)!important;object-fit:cover!important;pointer-events:none}#arjs-video,video#arjs-video{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;object-fit:cover!important;margin:0!important;padding:0!important;z-index:var(--z-ar-video-global)!important;pointer-events:none!important}#ar-scene-container video{width:100%!important;height:100%!important;object-fit:cover;position:absolute;top:0;left:0;z-index:var(--z-ar-internal-bg)!important;pointer-events:none}.a-canvas,#ar-scene-container canvas{position:fixed!important;z-index:var(--z-ar-internal-model)!important;pointer-events:auto}#ar-square-mask{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-ar-internal-ui);pointer-events:none;display:flex;flex-direction:column;justify-content:center;align-items:center}#ar-square-mask .mask-bar{flex:1;width:100%;background-color:#00000080}#ar-square-mask .mask-center{--ar-mask-side: min(var(--app-visible-vw, 100vw), var(--app-visible-vh, 100vh));width:var(--ar-mask-side);height:var(--ar-mask-side);max-width:var(--ar-mask-side);max-height:var(--ar-mask-side);border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.5);box-sizing:border-box}@media(orientation:landscape){#ar-square-mask{flex-direction:row}#ar-square-mask .mask-bar{height:100%;width:auto}#ar-square-mask .mask-center{width:100vh;height:100vh;border:none;border-left:1px solid rgba(255,255,255,.5);border-right:1px solid rgba(255,255,255,.5)}#ar-instructions{top:calc(env(safe-area-inset-top) + 12px)}}#ar-ui-layer{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-ar-ui-layer);pointer-events:none;isolation:isolate;transform:translateZ(0);-webkit-transform:translateZ(0)}#ar-instructions{position:fixed;top:calc(env(safe-area-inset-top) + 12px);left:calc(env(safe-area-inset-left) + 8px);right:calc(env(safe-area-inset-right) + 8px);transform:none;background:linear-gradient(135deg,#12182af2,#1e263ef5);color:#fffef8;border:1px solid rgba(255,152,0,.65);box-shadow:0 0 0 1px #ffc10740,0 4px 18px #00000073;padding:11px 16px;border-radius:20px;font-size:14px;text-align:center;pointer-events:auto;z-index:var(--z-ar-instructions);width:auto;max-width:none;white-space:normal;line-height:1.45;overflow-wrap:anywhere;word-break:normal;hyphens:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-sizing:border-box}#ar-instructions .ar-instructions-note{white-space:nowrap;color:#ffe082;font-weight:600}#ar-landscape-block-overlay{display:none;pointer-events:none}@media(orientation:landscape){body.ar-active #ar-landscape-block-overlay{display:flex!important;position:fixed;inset:0;z-index:12500;background:#000000e6;color:#fff;align-items:center;justify-content:center;text-align:center;padding:24px;box-sizing:border-box;pointer-events:auto}body.ar-active #ar-landscape-block-overlay p{margin:0;font-size:18px;line-height:1.6;font-weight:700}}#ar-ui-layer .interactive-btn{pointer-events:auto!important;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .1s;text-decoration:none;position:absolute;background:#00000080;color:#fff;border:none;border-radius:8px;padding:10px 15px;font-weight:700;z-index:var(--z-ar-control)}#ar-screenshot-btn{position:absolute!important;bottom:calc(26px + env(safe-area-inset-bottom))!important;left:50%!important;transform:translate(-50%)!important;width:76px!important;height:76px!important;border-radius:50%!important;background-color:transparent!important;border:4px solid #ffffff!important;box-shadow:0 6px 14px #00000073!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;overflow:hidden!important;z-index:var(--z-ar-screenshot-btn)!important;color:transparent!important;text-indent:-9999px!important;transition:transform 90ms ease,box-shadow .12s ease}#ar-screenshot-btn:active{transform:translate(-50%) scale(.9)!important;box-shadow:0 3px 8px #00000059!important}#ar-screenshot-btn:after{content:"";position:absolute;width:56px;height:56px;background-color:#fff;border-radius:50%;transition:width 90ms ease,height 90ms ease,background-color 90ms ease}#ar-screenshot-btn:active:after{width:50px;height:50px;background-color:#ebebeb}#ar-screenshot-btn svg{display:none}#ar-flash{position:fixed;inset:0;background-color:#fff;z-index:var(--z-system-loader);opacity:0;pointer-events:none;transition:opacity .26s ease-out}#ar-flash.flash-active{opacity:1;transition:none}#ar-close-btn{bottom:10%;left:20px;width:60px;height:60px;border-radius:50%;background-color:#0009;border:2px solid rgba(255,255,255,.8);display:flex;justify-content:center;align-items:center;padding:0;box-shadow:0 4px 6px #0000004d}#ar-close-btn:active{background-color:#000c;transform:scale(.95)}#ar-zoom-controls{position:fixed;bottom:10%;right:20px;z-index:var(--z-ar-instructions);display:flex;flex-direction:row;gap:15px;align-items:center}.ar-zoom-btn{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;max-width:52px!important;max-height:52px!important;flex:0 0 52px;aspect-ratio:1 / 1;box-sizing:border-box;border-radius:50%;background-color:#0009;color:#fff;border:2px solid white;font-size:28px;line-height:1;font-weight:700;display:flex;justify-content:center;align-items:center;cursor:pointer;pointer-events:auto!important;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .1s,background-color .2s;box-shadow:0 4px 6px #0000004d}.ar-zoom-btn:active{background-color:#000c;transform:scale(.95)}#ar-screenshot-loading{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-ar-instructions)}#ar-choice-popup{z-index:var(--z-ar-choice-popup)}body.ar-choice-open #ar-screenshot-btn,body.ar-choice-open #camera-shutter-button{display:none!important;visibility:hidden!important;pointer-events:none!important}#ar-choice-popup .popup-content{max-width:90%;max-height:90vh;position:relative}#ar-choice-close-btn{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background-color:#0000001a;border:none;color:#666;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .2s,color .2s;z-index:var(--z-map-base)}#ar-choice-close-btn:hover{background-color:#00000026;color:#333}#ar-choice-close-btn:active{background-color:#0003;transform:scale(.95)}#ar-preview-thumbnail{width:100%;max-width:400px;height:auto;border-radius:8px;margin:20px 0}.choice-buttons{display:flex;gap:10px;justify-content:center}.choice-buttons button{flex:1;max-width:150px}.a-enter-vr-button{display:none!important;color:var(--text-primary)}#camera-controls button#camera-save-btn{background-color:var(--primary-color);color:#fff}#permission-help-modal .popup-content{max-width:360px}#permission-modal-instructions{text-align:left;font-size:.9em;line-height:1.6;background-color:var(--body-bg);padding:12px 16px;border-radius:var(--border-radius-sm);margin:16px 0;border:1px solid var(--border-color)}#permission-modal-instructions ol{padding-left:20px;margin:0}#permission-modal-instructions li{margin-bottom:12px}#permission-modal-instructions li:last-child{margin-bottom:0}#permission-modal-instructions strong{color:var(--primary-darkened)!important;font-weight:700}#permission-modal-instructions .os-instructions{margin-top:15px;padding-top:15px;border-top:1px solid var(--border-color)}#permission-modal-instructions .os-instructions h4{margin:0 0 8px;font-size:1.1em;color:var(--text-primary)}.mode-selection-options{margin:24px 0;display:flex;flex-direction:column;gap:12px}.mode-selection-option{display:flex;align-items:center;gap:12px;padding:12px;background-color:var(--body-bg);border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.mode-selection-option input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary-color);flex-shrink:0}.mode-selection-option label{font-weight:700;font-size:1em;margin:0;line-height:1.4;flex-grow:1}.mode-selection-option input[type=color]{width:44px;height:44px;border:none;background:none;padding:0;border-radius:8px;cursor:pointer}#stamp-rally-popup .popup-content.stamp-rally-content{background:var(--component-bg);border:2px solid var(--primary-color);box-shadow:var(--shadow-md);color:var(--text-primary);width:90vw;max-width:500px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column}#stamp-rally-popup #close-stamp-rally-popup{position:absolute;top:15px;right:15px;width:48px;height:48px;min-width:48px;min-height:48px;background-color:#00000040;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:var(--z-ar-control);transition:background-color .2s}#stamp-rally-popup #close-stamp-rally-popup:hover{background-color:#00000059}#stamp-rally-popup .popup-content h3{font-family:Noto Sans JP,sans-serif;font-size:1.6em;color:var(--primary-darkened)!important;text-shadow:none;border-bottom:2px solid var(--primary-darkened)!important;padding-bottom:10px;margin-bottom:20px;margin-right:40px}.stamp-sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:15px;padding:15px;background-color:var(--body-bg);border-radius:var(--border-radius-sm);border:1px solid var(--border-color);min-height:120px;flex-grow:1}.stamp-card{border:2px dashed var(--border-color);border-radius:var(--border-radius-sm);aspect-ratio:1 / 1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transition:all .4s ease-in-out;padding:8px;box-sizing:border-box;background-color:transparent;box-shadow:none}.stamp-card.stamped{border-style:solid;border-color:var(--primary-darkened)!important;border-width:3px;background-color:var(--component-bg);transform:scale(1.05);box-shadow:0 4px 12px #00999940}.stamp-card .stamp-image{width:60%;height:60%;object-fit:contain;border-radius:4px}.stamp-card .stamp-name{font-size:.75em;font-weight:700;color:var(--text-secondary);margin:4px 0 0;line-height:1.3}.stamp-card.stamped .stamp-name{font-family:Noto Sans JP,sans-serif;color:var(--primary-darkened)!important;font-weight:700}.stamp-card.empty{background-color:#0000001a}#stamp-get-animation{position:absolute;top:15px;left:50%;width:60%;max-width:200px;transform:translate(-50%);pointer-events:none;z-index:var(--z-map-marker);opacity:0}#stamp-get-animation.animate{animation:stamp-animation 1.2s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes stamp-animation{0%{transform:translate(-50%) scale(2.5) rotate(-15deg);opacity:0}40%{transform:translate(-50%) scale(1) rotate(5deg);opacity:1}70%{transform:translate(-50%) scale(1.1) rotate(0);opacity:1}to{transform:translate(-50%) scale(1.1) translateY(-10px);opacity:0}}.popup-content.course-select-content{width:95vw;max-width:1200px;height:80vh;padding-top:20px;display:flex;flex-direction:column;overflow:hidden}.course-select-header h2{text-align:left;margin:0;padding:0;border:none;font-size:1.5em}.course-select-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:15px}.course-select-header h2{margin:0;flex:1}.close-course-select-btn{background:none;border:none;padding:8px;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--border-radius-sm);transition:background-color .2s}.close-course-select-btn:hover{background-color:var(--hover-bg)}.close-course-select-btn:active{background-color:var(--active-bg)}.close-course-select-btn svg{width:24px;height:24px}.popup-content>.close-message-btn,.popup-content>.close-course-select-btn,.popup-content>.popup-close-btn{min-width:44px;min-height:44px;width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.popup-content>.close-message-btn svg,.popup-content>.close-course-select-btn svg,.popup-content>.popup-close-btn svg{width:20px;height:20px;pointer-events:none}.course-filters-row{display:flex;gap:15px;margin-bottom:15px;flex-shrink:0}.course-filters-row label{display:none}.course-filters-row select{flex-grow:1;padding:10px;font-size:1em;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--component-bg)}.course-search-row{display:flex;flex-wrap:nowrap;gap:15px;margin-bottom:15px;flex-shrink:0}.course-search-row label{display:none}.course-search-row select{flex:0 0 130px;max-width:130px;padding:10px;font-size:1em;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--component-bg)}.course-search-row input[type=text]{flex:1 1 auto;padding:10px;font-size:1em;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--component-bg);min-width:0}.course-list-container{flex-grow:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;border:1px solid var(--border-color);border-radius:var(--border-radius-sm)}#course-select-modal .course-select-header{display:none}#course-select-modal,#my-courses-popup,#activity-history-popup{z-index:var(--z-modal-list)!important;align-items:center;justify-content:center;overflow-y:auto;padding:calc(env(safe-area-inset-top) + 12px) 12px calc(env(safe-area-inset-bottom) + 12px);box-sizing:border-box}#course-select-modal .popup-content.course-select-content,#my-courses-popup .popup-content.course-select-content,#activity-history-popup .popup-content.course-select-content{width:min(calc(var(--app-visible-vw, 100vw) - 24px),1200px);max-width:1200px;height:auto;max-height:calc(var(--app-visible-vh, 100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);margin:0 auto;overflow:hidden;-webkit-overflow-scrolling:touch;box-sizing:border-box;padding-top:14px;gap:10px}#course-select-modal .popup-content.course-select-content,#my-courses-popup .popup-content.course-select-content,#activity-history-popup .popup-content.course-select-content{padding-top:10px;gap:6px}#course-select-modal .course-filters-row{margin-top:6px;margin-bottom:6px;gap:10px}#course-select-modal .course-search-row{margin-bottom:6px;gap:10px}#course-select-modal .course-list-container,#my-courses-popup .course-list-container,#activity-history-popup .course-list-container{margin-top:0;margin-bottom:0}#course-select-modal .course-list-container{flex:1 1 auto;min-height:0}#course-select-modal .course-select-footer{border-top:1px solid var(--border-color);padding-left:10px;padding-right:10px}#course-select-modal .course-select-footer,#my-courses-popup .course-select-footer,#activity-history-popup .course-select-footer{padding-top:6px;padding-left:8px;padding-right:8px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}@media(max-width:900px){#course-select-modal{align-items:flex-end;justify-content:flex-end;padding:calc(env(safe-area-inset-top) + 8px) 8px 0}#course-select-modal .popup-content.course-select-content{width:calc(var(--app-visible-vw, 100vw) - 16px);height:calc(var(--app-visible-vh, 100dvh) - env(safe-area-inset-top) - 8px);max-height:calc(var(--app-visible-vh, 100dvh) - env(safe-area-inset-top) - 8px);border-bottom-left-radius:0;border-bottom-right-radius:0}#course-select-modal .course-select-footer,#course-select-modal .course-select-footer.popup-footer-sticky{padding-bottom:env(safe-area-inset-bottom)}#course-select-modal .popup-footer-sticky{padding-top:8px}}@supports not (height: 100dvh){@media(max-width:900px){#course-select-modal .popup-content.course-select-content{height:calc(100vh - env(safe-area-inset-top) - 8px);max-height:calc(100vh - env(safe-area-inset-top) - 8px)}}}.footer-action-row{display:flex;gap:10px;align-items:stretch}.footer-action-row button{flex:1 1 0;min-width:0;width:auto}#course-select-modal .course-select-footer:not(.footer-action-row) button,#my-courses-popup .course-select-footer:not(.footer-action-row) button,#activity-history-popup .course-select-footer:not(.footer-action-row) button{width:100%}@supports not (height: 100dvh){#course-select-modal .popup-content.course-select-content,#my-courses-popup .popup-content.course-select-content,#activity-history-popup .popup-content.course-select-content{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)}}#my-courses-popup .course-select-header,#activity-history-popup .course-select-header{display:none}#my-courses-popup .popup-content.course-select-content,#activity-history-popup .popup-content.course-select-content{padding-top:14px;gap:10px}#course-list-table,#my-courses-table{margin-top:0;margin-bottom:0}#course-list-table{width:100%;border-collapse:collapse;table-layout:auto}#course-list-table th,#course-list-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border-color);word-wrap:break-word;word-break:break-word;vertical-align:top}#course-list-table th:nth-child(1),#course-list-table td:nth-child(1){width:55%;max-width:none;padding:8px 10px}#course-list-table th:nth-child(2),#course-list-table td:nth-child(2){width:8%;text-align:center;white-space:normal;word-break:keep-all;overflow-wrap:normal;vertical-align:top!important;padding:8px 6px!important}#course-list-table th:nth-child(3),#course-list-table td:nth-child(3){width:35%;max-width:none;padding:8px 10px}#course-list-table th{background-color:var(--body-bg);position:sticky;top:0;font-size:.9em}#course-list-table tbody tr[data-course-id]{cursor:pointer;transition:background-color .2s ease}#course-list-table tbody tr[data-course-id]:hover{background-color:#e3f2fd;box-shadow:0 2px 4px #0000001a}#course-list-table tbody tr[data-course-id]:active{background-color:#bbdefb}#course-list-table tbody tr[data-course-id]:focus{outline:2px solid var(--primary-color);outline-offset:-2px}#course-list-table .course-name{font-weight:700}#course-list-table .course-meta{font-size:.8em;color:var(--text-secondary)}#course-list-table .course-distance-cell{display:table-cell;text-align:center;line-height:1.2;white-space:normal;word-break:keep-all;overflow-wrap:normal;vertical-align:top;padding:8px 6px}#course-list-table .course-distance-cell .distance-value{display:block;font-size:1em;font-weight:700;white-space:nowrap;word-break:keep-all;line-height:1.2}#course-list-table .course-distance-cell .distance-unit{display:block;font-size:.85em;margin-top:2px;white-space:nowrap;word-break:keep-all;line-height:1.2}.footer-btn-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.footer-btn-wrapper button,.footer-btn-wrapper a{display:flex;flex-direction:column;align-items:center;justify-content:center;width:160px;height:160px;border-radius:50%;background-color:var(--primary-color);color:#fff!important;border:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s ease;text-decoration:none;padding:0}.footer-btn-wrapper button:hover,.footer-btn-wrapper a:hover{background-color:var(--primary-hover-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.footer-btn-wrapper svg{width:48px;height:48px;stroke:currentColor!important;fill:none}.footer-btn-caption{font-size:18px;color:#fff!important;font-weight:400;text-align:center;margin-top:8px;letter-spacing:.5px}#fab-container-creation-tools{position:fixed;top:calc(72px + env(safe-area-inset-top));left:16px;z-index:var(--z-fab-aux);display:flex;flex-direction:column;align-items:flex-start;gap:12px}#fab-container-creation-tools.open #fab-create-toggle{transform:rotate(45deg)}#fab-creation-options{display:flex;flex-direction:column;gap:12px;transition:opacity .2s ease-out,transform .2s ease-out}#fab-creation-options.hidden{opacity:0;transform:translateY(-10px);pointer-events:none}.fab-creation{display:flex;align-items:center;gap:10px;padding:8px 14px;background-color:var(--component-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-md);cursor:pointer;font-size:.9em;font-weight:700;color:var(--text-primary);transition:all .2s ease;white-space:nowrap}.fab-creation:hover{transform:scale(1.05);border-color:var(--primary-color);color:var(--primary-color)}.fab-creation svg{width:20px;height:20px;flex-shrink:0}#top-left-fab-container{position:fixed;top:calc(env(safe-area-inset-top) + 4px);left:16px;z-index:var(--z-top-left-fab-container);display:flex;flex-direction:column;align-items:flex-start;gap:12px;transition:top .4s cubic-bezier(.4,0,.2,1);pointer-events:none}#top-left-fab-container>*{pointer-events:auto}body.stats-panel-shown #top-left-fab-container{top:calc(env(safe-area-inset-top) + var(--stats-panel-height) + 4px)}#aerial-attribution-container{position:absolute;left:50%;bottom:calc(148px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:var(--z-ui-overlay);transition:opacity .3s,bottom .3s;background-color:#ffffffd9;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:4px 12px;border-radius:20px;box-shadow:var(--shadow-md);font-size:.85em;white-space:nowrap}#aerial-attribution-container.hidden{opacity:0;pointer-events:none}#aerial-attribution-container a{color:var(--text-primary);text-decoration:none;font-weight:700}#aerial-attribution-container a:hover{text-decoration:underline}#opacity-toggle-container{position:absolute;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:var(--z-ui-overlay);transition:opacity .3s,bottom .3s}#opacity-toggle-container.hidden{opacity:0;pointer-events:none}#historical-map-switcher{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background-color:#ffffffd9;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:4px 12px;border-radius:25px;box-shadow:var(--shadow-md);z-index:var(--z-bottom-sliders);display:flex;align-items:center;gap:12px;color:var(--text-primary);font-weight:700;transition:opacity .3s,bottom .3s;min-height:40px;box-sizing:border-box}#historical-map-switcher.hidden{opacity:0;pointer-events:none}#historical-map-label{white-space:normal;font-size:.85em;line-height:1.3;max-width:120px;min-width:100px;text-align:center}.hist-nav-btn{background-color:var(--component-bg);border:1px solid var(--border-color);color:var(--text-primary);width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;font-size:1.1em;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background-color .2s,color .2s,transform .1s}.hist-nav-btn:hover:not(:disabled){background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.hist-nav-btn:active:not(:disabled){transform:scale(.9)}.hist-nav-btn:disabled{opacity:.4;cursor:not-allowed;background-color:#c8c8c880}#safe-area-top-bar{display:none;position:fixed;top:0;left:0;width:100%;height:env(safe-area-inset-top);background-color:var(--primary-color);z-index:var(--z-fab-buttons)}body.native-app #safe-area-top-bar{display:block!important}body.native-app:not(.ar-mode) #safe-area-top-bar{display:block!important}body.native-app.ar-mode #safe-area-top-bar,body.ar-mode #safe-area-top-bar,body.ar-mode #top-bar,body.ar-mode #menu-header{display:none!important;height:0!important;padding-top:0!important;min-height:0!important;max-height:0!important;overflow:hidden!important}.header-hidden #fab-container-top-right{top:calc(env(safe-area-inset-top) + 4px)}.stats-panel-shown.header-hidden #fab-container-top-right{top:calc(env(safe-area-inset-top) + var(--stats-panel-height) + 4px)}#safe-area-bottom-bar{display:none!important;position:fixed;bottom:0;left:0;width:100%;height:0;background-color:transparent;z-index:var(--z-safe-area-bars);justify-content:center;align-items:flex-start;box-sizing:border-box;padding-top:0}#safe-area-bottom-bar p{margin:0;color:var(--text-on-primary)!important;font-size:.7em;white-space:nowrap}#safe-area-bottom-bar a{color:var(--text-on-primary)!important;text-decoration:underline}.mode-selection-option.disabled{opacity:.6;cursor:not-allowed;background-color:var(--body-bg)}.mode-selection-option.disabled label{color:var(--text-secondary)}@keyframes pulse-lock{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:.8}}.swipe-arrow{position:absolute;bottom:20%;opacity:.7;animation:swipe-up-animation 1.5s infinite}@keyframes swipe-up-animation{0%{transform:translateY(10px);opacity:0}50%{opacity:.8}to{transform:translateY(-10px);opacity:0}}#tutorial-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;z-index:var(--z-tutorial-overlay);transition:opacity .3s}#tutorial-step{position:absolute;background-color:var(--component-bg);padding:16px;border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);width:280px;max-width:80vw;z-index:var(--z-tutorial-step);border:2px solid var(--primary-color)}#tutorial-step h3{margin-top:0;font-size:1.2em;color:var(--primary-darkened)!important}#tutorial-step p{font-size:.95em;line-height:1.6;margin-bottom:20px}#tutorial-navigation{display:flex;justify-content:space-between;align-items:center}.tutorial-btn{padding:8px 16px;border-radius:var(--border-radius-sm);border:none;font-weight:700;cursor:pointer}.tutorial-btn.primary{background-color:var(--primary-color);color:#fff}.tutorial-btn.secondary{background-color:#e0e0e0;color:var(--text-primary)}.tutorial-btn.close{background-color:transparent;color:var(--text-secondary);font-weight:400;padding:8px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center}.tutorial-icon-inline{width:1.2em;height:1.2em;vertical-align:middle;margin:0 .1em -.2em;fill:currentColor;stroke:currentColor;stroke-width:2}.tutorial-icon-inline path{stroke-width:0;fill:var(--primary-color)}.tutorial-icon-inline line,.tutorial-icon-inline rect,.tutorial-icon-inline circle,.tutorial-icon-inline path[d*="m21 15-5-5L5 21"]{stroke:var(--primary-color);fill:none}.fab-label{font-size:10px;font-weight:700;color:inherit!important;line-height:1;text-align:center;white-space:nowrap;letter-spacing:-.5px;display:block}#fab-create-toggle,#fab-load-course,#fab-spot-create-toggle,#fab-start,#fab-pause,#fab-resume,#fab-stop,#fab-reset,#fab-lock-screen{width:64px;height:64px;border-radius:20px;flex-direction:column;justify-content:center;padding:8px 4px;gap:8px;box-sizing:border-box;transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:auto!important;position:relative;z-index:var(--z-fab-aux)}#fab-create-toggle,#fab-load-course,#fab-spot-create-toggle{background-color:var(--primary-color);color:var(--text-on-primary)!important}#fab-create-toggle:hover,#fab-load-course:hover,#fab-spot-create-toggle:hover{background-color:var(--primary-hover-color)}#fab-create-toggle svg,#fab-load-course svg,#fab-spot-create-toggle svg{width:28px;height:28px;stroke:currentColor!important;fill:none}#fab-start svg,#fab-pause svg,#fab-resume svg,#fab-stop svg,#fab-reset svg,#fab-lock-screen svg{width:28px;height:28px}#fab-container-plotting .button-wrapper button svg,#fab-container-spot-creation .button-wrapper button svg{color:var(--white-color)}.os-prompt-instructions{text-align:left;margin:20px 0;padding:15px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--body-bg)}.os-prompt-instructions p{font-size:1em;line-height:1.5;margin:10px 0;font-weight:400}.os-prompt-instructions b{color:var(--primary-darkened)!important}.inline-icon{width:20px;height:20px;vertical-align:middle;margin:0 4px}.finish-tutorial-section{margin:20px 0;text-align:left}.tutorial-item{display:flex;align-items:center;gap:15px;margin-bottom:20px}.tutorial-item:last-child{margin-bottom:0}.tutorial-icon{flex-shrink:0;width:48px;height:48px;display:flex;justify-content:center;align-items:center;background-color:var(--body-bg);border-radius:12px;color:var(--primary-darkened)!important;border:1px solid var(--border-color)}.tutorial-icon svg{width:28px;height:28px}.tutorial-description h4{margin:0 0 4px;font-size:1.1em;color:var(--text-primary)}.tutorial-description p{margin:0;font-size:.9em;line-height:1.5;color:var(--text-secondary);font-weight:400}.popup-buttons.choice-buttons{flex-direction:row;gap:12px;justify-content:center}.popup-buttons.choice-buttons button{flex:1;max-width:200px;width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm, 8px)}.popup-buttons.choice-buttons[style*="flex-direction: row"] button,.popup-buttons.choice-buttons[style*="flex-direction:row"] button{flex:1;width:auto}.popup-buttons.choice-buttons button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.maplibregl-ctrl-geolocate{display:none!important}.target-marker{width:24px;height:24px;background-color:#ff4e4e;border:2px solid white;border-radius:50%;box-shadow:0 0 10px #ff4e4ecc;animation:pulse-marker 2s infinite}@keyframes pulse-marker{0%{transform:scale(.9);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(.9);opacity:1}}.target-marker-icon{transform-origin:center;transition:transform .5s ease-out}#course-loaded-info p{text-align:center;margin-top:0;margin-bottom:0;font-size:1.1em;line-height:1.6}#course-loaded-info p small{font-size:.9em;color:var(--text-secondary)}#delete-point-confirm-popup .popup-buttons{flex-direction:row;gap:12px}#delete-point-confirm-popup .popup-buttons button{flex:1}.toggle-switch-container{position:relative;width:52px;height:30px;margin-bottom:2px}.toggle-switch-container input[type=checkbox]{opacity:0;width:0;height:0}.toggle-switch-label{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-switch-label:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-switch-label{background-color:var(--success-color)}input:checked+.toggle-switch-label:before{transform:translate(22px)}#plotting-distance-display{display:flex;align-items:center;padding:0 16px;font-size:14px;font-weight:700;color:var(--text-primary);background-color:#f5f5f7b3;border-radius:16px;height:32px;white-space:nowrap;border:1px solid var(--border-color)}#fab-container-plotting{align-items:center}#plotting-info-controls{display:flex;flex-direction:column;align-items:center;gap:8px}#plotting-info-controls .button-wrapper .button-label{margin-top:2px}.popup-buttons button.with-icon{display:flex;align-items:center;justify-content:center;gap:8px}#fab-container-plotting-help{position:fixed;top:calc(env(safe-area-inset-top) + 16px);right:16px;left:auto;z-index:var(--z-fab-aux);transition:opacity .3s}#fab-container-plotting-help .plotting-top-right-controls{display:flex;flex-direction:row;align-items:flex-start;gap:10px}.popup-content{position:relative;background-color:var(--white-color);padding:20px;border-radius:10px;box-shadow:0 2px 10px #0003;text-align:center;max-width:90%;margin:20px auto;overflow-y:auto;max-height:80vh}#layout-choice-popup .popup-content{width:320px}#layout-choice-popup .popup-section{margin-bottom:12px;text-align:left}#layout-choice-popup .popup-section:first-of-type{margin-top:0}#layout-choice-popup .popup-section:last-of-type{margin-bottom:0}#layout-choice-popup .popup-section label{font-weight:700;font-size:.9em;color:var(--text-secondary);margin-bottom:8px;display:block}.layout-icon-buttons{display:flex;flex-wrap:nowrap;gap:10px;justify-content:flex-start}.layout-icon-btn{flex:0 0 auto;width:50px;height:50px;padding:8px;border:2px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--component-bg);cursor:pointer;transition:all .2s ease}.layout-icon-btn:hover{border-color:var(--primary-hover-color);background-color:#f5f5f5}.layout-icon-btn.active{border-color:var(--primary-color);background-color:var(--primary-color)}.layout-icon-btn svg{width:100%;height:100%}.layout-icon-btn svg rect{fill:var(--text-secondary);transition:fill .2s ease}.layout-icon-btn.active svg rect{fill:var(--white-color)}#layout-preview-container{position:relative;width:100%;aspect-ratio:1.25 / 1;background-color:var(--body-bg);border-radius:var(--border-radius-sm);overflow:hidden;border:1px solid var(--border-color)}#layout-preview-thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}#track-preview-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;padding:12px;box-sizing:border-box;transition:all .3s ease-in-out}#track-preview-image.layout-center{top:50%;left:50%;transform:translate(-50%,-50%);width:65%;height:65%;padding:6px}#track-preview-image.layout-full{top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;padding:0}#track-preview-image.layout-top-left{top:0;left:0;transform:none;width:50%;height:50%;padding:6px}#track-preview-image.layout-top-center{top:0;left:50%;transform:translate(-50%);width:50%;height:50%;padding:6px}#track-preview-image.layout-top-right{top:0;right:0;left:auto;transform:none;width:50%;height:50%;padding:6px}.background-change-buttons{display:flex;gap:12px;justify-content:center;margin:8px 0}.background-change-buttons button,.background-change-buttons button.popup-btn-secondary{flex:1;padding:14px 16px!important;font-size:.95em!important;font-weight:600!important;border:2px solid var(--primary-color)!important;border-radius:8px!important;background-color:var(--white-color)!important;color:var(--primary-color)!important;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a!important;min-height:48px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.background-change-buttons button:hover,.background-change-buttons button.popup-btn-secondary:hover{background-color:var(--primary-color)!important;color:var(--white-color)!important;box-shadow:0 4px 8px #0099994d!important;transform:translateY(-1px)}.background-change-buttons button:active,.background-change-buttons button.popup-btn-secondary:active{background-color:var(--primary-hover-color)!important;box-shadow:0 2px 4px #0993!important;transform:translateY(0)}#export-color-picker{width:100%;height:44px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;padding:0}#fab-edit-profile{display:none!important}.top-control-button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;box-shadow:var(--shadow-md);transition:background-color .2s ease,transform .2s ease;background-color:#87cefa;color:#fff;font-size:24px;font-weight:700;line-height:1}.top-control-button:hover{background-color:#64b5f6;transform:scale(1.05)}.top-control-button:active{transform:scale(.95)}.button-row-secondary{display:flex;flex-direction:row;gap:12px}.button-row-secondary>button{flex:1}#update-notification{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%) translateY(100px);background-color:#4a148c;color:#fff;padding:16px 20px;border-radius:28px;box-shadow:var(--shadow-md);z-index:var(--z-update-notification);display:flex;flex-direction:column;align-items:center;gap:12px;min-width:280px;max-width:90%;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}#update-notification:not(.hidden){opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}#update-notification p{margin:0;font-weight:700;font-size:.95em;text-align:center}#update-notification .update-buttons{display:flex;gap:10px;width:100%;justify-content:center}#update-notification button{padding:10px 20px;border-radius:20px;border:none;color:#fff;font-weight:700;cursor:pointer;white-space:nowrap;transition:background-color .2s,transform .1s;flex:1;min-width:100px}#update-notification #update-now-btn{background-color:#6a1b9a}#update-notification #update-now-btn:hover{background-color:#7b1fa2;transform:scale(1.05)}#update-notification #update-now-btn:active{transform:scale(.95)}#update-notification #update-later-btn{background-color:#ffffff59}#update-notification #update-later-btn:hover{background-color:#ffffff73;transform:scale(1.05)}#update-notification #update-later-btn:active{transform:scale(.95)}.fab-with-label{flex-direction:column;justify-content:center;padding:4px 2px;gap:2px;box-sizing:border-box}.fab-with-label svg{width:24px!important;height:24px!important}.fab svg{stroke:currentColor!important;color:currentColor!important;fill:none}.fab-with-label.secondary .fab-label{color:inherit;display:block!important}#fab-opacity-toggle{flex-direction:column!important;justify-content:center!important;padding:4px 2px!important;gap:2px!important;box-sizing:border-box!important;display:flex!important}#fab-opacity-toggle svg{width:24px!important;height:24px!important;flex-shrink:0}#fab-opacity-toggle .fab-label{display:block!important;color:inherit!important;font-size:8px!important;font-weight:700!important;line-height:1!important;text-align:center!important;white-space:nowrap!important;letter-spacing:-.5px!important;margin-top:0!important;padding:0!important;visibility:visible!important;opacity:1!important}#opacity-toggle-container .fab-label{display:block!important;visibility:visible!important;opacity:1!important}.large-action-button.hidden{display:none}#track-preview-compact-container{display:none!important}#fab-container-rerouting-controls{background-color:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);width:min(calc(var(--app-visible-vw, 100vw) - 16px),400px);max-width:calc(var(--app-visible-vw, 100vw) - 16px);padding:0 10px;gap:0;position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);box-sizing:border-box}#fab-container-rerouting-controls .button-group{display:flex;justify-content:space-around;align-items:flex-end;width:100%;padding:10px 0}#fab-container-rerouting-controls .button-label{color:var(--white-color);text-shadow:1px 1px 2px rgba(0,0,0,.7)}#rerouting-confirm-btn{background-color:var(--success-color)}#rerouting-confirm-btn:hover{background-color:var(--success-hover-color)}#rerouting-next-btn{background-color:var(--primary-color)}#rerouting-next-btn:hover{background-color:var(--primary-hover-color)}#rerouting-cancel-btn{background-color:var(--danger-color)}#rerouting-cancel-btn:hover{background-color:var(--danger-hover-color)}#fab-container-rerouting-controls .button-wrapper button svg{color:var(--white-color)}#my-courses-table{width:100%;border-collapse:collapse}#my-courses-table th,#my-courses-table td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border-color)}#my-courses-table th{background-color:var(--body-bg);position:sticky;top:0;font-size:.9em}#my-courses-table tbody tr:hover{background-color:#f0f8ff}#my-courses-table .my-course-name{font-weight:700}#my-courses-table .my-course-meta{font-size:.8em;color:var(--text-secondary)}.my-course-actions{display:grid;grid-template-columns:repeat(2,auto);gap:8px;width:max-content;margin-left:auto}.my-course-action-btn{padding:6px 10px;font-size:.85em;font-weight:700;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s}.my-course-action-btn.primary{background-color:var(--primary-color);color:#fff}.my-course-action-btn.primary:hover{background-color:var(--primary-hover-color)}.my-course-action-btn.secondary{background-color:#e9ecef;color:var(--text-primary)}.my-course-action-btn.secondary:hover{background-color:#dee2e6}.my-course-action-btn.danger{background-color:var(--danger-color);color:#fff}.my-course-action-btn.danger:hover{background-color:var(--danger-hover-color)}body[data-app-state=plotting] #fab-container-left{bottom:calc(180px + env(safe-area-inset-bottom))}body[data-app-state=plotting] #fab-container-left>.fab:not(#changeMapStyleButton){display:none}.story-link-button{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;margin-bottom:20px;width:100%;box-sizing:border-box;background:linear-gradient(135deg,var(--gold-color),#FFC107);color:var(--dark-purple-bg);border-radius:var(--border-radius-md);text-decoration:none;font-size:1.1em;font-weight:700;box-shadow:0 4px 15px #0003;transition:all .2s ease-in-out}.story-link-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #00000040}.story-link-button svg{width:24px;height:24px;stroke-width:2.5;flex-shrink:0}.popup-section-divider{height:1px;background-color:var(--border-color);margin:0 -24px 20px}#create-course-choice-popup .popup-content h3{margin-top:0}#button-container[data-state=finished]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:stretch;padding:6px 12px calc(var(--white-band-margin, 4px) + env(safe-area-inset-bottom));gap:10px;background:linear-gradient(160deg,#001e1e99,#000a0a99);border-top:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 3px #0000004d;box-sizing:border-box;width:100%;max-width:100vw;overflow:hidden;margin:0 auto}#exportCombinedButton{order:-1;flex:1.8;min-width:90px;background:linear-gradient(135deg,#00c9c9,#00f2f2);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 15px #00f2f299,0 8px 20px #0000004d;transition:all .3s ease-out}#exportCombinedButton svg,#exportCombinedButton span{color:#033;text-shadow:1px 1px 2px rgba(255,255,255,.2)}#exportCombinedButton:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 8px 25px #00f2f2cc,0 12px 30px #0006;background:linear-gradient(135deg,#00f2f2,#00c9c9)}#button-container[data-state=finished] .large-action-button{flex:1;min-width:0;height:55px;padding:6px 2px;font-size:10px;background:#ffffff26;border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 5px #0000004d;transition:all .2s ease-in-out;border-radius:var(--border-radius-md);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;cursor:pointer}#button-container[data-state=finished] .large-action-button:not(#exportCombinedButton):hover{background-color:#ffffff40;transform:translateY(-2px);box-shadow:0 4px 10px #0006}#button-container[data-state=finished] .large-action-button svg{width:26px;height:26px;margin-bottom:3px;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.5)}#button-container[data-state=finished] .large-action-button span{color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center;font-weight:700;line-height:1.2;text-shadow:1px 1px 2px rgba(0,0,0,.5)}#layout-preview-container.loading:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:var(--z-layout-preview-mask);opacity:1;visibility:visible;transition:opacity .2s,visibility .2s}.spinner-local{position:absolute;top:50%;left:50%;width:40px;height:40px;margin-top:-20px;margin-left:-20px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;z-index:var(--z-layout-preview-spinner)}#my-courses-table th,#my-courses-table td{padding:12px 15px;border-bottom:1px solid var(--border-color);vertical-align:middle}#my-courses-table th:first-child,#my-courses-table td:first-child{text-align:left}#my-courses-table .my-course-col-numeric{text-align:right;width:1%;white-space:nowrap}#my-courses-table th.my-course-col-actions{text-align:right}#my-courses-table td.my-course-col-actions{display:flex;justify-content:flex-end}.my-course-actions{display:grid;grid-template-columns:repeat(2,auto);gap:8px}#custom-confirm-popup .popup-content{width:300px;max-width:90%}#custom-confirm-popup #custom-confirm-message{font-weight:400;font-size:1em;line-height:1.6;margin-bottom:24px;white-space:pre-wrap}#custom-confirm-popup .popup-buttons{flex-direction:row;gap:12px}#custom-confirm-popup .popup-buttons button{flex:1}#custom-confirm-popup,#custom-alert-popup{z-index:var(--z-custom-popup)!important}#fab-container-rerouting-controls{flex-direction:column;align-items:center;gap:12px;z-index:var(--z-rerouting-controls)!important}body.rerouting-overlay-active #historical-map-switcher,body.rerouting-overlay-active #opacity-toggle-container,body.rerouting-overlay-active #aerial-attribution-container{opacity:0!important;pointer-events:none!important}.rerouting-explanation-box{background-color:#ffffffe6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--text-primary);padding:12px 16px;border-radius:12px;box-shadow:0 2px 8px #0003;width:100%;max-width:380px;box-sizing:border-box;text-align:center;z-index:var(--z-rerouting-explanation)!important;position:relative}.rerouting-explanation-box h4{margin:0 0 8px;font-size:1.1em;color:var(--primary-darkened)!important}.rerouting-explanation-box p{margin:0;font-size:.85em;line-height:1.6;color:var(--text-secondary)}.popup-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.popup-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent}.popup-btn-icon{margin-right:8px}.popup-btn.primary{background-color:var(--primary-color, #007AFF);color:#fff}.popup-btn.primary:hover{background-color:var(--primary-hover-color);box-shadow:0 4px 12px #0003}.popup-btn.secondary{background-color:#f0f0f0;color:#000}.popup-btn.secondary:hover{background-color:#e0e0e0;color:#000}.popup-content.help-content{display:flex;flex-direction:column;max-height:85vh}.scrollable-help-content{flex:1;overflow-y:auto;padding:0 15px;margin:0 -15px}.popup-footer{padding-top:15px;text-align:center}.popup-footer-sticky{position:sticky;bottom:0;z-index:var(--z-popup-sticky-footer);margin-top:auto;background:linear-gradient(to top,var(--component-bg) 72%,rgba(255,255,255,0));padding-top:12px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.popup-footer-sticky button{min-height:48px}#settings-popup .popup-content{display:flex;flex-direction:column}#settings-popup .mode-selection-options{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}#finish-tutorial-popup .popup-content{display:flex;flex-direction:column;max-height:calc(var(--app-visible-vh, 100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)}#finish-tutorial-popup .finish-tutorial-section{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}@supports not (height: 100dvh){#finish-tutorial-popup .popup-content{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)}}.user-manual-link{display:block;margin-bottom:15px}.mode-selection-group{margin:12px 0}.mode-selection-group-label{font-weight:700;font-size:.9em;color:var(--text-secondary);margin-bottom:8px;display:block;text-align:left}.mode-selection-option input[type=radio]{width:20px;height:20px;accent-color:var(--primary-color);flex-shrink:0}#add-to-home-popup{background-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}#add-to-home-popup,#course-type-choice-popup{align-items:flex-start;overflow-y:auto;padding:calc(env(safe-area-inset-top) + 12px) 12px calc(env(safe-area-inset-bottom) + 12px);box-sizing:border-box}#add-to-home-popup .popup-content,#course-type-choice-popup .popup-content{width:min(calc(var(--app-visible-vw, 100vw) - 24px),360px);box-sizing:border-box;margin:0 auto;max-height:calc(var(--app-visible-vh, 100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch}#settings-popup{z-index:var(--z-modal-list)!important;align-items:flex-start;overflow-y:auto;padding:calc(env(safe-area-inset-top) + 12px) 12px calc(env(safe-area-inset-bottom) + 12px);box-sizing:border-box}#settings-popup .popup-content{width:min(calc(var(--app-visible-vw, 100vw) - 24px),420px);max-height:calc(var(--app-visible-vh, 100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);margin:0 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}#course-type-choice-popup .popup-content{width:min(100%,1200px);max-width:1200px}@supports not (height: 100dvh){#add-to-home-popup .popup-content,#course-type-choice-popup .popup-content,#settings-popup .popup-content{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)}}#web-ar-link-wrapper #web-ar-link{background-color:#6a1b9a}#web-ar-link-wrapper #web-ar-link:hover{background-color:#4a148c}#fab-load-course{background-color:var(--primary-color)}#fab-load-course:hover{background-color:var(--primary-hover-color)}#layout-choice-popup .popup-content{display:flex;flex-direction:column;padding:0;max-height:90vh;overflow:hidden;width:340px}#layout-choice-popup .popup-content>p{margin:0;padding:16px;border-bottom:1px solid var(--border-color);background-color:var(--white-color);flex-shrink:0;font-size:1.1em}.popup-scroll-body{flex:1;overflow-y:auto;padding:20px;-webkit-overflow-scrolling:touch}#layout-choice-popup .popup-buttons{margin:0;padding:12px 16px;border-top:1px solid var(--border-color);background-color:var(--white-color);flex-shrink:0;box-shadow:0 -2px 10px #0000000d;gap:12px}@media(max-height:600px){#layout-choice-popup .popup-content{height:95vh}#layout-preview-container{max-height:180px;object-fit:contain}}#lock-screen-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:var(--z-lock-screen-overlay)!important;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;color:#fff;padding-bottom:calc(30px + env(safe-area-inset-bottom));box-sizing:border-box;touch-action:none;transition:background-color .5s ease,backdrop-filter .5s ease}#lock-screen-overlay p{order:1;font-size:1.1em;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.7);margin:0 0 5px;padding:8px 16px;background-color:#00000080;border-radius:20px}#lock-screen-overlay .lock-icon{order:2;margin-bottom:0;animation:pulse-lock 2s infinite;color:gold}#lock-screen-overlay.low-power-blackout{background-color:#000!important;backdrop-filter:none!important;cursor:pointer}#lock-screen-overlay.low-power-blackout>*{display:none!important}body.power-saving-hud #header,body.power-saving-hud header,body.power-saving-hud #safe-area-top-bar,body.power-saving-hud #safe-area-bottom-bar,body.power-saving-hud #course-info-panel,body.power-saving-hud .top-info-panel,body.power-saving-hud .info-panel,body.power-saving-hud .fab-container,body.power-saving-hud #fab-container,body.power-saving-hud .map-overlay,body.power-saving-hud #top-left-fab-container,body.power-saving-hud #fab-container-top-right,body.power-saving-hud #fab-container-left,body.power-saving-hud #fab-container-right,body.power-saving-hud #stats-panel,body.power-saving-hud #map-controls-container,body.power-saving-hud #opacity-toggle-container,body.power-saving-hud #historical-map-switcher,body.power-saving-hud #tour-action-panel,body.power-saving-hud #tour-controls,body.power-saving-hud #bottom-panel,body.power-saving-hud .bottom-panel,body.power-saving-hud #tour-active-panel,body.power-saving-hud #tour-bottom-bar,body.power-saving-hud #button-container,body.power-saving-hud #fab-pause,body.power-saving-hud #fab-stop,body.power-saving-hud #fab-resume,body.power-saving-hud #safe-area-top,body.power-saving-hud .safe-area-top{opacity:0!important;pointer-events:none!important;transition:opacity .5s ease}body.power-saving-hud .maplibregl-control-container,body.power-saving-hud .maplibregl-ctrl-bottom-right,body.power-saving-hud .maplibregl-ctrl-attrib,body.power-saving-hud .maplibregl-ctrl-attrib-inner,body.power-saving-hud .maplibregl-ctrl-top-left,body.power-saving-hud .maplibregl-ctrl-top-right,body.power-saving-hud .maplibregl-ctrl-bottom-left,body.power-saving-hud #aerial-attribution-container{display:none!important}body.power-saving-hud #lock-screen-overlay{background-color:transparent!important;backdrop-filter:none!important;z-index:var(--z-lock-screen-overlay)!important}body.power-saving-hud,html.power-saving-hud{background-color:#000!important}body.ar-mode #safe-area-top-bar,body.ar-mode #safe-area-bottom-bar,body.ar-mode footer,body.ar-mode .message-footer,body.ar-mode .footer-link-section{background-color:#000!important;border-color:#000!important}#fab-tutorial{display:flex!important;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;background:transparent;border:none;color:#fff;cursor:pointer;border-radius:50%;transition:background-color .2s ease}#fab-tutorial:hover{background-color:#ffffff40}#fab-tutorial svg{width:24px;height:24px;stroke:currentColor;fill:none}body.header-hidden #fab-tutorial{display:none!important}body[data-app-state=initial] #fab-tutorial{display:flex!important;visibility:visible!important;opacity:1!important;z-index:var(--z-fab-tutorial-initial)}.maplibregl-ctrl-bottom-right{right:90px!important;bottom:2px!important;margin:0!important;z-index:var(--z-top-left-info)!important;max-width:calc(100vw - 160px)!important}.maplibregl-ctrl-attrib.maplibregl-compact{min-height:24px!important;margin:0!important;background-color:#ffffffe6!important}.maplibregl-ctrl-attrib-inner{white-space:normal!important;line-height:1.2!important;display:inline-block}.custom-marker{width:32px;height:32px;background-color:#f78b27!important;border:2px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 4px #0000004d}.marker-number{transform:rotate(45deg);color:#fff;font-weight:700;font-size:14px;pointer-events:none}.custom-marker.collected{background-color:#888!important}.popup-no{display:inline-block;background:#333;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;margin-bottom:4px}.footer-btn-wrapper button,.footer-btn-wrapper a,#fab-create-toggle,#fab-load-course,#fab-spot-create-toggle,#fab-reset{color:var(--text-on-primary)!important}.footer-btn-wrapper svg,#fab-create-toggle svg,#fab-load-course svg,#fab-spot-create-toggle svg,#fab-reset svg{stroke:currentColor!important;color:currentColor!important;fill:none}.footer-btn-wrapper #camera-btn svg{fill:currentColor!important;stroke:none!important}#camera-btn-wrapper{display:none!important}.message-footer{display:flex!important;justify-content:center!important;align-items:flex-start!important;gap:15px!important;padding:10px 0!important;flex-wrap:wrap!important}.footer-btn-wrapper,#spot-url-link-wrapper,#web-ar-link-wrapper,#quiz-btn-wrapper,#audio-replay-btn-wrapper{flex-direction:column!important;justify-content:center!important;align-items:center!important;width:60px!important;margin:0!important;padding:0!important}#spot-url-link,#web-ar-link,#quiz-btn,#audio-replay-btn{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;border-radius:50%!important;padding:0!important;margin:0 0 4px!important;font-size:0!important;display:flex!important;align-items:center;justify-content:center;border:none!important;color:#fff!important;box-shadow:0 4px 8px #0003!important;text-decoration:none!important;transition:transform .2s,box-shadow .2s}#spot-url-link:hover,#web-ar-link:hover,#quiz-btn:hover,#audio-replay-btn:hover{transform:translateY(-3px);box-shadow:0 6px 12px #0000004d!important;filter:brightness(1.1)}#spot-url-link svg,#web-ar-link svg,#quiz-btn svg,#audio-replay-btn svg{width:24px!important;height:24px!important;stroke:#fff!important;fill:none;margin:0!important}.footer-btn-caption{display:block!important;font-size:11px!important;color:#fff!important;text-align:center!important;font-weight:400!important;line-height:1.2!important;margin-top:2px!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important}#spot-url-link{background-color:#1565c0!important}#web-ar-link{background-color:#6a1b9a!important}#quiz-btn{background-color:#00695c!important}#audio-replay-btn{background-color:#c2185b!important}#quiz-modal{z-index:var(--z-system-overlay)!important}#quiz-modal .popup-content.quiz-modal-shell{max-height:85vh;display:flex;flex-direction:column;overflow:hidden;text-align:center}#quiz-modal .quiz-modal-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;text-align:center}#quiz-modal .quiz-modal-footer{flex:0 0 auto;margin-top:8px;padding-top:12px;border-top:1px solid #ddd;background:var(--component-bg);padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}#quiz-modal .quiz-modal-footer .popup-buttons{margin-top:0!important;margin-bottom:0!important;display:flex!important;flex-direction:column!important;gap:12px!important}#quiz-result-area{margin-top:20px;border-top:1px solid #ddd;padding-top:15px;display:flex;flex-direction:column;flex:0 0 auto;overflow:visible}#quiz-result-title{margin:0 0 10px;flex-shrink:0}#quiz-modal .quiz-modal-footer button,#close-quiz-btn{pointer-events:auto!important;position:relative!important;z-index:var(--z-top-left-info-controls)!important;cursor:pointer!important;touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(0,0,0,.1)!important;user-select:none!important}#quiz-modal #close-quiz-btn,#quiz-modal-footer #close-quiz-btn,#quiz-modal-footer .popup-buttons #close-quiz-btn{pointer-events:auto!important;cursor:pointer!important;z-index:var(--z-top-left-info-controls)!important;position:relative!important;touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(0,0,0,.1)!important;user-select:none!important}#quiz-question{text-align:left;font-weight:700;margin-bottom:15px;word-wrap:break-word;overflow-wrap:break-word}.popup-overlay,#image-message-popup,#completion-popup,#goal-popup,#export-choice-popup{z-index:var(--z-modal-content)!important}#add-to-home-popup{z-index:var(--z-home-popup)!important}#add-to-home-popup .popup-content{position:relative;z-index:var(--z-home-popup-content)}#finish-tutorial-popup{z-index:var(--z-modal-elevated)!important}#fab-start,#fab-pause,#fab-resume,#fab-stop,#fab-stop-animation,#fab-ar-camera,#fab-stamp-rally,#fab-plotting-confirm,#fab-plotting-undo,#fab-plotting-cancel,#fab-reset,#fab-goal-results,#fab-create-toggle,#fab-load-course,#fab-spot-create-toggle,#fab-lock-screen,#fab-track-reload,#fab-start .fab-label,#fab-pause .fab-label,#fab-resume .fab-label,#fab-stop .fab-label,#fab-reset .fab-label,#fab-goal-results .fab-label,#fab-stamp-rally .fab-label,#fab-create-toggle .fab-label,#fab-load-course .fab-label,#fab-spot-create-toggle .fab-label,#fab-lock-screen .fab-label,#fab-track-reload .fab-label{color:#fff!important}#fab-start svg,#fab-pause svg,#fab-resume svg,#fab-stop svg,#fab-stop-animation svg,#fab-ar-camera svg,#fab-stamp-rally svg,#fab-plotting-confirm svg,#fab-plotting-undo svg,#fab-plotting-cancel svg,#fab-reset svg,#fab-goal-results svg,#fab-create-toggle svg,#fab-load-course svg,#fab-spot-create-toggle svg,#fab-lock-screen svg,#fab-track-reload svg{stroke:#fff!important;color:#fff!important;stroke-width:3!important;fill:none}#camera-btn svg{fill:#fff!important;stroke:none!important}.fab.secondary:not(.active){color:var(--fab-secondary-label-color, #333333)!important}.fab.secondary:not(.active) svg{stroke:currentColor!important;color:currentColor!important}#fab-reset{background-color:#546e7a!important;border:none!important}#fab-reset:hover{background-color:#455a64!important}#fab-goal-results{background-color:#c9a227!important;border:none!important}#fab-goal-results:hover{background-color:#b38f1f!important}#fab-create-toggle,#fab-load-course,#fab-spot-create-toggle{background-color:#3949ab!important;border:none!important}#fab-create-toggle:hover,#fab-load-course:hover,#fab-spot-create-toggle:hover{background-color:#283593!important}#fab-ar-camera .fab-label,#fab-ar-camera span{display:none!important}.fab.secondary.active{background-color:var(--primary-color)!important;border-color:var(--primary-color)!important;color:var(--text-on-primary)!important;box-shadow:0 4px 12px #0003}.maplibregl-ctrl-attrib{transition:bottom .3s ease-in-out!important;display:flex!important;flex-direction:row!important;align-items:flex-end!important;min-height:14px!important;padding:0 8px!important;background-color:#fffc!important;border-radius:10px;font-size:10px!important;line-height:1.1!important;color:#000!important;visibility:visible!important;opacity:1!important}.maplibregl-ctrl-attrib-button{display:none!important}.maplibregl-ctrl-attrib a,.maplibregl-ctrl-attrib-inner{color:#06c!important;text-decoration:underline!important;font-weight:700;display:inline-block!important;vertical-align:bottom!important;line-height:1!important}.maplibregl-marker{z-index:var(--z-map-marker)!important}.goal-results-section{margin-bottom:24px}.goal-results-info-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:600px){.goal-results-info-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.goal-results-info-grid{grid-template-columns:repeat(3,1fr)}}.goal-results-info-item{display:flex;flex-direction:column;padding:8px 12px;background-color:#fff;border-radius:6px;border:1px solid #e0e0e0}.goal-results-info-label{font-size:.85em;color:#666;margin-bottom:4px}.goal-results-info-value{font-size:1.1em;font-weight:700;color:#333}.goal-results-spot-card{padding:12px;margin-bottom:12px;background-color:#fff;border-radius:8px;border:1px solid #e0e0e0;border-left:4px solid #2196F3}.goal-results-spot-card.not-arrived{opacity:.6;border-left-color:#9e9e9e}.goal-results-spot-name{font-size:1.1em;font-weight:700;color:#333;margin-bottom:8px}.goal-results-spot-details{display:flex;flex-direction:column;gap:4px;font-size:.9em;color:#666}.goal-results-spot-detail-item{display:flex;align-items:center;gap:8px}.goal-results-memos-section .goal-results-memo-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px 14px;margin-bottom:10px}.goal-results-memos-section .goal-results-memo-time{font-size:.85em;color:#666;margin-bottom:6px}.goal-results-memos-section .goal-results-memo-location{font-size:.82em;color:#777;margin-bottom:6px}.goal-results-memos-section .goal-results-memo-text{font-size:.95em;color:#333;line-height:1.45;white-space:pre-wrap;word-break:break-word}.goal-results-score-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;margin-bottom:8px;background-color:#fff;border-radius:6px}.goal-results-score-item.bonus{color:#4caf50}.goal-results-score-item.penalty{color:#f44336}.goal-results-score-item.total{border-top:2px solid #e0e0e0;margin-top:12px;padding-top:12px;font-weight:700;font-size:1.1em}.goal-results-download-btn:hover{opacity:.9;transform:translateY(-1px);transition:all .2s}.goal-results-download-btn:active{transform:translateY(0)}#custom-loader{display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#ffffffe6;z-index:var(--z-system-loader);transition:opacity .5s ease,visibility .5s ease;pointer-events:auto}#custom-loader[style*="display: none"],#custom-loader.hidden{display:none!important;pointer-events:none!important;visibility:hidden!important;opacity:0!important}.gps-spinner{width:60px;height:60px;margin-bottom:5px}.gps-path-bg{fill:none;stroke:var(--theme-color-light);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.gps-path-main{fill:none;stroke:var(--theme-color);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40 120;animation:spinPin 1.2s linear infinite}@keyframes spinPin{0%{stroke-dashoffset:160}to{stroke-dashoffset:0}}#custom-loader .loader-text{margin-top:12px;font-size:14px;color:var(--theme-color);font-weight:700;letter-spacing:1px;animation:pulseText 1s ease-in-out infinite alternate}#startup-error-overlay{position:fixed;inset:0;z-index:var(--z-system-startup-error);display:none;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;background:#0c1217c2;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}#startup-error-overlay .startup-error-card{width:min(92vw,420px);background:#fff;color:#1f2933;border-radius:14px;box-shadow:0 10px 28px #0000004d;padding:18px 16px 14px}#startup-error-title{margin:0 0 10px;font-size:1.1rem;color:#c0392b}#startup-error-message{margin:0;line-height:1.6;font-size:.95rem}#startup-reload-btn{margin-top:14px;width:100%;min-height:44px;border:none;border-radius:10px;font-weight:700;cursor:pointer;color:#fff;background:#007bff}#startup-reload-btn:hover{background:#0069d9}#startup-hard-reset-btn{margin-top:10px;width:100%;min-height:44px;border:none;border-radius:10px;font-weight:700;cursor:pointer;color:#fff;background:#d32f2f}#startup-hard-reset-btn:hover{background:#c62828}#startup-dismiss-btn{margin-top:10px;width:100%;min-height:44px;border:1px solid #90a4ae;border-radius:10px;font-weight:700;cursor:pointer;color:#37474f;background:#eceff1}#startup-dismiss-btn:hover{background:#dfe5e8}.ar-pressure-debug{margin-top:10px;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.4;color:#263238;background:#eceff1;border:1px solid #cfd8dc}.ar-pressure-debug.level-medium{color:#5d4037;background:#fff8e1;border-color:#ffcc80}.ar-pressure-debug.level-high{color:#b71c1c;background:#ffebee;border-color:#ef9a9a}@keyframes pulseText{0%{opacity:.6}to{opacity:1}}#initial-loading-screen{display:none}#loading-logo-img{display:none!important}#myImage,#spot-points-info,#quiz-points-badge,#camera-btn-wrapper,#spot-url-link-wrapper,#audio-replay-btn-wrapper,#quiz-btn-wrapper{display:none}#quiz-btn{background-color:#ff9800}#share-popup .popup-section{margin-bottom:16px}#share-url-input-label{display:none}#share-url-input-container{display:flex;gap:8px}#share-url-input{flex-grow:1}#copy-share-url-btn{flex-shrink:0;padding:8px 12px;font-size:.9em}#share-popup .popup-section-center{text-align:center}#share-qrcode-caption{font-size:.8em;color:var(--text-secondary);margin-top:8px}#share-course-native-btn{display:none}#questionnaire-popup .popup-content{width:320px}#questionnaire-popup .popup-content p{font-weight:400;font-size:.9em;line-height:1.6;margin-bottom:20px}#questionnaire-popup label{text-align:left;margin-bottom:4px}.footer-link-section{margin:10px 24px 20px;text-align:center}.footer-link-section a{display:inline-flex;align-items:center;justify-content:center;color:var(--primary-color);text-decoration:none;font-size:.9em;padding:8px 12px;border-radius:4px;transition:background-color .2s}.footer-link-section a:hover{background-color:#0099991a}.footer-link-section svg{margin-right:8px}.footer-link-section p{font-size:.8rem;color:#888;margin-top:5px}#share-popup .popup-section #share-popup .popup-section-center #share-url-input-label #share-url-input-container #share-url-input #copy-share-url-btn #share-qrcode-caption #share-course-native-btn #questionnaire-popup .popup-content #questionnaire-popup .popup-content p #questionnaire-popup label,#completion-popup label,#handover-popup label{text-align:left;margin-bottom:4px}#handover-popup .popup-content{width:320px}#handover-popup .popup-content p{font-weight:400;font-size:.9em;line-height:1.6;margin-bottom:20px}#handover-color-section{display:flex;justify-content:center;align-items:center;gap:15px}#handover-color-picker-label{font-weight:700;margin:0}#handover-color-picker{width:80px;height:44px;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;padding:0}#handover-popup .popup-buttons.choice-buttons{margin-top:24px}.popup-buttons.margin-bottom{margin-bottom:16px}.popup-buttons.margin-bottom-large{margin-bottom:24px}.popup-buttons.margin-top{margin-top:20px}.popup-buttons.flex-row{flex-direction:row;gap:10px}.popup-buttons.flex-row button{flex:1}#start-tutorial-manual-btn{background-color:#ff9800;border-color:#ff9800;color:#fff}.os-prompt-instructions{margin:12px 0 0}.os-prompt-instructions.margin-top{margin-top:12px}#image-message-container{align-items:flex-end;padding:calc(env(safe-area-inset-top) + 10px) 10px calc(env(safe-area-inset-bottom) + 2px);z-index:var(--z-spot-popup-content)!important}#image-message-container .message-content-wrapper{width:min(720px,calc(var(--app-visible-vw, 100vw) - 20px));max-width:calc(var(--app-visible-vw, 100vw) - 20px);max-height:calc(var(--app-visible-vh, 100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px);border-radius:20px;box-shadow:0 -10px 36px #00000047;transform:translateY(28px) scale(.985)}#spot-swipe-handle{position:absolute;top:10px;left:50%;width:44px;height:5px;transform:translate(-50%);border-radius:999px;background:#78828ca6;box-shadow:inset 0 0 0 1px #ffffff3d;pointer-events:none;z-index:var(--z-spot-swipe-handle)}#spot-swipe-handle.hint-bounce{animation:spotSwipeHandleNudge .42s ease-out 2}@keyframes spotSwipeHandleNudge{0%,to{transform:translate(-50%) translateY(0)}35%{transform:translate(-50%) translateY(5px)}60%{transform:translate(-50%) translateY(2px)}}@media(prefers-reduced-motion:reduce){#spot-swipe-handle.hint-bounce{animation:none}}#image-message-container.visible .message-content-wrapper{transform:translateY(0) scale(1)}#image-message-container .message-scrollable-content{padding:44px 18px 10px}#image-message-container .message-footer{gap:12px!important;padding:8px 12px calc(env(safe-area-inset-bottom) + 2px) 12px!important}#image-message-container .footer-btn-wrapper{width:74px!important}#image-message-container .footer-btn-caption{font-size:12px!important;font-weight:600!important;letter-spacing:0;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}#image-message-container #spot-url-link,#image-message-container #web-ar-link,#image-message-container #quiz-btn,#image-message-container #audio-replay-btn{width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important}#image-message-container #spot-url-link svg,#image-message-container #web-ar-link svg,#image-message-container #quiz-btn svg,#image-message-container #audio-replay-btn svg{width:26px!important;height:26px!important}@media(max-width:640px){#image-message-container .message-content-wrapper{width:100%}#image-message-container .message-footer{justify-content:space-between!important;gap:10px!important}#image-message-container .footer-btn-caption{max-width:68px}}@media(orientation:landscape)and (max-height:620px){#image-message-container .message-content-wrapper{width:min(98vw,980px);max-width:980px;display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-template-rows:minmax(0,1fr);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px)}#image-message-container .message-scrollable-content{grid-column:1;grid-row:1;padding:40px 14px 12px}#image-message-container .message-footer{grid-column:2;grid-row:1;border-top:none;border-left:1px solid var(--border-color);flex-direction:column;justify-content:flex-start!important;align-items:stretch!important;overflow-y:auto;padding:12px 10px!important;gap:10px!important}#image-message-container .footer-btn-wrapper{width:100%!important;align-items:flex-start}#image-message-container #spot-url-link,#image-message-container #web-ar-link,#image-message-container #quiz-btn,#image-message-container #audio-replay-btn{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}#spot-swipe-handle{top:8px}}body:not(.ar-active) #ar-overlay,body:not(.ar-active) #ar-ui-layer,body:not(.ar-active) #ar-square-mask,body:not(.ar-active) .a-canvas,body:not(.ar-active) .arjs-video,body:not(.ar-active) #ar-overlay video,body:not(.ar-active) #ar-scene-container video,body:not(.ar-active) body>video{display:none!important;opacity:0!important;visibility:hidden!important;z-index:-9999!important;pointer-events:none!important;width:0!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important}@supports not (height: 100dvh){@media(orientation:landscape)and (max-height:620px){#image-message-container .message-content-wrapper{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px)}}}.os-prompt-instructions.text-left{text-align:left;margin:12px 0}.os-prompt-instructions p.title{text-align:center;font-weight:700;font-size:1.1em;color:var(--primary-color)}#custom-alert-message,#custom-confirm-message{font-weight:400;font-size:1em;line-height:1.6;margin-bottom:24px}#custom-confirm-message{margin-bottom:0}#export-choice-copy-sns-btn{display:none}#spot-desc-input{resize:vertical}.tutorial-sub-text{margin-top:0}#fab-ar-camera{background-color:#6a1b9a}#fab-help-tutorial{background-color:#42a5f5;color:#fff;font-size:24px;font-weight:700}html,body{-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important;-webkit-tap-highlight-color:transparent!important}button,a,img,canvas,svg{-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important;-webkit-tap-highlight-color:transparent!important}img{-webkit-user-drag:none!important;user-drag:none!important;-webkit-touch-callout:none!important}input,textarea{-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default!important}.mapboxgl-canvas,.maplibregl-canvas{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated}:root{--bottom-safe: env(safe-area-inset-bottom);--white-band-margin: 4px;--attrib-right: 92px;--finished-panel-height: 74px;--finished-floating-gap: 2px;--fab-bottom: calc(16px + var(--bottom-safe));--fab-bottom-finished: calc(96px + var(--bottom-safe));--fab-mode-offset: 0px;--attrib-bottom: calc(var(--white-band-margin) + var(--bottom-safe));--attrib-clearance: 20px;--finished-block-offset: 0px;--historical-bottom: calc(var(--attrib-bottom) + var(--attrib-clearance));--opacity-bottom: calc(var(--historical-bottom) + 60px);--aerial-bottom: calc(124px + var(--bottom-safe))}body[data-app-state=finished]{--finished-base-bottom: calc(var(--finished-panel-height) + var(--bottom-safe) + var(--finished-block-offset));--fab-bottom: calc(var(--finished-base-bottom) + 8px);--attrib-bottom: calc(var(--finished-base-bottom) - 10px);--historical-bottom: calc(var(--finished-base-bottom) + 10px);--opacity-bottom: calc(var(--finished-base-bottom) + 68px);--aerial-bottom: calc(var(--finished-base-bottom) + 134px)}body[data-app-state=finished] #historical-map-switcher,body[data-app-state=finished] #opacity-toggle-container,body[data-app-state=finished] #aerial-attribution-container{position:fixed!important}@media(orientation:landscape){body[data-app-state=finished]{--finished-panel-height: 0px;--finished-base-bottom: calc(var(--bottom-safe) + var(--finished-block-offset))}body[data-app-state=finished] #fab-container-left{left:16px!important;right:auto!important;transform:none!important;bottom:calc(var(--fab-bottom) + var(--fab-mode-offset))!important}body[data-app-state=finished] #fab-container,body[data-app-state=finished] #fab-container-animation-stop{right:16px!important;left:auto!important;transform:none!important;bottom:calc(var(--fab-bottom) + var(--fab-mode-offset))!important}}body[data-app-state=plotting]{--fab-mode-offset: 8px}#fab-container-left,.fab-container,#fab-container,#fab-container-animation-stop,#fab-container-plotting,#fab-container-delete-guide,#fab-container-spot-creation,body[data-app-state=tour] #fab-container,body[data-app-state=tour] #fab-container-left,body[data-app-state=tour] #fab-container-animation-stop,body[data-app-state=tour] #fab-container-plotting,body[data-app-state=tour] #fab-container-delete-guide,body[data-app-state=tour] #fab-container-spot-creation,body[data-app-state=paused] #fab-container,body[data-app-state=paused] #fab-container-left,body[data-app-state=paused] #fab-container-animation-stop,body[data-app-state=paused] #fab-container-plotting,body[data-app-state=paused] #fab-container-delete-guide,body[data-app-state=paused] #fab-container-spot-creation,body.landscape-map-full #fab-container,body.landscape-map-full #fab-container-left,body.landscape-map-full #fab-container-animation-stop,body.landscape-map-full #fab-container-plotting,body.landscape-map-full #fab-container-delete-guide,body.landscape-map-full #fab-container-spot-creation,#fab-container-left.is-finished,.fab-container.is-finished,#fab-container.is-finished,#fab-container-animation-stop.is-finished,#fab-container-plotting.is-finished,#fab-container-delete-guide.is-finished,#fab-container-spot-creation.is-finished,body[data-app-state=finished] #fab-container,body[data-app-state=finished] #fab-container-left{bottom:calc(var(--fab-bottom) + var(--fab-mode-offset))!important}.maplibregl-ctrl-attrib,body[data-app-state=tour] .maplibregl-ctrl-attrib,body[data-app-state=paused] .maplibregl-ctrl-attrib,body.landscape-map-full .maplibregl-ctrl-attrib{position:fixed!important;right:var(--attrib-right)!important;left:auto!important;top:auto!important;bottom:var(--attrib-bottom)!important;z-index:var(--z-map-controls)!important}#historical-map-switcher,body[data-app-state=tour] #historical-map-switcher,body[data-app-state=paused] #historical-map-switcher,body.landscape-map-full #historical-map-switcher,#historical-map-switcher.is-finished{bottom:var(--historical-bottom)!important}#opacity-toggle-container,body[data-app-state=tour] #opacity-toggle-container,body[data-app-state=paused] #opacity-toggle-container,body.landscape-map-full #opacity-toggle-container,#opacity-toggle-container.is-finished{bottom:var(--opacity-bottom)!important}#aerial-attribution-container,body[data-app-state=tour] #aerial-attribution-container,body[data-app-state=paused] #aerial-attribution-container,body.landscape-map-full #aerial-attribution-container,#aerial-attribution-container.is-finished{bottom:var(--aerial-bottom)!important}#image-message-container{z-index:var(--z-spot-popup-content)!important}#image-message-container .message-content-wrapper{position:relative;z-index:var(--z-spot-popup-content-inner)!important}body.spot-popup-active #wrap_map{z-index:var(--z-spot-popup-base)!important}body.spot-popup-active #stats-panel,body.spot-popup-active #button-container,body.spot-popup-active #fab-container,body.spot-popup-active #fab-container-left,body.spot-popup-active #fab-container-top-right,body.spot-popup-active #historical-map-switcher,body.spot-popup-active #opacity-toggle-container,body.spot-popup-active #aerial-attribution-container,body.spot-popup-active .maplibregl-ctrl-attrib{z-index:var(--z-spot-popup-ui-muted)!important}body.spot-popup-active #custom-alert-popup,body.spot-popup-active #custom-confirm-popup{z-index:var(--z-custom-popup-over-spot)!important}html.is-event-domain #historical-map-switcher,html.is-event-domain #changeMapStyleButton,html.is-event-domain #fab-create-toggle,html.is-event-domain #plotting-info-controls,html.is-event-domain #fab-container-plotting,html.is-event-domain #fab-container-plotting-help,html.is-event-domain #fab-container-rerouting-controls{display:none!important;pointer-events:none!important}html.is-event-domain #event-map-reload-btn{display:flex!important;pointer-events:auto!important}
