@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#f8f8ed;background:#849f76;font-synthesis:none;--ink:#36493a;--muted:#7b8474;--paper:#f3f1e5;--line:#455b3926}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #fff4b3;outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#world-shell{position:relative;height:100svh;min-height:360px;overflow:hidden}#world{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;background:linear-gradient(#a3c5d9 55%,#769062)}
.topbar{position:absolute;top:26px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;text-shadow:0 1px 12px #28403c66}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:9px;font-family:'Instrument Serif',Georgia,serif;font-size:30px;letter-spacing:-.5px}.brand svg{width:30px;height:25px}.topbar nav{display:flex;align-items:center;gap:26px;font-size:12px}.topbar nav>a{opacity:.85}.topbar nav>a:hover{opacity:1}.topbar nav>a span{margin-left:5px}.topbar button{border:1px solid #fff7;border-radius:30px;background:#304b4926;backdrop-filter:blur(12px);padding:10px 16px;font-size:12px}.topbar button:hover{background:#304b4955}.topbar button span{margin-left:10px;font-size:10px;opacity:.7;font-variant-numeric:tabular-nums}
#labels{position:absolute;inset:0;pointer-events:none}.cloud-label{position:absolute;transform:translateX(-50%);pointer-events:auto;white-space:nowrap;color:#415858;background:#f8f7eb93;border:1px solid #ffffff73;border-radius:20px;backdrop-filter:blur(8px);padding:5px 12px;font-size:10px;letter-spacing:.015em;box-shadow:0 2px 14px #5268650b}.cloud-label:hover,.cloud-label[aria-pressed=true]{background:#fffff0;color:#273e34}.cloud-label::before{content:'';display:inline-block;width:3px;height:3px;background:currentColor;border-radius:50%;vertical-align:2px;margin-right:7px;opacity:.5}
.field-notes{position:absolute;bottom:27px;left:32px;right:32px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none;text-shadow:0 1px 8px #20342599}.field-notes button{pointer-events:auto}.place{display:flex;align-items:center;gap:8px;font-size:11px;margin-bottom:4px}.place-dot{width:5px;height:5px;border-radius:50%;background:#f5f0b7;box-shadow:0 0 12px #f5f0b7aa}#coordinates{font-size:9px;opacity:.6;margin-left:6px}.entry{position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap}.entry button{font-size:13px;border:1px solid #fff5;background:#e7eed712;backdrop-filter:blur(12px);border-radius:28px;padding:12px 23px;color:#fffced;box-shadow:0 4px 20px #182d3118}.entry button:hover{background:#f7f4db30}.entry button span{margin-left:10px;opacity:.7}.entry p{font-size:9px;color:#ffffdfad;letter-spacing:.02em;margin:10px 0 0}.home-button{border:0;background:none;font-size:16px;padding:4px 0 4px 12px;text-shadow:inherit}.home-button span{font-size:11px;margin-left:6px}.touch-hint{display:none}
#reticle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:none;pointer-events:none}#reticle>span{display:block;width:5px;height:5px;border:1px solid #fff9;border-radius:50%;box-shadow:0 0 0 1px #25362c33}#reticle.target>span{width:9px;height:9px;background:#fff9}#aim-name{position:absolute;left:50%;top:13px;transform:translateX(-50%);font-size:11px;white-space:nowrap;text-shadow:0 1px 8px #203425aa}.mouse-locked #reticle{display:block}.mouse-locked .cloud-label{pointer-events:none}.mouse-locked .entry button,.mouse-locked .topbar nav,.mouse-locked .home-button{visibility:hidden}.mouse-locked .entry p{font-size:10px}.mouse-locked .brand{opacity:.6}
.inspector{position:absolute;bottom:126px;left:50%;transform:translateX(-50%);text-align:center;text-shadow:0 1px 16px #34556a30;color:#314e56;min-width:240px;max-width:calc(100% - 36px)}.inspector>p{font-size:9px;letter-spacing:.06em;opacity:.7;margin:0 0 8px}.inspector h1{font-family:'Instrument Serif',Georgia,serif;font-size:39px;line-height:1.1;font-weight:400;margin:0 0 7px}.inspector>a{display:block;font-size:11px;opacity:.8;overflow-wrap:anywhere}.inspector>a:hover{text-decoration:underline}.back-button{display:block;margin:21px auto 0;padding:12px 20px;border-radius:28px;border:1px solid #fff9;background:#ffffefaa;color:#34514b;font-size:12px;backdrop-filter:blur(14px)}.back-button:hover{background:#ffffef}.visiting .place-dot{background:#e8f7ff}.visiting .entry button{font-size:11px;padding:8px 18px}.visiting.mouse-locked .inspector{opacity:0;pointer-events:none}
.status{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);background:#f8f8ebed;color:var(--ink);font-size:11px;line-height:1.5;border-radius:20px;padding:10px 18px;text-align:center;pointer-events:none;z-index:3}.status:empty{display:none}.visiting .status{bottom:auto;top:94px}.bake-status{position:absolute;top:85px;left:50%;transform:translateX(-50%);font-size:11px;text-shadow:0 2px 8px #32544988;pointer-events:none}.fallback{position:absolute;top:35%;left:50%;transform:translateX(-50%);width:min(360px,90%);padding:24px;background:var(--paper);border-radius:12px;color:var(--ink);font-size:13px;line-height:1.6}.fallback button{background:transparent;border:1px solid var(--line);border-radius:5px;padding:8px;margin-right:6px}.movement{display:none}
 dialog{color:var(--ink);background:var(--paper);border:1px solid #fff8;padding:28px;width:360px;max-width:calc(100% - 28px);max-height:calc(100svh - 44px);border-radius:14px;box-shadow:0 22px 100px #17302140}dialog::backdrop{background:#203c2522;backdrop-filter:blur(3px)}#atlas{margin:22px 22px 22px auto;overflow-y:auto}dialog button:focus-visible,dialog a:focus-visible,dialog input:focus-visible{outline-color:#537059}.atlas-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.atlas-heading p{font-size:10px;color:var(--muted);margin:0 0 7px}.atlas-heading h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:30px;line-height:1.1;margin:0 0 26px}.atlas-heading>button{background:none;border:0;font-size:25px;line-height:1;padding:0 0 8px 8px;color:var(--muted)}#plant-form>label{display:block;font-size:11px;margin-bottom:9px}.handle-field{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;background:#ffffff4d;padding:4px 4px 4px 10px}.handle-field>span{color:#98a18e;font-size:12px}.handle-field input{min-width:0;width:100%;border:0;background:transparent;padding:9px 0;color:var(--ink);font-size:12px}.handle-field button{border:0;border-radius:4px;background:#4b6551;color:#fff9e5;width:34px;height:34px;font-size:20px}.search-row{display:flex;gap:6px;margin:24px 0 8px}.search-row input{width:100%;min-width:0;border:0;border-bottom:1px solid var(--line);background:none;font-size:11px;padding:8px 0;color:var(--ink)}.search-row button{border:0;background:none;font-size:18px;color:var(--muted)}.cloud-list{max-height:38svh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8c99816b transparent}.cloud-row{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid var(--line);padding:13px 0;text-align:left;background:none}.cloud-row:hover{background:#fff9}.cloud-row-copy{min-width:0}.cloud-row-name{display:block;font-size:12px}.cloud-row-handle{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:var(--muted);margin-top:4px}.row-arrow{margin-left:auto;font-size:12px;color:var(--muted)}.cloud-icon{width:33px;height:25px;flex-shrink:0;filter:drop-shadow(0 2px 2px #4b62591a)}#load-more{background:none;border:1px solid var(--line);border-radius:5px;padding:9px;font-size:11px;width:100%;margin-top:10px}.atlas-foot{font-size:9px;line-height:1.7;color:var(--muted);margin:20px 0 14px}.portrait-link{font-size:11px}.portrait-link:hover{text-decoration:underline}#form-error{font-size:11px;color:#9a4e49;line-height:1.5;margin:8px 0}#form-error:empty{display:none}.empty-list{font-size:12px;line-height:1.7;color:var(--muted)}
@media(max-width:650px){.topbar{top:20px;left:20px;right:20px}.brand{font-size:26px;gap:6px}.brand svg{width:25px}.topbar nav{gap:14px;font-size:10px}.topbar button{padding:8px 11px;font-size:11px}.topbar button span{margin-left:5px}.field-notes{left:20px;right:20px;bottom:22px}.place{font-size:10px}.home-button span,#coordinates{display:none}.entry{bottom:37px}.entry p{font-size:8px}.cloud-label{font-size:9px;padding:4px 9px}.inspector{bottom:163px}.inspector h1{font-size:34px}.status{bottom:138px}#atlas{margin:14px auto;max-height:calc(100svh - 28px);padding:23px}.topbar nav>a span{display:none}}
@media(pointer:coarse){.entry button,.entry #controls-hint{display:none}.entry .touch-hint{display:block}.entry{bottom:52px}.movement{display:grid;grid-template-columns:repeat(3,38px);gap:5px;position:absolute;bottom:20px;right:20px}.movement button{border:1px solid #fff4;background:#344c3244;border-radius:8px;backdrop-filter:blur(8px);width:38px;height:36px}.movement button:first-child{grid-column:2;grid-row:1}.movement button:nth-child(2){grid-column:1;grid-row:2}.movement button:nth-child(3){grid-column:2;grid-row:2}.movement button:nth-child(4){grid-column:3;grid-row:2}.home-button{display:none}.field-notes .entry{bottom:84px}.inspector{bottom:175px}}
.cloud-label::after{content:"";position:absolute;width:1px;height:var(--stem,0px);background:#f8f7eb80;bottom:100%;left:50%;pointer-events:none}
.wind-note{border:0;border-left:1px solid #fff5;background:none;font-size:10px;padding:2px 0 2px 10px;margin-left:4px;opacity:.85}.mouse-locked .wind-note{visibility:hidden}.weather-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin:0 0 20px;font-size:11px}.weather-controls summary{cursor:pointer}.weather-controls label{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.weather-controls output{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.weather-controls input[type=range]{width:100%;accent-color:#68836b;margin:10px 0 0}.weather-controls input[type=checkbox]{accent-color:#68836b}.weather-controls p{font-size:10px;line-height:1.7;color:var(--muted);margin:15px 0 0}
