/* Forest mechanisms stay separate from the ground and keep a single game perspective. */
.dg-forest-puzzle{--f-leaf:#b7cf9c;--f-gold:#e8cb8c;--f-muted:#b9cebc;position:relative;line-height:1.75;color:#e6eed8}
.dg-f-heading{display:flex;align-items:center;gap:12px;border-bottom:1px solid #99ae7d55;padding-bottom:12px;margin-bottom:16px}.dg-f-heading>svg{flex:none;width:48px;height:48px}.dg-f-heading>div{flex:1}.dg-f-heading h3{margin:0;font:400 25px/1.35 var(--f-display);color:#f1dca8}.dg-f-heading small{display:block;font-size:11px;letter-spacing:.06em;color:var(--f-muted)}.dg-f-state{display:block;flex:none;border:1px solid #9aab78;border-radius:20px;padding:4px 10px;color:#d8dfb5;font-size:11px}.complete .dg-f-state{background:#a2b87b;color:#233e2d}
.dg-f-story{font-size:14px;margin:0 0 12px}.dg-f-preview{display:block;width:min(100%,320px);height:auto;max-height:200px;margin:0 auto;filter:drop-shadow(0 5px 3px #061e1f44);overflow:visible}.dg-forest-puzzle [data-forest-preview]{background:radial-gradient(ellipse at 50% 70%,#759a6c2e,transparent 68%);border-radius:20px;min-height:140px}
.dg-f-painted-preview{position:relative;display:block;width:min(100%,250px);aspect-ratio:1;margin:-10px auto -4px}.dg-f-painted-preview .dg-f-painted-image{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 4px #061e1f55)}.dg-f-painted-effects{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.dg-f-painted-fallback{padding-top:20px}.dg-f-painted-fallback[hidden],.dg-f-painted-image[hidden]{display:none!important}.dg-f-painted-preview.failed{width:min(100%,320px);aspect-ratio:auto;margin:0 auto}.dg-f-painted-preview.failed .dg-f-painted-effects{display:none}.dg-f-painted-light{animation:dg-forest-light 3.4s ease-in-out var(--f-delay,0s) infinite;transform:none}.dg-f-water-glints{animation:dg-forest-water 3.2s ease-in-out infinite}@keyframes dg-forest-light{0%,100%{opacity:.7}50%{opacity:1}}@keyframes dg-forest-water{0%,100%{opacity:.45}50%{opacity:.85}}
.dg-f-clue{position:relative;margin:14px 0;padding:12px 16px 12px 19px;border:1px solid #a79860;border-left:4px solid #d5ba79;border-radius:4px 12px 12px 4px;background:linear-gradient(110deg,#5c604535,#2a4b3d70)}.dg-f-clue>b{font-size:12px;color:#f0dca2}.dg-f-clue p{margin:4px 0 0;color:#e0e6c9;font-size:13px;line-height:1.8}.dg-f-instruction{font-size:12px;color:var(--f-muted);margin:14px 0 10px}
.dg-f-slots{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;margin:14px 0}.dg-dialog-layer .dg-f-slot{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-height:100px;min-width:44px;padding:18px 5px 8px;border:2px dashed #819875;border-radius:13px;background:#102d2e;color:#b5c6ac;font-size:11px;transition:background .15s,border-color .15s,box-shadow .15s}.dg-f-slot>small{position:absolute;top:3px;left:8px;font:700 13px 'Baloo 2',sans-serif;color:#b2bd94}.dg-f-slot>svg{width:36px;height:36px;flex:none}.dg-f-slot>span{line-height:1.45}.dg-dialog-layer .dg-f-slot.filled{border-style:solid;background:#2c5140;color:#f4e5b1;border-color:#b6b279}.dg-dialog-layer .dg-f-slot.can-drop{border-color:#f4df9a;background:#476e4e;box-shadow:0 0 0 3px #e4d58a44,inset 0 0 25px #dfe69b22}
.dg-f-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;position:relative;margin:12px 0 18px;padding:12px 10px;background:#102c2d;border:1px solid #5d7f67;border-radius:14px;overflow:visible}.dg-dialog-layer .dg-f-piece{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:70px;min-height:76px;position:relative;z-index:1;padding:8px 12px;border:2px solid #819875;border-radius:12px;background:linear-gradient(#3b5d47,#284635);color:#e8e5bc;font-size:12px;cursor:grab;touch-action:none;user-select:none}.dg-f-piece>svg{width:38px;height:38px;pointer-events:none}.dg-f-piece>b{pointer-events:none;line-height:1.3}.dg-dialog-layer .dg-f-piece[aria-pressed=true]{background:#6d774b;border-color:#f4da90;box-shadow:0 0 0 2px #e4ce8522}.dg-dialog-layer .dg-f-piece[style*="transform"]{z-index:5;cursor:grabbing;transition:none;box-shadow:0 9px 16px #081f23aa}.dg-f-actions{display:flex;align-items:stretch;justify-content:center;gap:10px;margin:12px 0;flex-wrap:wrap}.dg-f-actions>button{flex:1 1 150px}
.dg-f-choices{display:grid;gap:12px;margin:16px 0}.dg-f-choices fieldset{border:1px solid #6e8a6b;border-radius:12px;padding:10px 12px 13px;min-width:0;background:#173a32}.dg-f-choices legend{color:#d8d9b0;font-size:13px;padding:0 7px;font-weight:700}.dg-f-choices fieldset>div{display:flex;gap:8px;flex-wrap:wrap}.dg-dialog-layer .dg-f-choice{display:flex;flex:1 1 92px;align-items:center;justify-content:center;gap:7px;min-height:56px;padding:7px 9px;border:2px solid #638369;border-radius:10px;background:#25493d;color:#dce9cf;font-size:12px}.dg-f-choice>svg{width:32px;height:32px;flex:none}.dg-f-choice>span{line-height:1.4}.dg-dialog-layer .dg-f-choice[aria-pressed=true]{border-color:#e5cf8a;background:#687248;color:#fff0bd;box-shadow:inset 0 0 0 1px #d9c77b44}.dg-f-choice[aria-pressed=true]::after{content:'✓';color:#eff3bf;font-size:16px}
.dg-f-status{font-size:12px;line-height:1.8;color:#e7d497;min-height:3.5em;border-top:1px solid #7b996344;padding-top:12px;margin:18px 0 12px}.dg-f-return{width:100%;margin-top:4px}.dg-f-result{background:#31533b;border:1px solid #98b078;border-radius:12px;padding:14px 16px;margin:15px 0}.dg-f-result>b{color:#e8e4af;font-size:14px}.dg-f-result p{margin:7px 0;color:#d4e5bf;font-size:13px}.dg-f-result small{color:#cbd5a5;font-size:12px}.dg-f-result small::before{content:'↗ ';color:#efdc9c}
.dg-f-notebook{background:#203f35;border:1px solid #84966b;border-radius:15px;padding:17px;margin:16px 0}.dg-f-notebook>h3{margin:0 0 6px;color:#ead6a2;font:400 22px/1.4 var(--f-display)}.dg-f-notebook>p{font-size:12px;color:#baceb4;margin:0 0 15px;line-height:1.8}.dg-f-notebook ol{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:12px}.dg-f-notebook li{display:flex;gap:11px;border-top:1px solid #88a26a44;padding-top:12px}.dg-f-notebook li>span{flex:none;width:28px;height:28px;display:grid;place-items:center;border:1px solid #b4b17b;border-radius:50%;background:#304c3b;color:#e4d69e;font:700 15px 'Baloo 2',sans-serif}.dg-f-notebook li b{font-size:14px;color:#f0deb0}.dg-f-notebook li small{display:block;font-size:10px;color:#a9c2a4;margin-top:2px}.dg-f-notebook li p{font-size:12px;line-height:1.8;color:#d3e0c3;margin:5px 0}.dg-f-notebook li em{font-size:11px;line-height:1.7;color:#dfc787;font-style:normal}.dg-f-notebook .dg-f-empty{font-size:13px;line-height:1.8;padding:14px;border:1px dashed #7d9770;border-radius:10px;background:#17372f;margin:0}
.dg-f-bell.sounded{animation:dg-forest-bell .6s ease-out}.dg-f-wheel.adjusted{transform:rotate(60deg);transition:transform .4s ease-out}.dg-forest-puzzle.needs-check .dg-f-clue{animation:dg-forest-clue .6s ease-out}@keyframes dg-forest-bell{0%{rotate:-9deg}25%{rotate:7deg}60%{rotate:-4deg}100%{rotate:0deg}}@keyframes dg-forest-clue{0%,100%{border-color:#a79860}45%{border-color:#f3dba0;box-shadow:0 0 16px #d3c17d25}}
@media(max-width:600px){.dg-f-heading{gap:9px}.dg-f-heading>svg{width:40px;height:40px}.dg-f-heading h3{font-size:22px}.dg-f-state{font-size:10px;padding:3px 8px}.dg-f-story{font-size:13px}.dg-f-slots{gap:6px}.dg-dialog-layer .dg-f-slot{min-height:87px;padding-inline:4px;font-size:10px}.dg-f-slot>svg{width:30px;height:30px}.dg-f-tray{gap:7px;padding:10px 8px}.dg-dialog-layer .dg-f-piece{min-width:62px;min-height:71px;padding:7px 8px;font-size:11px}.dg-f-piece>svg{width:33px;height:33px}.dg-f-choices fieldset{padding:8px}.dg-dialog-layer .dg-f-choice{padding:7px;flex-basis:82px}.dg-f-choice>svg{width:26px;height:26px}.dg-f-clue{padding:10px 12px}.dg-f-notebook{padding:14px}.dg-f-preview{max-height:170px}.dg-f-actions>button{flex-basis:125px}}
@media(prefers-reduced-motion:reduce){.dg-f-bell.sounded,.dg-forest-puzzle.needs-check .dg-f-clue,.dg-f-painted-light,.dg-f-water-glints{animation:none}.dg-f-wheel.adjusted,.dg-dialog-layer .dg-f-slot{transition:none}}
