/* Scope every rule: the painted world must not inherit the plan's SVG sizes. */
@import url('garden-fonts.css');
.eg-app{font-family:'Source Sans 3',system-ui,sans-serif}
.eg-app .title,.eg-app .brand b,.eg-app .sheet h2,.eg-app .sheet h3,.eg-app .intro h1{font-family:'EB Garamond',Georgia,serif}
/* Two rows since the toolbars became one dock (2026-09-14): the brand bar,
   then the map. The dock overlays the stage; it never takes a row. */
.eg-app{position:relative;grid-template-rows:auto minmax(0,1fr)}
.eg-mode{display:flex;border-radius:999px;background:#e8e7d8;padding:3px;flex:none}
.eg-mode button{min-height:44px;padding:6px 13px}.eg-mode button[aria-pressed=true]{background:#29463b;color:#fff9e9;box-shadow:0 2px 7px #233b2926}
.eg-life{position:absolute;inset:0;overflow:hidden;background:#dce1c7;touch-action:none;isolation:isolate;cursor:grab}
.eg-life[hidden]{display:none}.eg-life:active{cursor:grabbing}
.eg-backdrop{position:absolute;inset:-5%;background:linear-gradient(90deg,#dfe3d299,#e7e5d172),url('../art/garden-v8.webp') center/cover;filter:blur(28px);opacity:.52;pointer-events:none}
.eg-canvas{position:absolute;inset:0;width:100%;height:100%}
.eg-canvas>svg{display:block;width:100%;height:100%;overflow:hidden}
.eg-canvas .eg-figure{overflow:visible}
.eg-marker-layer{position:absolute;inset:0;pointer-events:none}
.eg-beacon{position:absolute;left:0;top:0;width:44px;height:44px;display:grid;place-items:center;border:0;background:none;pointer-events:auto;cursor:pointer;padding:0;border-radius:50%;color:#293c30;--beacon:#cdad61}
.eg-beacon[hidden]{display:none}
.eg-person-beacon{z-index:3}.eg-place-beacon{z-index:1}
.eg-beam{position:absolute;bottom:15px;width:22px;height:35px;pointer-events:none;background:linear-gradient(0deg,var(--beacon),transparent);clip-path:polygon(35% 100%,65% 100%,100% 0,0 0);opacity:.7;transform-origin:50% 100%;animation:eg-beacon-glow 4s ease-in-out infinite}
.eg-beacon-dot{display:block;position:relative;width:12px;height:12px;background:var(--beacon);border:2px solid #fff4d6;transform:rotate(45deg);box-shadow:0 0 0 5px #fff5d038,0 3px 10px #1d302970}
.eg-beacon-name{position:absolute;top:10px;left:45px;padding:3px 10px;border:1px solid #fff6d4bf;background:#293c30f0;color:#fff8e8;border-radius:999px;white-space:nowrap;font:600 12px/1.45 'Source Sans 3',system-ui,sans-serif;box-shadow:0 2px 8px #18241a35;pointer-events:none}
.eg-selected .eg-beacon-name{background:var(--beacon);color:#182c24}
.eg-place-dot{width:9px;height:9px;border:2px solid #fff9de;background:#45674b;border-radius:50%;box-shadow:0 1px 4px #26362790}
.eg-place-name{position:absolute;top:38px;left:50%;transform:translateX(-50%);background:#faf4e7f5;color:#29463b;border:1px solid #d9d2bb;padding:3px 8px;border-radius:8px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}
.eg-place-beacon:hover .eg-place-name,.eg-place-beacon:focus-visible .eg-place-name,.eg-place-beacon.eg-selected .eg-place-name{opacity:1}
.eg-caption{position:absolute;left:20px;top:21px;color:#293d30;pointer-events:none;text-shadow:0 1px 12px #f6f4df}
.eg-caption span{display:block;font-size:10px;font-weight:700;letter-spacing:.2em;margin-bottom:5px}.eg-caption b{display:block;max-width:225px;font:500 25px/1.12 'EB Garamond',Georgia,serif;text-wrap:balance}
.eg-map-note{position:absolute;bottom:45px;left:50%;transform:translateX(-50%);font-size:11px;color:#f8f4e4;background:#2b4137d9;border:1px solid #f4efe24d;border-radius:999px;padding:5px 10px;white-space:nowrap;pointer-events:none}
.eg-painted .stat{max-width:calc(100% - 85px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#f7f4e9ef;color:#375143}
.eg-app .controls{gap:8px}.eg-app .controls button{width:48px;height:48px;border-radius:16px;background:#faf6e9f5;color:#2d493b;border-color:#b9baa599}
.eg-app .sheet{z-index:9;padding-top:22px}.eg-app .sheet .close{width:44px;height:44px;right:10px;top:10px;z-index:3}
.eg-kicker{font-size:11px!important;text-transform:uppercase;letter-spacing:.13em;color:#697653!important;font-weight:700;margin:0 0 9px!important}
.eg-person-card{padding-top:0}.eg-person-card h2{font-size:31px}.eg-person-card h3{font-size:22px;color:#345342;margin:11px 0!important}
.eg-portrait{display:block;width:100%;height:215px;margin:0 auto 15px;background:radial-gradient(ellipse at 50% 75%,#dfdec7,transparent 65%);overflow:visible}
.eg-instagram{display:inline-flex;align-items:center;min-height:44px;color:#476e54;text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:600}
.eg-fine{font-size:12px!important;color:#727766!important;margin:12px 0!important;line-height:1.5}
.eg-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #bbc6b3;border-radius:999px;background:#eef0df;color:#29463b;padding:8px 14px;font-size:13px;font-weight:600;margin:4px 0 8px}
.eg-action:hover{background:#dfe7cf}.eg-action:focus-visible{outline:3px solid #c78342;outline-offset:3px}
.eg-people-list{display:grid;gap:8px;margin:15px 0}
.eg-people-list>button{display:flex;align-items:center;gap:12px;width:100%;min-height:105px;text-align:left;border:1px solid #d9dcc9;border-radius:16px;background:#f1f0e2;padding:10px 13px}
.eg-people-list>button:hover{background:#e8ecda}.eg-people-list>button>span:last-child{margin-left:auto;color:#5f795f}
.eg-people-list b{display:block;font:600 19px/1.3 'EB Garamond',Georgia,serif}.eg-people-list small{display:block;font-size:12px;color:#64755f}
.eg-people-list .eg-portrait{flex:none;width:70px;height:88px;margin:0;background:none}
.eg-crop-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.eg-crop-grid button.crop{display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;border-radius:13px;padding:0 0 10px;background:#f5f0de;min-height:140px}
.eg-crop-grid img{width:100%;aspect-ratio:1.5;object-fit:contain;display:block;margin-bottom:4px}
.eg-crop-grid b,.eg-crop-grid small{padding:0 10px}.eg-crop-grid b{font-size:14px}.eg-crop-grid small{font-size:12px;color:#687461}
.eg-app .intro{background:#f4efe250;backdrop-filter:blur(5px)}.eg-app .intro .card{background:#fbf7ecf5}
.eg-person-idle{transform-box:fill-box;transform-origin:50% 100%;animation:eg-gardening 5s ease-in-out infinite}
.eg-leaf-patch{animation:eg-leaf-breeze 6s ease-in-out infinite}
.eg-water path{animation:eg-water-flow 1.6s linear infinite}
.eg-butterfly{animation:eg-butterfly-flight 25s ease-in-out infinite;transform-origin:0 0}
.eg-life[data-moving=false] .eg-person-idle,.eg-life[data-moving=false] .eg-leaf-patch,.eg-life[data-moving=false] .eg-beam,.eg-life[data-moving=false] .eg-water path,.eg-life[data-moving=false] .eg-butterfly{animation-play-state:paused}
@keyframes eg-gardening{0%,100%{transform:rotate(-.7deg) translateY(0)}45%{transform:rotate(.7deg) translateY(-.35px)}70%{transform:rotate(.25deg)}}
@keyframes eg-leaf-breeze{0%,100%{transform:rotate(-.4deg)}45%{transform:rotate(.65deg)}75%{transform:rotate(-.15deg)}}
@keyframes eg-beacon-glow{0%,100%{opacity:.4;transform:scaleY(.9)}50%{opacity:.8;transform:scaleY(1.06)}}
@keyframes eg-water-flow{from{stroke-dashoffset:0}to{stroke-dashoffset:-11}}
@keyframes eg-butterfly-flight{0%,100%{transform:translate(776px,701px) rotate(14deg) scale(.52)}20%{transform:translate(709px,635px) rotate(-30deg) scale(.6)}48%{transform:translate(648px,664px) rotate(-2deg) scale(.5)}73%{transform:translate(733px,748px) rotate(26deg) scale(.55)}}
.eg-fullscreen-fallback{position:fixed!important;inset:0;z-index:9999;height:100dvh!important}
@media(max-width:900px){.eg-caption{top:15px;left:15px}.eg-caption b{max-width:150px;font-size:20px}.eg-caption span{font-size:9px}.eg-app .sheet{max-height:63dvh;padding:18px 18px calc(20px + env(safe-area-inset-bottom))}.eg-person-card .eg-portrait{height:165px}.eg-canvas{box-shadow:none}.eg-map-note{bottom:45px;font-size:10px}}
@media(max-width:540px){.eg-caption{background:#f7f2e1ed;max-width:170px;padding:10px 12px;border-radius:13px;border:1px solid #fbf8e877}.eg-caption b{font-size:17px;max-width:145px}.eg-caption span{font-size:8px;letter-spacing:.16em}.eg-close .eg-caption{opacity:0}.eg-beacon-name{font-size:11px}.eg-map-note{max-width:calc(100% - 24px);text-overflow:ellipsis;overflow:hidden}.eg-app .controls{top:12px;right:9px}.eg-app .controls button{width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){.eg-life *{animation:none!important;transition:none!important}}

.eg-label-left .eg-beacon-name{left:auto;right:45px}
.eg-app .controls svg{display:block;width:20px;height:20px;margin:auto}
.prose h2,.prose h3{font-family:"EB Garamond",Georgia,serif}

/* Living detail is an addition to the same fixed garden frame. */
.eg-detail-tile{transition:opacity .7s ease;pointer-events:none}
.eg-walking .eg-person-idle{animation:none}.eg-walking .eg-water{opacity:0}
.eg-wildlife{pointer-events:none}.eg-ladybug{opacity:0;transition:opacity .5s}.eg-macro .eg-ladybug{opacity:1}
.eg-discovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.eg-discovery-grid button{display:flex;flex-direction:column;padding:0 0 12px;overflow:hidden;text-align:left;border:1px solid #d4d8c0;border-radius:14px;background:#f1eddf;min-height:44px}
.eg-discovery-grid img{width:100%;aspect-ratio:1;object-fit:cover}.eg-discovery-grid b{padding:10px 10px 4px;font:600 17px/1.15 'EB Garamond',Georgia,serif}.eg-discovery-grid span{padding:0 10px;font-size:11px;color:#526b50}
.eg-people-unavailable .eg-person-idle{visibility:hidden}

/* The journal belongs to the garden: small painted studies, dated stories. */
.eg-journal-section{margin-top:26px;padding-top:22px;border-top:1px solid #d4d8c0}
.eg-journal-section h3{font-size:25px!important;line-height:1.08;margin:0 0 9px!important;color:#29463b}
.eg-journal-grid{display:grid;gap:12px;margin:16px 0 8px}
.eg-journal-card{display:grid;grid-template-columns:112px 1fr;align-items:stretch;padding:0;width:100%;overflow:hidden;border:1px solid #d4d8c0;border-radius:16px;background:#f4f0e1;text-align:left;color:#29463b;min-height:112px}
.eg-journal-card img{width:112px;height:100%;min-height:112px;object-fit:cover;display:block}
.eg-journal-card span{display:flex;flex-direction:column;justify-content:center;padding:12px 13px;gap:6px}
.eg-journal-card small{font-size:10px;letter-spacing:.04em;color:#697653}
.eg-journal-card b{font:600 20px/1.05 'EB Garamond',Georgia,serif;text-wrap:balance}
.eg-journal-card em{font:600 11px/1.3 'Source Sans 3',system-ui,sans-serif;color:#5a7057}
.eg-journal-card:hover{background:#e8edda}.eg-journal-card:focus-visible{outline:3px solid #c78342;outline-offset:3px}
.eg-story-art{display:block;width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:16px;margin:6px 0 21px}
.eg-story-art[hidden],.eg-journal-card img[hidden]{display:none}
.eg-journal-card:has(img[hidden]){grid-template-columns:1fr}
.eg-journal-story h2{font-size:30px!important;line-height:1.03!important;margin-bottom:15px!important;text-wrap:balance}
.eg-journal-story>p:not(.eg-kicker):not(.eg-fine){font-size:16px;line-height:1.5}
.eg-story-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:15px 0}
.eg-story-actions .crop{min-height:44px}.eg-story-actions .eg-action{margin:0}
.eg-story-sources{display:grid;margin:8px 0 16px}
.eg-story-sources a{display:flex;align-items:center;min-height:44px;font-size:13px;color:#476e54;text-decoration:underline;text-underline-offset:4px}
@media(max-width:540px){.eg-story-art{aspect-ratio:1.55}.eg-journal-story h2{font-size:28px!important}.eg-journal-card{grid-template-columns:104px 1fr}.eg-journal-card img{width:104px}}

.eg-person-unavailable{visibility:hidden}
.eg-table-link{display:block;width:100%;text-align:left;background:#e5ead7!important;border:1px solid #c9d3b4!important}
.eg-garden-table h2{font-size:34px!important;line-height:1.05!important;text-wrap:balance}
.eg-garden-contribution{padding:15px 17px;margin:18px 0;background:#e7edda;border-left:3px solid #799260;border-radius:0 12px 12px 0}
.eg-garden-contribution small{font:600 11px/1.3 'Source Sans 3',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.09em;color:#546b46}
.eg-garden-contribution p{margin:6px 0 0!important;font-size:16px;line-height:1.4}
.eg-dish-story .eg-story-art{aspect-ratio:1;object-fit:contain;background:#f2eedf}

/* All articulated motion shares the visible, pausable garden clock. */
.eg-person-idle{animation:none}
.eg-wind-clump,.eg-task-effect{pointer-events:none}
.eg-walker-upper,.eg-working-arm,.eg-walker-leg{transform-box:view-box}
.eg-terrain{pointer-events:none}
