.plg{--paper:#FAF8F1;--card:#ffffff;--ink:#142722;--mute:#5b6b66;--green:#006B57;--gold:#E6AC32;--red:#A52E25;--line:#e2dccb;--deep:#0C3550;
--serif:Literata,Georgia,serif;--sans:"Atkinson Hyperlegible Next",Atkinson,system-ui,sans-serif}
.plg *{box-sizing:border-box}
.plg{background:var(--paper);color:var(--ink);font:400 16px/1.5 var(--sans);}
.plg .pwrap{max-width:1240px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.plg .kick{font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.plg h1{font:600 clamp(26px,4.4vw,42px)/1.12 var(--serif);margin:4px 0 6px;text-wrap:balance}
.plg .lead{font:400 16.5px/1.5 var(--serif);max-width:66ch;margin:0 0 12px}
.plg .modes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 8px}
.plg .lbl{font:800 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-right:2px}
.plg .chip{font:700 14px var(--sans);border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:7px 13px;cursor:pointer;min-height:36px}
.plg .chip[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
.plg .chip.st[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#142722}
.plg .chip.nt[aria-pressed="true"]{background:#1b2a4a;border-color:#1b2a4a;color:#fff}
.plg .chip:focus-visible,.plg .mm:focus-visible,.plg #q:focus-visible,.plg #mois:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.plg #q{font:400 15px var(--sans);padding:8px 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);min-width:0;flex:1 1 200px;max-width:340px;min-height:38px}
.plg .cnt{font:700 13.5px var(--sans);color:var(--mute)}
.plg .sais{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.plg #mois{flex:1 1 220px;max-width:360px;accent-color:var(--green)}
.plg .mval{font:800 14px var(--sans);min-width:150px}
.plg .info{font:500 14.5px/1.45 var(--sans);color:var(--mute);min-height:22px;margin:0 0 8px}
.plg .info b{color:var(--ink)}
.plg .stage{position:relative;height:min(70vh,620px,max(300px,82vw));border-radius:18px;overflow:hidden;background:var(--deep);touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.plg .stage.drag{cursor:grabbing}
.plg svg.pano{display:block;width:100%;height:100%}
.plg .place{position:absolute;left:50%;top:12px;transform:translateX(-50%);background:rgba(250,248,241,.94);color:#142722;border-radius:999px;padding:6px 16px;font:600 17px Literata,Georgia,serif;box-shadow:0 4px 14px rgba(12,53,80,.25);pointer-events:none;white-space:nowrap}
.plg .pzoom{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:6px}
.plg .pzoom button{width:40px;height:40px;border-radius:12px;border:0;background:rgba(250,248,241,.94);color:#142722;font:800 20px var(--sans);cursor:pointer;box-shadow:0 4px 14px rgba(12,53,80,.25)}
.plg .pzoom button.wide{font-size:12px;line-height:1.05}
.plg .pzoom button:focus-visible{outline:3px solid var(--gold)}
.plg .pnav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(250,248,241,.9);color:#142722;font:800 20px var(--sans);cursor:pointer;box-shadow:0 4px 14px rgba(12,53,80,.25)}
.plg .pnav.l{left:10px}
.plg .pnav.r{right:62px}
.plg .gauge{position:absolute;left:12px;bottom:12px;display:flex;gap:8px;align-items:center;background:rgba(250,248,241,.94);color:#142722;border-radius:999px;padding:6px 12px 6px 6px;font:700 14px var(--sans);pointer-events:none;box-shadow:0 4px 14px rgba(12,53,80,.25)}
.plg .gauge i{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;font-style:normal;font-size:13px}
.plg .hint{position:absolute;right:12px;bottom:12px;background:#FAF8F1;color:#142722;border-radius:999px;padding:7px 14px;font:700 13px var(--sans);pointer-events:none;transition:opacity .4s}
.plg .quiz{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:rgba(250,248,241,.96);color:#142722;border-radius:16px;padding:10px 16px;font:700 15px var(--sans);box-shadow:0 6px 20px rgba(12,53,80,.3);display:none;max-width:min(92%,560px);text-align:center}
.plg .quiz.on{display:block}
.plg .quiz small{display:block;font-weight:400;color:#5b6b66;margin-top:3px}
.plg .quiz img{height:54px;vertical-align:middle;margin-left:8px;filter:brightness(0) opacity(.85)}
.plg .mm{position:relative;height:56px;margin-top:10px;border-radius:12px;overflow:hidden;cursor:pointer;background:#0C3550 center/100% 100% no-repeat}
.plg .mm .fr{position:absolute;top:2px;bottom:2px;border:3px solid #FAF8F1;border-radius:9px;box-shadow:0 0 0 999px rgba(12,53,80,.35)}
.plg .mmlab{display:flex;justify-content:space-between;font:700 12px var(--sans);color:var(--mute);margin-top:4px;gap:6px;flex-wrap:wrap}
.plg .mmlab button{font:inherit;color:inherit;background:none;border:0;padding:4px 0;cursor:pointer}
.plg .mmlab button:hover{color:var(--green)}
.plg .bob{animation:plgbob var(--t,5s) ease-in-out var(--dl,0s) infinite alternate;transform-box:fill-box;transform-origin:center}
@keyframes plgbob{from{transform:translate(0,-4px) rotate(-1deg)}to{transform:translate(var(--dx,6px),5px) rotate(1deg)}}
.plg .fz image{transition:transform .25s,opacity .3s,filter .3s;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 5px 5px rgba(12,53,80,.35))}
.plg .fz{cursor:pointer;outline:none}
.plg .fz:hover image,.plg .fz:focus image{transform:scale(1.2)}
.plg .pano.f .fz:not(.on) image{opacity:.16;filter:grayscale(.6)}
.plg .pano.f .fz.on image{filter:drop-shadow(0 0 10px #E6AC32) drop-shadow(0 0 4px #FAF8F1)}
.plg .pano.night .fz:not(.nocturne) image{filter:brightness(.55) saturate(.6) drop-shadow(0 4px 4px rgba(0,0,20,.5))}
.plg .pano.night .fz.nocturne image{filter:brightness(1.05) drop-shadow(0 0 8px rgba(255,236,160,.75))}
.plg .pano.night.f .fz:not(.on) image{opacity:.16}
.plg .drift{animation:plgdrift 9s ease-in-out infinite alternate}
@keyframes plgdrift{from{transform:translate(-18px,0)}to{transform:translate(18px,2px)}}
.plg .sway{animation:plgsway 6s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 10%}
@keyframes plgsway{from{transform:rotate(-1.5deg)}to{transform:rotate(1.5deg)}}
.plg .glide{animation:plgglide 14s linear infinite}
@keyframes plgglide{0%{transform:translate(-160px,10px)}50%{transform:translate(160px,-14px)}100%{transform:translate(-160px,10px)}}
.plg .dive{animation:plgdive 5s ease-in infinite;opacity:0}
@keyframes plgdive{0%,30%{transform:translate(0,0);opacity:0}38%{opacity:1}62%{transform:translate(40px,120px);opacity:1}64%,100%{transform:translate(40px,120px);opacity:0}}
.plg .splash{animation:plgsplash 5s ease-out infinite;opacity:0}
@keyframes plgsplash{0%,62%{opacity:0}66%{opacity:1}85%{opacity:.9}100%{opacity:0}}
.plg .thermo{transition:transform 1.2s ease}
.plg .thermo path{animation:plgth 8s ease-in-out infinite alternate}
@keyframes plgth{from{transform:translate(0,-6px)}to{transform:translate(0,6px)}}
.plg .pulse2{animation:plgpl 3s ease-in-out infinite alternate}
@keyframes plgpl{from{opacity:.55}to{opacity:1}}
.plg .nightlayer{opacity:0;transition:opacity 1.2s;pointer-events:none}
.plg .pano.night .nightlayer{opacity:1}
.plg .daylayer{transition:opacity 1.2s}
.plg .pano.night .daylayer{opacity:0}
.plg .pin{cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s}
.plg .pano.s .pin{opacity:1;pointer-events:auto}
.plg .pin circle.o{fill:#E6AC32;stroke:#142722;stroke-width:2.5}
.plg .pin circle.p{fill:none;stroke:#E6AC32;stroke-width:3;animation:plgpulse 2s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes plgpulse{from{transform:scale(1);opacity:.9}to{transform:scale(2.2);opacity:0}}
.plg .pin text{font:800 15px "Atkinson Hyperlegible Next",system-ui,sans-serif;fill:#142722;paint-order:stroke;stroke:#FAF8F1;stroke-width:5px}
.plg .pin.on circle.o{fill:#A52E25}
.plg .sheet{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--card);color:var(--ink);border-radius:20px 20px 0 0;box-shadow:0 -10px 34px rgba(12,53,80,.28);transform:translateY(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);max-height:78vh;overflow:auto;padding-block:14px max(18px,env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.plg .sheet.open{transform:none}
.plg .sheet .grab{width:44px;height:5px;border-radius:9px;background:var(--line);margin:0 auto 10px}
.plg .sh{max-width:760px;margin:0 auto;display:grid;gap:10px}
.plg .shtop{display:flex;gap:14px;align-items:center}
.plg .shtop img{width:170px;max-width:40%;height:auto;background:#fff;border-radius:12px;padding:6px;border:1px solid var(--line)}
.plg .shtop h2,.plg .sh h2{font:600 22px/1.2 var(--serif);margin:0}
.plg .lat{font:italic 400 15px var(--serif);color:var(--mute)}
.plg .locn{font:800 17px var(--sans);color:var(--green);margin-top:2px}
.plg .tags{display:flex;flex-wrap:wrap;gap:6px}
.plg .tag{font:700 12.5px var(--sans);border-radius:999px;padding:4px 10px;background:var(--paper);border:1.5px solid var(--z,var(--line))}
.plg .tag.warn{border-color:var(--red);color:var(--red)}
.plg .sh p{margin:0;font-size:15.5px}
.plg .sh h3{font:800 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin:4px 0 0}
.plg .sh ul{margin:0;padding-left:18px;font-size:15px}
.plg .two{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.plg .sp{display:flex;flex-wrap:wrap;gap:6px}
.plg .sp button{font:700 13px var(--sans);border:1.5px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:5px 10px;cursor:pointer}
.plg .acts{display:flex;gap:8px;flex-wrap:wrap}
.plg .btn{font:800 14px var(--sans);border-radius:999px;padding:9px 16px;text-decoration:none;border:0;cursor:pointer}
.plg .btn.pri{background:var(--green);color:#fff}
.plg .btn.sec{background:var(--paper);color:var(--ink);border:1.5px solid var(--line)}
.plg .note{font:400 13px var(--sans);color:var(--mute);margin-top:12px}
@media (max-width:520px){.plg .gauge{display:none}.plg .pzoom button{width:34px;height:34px;font-size:17px}.plg .pzoom button.wide{font-size:10.5px}.plg .pnav{width:36px;height:36px}.plg .pnav.r{right:52px}.plg .hint{font-size:11.5px;padding:5px 10px}.plg .place{font-size:15px}}
@media (prefers-reduced-motion:reduce){.plg .bob,.plg .drift,.plg .sway,.plg .glide,.plg .dive,.plg .splash,.plg .thermo path,.plg .pulse2,.plg .pin circle.p{animation:none}.plg .dive{opacity:0}.plg .sheet,.plg .nightlayer,.plg .daylayer,.plg .thermo{transition:none}}