:root{color-scheme:light;--paper:#f6f4eb;--ink:#2d4439;--muted:#838875;--green:#4e715a;--line:#e5e5d7;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
.cell:disabled{opacity:1;cursor:default}
.board-frame{position:relative;height:0;padding-bottom:100%;width:100%}
#board{position:absolute;top:0;left:0;width:100%;height:100%;aspect-ratio:auto;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));grid-template-rows:repeat(var(--n,6),minmax(0,1fr));isolation:auto}
#board .cell{display:block;min-width:0;min-height:0;width:100%;height:100%;aspect-ratio:auto;overflow:hidden;appearance:none;-webkit-appearance:none;line-height:0;touch-action:manipulation}
#board .cell svg{position:absolute;left:14%;top:14%;width:72%;height:72%;display:block;overflow:visible}
#board .cell svg.mark{left:33%;top:33%;width:34%;height:34%}
.difficulty-picker{display:flex;align-items:center;gap:8px;min-width:0;font-size:11px;color:#7c856f}
.difficulty-picker select{font:12px var(--sans);color:#426048;background:#fffef8;border:1px solid #dce2d1;border-radius:7px;padding:9px 26px 9px 10px;max-width:190px;cursor:pointer}
.difficulty-picker select:focus-visible{outline:3px solid #b78644;outline-offset:2px}
.auto-x-control{display:flex;align-items:center;gap:5px;color:#748366;font-size:11px;white-space:nowrap;cursor:pointer;min-height:40px}
.auto-x-control input{width:16px;height:16px;margin:0;accent-color:#55735a}
@media(min-width:721px) and (max-width:960px){main .app-layout{display:block;max-width:650px;margin:auto}.app-layout .garden-guide{max-width:440px;margin:32px auto 0;padding-top:0}.garden-guide .perch-scene{height:130px}.garden-guide>.eyebrow{justify-content:center}.garden-guide>h2,.guide-intro{text-align:center}}
@media(max-width:900px){.difficulty-picker>span{display:none}}
@media(max-width:720px){.difficulty-picker select{font-size:11px;max-width:155px;padding:8px 20px 8px 7px}.auto-x-control{font-size:10px;gap:4px}}
@media(max-width:360px){.difficulty-picker select{max-width:139px;font-size:10px}.auto-x-control{font-size:9px}}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans);-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{-webkit-touch-callout:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #b78644;outline-offset:4px}button{touch-action:manipulation}button:disabled{cursor:default;opacity:.4}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.site-header{max-width:1150px;margin:0 auto;padding:29px 38px 22px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:7px;color:var(--ink);text-decoration:none;font:600 33px/1 var(--serif);letter-spacing:-1.3px}.brand>svg{width:40px;height:40px;stroke:none}.brand-dot{color:#bb9761}.header-note{font-size:12px;color:var(--muted);letter-spacing:.1px}.header-actions{margin-left:auto;display:flex;gap:10px}.icon-button{width:37px;height:37px;border:1px solid #dcdfd0;border-radius:50%;background:transparent;color:#74816c;font:18px var(--serif);display:grid;place-items:center}.icon-button svg{width:20px;height:20px}.icon-button:hover{background:#eaece0}main{max-width:1060px;margin:auto;padding:0 34px}.intro{text-align:center;margin:36px 0 31px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;display:flex;align-items:center;gap:7px;color:#77896d;margin:0 0 11px}.intro .eyebrow{justify-content:center}.eyebrow svg{width:15px;height:15px}h1,h2,p{margin-top:0}h1{font:400 clamp(29px,3.4vw,42px)/1.15 var(--serif);letter-spacing:-1.3px;margin-bottom:10px}.intro>p:last-child{font-size:13px;color:var(--muted);margin:0}.app-layout{display:grid;grid-template-columns:minmax(0,570px) 280px;gap:65px;justify-content:center;align-items:start}.puzzle-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.difficulty-tabs{background:#eaece1;border:1px solid #e3e6da;border-radius:8px;padding:4px;display:flex;gap:2px}.difficulty-tabs button{border:0;background:transparent;border-radius:5px;color:#7b8472;font-size:12px;padding:7px 11px;white-space:nowrap}.difficulty-tabs button span{font-size:10px;opacity:.75;margin-left:3px}.difficulty-tabs button.active{background:#fffef8;color:#3e5d46;box-shadow:0 1px 3px #36432a12}.daily-button{border:0;background:transparent;display:flex;align-items:center;gap:6px;color:#7c856f;font-size:11px;padding:8px 0;white-space:nowrap}.daily-button svg{width:16px;height:16px}.daily-button.active{color:#456947;font-weight:700}.game-card{background:#fffef8;border:1px solid #e0e4d6;box-shadow:0 8px 24px #45503906;border-radius:15px;padding:24px}.board-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px}.tiny-label{font-size:9px;letter-spacing:1.65px;color:#8a927e;margin:0 0 5px;font-weight:600}.board-heading h2{font:400 22px/1.3 var(--serif);letter-spacing:-.5px;margin:0}.progress{display:flex;align-items:center;gap:8px}.progress-bird{width:38px;height:38px;background:#f0f2e7;border-radius:50%;display:grid;place-items:center}.progress-bird svg{width:32px;height:32px;stroke:none}.progress strong{font-size:14px;font-weight:500;display:block;line-height:1.1}.progress small{color:#929782;font-size:9px;white-space:nowrap}.board{display:grid;grid-template-columns:repeat(var(--n,6),1fr);aspect-ratio:1;border:2px solid #778a72;border-radius:9px;overflow:hidden;isolation:isolate;background:#71836b;gap:0}.cell{position:relative;display:grid;place-items:center;min-width:0;padding:0;border:0;border-right:1px solid #78857426;border-bottom:1px solid #78857426;background:var(--region);color:#566648;user-select:none;transition:filter .14s,box-shadow .14s;aspect-ratio:1}.cell.region-right{border-right:2px solid #788574aa}.cell.region-bottom{border-bottom:2px solid #788574aa}.cell:hover{filter:brightness(1.035)}.cell:focus-visible{outline:3px solid #365c3e;outline-offset:-4px;z-index:2}.cell svg{width:72%;height:72%;stroke:none;pointer-events:none}.cell .mark{width:34%;height:34%;opacity:.47;stroke-width:1.8;stroke:currentColor}.cell.auto .mark{opacity:.27}.cell .habitat-letter{position:absolute;top:3px;left:5px;color:#44583f;font-size:clamp(8px,1vw,11px);opacity:.58;pointer-events:none}.cell .hint-ring{position:absolute;inset:12%;border:2px dashed #45623f;border-radius:50%;pointer-events:none;animation:breathe 1.2s infinite}.cell.has-bird svg{animation:land .28s ease-out}.cell.wrong{animation:shake .35s;box-shadow:inset 0 0 0 3px #bc785e}.board.completed .cell.has-bird svg{animation:celebrate .55s ease-in-out}.board-note{display:flex;align-items:center;gap:7px;padding:16px 0;color:#89917c;font-size:11px;min-height:50px}.board-note .status-dot{width:5px;height:5px;background:#a5b18c;border-radius:50%;flex-shrink:0}.timer{margin-left:auto;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.tools{display:flex;align-items:center;gap:21px;padding:13px 0 18px;border-top:1px solid #e9ebdf}.mode-control{display:flex;background:#f0f1e8;padding:3px;border-radius:7px;margin-right:auto}.mode-control button{border:0;background:transparent;border-radius:5px;color:#929a83;font-size:12px;padding:7px 11px;display:flex;align-items:center;gap:5px}.mode-control svg{width:19px;height:19px}.mode-control #bird-mode svg{stroke:none;width:23px;height:23px}.mode-control button.active{background:#fffef8;color:#496d50;box-shadow:0 1px 3px #3b4a2c10}.tool-button{border:0;background:transparent;color:#78866c;display:flex;flex-direction:column;gap:2px;align-items:center;font-size:10px;padding:0 2px}.tool-button svg{width:18px;height:18px}.new-puzzle{width:100%;border:1px solid #dbe3d2;background:#eaf0e2;border-radius:7px;color:#4a6950;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px;font-size:12px;font-weight:500}.new-puzzle>svg{width:16px;height:16px}.new-puzzle>svg:last-child{margin-left:auto;width:18px}.new-puzzle>svg:first-child{margin-right:auto}.new-puzzle:hover{background:#e0ead6}.tap-tip{text-align:center;color:#a1a591;font-size:10px;margin:12px 0 0}.tap-tip span{margin-right:9px}.garden-guide{padding-top:50px}.perch-scene{height:148px;margin-bottom:17px}.perch-scene svg{width:100%;height:100%;stroke:none}.garden-guide>.eyebrow{font-size:9px;letter-spacing:1.9px}.garden-guide h2{font:400 27px/1.2 var(--serif);letter-spacing:-.65px;margin-bottom:13px}.guide-intro{font-size:12px;color:#8b917c;line-height:1.9;margin-bottom:25px}.rules{list-style:none;padding:0;margin:0;display:grid;gap:21px}.rules li{display:flex;gap:13px;align-items:flex-start}.rule-number{width:25px;height:25px;border:1px solid #dce1d0;display:grid;place-items:center;flex-shrink:0;border-radius:50%;font:12px var(--serif);color:#7d8b6c;margin-top:1px}.rules strong{font-size:12px;font-weight:600}.rules p{font-size:11px;line-height:1.8;color:#939985;margin:4px 0 0;max-width:210px}.gentle-note{display:flex;gap:11px;border-top:1px solid #dfe3d2;padding-top:23px;margin-top:30px}.gentle-note svg{width:21px;height:21px;color:#85996e;margin-top:3px}.gentle-note p{font-size:10px;line-height:1.9;color:#9a9f87;margin:0}.gentle-note strong{font-weight:400;color:#7e8d6e}.how-link{border:0;background:transparent;color:#7b8b6d;font-size:10px;padding:0;display:flex;gap:24px;margin-top:23px}.how-link:hover{text-decoration:underline}footer{display:flex;justify-content:space-between;max-width:915px;margin:38px auto 25px;border-top:1px solid var(--line);padding-top:16px;color:#a0a58e;font-size:10px;letter-spacing:.3px}.landscape{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.stem{position:absolute;bottom:-60px;width:150px;height:250px;border-radius:50%;border-left:4px solid #dfe4d4;transform:rotate(17deg);opacity:.6}.stem:before,.stem:after{content:'';position:absolute;background:#dfe4d4;width:70px;height:24px;border-radius:100% 0 100% 0;left:-57px;top:66px;transform:rotate(40deg)}.stem:after{left:2px;top:123px;transform:rotate(-35deg)}.s1{left:-44px}.s2{left:30px;height:170px;transform:rotate(-20deg)}.s3{right:-98px;transform:rotate(-27deg)}.s4{right:-38px;height:130px;transform:rotate(11deg)}dialog{border:1px solid #dce2ce;border-radius:19px;background:#fffef8;color:var(--ink);padding:35px;max-width:440px;width:calc(100% - 32px);box-shadow:0 15px 70px #2633212b}dialog::backdrop{background:#293e3066;backdrop-filter:blur(4px)}dialog h2{font:400 29px/1.15 var(--serif);letter-spacing:-.8px;margin-bottom:18px}dialog p{font-size:13px;line-height:1.8;color:#79836d}dialog strong{color:#4d654d;font-weight:600}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:#859077;font-size:25px;padding:0 5px}.primary-button,.secondary-button{border:0;background:#55735a;color:#fffef5;border-radius:8px;padding:12px 16px;width:100%;font-size:13px;margin-top:12px}.primary-button:hover{background:#44614a}.secondary-button{background:#eef1e5;color:#577054;border:1px solid #dfe5d2}.help-example{display:flex;align-items:center;gap:12px;justify-content:center;padding:8px;background:#f0f2e6;border-radius:9px;margin-bottom:15px}.help-example svg{width:54px;height:54px;stroke:none}.help-example svg:nth-of-type(2){width:27px;height:27px;stroke:#879d7a}.help-example span{color:#bdc5b2}.setting{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid #e7ebdb}.setting strong{display:block;font-size:12px}.setting small{display:block;font-size:10px;color:#929b85;margin-top:3px}.setting input{width:20px;height:20px;accent-color:#55735a}.settings-note{font-size:11px!important;margin:20px 0 8px}.win-dialog{text-align:center}.win-dialog .eyebrow{justify-content:center}.win-bird{position:relative;margin:0 auto 20px;width:95px;height:95px;border-radius:50%;background:#eff1e2}.win-bird svg{width:95px;height:95px;stroke:none}.win-bird span{position:absolute;right:-5px;top:0;color:#bb9b62;font-size:28px}.win-stats{display:flex;justify-content:center;gap:35px;font-size:12px;color:#7b896e;margin:20px 0}.win-stats strong{display:block;color:#4e684f;font-size:18px;font-weight:500}.win-dialog .how-link{margin:19px auto 0}.confetti{position:fixed;width:8px;height:13px;border-radius:3px;top:-20px;z-index:10;pointer-events:none;animation:fall 2.5s ease-in forwards}@keyframes fall{to{transform:translateY(105vh) rotate(480deg);opacity:0}}@keyframes breathe{50%{opacity:.4}}@keyframes land{0%{transform:translateY(-8px) scale(.8);opacity:.3}100%{transform:none;opacity:1}}@keyframes celebrate{50%{transform:translateY(-5px) rotate(-5deg)}}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@media(min-width:1350px){.intro{margin-top:43px;margin-bottom:36px}.app-layout{gap:76px}.game-card{padding:26px}}@media(max-width:900px){.app-layout{gap:30px;grid-template-columns:minmax(0,530px) 230px}.garden-guide{padding-top:45px}.site-header{padding-inline:25px}main{padding-inline:25px}.puzzle-options{gap:7px}.difficulty-tabs button{padding-inline:8px}.daily-button{font-size:10px}.perch-scene{height:120px}}@media(max-width:720px){.site-header{padding:18px 20px 15px}.brand{font-size:29px}.brand>svg{width:34px;height:34px}.header-note{display:none}.icon-button{width:34px;height:34px}main{padding:0 18px}.intro{margin:24px 0 23px}.intro .eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:10px}h1{font-size:31px;letter-spacing:-1px}.intro>p:last-child{font-size:11px}.app-layout{display:block;max-width:530px;margin:auto}.puzzle-options{margin-bottom:12px}.difficulty-tabs{padding:3px}.difficulty-tabs button{font-size:11px;padding:7px 8px}.difficulty-tabs button span{font-size:9px;margin-left:2px}.daily-button{font-size:10px;gap:4px}.game-card{padding:18px;border-radius:12px}.board-heading{margin-bottom:17px}.board-heading h2{font-size:21px}.tiny-label{font-size:8px;letter-spacing:1.3px}.progress{gap:6px}.progress-bird{width:33px;height:33px}.progress strong{font-size:13px}.progress small{font-size:8px}.board-note{padding:13px 0;font-size:10px}.tools{padding:11px 0 14px}.garden-guide{padding-top:34px;max-width:440px;margin:auto}.perch-scene{height:130px;margin-bottom:10px}.garden-guide>.eyebrow,.garden-guide>h2,.guide-intro{text-align:center;justify-content:center}.garden-guide>h2{font-size:26px}.guide-intro{margin-bottom:22px}.guide-intro br{display:none}.rules{gap:17px}.rules p{max-width:none}.gentle-note{justify-content:center;margin-top:22px;padding-top:18px}.how-link{margin-inline:auto;justify-content:center}.garden-guide .how-link{margin-top:17px}footer{font-size:9px;margin-top:31px;padding-bottom:10px;gap:15px}.landscape{opacity:.5}dialog{padding:29px 25px}.cell .habitat-letter{font-size:9px;left:3px;top:1px}}@media(max-width:360px){main{padding-inline:12px}.game-card{padding:13px}.difficulty-tabs button span{display:none}.daily-button{font-size:9px}.board-heading h2{font-size:19px}.tools{gap:13px}.tap-tip{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}dialog::backdrop{backdrop-filter:none}}
/* Clear habitat identities and line marking controls. Keep board sizing explicit for iPad. */
.board-shell{width:100%}.column-arrows,.row-arrows{display:none}
.board-shell.with-line-arrows{display:grid;grid-template-columns:minmax(0,1fr) 28px;grid-template-rows:28px auto;gap:4px}
.with-line-arrows .board-frame{grid-column:1;grid-row:2}
.with-line-arrows .column-arrows{display:grid;grid-column:1;grid-row:1;grid-template-columns:repeat(var(--n),minmax(0,1fr));padding-inline:2px}
.with-line-arrows .row-arrows{display:grid;grid-column:2;grid-row:2;grid-template-rows:repeat(var(--n),minmax(0,1fr));padding-block:2px}
.line-arrow{padding:0;border:0;border-radius:5px;background:#e8eddf;color:#36573e;min-width:0;min-height:0;font:21px/1 Arial,sans-serif;display:grid;place-items:center}
.line-arrow:hover{background:#d2dec7}.line-arrow:active{background:#bacdb0}.line-arrow:focus-visible{outline-offset:-2px}.line-arrow:disabled{opacity:.5}
#board{border-color:#3b5045;background:#3b5045}
#board .cell{color:var(--tile-ink);border-right-color:#ffffff38;border-bottom-color:#ffffff38}
#board .cell.region-right{border-right-color:#283e48d9}#board .cell.region-bottom{border-bottom-color:#283e48d9}
#board .cell .habitat-symbol{left:26%;top:26%;width:48%;height:48%;stroke:var(--tile-ink);stroke-width:2;fill:none;opacity:.54;animation:none!important}
#board .cell.has-mark .habitat-symbol,#board .cell.has-bird .habitat-symbol{left:6%;top:6%;width:27%;height:27%;opacity:.8}
#board .cell .mark{left:27%;top:27%;width:46%;height:46%;stroke:var(--tile-ink);stroke-width:3;opacity:1}
#board .cell.auto .mark{opacity:.58}
#board .cell.has-bird>svg:not(.habitat-symbol){left:21%;top:21%;width:62%;height:62%;border-radius:50%;background:#fffef5;box-shadow:0 1px 4px #172b3b55}
#board .cell .habitat-letter{color:var(--tile-ink);top:auto;bottom:5%;left:7%;opacity:.8;line-height:1}
#board .cell .hint-ring{border-color:var(--tile-ink);inset:8%;box-shadow:0 0 0 1px #263b45}
#board .cell:focus-visible{outline-color:var(--tile-ink)}
@media(max-width:720px){.board-shell.with-line-arrows{grid-template-columns:minmax(0,1fr) 25px;grid-template-rows:25px auto;gap:3px}.line-arrow{font-size:18px}}
#board .cell .mark{left:19%;top:19%;width:62%;height:62%}
#board .cell .habitat-symbol{opacity:.65}
#board .cell .habitat-symbol{stroke:var(--symbol-color);opacity:1}
#board .cell.has-mark .habitat-symbol,#board .cell.has-bird .habitat-symbol{opacity:1}
.line-arrow[aria-pressed=true]{background:#c9d8bc;color:#2d5035;box-shadow:inset 0 0 0 1px #9caf8e}
.bird-art{object-fit:contain;pointer-events:none;user-select:none}.brand>.bird-art{width:40px;height:40px}.progress-bird>.bird-art{width:38px;height:38px}.mode-control #bird-mode .bird-art{width:23px;height:23px}.help-example .bird-art{width:54px;height:54px}.win-bird .bird-art{width:95px;height:95px}
#board .cell .bird-sprite{position:absolute;left:8%;top:8%;width:84%;height:84%;object-fit:contain;pointer-events:none;user-select:none;filter:drop-shadow(0 1px 1px #fffef5) drop-shadow(0 -1px 1px #fffef5);animation:land .28s ease-out}
#board.completed .cell .bird-sprite{animation:celebrate .55s ease-in-out}
@media(max-width:720px){.brand>.bird-art{width:34px;height:34px}.progress-bird>.bird-art{width:33px;height:33px}}
