.garden-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.garden-ready > .environment { visibility:hidden; }
.garden-home-controls { position:fixed; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.garden-hit { position:absolute; border:0; background:none; padding:0; pointer-events:auto; cursor:pointer; touch-action:none; }
.garden-hit[hidden] { display:none; }
.garden-hit:focus-visible { outline:1px solid #f0d8ac; outline-offset:-3px; background:#ffe4a00c; border-radius:8px; }
.garden-hit-ladle,.garden-hit-plaque,.garden-hit-lantern { cursor:grab; }
.garden-hit-ladle:active,.garden-hit-plaque:active,.garden-hit-lantern:active { cursor:grabbing; }
.garden-hit-basin { clip-path:ellipse(49% 48% at 48% 52%); }
.garden-enabled .ambient-petals { display:none; }
.garden-enabled .sakura-canopy { rotate:var(--garden-wind,0deg); transform-origin:50% 0; }
.garden-open { overflow:hidden; }
.garden-dialog { border:1px solid #cdb28c55; border-radius:12px; padding:0; margin:auto; width:min(1100px,calc(100vw - 32px)); height:min(880px,calc(100dvh - 32px)); max-width:none; max-height:none; background:#201d18; color:#f2e5d0; overflow:hidden; }
.garden-dialog[open] { display:flex; flex-direction:column; }
.garden-dialog::backdrop { background:#14110ede; }
.garden-heading { display:flex; flex:none; align-items:center; justify-content:space-between; padding:6px 12px 6px 20px; border-bottom:1px solid #e5ceaa25; }
.garden-heading h2 { margin:0; font-family:inherit; font-size:17px; font-weight:400; line-height:1.5; letter-spacing:2px; }
.garden-dialog button { font:inherit; color:inherit; cursor:pointer; }
.garden-close { width:44px; height:44px; border:0; background:none; font-size:27px!important; }
.garden-stage { position:relative; flex:1; min-height:100px; overflow:hidden; touch-action:none; }
.garden-near-controls { position:absolute; inset:0; z-index:2; pointer-events:none; overflow:hidden; }
.garden-loading { position:absolute; inset:35% 20px auto; text-align:center; font-size:14px; line-height:1.8; }
.garden-footer { flex:none; background:#28241e; padding:10px 16px 12px; border-top:1px solid #e5ceaa25; }
.garden-footer nav,.garden-tools { display:flex; justify-content:center; gap:8px; }
.garden-footer button { min-width:44px; min-height:44px; padding:4px 12px; border:1px solid transparent; border-radius:6px; background:none; font-size:13px; white-space:nowrap; }
.garden-footer button[aria-pressed="true"] { color:#f1d7a5; background:#ead2a416; border-color:#e9c99b35; }
.garden-footer button:hover:not(:disabled) { background:#ead2a41a; }
.garden-footer button:disabled { opacity:.4; cursor:default; }
.garden-dialog button:focus-visible { outline:2px solid #d8ba88; outline-offset:-2px; }
.garden-footer p { margin:6px 0 0; font-size:12px; line-height:1.6; color:#c6bba8; text-align:center; }
.garden-dialog [hidden] { display:none!important; }
.quiet-copy [data-garden-open] { margin-right:10px; }
@media(max-width:600px) {
 .garden-dialog { width:calc(100vw - 12px); height:calc(100dvh - 12px); border-radius:10px; }
 .garden-heading { padding-left:14px; }
 .garden-footer { padding:5px 6px max(8px,env(safe-area-inset-bottom)); }
 .garden-footer nav,.garden-tools { gap:1px; }
 .garden-footer button { padding:4px 6px; font-size:12px; }
 .garden-footer p { min-height:19px; font-size:11px; }
}
@media(max-height:500px) {
 .garden-heading { padding:0 10px 0 16px; }
 .garden-footer { padding:2px 8px; display:flex; flex-wrap:wrap; justify-content:center; column-gap:15px; }
 .garden-footer p { flex-basis:100%; margin:0 0 4px; }
}
@media(prefers-reduced-motion:reduce) { .garden-enabled .sakura-canopy { rotate:none; } }
