/* A larger, unwarped map; instruments rest in its ocean and outer margins. */
@font-face{font-family:'Pinyon Script';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/pinyon-script.ttf') format('truetype')}
body[data-screen=explore]{overflow:hidden}
.explore-screen{height:100svh;min-height:580px;overflow:hidden}
.geographic-map,.map-frame,.map-shade,.map-paper-grain{inset:82px 8px 10px!important}
.map-heading{top:44px;left:0;right:0;max-width:none;height:45px;padding:4px 20px 0;pointer-events:none;background:linear-gradient(180deg,#ead7adf5,#ead7addb 68%,#ead7ad00);border:0;box-shadow:none;z-index:4}
.map-heading h1{font-size:30px;line-height:1.1;margin:0;letter-spacing:0}
.map-heading p,.map-heading .orn{display:none}
body[data-world=dark] .map-heading{background:linear-gradient(#090e17f5,#090e17e0 70%,#090e1700);border:0}
body[data-world=dark] .map-heading h1{font-size:25px;line-height:1.4;margin:0}
.map-controls{inset:0;pointer-events:none;z-index:6;display:block;width:auto}
.map-controls>*{pointer-events:auto}
.map-controls .instrument{top:138px;right:28px;width:100px;height:115px;transform:rotate(14deg)}
.map-controls .glass-object{filter:drop-shadow(2px 5px 3px #0008)}
.divider-object{top:246px;right:44px;width:75px;height:133px;transform:rotate(-19deg);z-index:6}
.instrument-caption,.divider-object>span{font-size:15px}
.keepsake-dock{left:24px;bottom:40px;transform:scale(.93);transform-origin:bottom left;gap:14px}
.compass-dock{right:22px;bottom:29px;transform:scale(.88);transform-origin:bottom right}
.field-note{left:113px;right:auto;top:auto;bottom:142px;width:95px;padding:9px 7px 6px;font-size:13px;line-height:1.1;transform:rotate(8deg);z-index:8;box-shadow:1px 4px 5px #0007}
.field-note:before{width:27px;left:36px}.field-note b{font-size:15px}
body[data-world=dark] .field-note{font-size:10px;bottom:141px;width:96px}
.map-status{bottom:9px;max-width:58%;font-size:11px;padding:4px 10px;border-radius:4px;background:#21170fc9;backdrop-filter:blur(3px);z-index:5}
body[data-world=dark] .map-status{background:#061019cc;font-size:10px}
.art-zoom-label{display:none}
.art-map-surface .art-hydro-night{opacity:0}
.art-map[data-art-world=dark] .art-hydro-night{opacity:1}
.art-map[data-art-world=dark] .art-hydro-day{opacity:0}
.art-ocean-label{font:italic 41px 'IM Fell English',Georgia,serif;letter-spacing:4px;left:10%;top:42%;color:#f6e8ca;text-shadow:0 2px 4px #082e4d,0 0 8px #002638}
.place-pin,body[data-world=dark] .place-pin{font:22px/1.1 'Pinyon Script','Cedarville Cursive',cursive;color:#fff1cb;letter-spacing:0;text-shadow:0 1px 2px #071e27,0 0 3px #081d24,0 0 7px #0b292c}
.place-pin>span{top:5px;line-height:1.15;padding:0 2px;border-radius:3px;pointer-events:auto}
.place-pin:hover>span,.place-pin:focus-visible>span{background:#142c2ac7;outline:1px solid #e7c17888}
.place-pin:before,body[data-world=dark] .place-pin:before{width:5px;height:5px;left:15px;top:15px;border-radius:50%;border:1px solid #c6b28d;background:#667663;box-shadow:0 0 3px #020d13}
.place-pin.has-quest:before{width:9px;height:9px;left:13px;top:13px;background:#fff4bb;border:1px solid #ffeab1;box-shadow:0 0 7px 3px #ffe09b,0 0 22px 7px #d9aa4b99}
.place-pin.has-quest:after{content:'';position:absolute;inset:7px;border:1px solid #ffe4a7cc;border-radius:50%;box-shadow:0 0 14px #f9c665;animation:quest-beacon 3.8s ease-in-out infinite;pointer-events:none}
.place-pin.has-quest>span{color:#fff4c2;text-shadow:0 0 3px #2d1806,0 0 7px #1c1707,0 0 12px #fff1b8}
.place-pin.is-preparing:before{background:transparent;border-color:#b6b395}
body[data-world=dark] .place-pin{color:#cebbc2;text-shadow:0 1px 2px #000,0 0 6px #000}
body[data-world=dark] .place-pin:before{border-color:#6e4c58;background:#45333f;box-shadow:0 0 3px #000}
body[data-world=dark] .place-pin.has-quest:before{background:#ffb3bf;border-color:#ffced6;box-shadow:0 0 7px 3px #fb3b60,0 0 26px 8px #bc173a88}
body[data-world=dark] .place-pin.has-quest:after{border-color:#ff5473;box-shadow:0 0 18px #e32349}
body[data-world=dark] .place-pin.has-quest>span{color:#ffe1e6;text-shadow:0 0 4px #350111,0 0 10px #ee2d55}
@keyframes quest-beacon{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
.label-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}
.label-leaders line{stroke:#e8d2a390;stroke-width:.7}
body[data-world=dark] .label-leaders line{stroke:#ab607377}
.lamp-object{position:absolute;top:108px;left:28px;width:154px;height:266px;filter:drop-shadow(3px 9px 5px #0007);z-index:7;--lamp-power:1;pointer-events:auto}
.lamp-body{position:absolute;top:0;left:0;width:154px;height:240px;pointer-events:none}
.lamp-light{position:absolute;left:-74px;top:-25px;width:290px;height:300px;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse,#ffd77536,transparent 68%);opacity:var(--lamp-power);mix-blend-mode:screen;animation:lamp-halo 7.1s ease-in-out infinite}
.lamp-flame{position:absolute;left:69px;top:109px;width:17px;height:33px;border-radius:65% 20% 55% 45%;background:radial-gradient(ellipse at 50% 78%,#fff 0 14%,#fffac5 25%,#ffc950 47%,#e78a22 68%,transparent 72%);filter:drop-shadow(0 0 9px #ffc24b);transform-origin:50% 100%;opacity:calc(.4 + var(--lamp-power)*.6);animation:living-flame 1.3s ease-in-out infinite alternate}
.lamp-flame:after{content:'';position:absolute;left:5px;bottom:0;width:7px;height:10px;background:#91ccffbd;border-radius:50%;filter:blur(1px)}
.lamp-caption{position:absolute;top:233px;left:-10px;width:174px;text-align:center;font:italic 14px 'IM Fell English',serif;color:#f0d69a;text-shadow:0 2px 4px #140b02;pointer-events:none}
.lamp-caption output{font:11px Georgia,serif;padding-left:6px}
.lamp-dial{position:absolute;right:-5px;top:177px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:2px solid #d0b27a;box-shadow:0 0 0 3px #3c2917,2px 6px 8px #0009,inset 0 1px 4px #fff6;background:repeating-conic-gradient(#987342 0deg 3deg,#4f371c 3deg 9deg);cursor:grab;touch-action:none;outline-offset:6px}
.lamp-dial:active{cursor:grabbing}.lamp-dial:focus-visible{outline:2px solid #ffe3a4}
.lamp-dial-knob{width:34px;height:34px;display:block;position:relative;border-radius:50%;background:radial-gradient(ellipse at 30% 20%,#e8d18f,#8b632e 58%,#3f2913);box-shadow:inset 0 0 0 1px #dac28d;transform:rotate(var(--dial-angle,135deg));pointer-events:none}
.lamp-dial-knob:after{content:'';position:absolute;left:15px;top:3px;width:3px;height:11px;background:#fff2bf;box-shadow:0 0 2px #382109;border-radius:2px}
.lamp-dial-hint{position:absolute;top:259px;left:0;right:-8px;text-align:center;color:#cdbb95;font:10px 'IM Fell English',serif;pointer-events:none}
#lens-secret{position:relative;z-index:2;padding:8px 12px;color:#ffe8ae;background:#101b14e8;border:1px solid #d1b675aa;border-radius:5px;box-shadow:0 3px 10px #0007;text-shadow:0 1px 2px #000;font:15px/1.2 'IM Fell English',serif}
#lens-secret b{font-size:32px;line-height:1.15;letter-spacing:2px;color:#fff1c8}
#lens-secret i{font-size:11px;margin-top:3px}
.lamp-object.is-guttering .lamp-flame{animation:guttering-flame 2.4s ease-in-out both}
.lamp-object.is-guttering .lamp-light{animation:guttering-light 2.4s ease-in-out both}
@keyframes living-flame{0%{transform:scale(.85,1.05) rotate(-5deg)}35%{transform:scale(1,.9) rotate(2deg)}100%{transform:scale(.83,1.13) rotate(6deg)}}
@keyframes lamp-halo{0%,100%{filter:brightness(1)}42%{filter:brightness(.92)}58%{filter:brightness(1.06)}}
@keyframes guttering-flame{0%,100%{transform:scale(1);opacity:1}20%{transform:scale(.55,.7) rotate(18deg);opacity:.5}40%{transform:scale(.8,1.2) rotate(-17deg)}65%{transform:scale(.6,.8);opacity:.65}}
@keyframes guttering-light{0%,100%{filter:brightness(1)}25%{filter:brightness(.5)}60%{filter:brightness(.7)}}
.lamp-gutter-shade{position:absolute;inset:82px 8px 10px;z-index:2;background:#150b00;opacity:0;pointer-events:none;transition:opacity .35s}
.lamp-gutter-shade.active{animation:gutter-map 2.4s ease-in-out both}
@keyframes gutter-map{0%,100%{opacity:0}24%{opacity:.075}43%{opacity:.025}66%{opacity:.055}}
body[data-world=dark] .lamp-object{filter:grayscale(1) drop-shadow(0 0 10px #fa31542b)}
body[data-world=dark] .lamp-light{background:radial-gradient(ellipse,#e12a4d22,transparent 68%);animation:none}
body[data-world=dark] .lamp-flame{background:#ed46647d;border-radius:4px;width:10px;height:24px;left:72px;top:119px;animation:none;filter:drop-shadow(0 0 9px #ed4266)}
body[data-world=dark] .lamp-flame:after{display:none}
body[data-world=dark] .lamp-caption{font:11px monospace;color:#cc8796}
body[data-world=dark] .lamp-dial{border-color:#75838d;background:repeating-conic-gradient(#54616b 0deg 3deg,#17212b 3deg 9deg);box-shadow:0 0 0 3px #111d26,0 0 9px #e92d4933}
body[data-world=dark] .lamp-dial-knob{background:radial-gradient(ellipse at 30% 20%,#81909b,#2c3f4a 58%,#0a111b)}
.scene-ambience{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #a385553b;border-bottom:1px solid #a385553b;margin:0 0 18px}
.scene-ambience span{font:italic 12px/1.5 'IM Fell English',serif;flex:1}
.scene-ambience button{font:12px 'IM Fell English',serif;border:1px solid #b99b64;border-radius:20px;padding:6px 11px;white-space:nowrap;background:#ead6a877}
body[data-world=dark] .scene-ambience{border-color:#80415455}body[data-world=dark] .scene-ambience button{background:#18242e;border-color:#784757}
.hydro-label{position:absolute;font:italic 22px 'IM Fell English',Georgia,serif;color:#e2d9ba;text-shadow:0 1px 3px #062639,0 0 5px #073a43;white-space:nowrap;pointer-events:none;transform:translate(-50%,-50%) rotate(var(--tilt,0deg))}
.hydro-label[data-river=etangs]{left:34%;top:4.6%;--tilt:16deg}
.hydro-label[data-river=eyre]{left:68%;top:39%;--tilt:27deg}
.hydro-label[data-river=gourgue]{left:58%;top:54%;--tilt:-10deg}
.hydro-label[data-river=landes]{left:37%;top:40%;--tilt:-74deg}
.art-map[data-art-world=dark] .hydro-label{color:#c68d97;text-shadow:0 0 5px #500b21;font-size:20px}
.art-map[data-art-world=dark] .hydro-label[data-river=etangs]{left:32%;top:7%}
.art-map[data-art-world=dark] .hydro-label[data-river=eyre]{left:59%;top:47%}
.art-map[data-art-world=dark] .hydro-label[data-river=gourgue]{left:58%;top:57%}
.art-map[data-art-world=dark] .hydro-label[data-river=landes]{left:35%;top:41%}
@media(min-width:1500px){.place-pin,body[data-world=dark] .place-pin{font-size:25px}.lamp-object{left:40px;top:135px}.map-controls .instrument{right:42px;top:135px}.divider-object{right:57px;top:265px}.compass-dock{right:35px;transform:scale(1)}}
@media(max-height:700px) and (min-width:701px){.lamp-object{top:105px;left:20px;transform:scale(.84);transform-origin:top left}.map-controls .instrument{top:112px;right:20px;width:85px;height:103px}.divider-object{top:218px;right:35px;width:65px;height:114px}.keepsake-dock{left:17px;bottom:36px;transform:scale(.8)}.field-note{bottom:123px;left:97px;transform:scale(.9) rotate(8deg);transform-origin:bottom left}.compass-dock{right:15px;bottom:22px;transform:scale(.76)}}
@media(max-width:700px){
 body[data-screen=explore]{overflow:auto}.explore-screen{height:100svh;min-height:720px}.map-heading{top:40px;height:42px;padding-top:6px}.map-heading h1{font-size:28px}body[data-world=dark] .map-heading h1{font-size:20px}
 .geographic-map,.map-frame,.map-shade,.map-paper-grain{inset:89px 0 175px!important}.lamp-gutter-shade{inset:89px 0 175px}
 .lamp-object{top:auto;bottom:15px;left:1px;width:154px;height:266px;transform:scale(.57);transform-origin:bottom left}
 .lamp-dial:before{content:'';position:absolute;inset:-15px;border-radius:50%}
 .map-controls .instrument{top:auto;right:145px;bottom:115px;width:56px;height:64px;transform:rotate(10deg)}.divider-object{top:auto;right:205px;bottom:115px;width:46px;height:75px;transform:rotate(-15deg)}
 .instrument-caption,.divider-object>span{font-size:12px}.keepsake-dock{left:93px;bottom:28px;transform:scale(.48);gap:13px}.field-note{left:115px;bottom:55px;transform:scale(.55) rotate(6deg);transform-origin:bottom left;width:95px}
 .compass-dock{right:5px;bottom:25px;transform:scale(.65)}body[data-world=dark] .field-note{bottom:55px}
 .map-status{bottom:5px;width:94%;max-width:94%;font-size:9px;padding:3px 4px}.place-pin,body[data-world=dark] .place-pin{font-size:18px}.place-pin>span{top:7px}.art-ocean-label{font-size:53px;left:8%;top:35%}.hydro-label{font-size:30px}.art-map[data-art-world=dark] .hydro-label{font-size:27px}
 .scene-ambience span{font-size:12px}.scene-ambience button{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.lamp-flame,.lamp-light,.place-pin.has-quest:after,.lamp-gutter-shade.active{animation:none!important}.lamp-gutter-shade{display:none}}
/* Dans le noir (lampe éteinte), la loupe reste visible comme les autres outils : même plan qu’eux, au-dessus du voile noir (map-shade, z-index 3). */
.map-controls .instrument{z-index:6}
