:root{font-family:'Manrope',Arial,sans-serif;color:#343e31;font-synthesis:none;--green:#506345;--green-dark:#3d5035;--accent:#b0804b;--muted:#858978;--line:#e6e7da;--cream:#fbfaf4;--cell-size:58px;--cell-gap:5px}
*{box-sizing:border-box}body{margin:0;min-width:280px;background:#e9e5d6}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,.board-scroll:focus-visible{outline:3px solid #b88743;outline-offset:4px}button{color:inherit}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}button{transition:background .2s,transform .2s,box-shadow .2s}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}#landscape{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.landscape-svg{width:100%;height:100%;min-height:850px;position:absolute;bottom:0;left:0}.site-shell{max-width:1152px;margin:auto;padding:0 36px}.topbar{height:112px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center;font-family:'Comfortaa',sans-serif;font-size:23px;font-weight:700;letter-spacing:-1px}.brand small{display:block;font:600 8px 'Manrope',sans-serif;letter-spacing:3px;margin-top:8px;color:#747c65}.brand-symbol{display:grid;grid-template-columns:1fr 1fr;width:40px;height:40px;gap:3px;align-items:center;font-family:Georgia,serif;font-size:21px;border:1px solid #7c8b69;border-radius:9px;padding:3px;text-align:center;line-height:31px;transform:rotate(-5deg)}.brand-symbol span{background:#647751;color:#f6efdb;border-radius:4px}.top-actions{display:flex;gap:10px}.round-button{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;border:1px solid #b5b7a077;background:#f8f5e794;font-size:18px}.round-button svg{width:17px;height:17px}.intro{text-align:center;padding:12px 0 32px}.eyebrow{font-size:9px;letter-spacing:2.2px;font-weight:800;color:#7a815f;display:flex;align-items:center;justify-content:center;gap:8px}.tiny-leaf{font-size:23px;line-height:1;color:#b18248}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:49px;line-height:1.1;letter-spacing:-1.6px;margin:15px 0 14px}h1 em{font-weight:400;color:#657650} .intro>p{font-size:12px;color:#80846f;margin:0}.game{border:1px solid #fff9;border-radius:21px;background:#fbfaf5f5;box-shadow:0 20px 60px #3c452d15,0 3px 10px #48482b08;overflow:hidden;backdrop-filter:blur(12px)}.game-top{display:flex;align-items:center;justify-content:space-between;padding:20px 30px;border-bottom:1px solid var(--line)}.level-meta{display:flex;align-items:center;gap:9px;font-size:12px}.level-meta strong{font-weight:800}.level-dot{width:6px;height:6px;background:#78876a;border-radius:50%}.difficulty{background:#e9eddf;color:#798165;font-size:10px;padding:4px 9px;border-radius:5px;margin-left:8px}.text-button{border:0;background:none;font-size:11px;color:#7f846f}.text-button span{font-size:16px;margin-left:7px}.game-content{display:grid;grid-template-columns:1fr 310px}.play-area{padding:26px 32px 9px;min-width:0}.board-heading{display:flex;justify-content:space-between;align-items:center;max-width:580px;margin:auto}.board-heading h2{font:400 26px Georgia,serif;letter-spacing:-.5px;margin:0 0 7px}.board-heading p{font-size:11px;margin:0;color:#8b8e7f}.board-decoration{font-size:29px;color:#c9ac78}.board-scroll{overflow:auto;padding:34px 8px 14px;max-width:100%;scrollbar-width:thin;scrollbar-color:#b6bfaa transparent}.board{display:grid;gap:var(--cell-gap);margin:0 auto;position:relative;width:max-content;min-width:0}.cell{width:var(--cell-size);height:var(--cell-size);padding:7px 0 0;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #dedfce;border-bottom:3px solid #d3d6c3;background:#fffffb;border-radius:9px;font-size:32px;font-weight:700;box-shadow:0 2px 2px #353b2010;line-height:1;transition:background .2s,color .2s,border .2s}.cell small{position:absolute;left:6px;top:5px;font-size:9px;color:#8f957e;font-weight:600}.cell.in-word{background:#eff1e5;border-color:#b3be9f}.cell.selected{background:#647850;color:white;border-color:#526543;box-shadow:0 3px 9px #4f633833}.cell.selected small{color:#dde6cb}.cell.correct{color:#537649;background:#e8efdf;border-color:#becfb0}.cell.selected.correct{background:#647850;color:white}.cell.wrong{color:#a9473f;background:#f9e6df;border-color:#dba18d}.cell.hinted:after{content:'·';position:absolute;bottom:0;font-size:20px;right:4px;color:#9c885a}.animal{position:absolute;width:var(--cell-size);height:26px;text-align:center;font-size:25px;z-index:2;pointer-events:none;line-height:1;transform:translateY(-17px);transition:left 2.3s linear,top 2.3s linear;filter:drop-shadow(0 3px 1px #3a45251a)}.animal span{display:block;animation:animal-hop .65s ease-in-out infinite alternate}.current-clue{display:flex;align-items:center;gap:10px;min-height:50px;max-width:535px;margin:4px auto 10px}.clue-arrow{width:28px;height:28px;border-radius:8px;background:#f0ebdd;color:#a98d59;display:grid;place-items:center;flex-shrink:0;font-size:19px}.current-clue p{font-size:12px;line-height:1.6;margin:0;color:#737965}.keyboard{display:grid;gap:5px;max-width:550px;margin:auto}.keyboard-row{display:flex;justify-content:center;gap:4px}.key{font-size:15px;font-weight:650;border:1px solid #e3e4d8;border-bottom:2px solid #d6d9ca;border-radius:6px;background:#f4f4eb;min-width:0;width:calc(100% / 12);height:35px;padding:0}.key.erase{width:calc(100% / 8);font-size:18px}.board-tools{display:flex;gap:10px;justify-content:center;margin:21px 0 0}.soft-button,.primary-button{padding:11px 19px;border-radius:9px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:9px}.soft-button{background:#f1f0e7;border:1px solid #e1e1d4;color:#7a806b}.soft-button svg{width:15px;height:15px}.primary-button{color:#fffaf0;background:var(--green);border:1px solid var(--green-dark);box-shadow:0 3px 5px #40542b15}.primary-button:hover{background:var(--green-dark)}.primary-button span{margin-left:15px}.feedback{font-size:10px;line-height:1.5;color:#929682;text-align:center;min-height:29px;padding-top:10px}.feedback.error{color:#a85f46}.feedback.success{color:#4b7840}.clues-panel{padding:29px 28px 24px;background:#f5f5eb9c;border-left:1px solid var(--line);display:flex;flex-direction:column}.clues-title{display:flex;align-items:center;justify-content:space-between}.clues-title h3{font:400 23px Georgia,serif;letter-spacing:-.4px;margin:0}.clues-title>span{font-size:10px;color:#8a917b}.progress-track{height:3px;background:#e3e6d6;border-radius:5px;margin:16px 0 24px}.progress-track>div{height:100%;background:#81966b;transition:width .5s;border-radius:5px}.direction-label{font-size:9px;letter-spacing:1.3px;color:#999d87;font-weight:800;margin:0 0 11px}.direction-label:not(:first-child){margin-top:21px}.clue{display:flex;width:100%;text-align:left;gap:11px;border:1px solid transparent;padding:11px 9px;border-radius:9px;background:transparent;margin-bottom:5px}.clue.active{background:#eaeedfa6;border-color:#dce3cf}.clue-number{font:600 12px 'Manrope',sans-serif;display:grid;place-items:center;width:22px;height:23px;border:1px solid #d9decb;border-radius:6px;flex-shrink:0;color:#7d886c}.clue.active .clue-number{background:#687c52;color:#fff8e7;border-color:#687c52}.clue p{font-size:11px;line-height:1.7;margin:0;color:#626d55}.clue small{display:block;color:#a0a591;font-size:9px;margin-top:6px}.clue.solved p{color:#64824e}.forest-note{margin-top:auto;padding-top:20px;text-align:center}.forest-note>span{display:block;font-size:40px;margin:5px 0}.forest-note p{font:italic 13px/1.7 Georgia,serif;color:#8c927a}.game-bottom{border-top:1px solid var(--line);padding:13px 30px;display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#9a9f8a}.game-bottom>span:first-child{display:flex;align-items:center;gap:7px}.saved-dot{width:5px;height:5px;background:#8ba275;border-radius:50%}.season-strip{display:flex;align-items:center;justify-content:space-between;padding:20px 26px;background:#f7f5e6cf;border:1px solid #fff6;border-radius:15px;margin:18px 0 0;backdrop-filter:blur(10px)}.season-caption{display:flex;gap:12px;align-items:center}.season-caption>span{font-size:25px}.season-caption strong{display:block;font-size:11px;font-weight:750}.season-caption small{display:block;font-size:9px;color:#91957f;margin-top:5px}.season-options{display:flex;align-items:center;gap:17px}.auto-season{font-size:9px;color:#7e866b;display:flex;gap:6px;align-items:center;cursor:pointer}.auto-season input{accent-color:#72865b;width:13px;height:13px}.season-tabs{display:flex;gap:5px}.season-tabs button{border:1px solid transparent;border-radius:9px;background:transparent;width:34px;height:32px;font-size:19px;color:#8b967b}.season-tabs button[aria-pressed=true]{background:#fff8e7;border-color:#d6c9a5;box-shadow:0 2px 6px #554c2110}footer{display:flex;justify-content:space-between;font-size:9px;color:#f8f5e6d1;padding:25px 5px 24px;text-shadow:0 1px 4px #344c3555}footer strong{font-weight:600}footer>span:last-child>span{font-size:16px;margin-left:10px}dialog{color:var(--green-dark);border:1px solid #fff9;border-radius:22px;max-width:600px;width:calc(100% - 32px);max-height:85dvh;padding:36px;background:#faf9f0;box-shadow:0 30px 90px #24311933}dialog::backdrop{background:#34422c66;backdrop-filter:blur(4px)}.modal-close{position:absolute;right:13px;top:13px;font-size:25px}.modal-icon{font-size:43px;margin-bottom:12px}dialog h2{font:400 32px Georgia,serif;margin:0 0 14px}dialog p,dialog li{font-size:14px;line-height:1.85;color:#7a836c}dialog ul{padding-left:20px}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:24px}.level-option{text-align:left;border:1px solid #dce0cf;background:#f1f2e6;border-radius:10px;padding:13px}.level-option strong{font-size:20px;display:block;margin-bottom:6px}.level-option span{font-size:10px;line-height:1.5;display:block}.level-option.current{border-color:#6e8554;background:#e4ead7}.success-dialog{text-align:center}.success-dialog .primary-button{font-size:13px;padding:14px 24px}.success-stars{color:#b19b57;font-size:28px;letter-spacing:10px;margin:20px 0}.tree-sway{transform-box:fill-box;transform-origin:50% 100%;animation:sway 7s ease-in-out infinite alternate;animation-delay:var(--delay)}.flame{transform-origin:0 0;animation:flicker 1.4s ease-in-out infinite alternate}.smoke{animation:smoke 5s linear infinite}.tree-lights{animation:twinkle 2.5s ease-in-out infinite alternate}.water-shine{animation:water 5s ease-in-out infinite alternate}.stream{stroke-dasharray:25 12;animation:flow 5s linear infinite}.birds{animation:birds 16s ease-in-out infinite alternate}.particles{position:absolute;inset:0;overflow:hidden}.particle{position:absolute;left:var(--x);top:-25px;width:var(--size);height:calc(var(--size) * .6);background:#caa05d;border-radius:2px 80% 2px 80%;opacity:.55;animation:fall var(--duration) linear infinite;animation-delay:var(--delay)}body[data-season=winter] .particle{height:var(--size);border-radius:50%;background:#fff;opacity:.8}body[data-season=spring] .particle{background:#f5dfd2;border-radius:70% 15%;opacity:.6}body[data-season=summer] .particle{width:3px;height:3px;background:#fff2b4;border-radius:50%;opacity:.6}body[data-season=winter]{--green:#4f7276;--green-dark:#3b5a60;--accent:#7a9ba6}body[data-season=spring]{--green:#64805a;--green-dark:#455f3e}body[data-season=summer]{--green:#52775e;--green-dark:#3f5d49}.motion-paused *, .tab-hidden *{animation-play-state:paused!important}.motion-paused .animal,.tab-hidden .animal{transition:none}.motion-paused .particle{display:none}
@keyframes sway{from{transform:rotate(calc(var(--sway) * -1))}to{transform:rotate(var(--sway))}}@keyframes fall{0%{transform:translate(0,-30px) rotate(var(--rotate))}100%{transform:translate(var(--drift),110vh) rotate(calc(var(--rotate) + 470deg))}}@keyframes flicker{0%{transform:scale(.9,1)}40%{transform:scale(1.1,.85)}100%{transform:scale(.85,1.1)}}@keyframes smoke{0%{transform:translateY(0);opacity:0}30%{opacity:.4}100%{transform:translate(12px,-45px);opacity:0}}@keyframes twinkle{to{opacity:.4}}@keyframes flow{to{stroke-dashoffset:-148}}@keyframes water{to{transform:translateX(13px);opacity:.4}}@keyframes birds{to{transform:translate(90px,-20px)}}@keyframes animal-hop{to{transform:translateY(-2px) rotate(3deg)}}
@media(min-width:1450px){.site-shell{max-width:1190px}.intro{padding-top:20px;padding-bottom:36px}.topbar{height:120px}.landscape-svg{min-height:1000px}}
@media(max-width:900px){.site-shell{padding:0 24px}.game-content{grid-template-columns:1fr 260px}.play-area{padding:23px 20px 7px}.clues-panel{padding:26px 18px}.board-heading h2{font-size:24px}.cell{font-size:30px}}
@media(max-width:700px){.site-shell{padding:0 15px}.topbar{height:87px}.brand{font-size:20px}.brand small{font-size:7px;letter-spacing:2.2px}.brand-symbol{width:35px;height:35px;line-height:26px;font-size:18px}.top-actions{gap:6px}.round-button{width:34px;height:34px}.intro{padding:5px 0 24px}.eyebrow{font-size:7px;letter-spacing:1.5px}h1{font-size:37px;letter-spacing:-1.2px;margin:12px 0}.intro>p{font-size:10px;line-height:1.6;max-width:250px;margin:auto}.game{border-radius:17px}.game-top{padding:16px 17px}.game-content{display:flex;flex-direction:column}.play-area{padding:21px 15px 8px}.board-heading h2{font-size:25px}.board-heading p{font-size:10px}.board-scroll{padding-top:32px;padding-bottom:11px}.cell{font-size:30px;border-radius:7px}.current-clue{margin-top:6px;margin-bottom:12px;min-height:48px}.current-clue p{font-size:12px}.keyboard{gap:5px}.keyboard-row{gap:3px}.key{font-size:16px;height:39px}.key.erase{font-size:19px}.board-tools{margin-top:18px}.soft-button,.primary-button{font-size:12px;padding:11px 14px}.clues-panel{border-left:0;border-top:1px solid var(--line);padding:20px 18px}.clues-title h3{font-size:23px}.progress-track{margin-bottom:19px}.clue{padding:10px}.clue p{font-size:12px}.clue small{font-size:10px}.forest-note{display:flex;gap:14px;text-align:left;align-items:center;padding:12px 10px 0}.forest-note>span{font-size:33px}.forest-note p{font-size:12px}.game-bottom{padding:12px 16px;font-size:8px}.season-strip{padding:16px;display:block;margin-top:13px}.season-caption strong{font-size:12px}.season-caption small{font-size:10px}.season-options{justify-content:space-between;margin-top:14px}.auto-season{font-size:10px}.season-tabs button{width:38px;height:34px}footer{font-size:8px;gap:15px;padding-top:22px;line-height:1.7}footer>span:last-child{max-width:145px;text-align:right}.landscape-svg{min-height:780px;min-width:1200px;left:50%;transform:translateX(-50%)}.level-grid{grid-template-columns:repeat(3,1fr)}dialog{padding:32px 22px}dialog h2{font-size:28px}.level-option{padding:10px}.level-option span{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.particle{display:none}}

.season-cameo{position:absolute;right:2%;bottom:25%;width:125px;height:150px;overflow:visible} @media(max-width:700px){.topbar{height:73px}.intro{padding-bottom:20px}h1{font-size:clamp(25px,7.5vw,30px);line-height:1.15;margin:11px 0}.intro>p{max-width:none;font-size:9px}.season-cameo{right:-4%;bottom:26%;width:90px;height:115px}.level-meta{font-size:10px;gap:5px;white-space:nowrap}.difficulty{margin-left:3px;padding:3px 6px;font-size:9px}.game-top .text-button{font-size:10px;padding:0}.game-top .text-button span{margin-left:3px}.game-top{gap:10px}}

/* Photographic scenery: one cover plane keeps its light effects aligned. */
.scene-world{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden;background:#6c754f}
.scene-photo,.forest-edge{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.forest-edge{background-size:100% 100%;transform-origin:50% 100%;animation:forest-breeze 9s ease-in-out infinite alternate;will-change:transform}
.forest-edge-left{mask-image:linear-gradient(90deg,#000 0%,#000 13%,transparent 36%)}
.forest-edge-right{mask-image:linear-gradient(270deg,#000 0%,#000 10%,transparent 33%);animation-delay:-5s;animation-direction:alternate-reverse}
.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,33,24,.49),rgba(24,35,21,.3) 29%,transparent 51%,rgba(17,32,23,.16))}
.topbar .brand,.topbar .brand small{color:#fff8e9;text-shadow:0 2px 10px #18261980}
.topbar .brand-symbol{border-color:#fff6de99;background:#2c392e33}
.topbar .round-button{background:#fff9e9e6;border-color:#fff9;box-shadow:0 2px 12px #17241520}
.intro h1,.intro h1 em{color:#fff9eb;text-shadow:0 2px 16px #15271b80}
.intro .eyebrow,.intro .tiny-leaf,.intro>p{color:#fff7e7;text-shadow:0 1px 8px #192a1699}
.game{background:#fbfaf5f7;box-shadow:0 24px 65px #17241238,0 3px 12px #1724121a}
.season-strip{background:#f9f7ebe8}
.fire-glow{position:absolute;left:84.8%;top:60.8%;width:4%;height:7%;border-radius:50%;background:radial-gradient(ellipse,#ffc15e70, #ff7e2220 40%,transparent 70%);mix-blend-mode:screen;animation:firelight 1.7s ease-in-out infinite alternate}
.fire-smoke{position:absolute;left:85.9%;top:56.5%;width:1.3%;height:7%;border-radius:50%;background:linear-gradient(transparent,#ddd5c122,transparent);filter:blur(5px);animation:smoke-drift 7s ease-out infinite}
.winter-glimmer{position:absolute;left:72%;top:29%;width:12%;height:41%;background:radial-gradient(circle at 42% 30%,#ffd68c70 0,transparent 2%),radial-gradient(circle at 30% 51%,#ffe6a480 0,transparent 2%),radial-gradient(circle at 67% 66%,#ffe6a480 0,transparent 2%);mix-blend-mode:screen;animation:glimmer 3s ease-in-out infinite alternate}
.stream-shimmer,.lake-shimmer{position:absolute;background:repeating-linear-gradient(177deg,transparent 0 13px,#fffad82b 14px,transparent 15px 30px);mix-blend-mode:soft-light;animation:water-sparkle 7s ease-in-out infinite alternate;mask-image:radial-gradient(ellipse,#000,transparent 70%)}
.stream-shimmer{left:50%;top:64%;width:31%;height:34%;transform:rotate(-14deg)}
.lake-shimmer{left:19%;top:57%;width:70%;height:35%}
.sun-glow{position:absolute;left:67%;top:19%;width:18%;height:25%;border-radius:50%;background:radial-gradient(ellipse,#ffe5aa44,transparent 65%);mix-blend-mode:screen;animation:glimmer 8s ease-in-out infinite alternate}
body[data-season=autumn] .particle{background:linear-gradient(40deg,var(--leaf-tone) 45%,#e8bc765c 47%,var(--leaf-tone) 54%);border-radius:3% 80% 5% 80%;box-shadow:0 1px 2px #38210930;opacity:.8}
body[data-season=winter] .particle{box-shadow:0 0 5px #fff8}
.animal{height:40px;transform:translateY(-29px);font-size:0;filter:drop-shadow(0 2px 1px #30261626)}
.animal span{height:100%;animation:animal-step .7s ease-in-out infinite alternate}
.animal img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.forest-note>span{display:block;margin:0;height:81px}
.forest-note img{display:block;width:122px;height:81px;object-fit:contain;margin:auto;filter:drop-shadow(0 3px 2px #3c302316)}
.modal-icon img{display:block;width:150px;height:100px;object-fit:contain;margin:auto}
@keyframes forest-breeze{from{transform:rotate(-.23deg) scale(1.012)}to{transform:rotate(.23deg) scale(1.012)}}
@keyframes firelight{0%{opacity:.45;transform:scale(.8,1)}35%{opacity:.9;transform:scale(1.08,.9)}100%{opacity:.65;transform:scale(.9,1.1)}}
@keyframes smoke-drift{0%{opacity:0;transform:translate(0,0)}30%{opacity:.7}100%{opacity:0;transform:translate(18px,-45px)}}
@keyframes glimmer{to{opacity:.45}}
@keyframes water-sparkle{to{background-position:22px 11px;opacity:.45}}
@keyframes animal-step{to{transform:translateY(-2px) rotate(1deg)}}
@media(max-width:700px){.forest-note>span{flex:0 0 81px;height:61px}.forest-note img{width:91px;height:61px}.board-scroll{padding-top:38px}.scene-shade{background:linear-gradient(180deg,#15231970,transparent 43%,#15231930)}}
@media(prefers-reduced-motion:reduce){.forest-edge{will-change:auto}}
