.forest-body{background:var(--cream);color:var(--ink);margin:0}.forest-page{flex-direction:column;min-height:100dvh;display:flex}.forest-topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbf8f1db;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.forest-topbar-actions{align-items:center;gap:12px;display:flex}.forest-chip{border:1px solid var(--line);background:var(--paper);min-height:40px;color:var(--ink);border-radius:12px;align-items:center;padding:0 14px;font-size:14px;text-decoration:none;display:inline-flex}.forest-chip:hover{background:#fff}.forest-chip:focus-visible,.forest-taglist a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.forest-stage{background:linear-gradient(180deg, #e7ebe0 0%, #f2eadb 58%, var(--cream) 100%);place-items:center;min-height:72vh;padding:48px 20px 96px;display:grid;position:relative;overflow:hidden}.forest-stage:before,.forest-stage:after{content:"";pointer-events:none;border-radius:50% 50% 0 0;height:62%;position:absolute;left:-10%;right:-10%}.forest-stage:before{background:#61765f29;bottom:-34%;transform:translate(-14%)}.forest-stage:after{background:#61765f42;bottom:-44%;transform:translate(16%)}.forest-intro{z-index:2;background:var(--paper);width:min(560px,100%);box-shadow:var(--shadow);border-radius:18px;padding:32px clamp(22px,4vw,36px) 28px;position:relative}.forest-intro h1{font-family:var(--font-display);margin:6px 0 12px;font-size:clamp(34px,6vw,52px);font-weight:400;line-height:1.12}.forest-intro p{color:var(--ink-soft);margin:0 0 16px;line-height:1.75}.forest-intro .forest-intro-note{background:var(--sage-soft);border-radius:10px;padding:10px 12px;font-size:14px}.forest-list{padding:56px 20px 88px}.forest-list-inner{width:min(720px,100%);margin:0 auto}.forest-list h2{font-family:var(--font-display);margin:0 0 6px;font-size:clamp(28px,5vw,38px);font-weight:400}.forest-list-inner>p{color:var(--ink-soft);margin:0}.forest-taglist{border-top:1px solid var(--line);margin:24px 0 0;padding:0;list-style:none}.forest-taglist li{border-bottom:1px solid var(--line)}.forest-taglist a{color:inherit;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:14px;padding:16px 4px;text-decoration:none;display:grid}.forest-taglist a:hover .forest-tag-name{text-underline-offset:3px;text-decoration:underline}.forest-tag-name{font-family:var(--font-display);font-size:20px}.forest-tag-kind,.forest-tag-count{color:var(--muted-foreground);font-size:13px}.forest-list-empty{background:var(--warm-paper);border-radius:14px;margin-top:24px;padding:22px}.forest-list-empty p{color:var(--ink-soft);margin:0}.forest-list-empty .forest-list-empty-title{color:var(--ink);font-family:var(--font-display);margin-bottom:6px;font-size:20px}@media (max-width:560px){.forest-taglist a{grid-template-columns:minmax(0,1fr) auto}.forest-tag-kind{display:none}}html[data-forest-mode=scene],html[data-forest-mode=scene] body{overscroll-behavior:none;height:100%;overflow:hidden}html[data-forest-mode=scene] .forest-topbar{background:#fbf8f1b8;border-bottom-color:#0000;position:fixed;left:0;right:0}html[data-forest-mode=scene] .forest-stage{min-height:0;padding:0 16px;position:fixed;inset:0}html[data-forest-mode=scene] .forest-list{display:none}html[data-forest-mode=scene] .forest-list:target{z-index:30;background:#fbf8f1f7;padding-top:96px;display:block;position:fixed;inset:0;overflow-y:auto}.forest-list-close{display:none}html[data-forest-mode=scene] .forest-list-close{color:var(--ink-soft);margin-bottom:18px;font-size:14px;display:inline-flex}.forest-scene{z-index:1;position:absolute;inset:0}.forest-canvas{opacity:0;touch-action:none;outline:none;width:100%;height:100%;transition:opacity .9s;display:block;position:absolute;inset:0}.forest-scene[data-ready] .forest-canvas{opacity:1}.forest-canvas.dragging{cursor:grabbing}.forest-canvas.pointing{cursor:pointer}.forest-intro-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.forest-intro-actions .button:disabled{cursor:progress;opacity:.7}.forest-intro-link{color:var(--ink-soft);text-underline-offset:3px;font-size:14px}.forest-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.forest-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.forest-label{color:var(--ink);pointer-events:auto;transform-origin:7px 46px;will-change:transform;flex-direction:column;align-items:flex-start;text-decoration:none;display:inline-flex;position:absolute;top:0;left:0}.forest-label-body{white-space:nowrap;background:#fffdf6f0;border-radius:4px 12px 12px;align-items:baseline;gap:8px;padding:6px 12px 7px;display:flex;box-shadow:0 6px 18px #14221e33}.forest-label-name{font-family:var(--font-display);font-size:16px}.forest-label-count{color:var(--muted-foreground);font-size:12px}.forest-label-string{background:#fffdf6d9;width:1px;height:16px;margin-left:7px}.forest-label.is-focus .forest-label-body{background:#fff;box-shadow:0 0 0 2px #b5603fbf,0 8px 22px #14221e3d}.forest-label:focus-visible{outline:none}.forest-label:focus-visible .forest-label-body{outline:2px solid var(--ink);outline-offset:2px}.forest-prompt{bottom:max(22px, env(safe-area-inset-bottom));z-index:5;width:min(440px,100% - 32px);box-shadow:var(--shadow);background:#fffdf6f2;border-radius:16px;align-items:center;gap:18px;padding:14px 16px 14px 20px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.forest-prompt-text{flex:1;min-width:0}.forest-prompt p{margin:0}.forest-prompt-kind,.forest-prompt-count{color:var(--muted-foreground);font-size:12px}.forest-prompt-name{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:22px;overflow:hidden}.forest-hint{bottom:max(24px, env(safe-area-inset-bottom));z-index:4;color:#fffdf6;white-space:nowrap;background:#14221e8c;border-radius:999px;margin:0;padding:9px 16px;font-size:13px;position:absolute;left:50%;transform:translate(-50%)}.forest-stick{pointer-events:none;background:#14221e2e;border:1px solid #fffdf699;border-radius:50%;width:104px;height:104px;margin:-52px 0 0 -52px;display:none;position:absolute}.forest-stick.on{display:block}.forest-stick-knob{background:#fffdf6bf;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%}.forest-stick.run .forest-stick-knob{background:#fff}.forest-timebar{right:max(16px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:6;background:#fffdf6d6;border-radius:999px;gap:4px;padding:4px;display:flex;position:absolute;box-shadow:0 6px 18px #14221e2e}.forest-timebar button{width:38px;height:38px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.forest-timebar button:hover{background:#374e4714}.forest-timebar button[aria-pressed=true]{background:var(--ink);color:#fffdf6}.forest-timebar button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.forest-sound{right:calc(max(16px, env(safe-area-inset-right)) + 180px);bottom:max(18px, env(safe-area-inset-bottom));z-index:6;width:46px;height:46px;color:var(--ink);cursor:pointer;background:#fffdf6d6;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 6px 18px #14221e2e}.forest-sound[aria-pressed=false]{color:var(--ink-soft)}.forest-sound:hover{background:#fffdf6}.forest-sound:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.forest-intro-sound{cursor:pointer;align-items:flex-start;gap:10px;margin:0 0 18px;display:flex}.forest-intro-sound input{width:18px;height:18px;accent-color:var(--ink);flex:none;margin:3px 0 0}.forest-intro-sound strong{font-weight:600;display:block}.forest-intro-sound small{color:var(--ink-soft);margin-top:2px;font-size:.86em;line-height:1.55;display:block}.forest-prompt-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.forest-prompt .button.is-secondary{color:var(--ink);background:0 0;box-shadow:inset 0 0 0 1px #374e474d}.forest-prompt kbd{border:1px solid #ffffff8c;border-radius:5px;margin-left:6px;padding:1px 6px;font-family:inherit;font-size:11px}.forest-prompt .button.is-secondary kbd{border-color:#374e474d}.forest-toast{z-index:6;color:#fffdf6;white-space:nowrap;background:#14221e9e;border-radius:999px;margin:0;padding:8px 16px;font-size:13px;position:absolute;top:84px;left:50%;transform:translate(-50%)}.forest-hint{bottom:calc(max(22px, env(safe-area-inset-bottom)) + 92px)}@media (max-width:940px){.forest-prompt{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 58px)}.forest-hint{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 150px)}}@media (pointer:coarse){.forest-prompt kbd{display:none}}@media (max-width:560px){.forest-hint{white-space:normal;text-align:center;max-width:calc(100% - 32px)}}@media (prefers-reduced-motion:reduce){.forest-canvas{transition:none}}
