.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{color-scheme:light;font-family:Microsoft YaHei UI,PingFang SC,Noto Sans SC,system-ui,sans-serif;background:#f4f7f2;color:#17221b;--accent: #2f6f4e;--accent-strong: #22563a;--ink: #17221b;--muted: #66736a;--paper: #f4f7f2;--panel: #ffffff;--stone: #56635c;--wood: #9c6b22;--wood-soft: rgb(156 107 34 / .12);--line: rgb(23 34 27 / .11);--soft-shadow: 0 24px 70px rgb(37 65 48 / .12);--motion: cubic-bezier(.32, .72, 0, 1);--nav-height: 78px;--nav-gap: 16px;--bottom-clearance: calc(var(--nav-height) + var(--nav-gap) + env(safe-area-inset-bottom))}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{overflow-x:hidden;background:linear-gradient(135deg,rgb(255 255 255 / .8),transparent 34%),radial-gradient(circle at 12% 2%,rgb(47 111 78 / .16),transparent 28%),radial-gradient(circle at 88% 20%,rgb(156 107 34 / .08),transparent 24%),linear-gradient(180deg,#f4f7f2,#eef3ec)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.68}.app-shell{position:relative;width:min(100%,520px);min-height:100dvh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 16px var(--bottom-clearance)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-4px -4px 10px;padding:8px 6px 10px;border-radius:0 0 26px 26px;-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);background:#f4f7f2c7}.topbar h1,.boot-panel h1,.assistant-card h2,.spot-panel h2{margin:0;letter-spacing:0}.topbar h1{font-size:clamp(23px,6.8vw,32px);line-height:1.02;font-weight:860}.topbar-actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.topbar-actions .icon-btn{width:42px;height:42px;flex-basis:42px}.micro-label{display:inline-flex;margin-bottom:7px;color:var(--accent-strong);font-size:10px;font-weight:780;letter-spacing:.14em;text-transform:uppercase}.icon-btn,.primary-btn,.ghost-btn,.mode-chip,.bottom-nav button,.conversation-chip button,.spot-row,.persona-card{border:0;transition:transform .52s var(--motion),background .52s var(--motion),color .52s var(--motion),border-color .52s var(--motion)}.icon-btn{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:999px;color:var(--accent-strong);background:#fff;box-shadow:0 14px 34px #2541301a;transition:all .42s var(--motion);position:relative}.icon-btn:before{content:"";position:absolute;inset:-6px;border-radius:999px}.icon-btn:hover{transform:translateY(-2px);box-shadow:0 18px 42px #25413024}.icon-btn:active{transform:scale(.94) translateY(1px)}.icon-btn:active,.primary-btn:active,.ghost-btn:active,.bottom-nav button:active{transform:scale(.97) translateY(1px)}.mode-strip{display:grid;grid-auto-columns:minmax(82px,1fr);grid-auto-flow:column;gap:8px;overflow-x:auto;padding:0 0 14px;scrollbar-width:none}.mode-strip::-webkit-scrollbar{display:none}.mode-chip{display:grid;gap:2px;min-height:62px;padding:12px 14px;border:1px solid var(--line);border-radius:20px;color:var(--muted);background:#ffffffb8;text-align:left;white-space:nowrap;cursor:pointer;transition:all .42s var(--motion);position:relative}.mode-chip:before{content:"";position:absolute;inset:-4px;border-radius:20px}.mode-chip:hover{border-color:#2f6f4e3d;background:#ffffffe0;transform:translateY(-2px);box-shadow:0 8px 20px #25413014}.mode-chip:active{transform:scale(.97)}.mode-chip span{color:var(--ink);font-weight:760}.mode-chip small{font-size:11px}.mode-chip.active{color:#e7f3ea;border-color:transparent;background:var(--accent-strong);box-shadow:0 16px 38px #22563a3d;transform:scale(1.02)}.mode-chip.active:hover{box-shadow:0 18px 42px #22563a47;transform:scale(1.02) translateY(-2px)}.mode-chip.active span{color:#fff}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.screen{display:grid;gap:12px;padding-bottom:18px;animation:rise-in .64s var(--motion) both}.guide-dashboard{display:grid;gap:10px}.activity-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:10px 13px;border:1px solid rgb(34 86 58 / .16);border-radius:14px;color:var(--accent-strong);background:#ffffffc7;box-shadow:0 8px 22px #25413012;text-align:left;transition:transform .42s var(--motion),background .42s var(--motion),box-shadow .42s var(--motion)}.activity-entry:hover{border-color:#22563a47;background:#fff;box-shadow:0 12px 28px #22563a1f;transform:translateY(-2px)}.activity-entry:active{transform:scale(.985) translateY(1px)}.activity-entry-main{display:inline-flex;align-items:center;gap:10px;min-width:0}.activity-entry strong{font-size:14px;font-weight:820}.activity-screen{align-content:start;min-height:calc(100dvh - 36px);padding-top:8px}.activity-page-actions{display:flex;flex-wrap:wrap;gap:8px}.activity-back-btn{display:inline-flex;align-items:center;align-self:start;justify-self:start;gap:7px;min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:14px;color:var(--accent-strong);background:#fffc;font-size:13px;font-weight:780;transition:transform .42s var(--motion),background .42s var(--motion),border-color .42s var(--motion)}.activity-back-btn:hover{border-color:#22563a3d;background:#fff;transform:translateY(-1px)}.activity-back-btn:active{transform:scale(.97) translateY(1px)}.activity-section-grid{display:grid;gap:12px;margin-top:4px}.activity-card-grid{display:grid;gap:15px;margin-top:2px}.activity-card{overflow:hidden;border:1px solid rgb(34 86 58 / .15);border-radius:22px;background:#ffffffe0;box-shadow:0 16px 38px #2541301c;transition:transform .42s var(--motion),border-color .42s var(--motion),box-shadow .42s var(--motion)}.activity-card:hover{border-color:#22563a4d;box-shadow:0 20px 42px #25413029;transform:translateY(-2px)}.activity-card:active{transform:scale(.988) translateY(1px)}.activity-card-hitarea{display:grid;width:100%;padding:0;border:0;color:var(--ink);background:transparent;text-align:left}.activity-card-cover{position:relative;display:block;min-height:164px;overflow:hidden;background:#2f6f4e1f}.activity-card-cover img{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover;transition:transform .7s var(--motion)}.activity-card:hover .activity-card-cover img{transform:scale(1.045)}.activity-card-cover-scrim{position:absolute;inset:0;display:block;background:linear-gradient(180deg,#071c1205 30%,#071c1299);pointer-events:none}.activity-card-cover-badge{position:absolute;top:13px;left:14px;display:inline-flex;align-items:center;min-height:27px;padding:5px 10px;border:1px solid rgb(255 255 255 / .45);border-radius:999px;color:#fff;background:#0f2e1f80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:11px;font-weight:820;letter-spacing:.02em}.activity-card-cover-icon{position:absolute;right:14px;bottom:13px;display:grid;place-items:center;width:45px;height:45px;border:1px solid rgb(255 255 255 / .5);border-radius:15px;color:#fff;background:#0f2e1f7a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.activity-card-body{display:grid;gap:13px;padding:16px 16px 15px}.activity-card-heading{display:grid;gap:4px;min-width:0}.activity-card-heading .micro-label{color:var(--accent)}.activity-card-heading>strong{color:var(--ink);font-size:clamp(20px,5.4vw,26px);line-height:1.12;font-weight:900}.activity-card-subtitle{color:var(--accent-strong);font-size:13px;font-weight:800;line-height:1.4}.activity-card-description{max-width:48ch;color:var(--muted);font-size:12px;line-height:1.55}.activity-card-progress{display:grid;gap:7px;padding:11px 12px;border:1px solid rgb(34 86 58 / .1);border-radius:14px;background:#2f6f4e0e}.activity-card-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;font-weight:740}.activity-card-progress-head strong{color:var(--accent-strong);font-size:12px;font-weight:850;font-variant-numeric:tabular-nums}.activity-card-progress-track{display:block;height:8px;overflow:hidden;border-radius:999px;background:#22563a1f}.activity-card-progress-track>span{display:block;height:100%;min-width:4px;border-radius:inherit;background:linear-gradient(90deg,#3f9a68,#e4ac45);transition:width .5s var(--motion)}.activity-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-card-reward,.activity-card-cta{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:800}.activity-card-reward{color:var(--muted);overflow-wrap:anywhere}.activity-card-cta{flex:0 0 auto;color:var(--accent-strong);white-space:nowrap}.activity-card-cta svg{transition:transform .3s var(--motion)}.activity-card:hover .activity-card-cta svg{transform:translate(3px)}.tutorial-overlay{position:fixed;inset:0;z-index:100;isolation:isolate;background:#0c1912a3;animation:tutorial-fade-in .24s ease-out both}@keyframes tutorial-fade-in{0%{opacity:0}to{opacity:1}}.tutorial-focus{position:fixed;z-index:1;border:2px solid rgb(255 255 255 / .96);border-radius:18px;box-shadow:0 0 0 5px #89dca65c,0 0 0 9999px #0c1912a3,0 10px 34px #0003;pointer-events:none;animation:tutorial-focus-pulse 1.8s ease-in-out infinite}@keyframes tutorial-focus-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.012)}}.tutorial-card{position:absolute;right:16px;bottom:max(18px,env(safe-area-inset-bottom));left:16px;z-index:2;width:min(100% - 32px,480px);margin:0 auto;padding:20px 20px 18px;border:1px solid rgb(255 255 255 / .82);border-radius:24px;color:var(--ink);background:#fffffff7;box-shadow:0 24px 70px #00000042;animation:tutorial-card-rise .42s var(--motion) both}@keyframes tutorial-card-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.tutorial-card-head,.tutorial-progress-line,.tutorial-actions,.tutorial-nav-actions{display:flex;align-items:center}.tutorial-card-head,.tutorial-progress-line,.tutorial-actions{justify-content:space-between;gap:12px}.tutorial-eyebrow{color:var(--accent-strong);font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.tutorial-close{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:999px;color:var(--muted);background:#17221b0f;font-size:23px;line-height:1}.tutorial-close:hover{color:var(--ink);background:#17221b1f}.tutorial-progress-line{margin-top:2px;color:var(--muted);font-size:11px;font-weight:760}.tutorial-dots{display:inline-flex;gap:5px}.tutorial-dots i{width:6px;height:6px;border-radius:999px;background:#2f6f4e2e}.tutorial-dots i.active{width:18px;background:var(--accent)}.tutorial-card h2{margin:13px 0 7px;color:var(--ink);font-size:22px;line-height:1.2;font-weight:880}.tutorial-card p{min-height:44px;margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.65}.tutorial-actions{align-items:center}.tutorial-skip,.tutorial-prev{min-height:44px;padding:9px 12px;border:0;border-radius:12px;color:var(--muted);background:transparent;font-size:13px;font-weight:780}.tutorial-skip:hover,.tutorial-prev:hover{color:var(--ink);background:#17221b0f}.tutorial-nav-actions{gap:6px}.tutorial-next{min-height:44px;padding-inline:17px;border-radius:13px}.activity-section-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:104px;padding:17px 18px;border:1px solid rgb(34 86 58 / .14);border-radius:16px;color:var(--accent-strong);background:#ffffffd1;box-shadow:0 12px 30px #25413014;text-align:left;transition:transform .42s var(--motion),background .42s var(--motion),border-color .42s var(--motion),box-shadow .42s var(--motion)}.activity-section-card:hover{border-color:#22563a42;background:#fff;box-shadow:0 16px 36px #2541301f;transform:translateY(-2px)}.activity-section-card:active{transform:scale(.985) translateY(1px)}.activity-section-card-main{display:inline-flex;align-items:center;gap:11px;min-width:0}.activity-section-card-main>svg{flex:0 0 auto;width:44px;height:44px;padding:9px;border-radius:14px;background:#2f6f4e1a}.activity-section-card-main>span{display:grid;gap:5px;min-width:0}.activity-section-card strong{font-size:16px;font-weight:820}.activity-section-card small{color:var(--muted);font-size:12px;line-height:1.45}.activity-section-panel{display:grid;justify-items:start;align-content:center;gap:12px;min-height:190px;margin-top:6px;padding:22px 18px;border:1px solid rgb(34 86 58 / .14);border-radius:20px;color:var(--accent-strong);background:#ffffffd1;box-shadow:0 16px 40px #2541301a}.activity-section-panel h1{margin:10px 0 0;color:var(--ink);font-size:clamp(30px,8vw,42px);line-height:1.05;font-weight:900}.activity-leaderboard{display:grid;gap:14px;margin-top:6px}.activity-leaderboard-head{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--accent-strong)}.activity-leaderboard-head h1{margin:2px 0 0;color:var(--ink);font-size:clamp(26px,7vw,38px);line-height:1.08;font-weight:900}.leaderboard-list{position:relative;display:grid;gap:10px;margin:0;padding:30px 8px 12px;list-style:none;overflow:hidden;border:1px solid rgb(34 86 58 / .12);border-radius:22px;background:linear-gradient(157deg,transparent 0 42%,rgb(47 111 78 / .09) 42% 54%,transparent 54%),linear-gradient(24deg,transparent 0 48%,rgb(34 86 58 / .08) 48% 60%,transparent 60%),#ffffffb8;box-shadow:0 14px 34px #25413017}.leaderboard-list:before{content:"🏔️";position:absolute;top:2px;left:50%;z-index:0;font-size:30px;transform:translate(-50%);filter:grayscale(.2)}.leaderboard-list li{position:relative;z-index:1;display:grid;grid-template-columns:27px 23px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:66px;padding:12px 15px;border:1px solid rgb(34 86 58 / .14);border-radius:16px;background:#ffffffd1;box-shadow:0 10px 26px #25413014}.leaderboard-list li:nth-child(1){width:min(82%,340px);margin-inline:auto;border-color:#b585255c;background:linear-gradient(135deg,#fff5cff5,#ffffffe6)}.leaderboard-list li:nth-child(2){width:min(91%,390px);margin-left:3%}.leaderboard-list li:nth-child(3){width:min(95%,410px);margin-left:5%}.leaderboard-list li.is-me{border-color:#22563a61;box-shadow:0 0 0 3px #2f6f4e1c,0 12px 28px #2541301f}.leaderboard-rank-badge{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#2f6f4e17;font-size:16px;line-height:1}.leaderboard-rank-badge.rank-1{background:#e1ac432e}.leaderboard-rank-badge.rank-2{background:#9aa7af2e}.leaderboard-rank-badge.rank-3{background:#b7774a29}.leaderboard-rank{color:var(--accent-strong);font-size:19px;font-weight:900;font-variant-numeric:tabular-nums}.leaderboard-entry{display:grid;gap:3px;min-width:0}.leaderboard-entry strong{overflow:hidden;color:var(--ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.leaderboard-entry small{color:var(--muted);font-size:11px}.leaderboard-time{color:var(--accent-strong);font-size:17px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.leaderboard-empty{margin:0;padding:28px 18px;border:1px solid rgb(34 86 58 / .14);border-radius:16px;color:var(--muted);background:#ffffffd1;text-align:center}.my-leaderboard-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;overflow:hidden;padding:16px 18px;border:1px solid rgb(34 86 58 / .2);border-radius:20px;background:linear-gradient(135deg,#2f6f4e24,#ffffffe6)}.my-leaderboard-card:after{content:"";position:absolute;right:-20px;bottom:-35px;width:150px;height:100px;border-radius:55% 45% 0 0;background:#2f6f4e1a;transform:rotate(-12deg)}.my-leaderboard-card>div{display:grid;gap:4px;min-width:0}.my-leaderboard-card>div>strong{color:var(--accent-strong);font-size:30px;line-height:1;font-variant-numeric:tabular-nums}.my-leaderboard-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.my-leaderboard-mountain{position:relative;z-index:1;flex:0 0 auto;font-size:42px}.exploration-feedback-enter-active,.exploration-feedback-leave-active{transition:opacity .26s ease,transform .36s var(--motion)}.exploration-feedback-enter-from,.exploration-feedback-leave-to{opacity:0;transform:translate(-50%,-10px)}.exploration-feedback{position:fixed;top:max(68px,calc(env(safe-area-inset-top) + 62px));left:50%;z-index:55;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:min(calc(100% - 28px),470px);padding:13px 15px;border:1px solid rgb(255 255 255 / .82);border-radius:20px;background:#fffffff0;box-shadow:0 18px 45px #25413033;-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);transform:translate(-50%)}.exploration-feedback-icon{display:grid;place-items:center;width:41px;height:41px;border-radius:14px;background:linear-gradient(135deg,#fff2ba,#f1c75f);font-size:23px}.exploration-feedback-copy{display:grid;gap:2px;min-width:0}.exploration-feedback-copy strong{color:var(--ink);font-size:15px;font-weight:900}.exploration-feedback-copy p,.exploration-feedback-copy small{margin:0;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.exploration-feedback-points{display:grid;justify-items:end;color:#a96b18;font-size:18px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.exploration-feedback-points small{color:var(--muted);font-size:10px;font-weight:740}.exploration-feedback-close{position:absolute;top:3px;right:6px;width:24px;height:24px;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent;font-size:20px;line-height:1}.activity-exploration{display:grid;gap:16px;margin-top:6px}.activity-exploration-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.activity-exploration-head h1{margin:0;color:var(--ink);font-size:clamp(26px,7vw,38px);line-height:1.08;font-weight:900}.exploration-percent{flex:0 0 auto;color:var(--accent-strong);font-size:28px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.exploration-spot-grid{display:grid;gap:10px}.exploration-spot-card{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:82px;padding:10px 12px 10px 10px;border:1px solid rgb(23 34 27 / .1);border-radius:14px;background:#ffffffc7;box-shadow:0 8px 22px #2541300f}.exploration-spot-media{display:grid;width:82px;height:62px;place-items:center;overflow:hidden;border-radius:11px;color:var(--muted);background:radial-gradient(circle at 25% 25%,rgb(255 255 255 / .8),transparent 34%),linear-gradient(135deg,#2f6f4e33,#2f6f4e14)}.exploration-spot-media img{display:block;width:100%;height:100%;object-fit:cover}.exploration-spot-media.missing{border:1px dashed rgb(23 34 27 / .18);background:#17221b0d}.exploration-spot-media span{padding:5px 7px;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}.exploration-spot-copy{display:grid;min-width:0;gap:4px}.exploration-spot-copy strong{min-width:0;color:var(--ink);font-size:14px;font-weight:800;overflow-wrap:anywhere}.exploration-spot-copy>span{width:fit-content;flex:0 0 auto;padding:5px 8px;border-radius:9px;color:var(--muted);background:#17221b12;font-size:11px;font-weight:780;white-space:nowrap}.exploration-spot-copy small{color:var(--muted);font-size:10px;font-weight:680}.exploration-spot-navigate{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:38px;padding:7px 10px;border:1px solid rgb(47 111 78 / .2);border-radius:11px;color:var(--accent-strong);background:#2f6f4e14;font-size:11px;font-weight:820;white-space:nowrap;transition:all .26s var(--motion)}.exploration-spot-navigate:hover{border-color:#2f6f4e57;background:#2f6f4e26;transform:translateY(-1px)}.exploration-spot-navigate:active{transform:scale(.96)}.exploration-spot-card.explored{border-color:#22563a38;background:#2f6f4e17}.exploration-spot-card.explored .exploration-spot-copy>span{color:var(--accent-strong);background:#2f6f4e24}@media(max-width:430px){.exploration-spot-card{grid-template-columns:68px minmax(0,1fr)}.exploration-spot-media{width:68px;height:56px}.exploration-spot-navigate{grid-column:2;justify-self:start;min-height:34px;margin-top:-2px}}.exploration-progress{display:grid;gap:9px;margin-top:2px;padding:15px;border:1px solid rgb(34 86 58 / .14);border-radius:16px;background:#ffffffd1;box-shadow:0 12px 30px #25413014}.exploration-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;font-weight:760}.exploration-progress-head strong{color:var(--accent-strong);font-variant-numeric:tabular-nums}.exploration-progress-track{height:9px;overflow:hidden;border-radius:999px;background:#2f6f4e1f}.exploration-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent-strong);transition:width .42s var(--motion)}.exploration-progress-percent{color:var(--ink);font-size:18px;font-weight:880;text-align:right;font-variant-numeric:tabular-nums}.activity-health{display:grid;gap:14px;margin-top:6px}.health-people-panel{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:22px;background:#ffffffc7}.health-people-panel .health-section-title{margin:0}.health-people-panel .health-section-title>strong{color:var(--accent-strong);font-size:14px}.health-people-grid{display:grid;gap:10px}.health-person-card{padding:14px;border:1px solid rgb(23 34 27 / .08);border-radius:16px;background:#fff}.health-person-head,.health-person-primary,.health-person-card dl,.health-person-card dl div{display:flex;align-items:center}.health-person-head,.health-person-primary{justify-content:space-between;gap:10px}.health-person-head strong{color:var(--ink)}.health-person-head span{color:var(--muted);font-size:11px}.health-person-primary{margin:12px 0}.health-person-primary strong{color:var(--accent-strong);font-size:24px}.health-person-primary span{color:var(--muted);font-size:13px}.health-person-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.health-person-card dl div{justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid rgb(23 34 27 / .07)}.health-person-card dt{color:var(--muted);font-size:11px}.health-person-card dd{margin:0;color:var(--ink);font-size:12px;font-weight:760}.leaderboard-time-wrap{display:grid;justify-items:end;gap:3px}.leaderboard-reference{color:var(--wood);font-size:10px;font-weight:700}.activity-health-head,.health-section-title,.health-progress-head{display:flex;align-items:end;justify-content:space-between;gap:14px}.activity-health-head{color:var(--accent-strong)}.activity-health-head h1,.health-section-title h2{margin:2px 0 0;color:var(--ink);font-weight:900}.activity-health-head h1{font-size:clamp(26px,7vw,38px);line-height:1.08}.health-status-band{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:16px;border:1px solid rgb(156 107 34 / .22);border-radius:18px;color:#8b5d1f;background:#fff8e8e6}.health-status-band.located{border-color:#22563a33;color:var(--accent-strong);background:#ecf7efe6}.health-status-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#ffffffc2}.health-status-band span,.health-status-band strong,.health-status-band p{display:block}.health-status-band span{font-size:11px;font-weight:800;letter-spacing:.04em}.health-status-band strong{margin-top:3px;color:var(--ink);font-size:17px}.health-status-band p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.health-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.health-stat-grid article{display:grid;gap:5px;min-width:0;padding:14px 12px;border:1px solid rgb(34 86 58 / .14);border-radius:15px;background:#ffffffd1;box-shadow:0 8px 22px #2541300f}.health-stat-grid strong{color:var(--accent-strong);font-size:clamp(17px,5vw,23px);font-weight:900;font-variant-numeric:tabular-nums}.health-stat-grid span{color:var(--muted);font-size:11px;font-weight:760}.health-progress-panel,.health-routine,.health-pace-panel{display:grid;gap:12px;padding:16px;border:1px solid rgb(34 86 58 / .14);border-radius:18px;background:#ffffffd1;box-shadow:0 12px 30px #25413012}.health-progress-head{align-items:center}.health-progress-head>div{display:grid;gap:3px}.health-progress-head strong{color:var(--accent-strong);font-size:25px;line-height:1;font-variant-numeric:tabular-nums}.health-progress-head>span,.health-progress-panel p,.health-coach-note{color:var(--muted);font-size:12px;line-height:1.55}.health-progress-panel p,.health-coach-note{margin:0}.health-progress-track{height:10px;overflow:hidden;border-radius:999px;background:#2f6f4e1f}.health-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f6f4e,#9c6b22);transition:width .42s var(--motion)}.health-rest-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 14px;border:1px solid rgb(156 107 34 / .2);border-radius:16px;background:#fff8e8d6}.health-rest-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:#8b5d1f;background:#ffffffc2}.health-rest-panel span,.health-rest-panel strong,.health-rest-panel p{display:block}.health-rest-panel span{color:#8b5d1f;font-size:11px;font-weight:820}.health-rest-panel strong{margin-top:2px;color:var(--ink);font-size:13px}.health-rest-panel p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.health-rest-action{min-height:38px;padding:8px 10px;border:1px solid rgb(156 107 34 / .25);border-radius:11px;color:#8b5d1f;background:#fffc;font-size:11px;font-weight:820;white-space:nowrap}.health-rest-action:active{transform:scale(.97)}.health-section-title{align-items:center}.health-section-title h2{font-size:20px;line-height:1.15}.health-section-title>strong,.health-section-title>svg{color:var(--accent-strong)}.health-step-list{display:grid;gap:8px}.health-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:58px;padding:10px 12px;border:1px solid rgb(23 34 27 / .1);border-radius:14px;color:var(--accent-strong);background:#ffffffb8;text-align:left}.health-step>span{display:grid;gap:3px;min-width:0}.health-step strong{color:var(--ink);font-size:13px}.health-step small{overflow-wrap:anywhere;color:var(--muted);font-size:11px;line-height:1.45}.health-step>svg{color:var(--accent-strong)}.health-step.completed{border-color:#22563a3d;background:#ecf7efd6}.health-step.completed strong{color:var(--accent-strong)}.health-step-dot{width:18px;height:18px;border:2px solid rgb(34 86 58 / .3);border-radius:50%}.health-pace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.health-pace-option{display:grid;gap:5px;min-height:70px;padding:10px;border:1px solid rgb(34 86 58 / .14);border-radius:13px;color:var(--muted);background:#ffffffb3;text-align:left}.health-pace-option strong{color:var(--ink);font-size:13px}.health-pace-option span{font-size:11px;line-height:1.4}.health-pace-option.active{border-color:#22563a61;background:#ecf7eff0;box-shadow:inset 0 0 0 1px #22563a1a}.health-pace-option.active strong{color:var(--accent-strong)}.guide-hero{display:grid;gap:10px;padding:13px;overflow:hidden;border:1px solid rgb(34 86 58 / .13);border-radius:22px;background:linear-gradient(180deg,#ffffffeb,#ffffffbd),linear-gradient(135deg,rgb(47 111 78 / .1),transparent 64%);box-shadow:0 18px 50px #25413017}.guide-hero-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.guide-hero-main{min-width:0}.guide-hero h2{margin:2px 0 0;font-size:clamp(23px,5.8vw,30px);line-height:1.05;font-weight:900;text-wrap:balance}.guide-hero-summary{display:-webkit-box;overflow:hidden;max-width:58ch;margin:0;color:var(--muted);font-size:13px;line-height:1.48;text-wrap:pretty;-webkit-box-orient:vertical;-webkit-line-clamp:1}.guide-hero-meta{display:grid;grid-template-columns:minmax(120px,1.25fr) repeat(3,minmax(66px,.75fr));gap:6px;width:100%}.guide-mode-card{display:grid;gap:4px;min-width:68px;padding:7px 9px;border:1px solid rgb(156 107 34 / .16);border-radius:13px;background:var(--wood-soft);text-align:right}.guide-mode-card span{color:var(--muted);font-size:11px;font-weight:760}.guide-mode-card strong{color:var(--wood);font-size:15px;font-weight:900}.active-route-strip{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid rgb(156 107 34 / .16);border-radius:16px;color:var(--wood);background:#fff8ecdb}.active-route-strip div{display:grid;gap:2px;min-width:0}.active-route-strip strong,.active-route-strip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-route-strip strong{color:var(--ink);font-size:14px}.active-route-strip span{color:var(--muted);font-size:12px}.active-route-strip button{min-height:32px;padding:0 10px;border:0;border-radius:999px;color:var(--wood);background:#9c6b221f;font-size:12px;font-weight:820}.active-route-steps{grid-column:1 / -1;display:grid;grid-auto-columns:minmax(116px,1fr);grid-auto-flow:column;gap:8px;overflow-x:auto;margin:-2px 0 0;padding:0 2px 4px;list-style:none;scrollbar-width:none}.active-route-steps::-webkit-scrollbar{display:none}.active-route-steps li{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;border:1px solid rgb(34 86 58 / .12);border-radius:999px;background:#ffffffb3}.active-route-steps li span{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:999px;color:#fff;background:var(--accent-strong);font-size:11px;font-weight:900}.active-route-steps li strong{overflow:hidden;color:var(--ink);font-size:12px;font-weight:820;text-overflow:ellipsis;white-space:nowrap}.locate-pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 12px;border-radius:999px;color:#fff;background:var(--accent-strong);box-shadow:0 12px 30px #22563a33;font-size:13px;font-weight:820}.map-shell{position:relative;padding:6px;border:1px solid rgb(47 111 78 / .12);border-radius:28px;background:#ffffffb8;box-shadow:var(--soft-shadow)}.guide-map{padding:7px;overflow:hidden;border-color:#22563a29;border-radius:30px;background:linear-gradient(180deg,#ffffffdb,#f4f8f2bd),linear-gradient(135deg,rgb(47 111 78 / .08),transparent 58%);box-shadow:0 30px 80px #25413029}.guide-map:after{content:"";position:absolute;inset:7px;z-index:410;border-radius:24px;box-shadow:inset 0 1px #ffffffc7,inset 0 -42px 70px #17221b29;pointer-events:none}.map-view{--map-popup-max-width: 260px;--map-popup-min-width: 188px;--map-popup-max-height: 180px;--map-popup-font-size: 12.4px;--map-ui-scale: 1;width:100%;height:clamp(300px,45dvh,480px);min-height:300px;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,rgb(47 111 78 / .12),transparent 55%),linear-gradient(45deg,rgb(255 255 255 / .34) 25%,transparent 25% 75%,rgb(255 255 255 / .34) 75%),#dfe8dc;background-size:auto,28px 28px,auto;touch-action:pan-x pan-y}.map-screen{position:fixed;top:0;bottom:0;left:max(0px,calc((100vw - 520px)/2));z-index:0;display:block;width:min(100%,520px);height:100dvh;padding:0;overflow:hidden}.map-screen .guide-dashboard,.map-screen .guide-map,.map-screen .map-view{width:100%;height:100%;min-height:0}.map-screen .guide-dashboard{position:relative;display:block}.map-screen .guide-map{position:absolute;inset:0;padding:0;border:0;border-radius:0;background:#dfe8dc;box-shadow:none}.map-screen .guide-map:after{inset:0;border-radius:0;box-shadow:inset 0 -42px 70px #17221b29}.map-screen .map-view{border-radius:0}.app-shell .map-screen .path-planner{position:absolute;top:max(12px,env(safe-area-inset-top));right:12px;left:12px;z-index:600;width:calc(100% - 24px);max-width:500px;margin:0 auto}.map-guide-action{position:absolute;right:12px;bottom:calc(var(--bottom-clearance) + 58px);z-index:600;display:grid;width:60px;height:60px;place-items:center;padding:0;border:3px solid rgb(255 255 255 / .92);box-sizing:border-box;border-radius:50%;color:#fff;background:#22563a;box-shadow:0 12px 30px #17221b4d}.map-guide-action:hover,.map-guide-action:focus-visible{outline:3px solid rgb(115 190 139 / .4);outline-offset:3px;background:#18452d}.map-guide-action:active{transform:scale(.94)}.map-guide-action.active{background:#a53b32}.map-guide-stars{position:relative;display:block;width:38px;height:38px}.map-guide-stars svg{position:absolute}.map-guide-star-main{top:8px;left:3px}.map-guide-star-top{top:2px;right:1px}.map-guide-star-bottom{right:2px;bottom:3px}.map-guide-action.loading .map-guide-stars{animation:map-guide-spin 1s linear infinite}.map-help-action{position:absolute;right:12px;bottom:calc(var(--bottom-clearance) - 8px);z-index:600;width:60px;height:60px;flex-basis:60px;display:grid;place-items:center;padding:0;border:.5px solid rgb(255 255 255 / .92);box-sizing:border-box;border-radius:50%;color:var(--accent-strong);background:#fff;box-shadow:0 12px 30px #17221b4d;line-height:0;overflow:visible}.map-help-action svg{display:block;width:55px;height:55px;margin:0;flex:none;transform:scale(1.2582);transform-origin:center}.map-help-action:hover,.map-help-action:focus-visible{outline:3px solid rgb(115 190 139 / .4);outline-offset:3px;background:#fff;box-shadow:0 12px 30px #17221b4d}@keyframes map-guide-spin{to{transform:rotate(360deg)}}.map-screen .map-legend{top:calc(max(12px,env(safe-area-inset-top)) + 62px);right:88px;left:88px}.map-screen .leaflet-top{top:calc(max(12px,env(safe-area-inset-top)) + 66px)}.map-screen .leaflet-right{right:12px}.map-screen .leaflet-top.leaflet-right .leaflet-control{margin-top:0;margin-right:0}.map-screen .map-status{bottom:calc(var(--bottom-clearance) + 8px)}.map-screen .map-navigation-card,.map-screen .map-hiking-card,.map-screen .map-hiking-complete{bottom:calc(var(--bottom-clearance) + 58px)}.map-screen .map-hiking-card,.map-screen .map-hiking-complete{top:calc(max(12px,env(safe-area-inset-top)) + 66px);right:62px;bottom:auto;left:12px}.map-legend{position:absolute;z-index:420;top:18px;left:18px;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;max-width:calc(100% - 36px);padding:8px 10px;border:1px solid rgb(255 255 255 / .34);border-radius:14px;color:#f4f6f5;background:#17221bbd;-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15);font-size:11px;font-weight:760;line-height:1;box-shadow:0 12px 28px #17221b2e;pointer-events:none}.map-legend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.map-legend-swatch{display:inline-block;width:22px;height:3px;border-radius:999px;box-shadow:0 0 0 1px #ffffff29}.map-legend-swatch.open{background:#d9d9d9}.map-legend-swatch.other{background:#4a4a4a}.map-status{position:absolute;z-index:420;left:18px;right:18px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgb(255 255 255 / .42);border-radius:20px;color:#edf8ef;background:#17221bbd;-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);font-size:12px;font-weight:760;box-shadow:0 14px 34px #17221b38;pointer-events:none}.map-status strong{flex:0 1 52%;min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.map-status span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spot-panel,.assistant-card,.route-card,.answer-panel,.source-panel,.chat-dialog,.history-card{border:1px solid var(--line);border-radius:28px;background:#ffffffd1;box-shadow:var(--soft-shadow)}.spot-panel,.assistant-card,.route-card,.answer-panel,.source-panel{padding:20px}.guide-control-panel{display:grid;gap:11px;padding:18px}.guide-panel-top,.list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.guide-panel-top h3,.list-heading h3{margin:2px 0 0;font-size:22px;line-height:1.1}.list-heading{padding:2px 2px 0}.list-heading small{flex:0 0 auto;padding-top:4px;color:var(--muted);font-weight:760}.guide-actions{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(84px,.34fr);gap:8px}.guide-actions .primary-btn,.guide-actions .ghost-btn{min-width:0}.guide-actions .ghost-btn{padding-inline:12px}.map-navigation-card{position:absolute;right:18px;bottom:82px;left:18px;z-index:425;display:grid;gap:6px;padding:13px 14px;border:1px solid rgb(255 255 255 / .5);border-radius:18px;color:#fff;background:#22563ae6;box-shadow:0 14px 34px #17221b3d;-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}.map-navigation-head,.map-navigation-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.map-navigation-head span{display:inline-flex;align-items:center;gap:6px;color:#d9f0df;font-size:11px;font-weight:820}.map-navigation-head button{min-height:30px;padding:5px 9px;border:1px solid rgb(255 255 255 / .34);border-radius:10px;color:#fff;background:#ffffff1a;font-size:10px;font-weight:780}.map-navigation-card>strong{color:#fff;font-size:17px;font-weight:880}.map-navigation-meta{color:#e7f7eb;font-size:11px;font-weight:760;font-variant-numeric:tabular-nums}.map-navigation-card small{color:#e7f7ebb8;font-size:10px;line-height:1.4}.map-hiking-card,.map-hiking-complete{position:absolute;right:18px;bottom:82px;left:18px;z-index:426;display:grid;gap:7px;padding:14px 15px;border:1px solid rgb(255 255 255 / .52);border-radius:19px;color:#fff;background:#394e3ef0;box-shadow:0 16px 36px #17221b40;-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}.map-hiking-card.paused{background:#654e2bf0}.map-hiking-card>strong,.map-hiking-complete>strong{color:#fff;font-size:17px;font-weight:880}.map-hiking-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.map-hiking-stats>span{display:grid;gap:2px;min-width:0;padding:7px 8px;border-radius:11px;background:#ffffff1a}.map-hiking-stats b{overflow:hidden;color:#fff;font-size:14px;font-weight:880;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.map-hiking-stats small,.map-hiking-card>small,.map-hiking-complete>small{color:#f0faf2b8;font-size:10px;line-height:1.4}.map-hiking-progress{display:block;height:7px;overflow:hidden;border-radius:999px;background:#ffffff2e}.map-hiking-progress>span{display:block;height:100%;min-width:4px;border-radius:inherit;background:linear-gradient(90deg,#f4cf72,#e9953e);transition:width .5s var(--motion)}.map-hiking-toggle{justify-self:start;min-height:30px;padding:5px 10px;border:1px solid rgb(255 255 255 / .34);border-radius:10px;color:#fff;background:#ffffff1a;font-size:10px;font-weight:800}.map-hiking-complete{padding-right:50px;border-color:#ffe2879e;background:linear-gradient(135deg,#395c44f5,#7e5b26f2)}.map-hiking-complete .micro-label{color:#ffe9a6}.map-hiking-complete-close{position:absolute;top:10px;right:10px;display:grid;width:34px;height:34px;padding:0;place-items:center;border:1px solid rgb(255 255 255 / .34);border-radius:50%;color:#fff;background:#ffffff1f}.map-hiking-complete-close:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.health-start-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border:1px solid rgb(34 86 58 / .22);border-radius:20px;background:linear-gradient(135deg,#2f6f4e21,#ffffffd6);box-shadow:0 12px 30px #25413014}.health-start-panel>div{display:grid;gap:4px;min-width:0}.health-start-panel strong{color:var(--ink);font-size:16px;font-weight:880}.health-start-panel p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.health-start-action{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;min-height:42px;padding:9px 13px;border:0;border-radius:13px;color:#fff;background:var(--accent-strong);box-shadow:0 8px 18px #22563a33;font-size:12px;font-weight:850}.health-start-action:disabled{opacity:.8}.guide-navigation-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px;border:1px solid rgb(34 86 58 / .2);border-radius:16px;color:var(--accent-strong);background:#ecf7efe6}.guide-navigation-strip>div{display:grid;gap:2px;min-width:0}.guide-navigation-strip .micro-label{margin:0;font-size:9px}.guide-navigation-strip strong{color:var(--ink);font-size:15px;font-weight:860}.guide-navigation-strip small{color:var(--muted);font-size:11px}.guide-navigation-strip button{min-height:36px;padding:7px 10px;border:1px solid rgb(34 86 58 / .18);border-radius:10px;color:var(--accent-strong);background:#fff;font-size:11px;font-weight:820;white-space:nowrap}.spot-preview-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;padding:0 10px max(10px,env(safe-area-inset-bottom));background:#0d1b136b;animation:tutorial-fade-in .22s ease-out both}.spot-preview-sheet{position:relative;width:min(100%,520px);max-height:min(86dvh,680px);overflow:auto;padding:12px 18px 18px;border:1px solid rgb(255 255 255 / .78);border-radius:28px 28px 20px 20px;background:#fffffffa;box-shadow:0 -16px 54px #17221b33;animation:sheet-rise .38s var(--motion) both}@keyframes sheet-rise{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.spot-preview-grabber{width:44px;height:5px;margin:0 auto 10px;border-radius:999px;background:#17221b29}.spot-preview-close{position:absolute;top:13px;right:15px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:999px;color:var(--muted);background:#17221b12}.spot-preview-cover{display:grid;place-items:center;align-content:center;gap:5px;min-height:142px;margin:0 -18px 14px;color:#e8f6eb;background:radial-gradient(circle at 30% 24%,rgb(255 255 255 / .22),transparent 30%),linear-gradient(135deg,#2f7652,#173f2b)}.spot-preview-cover.approximate{background:linear-gradient(135deg,#a06a2e,#65431e)}.spot-preview-cover.missing{background:radial-gradient(circle at 30% 24%,rgb(255 255 255 / .18),transparent 30%),linear-gradient(135deg,#71857a,#45584d)}.spot-preview-cover img{display:block;width:100%;height:142px;object-fit:cover}.spot-preview-cover span{font-size:11px;font-weight:760;opacity:.9}.spot-preview-cover small{margin-top:5px;color:#e8f6ebdb;font-size:10px;font-weight:700}.spot-preview-photo-strip{display:flex;gap:7px;margin:-5px 0 12px;overflow-x:auto;scrollbar-width:thin}.spot-preview-photo-strip img{flex:0 0 74px;width:74px;height:50px;object-fit:cover;border:1px solid rgb(47 111 78 / .14);border-radius:9px}.spot-preview-kicker{display:inline-flex;align-items:center;gap:5px;color:var(--accent-strong);font-size:11px;font-weight:820}.spot-preview-sheet h2{margin:5px 0 8px;color:var(--ink);font-size:27px;font-weight:900}.spot-preview-tags{display:flex;flex-wrap:wrap;gap:6px}.spot-preview-tags span{padding:5px 8px;border-radius:999px;color:var(--accent-strong);background:#2f6f4e17;font-size:10px;font-weight:760}.spot-preview-intro{margin:13px 0 12px;color:var(--muted);font-size:13px;line-height:1.65}.spot-preview-meta{display:flex;flex-wrap:wrap;gap:8px 16px;padding:10px 0;border-top:1px solid rgb(23 34 27 / .08);border-bottom:1px solid rgb(23 34 27 / .08)}.spot-preview-meta span{display:inline-flex;align-items:center;gap:5px;color:var(--ink);font-size:12px;font-weight:760}.spot-preview-actions{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8px;margin-top:14px}.spot-preview-actions button{min-height:50px}.spot-preview-note{display:block;margin-top:10px;color:var(--muted);font-size:10px;line-height:1.45}.guide-timer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 11px;border:1px solid rgb(34 86 58 / .12);border-radius:16px;background:#ffffffc2}.guide-timer.is-running{border-color:#22563a3d;background:#eff7f1f0}.guide-timer.is-completed{border-color:#8d692138;background:#fcf8eaf0}.guide-timer-copy{display:grid;gap:2px;min-width:0}.guide-timer-copy strong{overflow:hidden;color:var(--ink);font-size:13px;font-weight:860;text-overflow:ellipsis;white-space:nowrap}.guide-timer-value{color:var(--accent-strong);font-size:18px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.guide-timer-start,.guide-timer-running{grid-column:auto}.guide-timer-start{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:6px 10px;border:0;border-radius:11px;color:#fff;background:var(--accent-strong);font-size:12px;font-weight:820}.guide-timer-running{display:inline-flex;align-items:center;gap:7px;color:var(--accent-strong);font-size:11px;font-weight:820}.guide-voice-player{display:grid;gap:6px;padding:8px 10px;border:1px solid rgb(34 86 58 / .11);border-radius:16px;background:linear-gradient(180deg,#f8fbf7f5,#ffffffb8),#ffffffb8;box-shadow:inset 0 1px #ffffffc7}.guide-voice-player.active{border-color:#22563a38;background:linear-gradient(135deg,rgb(47 111 78 / .1),transparent 62%),#ffffffe6}.guide-voice-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.guide-voice-head .micro-label{margin-bottom:2px}.guide-voice-head strong{display:block;color:var(--ink);font-size:13px;font-weight:860}.guide-voice-head small{flex:0 0 auto;color:var(--accent-strong);font-size:12px;font-weight:840;font-variant-numeric:tabular-nums}.voice-progress-range{width:100%;height:18px;min-height:18px;padding:0;border:0;margin:0;border-radius:999px;accent-color:var(--accent-strong);background:transparent;box-shadow:none;cursor:pointer;appearance:none}.voice-progress-range:disabled{opacity:.46}.voice-progress-range::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:#22563a24}.voice-progress-range::-webkit-slider-thumb{width:18px;height:18px;margin-top:-6px;border:3px solid #ffffff;border-radius:999px;background:var(--accent-strong);box-shadow:0 6px 14px #22563a38;appearance:none}.voice-progress-range::-moz-range-track{height:6px;border-radius:999px;background:#22563a24}.voice-progress-range::-moz-range-thumb{width:18px;height:18px;border:3px solid #ffffff;border-radius:999px;background:var(--accent-strong);box-shadow:0 6px 14px #22563a38}.voice-controls{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:7px}.voice-control-note{display:flex;align-items:center;min-width:0;padding-inline:4px;color:var(--muted);font-size:11px;line-height:1.4}.voice-primary-btn,.voice-stop-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;border:0;border-radius:999px;font-weight:840;transition:all .36s var(--motion)}.voice-primary-btn{color:#fff;background:var(--accent-strong);box-shadow:0 12px 28px #22563a33}.voice-stop-btn{border:1px solid rgb(34 86 58 / .12);color:var(--accent-strong);background:#ffffffd1}.voice-primary-btn:hover,.voice-stop-btn:hover{transform:translateY(-1px)}.voice-primary-btn:active,.voice-stop-btn:active{transform:scale(.97) translateY(1px)}.voice-primary-btn:disabled,.voice-stop-btn:disabled{color:var(--muted);background:#ffffff85;box-shadow:none;transform:none}.voice-error{margin:-2px 0 0;color:#8a4a42;font-size:12px;line-height:1.45}.guide-tool-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.guide-tool-grid button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;align-items:center;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:17px;color:var(--accent-strong);background:#f7faf6c7;box-shadow:inset 0 1px #ffffffb8;text-align:left;transition:all .38s var(--motion)}.guide-tool-grid button:hover{border-color:#2f6f4e3d;background:#ffffffeb;transform:translateY(-1px)}.guide-tool-grid strong,.guide-tool-grid span{min-width:0}.guide-tool-grid strong{color:var(--ink);font-size:14px;font-weight:860}.guide-tool-grid span{display:none;grid-column:2;color:var(--muted);font-size:12px;line-height:1.35}.compact-tags{display:contents;margin-top:0}.compact-tags span:nth-child(n+4){display:none}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.spot-panel h2,.assistant-card h2{font-size:26px;line-height:1.08;font-weight:860}.spot-panel p,.assistant-card p,.route-card p,.history-card p,.source-item p{margin:10px 0 0;color:var(--muted);line-height:1.72}.distance-pill,.time-pill{flex:0 0 auto;padding:7px 10px;border-radius:999px;color:var(--accent-strong);background:#2f6f4e1a;font-size:12px;font-weight:760}.guide-hero-meta .distance-pill{width:100%}.distance-pill.inside{color:#fff;background:var(--accent-strong)}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tag-row span{min-width:0;padding:7px 10px;border-radius:999px;color:var(--accent-strong);background:#2f6f4e17;overflow:hidden;font-size:12px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.guide-hero-meta .tag-row.compact-tags{display:contents}.guide-hero-meta .tag-row span{display:inline-flex;align-items:center;justify-content:center;width:100%}.guide-hero-meta .compact-tags span:nth-child(n+4){display:none}.button-row{display:grid;grid-template-columns:1fr .72fr;gap:10px;margin-top:18px}.primary-btn,.ghost-btn,.secondary-wide{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 16px;border-radius:999px;font-weight:800}.primary-btn{color:#fff;background:var(--accent-strong);box-shadow:0 18px 42px #22563a3d;transition:all .42s var(--motion)}.primary-btn:hover{transform:translateY(-2px);background:#173f2a;box-shadow:0 22px 52px #22563a52}.primary-btn:active{transform:scale(.97) translateY(1px)}.ghost-btn{border:1px solid var(--line);color:var(--accent-strong);background:#fff;transition:all .42s var(--motion)}.ghost-btn:hover{border-color:#2f6f4e52;background:#2f6f4e0a;transform:translateY(-1px)}.ghost-btn:active{transform:scale(.97) translateY(1px)}.compact-btn{min-height:42px;padding:10px 14px;white-space:nowrap}.secondary-wide{width:100%;border:1px solid rgb(47 111 78 / .22);color:var(--accent-strong);background:linear-gradient(135deg,rgb(47 111 78 / .12),transparent 52%),#fff;transition:all .42s var(--motion)}.secondary-wide:hover{border-color:#2f6f4e52;background:linear-gradient(135deg,rgb(47 111 78 / .16),transparent 52%),#fff;transform:translateY(-1px);box-shadow:0 8px 20px #2541301f}.secondary-wide:active{transform:scale(.98) translateY(1px)}.wide{width:100%}.guide-box{display:grid;gap:10px;margin-top:0;padding:15px 16px;border-radius:22px;background:linear-gradient(135deg,rgb(47 111 78 / .08),transparent 58%),#ffffffc7}.guide-story{border:1px solid rgb(47 111 78 / .12);box-shadow:0 16px 38px #25413012}.guide-story .formatted-answer.compact{max-height:118px;overflow-y:auto;padding-right:3px;scrollbar-width:thin}.guide-box span{color:var(--accent-strong);font-size:12px;font-weight:840}.guide-box p{margin:0;color:#2f3d34;line-height:1.66}.formatted-answer,.chat-message-body{display:grid;gap:10px;color:#344238;line-height:1.72;overflow-wrap:anywhere;word-break:break-word}.formatted-answer{margin-top:12px}.formatted-answer.compact{margin-top:0;gap:8px}.formatted-answer h4,.chat-message-body h4{margin:6px 0 -2px;padding-left:9px;border-left:3px solid rgb(47 111 78 / .36);color:var(--accent-strong);font-size:13px;line-height:1.32;font-weight:860}.formatted-answer p,.chat-message-body p{margin:0;color:var(--muted)}.formatted-answer ol,.formatted-answer ul,.chat-message-body ol,.chat-message-body ul{display:grid;gap:7px;margin:0;padding-left:1.25em;color:var(--muted)}.formatted-answer li,.chat-message-body li{padding-left:2px}.spot-list,.persona-grid,.history-list{display:grid;gap:10px}.spot-list{padding:14px;border:1px solid var(--line);border-radius:22px;background:#ffffffad}.chat-head-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.chat-head-card>div{display:flex;align-items:center;align-self:stretch;flex:1;min-width:0}.chat-head-card h2{display:flex;align-items:center;gap:10px;color:var(--text);font-size:clamp(24px,6.4vw,28px);line-height:1;letter-spacing:.02em;text-align:left;text-wrap:balance}.chat-head-card h2:before{width:4px;height:24px;flex:0 0 auto;border-radius:999px;background:linear-gradient(180deg,var(--accent),var(--accent-strong));box-shadow:0 3px 10px #2f6f4e33;content:""}.conversation-strip{display:grid;grid-auto-columns:minmax(190px,68%);grid-auto-flow:column;gap:10px;overflow-x:auto;padding:1px 1px 8px;scrollbar-width:none}.conversation-strip::-webkit-scrollbar{display:none}.conversation-history-panel{display:grid;gap:10px;margin-top:-2px;padding:4px 2px 0}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;border:1px solid var(--line);border-radius:20px;background:#ffffff9e}.segmented-control button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:0;border-radius:15px;color:var(--muted);background:transparent;font-size:13px;font-weight:820;transition:all .42s var(--motion)}.segmented-control button:active{transform:scale(.96)}.segmented-control button.active{color:#fff;background:var(--accent-strong);box-shadow:0 10px 26px #22563a33;transform:scale(1.01)}.quick-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-prompts-panel{display:grid;gap:8px;padding:14px;border:1px solid rgb(47 111 78 / .13);border-radius:22px;background:linear-gradient(135deg,rgb(47 111 78 / .08),transparent 60%),#ffffffb3}.quick-prompts-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--accent-strong)}.quick-prompts-heading .micro-label{margin-bottom:3px}.quick-prompts-heading h3{margin:0;color:var(--ink);font-size:18px;line-height:1.15;font-weight:880}.quick-prompts-subtitle{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.quick-prompts button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;color:var(--accent-strong);background:#ffffffad;font-size:13px;font-weight:760;text-align:left;transition:all .38s var(--motion);position:relative}.quick-prompts button:before{content:"";position:absolute;inset:-3px;border-radius:18px}.quick-prompts button:hover{border-color:#2f6f4e47;background:#ffffffe0;transform:translateY(-2px);box-shadow:0 8px 20px #2541301a}.quick-prompts button:active{transform:scale(.97)}.inline-panel{display:grid;gap:13px;padding:16px;border:1px solid var(--line);border-radius:22px;background:#ffffffb8;box-shadow:0 16px 42px #25413014}.inline-panel .panel-heading h3{margin:0;font-size:20px;line-height:1.15}.inline-panel .panel-heading p{margin:7px 0 0;color:var(--muted);line-height:1.55}.compact-answer{padding:16px;border-radius:18px;box-shadow:none}.history-panel-head{display:flex;align-items:end;justify-content:space-between;gap:10px;padding-inline:4px}.history-panel-head .micro-label{margin-bottom:0}.history-panel-head strong{color:var(--muted);font-size:13px;font-weight:820}.conversation-chip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#ffffffbd}.conversation-history-panel .conversation-chip{border-radius:18px;background:#ffffff94;box-shadow:none}.conversation-chip.active{border-color:#2f6f4e52;background:#fff;box-shadow:0 14px 36px #2541301a}.conversation-chip button{min-width:0;color:var(--muted);background:transparent}.conversation-chip>button:first-child{display:grid;gap:4px;padding:11px 10px 11px 13px;text-align:left}.conversation-chip strong,.conversation-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-chip strong{color:var(--ink);font-size:14px}.conversation-chip span{font-size:11px}.delete-mini{display:grid;width:42px;place-items:center;color:#8a4a42;border-left:1px solid var(--line)}.chat-dialog{display:grid;gap:12px;min-height:220px;max-height:min(50dvh,420px);overflow-y:auto;padding:16px;scroll-margin-top:18px}.conversation-dialog{align-content:start}.empty-chat{display:grid;place-items:center;align-content:center;min-height:188px;padding:18px;color:var(--muted);text-align:center}.empty-chat strong{margin-top:8px;color:var(--ink);font-size:18px}.empty-chat p{max-width:29ch;margin:7px 0 0;line-height:1.62}.chat-bubble{display:grid;gap:7px;max-width:92%}.chat-bubble span{font-size:12px;font-weight:800;color:var(--muted)}.chat-message-body{margin:0;padding:13px 15px;border-radius:20px}.chat-bubble.user,.chat-bubble.user span{justify-self:end}.chat-bubble.user .chat-message-body{color:#fff;background:var(--accent-strong);border-bottom-right-radius:8px}.chat-bubble.user .chat-message-body p,.chat-bubble.user .chat-message-body h4,.chat-bubble.user .chat-message-body ol,.chat-bubble.user .chat-message-body ul{color:#fff}.chat-bubble.user .chat-message-body h4{border-left-color:#ffffff7a}.chat-bubble.assistant{justify-self:start}.chat-bubble.assistant .chat-message-body{color:#2f3d34;background:linear-gradient(135deg,rgb(47 111 78 / .12),transparent 58%),#f7faf6;border:1px solid rgb(47 111 78 / .12);border-bottom-left-radius:8px}.trusted-link-list{display:grid;gap:7px;margin-top:2px}.trusted-link{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:36px;padding:8px 10px;border:1px solid rgb(34 86 58 / .16);border-radius:14px;color:var(--accent-strong);background:#ffffffc2;font-size:13px;font-weight:820;line-height:1.25;text-decoration:none;transition:transform .32s var(--motion),border-color .32s var(--motion),background .32s var(--motion)}.trusted-link:hover{border-color:#22563a47;background:#fff;transform:translateY(-1px)}.trusted-link:active{transform:scale(.98) translateY(1px)}.trusted-link-label{min-width:0;overflow:hidden;color:inherit;font-size:inherit;font-weight:inherit;text-overflow:ellipsis;white-space:nowrap}.chat-bubble.loading .chat-message-body,.chat-bubble.loading .chat-message-body p{color:var(--muted)}.chat-bubble.error .chat-message-body,.chat-bubble.error .chat-message-body p{color:#7a2f25;background:#fff6f5;border-color:#9a2f2f2e}.chat-compose{position:sticky;bottom:var(--bottom-clearance);z-index:12;padding:10px;border:1px solid rgb(255 255 255 / .62);border-radius:28px;background:#f4f7f2db;box-shadow:0 18px 48px #25413024;-webkit-backdrop-filter:blur(22px) saturate(1.3);backdrop-filter:blur(22px) saturate(1.3)}.chat-compose textarea{min-height:88px}.source-panel.compact{padding:0;overflow:hidden}.source-panel.compact summary{cursor:pointer;padding:16px 18px;color:var(--accent-strong);font-weight:820}.source-panel.compact .source-item{margin:0 18px}.source-panel.compact .source-item:last-child{padding-bottom:18px}.section-subtitle{margin:8px 0 0;color:var(--muted);font-size:13px}.spot-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:18px;color:var(--muted);background:#ffffff8f;text-align:left;transition:all .38s var(--motion);position:relative}.spot-row:before{content:"";position:absolute;inset:-3px;border-radius:18px}.spot-row:hover{border-color:#2f6f4e3d;background:#ffffffc7;transform:translateY(-2px);box-shadow:0 8px 20px #25413014}.spot-row:active{transform:scale(.98)}.spot-row span{color:var(--ink);font-weight:780}.spot-row small{justify-self:end;max-width:120px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.spot-row.active{border-color:#2f6f4e52;background:linear-gradient(135deg,rgb(47 111 78 / .1),transparent 62%),#fff;box-shadow:0 12px 30px #2541301a;transform:scale(1.01)}.spot-row.active:hover{box-shadow:0 14px 34px #2541301f;transform:scale(1.01) translateY(-2px)}.ask-form,.settings-form,.advanced-settings-form{display:grid;gap:12px}textarea,input,select{width:100%;border:1px solid var(--line);border-radius:22px;outline:none;color:var(--ink);background:#ffffffdb;box-shadow:inset 0 1px #ffffffd9;transition:all .38s var(--motion)}textarea{resize:vertical;min-height:112px;padding:16px;line-height:1.62;font-size:15px}input{min-height:52px;padding:0 16px;font-size:15px}textarea:focus,input:focus,select:focus{border-color:#2f6f4e85;box-shadow:0 0 0 5px #2f6f4e1f;background:#fffffff5}select{min-height:52px;padding:0 40px 0 14px;appearance:auto;font-size:15px}.source-panel h3,.answer-panel h3,.history-card h3,.route-card h3{margin:0;font-size:18px}.source-item{padding-top:14px}.source-item+.source-item{margin-top:14px;border-top:1px solid var(--line)}.history-card{padding:16px}.history-card span{color:var(--muted);font-size:12px}.history-card h3{margin-top:8px}.persona-grid{grid-template-columns:1fr 1fr}.compact-persona-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.persona-card{display:grid;gap:8px;min-height:168px;padding:18px;border:1px solid var(--line);border-radius:26px;color:var(--muted);background:#ffffffbd;text-align:left;cursor:pointer;transition:all .42s var(--motion);position:relative}.persona-card:before{content:"";position:absolute;inset:-4px;border-radius:26px}.persona-card:hover{border-color:#2f6f4e3d;background:#ffffffe0;transform:translateY(-3px);box-shadow:0 12px 32px #2541301f}.persona-card:active{transform:scale(.97)}.persona-card strong{color:var(--ink);font-size:17px}.persona-card span{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.55;-webkit-line-clamp:4;-webkit-box-orient:vertical}.persona-card.active{border-color:transparent;color:#dceee2;background:var(--accent-strong);box-shadow:0 16px 40px #22563a47;transform:scale(1.02)}.persona-card.active:hover{box-shadow:0 18px 44px #22563a52;transform:scale(1.02) translateY(-3px)}.persona-card.active strong{color:#fff}.compact-persona-card{min-height:128px;border-radius:18px}.compact-persona-card span{-webkit-line-clamp:3}.persona-selection-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.persona-selection-head h3{margin:0;color:var(--ink);font-size:18px;line-height:1.15;font-weight:880}.persona-selection-count{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:760}.persona-scroller{display:grid;grid-auto-columns:minmax(150px,44%);grid-auto-flow:column;gap:8px;overflow-x:auto;padding:1px 1px 8px;scrollbar-width:none}.persona-scroller::-webkit-scrollbar{display:none}.persona-card-horizontal{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:82px;padding:11px;border-radius:18px}.persona-card-horizontal:before{border-radius:18px}.persona-card-horizontal>span{min-width:0}.persona-card-horizontal .persona-card-copy{display:grid;gap:4px;min-width:0}.persona-card-horizontal strong{overflow:hidden;font-size:14px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.persona-card-horizontal small{overflow:hidden;color:var(--muted);font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.persona-card-horizontal.active small{color:#dceee2c7}.persona-avatar{display:grid!important;width:48px;height:48px;flex:0 0 48px;place-items:center;border:2px solid rgb(255 255 255 / .82);border-radius:16px;color:#fff!important;background:#2f6f4e;box-shadow:0 7px 15px #2541302e}.persona-avatar.small{width:38px;height:38px;flex-basis:38px;border-radius:13px}.persona-theme-forest{background:linear-gradient(145deg,#4e9b6b,#22563a)}.persona-theme-karst{background:linear-gradient(145deg,#5b88a4,#31516b)}.persona-theme-temple{background:linear-gradient(145deg,#b7833b,#80501d)}.persona-theme-wind{background:linear-gradient(145deg,#4f9c9a,#236d6a)}.persona-theme-water{background:linear-gradient(145deg,#62a8c1,#28667d)}.persona-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:13px;border:1px solid rgb(34 86 58 / .15);border-radius:18px;background:linear-gradient(135deg,rgb(47 111 78 / .1),transparent 62%),#ffffffd1}.persona-profile-copy{display:grid;gap:4px;min-width:0}.persona-profile-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px}.persona-profile-title strong{color:var(--ink);font-size:16px;font-weight:880}.persona-profile-title span{color:var(--accent-strong);font-size:11px;font-weight:780}.persona-profile-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.persona-greeting{overflow:hidden;color:var(--wood);font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.persona-suggestions{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.persona-suggestions::-webkit-scrollbar{display:none}.persona-suggestions button{flex:0 0 auto;min-height:34px;padding:7px 10px;border:1px solid rgb(47 111 78 / .16);border-radius:999px;color:var(--accent-strong);background:#2f6f4e12;font-size:11px;font-weight:760;white-space:nowrap}.persona-suggestions button:hover{background:#2f6f4e21}.persona-answer-card{display:grid;gap:10px}.persona-answer-head{display:flex;align-items:center;gap:9px}.persona-answer-head>div{display:grid;gap:2px}.persona-answer-head strong{color:var(--ink);font-size:14px;font-weight:860}.persona-answer-head small{color:var(--muted);font-size:10px}.route-card.active{border-color:#9c6b2247;background:linear-gradient(135deg,rgb(156 107 34 / .1),transparent 58%),#ffffffe0}.route-steps{display:grid;gap:8px;margin:16px 0 0;padding:0;color:var(--ink);font-weight:740;list-style:none}.route-steps li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px}.route-steps li>span{display:grid;width:24px;height:24px;place-items:center;border-radius:999px;color:var(--wood);background:var(--wood-soft);font-size:12px;font-weight:900}.route-steps button{min-width:0;border:0;color:var(--ink);background:transparent;font-weight:780;text-align:left}.route-actions{display:grid;grid-template-columns:1fr .78fr;gap:9px;margin-top:16px}.photo-drop{display:grid;place-items:center;gap:8px;min-height:190px;padding:24px;border:1px dashed rgb(47 111 78 / .38);border-radius:30px;color:var(--muted);background:linear-gradient(135deg,rgb(47 111 78 / .1),transparent 54%),#ffffffc2;text-align:center}.photo-drop strong{color:var(--ink);font-size:20px}.photo-drop span{max-width:24ch;line-height:1.6}.photo-drop input{position:absolute;width:1px;height:1px;opacity:0}.compact-photo-drop{min-height:150px;border-radius:22px}.photo-entry-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-entry-card{display:grid;align-content:center;justify-items:center;gap:12px;min-width:0;min-height:158px;padding:18px 14px;border:1px solid rgb(47 111 78 / .16);border-radius:22px;text-align:center;transition:transform .42s var(--motion),border-color .42s var(--motion),box-shadow .42s var(--motion),background .42s var(--motion)}.photo-entry-card:hover{border-color:#2f6f4e4d;box-shadow:0 12px 28px #2541301a;transform:translateY(-2px)}.photo-entry-card:active{transform:scale(.98) translateY(1px)}.photo-entry-card:focus-visible{outline:3px solid rgb(47 111 78 / .22);outline-offset:3px}.photo-drop.photo-entry-card{min-height:158px;padding:18px 14px;border-style:solid;border-color:#2f6f4e29;background:linear-gradient(145deg,rgb(47 111 78 / .1),transparent 72%),#ffffffd6}.photo-capture-trigger{width:100%;min-height:158px;color:var(--ink);background:linear-gradient(145deg,rgb(156 107 34 / .14),transparent 72%),#ffffffd6}.photo-capture-trigger:hover{border-color:#9c6b224d;background:linear-gradient(145deg,rgb(156 107 34 / .18),transparent 72%),#ffffffeb}.photo-action-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:16px}.photo-action-icon-gallery{color:var(--accent-strong);background:#2f6f4e1f}.photo-action-icon-camera{color:var(--wood);background:#9c6b2221}.photo-action-copy{display:grid;gap:4px;min-width:0}.photo-entry-card .photo-action-copy strong{color:var(--ink);font-size:17px;line-height:1.25}.photo-entry-card .photo-action-copy small{display:block;max-width:17ch;color:var(--muted);font-size:12px;font-weight:650;line-height:1.45}.photo-capture-view{display:grid;gap:10px;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:22px;background:#18211c}.photo-capture-view video{display:block;width:100%;max-height:360px;aspect-ratio:4 / 3;object-fit:cover;border-radius:16px}.photo-capture-actions{display:grid;grid-template-columns:1fr .72fr;gap:10px}.photo-capture-error{margin:10px 2px 0;color:#a23a32;font-size:13px;line-height:1.5}.photo-preview{width:100%;max-height:360px;object-fit:cover;border-radius:28px;box-shadow:var(--soft-shadow)}.settings-form label,.advanced-settings-form label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:720}.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.model-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,.42fr);gap:8px}.model-field input,.model-field select{min-width:0}.settings-mode-panel{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:24px;background:#ffffffb8}.settings-mode-panel h3{margin:0;font-size:18px}.settings-mode-panel p{margin:6px 0 0;color:var(--muted);line-height:1.55}.profile-hiking-records{display:grid;gap:14px;padding:18px;overflow:hidden;border:1px solid rgb(47 111 78 / .14);border-radius:24px;background:radial-gradient(circle at 100% 0,rgb(115 190 139 / .16),transparent 42%),#ffffffd1;box-shadow:var(--soft-shadow)}.profile-hiking-records-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px}.profile-hiking-records-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(145deg,var(--accent),var(--accent-strong));box-shadow:0 9px 20px #2f6f4e38}.profile-hiking-records-head h2{margin:0;color:var(--ink);font-size:20px;line-height:1.15;font-weight:880}.profile-hiking-records-head>strong{padding:6px 10px;border-radius:999px;color:var(--accent-strong);background:#2f6f4e17;font-size:12px;white-space:nowrap}.profile-hiking-record-list{display:grid;gap:10px}.profile-hiking-record-card{display:grid;gap:13px;padding:14px;border:1px solid rgb(23 34 27 / .09);border-radius:18px;background:#ffffffc7}.profile-hiking-record-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-hiking-record-title>div{display:grid;gap:4px;min-width:0}.profile-hiking-record-title strong{overflow:hidden;color:var(--ink);font-size:15px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.profile-hiking-record-title span{color:var(--muted);font-size:11px}.profile-hiking-record-title .profile-hiking-record-status{flex:0 0 auto;padding:5px 8px;border-radius:999px;color:var(--accent-strong);background:#73be8b24;font-size:11px;font-weight:800}.profile-hiking-record-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.profile-hiking-record-card dl>div{display:grid;gap:4px;min-width:0;padding:9px 7px;border-radius:12px;text-align:center;background:#2f6f4e0e}.profile-hiking-record-card dt{color:var(--muted);font-size:10px}.profile-hiking-record-card dd{margin:0;overflow:hidden;color:var(--ink);font-size:12px;font-weight:820;text-overflow:ellipsis;white-space:nowrap}.profile-hiking-record-empty{display:grid;place-items:center;gap:6px;padding:22px 14px;border:1px dashed rgb(47 111 78 / .2);border-radius:18px;color:var(--accent-strong);text-align:center;background:#2f6f4e09}.profile-hiking-record-empty strong{color:var(--ink);font-size:14px}.profile-hiking-record-empty p{max-width:280px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.settings-mode-strip{grid-auto-columns:148px;margin-inline:-16px;padding:2px 16px 8px;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;-webkit-overflow-scrolling:touch}.settings-mode-strip .mode-chip{width:148px;scroll-snap-align:start}.basemap-settings-panel{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:24px;background:#ffffffb8}.basemap-settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.basemap-settings-heading h3{margin:4px 0 0;font-size:18px}.basemap-settings-heading p{margin:6px 0 0;color:var(--muted);line-height:1.55}.basemap-current-label{flex:0 0 auto;max-width:42%;padding:7px 10px;border:1px solid rgb(47 111 78 / .14);border-radius:999px;color:var(--accent-strong);background:#ecf7efd6;font-size:12px;font-weight:780;line-height:1.2;text-align:center}.basemap-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.basemap-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:#ffffffc7;text-align:left;cursor:pointer;transition:all .3s var(--motion)}.quick-prompts button>span:nth-child(2){min-width:0;line-height:1.45}.quick-prompt-icon{display:grid;width:25px;height:25px;place-items:center;border-radius:9px;background:#2f6f4e14;font-size:14px}.quick-prompts button>svg{color:#2f6f4e94}.basemap-option:hover{border-color:#2f6f4e47;background:#fffffff5;transform:translateY(-1px)}.basemap-option:active{transform:scale(.98)}.basemap-option:disabled{cursor:wait;opacity:.68;transform:none}.basemap-settings-panel.is-restarting .basemap-option.active{border-color:#2f6f4e6b;box-shadow:none}.basemap-option.active{border-color:#2f6f4e8a;background:#edf8f0eb;box-shadow:0 8px 20px #2541301a}.basemap-preview{position:relative;display:grid;width:54px;height:44px;place-items:center;overflow:hidden;border:1px solid rgb(37 65 48 / .14);border-radius:13px;color:#ffffffe6;isolation:isolate}.basemap-preview:before,.basemap-preview:after{position:absolute;content:"";z-index:-1;border-radius:999px;opacity:.62}.basemap-preview:before{width:70px;height:9px;background:#ffffff8f;transform:rotate(-25deg)}.basemap-preview:after{width:64px;height:6px;background:#20533a52;transform:rotate(35deg) translateY(5px)}.basemap-preview--satellite{background:#617668}.basemap-preview--standard,.basemap-preview--street{color:#42654e;background:#e7e3d8}.basemap-preview--terrain{background:#a8a47f}.basemap-option-copy{display:grid;min-width:0;gap:3px}.basemap-option-copy strong,.basemap-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.basemap-option-copy strong{font-size:14px;font-weight:800}.basemap-option-copy small{color:var(--muted);font-size:11px;line-height:1.35}.basemap-option-check{flex:0 0 auto;color:var(--accent-strong)}.advanced-settings-panel{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#ffffffb8}.advanced-settings-panel summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;padding:16px;color:var(--ink);font-weight:860}.advanced-settings-panel summary::marker{color:var(--accent-strong)}.advanced-settings-panel summary small{color:var(--muted);font-size:12px;font-weight:720;text-align:right}.advanced-settings-form{padding:0 16px 16px}.database-status-panel,.provider-feature-panel,.test-config-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px;border:1px solid rgba(47,111,78,.14);border-radius:20px;background:#f5fbf6b8;transition:all .38s var(--motion)}.database-status-panel h3,.provider-feature-panel h3,.test-config-panel h3{margin:4px 0 0;font-size:18px;line-height:1.3;font-weight:820}.database-status-panel p,.provider-feature-panel p,.test-config-panel p{margin:7px 0 0;color:var(--muted);line-height:1.62;font-size:13px}.test-config-panel{display:grid;gap:12px;border-color:#22563a38;background:linear-gradient(135deg,rgb(47 111 78 / .12),transparent 68%),#ffffffdb;box-shadow:0 8px 20px #25413014}.test-config-panel:hover{border-color:#22563a52;box-shadow:0 12px 28px #2541301f;transform:translateY(-1px)}.provider-section{display:grid;gap:12px;padding:18px;border:1px solid rgb(47 111 78 / .16);border-radius:20px;background:linear-gradient(135deg,rgb(47 111 78 / .08),transparent 62%),#ffffffc7}.provider-section h4{margin:0;font-size:17px;font-weight:820;color:var(--ink)}.provider-section p{margin:6px 0 0;color:var(--muted);line-height:1.58;font-size:13px}.status-pill{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--surface);font-size:12px;font-weight:800}.status-pill.indexeddb{border-color:#2f6f4e3d;color:var(--accent-strong);background:#ddefe2c7}.status-pill.json{border-color:#aa752c3d;color:#8a5b18;background:#fff0d4bd}.model-picker,.diagnostics-panel{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:24px;background:#ffffffb8}.model-picker h3,.diagnostics-panel h3{margin:0;font-size:18px}.model-picker p,.diagnostics-panel p{margin:6px 0 0;color:var(--muted);line-height:1.55}.model-list{display:grid;gap:8px;max-height:280px;overflow:auto;padding-right:2px}.model-list button,.diagnostic-row{display:grid;align-items:center;gap:8px;border:1px solid var(--line);border-radius:18px;background:#fff}.model-list button{grid-template-columns:1fr auto;padding:12px;color:var(--ink);text-align:left}.model-list button span{overflow:hidden;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.model-list button small{color:var(--muted);font-size:11px}.diagnostic-row{grid-template-columns:1fr auto;padding:13px}.diagnostic-row strong{color:var(--ink)}.diagnostic-row span{color:var(--muted);font-size:12px;font-weight:800}.diagnostic-row.operational{border-color:#2f6f4e38}.diagnostic-row.degraded{border-color:#b0772461;background:#fffaf0}.diagnostic-row.failed{border-color:#9a2f2f40;background:#fff6f5}.form-note{min-height:20px;margin:0;color:var(--accent-strong);text-align:center}.onboarding-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:end center;overflow-y:auto;padding:18px 16px max(18px,env(safe-area-inset-bottom));background:#121c166b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.onboarding-card{display:grid;gap:16px;width:min(100%,560px);padding:22px;border:1px solid rgb(255 255 255 / .52);border-radius:30px;background:#fffffff0;box-shadow:0 24px 80px #17221b42;animation:rise-in .52s var(--motion) both}.identity-onboarding-card{max-height:calc(100dvh - 36px);overflow-y:auto}.onboarding-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--accent-strong);font-size:13px;font-weight:800}.onboarding-kicker svg{flex:0 0 auto}.onboarding-heading{display:grid;gap:8px}.identity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.identity-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-content:start;min-width:0;min-height:148px;padding:14px;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:#fff;text-align:left;cursor:pointer;transition:all .26s var(--motion)}.identity-option:last-child{grid-column:1 / -1;min-height:116px}.identity-option:hover{border-color:#2f6f4e57;background:#f8fbf8;transform:translateY(-2px);box-shadow:0 12px 26px #2541301a}.identity-option:focus-visible{outline:3px solid rgb(47 111 78 / .26);outline-offset:2px}.identity-option.active{border-color:var(--accent-strong);color:#fff;background:var(--accent-strong);box-shadow:0 16px 34px #22563a38}.identity-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;color:var(--accent-strong);background:#2f6f4e1a}.identity-option.active .identity-icon{color:var(--accent-strong);background:#fff}.identity-copy{display:grid;min-width:0;gap:5px}.identity-copy strong{font-size:15px;line-height:1.25}.identity-copy small{color:var(--muted);font-size:12px;line-height:1.5}.identity-option.active .identity-copy small{color:#e7f3eadb}.identity-tags{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:6px}.identity-tags em{padding:4px 7px;border-radius:999px;color:var(--accent-strong);background:#2f6f4e14;font-size:10px;font-style:normal;font-weight:760;line-height:1.2}.identity-option.active .identity-tags em{color:#22563a;background:#e7f3ea}.onboarding-card h2{margin:0;font-size:26px;line-height:1.1}.onboarding-card p{margin:0;color:var(--muted);line-height:1.68}.onboarding-location-note{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:11px 12px;border-radius:14px;color:#405048;background:#2f6f4e14;font-size:12px;line-height:1.55}.onboarding-location-note svg{margin-top:1px;color:var(--accent-strong)}.onboarding-modes .mode-chip{min-height:64px}.bottom-nav{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));z-index:30;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;width:min(calc(100% - 24px),496px);padding:5px;border:1px solid rgb(255 255 255 / .68);border-radius:24px;background:#ffffffdb;box-shadow:0 18px 48px #25413033;-webkit-backdrop-filter:blur(28px) saturate(1.7);backdrop-filter:blur(28px) saturate(1.7);transform:translate(-50%);animation:slide-up .64s var(--motion) both}@keyframes slide-up{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.bottom-nav button{display:grid;place-items:center;gap:3px;min-width:0;min-height:52px;border-radius:18px;color:var(--muted);background:transparent;font-size:10px;font-weight:780;letter-spacing:-.01em;transition:all .42s var(--motion)}.bottom-nav button:active{transform:scale(.94)}.bottom-nav button.active{color:#fff;background:var(--accent-strong);transform:scale(1.02);box-shadow:0 6px 16px #22563a3d}.boot-panel{display:grid;place-items:center;align-content:center;min-height:calc(100dvh - 48px);padding:24px;text-align:center}.boot-panel h1{margin-top:20px;font-size:30px}.boot-panel p{color:var(--muted);line-height:1.7}.boot-panel.error{color:#7a1f1f}.pulse-mark{width:68px;height:68px;border-radius:24px;background:linear-gradient(135deg,#fff,#fff6),var(--accent);box-shadow:0 18px 48px #22563a47;animation:pulse 1.3s var(--motion) infinite alternate}.leaflet-popup-content-wrapper,.leaflet-popup-tip{border-radius:16px}.guide-map-popup .leaflet-popup-content-wrapper{overflow:hidden;border:1px solid rgb(34 86 58 / .16);background:#fffffff5;box-shadow:0 18px 44px #17221b38}.guide-map-popup .leaflet-popup-content{width:var(--map-popup-max-width)!important;min-width:var(--map-popup-min-width);max-width:min(var(--map-popup-max-width),calc(100vw - 72px));max-height:var(--map-popup-max-height);margin:0;padding:12px 14px 13px;overflow:auto;color:#26342b;font-size:var(--map-popup-font-size);line-height:1.55;scrollbar-width:thin;overscroll-behavior:contain}.guide-map-popup .leaflet-popup-content::-webkit-scrollbar{width:4px}.guide-map-popup .leaflet-popup-content::-webkit-scrollbar-thumb{border-radius:999px;background:#22563a3d}.guide-map-popup .leaflet-popup-close-button{top:6px!important;right:7px!important;width:26px!important;height:26px!important;border-radius:999px;color:var(--accent-strong)!important;font:18px/24px Arial,sans-serif!important;background:#2f6f4e14}.guide-map-popup .leaflet-popup-close-button:hover{background:#2f6f4e24}.map-popup-card{display:grid;gap:7px}.map-popup-cover{position:relative;display:grid;width:100%;height:118px;place-items:center;overflow:hidden;border-radius:13px;color:var(--muted);background:linear-gradient(145deg,#edf4ee,#dfe9e1);font-size:12px;font-weight:760}.map-popup-cover img{width:100%;height:100%;object-fit:cover}.map-popup-card .map-popup-cover small{position:absolute;right:7px;bottom:6px;max-width:calc(100% - 14px);padding:3px 7px;overflow:hidden;border-radius:999px;color:#fff;background:#121f16ad;text-overflow:ellipsis;white-space:nowrap}.map-popup-photo-strip{display:grid;grid-auto-columns:54px;grid-auto-flow:column;gap:6px;overflow-x:auto;scrollbar-width:none}.map-popup-photo-strip::-webkit-scrollbar{display:none}.map-popup-photo-strip img{width:54px;height:44px;border:1px solid rgb(47 111 78 / .12);border-radius:9px;object-fit:cover}.map-popup-kicker{color:var(--accent-strong);font-size:10px;font-weight:840;letter-spacing:.08em;text-transform:uppercase}.map-popup-title{display:block;color:var(--ink);font-size:16px;line-height:1.18;font-weight:900;overflow-wrap:anywhere}.map-popup-intro,.map-popup-note{margin:0;color:var(--muted);overflow-wrap:anywhere}.map-popup-note{padding:7px 8px;border-radius:12px;background:#9c6b221a;color:#6f4d1d;font-size:11px}.map-popup-tags{display:flex;flex-wrap:wrap;gap:5px}.map-popup-tags span{min-width:0;padding:4px 7px;border-radius:999px;color:var(--accent-strong);background:#2f6f4e17;font-size:10px;font-weight:760}.map-popup-card small{color:#647067;font-size:10px;line-height:1.45}.map-popup-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.map-popup-meta span{padding:7px 6px;border-radius:10px;color:var(--accent-strong);background:#2f6f4e12;font-size:10px;font-weight:790;text-align:center}.map-popup-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.map-popup-actions button{min-height:36px;padding:7px 8px;border:1px solid rgb(47 111 78 / .2);border-radius:11px;color:var(--accent-strong);background:#fff;font-size:11px;font-weight:820}.map-popup-actions button:first-child{border-color:transparent;color:#fff;background:linear-gradient(145deg,var(--accent),var(--accent-strong));box-shadow:0 6px 14px #2f6f4e33}.spot-map-circle{filter:drop-shadow(0 8px 14px rgb(23 34 27 / .28))}.spot-map-circle.approximate{filter:drop-shadow(0 8px 14px rgb(96 72 34 / .22))}.scenic-spot-marker,.route-node-marker,.user-heading-marker{display:grid;place-items:center;overflow:visible;border:0!important;background:transparent!important;box-shadow:none!important}.scenic-spot-pin{position:relative;display:grid;width:calc(24px * var(--spot-scale, 1));height:calc(24px * var(--spot-scale, 1));place-items:center;border:2px solid #ffffff;border-radius:50% 50% 50% 0;background:#245f46;box-shadow:0 6px 12px #17221b47;transform:rotate(-45deg)}.scenic-spot-pin.approximate{background:#a56c2c;box-shadow:0 6px 12px #60482245}.scenic-spot-glyph{position:relative;z-index:1;width:7px;height:7px;border-radius:50%;background:#fff;transform:rotate(45deg)}.scenic-spot-pin.approximate .scenic-spot-glyph{border-color:#fff7e8;background:#fff7e83d}.scenic-spot-pin.explored{background:#c4922e;box-shadow:0 6px 12px #6d42134d}.scenic-spot-pin.explored .scenic-spot-glyph{background:#fff1a9}.scenic-spot-pin.navigation-target,.route-node-dot.navigation-target{background:#c27b27;box-shadow:0 0 0 5px #ffd6826b,0 9px 20px #6d42135c;animation:navigation-target-pulse 1.7s ease-in-out infinite}.route-node-dot.navigation-target:after{background:#c27b27}@keyframes navigation-target-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.route-node-marker{z-index:1}.route-node-dot{position:relative;display:grid;width:var(--route-node-width, 100%);min-width:var(--route-node-width, 100%);height:var(--route-node-height, 100%);place-items:center;padding:0 6px;border:2.5px solid #ffffff;border-radius:12px 12px 12px 5px;color:#fff;background:#2f7455;box-shadow:0 7px 15px #17221b47,0 0 0 3px #2f745526;font-size:max(10px,calc(11px * var(--map-ui-scale)));font-weight:900;line-height:1;font-variant-numeric:tabular-nums;isolation:isolate}.route-node-dot:after{content:"";position:absolute;left:50%;bottom:-5px;z-index:-1;width:9px;height:9px;background:#2f7455;border-right:2.5px solid #ffffff;border-bottom:2.5px solid #ffffff;transform:translate(-50%) rotate(45deg)}.route-node-dot.approximate{background:#a56c2c;box-shadow:0 7px 15px #60482242,0 0 0 3px #a56c2c26}.route-node-dot.approximate:after{background:#a56c2c}.route-node-dot.explored{background:#c4922e;box-shadow:0 7px 15px #6d421347,0 0 0 4px #ffd68257}.route-node-dot.explored:after{background:#c4922e}.route-node-dot.wide{border-radius:12px}.route-node-connector{stroke-linecap:round}.user-heading-wrap{position:relative;display:block;width:44px;height:44px;transform-origin:50% 50%}.user-heading-wrap:before{content:"";position:absolute;left:50%;top:50%;width:36px;height:36px;border:1px solid rgb(47 138 98 / .34);border-radius:50%;background:#e1f6eb33;box-shadow:0 0 0 5px #2f8a6214,0 8px 18px #17221b33;transform:translate(-50%,-50%);animation:user-location-pulse 2.8s ease-out infinite}.user-heading-wrap.no-heading:before{background:#e1f6eb47}.user-heading-cone{position:absolute;left:50%;top:2px;width:30px;height:30px;background:#2f8a6230;clip-path:polygon(50% 0,100% 100%,0 100%);transform:translate(-50%)}.user-heading-arrow{position:absolute;left:50%;top:4px;width:17px;height:24px;background:#2f8a62;clip-path:polygon(50% 0,100% 100%,50% 78%,0 100%);filter:drop-shadow(0 2px 3px rgb(23 34 27 / .25));transform:translate(-50%)}.user-heading-core{position:absolute;left:50%;top:50%;width:16px;height:16px;border:4px solid #ffffff;border-radius:50%;background:#2f8a62;box-shadow:0 3px 9px #17221b52;transform:translate(-50%,-50%)}.user-heading-wrap.no-heading .user-heading-cone,.user-heading-wrap.no-heading .user-heading-arrow{display:none}@keyframes user-location-pulse{0%,58%,to{opacity:.8;transform:translate(-50%,-50%) scale(.92)}78%{opacity:.22;transform:translate(-50%,-50%) scale(1.08)}}@media(prefers-reduced-motion:reduce){.user-heading-wrap:before{animation:none}}.leaflet-control-zoom{overflow:hidden;border:1px solid rgb(255 255 255 / .72)!important;border-radius:16px!important;box-shadow:0 10px 28px #17221b38!important}.leaflet-touch .leaflet-control-zoom a,.leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important;color:var(--accent-strong)!important}.map-view.offline-map:after{content:"在线地图暂不可用，点位仍可选择";position:absolute;inset:18px 18px auto;z-index:450;padding:10px 12px;border-radius:14px;color:#2f3d34;background:#ffffffdb;box-shadow:0 10px 28px #2541301f;font-size:12px;font-weight:760;pointer-events:none}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:translateY(0) scale(.96)}to{transform:translateY(-6px) scale(1)}}@media(max-width:430px){.app-shell{padding-inline:12px}.guide-hero h2{font-size:clamp(23px,6vw,30px)}.guide-mode-card{justify-self:end}.guide-hero-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.map-view{height:clamp(290px,44dvh,460px);min-height:290px}.guide-timer{grid-template-columns:minmax(0,1fr) auto}.guide-timer-start,.guide-timer-running{grid-column:1 / -1}.locate-pill{justify-self:start}.button-row,.persona-grid,.settings-actions,.model-field,.basemap-option-grid{grid-template-columns:1fr}.onboarding-overlay{padding-inline:10px}.identity-onboarding-card{padding:18px}.identity-grid{grid-template-columns:1fr}.identity-option:last-child{grid-column:auto}.basemap-settings-heading{display:grid;gap:8px}.basemap-current-label{justify-self:start;max-width:100%}.guide-actions{grid-template-columns:minmax(0,1fr) 82px;gap:7px}.guide-actions .primary-btn,.guide-actions .ghost-btn{gap:6px;padding-inline:10px;font-size:13px;white-space:nowrap}.guide-actions .ghost-btn span{white-space:nowrap}.voice-controls{grid-template-columns:minmax(0,1fr) 84px}.bottom-nav{width:min(calc(100% - 24px),496px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.live-video{width:100%;aspect-ratio:4 / 3;max-height:420px;overflow:hidden;border-radius:20px;background:#1a1a1a;box-shadow:0 12px 32px #17221b2e}.live-video video{display:block;width:100%;height:100%;object-fit:cover;transform:none!important}.rtc-local-preview,.rtc-local-preview>*{width:100%;height:100%}.live-video.hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.video-guide-panel{display:flex;flex-direction:column;gap:16px;padding:4px 0 16px}.start-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 24px 28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,rgb(47 111 78 / .08),transparent 58%),#ffffffd1;box-shadow:0 14px 36px #25413014;text-align:center;animation:rise-in .52s var(--motion) both}.start-card h3{margin:0;font-size:1.25rem;font-weight:820;color:var(--ink)}.start-card p{margin:0;max-width:32ch;font-size:.9rem;color:var(--muted);line-height:1.62}.start-icon{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#2f6f4e29,#2f6f4e14),#fff;border:1px solid rgb(47 111 78 / .12);box-shadow:0 8px 20px #2541301f;color:var(--accent-strong)}@media(max-height:760px)and (min-width:600px){.start-card{gap:10px;padding-block:22px 18px}.start-icon{width:64px;height:64px}}.connecting-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;border:1px solid var(--line);border-radius:24px;background:#ffffffb8;box-shadow:0 14px 36px #25413014}.pulse-wrapper{position:relative;display:grid;place-items:center;width:80px;height:80px;color:var(--accent-strong)}.pulse-ring{position:absolute;inset:0;border-radius:50%;border:3px solid var(--accent);opacity:.6;animation:pulse-expand 1.6s cubic-bezier(.32,.72,0,1) infinite}@keyframes pulse-expand{0%{transform:scale(.85);opacity:.6}to{transform:scale(1.8);opacity:0}}.connecting-text{margin:0;font-size:.95rem;font-weight:720;color:var(--accent-strong)}.active-guide{display:flex;flex-direction:column;gap:12px}.status-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgb(239 68 68 / .2);background:linear-gradient(135deg,rgb(239 68 68 / .08),transparent),#fffffff2;border-radius:16px;font-size:.88rem;font-weight:720;box-shadow:0 8px 20px #ef44441f}.status-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-recording{background:#ef4444;box-shadow:0 0 8px #ef4444,0 0 16px #ef444466;animation:blink 1.4s cubic-bezier(.4,0,.6,1) infinite}@keyframes blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.9)}}.status-text{min-width:0;flex:1;color:var(--ink)}.session-timer{flex:0 0 auto;padding:4px 8px;border-radius:999px;color:#fff;background:var(--accent-strong);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}.realtime-meter{display:flex;flex-wrap:wrap;gap:8px}.realtime-meter span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid rgb(47 111 78 / .15);border-radius:999px;color:var(--accent-strong);background:#2f6f4e14;font-size:11px;font-weight:780}.rtc-mode-panel{display:grid;gap:12px;padding:14px;border:1px solid rgb(156 107 34 / .22);border-radius:16px;background:#9c6b2214}.rtc-mode-panel strong{color:var(--ink);font-size:14px}.rtc-mode-panel p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.voice-caption-panel{display:grid;gap:10px;padding:14px;border:1px solid rgb(47 111 78 / .16);border-radius:18px;background:linear-gradient(135deg,rgb(47 111 78 / .09),transparent 56%),#ffffffe6;box-shadow:0 10px 24px #25413014}.voice-caption-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.voice-caption-head strong{color:var(--ink);font-size:14px;font-weight:860}.voice-caption-head span,.voice-caption-panel small{color:var(--muted);font-size:11px;font-weight:760;text-align:right}.status-dot{width:8px;height:8px;border-radius:50%;background:#9c6b22b3;transition:background .3s var(--motion)}.status-dot.listening{background:#16a34a;box-shadow:0 0 0 4px #16a34a2e}.voice-status-chip{display:inline-flex;align-items:center;max-width:60%;padding:4px 10px;border-radius:999px;color:#2f6f4e!important;background:#2f6f4e1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-status-chip.generating{color:#9c6b22!important;background:#9c6b221f}.voice-caption-text,.voice-caption-heard,.voice-caption-placeholder{margin:0;color:#25342b;font-size:15px;line-height:1.68;overflow-wrap:anywhere;word-break:break-word}.voice-caption-heard{color:var(--accent-strong);font-size:13px;font-weight:760}.voice-caption-placeholder{color:var(--muted)}.danger-btn{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:13px 20px;border-radius:999px;background:#ef444424;color:#dc2626;font-weight:800;font-size:.95rem;border:1px solid rgb(239 68 68 / .2);cursor:pointer;transition:all .38s var(--motion);box-shadow:0 8px 20px #ef44441f}.danger-btn:hover{background:#ef444433;transform:translateY(-1px);box-shadow:0 12px 28px #ef44442e}.danger-btn:active{transform:scale(.97) translateY(1px)}.danger-btn.wide{width:100%}.error-state{display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 24px 24px;background:linear-gradient(135deg,rgb(239 68 68 / .08),transparent),#fffbfbe6;border:1px solid rgb(239 68 68 / .2);border-radius:24px;box-shadow:0 14px 36px #ef44441a;text-align:center;animation:rise-in .52s var(--motion) both}.error-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#ef444424;border:1px solid rgb(239 68 68 / .2);color:#dc2626;box-shadow:0 8px 20px #ef444424}.error-message{margin:0;max-width:32ch;font-size:.9rem;color:#991b1b;line-height:1.62;font-weight:580}:root{--page-gutter: 16px;--nav-height: 64px;--nav-gap: 24px;--paper: #f5f7f8}body{background:var(--paper)}*,*:before,*:after{letter-spacing:0}.app-shell{width:100%;max-width:1440px;padding:max(20px,env(safe-area-inset-top)) var(--page-gutter) var(--bottom-clearance)}.screen{min-width:0;align-content:start;animation:none}.screen>*,.chat-workspace>*,.chat-thread>*,.settings-form>*{min-width:0}.screen :is(h1,h2,h3,p,strong,small,button,dd){overflow-wrap:anywhere}.screen :is(h1,.assistant-card h2){font-size:26px;line-height:1.3}.screen h3{line-height:1.4}.screen :is(.assistant-card,.inline-panel,.quick-prompts-panel,.conversation-history-panel,.settings-mode-panel,.profile-hiking-records,.health-people-panel,.health-progress-panel,.health-routine,.health-pace-panel){border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.screen>.assistant-card{padding-bottom:18px;border-bottom:1px solid var(--line)}.screen :is(.assistant-card p,.panel-heading p){max-width:72ch;font-size:14px}.screen :is(.activity-card,.exploration-spot-card,.health-person-card,.profile-hiking-record-card,.chat-dialog,.answer-panel,.start-card,.connecting-state,.error-state,.photo-entry-card){border-radius:8px;box-shadow:none}.screen :is(textarea,input,select,.primary-btn,.ghost-btn,.secondary-wide,.danger-btn,.segmented-control,.segmented-control button,.quick-prompts button,.mode-chip,.persona-card,.health-start-panel,.health-status-band){border-radius:8px}.screen :is(input,textarea,select){min-width:0;font-size:16px}.screen .segmented-control{width:min(100%,440px)}.app-shell.view-map{max-width:none;height:100dvh;min-height:0;padding:0;overflow:hidden}.map-screen{inset:0;width:100%;max-width:none;height:100dvh}.map-screen .guide-map:after{box-shadow:none}.app-shell .map-screen .path-planner{top:max(16px,env(safe-area-inset-top));left:max(var(--page-gutter),env(safe-area-inset-left));right:auto;width:min(440px,calc(100% - var(--page-gutter) * 2));max-width:none;margin:0}.map-screen .planner-status{padding:8px 12px;border-radius:8px;background:#fff;box-shadow:0 2px 12px #17221b1f}.map-screen :is(.map-guide-action,.map-help-action){right:max(var(--page-gutter),env(safe-area-inset-right));width:48px;height:48px}.map-screen .map-help-action{bottom:var(--bottom-clearance)}.map-screen .map-help-action svg{width:32px;height:32px;transform:none}.map-screen .map-guide-action{bottom:calc(var(--bottom-clearance) + 60px)}.map-screen .leaflet-right{right:var(--page-gutter)}.map-screen .leaflet-control-zoom a{width:40px;height:40px;line-height:40px}.map-screen :is(.map-hiking-card,.map-hiking-complete){top:116px;left:var(--page-gutter);right:auto;width:min(380px,calc(100% - var(--page-gutter) * 2 - 56px));max-height:calc(100dvh - var(--bottom-clearance) - 132px);overflow:auto}.map-screen .map-navigation-card{left:var(--page-gutter);right:auto;bottom:var(--bottom-clearance);width:min(380px,calc(100% - var(--page-gutter) * 2 - 60px))}.map-screen .leaflet-bottom{bottom:calc(var(--bottom-clearance) + 2px)}.bottom-nav{width:min(calc(100% - 24px),600px);border-radius:12px;animation:none}.bottom-nav button{border-radius:8px;font-size:12px;letter-spacing:0}.bottom-nav button.active{transform:none}.chat-workspace,.chat-thread{display:grid;gap:16px;min-width:0}.chat-sidebar{display:contents}.chat-sidebar .quick-prompts-panel{order:0}.chat-thread{order:1;align-content:start}.chat-sidebar .conversation-history-panel{order:2}.chat-dialog{align-content:start;min-height:240px;max-height:55dvh;background:#fff;overscroll-behavior:contain}.chat-compose{position:static;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.chat-compose textarea{min-height:64px;max-height:160px;height:80px;padding:12px}.chat-compose .primary-btn{min-height:48px;width:auto;padding-inline:18px;margin-bottom:1px}.chat-bubble{min-width:0;max-width:min(92%,760px)}.chat-message-body,.formatted-answer{overflow-wrap:anywhere;min-width:0}.conversation-chip,.persona-card-horizontal{transform:none!important}.camera-screen,.settings-screen,.activity-screen{gap:24px;min-height:0}.camera-screen :is(.start-card,.connecting-state,.error-state){min-height:340px;justify-content:center;background:#fff}.camera-screen :is(.start-card,.error-state) .primary-btn{width:min(100%,340px)}.camera-screen :is(.live-video:not(.hidden),.photo-preview,.photo-capture-view video){display:block;width:100%;height:auto;max-height:60dvh;aspect-ratio:4 / 3;object-fit:contain;border-radius:8px}.photo-capture-view,.voice-caption-panel{min-width:0}.status-bar{flex-wrap:wrap}.photo-entry-card .photo-action-copy small{max-width:none}.voice-caption-text{max-height:40dvh;overflow-y:auto}.settings-mode-strip{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:3px;overflow:visible}.settings-mode-strip .mode-chip{width:100%;min-width:0;white-space:normal}.settings-screen .settings-form{gap:32px}.profile-hiking-record-list{display:grid;gap:12px}.activity-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}.activity-card-hitarea{height:100%;grid-template-rows:auto 1fr}.activity-card-cover{min-height:0;aspect-ratio:16 / 9}.activity-card-body{gap:14px;padding:20px}.activity-card-footer{align-self:end}.activity-card-heading>strong{font-size:22px}.exploration-spot-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px}.health-stat-grid strong{font-size:21px}.screen .leaderboard-time{font-size:23px}.screen .leaderboard-list li:nth-child(n){width:100%;margin-inline:0;border-radius:8px}.screen .leaderboard-entry strong{white-space:normal}.screen .exploration-percent{font-size:30px}.health-people-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.health-stat-grid,.health-people-grid,.health-pace-grid{gap:16px}.onboarding-card,.tutorial-card{max-height:calc(100dvh - 32px);overflow-y:auto}@media(min-width:700px){:root{--page-gutter: 28px}.app-shell{padding-top:28px}.bottom-nav button{display:flex;justify-content:center;gap:8px;font-size:14px}.map-screen .leaflet-top{top:16px}.camera-screen .photo-guide-panel.has-media{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"heading heading" "actions actions" "preview form" "error error" "answer answer";align-items:start}.photo-guide-panel.has-media .panel-heading{grid-area:heading}.photo-guide-panel.has-media .photo-entry-actions{grid-area:actions}.photo-guide-panel.has-media .photo-capture-error{grid-area:error}.photo-guide-panel.has-media .answer-panel{grid-area:answer}.photo-guide-panel.has-media :is(.photo-preview,.photo-capture-view){grid-area:preview;margin:0}.photo-guide-panel.has-media .ask-form{grid-area:form}.photo-guide-panel.has-media .photo-capture-view~.photo-preview{display:none}.settings-mode-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-hiking-record-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){:root{--page-gutter: 36px}.screen{gap:24px}.chat-workspace{grid-template-columns:300px minmax(0,1fr);align-items:stretch;gap:28px;min-height:0}.chat-screen:has(.chat-workspace){height:calc(100dvh - 28px - var(--bottom-clearance));min-height:580px;grid-template-rows:auto auto minmax(0,1fr);padding-bottom:0}.chat-sidebar{display:flex;flex-direction:column;gap:28px;min-height:0;max-height:100%;overflow-y:auto;padding-right:16px;border-right:1px solid var(--line)}.chat-sidebar .quick-prompts{grid-template-columns:1fr}.chat-sidebar .conversation-strip{display:grid;grid-auto-flow:row;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;overflow:visible}.chat-sidebar .conversation-chip{width:100%;min-width:0}.chat-thread{height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto}.chat-dialog{height:100%;min-height:0;max-height:none;padding:24px}.persona-inline-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);column-gap:32px;align-items:start}.persona-selection-head,.persona-scroller{grid-column:1 / -1}.persona-inline-panel .character-profile{grid-column:1;grid-row:3 / span 3}.persona-inline-panel .persona-suggestions{grid-column:2;grid-row:3}.persona-inline-panel .ask-form{grid-column:2;grid-row:4}.persona-answer-card{grid-column:2;grid-row:5}.camera-screen{max-width:1240px;margin-inline:auto}.video-guide-panel.has-stream{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:24px;align-items:start}.video-guide-panel.has-stream .live-video:not(.hidden){max-height:none}.video-guide-panel.has-stream .active-guide{grid-column:2}.video-guide-panel.has-stream .connecting-state{grid-column:2;min-height:240px}.settings-screen .settings-form{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}.settings-mode-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-health{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}.activity-health>:is(.activity-health-head,.health-status-band,.health-people-panel,.health-stat-grid,.health-start-panel){grid-column:1 / -1}.activity-leaderboard{max-width:960px;width:100%;margin-inline:auto}}@media(max-width:430px){:root{--page-gutter: 12px}.screen :is(h1,.assistant-card h2){font-size:23px}.quick-prompts button{gap:5px;padding:10px 8px;font-size:12px}.quick-prompts button>svg{display:none}.quick-prompts button{grid-template-columns:auto minmax(0,1fr)}.chat-compose{gap:8px}.chat-compose .primary-btn{padding-inline:12px}.health-stat-grid,.health-pace-grid{gap:8px}.health-stat-grid strong{font-size:18px}.profile-hiking-record-card dl{gap:4px}.photo-entry-actions{grid-template-columns:1fr}.camera-screen :is(.start-card,.connecting-state,.error-state){min-height:300px;padding:24px 16px}.health-start-panel{flex-direction:column;align-items:stretch}.health-start-action{justify-content:center}}@media(max-height:520px)and (min-width:600px){:root{--nav-height: 50px;--nav-gap: 16px}.bottom-nav{max-width:480px;bottom:max(6px,env(safe-area-inset-bottom))}.bottom-nav button{display:flex;justify-content:center;min-height:38px;gap:6px}.map-screen :is(.map-hiking-card,.map-hiking-complete){top:112px;max-height:calc(100dvh - var(--bottom-clearance) - 120px)}}.path-planner[data-v-584740a5]{position:relative;z-index:500;width:100%}.planner-row[data-v-584740a5]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.search-field[data-v-584740a5]{position:relative;display:flex;min-width:0;min-height:48px;align-items:center;gap:8px;padding:0 12px;border:1px solid rgb(23 34 27 / .13);border-radius:8px;color:#66736a;background:#fff;box-shadow:0 8px 24px #25413014}.search-field[data-v-584740a5]:focus-within{border-color:#2f6f4e80;box-shadow:0 0 0 3px #2f6f4e1a}.search-field input[data-v-584740a5]{width:100%;min-width:0;height:46px;padding:0;border:0;outline:0;color:#17221b;background:transparent;font-size:14px}.search-field input[data-v-584740a5]:focus{border-color:transparent;box-shadow:none;background:transparent}.search-field input[data-v-584740a5]::-webkit-search-cancel-button{display:none}.clear-button[data-v-584740a5]{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;padding:0;border:0;border-radius:50%;color:#66736a;background:#17221b0f}.plan-button[data-v-584740a5]{display:inline-flex;min-width:112px;min-height:48px;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:0;border-radius:8px;color:#fff;background:#22563a;box-shadow:0 10px 26px #22563a33;font-size:13px;font-weight:800;white-space:nowrap}.plan-button[data-v-584740a5]:active{transform:scale(.97)}.plan-button[data-v-584740a5]:disabled{cursor:wait;opacity:.72}.suggestions[data-v-584740a5]{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:510;max-height:240px;margin:0;padding:5px;overflow-y:auto;border:1px solid rgb(23 34 27 / .12);border-radius:8px;list-style:none;background:#fff;box-shadow:0 18px 42px #17221b29}.suggestions button[data-v-584740a5]{display:flex;width:100%;min-height:42px;align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:6px;color:#17221b;background:transparent;text-align:left}.suggestions button[data-v-584740a5]:hover,.suggestions button[data-v-584740a5]:focus-visible{outline:0;color:#22563a;background:#2f6f4e14}.planner-status[data-v-584740a5]{margin:7px 2px 0;color:#536159;font-size:12px;line-height:1.45}.planner-status.error[data-v-584740a5]{color:#a53b32}.spinner[data-v-584740a5]{animation:spin-584740a5 .8s linear infinite}@keyframes spin-584740a5{to{transform:rotate(360deg)}}@media(max-width:360px){.planner-row[data-v-584740a5]{grid-template-columns:minmax(0,1fr) 48px}.plan-button[data-v-584740a5]{min-width:48px;padding:0}.plan-button span[data-v-584740a5]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}.character-avatar[data-v-027fa62d]{--portrait-ink: #235b40;--portrait-paper: #e7f2d3;--portrait-edge: #bdd395;display:grid;place-items:center;flex:0 0 auto;width:64px;height:64px;box-sizing:border-box;border:4px solid #fff;border-radius:50%;color:var(--portrait-ink);background:var(--portrait-paper);box-shadow:inset 0 0 0 1px var(--portrait-edge),inset 0 -7px 0 var(--portrait-edge),0 3px 8px #1526201f}.character-avatar[data-character=karst][data-v-027fa62d]{--portrait-ink: #594b78;--portrait-paper: #eee8f7;--portrait-edge: #d1c4e4}.character-avatar[data-character=temple][data-v-027fa62d]{--portrait-ink: #923e45;--portrait-paper: #fbe8db;--portrait-edge: #e8bca4}.character-avatar[data-character=wind][data-v-027fa62d]{--portrait-ink: #216d69;--portrait-paper: #ddf4ee;--portrait-edge: #a8d9ce}.character-avatar[data-character=water][data-v-027fa62d]{--portrait-ink: #286d9f;--portrait-paper: #e1f3fd;--portrait-edge: #afd4eb}.character-avatar svg[data-v-027fa62d]{display:block;width:68%;height:68%;overflow:visible;filter:drop-shadow(0 2px 0 rgb(255 255 255 / .8))}.character-avatar--large[data-v-027fa62d]{width:88px;height:88px;border-width:5px}.character-avatar--small[data-v-027fa62d]{width:42px;height:42px;border-width:2px}@media(max-width:430px){.character-avatar--large[data-v-027fa62d]{width:72px;height:72px;border-width:4px}}.persona-gallery[data-v-c25aff28]{--character-accent: #356b43;--character-soft: #eef5e7;gap:16px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}[data-character=karst][data-v-c25aff28]{--character-accent: #64527b;--character-soft: #f2eef7}[data-character=temple][data-v-c25aff28]{--character-accent: #994850;--character-soft: #fbefea}[data-character=wind][data-v-c25aff28]{--character-accent: #29736b;--character-soft: #eaf6f2}[data-character=water][data-v-c25aff28]{--character-accent: #2b7098;--character-soft: #edf6fb}[data-character=forest][data-v-c25aff28]{--character-accent: #356b43;--character-soft: #eef5e7}.persona-gallery .persona-scroller[data-v-c25aff28]{grid-auto-columns:142px;gap:12px;padding:4px 3px 10px;scroll-snap-type:x proximity;scroll-padding-inline:3px;scrollbar-width:thin}.character-option[data-v-c25aff28]{position:relative;display:grid;grid-template-rows:66px 32px 54px;justify-items:center;min-width:0;padding:0 0 10px;border:1px solid #d9e2df;border-radius:8px;color:#20372c;background:#fff;overflow:hidden;scroll-snap-align:start;transition:border-color .16s ease,box-shadow .16s ease}.character-option.active[data-v-c25aff28]{border-color:var(--character-accent);background:var(--character-soft);box-shadow:0 0 0 2px var(--character-accent)}.character-option[data-v-c25aff28]:hover{border-color:var(--character-accent)}.character-option[data-v-c25aff28]:focus-visible{outline:3px solid var(--character-accent);outline-offset:2px}.character-option-cover[data-v-c25aff28]{display:block;width:100%;height:100%;object-fit:cover}.character-option[data-v-c25aff28] .character-avatar{position:relative;margin-top:-30px}.character-option-copy[data-v-c25aff28]{display:grid;align-content:center;gap:4px;padding:6px 6px 0;text-align:center}.character-option-copy strong[data-v-c25aff28]{font-size:14px;line-height:1.4;white-space:normal}.character-option-copy small[data-v-c25aff28]{font-size:11px;line-height:1.4;color:#66726b}.character-selection-mark[data-v-c25aff28]{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:22px;height:22px;border:2px solid #fff;border-radius:50%;color:#fff;background:var(--character-accent);visibility:hidden}.character-option.active .character-selection-mark[data-v-c25aff28]{visibility:visible}.character-profile[data-v-c25aff28]{min-width:0;overflow:hidden;border:1px solid #dce5df;border-radius:8px;background:#fff}.character-profile-cover[data-v-c25aff28]{display:block;width:100%;height:130px;object-fit:cover}.character-profile-body[data-v-c25aff28]{display:grid;gap:12px;padding:0 18px 20px}.character-profile-heading[data-v-c25aff28]{display:flex;align-items:end;gap:12px;margin-top:-36px;position:relative}.character-profile-title[data-v-c25aff28]{display:grid;gap:4px;padding:44px 0 4px;min-width:0}.character-profile-title strong[data-v-c25aff28]{color:#20372c;font-size:21px;line-height:1.3;overflow-wrap:anywhere}.character-profile-title span[data-v-c25aff28]{color:var(--character-accent);font-size:12px;line-height:1.4}.character-description[data-v-c25aff28]{margin:0;color:#5c6c62;font-size:13px;line-height:1.7}.character-greeting[data-v-c25aff28]{margin:0;padding-left:12px;border-left:3px solid var(--character-accent);color:var(--character-accent);font-size:14px;line-height:1.7}.persona-gallery .persona-suggestions[data-v-c25aff28]{flex-wrap:wrap;overflow:visible}.persona-gallery .persona-suggestions button[data-v-c25aff28]{flex:0 1 auto;white-space:normal;text-align:left;border-color:var(--line);border-radius:8px;background:var(--character-soft);color:var(--character-accent)}.persona-gallery .ask-form .primary-btn[data-v-c25aff28]{background:var(--character-accent);box-shadow:none}.persona-gallery .persona-answer-card[data-v-c25aff28]{border-top:3px solid var(--character-accent)}@media(min-width:1024px){.persona-gallery .persona-scroller[data-v-c25aff28]{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr))}.character-option[data-v-c25aff28]{grid-template-rows:82px 32px 54px}.character-profile-cover[data-v-c25aff28]{height:164px}}@media(prefers-reduced-motion:reduce){.character-option[data-v-c25aff28]{transition:none}}
