/* WELLS Estate Systems v2 */
.systems-layer{position:absolute;inset:0;z-index:27;pointer-events:none;overflow:hidden}
.room-light-grade{position:absolute;inset:0;pointer-events:none;transition:background .7s ease,opacity .7s ease;mix-blend-mode:multiply}
.room-light-grade[data-level="1"]{background:rgba(6,8,8,.19)}
.room-light-grade[data-level="2"]{background:rgba(2,4,5,.55)}
body[data-room-lights="2"] .living-glow:not(.living-fire),body[data-room-lights="2"] .study-lamp-glow{opacity:.07!important}
body[data-room-lights="1"] .study-lamp-glow{opacity:.36!important}

.room-dimmer{position:absolute;right:2.7%;bottom:18%;width:54px;height:68px;border:1px solid rgba(226,207,164,.24);background:linear-gradient(180deg,rgba(37,36,30,.88),rgba(12,14,12,.92));box-shadow:0 8px 20px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.025);pointer-events:auto;cursor:pointer;display:grid;place-items:center;padding:5px;z-index:5}
.room-dimmer i{width:27px;height:27px;border-radius:50%;border:1px solid #7e7259;background:radial-gradient(circle at 38% 32%,#bbb092,#514b3e 55%,#24251f);box-shadow:inset -3px -4px 8px rgba(0,0,0,.35);position:relative;transition:transform .35s}
.room-dimmer i::after{content:"";position:absolute;left:50%;top:3px;width:1px;height:8px;background:#e6d7ad;transform-origin:50% 11px}
.room-dimmer[data-level="0"] i{transform:rotate(-38deg)}.room-dimmer[data-level="1"] i{transform:rotate(0deg)}.room-dimmer[data-level="2"] i{transform:rotate(38deg)}
.room-dimmer small{font-size:5px;letter-spacing:.16em;color:#a89c82}.room-dimmer span{font-size:6px;letter-spacing:.1em;color:#e6d7b6}
.room-dimmer:hover{border-color:rgba(229,204,141,.55)}

.estate-clock{position:absolute;right:15%;top:12%;width:66px;height:108px;border:0;background:transparent;pointer-events:auto;cursor:pointer;filter:drop-shadow(0 5px 8px rgba(0,0,0,.55));z-index:4}
.clock-face{position:absolute;left:50%;top:0;width:62px;height:62px;transform:translateX(-50%);border-radius:50%;border:3px solid #796444;background:radial-gradient(circle,#c6b88f 0,#8b7b59 8%,#181a16 11%,#eee2c7 13%,#c5b792 72%,#453b29 74%,#161914 81%);box-shadow:inset 0 0 12px rgba(0,0,0,.6),0 0 0 1px rgba(229,204,141,.25)}
.clock-face::before{content:"XII";position:absolute;left:50%;top:4px;transform:translateX(-50%);font:6px Georgia,serif;color:#28261f}.clock-face::after{content:"VI";position:absolute;left:50%;bottom:4px;transform:translateX(-50%);font:6px Georgia,serif;color:#28261f}
.clock-face b{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#9d7740;transform:translate(-50%,-50%);z-index:5}
.clock-hand{position:absolute;left:50%;bottom:50%;transform-origin:50% 100%;display:block;background:#25251f;border-radius:2px;z-index:3}
.clock-hand.hour{width:2px;height:16px}.clock-hand.minute{width:1.5px;height:22px}.clock-hand.second{width:1px;height:24px;background:#8a432f}
.estate-clock>em{position:absolute;left:50%;top:63px;width:30px;height:36px;transform:translateX(-50%);border:2px solid #675637;border-top:0;background:linear-gradient(90deg,#191b17,#766342 50%,#191b17);clip-path:polygon(20% 0,80% 0,100% 100%,0 100%)}
.estate-clock>em::after{content:"";position:absolute;left:50%;top:5px;width:8px;height:22px;border-radius:50%;background:#b49352;transform:translateX(-50%);transform-origin:50% 0;animation:pendulum 1.2s ease-in-out infinite alternate}
.estate-clock.chiming{animation:clockPulse .42s ease 4}
@keyframes pendulum{to{transform:translateX(-50%) rotate(13deg)}}@keyframes clockPulse{50%{filter:drop-shadow(0 0 12px rgba(229,204,141,.6))}}

.roof-telescope{position:absolute;right:7%;top:16%;width:100px;height:85px;border:0;background:transparent;pointer-events:auto;cursor:pointer;filter:drop-shadow(0 5px 10px rgba(0,0,0,.65));z-index:5}
.roof-telescope .scope{position:absolute;left:20px;top:14px;width:63px;height:14px;border-radius:8px 3px 3px 8px;background:linear-gradient(180deg,#373b38,#111513 55%,#73715f);transform:rotate(-21deg);box-shadow:inset 0 0 0 1px rgba(218,210,181,.18)}
.roof-telescope .scope::before{content:"";position:absolute;right:-9px;top:-3px;width:11px;height:20px;border-radius:3px;background:#1b1e1c;border:1px solid #716b58}.roof-telescope .scope::after{content:"";position:absolute;left:-8px;top:3px;width:9px;height:9px;border-radius:50%;background:#1d2830;box-shadow:inset 0 0 0 2px #605b4f}
.roof-telescope .tripod{position:absolute;left:49px;top:37px;width:4px;height:43px;background:#57574c;transform:rotate(4deg)}
.roof-telescope .tripod::before,.roof-telescope .tripod::after{content:"";position:absolute;top:8px;width:3px;height:42px;background:#4e5048;transform-origin:top}.roof-telescope .tripod::before{transform:rotate(24deg)}.roof-telescope .tripod::after{transform:rotate(-27deg)}
.roof-telescope:hover{transform:scale(1.04)}

.physical-notebook{position:absolute;left:62%;top:70%;width:84px;height:54px;border:0;background:#3b291c;transform:perspective(120px) rotateX(9deg) rotate(-5deg);pointer-events:auto;cursor:pointer;box-shadow:7px 9px 15px rgba(0,0,0,.42),inset 0 0 0 1px #705a39;z-index:5}
.physical-notebook::before{content:"";position:absolute;left:7px;right:5px;top:4px;bottom:4px;border:1px solid rgba(205,172,105,.45)}
.physical-notebook i{position:absolute;left:11px;top:0;bottom:0;width:3px;background:#21170f}.physical-notebook b{font:19px "Playfair Display",serif;color:#b8995d;position:relative}
.physical-notebook:hover{transform:perspective(120px) rotateX(4deg) rotate(-2deg) translateY(-3px)}

.map-table-object{position:absolute;left:50%;top:65%;width:130px;height:68px;transform:translate(-50%,-50%) perspective(140px) rotateX(25deg);border:0;background:rgba(82,58,35,.22);pointer-events:auto;cursor:pointer;z-index:4}
.map-table-object i{position:absolute;inset:6px;border:1px solid rgba(201,171,110,.34);background:linear-gradient(145deg,rgba(191,157,97,.12),rgba(29,24,17,.12))}
.map-table-object b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:6px;letter-spacing:.18em;color:#d4c092;opacity:.5}.map-table-object:hover b{opacity:1}

.estate-system-overlay{position:absolute;inset:0;z-index:86;background:#070a09;display:none;overflow:auto}.estate-system-overlay.open{display:block}
.system-exit{position:absolute;z-index:10;left:20px;top:20px;border:1px solid rgba(239,225,194,.22);background:rgba(8,11,9,.65);backdrop-filter:blur(12px);padding:10px 13px;font-size:7px;letter-spacing:.16em;cursor:pointer}
.system-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.system-head small,.observatory-meta small{font-size:7px;letter-spacing:.25em;color:#c3aa75}.system-head h2,.observatory-meta h2{font:46px "Playfair Display",serif;font-weight:500;margin:7px 0 0}.system-head>span{font-size:7px;letter-spacing:.18em;color:#9b8e75}
.system-action{border:1px solid #6e6148;background:#181914;color:#eee2c4;padding:11px 12px;font-size:7px;letter-spacing:.15em;cursor:pointer}.system-action:hover{background:#eee2c4;color:#171813}.system-action.secondary{border-color:#383b34;background:#11140f;color:#a79c86}
.system-status{min-height:18px;font-size:8px!important;color:#b9aa8d!important;line-height:1.45!important}

.map-table-overlay{background:radial-gradient(circle at 48% 40%,#28231a,#0a0c0a 68%)}
.map-table-shell{width:min(1220px,94vw);margin:0 auto;padding:78px 0 38px}
.map-table-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:20px;margin-top:20px;align-items:stretch}
.physical-world-map{position:relative;min-height:610px;overflow:hidden;border:10px solid #4b3625;outline:1px solid #796044;background:radial-gradient(circle at 50% 42%,#c1aa7a,#9d865d 63%,#705b3c);box-shadow:inset 0 0 80px rgba(56,34,18,.55),0 30px 80px rgba(0,0,0,.38);touch-action:none}
.physical-world-map::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,transparent 52%,rgba(53,34,20,.26)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.10'/%3E%3C/svg%3E")}
.physical-world-map>svg{position:absolute;inset:3%;width:94%;height:94%}.map-grid path{fill:none;stroke:rgba(72,57,37,.18);stroke-width:1}.map-land polygon,.map-land path{fill:rgba(77,73,52,.48);stroke:rgba(67,53,35,.7);stroke-width:1.3;vector-effect:non-scaling-stroke}
.map-pins{position:absolute;inset:3%;z-index:3}.map-pin{position:absolute;transform:translate(-50%,-50%);width:18px;height:18px;border:0;background:transparent;cursor:pointer;touch-action:none;z-index:2}
.map-pin i{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50% 50% 50% 0;background:#8f2f26;border:1px solid #5e231d;transform:translate(-50%,-70%) rotate(-45deg);box-shadow:0 2px 4px rgba(0,0,0,.25)}
.map-pin span{position:absolute;left:13px;top:-2px;padding:3px 4px;background:rgba(215,195,151,.86);border:1px solid rgba(80,60,36,.25);color:#2e281d;font:600 5px "DM Sans",sans-serif;letter-spacing:.06em;white-space:nowrap;opacity:0;transform:translateY(3px);transition:.15s;pointer-events:none}
.map-pin:hover span,.map-pin.selected span,.map-pin:focus-visible span{opacity:1;transform:none}.map-pin.selected{z-index:8}.map-pin.selected i{background:#d2a94d;box-shadow:0 0 0 4px rgba(210,169,77,.18)}.map-pin.custom i{background:#274b52;border-color:#17363c}
.manual-pin-guide{position:absolute;z-index:7;left:50%;top:15px;transform:translateX(-50%);background:#1f2019;color:#eadab7;border:1px solid #7a6848;padding:8px 10px;font-size:7px;letter-spacing:.15em;opacity:0;pointer-events:none}.manual-pin-guide.show{opacity:1}
.map-ledger{background:#171711;border:1px solid rgba(230,215,181,.15);padding:18px;display:flex;flex-direction:column;gap:12px}.map-selection{min-height:175px;border-bottom:1px solid #38372f;padding-bottom:14px}.map-selection small{font-size:6px;letter-spacing:.2em;color:#a88c5e}.map-selection h3{font:26px "Playfair Display",serif;font-weight:500;margin:7px 0 8px}.map-selection p{font-size:10px;line-height:1.6;color:#aea58f}.pin-coords{font-size:6px;letter-spacing:.13em;color:#857c68;margin-top:10px}.pin-actions{display:flex;gap:7px;margin-top:14px}.pin-actions button{flex:1;border:1px solid #45453d;background:#0e110d;padding:8px;font-size:6px;letter-spacing:.1em;cursor:pointer}.inline-pin-note{width:100%;min-height:95px;border:1px solid #4a493f;background:#0d100d;color:#eee3ca;padding:10px;font:11px/1.5 "DM Sans",sans-serif;resize:vertical;outline:none}.inline-pin-note:focus{border-color:#9e8454}
.map-add-form{display:grid;gap:10px;border-top:1px solid #302f29;padding-top:12px}.map-add-form label,.journal-note-form label{font-size:6px;letter-spacing:.15em;color:#a99a7c;display:grid;gap:6px}.map-add-form input,.map-add-form textarea,.journal-note-form textarea{width:100%;border:1px solid #393a33;background:#0d100d;color:#eee3ca;padding:10px;font:12px "DM Sans",sans-serif;resize:vertical;outline:none}.map-add-form textarea{min-height:76px}.map-add-form input:focus,.map-add-form textarea:focus,.journal-note-form textarea:focus{border-color:#9e8454}.map-attribution{margin-top:auto;font-size:6px;line-height:1.45;color:#665f52}

.observatory-overlay{z-index:88;overflow:hidden;background:radial-gradient(circle at 50% 45%,#10171e,#030507 68%)}
.observatory-chrome{height:100%;min-height:650px;display:grid;grid-template-columns:260px 1fr 270px;gap:24px;align-items:center;padding:70px 5vw 35px}.observatory-meta h2{font-size:43px}.observatory-meta p{font-size:8px;letter-spacing:.12em;line-height:1.7;color:#8e9aa1}
.telescope-view{position:relative;aspect-ratio:1/1;max-height:78vh;border-radius:50%;overflow:hidden;border:17px solid #171b1d;outline:2px solid #5b5649;box-shadow:0 0 0 8px #090b0c,0 0 100px rgba(82,119,144,.14),inset 0 0 80px #000;background:#030509}
.telescope-view::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 95px 45px rgba(0,0,0,.84);pointer-events:none;z-index:8}.starfield{position:absolute;inset:0}.starfield i{position:absolute;width:2px;height:2px;border-radius:50%;background:#d9e6e8;animation:starPulse 3s ease-in-out infinite alternate}
@keyframes starPulse{to{opacity:.25}}
.moon-wrap{position:absolute;left:50%;top:50%;width:69%;height:69%;transform:translate(-50%,-50%)}.moon{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 34% 27%,#e3e0d2 0,#bbb9ae 36%,#8e918b 70%,#5e6461 100%);box-shadow:inset -34px -22px 55px rgba(29,34,34,.48),0 0 35px rgba(199,211,206,.2);transition:filter .2s}
.moon::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 27% 38%,rgba(78,82,79,.3) 0 3%,transparent 3.5%),radial-gradient(circle at 61% 28%,rgba(83,84,79,.22) 0 5%,transparent 5.5%),radial-gradient(circle at 48% 63%,rgba(71,76,74,.28) 0 7%,transparent 7.5%),radial-gradient(circle at 72% 62%,rgba(74,76,72,.2) 0 4%,transparent 4.5%),radial-gradient(circle at 34% 74%,rgba(69,71,68,.22) 0 3%,transparent 3.5%)}
.moon-phase-mask{position:absolute;inset:-1%;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse at 58% 42%,rgba(4,8,10,.9),rgba(2,5,7,.76) 68%,rgba(1,3,4,.62));mix-blend-mode:multiply;opacity:.45;transition:opacity .35s}
.moon-craters{position:absolute;inset:0;z-index:3}.moon-crater{position:absolute;width:9%;height:9%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(52,57,54,.2);background:radial-gradient(circle at 42% 39%,rgba(69,72,68,.22),rgba(244,242,225,.06) 50%,rgba(47,52,49,.19));cursor:crosshair}
.moon-crater:hover{border-color:rgba(185,222,209,.5);box-shadow:0 0 9px rgba(135,222,203,.18)}.moon-crater.signal{border-color:#7fd9b9;box-shadow:0 0 0 2px rgba(64,176,141,.25),0 0 15px rgba(71,207,167,.35)}.moon-crater.signal::after{content:"";position:absolute;inset:30%;border-radius:50%;background:#a6f3d8;box-shadow:0 0 8px #83d9bb}.moon-crater.dead{animation:deadScan .35s linear 2}
@keyframes deadScan{50%{filter:brightness(2)}}
.scan-reticle{position:absolute;left:50%;top:50%;width:32%;height:32%;border:1px solid rgba(146,209,192,.24);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:4}.scan-reticle::before,.scan-reticle::after{content:"";position:absolute;background:rgba(146,209,192,.2)}.scan-reticle::before{left:50%;top:-20%;bottom:-20%;width:1px}.scan-reticle::after{top:50%;left:-20%;right:-20%;height:1px}
.alien-craft{position:absolute;z-index:6;right:7%;top:34%;width:35px;height:12px;border-radius:50%;background:#151d1c;box-shadow:0 -2px 0 #697e77,0 0 13px rgba(103,216,179,.0);opacity:0;transform:translate(0,0) scale(.3)}.alien-craft i{position:absolute;left:50%;top:-8px;width:14px;height:9px;border-radius:50% 50% 25% 25%;background:rgba(119,165,154,.65);transform:translateX(-50%)}.alien-craft.revealed{animation:alienPass 4.2s ease-in-out forwards}
@keyframes alienPass{0%{opacity:0;transform:translate(60px,20px) scale(.18)}15%{opacity:.75;box-shadow:0 -2px 0 #697e77,0 0 13px rgba(103,216,179,.3)}58%{opacity:.9;transform:translate(-120px,-40px) scale(.5)}100%{opacity:0;transform:translate(-430px,-120px) scale(.25)}}
.telescope-view.scan-static{animation:scanStatic .1s linear 4}@keyframes scanStatic{50%{filter:contrast(1.8) brightness(1.2)}}
.observatory-console{display:grid;gap:18px}.focus-control{display:grid;grid-template-columns:auto 1fr 28px;gap:8px;align-items:center}.focus-control label,.signal-readout small{font-size:6px;letter-spacing:.16em;color:#829095}.focus-control input{accent-color:#9eb7ae}.focus-control span{font:14px ui-monospace,monospace;color:#c5d0ca}.signal-readout{border:1px solid #263133;background:rgba(9,14,15,.7);padding:13px}.signal-readout strong{display:block;font:15px "Playfair Display",serif;font-weight:500;margin-top:6px;line-height:1.35}.signal-readout>div{display:flex;gap:5px;margin-top:12px}.signal-readout i{width:24px;height:3px;background:#25302e}.signal-readout i.on{background:#79c1ab;box-shadow:0 0 6px rgba(121,193,171,.5)}

.clock-readout{display:grid;gap:3px;margin:14px 0;padding:13px;border:1px solid #383b33;background:#11140f}.clock-readout strong{font:32px "Playfair Display",serif;font-weight:500}.clock-readout span{font-size:7px;letter-spacing:.12em;color:#9c927f}

.journal-panel{width:min(560px,calc(100vw - 40px))!important}.journal-book{margin-top:12px;padding:24px 25px 18px;background:linear-gradient(90deg,#c9b989 0,#eadcb7 7%,#e8d8ad 49%,#d6c494 51%,#eddfbd 94%,#c5b381 100%);color:#352c20;min-height:400px;box-shadow:inset 0 0 30px rgba(75,53,27,.16);position:relative}.journal-book::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(82,59,32,.16)}
.journal-date{font:20px "Playfair Display",serif;border-bottom:1px solid rgba(70,53,32,.25);padding-bottom:9px;margin-bottom:9px}.journal-entries{display:grid;gap:3px;max-height:270px;overflow:auto;padding-right:4px}.journal-entries article{display:grid;grid-template-columns:62px 1fr;gap:9px;padding:7px 0;border-bottom:1px solid rgba(74,59,40,.12)}.journal-entries time{font:600 6px "DM Sans",sans-serif;letter-spacing:.1em;color:#74644c;padding-top:3px}.journal-entries strong{font:13px "Playfair Display",serif;font-weight:500}.journal-entries p{font:9px/1.45 "DM Sans",sans-serif!important;color:#655644!important;margin:3px 0 0}.journal-empty{color:#77674f!important;font-style:italic}
.journal-nav{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding-top:10px;border-top:1px solid rgba(74,59,40,.2)}.journal-nav button{border:0;background:none;color:#4c4030;font-size:6px;letter-spacing:.12em;cursor:pointer}.journal-nav button:disabled{opacity:.25}.journal-nav span{font-size:6px;letter-spacing:.1em}
.journal-note-form{display:grid;gap:8px;margin-top:13px}.journal-note-form textarea{min-height:70px}

@media(max-width:880px){
  .room-dimmer{right:10px;bottom:calc(var(--mobile-nav-h) + var(--mobile-interact-h) + 122px);width:48px;height:58px;z-index:8}
  .estate-clock{right:9%;top:14%;transform:scale(.82);transform-origin:top right}.roof-telescope{right:3%;top:18%;transform:scale(.85)}
  .physical-notebook{left:67%;top:58%;transform:scale(.8) rotate(-5deg)}.map-table-object{left:54%;top:54%;transform:translate(-50%,-50%) scale(.8) perspective(140px) rotateX(25deg)}
  .map-table-shell{width:100%;padding:64px 12px 20px}.system-head{padding:0 4px}.system-head h2{font-size:32px}.map-table-layout{grid-template-columns:1fr}.physical-world-map{min-height:430px;border-width:6px}.map-ledger{min-height:0}.map-pin span{display:none}.map-pin{width:25px;height:25px}.map-pin i{width:10px;height:10px}
  .observatory-overlay{overflow:auto}.observatory-chrome{height:auto;min-height:100%;grid-template-columns:1fr;padding:68px 14px 26px;gap:16px}.observatory-meta{padding:0 8px}.observatory-meta h2{font-size:34px}.telescope-view{width:min(92vw,560px);max-height:none;margin:auto;border-width:11px}.observatory-console{width:min(92vw,560px);margin:auto}
  .journal-panel{width:100%!important}.journal-book{min-height:350px;padding:20px 17px}.journal-entries{max-height:230px}
}
@media(prefers-reduced-motion:reduce){.estate-clock>em::after,.starfield i,.alien-craft.revealed{animation:none!important}}

/* Estate Systems v2.1 — real geography + study observatory */
.leaflet-world-map{position:absolute;inset:0;z-index:1;background:#a58e64;font-family:"DM Sans",system-ui,sans-serif}
.physical-world-map .leaflet-tile-pane{filter:sepia(.52) saturate(.58) contrast(.92) brightness(.88)}
.physical-world-map .leaflet-overlay-pane{filter:sepia(.18)}
.physical-world-map .leaflet-control-zoom{border:1px solid rgba(70,51,31,.42)!important;box-shadow:0 5px 16px rgba(48,31,18,.18)!important}
.physical-world-map .leaflet-control-zoom a{background:rgba(221,204,165,.92);color:#33291d;border-color:rgba(80,61,37,.24);font:18px/30px Georgia,serif}
.physical-world-map .leaflet-control-zoom a:hover{background:#efe2bf;color:#211b13}
.physical-world-map .leaflet-control-attribution{background:rgba(226,211,177,.82)!important;color:#5d503d;font-size:7px!important}
.physical-world-map .leaflet-control-attribution a{color:#443825}
.physical-world-map::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 80px 20px rgba(55,35,20,.34);mix-blend-mode:multiply}
.physical-world-map::after{z-index:4;opacity:.42;mix-blend-mode:multiply}
.wells-map-marker{background:transparent;border:0}
.wells-map-marker i{position:absolute;left:50%;top:2px;width:13px;height:13px;border-radius:50% 50% 50% 0;background:#8f2f26;border:1px solid #57221d;transform:translateX(-50%) rotate(-45deg);box-shadow:0 3px 5px rgba(0,0,0,.35)}
.wells-map-marker i::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#e7d9b8;transform:translate(-50%,-50%)}
.wells-map-marker.custom i{background:#274b52;border-color:#16363d}.wells-map-marker.custom i::after{background:#a9d0cb}
.wells-map-marker.selected i{background:#c99b3e;border-color:#71521c;box-shadow:0 0 0 5px rgba(201,155,62,.2),0 4px 8px rgba(0,0,0,.32)}
.wells-map-marker.dragging i{transform:translateX(-50%) translateY(-5px) rotate(-45deg);filter:brightness(1.18)}
.wells-map-tooltip{border:1px solid rgba(68,52,33,.34)!important;background:rgba(231,216,181,.96)!important;color:#2f281e!important;box-shadow:0 7px 18px rgba(42,29,17,.22)!important;font:600 7px "DM Sans",sans-serif!important;letter-spacing:.08em!important;padding:5px 7px!important}
.wells-map-tooltip::before{border-top-color:rgba(231,216,181,.96)!important}
.pin-nudge{display:grid;grid-template-columns:1fr repeat(4,30px);gap:5px;align-items:center;margin-top:9px}
.pin-nudge span{font-size:5px;letter-spacing:.13em;color:#716854}.pin-nudge button{height:28px;border:1px solid #45453d;background:#0e110d;color:#d8ccb1;cursor:pointer}.pin-reset{width:100%;margin-top:8px;border:1px solid #383a32;background:transparent;color:#8f8675;padding:8px;font-size:5.5px;letter-spacing:.12em;cursor:pointer}.pin-reset:hover{border-color:#80745d;color:#d3c6a8}
.map-attribution{display:none}

/* The observatory now lives inside the Study as a floor-standing brass telescope. */
.study-telescope{position:absolute;left:88%;top:52%;width:170px;height:310px;transform:translate(-50%,-50%) perspective(700px) rotateY(-5deg);border:0;background:transparent;pointer-events:auto;cursor:pointer;z-index:5;filter:drop-shadow(0 18px 15px rgba(0,0,0,.48));transition:transform .32s ease,filter .32s ease}
.study-telescope:hover{transform:translate(-50%,-52%) perspective(700px) rotateY(-3deg) scale(1.025);filter:drop-shadow(0 20px 18px rgba(0,0,0,.54))}
.telescope-tube{position:absolute;left:14px;top:31px;width:139px;height:34px;border-radius:19px 7px 8px 19px;background:linear-gradient(180deg,#302619 0,#b18b49 10%,#735427 29%,#2f281e 47%,#a47b39 70%,#4e3a21 91%,#1c1813 100%);border:1px solid #9b7941;box-shadow:inset 0 3px 5px rgba(255,227,160,.22),inset 0 -6px 10px rgba(24,17,10,.5),0 4px 7px rgba(0,0,0,.32);transform:rotate(-15deg);transform-origin:58% 55%}
.telescope-tube::before{content:"";position:absolute;right:13px;top:-4px;width:7px;height:40px;border-radius:4px;background:linear-gradient(90deg,#2b2116,#b28743 45%,#44311c);box-shadow:inset 1px 0 rgba(255,230,173,.25)}
.telescope-tube::after{content:"";position:absolute;left:19px;top:-3px;width:6px;height:38px;border-radius:3px;background:linear-gradient(90deg,#392a18,#b78e45,#5a3f20)}
.telescope-tube .lens{position:absolute;left:-8px;top:3px;width:18px;height:27px;border-radius:50% 28% 28% 50%;background:radial-gradient(circle at 35% 40%,#78939a 0,#22363d 26%,#101a1e 56%,#020607 72%);border:3px solid #6d552e;box-shadow:inset 0 0 8px rgba(144,188,196,.28),0 0 0 1px #2b2116}
.telescope-tube .lens::after{content:"";position:absolute;left:3px;top:3px;width:5px;height:9px;border-radius:50%;background:rgba(214,237,234,.34);filter:blur(.5px)}
.telescope-tube .eyepiece{position:absolute;right:-18px;top:8px;width:21px;height:17px;border-radius:2px 8px 8px 2px;background:linear-gradient(180deg,#1a1b18,#545043 50%,#11120f);border-right:5px solid #0a0c0a}
.telescope-tube .focus-ring{position:absolute;right:35px;bottom:-16px;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,#4b3a21 0 29%,#b18c48 31% 44%,#3b2c1b 46%);box-shadow:0 2px 4px rgba(0,0,0,.4)}
.telescope-yoke{position:absolute;left:76px;top:69px;width:34px;height:45px;border:6px solid #806232;border-top:0;border-radius:0 0 17px 17px;background:linear-gradient(90deg,transparent 0 30%,rgba(19,16,12,.3) 31% 69%,transparent 70%);box-shadow:inset 1px 0 rgba(235,203,129,.15)}
.telescope-yoke::after{content:"";position:absolute;left:50%;bottom:-18px;width:24px;height:21px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle at 35% 25%,#b6924d,#6d5129 58%,#2e2418 78%);border:1px solid #a58042}
.telescope-tripod{position:absolute;left:87px;top:119px;width:4px;height:22px;background:#846635}
.telescope-tripod>i{position:absolute;left:0;top:14px;width:7px;height:159px;border-radius:5px 5px 2px 2px;background:linear-gradient(90deg,#352719,#a88040 42%,#6a4b27 67%,#211a12);transform-origin:50% 0;box-shadow:2px 3px 4px rgba(0,0,0,.25)}
.telescope-tripod>i:nth-child(1){transform:rotate(17deg)}.telescope-tripod>i:nth-child(2){transform:rotate(-18deg)}.telescope-tripod>i:nth-child(3){transform:rotate(1deg) translateY(4px);filter:brightness(.74)}
.telescope-tripod::after{content:"";position:absolute;left:2px;top:72px;width:57px;height:4px;background:#584125;transform:translateX(-50%) rotate(3deg);opacity:.72}
body[data-room-lights="2"] .study-telescope{filter:brightness(.62) drop-shadow(0 18px 15px rgba(0,0,0,.58))}
body[data-room-lights="1"] .study-telescope{filter:brightness(.83) drop-shadow(0 18px 15px rgba(0,0,0,.5))}

@media(max-width:880px){
  .physical-world-map{min-height:460px;touch-action:pan-x pan-y}.physical-world-map .leaflet-control-attribution{font-size:6px!important;max-width:70%;line-height:1.2}
  .study-telescope{left:86%;top:43%;transform:translate(-50%,-50%) scale(.68);transform-origin:center}.study-telescope:hover{transform:translate(-50%,-50%) scale(.7)}
  .pin-nudge{grid-template-columns:1fr repeat(4,28px)}
}
