body.viewer-page{overflow:hidden}body.viewer-page .site-header,body.viewer-page .mobile-nav{display:none}.viewer{background:var(--navy-900);--hud-pad:12px;position:fixed;inset:0}#map{position:absolute;inset:0}#map:focus-visible{box-shadow:inset 0 0 0 3px var(--brand)}.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left{z-index:1}.maplibregl-ctrl-attrib{border-radius:8px 0 0;font-size:10px}.maplibregl-ctrl-top-right{display:none}.map-skeleton{z-index:5;background:var(--navy-800);transition:opacity .5s var(--ease);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.map-skeleton.hide{opacity:0}.map-skeleton .sk-msg{border-radius:var(--r-pill);color:#fff;font-weight:600;font-size:var(--fs-sm);backdrop-filter:blur(6px);background:#ffffff1a;align-items:center;gap:10px;padding:10px 16px;display:inline-flex}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.hud{z-index:6;pointer-events:none;gap:8px;display:flex;position:absolute}.hud>*{pointer-events:auto}.hud-tl{top:var(--hud-pad);left:var(--hud-pad);flex-wrap:wrap;align-items:flex-start;right:72px}.brand-pill{border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-line);height:44px;box-shadow:var(--shadow-float);backdrop-filter:blur(12px);color:var(--fg);font-family:var(--font-display);font-weight:800;font-size:var(--fs-sm);flex:none;align-items:center;gap:8px;padding:0 14px 0 8px;display:inline-flex}.brand-pill:hover{text-decoration:none}.brand-pill svg{border-radius:8px;width:28px;height:28px}.brand-pill.static{height:auto;box-shadow:none;backdrop-filter:none;background:0 0;border:0;padding:0}.cell-pill{background:var(--glass);border:1px solid var(--glass-line);min-height:44px;box-shadow:var(--shadow-float);backdrop-filter:blur(12px);color:var(--fg);border-radius:22px;flex-direction:column;justify-content:center;min-width:0;max-width:100%;padding:6px 14px;display:flex}.cell-pill b{font-family:var(--font-display);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;line-height:1.2;overflow:hidden}.cell-meta{font-size:var(--fs-xs);color:var(--fg-2);white-space:nowrap;align-items:center;gap:8px;display:flex}.cell-meta .badge{padding:1px 8px;font-size:11px}.cell-meta .upd{align-items:center;gap:4px;display:inline-flex}.rail{z-index:6;top:var(--hud-pad);right:var(--hud-pad);background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--shadow-float);backdrop-filter:blur(12px);max-height:calc(100% - 2 * var(--hud-pad));scrollbar-width:none;border-radius:16px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;overflow:auto}.rail-sep{background:var(--line);flex:none;height:1px;margin:2px 6px}.rail-btn{width:44px;height:44px;color:var(--fg);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);background:0 0;border:0;border-radius:12px;flex:none;place-items:center;display:grid;position:relative}.rail-btn svg{width:22px;height:22px}.rail-btn .u-label{font-family:var(--font-display);font-weight:800;font-size:var(--fs-sm)}.rail-btn:hover{background:var(--brand-soft);color:var(--brand)}.rail-btn:active{transform:scale(.92)}.rail-btn[aria-pressed=true]{background:var(--brand);color:var(--brand-fg)}.rail-btn.measure[aria-pressed=true],.rail-btn.route[aria-pressed=true]{background:var(--accent);color:#fff}.rail-btn[data-tip]:after{content:attr(data-tip);background:var(--navy-900);color:#fff;font-size:var(--fs-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);z-index:9;border-radius:8px;padding:6px 10px;font-weight:600;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)translate(4px)}.rail-btn[data-tip]:hover:after,.rail-btn[data-tip]:focus-visible:after{opacity:1;transform:translateY(-50%)}.rail-btn[disabled]{opacity:.4}.rail .layers,.rail .contours,.rail .hillshade,.rail .draft,.rail .measure,.rail .share,.rail .basemap,.rail .palette,.rail .route,.rail .ports,.rail .units,.rail .mapthis,.rail .go,.rail-sep{display:none}@media (width>=760px) and (height>=680px){.rail .units,.rail .contours,.rail .hillshade,.rail .draft,.rail .measure,.rail .share,.rail .basemap,.rail .palette,.rail .route,.rail .ports,.rail .mapthis,.rail .go{display:grid}.rail-sep{display:block}}.rail-btn.go{color:var(--ok)}.rail-btn.go[aria-pressed=true]{background:var(--ok);color:#fff}.rail-btn.mapthis{color:var(--accent)}.rail-btn.mapthis[aria-pressed=true]{background:var(--accent);color:#fff}@media (hover:none){.rail-btn[data-tip]:after{display:none}}.popover{z-index:7;top:var(--hud-pad);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);width:min(320px,100vw - 90px);box-shadow:var(--shadow-lg);color:var(--fg);animation:rise var(--t-base) var(--ease-out);padding:14px 16px 16px;position:absolute;right:72px}.pop-head{font-family:var(--font-display);justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.pop-head b{align-items:center;gap:8px;display:inline-flex}.x{width:36px;height:36px;color:var(--fg-2);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.x:hover{background:var(--surface-2);color:var(--fg)}.row{min-height:44px;font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:12px;font-weight:600;display:flex}.row input[type=range]{width:130px;accent-color:var(--brand)}.row.switch{cursor:pointer}.row.switch input{opacity:0;width:0;height:0;position:absolute}.row.switch i{background:var(--grey-300);width:44px;height:26px;transition:background var(--t-fast) var(--ease);border-radius:13px;flex:none;position:relative}.row.switch i:after{content:"";width:20px;height:20px;transition:transform var(--t-fast) var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.row.switch input:checked+i{background:var(--brand)}.row.switch input:checked+i:after{transform:translate(18px)}.row.switch input:focus-visible+i{box-shadow:var(--ring)}.small{font-size:var(--fs-xs);margin:4px 0}.draft-row{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:6px 0;display:flex}.draft-row label{font-size:var(--fs-xs);color:var(--fg-2);flex-direction:column;gap:2px;font-weight:600;display:flex}.draft-row .input{text-align:center;width:84px;font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg)}.draft-row .unit{color:var(--fg-2);padding-bottom:12px;font-weight:700}.palette-list{gap:6px;display:grid}.pal{border:1px solid var(--line);background:var(--surface);text-align:left;color:var(--fg);border-radius:12px;grid-template-columns:1fr;gap:4px;min-height:56px;padding:8px 10px;display:grid}.pal:hover{border-color:var(--brand)}.pal[aria-checked=true]{border-color:var(--brand);box-shadow:var(--ring)}.pal .sw{border:1px solid #0000001f;border-radius:6px;height:12px}.pal .pn{font-size:var(--fs-sm);font-weight:700;font-family:var(--font-display);justify-content:space-between;display:flex}.pal .pn small{color:var(--fg-3);font-weight:500;font-family:var(--font-body)}.planner{z-index:8;top:calc(var(--hud-pad) + 56px);left:var(--hud-pad);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);width:min(360px,100vw - 24px);max-height:calc(100% - 90px);box-shadow:var(--shadow-lg);color:var(--fg);animation:rise var(--t-base) var(--ease-out);flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex;position:absolute;overflow:auto}.planner-form{flex-direction:column;gap:8px;display:flex}.pt-row{align-items:center;gap:8px;display:flex}.pt-row .input{min-height:42px;font-size:var(--fs-sm)}.pt{width:12px;height:12px;box-shadow:0 0 0 1.5px var(--fg-3);border:2px solid #fff;border-radius:50%;flex:none}.pt.start{background:#16a34a}.pt.end{background:#dc2626}.pt-row .icon-btn{background:var(--surface-2);flex:none;width:40px;height:40px}.pt-row .icon-btn[aria-pressed=true]{background:var(--accent);color:#fff}#pl-suggest{max-width:none;box-shadow:var(--shadow-md);margin:0}#pl-suggest:empty{display:none}.pl-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pl-grid label{font-size:var(--fs-xs);color:var(--fg-2);flex-direction:column;gap:3px;font-weight:600;display:flex}.pl-grid label.wide{grid-column:span 2}.pl-grid .input{min-height:40px;font-size:var(--fs-sm);padding:6px 10px}.pl-actions{flex-wrap:wrap;gap:8px;display:flex}.pl-result{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:10px;display:flex}.pl-stats{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.pl-stats div{background:var(--surface-2);border-radius:10px;flex-direction:column;padding:8px 10px;display:flex}.pl-stats b{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:-.01em}.pl-stats span{font-size:var(--fs-xs);color:var(--fg-2)}.pl-chips{flex-wrap:wrap;gap:6px;display:flex}.pl-chips .chip{min-height:32px;font-size:var(--fs-xs);gap:5px;padding:4px 10px}.pl-chips .chip svg{width:15px;height:15px;color:var(--brand)}.pl-warnings{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pl-warnings li{font-size:var(--fs-sm);background:var(--fair-soft);color:var(--fg);cursor:pointer;border-radius:10px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.pl-warnings li.shallow{background:var(--poor-soft)}.pl-warnings li.unknown{background:var(--surface-2)}.pl-warnings li i{background:var(--fair);border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.pl-warnings li.shallow i{background:var(--poor)}.pl-warnings li.unknown i{background:var(--fg-3)}.order-card{border:1px dashed var(--accent);background:var(--accent-soft);border-radius:var(--r-md);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.order-card b{font-family:var(--font-display);align-items:center;gap:6px;display:inline-flex}.order-card p{font-size:var(--fs-sm);margin:0}.order-card .price{font-weight:700}.route-popup b{font-family:var(--font-display);display:block}.port-popup{font-size:var(--fs-sm)}.port-popup b{font-family:var(--font-display);display:block}.port-popup .kind{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--brand);font-weight:700}.measure-pill{z-index:6;top:calc(var(--hud-pad) + 52px);border-radius:var(--r-pill);background:var(--accent);color:#fff;height:40px;font-weight:700;font-size:var(--fs-sm);box-shadow:var(--shadow-float);white-space:nowrap;align-items:center;gap:8px;padding:0 6px 0 12px;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.measure-pill .x{color:#fff;width:30px;height:30px}.measure-pill .x:hover{background:#fff3}.measure-pill small{opacity:.85;font-weight:500}.pick-pill{background:var(--navy-900)}.legend-card{z-index:6;left:var(--hud-pad);bottom:calc(var(--hud-pad) + 22px);background:var(--glass);border:1px solid var(--glass-line);width:min(300px,100vw - 24px);box-shadow:var(--shadow-float);backdrop-filter:blur(12px);color:var(--fg);border-radius:14px;padding:10px 12px;position:absolute}.legend-title{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-2);justify-content:space-between;margin-bottom:6px;font-size:11px;font-weight:700;display:flex}.legend-pal{color:var(--brand)}.legend-bar{border:1px solid #00000026;border-radius:5px;height:10px}.legend-ticks{height:16px;color:var(--fg);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11px;font-weight:700;position:relative}.legend-ticks span{position:absolute;top:0;transform:translate(-20%)}.legend-ticks span:last-child{transform:translate(-70%)}.depth-card{z-index:8;left:50%;bottom:calc(var(--hud-pad) + 22px);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);width:min(300px,100vw - 24px);box-shadow:var(--shadow-lg);color:var(--fg);animation:cardIn .32s var(--ease-out);padding:16px 18px;position:absolute;transform:translate(-50%)}@keyframes cardIn{0%{opacity:0;transform:translate(-50%)translateY(16px)scale(.96)}to{opacity:1;transform:translate(-50%)}}.depth-card .x{position:absolute;top:8px;right:8px}.dc-state{color:var(--fg-2);font-weight:600;font-size:var(--fs-sm);align-items:center;gap:10px;min-height:44px;display:flex}.dc-big{font-family:var(--font-display);letter-spacing:-.03em;color:var(--brand);align-items:baseline;gap:6px;font-size:3.2rem;font-weight:800;line-height:1;display:flex}.dc-big .unit{color:var(--fg-2);font-size:1.3rem;font-weight:700}.dc-sub{font-size:var(--fs-sm);color:var(--fg-2);margin-top:4px}.dc-acc{font-size:var(--fs-xs);color:var(--fg-2);border-radius:var(--r-pill);background:var(--surface-2);align-items:center;gap:6px;margin-top:8px;padding:3px 10px;display:inline-flex}.dc-warn{background:var(--poor-soft);color:var(--poor);font-weight:700;font-size:var(--fs-sm);border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;display:flex}.dc-pass{background:var(--surface-2);color:var(--fg);font-weight:600;font-size:var(--fs-sm);border-radius:10px;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 10px;line-height:1.35;display:flex}.dc-pass svg{color:var(--brand);flex:none;margin-top:2px}.dc-pass.ok{background:var(--ok-soft);color:var(--ok)}.dc-pass.no{background:var(--poor-soft);color:var(--poor)}.dc-pass.ok svg,.dc-pass.no svg{color:currentColor}.dc-pass a{color:inherit;text-decoration:underline}.dc-coord{font-family:var(--font-mono);color:var(--fg-3);margin-top:10px;font-size:11px}.go-panel{width:min(400px,100vw - 24px)}.sheet-btn.go{color:var(--ok)}.sheet-btn.go[aria-pressed=true]{background:var(--ok);border-color:var(--ok);color:#fff}.dc-none{flex-direction:column;justify-content:center;gap:2px;min-height:44px;display:flex}.dc-none span{font-size:var(--fs-sm);color:var(--fg-2)}.sheet{z-index:9;background:var(--surface);color:var(--fg);transition:transform var(--t-slow) var(--ease-out);padding-bottom:env(safe-area-inset-bottom);touch-action:none;border-radius:20px 20px 0 0;flex-direction:column;max-height:82vh;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(calc(100% - 56px));box-shadow:0 -8px 30px #00000040}.sheet[data-snap=half]{transform:translateY(calc(100% - 340px))}.sheet[data-snap=full]{transform:translateY(0)}.sheet.dragging{transition:none}.handle{cursor:grab;background:0 0;border:0;place-items:center;width:100%;height:56px;display:grid}.handle i{background:var(--grey-300);border-radius:3px;width:44px;height:5px}.handle:after{content:"Tools";font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);position:absolute;top:18px;left:20px}.sheet-body{flex-direction:column;gap:14px;padding:0 16px 16px;display:flex;overflow:auto}.sheet-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.sheet-btn{border:1px solid var(--line);background:var(--surface-2);min-height:64px;color:var(--fg);font-size:var(--fs-xs);border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-weight:600;display:flex}.sheet-btn svg{width:22px;height:22px}.sheet-btn .u-label.big{font-family:var(--font-display);font-weight:800;font-size:var(--fs-lg);line-height:22px}.sheet-btn[aria-pressed=true]{background:var(--brand);color:var(--brand-fg);border-color:var(--brand)}.sheet-btn.measure-on,.sheet-btn.route-on{background:var(--accent);color:#fff;border-color:var(--accent)}.sheet-section{border-top:1px solid var(--line);flex-direction:column;gap:4px;padding-top:10px;display:flex}.sheet-section b{font-family:var(--font-display);font-size:var(--fs-sm)}@media (width>=760px) and (height>=680px){.sheet{display:none}}.fish{flex-direction:column;gap:12px;display:flex}.fish .sea-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.fish .sea-head b{font-family:var(--font-display)}.fish .sea-head small{color:var(--fg-3);font-size:var(--fs-xs)}.sea-tiles{grid-template-columns:1fr 1fr;gap:6px;display:grid}.sea-tiles .tile{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex}.sea-tiles .lab{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);align-items:center;gap:5px;font-size:10px;font-weight:700;display:inline-flex}.sea-tiles .lab svg{color:var(--brand)}.sea-tiles .val{font-family:var(--font-display);font-weight:800;font-size:var(--fs-lg);letter-spacing:-.01em;line-height:1.15}.sea-tiles .val small{font-size:var(--fs-xs);color:var(--fg-3);font-weight:600}.sea-tiles .hint{color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.fish-strip-wrap{scrollbar-width:none;margin:0 -16px;padding:0 16px;overflow-x:auto}.fish-strip{gap:6px;padding-bottom:2px;display:flex}.fs{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--fg);font-weight:600;font-size:var(--fs-xs);cursor:pointer;flex:none;align-items:center;gap:7px;padding:4px 6px 4px 12px;display:inline-flex}.fs:hover{border-color:var(--brand)}.fs.on{background:var(--navy-900);border-color:var(--navy-900);color:#fff}[data-theme=dark] .fs.on{background:var(--brand);border-color:var(--brand);color:var(--brand-fg)}.fs.locked{opacity:.75}.fs-score{min-width:26px;height:26px;font-family:var(--font-display);font-variant-numeric:tabular-nums;color:#fff;border-radius:13px;place-items:center;padding:0 6px;font-size:11px;font-weight:800;display:inline-grid}.fs-score.go{background:var(--ok)}.fs-score.caution{background:#d97706}.fs-score.nogo{background:var(--grey-500)}.fs.on .fs-score{box-shadow:0 0 0 2px #ffffff59}.fish-card{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);animation:rise var(--t-base) var(--ease-out);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.fc-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.fc-head b{font-family:var(--font-display);font-size:var(--fs-base);display:block}.fc-head small{font-size:var(--fs-xs)}.fish-card .pl-actions{margin:2px 0 0}.fish-spots b{font-family:var(--font-display);font-size:var(--fs-sm);margin-bottom:6px;display:block}.spot-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.spot-list button{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--fg);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.spot-list button:hover{border-color:var(--brand)}.sp-n{color:#fff;width:24px;height:24px;font-size:12px;font-weight:800;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;display:grid}.sp-n.go{background:var(--poor)}.sp-n.caution{background:#d97706}.sp-n.nogo{background:var(--grey-500)}.sp-txt{flex-direction:column;flex:1;min-width:0;display:flex}.sp-txt b{font-size:var(--fs-sm);font-family:var(--font-body);margin:0}.sp-txt small{color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sp-score{font-family:var(--font-display);color:var(--fg-2);font-variant-numeric:tabular-nums;font-weight:800}.fish-ocean>b{font-family:var(--font-display);font-size:var(--fs-sm);margin-bottom:6px;display:block}.ocean-list{flex-wrap:wrap;gap:6px;display:flex}.ocean-list .chip{min-height:32px;font-size:var(--fs-xs);padding:2px 11px}.ocean-list .chip[aria-checked=true]{background:var(--brand);border-color:var(--brand);color:var(--brand-fg)}.fish-foot{margin:0}.legend-extra{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:8px;padding-top:8px;display:flex}.legend-extra[hidden]{display:none}.le-title{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-2);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.le-bar{border:1px solid #00000026;border-radius:5px;height:10px}.le-ticks{font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:3px;font-size:11px;font-weight:700;display:flex}.le-keys{align-items:center;gap:10px;font-size:11px;font-weight:600;display:flex}.le-keys i{vertical-align:-1px;border:1px solid #0003;border-radius:3px;width:14px;height:10px;margin-right:4px;display:inline-block}.dc-fish{border-top:1px solid var(--line);font-size:var(--fs-sm);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.dc-fish .go-chips .chip{min-height:28px;padding:2px 9px;font-size:11px}.dcf-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dcf-list li{align-items:center;gap:10px;display:flex}.dcf-list li span:last-child{flex-direction:column;min-width:0;display:flex}.dcf-list li b{font-size:var(--fs-sm)}.dcf-list li small{color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.rail-btn.fish[aria-pressed=true],.sheet-btn[data-act=fish][aria-pressed=true]{color:var(--accent)}@media (width<=759px),(height<=679px){.depth-card{width:calc(100vw - 24px);bottom:68px}.legend-card{width:min(230px,62vw);transition:opacity var(--t-base) var(--ease);bottom:68px}.viewer.card-open .legend-card{opacity:0;pointer-events:none}.rail .zoom-in,.rail .zoom-out{display:none}.planner{z-index:10;width:100%;max-height:88vh;animation:sheetIn var(--t-slow) var(--ease-out);border-radius:20px 20px 0 0;top:auto;bottom:0;left:0}.popover{right:var(--hud-pad);left:var(--hud-pad);width:auto;top:auto;bottom:68px}}.drawer-backdrop{z-index:10;backdrop-filter:blur(2px);animation:fade var(--t-base) var(--ease);background:#0b1f3a73;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.drawer{z-index:11;background:var(--surface);width:min(380px,100vw);color:var(--fg);box-shadow:var(--shadow-lg);animation:slideIn var(--t-slow) var(--ease-out);flex-direction:column;gap:10px;padding:16px 20px 24px;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:auto}@keyframes slideIn{0%{opacity:0;transform:translate(40px)}}.drawer-head{justify-content:space-between;align-items:center;display:flex}.drawer-title{font-size:var(--fs-2xl);margin:8px 0 0}.qr-wrap{border-radius:var(--r-lg);border:1px solid var(--line);color:var(--navy-900);background:#fff;flex-direction:column;align-items:center;gap:8px;padding:14px;display:flex}.qr-brand{font-family:var(--font-display);font-weight:800;font-size:var(--fs-lg);align-items:center;gap:8px;display:inline-flex}.qr-brand svg{border-radius:7px;width:26px;height:26px}#qr{width:220px!important;height:220px!important}.qr-title{font-size:var(--fs-sm);text-align:center;color:var(--grey-700);font-weight:600}.link-row{gap:8px;display:flex}.link-row .input{font-size:var(--fs-xs);font-family:var(--font-mono);min-width:0}.share-actions{gap:8px;display:flex}@media (width<=759px){.drawer{width:100%;max-height:92vh;animation:sheetIn var(--t-slow) var(--ease-out);border-radius:20px 20px 0 0;top:auto}}@keyframes sheetIn{0%{opacity:0;transform:translateY(40px)}}.map-status{z-index:12;border-radius:var(--r-lg);background:var(--surface);color:var(--fg);box-shadow:var(--shadow-lg);text-align:center;max-width:320px;padding:14px 20px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.toast{z-index:13;border-radius:var(--r-pill);background:var(--navy-900);color:#fff;font-weight:600;font-size:var(--fs-sm);box-shadow:var(--shadow-lg);animation:rise var(--t-base) var(--ease-out);white-space:nowrap;padding:10px 16px;position:absolute;bottom:90px;left:50%;transform:translate(-50%)}.maplibregl-user-location-dot,.maplibregl-user-location-accuracy-circle{z-index:2}.maplibregl-ctrl-geolocate{display:none!important}.maplibregl-popup-content{box-shadow:var(--shadow-lg);font-family:var(--font-body);border-radius:12px;padding:10px 14px}
