/* Garden atlas: self-contained, direction-aware and keyboard accessible. */
.expansion-dialog{box-sizing:border-box;width:min(920px,calc(100vw - 28px));max-height:min(850px,calc(100dvh - 28px));padding:0;border:1px solid #c3e4ce;border-radius:26px;color:#214e49;background:#f4f8ef;box-shadow:0 28px 90px #103c4760;font-family:Swissra,Tahoma,sans-serif;overflow:auto}.expansion-dialog::backdrop{background:#123d4b88;backdrop-filter:blur(5px)}.expansion-head{position:relative;padding:26px 28px 20px;background:linear-gradient(125deg,#173f42,#306a5b);color:#fff9dc}.expansion-head small{color:#d9eab9;letter-spacing:.08em}.expansion-head h2{margin:8px 0;font-size:29px}.expansion-head p{margin:0;max-width:650px;font-size:13px;line-height:1.8}.expansion-close{position:absolute;inset-inline-end:14px;top:12px;width:44px;height:44px;border:1px solid #ffffff38;border-radius:50%;background:#ffffff10;color:white;font-size:26px}.expansion-tabs{position:sticky;top:0;z-index:2;display:flex;overflow:auto;gap:6px;padding:12px 18px;background:#edf4e9f5;border-bottom:1px solid #d5e3d1}.expansion-tabs button{white-space:nowrap;border:0;border-radius:20px;background:transparent;color:#44645b;padding:11px 15px;min-height:44px;font:inherit;font-size:12px}.expansion-tabs button[aria-selected=true]{background:#265e51;color:#fff9df;box-shadow:0 3px 9px #265e5120}.expansion-content{padding:20px 24px 26px}.expansion-section-title{margin:4px 0 8px;font-size:20px}.expansion-intro{font-size:13px;line-height:1.8;color:#607c6f;margin:0 0 18px}.expansion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.expansion-card{min-width:0;padding:18px;border:1px solid #d5e2cc;border-radius:18px;background:#fffefa;box-shadow:0 3px 10px #46633c05}.expansion-card.is-ready{border-color:#a4be77;background:linear-gradient(140deg,#fffff3,#f0f6dd)}.expansion-card.is-complete{background:#eaf2e5}.expansion-card h3{margin:4px 0 8px;font-size:16px;line-height:1.5}.expansion-card p{font-size:12px;line-height:1.8;color:#67806f;margin:6px 0 12px}.expansion-card small,.expansion-meta{font-size:11px;line-height:1.8;color:#738573}.expansion-card progress,.expansion-pinned progress{width:100%;height:7px;border:0;display:block;border-radius:10px;overflow:hidden;accent-color:#658647;background:#e2ebd9;margin:10px 0}.expansion-card progress::-webkit-progress-bar,.expansion-pinned progress::-webkit-progress-bar{background:#e2ebd9}.expansion-card progress::-webkit-progress-value,.expansion-pinned progress::-webkit-progress-value{background:#739650;border-radius:10px}.expansion-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.expansion-action{border:1px solid #cbdcc4;border-radius:11px;background:#f1f6e8;color:#315c45;min-height:44px;padding:8px 13px;font:inherit;font-size:12px;cursor:pointer}.expansion-action.primary{background:#2c6351;border-color:#2c6351;color:#fff9df}.expansion-action:disabled{opacity:.5;cursor:not-allowed}.expansion-materials{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.expansion-materials span,.expansion-badge{display:inline-block;border-radius:12px;padding:5px 10px;background:#e7efdc;font-size:11px;color:#496547}.expansion-form{display:grid;gap:9px;margin-top:12px}.expansion-form label{display:grid;gap:6px;font-size:12px}.expansion-form select{width:100%;box-sizing:border-box;border:1px solid #ccd9c2;background:#fff;border-radius:10px;min-height:44px;padding:8px;color:#31584a;font:inherit;font-size:12px}.expansion-empty{padding:24px;border:1px dashed #bdcfb4;border-radius:16px;text-align:center;font-size:13px;line-height:1.8;color:#627862}.expansion-journal{display:grid;gap:12px}.expansion-journal article{border-inline-start:3px solid #afbf8b;padding:5px 18px;background:#fffdf5;border-radius:0 14px 14px 0}.expansion-journal h3{font-size:16px}.expansion-journal p{font-size:13px;line-height:1.9;color:#607863}.expansion-pinned{position:fixed;z-index:25;inset-inline-start:20px;bottom:96px;box-sizing:border-box;width:230px;padding:12px 15px;border:1px solid #dfebc9;border-radius:17px;background:#f7faedee;color:#315747;box-shadow:0 6px 22px #20484320;text-align:start;font:inherit;cursor:pointer}.expansion-pinned small{font-size:10px;color:#6b8067}.expansion-pinned strong{display:block;font-size:12px;margin-top:4px;line-height:1.6}.expansion-pinned[hidden]{display:none}.expansion-dialog button:focus-visible,.expansion-dialog select:focus-visible,.expansion-pinned:focus-visible{outline:3px solid #c1a24d;outline-offset:3px}#open-expansion>span{width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important}.photo-mode .expansion-pinned,.placing .expansion-pinned,.shop-open .expansion-pinned{display:none!important}
@media(max-width:700px){.expansion-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:20px}.expansion-head{padding:24px 20px 18px}.expansion-head h2{font-size:24px}.expansion-head p{font-size:12px;padding-inline-end:8px}.expansion-content{padding:17px 14px 22px}.expansion-tabs{padding:9px 10px}.expansion-tabs button{padding:10px 12px}.expansion-grid{grid-template-columns:1fr}.expansion-card{padding:16px}.expansion-pinned{inset-inline-start:12px;bottom:calc(110px + env(safe-area-inset-bottom,0px));width:180px;padding:10px 12px}.expansion-pinned strong{font-size:11px}body:has(.garden-guide:not([hidden])) .expansion-pinned,body:has(#selected-panel:not([hidden])) .expansion-pinned{display:none}.expansion-head small{font-size:10px}}
@media(max-height:550px){.expansion-pinned{display:none}.expansion-head{padding-block:15px}.expansion-head p{display:none}.expansion-head h2{font-size:21px}.expansion-content{padding:14px}.expansion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
