:root{--ink:#263c35;--muted:#3e5e45;--green:#3e5e45;--paper:#f3eed8;--line:#f3eed8;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px var(--sans)}button,a,select,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #ba9867;outline-offset:4px}button{border:0;background:none}a{color:inherit}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.header{height:102px;max-width:1520px;margin:auto;padding:0 56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font:39px var(--serif);letter-spacing:-1.8px;line-height:.9}.brand-mark svg{width:42px;height:42px;stroke-width:1.2}.brand-sub{display:block;font:10px var(--sans);letter-spacing:1.5px;margin-top:11px;color:var(--muted)}.header-right{display:flex;align-items:center;gap:25px}.saved{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:7px}.saved-dot,.live-dot{height:6px;width:6px;display:inline-block;border-radius:4px;background:#91aa72}.currency{display:flex;gap:8px;align-items:center;border:1px solid #d9e1ba;padding:10px 15px;border-radius:4px;background:#f3eed8}.currency svg{width:17px}.currency b{font-size:13px}.currency-label{color:var(--muted);font-size:11px}.round{border:1px solid var(--line);border-radius:4px;height:37px;width:37px;display:inline-flex;align-items:center;justify-content:center}.round:hover{background:#f3eed8}main{max-width:1520px;padding:0 56px;margin:auto}.garden-heading{display:flex;align-items:center;justify-content:space-between;margin:35px 0 25px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.7px;color:#3e5e45}h1{font:37px var(--serif);margin:9px 0 6px;letter-spacing:-.7px}h1 span{font:18px var(--sans);color:#b7c994;margin-left:12px}.garden-heading p{font-size:11px;margin:0;color:var(--muted)}.conditions{display:flex;gap:9px;align-self:flex-end;padding-bottom:9px}.conditions label{display:flex;align-items:center;border:1px solid var(--line);border-radius:4px;padding:8px 12px;gap:6px}.conditions svg{width:15px;height:15px;color:#91aa72}select{background:none;border:0;font:11px var(--sans);color:var(--ink);cursor:pointer;padding-right:3px}.garden{height:490px;position:relative;border-radius:4px;background:#b7c994;box-shadow:none;margin-bottom:72px}.scene-scroll{height:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-radius:4px;cursor:grab;touch-action:pan-x}.scene-scroll::-webkit-scrollbar{display:none}.scene-scroll.dragging{cursor:grabbing;user-select:none}.scene{width:4680px;height:520px;position:relative;overflow:hidden;background:#d9e1ba;transform:translateY(var(--sky-offset,0px)) scale(var(--garden-zoom,1));transform-origin:top left}.landscape{position:absolute;inset:0;background:#d9e1ba;transition:none}.atmosphere{position:absolute;inset:0;pointer-events:none;transition:background 2s;background:#d9e1ba}.scene-caption{position:absolute;top:22px;left:23px;font-size:10px;display:flex;gap:7px;align-items:center;color:#3e5e45;background:#f3eed8;backdrop-filter:none;padding:10px 13px;border-radius:4px;pointer-events:none}.scene-note{position:absolute;top:86px;left:28px;pointer-events:none}.tiny-label{font-size:8px;letter-spacing:2.3px;color:#3e5e45}.scene-note p{font:32px/1.04 var(--serif);margin:11px 0;color:#263c35;text-shadow:none}.scene-controls{position:absolute;right:20px;top:20px;display:flex;gap:8px}.glass-button{height:34px;display:flex;align-items:center;justify-content:center;gap:7px;background:#f3eed8;border:1px solid #f3eed8;border-radius:4px;padding:0 11px;font-size:10px}.glass-button svg{width:15px;height:15px}.pan-hint{position:absolute;bottom:54px;left:50%;transform:translateX(-50%);color:#f3eed8;font-size:9px;display:flex;gap:14px;text-shadow:none;pointer-events:none;white-space:nowrap}.pan-arrows{position:absolute;bottom:35px;right:20px;display:flex;gap:7px}.pan-arrows button{background:#f3eed8;border-radius:4px;width:29px;height:29px}.garden-nav{display:flex;position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);background:#f3eed8;border:1px solid #f3eed8;border-radius:4px;padding:7px;box-shadow:none;gap:6px;white-space:nowrap}.garden-nav button{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:4px;padding:13px 18px;font-size:11px;color:#3e5e45}.garden-nav button:hover{background:#f3eed8}.garden-nav button.active{background:#f3eed8;color:#3e5e45}.garden-nav svg{width:18px;height:18px}.garden-nav i{font:9px var(--sans);border-radius:4px;background:#f3eed8;width:18px;height:18px;display:grid;place-items:center}.below{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:22px;margin-bottom:28px}.below-intro{padding:16px 0}.below-intro h2{font:30px var(--serif);margin:10px 0}.below-intro p{font-size:11px;line-height:1.9;color:var(--muted)}.text-button{padding:8px 0;font-size:11px}.text-button span{margin-left:8px}.summary-card{text-align:left;padding:22px 25px;border:1px solid var(--line);border-radius:4px;background:#f3eed8;transition:transform .2s,border-color .2s}.summary-card:hover{transform:translateY(-3px);border-color:#b7c994}.card-top{display:flex;justify-content:space-between;align-items:center}.card-top svg{color:#3e5e45;width:16px;height:16px}.summary-card h3{font:23px var(--serif);margin:13px 0 5px}.summary-card p{font-size:10px;line-height:1.65;color:var(--muted);margin:0}.visitor-stack{height:43px;display:flex;margin-top:19px}.visitor-stack .avatar{width:47px;height:47px;border-radius:4px;background:#f3eed8;border:3px solid #f3eed8;margin-right:-9px;padding:5px}.avatar svg{width:100%;height:100%}.card-link{display:flex;justify-content:space-between;margin-top:17px;font-size:10px;color:#3e5e45}.discovery-number{margin-top:18px;display:flex;align-items:baseline;gap:9px}.discovery-number b{font:39px var(--serif);line-height:1}.discovery-number span{font-size:10px;color:#3e5e45}.progress{height:3px;background:#f3eed8;border-radius:4px;margin-top:22px}.progress div{height:100%;background:#91aa72;transition:width .5s}footer{border-top:1px solid var(--line);padding:19px 0 25px;color:#3e5e45;font-size:9px;display:flex;align-items:center;gap:8px}footer svg{width:12px;height:12px}.footer-save{margin-left:auto;font-size:9px}.bird-actor{position:absolute;width:auto;height:auto;padding:8px;z-index:3;transform:translate(-50%,-50%);transition:left 5s ease-in-out,top 5s ease-in-out;filter:none}.bird-actor svg{width:100%;height:100%;overflow:visible;animation:bird-bob 3s ease-in-out infinite}.bird-actor:hover svg{filter:none;scale:1.13}.bird-actor .bird-dot{position:absolute;right:7px;top:4px;width:14px;height:14px;background:#f3eed8;border-radius:4px;font-size:9px;line-height:14px;color:#3e5e45;box-shadow:none}.bird-actor.flying svg{animation:none}.behavior-tag{position:absolute;top:55px;left:50%;transform:translateX(-50%);font-size:8px;white-space:nowrap;background:#f3eed8;border-radius:4px;padding:4px 7px;opacity:0;transition:opacity .2s;pointer-events:none}.bird-actor:hover .behavior-tag{opacity:1}.decoration{position:absolute;transform:translate(-50%,-100%);pointer-events:none;filter:none}.decoration svg{width:95px;height:115px}.decoration.plants svg{width:130px;height:110px}.decoration.bath svg{width:85px;height:90px}.plant-label{position:absolute;left:50%;transform:translateX(-50%);bottom:-12px;font-size:8px;white-space:nowrap;background:#f3eed8;border-radius:4px;padding:4px 8px}.garden.quiet .scene-caption,.garden.quiet .scene-note,.garden.quiet .garden-nav,.garden.quiet .pan-hint,.garden.quiet .pan-arrows{opacity:0;pointer-events:none}.garden.quiet{height:calc(100svh - 150px)}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);padding:13px 22px;border-radius:4px;background:#263c35;color:#f3eed8;font-size:12px;z-index:20;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #d9e1ba;border-radius:4px;background:#f3eed8;color:var(--ink);width:510px;max-width:calc(100vw - 28px);padding:24px;max-height:85svh;box-shadow:none}dialog::backdrop{background:#263c35;backdrop-filter:none}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.modal-header .round{width:30px;height:30px}.modal-header svg{width:16px;height:16px}dialog h2{font:35px/1.1 var(--serif);margin:10px 0 12px}dialog h3{font:25px var(--serif);margin:15px 0 8px}dialog p{color:#3e5e45;font-size:12px;line-height:1.8}.modal-bird{height:130px;border-radius:4px;background:#d9e1ba;display:flex;align-items:center;justify-content:center;margin:13px 0}.modal-bird svg{width:150px;height:115px}.scientific{font-style:italic;font-size:12px;color:#3e5e45}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.tag{background:#f3eed8;border-radius:4px;padding:6px 10px;font-size:9px}.primary{background:#3e5e45;color:#f3eed8;padding:12px 19px;border-radius:4px;font-size:12px}.secondary{background:#f3eed8;color:#3e5e45;padding:12px 16px;border-radius:4px;font-size:12px}.full{width:100%;margin-top:8px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 12px}.choices button{border:1px solid var(--line);border-radius:4px;padding:12px;text-align:left;font-size:11px;background:#f3eed8}.choices button:hover{border-color:#91aa72;background:#f3eed8}.id-feedback{font-size:11px!important;color:#3e5e45!important;min-height:19px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.detail-grid div{background:#f3eed8;border-radius:4px;padding:12px;font-size:11px;line-height:1.7}.detail-grid b{display:block;font-size:9px;color:#3e5e45;letter-spacing:1px;margin-bottom:4px}.name-form{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.name-form label{flex-basis:100%;font-weight:600}.name-form input{min-width:0;flex:1;border:1px solid #d9e1ba;border-radius:4px;background:#f3eed8;padding:10px 15px;color:var(--ink);font:12px var(--sans)}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.journal-item{text-align:left;border:1px solid var(--line);background:#f3eed8;border-radius:4px;padding:13px}.journal-item .thumb{height:68px;background:#f3eed8;border-radius:4px;margin-bottom:9px;display:grid;place-items:center}.thumb svg{width:90px;height:70px}.journal-item b{display:block;font-size:11px}.journal-item small{color:#3e5e45;font-size:9px;display:block;margin-top:5px}.locked-bird{opacity:.32;filter:none}.journal-item.locked{opacity:.7}.shop-list,.area-list{display:flex;flex-direction:column;gap:10px;margin-top:20px}.shop-row{border:1px solid var(--line);border-radius:4px;padding:15px;display:flex;align-items:center;gap:13px}.shop-art{width:58px;height:62px;flex-shrink:0;display:grid;place-items:center;background:#f3eed8;border-radius:4px}.shop-art svg{width:50px;height:55px}.shop-copy{flex:1}.shop-copy h3{font:21px var(--serif);margin:0}.shop-copy p{font-size:10px;line-height:1.5;margin:4px 0}.shop-row .secondary{padding:10px 12px;white-space:nowrap;font-size:10px}.area{border:1px solid var(--line);border-radius:4px;padding:18px;background:#d9e1ba}.area h3{margin:0;font:25px var(--serif)}.area p{margin:6px 0 12px;font-size:11px}.area .primary,.area .secondary{padding:10px 16px;font-size:11px}.recap-item{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.recap-item svg{width:57px;height:50px}.recap-item p{margin:0}.source-link{font-size:10px;color:#3e5e45}.empty-note{background:#f3eed8;border-radius:4px;padding:15px}.source-note{font-size:10px!important}.storage-warning{color:#806849!important}.modal-actions{display:flex;gap:8px;flex-wrap:wrap}.recap-label{font-size:9px;color:#3e5e45}.fireflies{pointer-events:none}.firefly{position:absolute;width:3px;height:3px;background:#f3eed8;border-radius:4px;box-shadow:none;animation:drift 9s ease-in-out infinite}.landscape>.scene-landscape-art{width:100%;height:100%;position:absolute;inset:0}.landscape.loaded .scene-landscape-art{display:none}@keyframes bird-bob{50%{transform:translateY(-2px)}}@keyframes flit{to{transform:translateY(-3px)}}@keyframes wing{to{transform:translateY(-2px)}}@keyframes drift{50%{transform:translate(30px,-20px);opacity:1}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:1600px){.garden{height:550px}}@media(max-width:1000px){.header{padding:0 28px;height:86px}main{padding:0 28px}.garden{height:450px}.below{grid-template-columns:1fr 1fr}.below-intro{grid-column:1/-1;padding-top:0}.below-intro p{display:none}.below-intro .text-button{float:right;margin-top:-40px}.saved{display:none}.garden-heading{margin-top:28px}.scene-note p{font-size:28px}}
@media(max-width:600px){.header{padding:0 20px;height:79px}.brand{font-size:33px;gap:8px}.brand-mark svg{width:34px;height:34px}.brand-sub{font-size:8px;letter-spacing:1.1px;margin-top:9px}.header-right{gap:9px}.currency{padding:8px 10px;gap:5px}.currency-label{display:none}.header-right .round{height:33px;width:33px}main{padding:0 16px}.garden-heading{margin:24px 2px 17px;display:block}h1{font-size:31px;margin-top:7px}.garden-heading .eyebrow{font-size:8px}.garden-heading p{font-size:10px}.conditions{margin-top:15px;padding-bottom:0}.conditions label{padding:7px 11px}.garden{height:440px;border-radius:4px;margin-bottom:57px}.scene-scroll{border-radius:4px}.scene{width:1120px}.scene-caption{top:15px;left:13px;font-size:9px;max-width:calc(100% - 60px);padding:8px 10px}.scene-controls{top:55px;right:13px}.scene-controls #sound span:last-child{display:none}.scene-note{top:75px;left:20px}.scene-note p{font-size:27px}.tiny-label{font-size:7px}.garden-nav{width:calc(100% - 16px);padding:5px;gap:1px;bottom:-25px;justify-content:space-between;border-radius:4px}.garden-nav button{flex:1;flex-direction:column;gap:5px;padding:10px 2px;font-size:9px;border-radius:4px}.garden-nav svg{height:18px;width:18px}.garden-nav i{display:none}.pan-hint{bottom:51px;font-size:8px}.pan-arrows{bottom:62px;right:12px}.below{gap:10px;margin-bottom:20px}.below-intro{padding:6px 2px 4px}.below-intro h2{font-size:28px}.below-intro .eyebrow{font-size:8px;letter-spacing:1.3px}.below-intro .text-button{float:none;margin-top:0;padding:3px 0;font-size:10px}.summary-card{padding:15px 13px;border-radius:4px}.card-top .eyebrow{font-size:7px;letter-spacing:1.2px}.card-top svg{display:none}.summary-card h3{font-size:21px;line-height:1.05;margin:13px 0 9px}.summary-card p{font-size:9px}.visitor-stack{margin-top:15px;height:35px}.visitor-stack .avatar{width:39px;height:39px}.discovery-number{margin-top:17px}.discovery-number b{font-size:37px}.discovery-number span{font-size:8px}.card-link{font-size:9px;line-height:1.5;margin-top:11px}.progress{margin-top:17px}footer{font-size:8px;padding:16px 0 20px;flex-wrap:wrap}.footer-save{width:100%;margin-left:20px;font-size:8px}dialog{padding:19px;max-height:88svh}.shop-row{gap:9px;padding:11px}.shop-art{width:44px}.shop-copy h3{font-size:19px}.shop-copy p{font-size:9px}.shop-row .secondary{padding:9px;font-size:9px}.choices{grid-template-columns:1fr}.garden.quiet{height:calc(100svh - 120px)}.modal-bird{height:115px}}

/* Flat pixel presentation: fixed colors, crisp edges, no blending filters. */
.pixel-art,.landscape{image-rendering:pixelated;image-rendering:crisp-edges}
.atmosphere,.fireflies{display:none}
.landscape.use-season-art{background-image:none}
.landscape.loaded.use-season-art .scene-landscape-art{display:block}
.scene-caption,.glass-button,.pan-arrows button,.behavior-tag,.plant-label{background:#f3eed8;border:1px solid #3e5e45;backdrop-filter:none}
.garden,.scene-scroll{border-radius:4px}
.garden{border:2px solid #3e5e45;box-shadow:none}
.garden-nav{border:2px solid #3e5e45;box-shadow:none;background:#f3eed8}
.garden-nav button.active,.modal-bird,.thumb,.shop-art,.area{background:#d9e1ba}
.bird-actor,.decoration,.bird-actor:hover svg{filter:none}
.bird-actor:hover svg{scale:1}
.bird-actor svg{animation-timing-function:steps(2,end)}
.bird-actor.flying .wing{transform-origin:16px 12px;animation-timing-function:steps(2,end)}
.brand{font-weight:700;font-size:30px;letter-spacing:-1px}
h1{font-size:29px;font-weight:600;letter-spacing:-1px}
h2,.below-intro h2{font-size:24px;line-height:1.2;letter-spacing:-.8px}
.scene-note p{font-size:24px;font-weight:600;line-height:1.2;text-shadow:none}
.summary-card h3,dialog h3,.shop-copy h3{font-size:18px;font-weight:600;line-height:1.25}
.summary-card{background:#f3eed8}
.summary-card:hover{transform:none;border-color:#3e5e45}
.modal-bird svg{width:160px;height:120px}
.thumb svg{width:96px;height:72px}
.dialog::backdrop{backdrop-filter:none}
@media(max-width:600px){.brand{font-size:24px}.brand-sub{font-size:7px}h1{font-size:24px}.scene-note p{font-size:21px}.below-intro h2{font-size:21px}.summary-card h3{font-size:17px}.shop-copy h3{font-size:16px}}
/* Gameplay controls remain readable and forgiving on touch screens. */
.scene-note{display:none}
.placing .garden-nav,.placing .scene-caption,.placing .pan-hint{display:none}
.placement-panel{position:absolute;bottom:12px;left:12px;right:12px;z-index:8;background:#f3eed8;border:2px solid #3e5e45;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.placement-panel b{font-size:12px}.placement-panel p{font-size:10px;margin:5px 0 0}
.placement-ghost{outline:2px dashed #f3eed8;z-index:5;background:#d9e1ba;pointer-events:none}
.placement-ghost::after{content:'+';position:absolute;bottom:-8px;left:50%;font:bold 20px monospace;color:#263c35}
.bird-actor{min-width:56px;min-height:56px}.bird-actor:focus-visible{outline:2px solid #f3eed8;background:#d9e1ba}
#visitor-note{display:block;width:100%;min-height:75px;margin-top:7px;border:1px solid #3e5e45;background:#f3eed8;border-radius:4px;padding:10px;resize:vertical;font:12px var(--sans);color:#263c35}
.modal-actions{margin:12px 0}.modal-actions button,.choices button,.shop-row button,.glass-button{min-height:40px}
.modal-bird svg{max-width:100%}.shop-art svg{height:64px;width:52px}
.round{min-width:40px;min-height:40px}.round svg{pointer-events:none}
.summary-card p{font-size:11px}.summary-card .eyebrow{font-size:9px}.recap-label{font-size:11px}
.garden-nav button{min-height:48px}.saved{font-size:12px}
.empty-note{font-size:12px}.growth-note{font-size:11px;color:#3e5e45}
@media(max-width:600px){.placement-panel{display:block;padding:10px}.placement-panel .modal-actions{margin:9px 0 0}.placement-panel p{font-size:10px}.currency{min-height:40px}.header-right .round{width:40px;height:40px}.scene-controls{top:58px}.scene-caption{max-width:calc(100% - 26px)}.below{grid-template-columns:1fr}.below-intro{grid-column:auto}.summary-card{padding:16px}.visitor-stack{float:left;width:120px;margin:12px 12px 0 0}.discovery-number{float:left;margin:14px 18px 0 0}.summary-card h3{margin-top:14px}.card-link{margin-left:132px}.discovery-card .progress{clear:both}.summary-card p{font-size:11px}.summary-card .eyebrow{font-size:9px}.garden-nav button{font-size:10px}.conditions select{font-size:12px}}
.portrait-thumb svg,.portrait-print svg{width:100%;height:auto;image-rendering:pixelated}.portrait-print{margin:14px 0}.notebook-note,.habitat-note{border-top:1px solid var(--line);padding:12px 0}.habitat-note p{margin:4px 0;font-size:13px}#caption-form input{width:100%;padding:12px;border:1px solid #c6cbb3;background:#f3eed8;color:#263c35;margin-bottom:10px}.decoration.tree{width:105px;height:140px}.decoration.decor{width:80px;height:100px}
@media(prefers-reduced-motion:reduce){.bird-actor,.decoration,.wing,.landscape{animation:none!important;transition:none!important}}textarea:focus-visible{outline:3px solid #ba9867;outline-offset:3px}.modal-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px}.notebook-note p{white-space:pre-wrap;overflow-wrap:anywhere}.portrait-thumb{min-width:0}.journal-item b,.journal-item small{overflow-wrap:anywhere}
#journal-filter{width:100%;min-height:44px;padding:10px;margin:8px 0 16px;border:1px solid #b7c994;background:#f3eed8;color:#263c35;font:inherit}.journal-item[hidden]{display:none}
.bird-scale{display:block;line-height:0}
/* Keep species artwork independent of the minimum touch target. */
.bird-actor .bird-scale{flex:0 0 auto}.bird-actor .bird-scale svg{width:100%;height:auto}.bird-actor{display:flex;align-items:center;justify-content:center}
.shop-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.shop-filters button{min-height:44px;font-size:12px;padding:8px 12px}.shop-filters button[aria-pressed="true"]{background:#3e5e45;color:#f3eed8}

/* Gentle, chunky habitat life; no resource decay or urgent indicators. */
.food-choices{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.food-choices button{min-height:44px}.food-choices button[aria-pressed="true"]{background:#3e5e45;color:#f3eed8}
.ecology-row{border-top:1px solid #b7c994;padding:14px 0}.ecology-row b{font-size:14px}.ecology-row p{margin:6px 0}.ecology-row small{display:block;font-size:12px;color:#3e5e45}.ecology-row .text-button{min-height:44px}
#tiny-life{position:absolute;inset:0;pointer-events:none;z-index:2}.tiny-neighbor{position:absolute;width:14px;height:10px;animation:tiny-drift 8s steps(5,end) infinite}.tiny-neighbor i{display:block;position:absolute;width:3px;height:2px;left:3px;top:2px;background:#f3eed8}.tiny-neighbor b{display:block;position:absolute;width:4px;height:3px;left:5px;top:4px;background:#d9bd65}.tiny-neighbor.aerial i{width:2px;height:2px;background:#263c35}.tiny-neighbor.aquatic i{width:8px;height:2px;background:#65839c}.tiny-neighbor.predators{animation:none}.tiny-neighbor.predators b{width:2px;height:2px;background:#806849}
.bird-actor.hovering svg{animation:hum-hover .9s steps(2,end) infinite}.below-intro .text-button{display:block;float:none;margin:6px 0}
@keyframes tiny-drift{50%{transform:translate(14px,-8px)}}@keyframes hum-hover{50%{transform:translateY(-3px)}}@keyframes hum-wing{50%{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.tiny-neighbor,.bird-actor.hovering svg,.bird-actor.hovering .wing{animation:none!important}}
@media(max-width:600px){.food-choices{gap:6px}.food-choices button{padding:10px;font-size:12px}.ecology-row p{font-size:13px}.journal-item small{font-size:11px}}

/* Flat pixel weather and optional story notebooks. */
#weather-layer{position:absolute;inset:0;pointer-events:none;z-index:3}.weather-pixels{width:100%;height:100%;overflow:hidden}.weather-pixels.rain>g{animation:pixel-rain 1.8s linear infinite}.weather-pixels.snow>g{animation:pixel-snow 40s linear infinite}@keyframes pixel-rain{from{transform:translate(0,0)}to{transform:translate(-3px,125px)}}@keyframes pixel-snow{from{transform:translateY(0)}to{transform:translateY(125px)}}
.story-menu,.nest-chapters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.story-menu button,.nest-chapters button{min-height:48px;text-align:left;white-space:normal}.season-row{border-top:1px solid var(--line);padding:16px 0}.season-cells{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.season-quiet{color:#806849;border:1px dashed #806849;background:#f3eed8}.plumage-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plumage-pair svg{width:80px;height:60px;display:block}.plumage-pair p{grid-column:1/-1}audio{display:block;width:100%;margin:16px 0;min-height:44px}details summary{cursor:pointer;min-height:44px;padding:12px 0}#plant-search,#postcard-caption{display:block;width:100%;padding:12px;border:1px solid #b7c994;background:#f3eed8;color:#263c35;margin:10px 0}.conditions{flex-wrap:wrap}.conditions label{min-height:44px}.conditions select{max-width:120px}.nest-chapters .secondary[aria-pressed="true"]{border:2px solid #3e5e45}
@media(max-width:600px){.story-menu,.nest-chapters{grid-template-columns:1fr}.conditions{gap:6px}.conditions label{padding:7px 9px}.below-intro #garden-stories{font-size:12px;min-height:44px;display:block}.season-cells .tag{font-size:11px}}
@media(prefers-reduced-motion:reduce){.weather-pixels g{animation:none!important}}

/* PNG viewports follow the bird-scale box as the whole garden fits the screen. */
.bird-actor .bird-scale .bird-sprite:not(.binocular-png-frame){transform:scale(var(--bird-frame-scale,1));transform-origin:center center}

.nest-view{margin:16px 0}.nest-story-scene{position:relative;width:100%;max-width:480px;aspect-ratio:2/1;margin:0 auto;overflow:hidden;background:#d9e3c1;image-rendering:pixelated}.nest-story-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.nest-story-nest{position:absolute;height:auto;image-rendering:pixelated}.nest-story-bird{position:absolute;transform:scale(2.5);transform-origin:bottom center;image-rendering:pixelated}.nest-story-bird .bird-sprite{image-rendering:pixelated}

.band-code{font-family:monospace;overflow-wrap:anywhere;background:#f3eed8;padding:12px}.journal-item [data-invite-shared]{margin-top:10px;min-height:44px}

/* Quiet observation and small field stories keep the garden central. */
.clue-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.clue-buttons button{min-height:44px;white-space:normal;text-align:left}.clue-buttons [aria-pressed="true"],.choices [aria-pressed="true"]{border:2px solid #3e5e45;background:#d9e1ba}
#living-marks{position:absolute;inset:0;pointer-events:none}.living-mark{position:absolute;width:36px;height:28px;transform:translate(-50%,-70%)}.living-mark svg{width:100%;height:100%}.trace-mark{width:28px;height:21px}.mosaic-guide{position:absolute;inset:0;width:100%;height:100%}.quiet .mosaic-guide{display:none}
.watching .header,.watching .garden-heading,.watching .below,.watching footer{display:none}.watching main{padding:12px}.watching .garden{height:calc(100svh - 24px);margin:0}.watching .garden-nav,.watching .pan-hint,.watching .scene-note{display:none}.watching .scene-controls{top:14px}.watching .scene-caption{top:auto;bottom:14px;left:14px}.scene-controls .glass-button{min-width:44px;min-height:44px}
#quiet-listening{position:absolute;z-index:15;left:12px;bottom:70px;max-width:min(370px,calc(100% - 24px))}.quiet-player{background:#f3eed8;border:2px solid #3e5e45;padding:12px;max-height:42svh;overflow:auto;font-size:11px}.quiet-player audio{margin:10px 0}.quiet-player .source-note{font-size:9px!important}.quiet-player details{font-size:10px}.quiet-player p{line-height:1.5}.watching #quiet-listening{bottom:65px}
#safe-card-form label{display:block;font-size:11px;margin-top:14px}#safe-card-form select{display:block;width:100%;min-height:44px;padding:8px;background:#f3eed8;color:#263c35;border:1px solid #b7c994;margin:6px 0 14px}.plumage-pair b{font-size:11px}.plumage-pair div p{font-size:10px}
@media(max-width:600px){.scene-controls{top:55px;gap:4px}.scene-controls .glass-button{padding:8px}.watching .scene-controls{top:12px}.clue-buttons button{font-size:11px}.plumage-pair{grid-template-columns:1fr}.quiet-player{max-height:40svh}}
/* Species motions stay stepped, muted and optional through reduced-motion. */
.moment-cue{position:absolute;left:50%;top:-19px;transform:translateX(-50%);font:18px ui-monospace,monospace;color:#263c35;background:#f3eed8;border:1px solid #3e5e45;padding:0 4px;line-height:20px;pointer-events:none}.moment-cue[hidden]{display:none}.moment-note{border-left:3px solid #3e5e45;padding:8px 12px}.moment-study{display:grid;place-items:center;min-height:150px;background:#d9e1ba;overflow:hidden;margin:12px 0}.moment-study .bird-scale{width:125px}.moment-study svg{width:100%;height:125px}.moment-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.moment-list button{border:1px solid #3e5e45;text-align:left;min-height:60px;padding:12px}.moment-list small{display:block;margin-top:6px;color:#3e5e45}.moment-reference-select{width:100%;min-height:44px;border:1px solid #3e5e45;font-size:13px;margin:10px 0}.bird-scale.pose-hop,.bird-scale.pose-scratch{animation:species-hop 2.4s steps(2,end) infinite}.bird-scale.pose-tail,.bird-scale.pose-fan{animation:species-tail 2.8s steps(2,end) infinite}.bird-scale.pose-probe,.bird-scale.pose-drum,.bird-scale.pose-peek{animation:species-probe 2.5s steps(3,end) infinite}.bird-scale.pose-cling{transform:none}.bird-scale.pose-swoop{animation:species-swoop 5s steps(6,end) infinite}.bird-scale.pose-dive{animation:species-dive 5s steps(6,end) infinite}.bird-scale.pose-spiral{animation:species-spiral 6s steps(8,end) infinite}.bird-scale.pose-dip{animation:species-dip 4s steps(4,end) infinite}.bird-scale.pose-bob,.bird-scale.pose-crest,.bird-scale.pose-wade{animation:species-bob 3s steps(3,end) infinite}.bird-scale.pose-shake{animation:species-tail 1.6s steps(2,end) infinite}
@keyframes species-hop{30%{transform:translate(5px,-5px)}60%{transform:translate(9px,0)}}@keyframes species-tail{40%{transform:translateY(-1px)}70%{transform:translateY(1px)}}@keyframes species-probe{30%,60%{transform:translate(2px,2px)}}@keyframes species-swoop{25%{transform:translate(20px,-10px)}50%{transform:translate(32px,8px)}75%{transform:translate(10px,3px)}}@keyframes species-dive{25%{transform:translateY(-5px)}50%{transform:translateY(22px)}75%{transform:translateY(5px)}}@keyframes species-spiral{25%{transform:translate(15px,-12px)}50%{transform:translate(-12px,-23px)}75%{transform:translate(-18px,-8px)}}@keyframes species-dip{35%,60%{transform:translateY(4px)}}@keyframes species-bob{40%{transform:translateY(-3px)}70%{transform:translate(4px,0)}}
@media(prefers-reduced-motion:reduce){.bird-scale[class*="pose-"]{animation:none!important}.moment-cue{animation:none!important}.bird-scale.pose-cling{transform:none}}

/* Orthogonal climbing/hanging poses retain crisp pixel edges. */
.pose-cling.pose-species-nuthatch,.pose-cling.pose-species-rednuthatch{transform:none}.pose-cling.pose-species-oriole,.pose-cling.pose-species-parula,.pose-cling.pose-species-redcrossbill,.pose-cling.pose-species-whitecrossbill,.pose-cling.pose-species-pinesiskin,.pose-cling.pose-species-redpoll{transform:none}

/* Authored two-frame wing poses: no interpolation or whole-body rotation. */
.flight-sprite .flight-frame-up{visibility:visible;animation:flap-up .16s step-end infinite}
.flight-sprite .flight-frame-down{visibility:hidden;animation:flap-down .16s step-end infinite}
.flight-family-owl .flight-frame{animation-duration:.32s}.flight-family-duck .flight-frame{animation-duration:.2s}.flight-species-hummingbird .flight-frame{animation-duration:.065s}
@keyframes flap-up{0%{visibility:visible}50%,100%{visibility:hidden}}
@keyframes flap-down{0%{visibility:hidden}50%,100%{visibility:visible}}
@media(prefers-reduced-motion:reduce){.flight-sprite .flight-frame-up{visibility:visible;animation:none!important}.flight-sprite .flight-frame-down{visibility:hidden;animation:none!important}}
/* Explicit shop actions and readable touch controls. */
:root{--muted:#3e5e45}.eyebrow,.recap-label,.tiny-label,.journal-item small{color:#3e5e45;font-size:11px}.secondary{border:1px solid #3e5e45}.shop-copy{min-width:0}.shop-copy p{font-size:12px}.shop-actions{display:flex;flex-direction:column;gap:6px;flex:0 0 132px}.shop-actions button{min-height:44px;padding:10px 8px;font-size:12px;white-space:normal}.shop-actions small{font-size:11px;text-align:center}.shop-balance{position:sticky;top:0;background:#f3eed8;padding:10px 0;z-index:2;font-size:15px!important}.shop-feedback{border:1px solid #3e5e45;padding:10px;color:#263c35!important}.scene-controls{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 40px)}.glass-button{min-height:44px;height:auto;font-size:12px}.scene-note p{font-size:22px}.text-button{font-size:12px;min-height:44px}.round,.pan-arrows button{min-width:44px;min-height:44px}.conditions select{min-height:28px;font-size:12px}
@media(max-width:600px){.shop-row{flex-wrap:wrap;gap:10px;padding:12px}.shop-copy{flex:1 1 calc(100% - 80px)}.shop-actions{flex:1 1 100%;display:grid;grid-template-columns:1fr 1fr}.shop-actions small{grid-column:1 / -1}.shop-actions button:only-child{grid-column:1 / -1}.scene-controls{right:12px;top:12px;max-width:calc(100% - 24px);gap:4px}.scene-controls .glass-button{padding:6px 8px;font-size:11px}.scene-caption{top:112px}.scene-note{display:none}.garden-nav button{font-size:11px;padding:12px 10px}.placement-panel p{font-size:12px}}

/* Clinging is attached to a visible trunk. Horizontal position snaps to its
   attachment on entry, then stays fixed; climbing changes only top / y. */
.decoration.tree{width:var(--tree-width,105px);height:var(--tree-height,140px)}.decoration.tree svg{display:block;width:100%;height:100%}
.bird-actor.tree-clinging{transition:top 5s ease-in-out}
.tree-clinging .bird-scale{animation:tree-climb 4s steps(4,end) infinite}
.tree-clinging .bird-scale{animation:none;transform:none;scale:1}
.tree-clinging .pose-species-nuthatch,.tree-clinging .pose-species-rednuthatch,.tree-clinging .pose-species-brownheadednuthatch{transform:none}
@keyframes tree-climb{50%{transform:translateY(-1px)}}
@media(prefers-reduced-motion:reduce){.tree-clinging .bird-scale{animation:none!important}}

/* The garden is the entire game screen; controls are a small in-world HUD. */
:root{--sans:ui-monospace,'Courier New',monospace;--hud-top:max(12px,env(safe-area-inset-top));--hud-right:max(12px,env(safe-area-inset-right));--hud-left:max(12px,env(safe-area-inset-left));--hud-bottom:max(12px,env(safe-area-inset-bottom))}
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#263c35}
body{font-family:var(--sans)}button,input,textarea,select{font-family:var(--sans)}[hidden]{display:none!important}
main.game-screen,.watching main.game-screen{position:fixed;inset:0;max-width:none;margin:0;padding:0}
.garden,.garden.quiet,.watching .garden{width:100%;height:100vh;height:100dvh;margin:0;border:0;border-radius:0;box-shadow:none}
.scene-scroll{border-radius:0;height:100%;width:100%;outline-offset:-4px}.scene{width:4680px;height:520px;margin-top:max(0px,calc(100dvh - 520px));overflow:visible}
.pixel-panel,.menu-action,dialog{border:2px solid #263c35;border-radius:0;background:#f3eed8;box-shadow:3px 3px 0 #263c35;color:#263c35}
.game-hud{position:absolute;z-index:10;top:var(--hud-top);left:var(--hud-left);right:var(--hud-right);display:flex;justify-content:space-between;align-items:flex-start;gap:8px;pointer-events:none}
.game-hud button{pointer-events:auto;min-height:48px;font-size:13px}.hud-location{display:flex;align-items:center;gap:9px;padding:10px 12px;text-align:left;max-width:min(320px,calc(100% - 155px))}.hud-location #location-title{font-size:14px;font-weight:700;line-height:1.3;letter-spacing:0}.hud-location #location-title span{display:none}
.hud-actions{display:flex;gap:8px;flex-shrink:0}.hud-actions .currency{gap:6px;padding:10px}.currency-label,.currency b{font-size:12px}.hud-actions #menu-toggle{padding:10px 12px;font-weight:700}
.game-menu{position:absolute;z-index:20;top:calc(var(--hud-top) + 60px);right:var(--hud-right);width:min(360px,calc(100% - var(--hud-left) - var(--hud-right)));max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom) - 140px);overflow:auto;overscroll-behavior:contain;padding:14px;scrollbar-color:#3e5e45 #f3eed8}
.game-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;letter-spacing:2px;font-size:15px}.game-menu .round{border:2px solid #263c35;border-radius:0;width:44px;height:44px}.game-menu .saved{font-size:11px;line-height:1.5;margin:8px 0;overflow-wrap:anywhere;display:block}.menu-note{font-size:11px;line-height:1.6;margin:8px 0;color:#3e5e45}
.game-menu .conditions{display:grid;gap:6px;padding:0;align-self:auto;margin:12px 0}.game-menu .conditions label{display:flex;justify-content:space-between;gap:8px;border:2px solid #3e5e45;border-radius:0;min-height:44px;padding:5px 8px;font-size:12px}.game-menu .conditions label>span:not([data-icon]){margin-right:auto}.game-menu .conditions select{min-height:32px;max-width:none;width:135px;font-size:12px;padding:4px}
.menu-actions{display:grid;gap:7px}.menu-action{display:flex;align-items:center;gap:9px;width:100%;min-height:48px;text-align:left;padding:10px;font-size:12px;box-shadow:none;line-height:1.5}.menu-action:hover,.menu-action:focus-visible{background:#d9e1ba}.menu-action small{font-size:11px;line-height:1.5;display:block;color:#3e5e45}.menu-action#visitor-card,.menu-action#discovery-card{display:block}.menu-action#discovery-card>span{font-size:11px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.quiet-toggle{position:absolute;z-index:10;top:calc(var(--hud-top) + 62px);left:var(--hud-left);display:flex;align-items:center;gap:7px;min-height:44px;padding:9px 11px;font-size:11px}
.garden-nav{z-index:10;left:50%;bottom:var(--hud-bottom);width:min(420px,calc(100% - var(--hud-left) - var(--hud-right)));padding:5px;gap:4px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:0;transform:translateX(-50%);box-shadow:3px 3px 0 #263c35}
.garden-nav button{display:flex;flex-direction:column;gap:5px;min-height:56px;padding:5px 2px;border:0;border-radius:0;color:#263c35;font:12px var(--sans);white-space:normal}.garden-nav button:hover,.garden-nav button:focus-visible{background:#d9e1ba}.garden-nav i{display:inline;font:11px var(--sans);background:none;margin-left:2px}
.pan-arrows{left:var(--hud-left);right:var(--hud-right);bottom:calc(var(--hud-bottom) + 78px);display:flex;justify-content:space-between;pointer-events:none;z-index:9}.pan-arrows button{width:44px;height:44px;pointer-events:auto;border-radius:0;font-size:20px}
.pan-hint{bottom:calc(var(--hud-bottom) + 82px);font-size:10px;line-height:1.5;background:#f3eed8;color:#263c35;padding:4px 7px;text-shadow:none;max-width:calc(100% - 140px);overflow:hidden}
.scene-caption{top:auto;bottom:calc(var(--hud-bottom) + 134px);left:var(--hud-left);max-width:min(430px,calc(100% - var(--hud-left) - var(--hud-right)));font:11px/1.5 var(--sans);padding:7px 10px;z-index:8}
.watching .game-hud,.watching .game-menu,.watching .garden-nav,.watching .pan-arrows,.watching .pan-hint,.watching .scene-caption{display:none}.watching .quiet-toggle{top:var(--hud-top);left:auto;right:var(--hud-right)}
#quiet-listening,.watching #quiet-listening{left:var(--hud-left);bottom:calc(var(--hud-bottom) + 80px);max-width:min(360px,calc(100% - var(--hud-left) - var(--hud-right)));z-index:11}.quiet-player{border:2px solid #263c35;box-shadow:3px 3px 0 #263c35;font-family:var(--sans)}
.placing .game-hud,.placing .quiet-toggle,.placing .scene-caption,.placing .pan-hint{display:none}.placement-panel{bottom:var(--hud-bottom);left:var(--hud-left);right:var(--hud-right);z-index:21;border:2px solid #263c35;box-shadow:3px 3px 0 #263c35}.placement-panel p{font-size:12px;line-height:1.5}.placement-panel .modal-actions{margin:4px 0}
#toast{bottom:calc(var(--hud-bottom) + 80px);border:2px solid #f3eed8;border-radius:0;box-shadow:3px 3px 0 #263c35;font-family:var(--sans);z-index:40}
dialog{position:fixed;inset:auto var(--hud-right) calc(var(--hud-bottom) + 80px) auto;margin:0;width:min(540px,calc(100vw - var(--hud-left) - var(--hud-right)));max-width:none;max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom) - 100px);padding:18px;overflow:auto;overscroll-behavior:contain;scrollbar-color:#3e5e45 #f3eed8}dialog::backdrop{background:transparent;backdrop-filter:none}dialog .modal-header{position:sticky;top:-18px;padding:8px 0;background:#f3eed8;z-index:4;gap:12px}dialog .modal-header .round{border:2px solid #263c35;border-radius:0;min-width:44px;min-height:44px}dialog h2{font:bold 22px/1.3 var(--serif);letter-spacing:0}dialog h3{font:bold 17px/1.4 var(--serif);letter-spacing:0}dialog p{font-size:12px;line-height:1.7}dialog .primary,dialog .secondary,dialog input,dialog textarea,dialog .choices button,dialog .journal-item,dialog .shop-row,dialog .shop-art,dialog .area,dialog .tag,dialog .modal-bird{border-radius:0}dialog button{min-height:44px}dialog .journal-item b{font-size:12px}dialog .journal-item small{font-size:11px}dialog .eyebrow{font-size:11px;letter-spacing:1px}
@media(max-width:600px){.game-hud{gap:6px}.hud-location{padding:7px 8px;gap:5px}.hud-location .icon{display:none}.hud-location #location-title{font-size:12px}.hud-actions{gap:5px}.hud-actions .currency{padding:8px;gap:4px}.hud-actions #menu-toggle{padding:8px}.garden-nav button{font-size:11px}.game-menu{padding:12px}.pan-hint{font-size:9px;padding:4px}.placement-panel{display:block}dialog{inset:auto var(--hud-right) var(--hud-bottom) var(--hud-left);width:auto;max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom) - 70px);padding:14px}dialog .modal-header{top:-14px}dialog h2{font-size:20px}.scene-caption{font-size:10px;max-width:calc(100% - var(--hud-left) - var(--hud-right));padding:6px 8px}}
@media(max-height:500px){.quiet-toggle{top:calc(var(--hud-top) + 55px)}.scene-caption,.pan-hint{display:none}.garden-nav button{min-height:44px;flex-direction:row;gap:5px}.game-menu{max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom) - 70px)}dialog{bottom:var(--hud-bottom);max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom))}}

.hud-place{max-width:min(320px,calc(100% - 155px));min-width:0}.hud-place .hud-location{max-width:none;width:100%}.hud-place .saved{display:inline-block;padding:3px 5px;font:10px/1.4 var(--sans);margin:5px 0 0;max-width:100%;overflow-wrap:anywhere;border-width:1px;box-shadow:2px 2px 0 #263c35}.quiet-toggle{left:auto;right:var(--hud-right)}
@media(max-width:600px){dialog input,dialog textarea,dialog select{font-size:16px}}

/* Routes own movement. Resting birds never ease sideways or bob in the air. */
.bird-actor{transition:none}.bird-actor svg{animation:none}.bird-actor:not(.tree-clinging) .bird-scale{transform:scaleX(var(--facing,1));animation:none}
.bird-actor:not(.tree-clinging) .bird-scale svg{scale:1;transform:none}
.bird-actor.hovering.hummingbird svg{animation:hum-hover .9s steps(2,end) infinite}
.bird-actor.gliding .flight-frame-up{visibility:visible;animation:glide-up 5s step-end infinite}.bird-actor.gliding .flight-frame-down{visibility:hidden;animation:glide-down 5s step-end infinite}
@keyframes glide-up{0%,90%{visibility:visible}95%,100%{visibility:hidden}}@keyframes glide-down{0%,90%{visibility:hidden}95%,100%{visibility:visible}}
.extra-tools,.time-options,dialog details{border-top:1px solid #b7c994;margin:8px 0}.extra-tools summary,.time-options summary{font-size:12px;line-height:1.5;min-height:44px;padding:12px 0;cursor:pointer}.conditions{display:grid;grid-template-columns:1fr;margin:8px 0}.conditions label{justify-content:space-between}.conditions select{max-width:none}.clue-buttons{margin:8px 0}.menu-actions>.extra-tools{order:3}.game-menu .modal-actions button{flex:1;font-size:12px;min-height:44px}.shop-copy small{font-size:11px;line-height:1.5;display:block}
@media(prefers-reduced-motion:reduce){.bird-actor.gliding .flight-frame-up{visibility:visible;animation:none!important}.bird-actor.gliding .flight-frame-down{visibility:hidden;animation:none!important}}

/* Clear learning rewards and shorter routes from buying back to watching. */
.inline-success{padding:12px;border:2px solid #3e5e45;background:#d9e1ba;color:#263c35!important;font-weight:600}.choices button{display:flex;align-items:center;gap:8px;min-height:76px;line-height:1.4}.choice-thumb{display:grid;place-items:center;width:46px;min-width:46px;height:44px;background:#d9e1ba}.choice-thumb svg{width:44px;height:40px}.search-row{display:flex;gap:8px;margin:8px 0;align-items:center}.search-row input{min-width:0;flex:1;width:100%;padding:12px;border:1px solid #3e5e45;background:#f3eed8;color:#263c35;font:16px var(--sans)}.search-row button{flex-shrink:0}.shop-row[hidden],#shop-no-results[hidden],#journal-no-results[hidden],.journal-item[hidden]{display:none!important}#shop-search-count{min-height:20px;margin:8px 0}#journal-field-guide{margin:16px 0}#back-watching{margin-bottom:12px}
@media(max-width:380px){.choices{grid-template-columns:1fr}.choices button{min-height:64px}}

.inline-success[hidden]{display:none!important}

/* Collapse only the bottom activities; the garden and upper HUD stay usable. */
.garden{--nav-space:78px}.garden.nav-collapsed{--nav-space:0px}
.nav-toggle{position:absolute;z-index:10;left:50%;bottom:calc(var(--hud-bottom) + var(--nav-space));transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:44px;padding:8px 12px;font:12px var(--sans)}
.nav-toggle:hover,.nav-toggle:focus-visible{background:#d9e1ba}#nav-toggle-icon{font-size:18px;line-height:1}
.pan-arrows{bottom:calc(var(--hud-bottom) + var(--nav-space))}.pan-hint{display:none}.scene-caption{bottom:calc(var(--hud-bottom) + var(--nav-space) + 56px)}
.watching .nav-toggle,.placing .nav-toggle,.placing .garden-nav{display:none}

/* Garden management stays optional; arranging adds visible targets and keyboard navigation. */
.garden-nav{width:min(520px,calc(100% - var(--hud-left) - var(--hud-right)));grid-template-columns:repeat(5,minmax(0,1fr))}
.decoration{padding:0;border:0;background:none;line-height:0;pointer-events:none;overflow:visible}
.decoration:disabled{opacity:1;cursor:default}.decoration svg,.decoration.plants svg,.decoration.bath svg,.decoration.tree svg,.decoration.decor svg{display:block;width:100%;height:100%}
.editing-garden .decoration{pointer-events:auto;cursor:pointer;outline:1px dashed #f3eed8;outline-offset:3px}
.editing-garden .decoration:focus-visible,.decoration.located-item{outline:3px solid #f3eed8;outline-offset:4px;box-shadow:0 0 0 5px #263c35}
.editing-garden .scene-caption,.editing-garden .pan-hint,.editing-garden .quiet-toggle{display:none}
.inventory-category{display:flex;align-items:center;gap:12px;min-height:44px;margin:8px 0}.inventory-category select{min-height:44px;padding:8px;border:1px solid #3e5e45;font-size:14px;background:#f3eed8}
.inventory-group{border:2px solid #688556!important;margin:10px 0!important;background:#f3eed8}
.inventory-group summary{display:flex;gap:12px;align-items:center;min-height:68px;padding:8px;cursor:pointer;list-style:none}
.inventory-group summary::after{content:'+';margin-left:auto;font:22px ui-monospace,monospace}.inventory-group[open] summary::after{content:'−'}
.inventory-group summary small{display:block;font-size:11px;line-height:1.5;margin-top:4px}.inventory-group summary b{font-size:13px}
.inventory-thumb{width:48px;height:52px;display:grid;place-items:center;flex-shrink:0;background:#d9e1ba}.inventory-thumb svg{width:40px;height:50px}
.inventory-copy{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;padding:10px;border-top:1px solid #b7c994}.inventory-copy[hidden],.inventory-group[hidden]{display:none!important}
.copy-select{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;cursor:pointer}.copy-select input{width:20px;height:20px;accent-color:#3e5e45;margin:0}
.copy-description b{font-size:12px}.copy-description small{display:block;font-size:11px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}
.copy-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.copy-actions button{font-size:12px;padding:8px 12px;flex:1}
.selection-tools{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.selection-tools button{font-size:12px}
.inventory-bulk{position:sticky;bottom:-18px;background:#f3eed8;border-top:2px solid #3e5e45;padding:8px 0;margin-top:14px;z-index:5}.inventory-bulk p{margin:4px 0}.inventory-bulk button{flex:1;font-size:12px}
@media(max-width:600px){.inventory-bulk{bottom:-14px}.garden-nav button{font-size:10px}.copy-select{align-self:start}.copy-description{min-width:0}}

.camera-hold{position:absolute;z-index:10;right:var(--hud-right);top:calc(var(--hud-top) + 62px);min-height:44px;padding:9px 11px;font-size:11px}.camera-hold[hidden]{display:none!important}.watching .camera-hold{top:calc(var(--hud-top) + 54px)}

.behavior-sketch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.behavior-sketch-grid figure{margin:0;padding:10px;background:#d9e1ba;min-width:0}.behavior-sketch-pose{display:grid;place-items:center;width:100%;height:150px;overflow:hidden}.behavior-sketch-pose .bird-sprite{transform:scale(.8);transform-origin:center}.behavior-sketch-pose img{image-rendering:pixelated}.behavior-sketch-grid figcaption{font-size:12px;line-height:1.5}.behavior-sketch-grid small{display:block;margin-top:5px;font-size:11px;color:#3e5e45}

.item-name-form{margin:18px 0;padding:14px;border:2px solid var(--line);border-radius:8px}.item-name-form label{display:block;margin-bottom:8px;font-weight:700}.item-name-form input{width:100%;box-sizing:border-box;min-height:44px;padding:12px;border:2px solid #3e5e45;background:#f3eed8;color:#263c35;font:16px var(--sans)}.item-name-form .source-note{margin:8px 0}.plant-options{margin:18px 0;padding:12px 0;border-top:2px solid var(--line)}.copy-name{overflow-wrap:anywhere}

#item-heading,#modal-content li{overflow-wrap:anywhere}

.item-statistics{margin:18px 0;padding:12px 0;border-top:2px solid #3e5e45}.item-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.item-stat-grid>div{padding:12px;border:2px solid #3e5e45;background:#d9e1ba}.item-stat-grid dt{font-size:12px;line-height:1.5}.item-stat-grid dd{font:700 22px var(--sans);margin:4px 0 0}.item-stat-list{list-style:none;padding:0;margin:8px 0}.item-stat-list li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #b7c994}.item-stat-list b{white-space:nowrap}.item-statistics h4{margin:16px 0 6px}.item-statistics details{margin:8px 0}.item-statistics summary{font-weight:700}

/* Hamburger navigation leaves the garden clear; bottom shortcuts are optional. */
#menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px}.hamburger{font:24px/1 ui-monospace,monospace}
.menu-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}.menu-primary-actions .menu-action{min-height:48px;border:1px solid #688556;padding:10px;font-size:13px}
.game-menu .nav-toggle{position:static;transform:none;margin:8px 0;width:100%}
/* One item per row. Selection controls appear only when requested. */
.inventory-copy{grid-template-columns:48px minmax(0,1fr);gap:8px 12px;margin:8px 0;padding:10px;border:1px solid #688556}
.selecting-items .inventory-copy{grid-template-columns:28px 48px minmax(0,1fr)}
.copy-select[hidden],#inventory-bulk[hidden],#inventory-selection-tools[hidden]{display:none!important}
.item-open{display:block;width:100%;text-align:left;min-height:44px;padding:0 4px}.item-open b{font-size:14px;text-decoration:underline;text-underline-offset:3px}.item-open:hover{background:#d9e1ba}
.copy-actions{grid-column:2/-1;gap:6px}.selecting-items .copy-actions{grid-column:3/-1}.copy-actions button{min-height:44px;padding:8px;font-size:12px}.copy-actions .text-button{flex:0 0 auto}
.inventory-bulk{position:static;margin-top:12px;padding:8px 0}

.inventory-filters{margin:10px 0;gap:5px}.inventory-filters button{min-height:44px;padding:8px 10px;font-size:12px}.inventory-more-filters{margin:8px 0}.inventory-more-filters summary{min-height:44px;padding:10px;font-size:12px;cursor:pointer}

.item-options{margin:12px 0;border-top:1px solid #688556}.item-options>summary{min-height:44px;padding:12px 0;font-size:14px;cursor:pointer}.item-preview-art{height:100px;display:grid;place-items:center}.item-preview-art svg{width:100px;height:100px}.preview-visitors{list-style:none;padding:0;margin:8px 0}.preview-visitors li{padding:10px 0;border-bottom:1px solid #b7c994}.preview-visitors small{display:block;margin-top:4px;line-height:1.6}.shop-actions button{min-height:44px}

/* FreeFeather 0.16: readable field-guide panels, quiet pixel framing. */
:root{--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--serif:Georgia,'Times New Roman',serif}
.game-hud,.game-menu-heading,.currency,.scene-caption,.quiet-toggle,.season-chip,.saved,.garden-nav{font-family:var(--serif)}
.game-hud{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.hud-place{max-width:300px;min-width:0}.hud-location{min-width:0}.hud-location #location-title{font-size:13px;overflow-wrap:anywhere}
.hud-meta{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.hud-meta .saved{margin:0;min-height:44px;padding:6px 8px;display:flex;align-items:center;gap:6px;font-size:11px;pointer-events:auto}.season-chip{font-size:11px!important;min-height:44px!important;padding:6px 9px;border-width:1px;box-shadow:2px 2px 0 #263c35;white-space:nowrap}
.saved-dot,.live-dot{border-radius:0;background:#3e5e45}.saved{overflow-wrap:anywhere}
.game-menu{width:min(380px,calc(100% - var(--hud-left) - var(--hud-right)));max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom) - 64px);padding:16px}
.game-menu-heading{position:sticky;top:-16px;background:#f3eed8;z-index:2;padding:6px 0;letter-spacing:1px}
.menu-primary-actions{grid-template-columns:1fr;gap:6px;margin:12px 0}.menu-primary-actions .menu-action{min-height:60px;padding:10px 12px;border:1px solid #688556;gap:12px}.menu-action-copy{flex:1;min-width:0}.menu-action-copy b{font-size:14px;line-height:1.4}.menu-action-copy small{font-size:12px}.menu-chevron{margin-left:auto;font:24px var(--serif)}
.game-menu .menu-note{font-size:12px}.game-menu .conditions select{font-size:16px;width:145px}.season-status{font-size:14px;font-weight:700;line-height:1.6;padding:10px 12px;background:#d9e1ba}.season-phase-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.season-phase-buttons button{min-height:44px;font-size:14px;padding:8px}.clock-help>summary{min-height:44px;padding:12px 0;font-size:12px;cursor:pointer}
.quiet-toggle{top:calc(var(--hud-top) + 62px)}
dialog{width:min(570px,calc(100vw - var(--hud-left) - var(--hud-right)));padding:20px;bottom:var(--hud-bottom);max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom));border:2px solid #263c35;box-shadow:4px 4px 0 #263c35}
dialog .modal-header{top:-20px;padding:10px 0;margin-bottom:6px;border-bottom:1px solid #b7c994}dialog h2{font:700 23px/1.35 var(--serif);margin:16px 0 10px}dialog h2:focus{outline:none}dialog h3{font:700 17px/1.4 var(--sans)}dialog p{font-size:14px;line-height:1.65;margin:10px 0}dialog small,dialog .source-note{font-size:12px!important;line-height:1.6}dialog .recap-label{font-size:12px;letter-spacing:.5px}
.primary,.secondary{font-size:14px;min-height:44px;border:1px solid #3e5e45;padding:10px 14px;line-height:1.5}.primary{background:#3e5e45;color:#f3eed8;font-weight:600}.secondary{background:#f3eed8;color:#263c35}.primary:hover{background:#263c35}.secondary:hover,.text-button:hover{background:#d9e1ba}.text-button{text-align:left;font-size:13px;text-decoration:underline;text-underline-offset:3px}button:disabled{opacity:1;background:#e2d6b5;color:#3e5e45;border-color:#806849}button:active:not(:disabled){box-shadow:none}
button[aria-pressed="true"]:not(.quiet-toggle):not(#sound),.shop-filters button[aria-pressed="true"],.season-phase-buttons button[aria-pressed="true"]{background:#3e5e45;color:#f3eed8;border-color:#263c35}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #263c35;outline-offset:3px}
dialog details>summary{font-size:14px;line-height:1.5;min-height:44px;padding:12px 0;cursor:pointer}dialog details{border-top:1px solid #b7c994}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.panel-toolbar .shop-balance{position:static;margin:4px 0;padding:0}.panel-toolbar button{font-size:13px}.panel-intro{color:#3e5e45}.shop-filters{gap:6px;margin:12px 0;flex-wrap:wrap}.shop-filters button{padding:8px 10px;font-size:13px}.search-row{display:flex;gap:6px;align-items:stretch}.search-row input{width:100%;min-width:0;flex:1;min-height:44px;border:1px solid #688556;background:#f3eed8;color:#263c35;padding:10px;font:16px var(--sans)}.search-row button{flex:0 0 auto;padding:8px 10px}
.shop-row{padding:14px 0;border-bottom:1px solid #b7c994;gap:12px}.shop-art{background:#d9e1ba;border:0;flex-shrink:0}.shop-copy h3{font:700 15px/1.4 var(--sans);margin:0 0 5px}.shop-copy p{font-size:13px;margin:5px 0}.shop-copy small{font-size:12px}.shop-actions{flex-basis:128px}.shop-actions button{font-size:13px}.shop-feedback,.inline-success{padding:12px;background:#d9e1ba;border:1px solid #688556;font-size:14px!important}.empty-note{padding:12px;background:#d9e1ba;border-left:3px solid #688556}.journal-item{border:1px solid #688556;padding:12px}.journal-item b{font-size:14px!important}.journal-item small{font-size:12px!important}.journal-item:hover{background:#d9e1ba}.journal-item .thumb{background:#d9e1ba}.tag{background:#d9e1ba;font-size:12px;padding:6px 8px}.item-open b{text-decoration:none;font-weight:650}.item-open:hover b{text-decoration:underline}.inventory-copy{padding:12px;background:#f3eed8}.copy-description small{font-size:12px}.copy-actions button{font-size:13px}
/* Collapse truly clears the lower garden. Swipe remains the primary pan gesture. */
.nav-collapsed .scene-caption{bottom:calc(var(--hud-bottom) + 58px);max-width:calc(100% - 140px);left:50%;transform:translateX(-50%);text-align:center}.nav-collapsed .pan-arrows{bottom:var(--hud-bottom)}.nav-collapsed .pan-hint{display:none}.scene-caption{font-size:12px}.placing .pan-arrows{bottom:calc(var(--hud-bottom) + 142px)}
@media(max-width:600px){dialog{inset:auto var(--hud-right) var(--hud-bottom) var(--hud-left);width:auto;padding:16px;max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom) - 8px)}dialog .modal-header{top:-16px}dialog h2{font-size:20px}.hud-place .hud-location{max-width:100%}.hud-actions #menu-toggle{padding:8px;min-width:44px}.hud-meta .saved{font-size:10px;padding:5px 7px}.season-chip{font-size:10px!important;padding:5px 7px}.game-menu{padding:14px}.game-menu-heading{top:-14px}.shop-row{padding:14px 0}.shop-actions{grid-template-columns:1fr 1fr}.shop-actions .primary{grid-column:2;grid-row:1}.shop-copy p{font-size:13px}.nav-collapsed .scene-caption{font-size:11px;padding:6px;max-width:calc(100% - 110px)}.garden-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.inventory-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-filters button{font-size:13px}}
@media(max-width:360px){.hud-actions .currency-label{display:none}.hud-actions{gap:4px}.hud-meta{gap:4px}.hud-meta .saved span:not(.saved-dot){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.hud-meta .saved{min-width:44px;justify-content:center}.hud-location #location-title{font-size:12px}}
@media(min-width:601px){.garden-nav{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-height:500px){.hud-meta,.scene-caption{display:none}.game-menu{top:var(--hud-top);max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom))}dialog{max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom))}.quiet-toggle{top:calc(var(--hud-top) + 55px)}}
.decoration:disabled{background:none;color:inherit;border:0;opacity:1}
.condition-group{border-top:1px solid #b7c994;padding:8px 0;margin:10px 0}.condition-group>button{width:100%;font-size:14px;min-height:44px}.condition-group .conditions{margin:4px 0}.condition-group .season-status{margin:8px 0}.save-warning .saved-dot{background:#b85d49}.hud-meta .save-warning{border:2px solid #b85d49}.save-warning span:not(.saved-dot){position:static!important;width:auto!important;height:auto!important;clip-path:none!important}

/* Placement stays above the preview, leaving the ground visible. */
.placement-dock{display:block;top:var(--hud-top);bottom:auto!important;left:var(--hud-left);right:var(--hud-right);width:min(540px,calc(100% - var(--hud-left) - var(--hud-right)));margin-left:auto;padding:12px;max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom) - 110px);overflow:auto;background:#f3eed8;border:2px solid #263c35}
.placement-title{display:flex;align-items:center;gap:12px;justify-content:space-between}.placement-title b{font:700 15px/1.4 var(--serif);overflow-wrap:anywhere}.placement-title button{flex:0 0 44px;min-height:44px;padding:6px}.placement-dock p{font-size:13px;line-height:1.5;margin:6px 0 10px}.placement-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px}.placement-actions button{min-height:44px;padding:8px;font-size:13px;line-height:1.5}.placement-nudges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}.placement-nudges button{min-height:44px;font-size:18px}.placing .pan-arrows{bottom:var(--hud-bottom)!important}.backup-filename{overflow-wrap:anywhere}.detail-grid p{margin:6px 0;font-size:13px}
@media(max-height:500px){.placement-dock{width:min(440px,calc(100% - var(--hud-left) - var(--hud-right)));max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom) - 90px);padding:8px}.placement-dock p{font-size:12px}.placement-title b{font-size:14px}}
.placing .camera-hold,.finding-item .camera-hold,.finding-item .game-hud,.finding-item .quiet-toggle,.finding-item .scene-caption,.finding-item .pan-hint{display:none}.find-item-actions{display:flex;gap:6px;flex-wrap:wrap}.find-item-actions button{flex:1 1 auto;min-height:44px;font-size:13px;padding:8px}.item-find-dock .placement-title button{flex:0 0 auto;min-width:60px}.item-find-dock .placement-title b{max-width:calc(100% - 76px)}

/* Regional travel stays inside the existing compact game panels. */
.area-thumbnail{height:84px;overflow:hidden;border:2px solid var(--line);margin-bottom:12px;background:#d9e1ba}
.area-thumbnail svg{width:100%;height:100%;display:block;image-rendering:pixelated}
.shop-region-choice{display:block;margin:10px 0}
.shop-region-choice select{width:100%}

/* Watching first: one entry point on the landscape, one focused task at a time. */
.pixel-panel,.menu-action,dialog,.quiet-player{box-shadow:none}
.game-hud{display:flex;justify-content:flex-end;left:auto;width:auto}
.game-hud #menu-toggle{min-width:44px;min-height:44px;padding:8px 12px;gap:8px;border:1px solid #688556;font:13px var(--sans);font-weight:500}
.game-hud .hamburger{font-size:20px}
#menu-save-alert{background:#b85d49}
.menu-open .game-hud,.panel-open .game-hud,.menu-open .garden-nav,.panel-open .garden-nav,.panel-open .camera-hold{display:none}
.quiet-toggle{display:none}
.watching .quiet-toggle{display:flex;top:var(--hud-top);right:var(--hud-right);min-height:44px;padding:8px 12px;font:13px var(--sans);border:1px solid #688556;box-shadow:none}
.scene-caption,.pan-hint,.bird-dot,.plant-label{display:none}
.bird-actor .behavior-tag{display:none}
.bird-actor:focus-visible .behavior-tag{display:block;opacity:1}
.camera-hold{top:calc(var(--hud-top) + 52px);border:1px solid #688556;box-shadow:none}
.game-menu{top:var(--hud-top);right:var(--hud-right);width:min(340px,calc(100% - var(--hud-left) - var(--hud-right)));max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom));padding:16px;border:1px solid #688556;box-shadow:none}
.game-menu-heading{top:-16px;padding:0 0 8px;margin:0;letter-spacing:.6px;font:600 13px var(--sans);border-bottom:1px solid #b7c994}
.game-menu .round,dialog .modal-header .round{border:0;background:var(--paper);min-height:44px;min-width:44px;box-shadow:none}
.menu-context{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:1px solid #b7c994}
.menu-context .hud-place{flex:1;max-width:none;min-width:0}
.menu-context .hud-location{padding:0;min-height:44px;border:0;background:none;box-shadow:none;max-width:none;width:100%}
.menu-context .hud-location .icon{display:none}
.menu-context .hud-location #location-title{font:500 14px/1.4 var(--sans)}
.menu-context .hud-meta{margin:0;gap:12px;flex-wrap:wrap}
.menu-context .hud-meta button{min-height:44px!important;padding:0;border:0;background:none;box-shadow:none;font:12px var(--sans)!important;color:var(--muted)}
.menu-context .currency{min-height:44px;padding:0;border:0;background:none;box-shadow:none;gap:4px}
.menu-context .currency-label{display:none}
.menu-primary-actions{gap:0;margin:8px 0}
.menu-primary-actions .menu-action,.menu-actions>.menu-action{min-height:44px;border:0;padding:10px 0;gap:12px;box-shadow:none;background:none}
.menu-primary-actions .menu-action-copy b{font:500 15px var(--sans)}
.menu-primary-actions .menu-action-copy small,.menu-chevron{display:none}
.menu-action>.icon{width:18px;height:18px;color:#688556}
.menu-actions{gap:0;border-top:1px solid #b7c994;padding-top:4px}
.menu-action:hover,.menu-action:focus-visible{background:#d9e1ba!important}
.time-options,.view-tools,.extra-tools{margin:0!important;border:0}
.time-options>summary,.view-tools>summary,.extra-tools>summary{font:13px/1.5 var(--sans);min-height:44px;padding:12px 0;cursor:pointer}
.menu-actions>.extra-tools{order:0}
.extra-tools .menu-action,.view-tools .menu-action{border:0;font-size:13px;min-height:44px;padding:8px 0}
.menu-pan{display:flex;gap:12px;justify-content:space-between}
.menu-pan button{min-height:44px;font-size:13px;padding:8px 0}
.menu-actions .nav-toggle{border:0;font:13px var(--sans);justify-content:flex-start;padding:8px 0;box-shadow:none}
.menu-note{font-size:12px}
.garden-nav{border:1px solid #688556;box-shadow:none}
dialog{top:var(--hud-top);bottom:auto;right:var(--hud-right);left:auto;width:min(560px,calc(100vw - var(--hud-left) - var(--hud-right)));max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom));padding:24px;border:1px solid #688556;box-shadow:none}
dialog .modal-header{float:right;position:sticky;top:-12px;width:44px;height:44px;min-height:44px;padding:0;margin:0 0 8px 12px;border:0;background:var(--paper)}
dialog .modal-header .eyebrow{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
dialog h2{font:600 22px/1.35 var(--sans);margin:6px 0 16px;min-height:36px;letter-spacing:-.3px}
dialog h3{font:600 15px/1.5 var(--sans)}
dialog p{font-size:14px;line-height:1.65}
dialog .source-note{color:var(--muted);font-size:12px!important}
dialog .secondary{border:0;background:none;font-weight:500;text-align:left;box-shadow:none}
dialog .secondary:hover{background:#d9e1ba}
dialog .primary{border:0;box-shadow:none}
dialog .modal-actions{gap:8px}
dialog .modal-actions button{flex:0 1 auto}
dialog details{margin:8px 0;border-top:1px solid #b7c994;clear:both}
dialog details>summary{font-weight:500;font-size:13px;padding:12px 0}
dialog .detail-grid>div{background:none;padding:8px 0}
dialog .tag{background:none;padding:3px 0;font-size:12px;color:var(--muted)}
dialog .tag-row{gap:12px;margin:8px 0}
dialog .modal-bird{background:none;height:120px;margin:12px 0}
dialog .panel-intro{font-size:13px;margin:8px 0}
.shop-filters,.inventory-filters{display:flex;gap:4px;flex-wrap:wrap;margin:12px 0}
.shop-filters .secondary{padding:8px;min-height:44px;font-size:13px}
.shop-filters button[aria-pressed="true"]{background:none;color:var(--ink);border:0;border-bottom:2px solid #3e5e45;font-weight:600}
.shop-list{gap:0;margin-top:8px}
.shop-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:0 12px;align-items:center;padding:12px 0;border:0;border-bottom:1px solid #b7c994;background:none}
.shop-art{width:48px;height:48px;background:none}
.shop-art svg{width:40px;height:44px}
.shop-copy h3{font:500 14px/1.5 var(--sans);margin:0}
.shop-actions{display:block;width:auto}
.shop-actions .primary{font-size:12px;padding:8px 10px;white-space:nowrap}
.shop-item-details{grid-column:2/-1;border:0!important;margin:0!important}
.shop-item-details>summary{min-height:44px;padding:6px 0;font-size:12px!important;color:var(--muted)}
.shop-item-details p{font-size:13px}
.shop-region-options{margin:0!important;border:0!important}
.shop-region-options>summary{min-height:44px;padding:6px 0}
.shop-region-choice{margin:4px 0}
.shop-region-choice select{min-height:44px;font-size:16px}
.search-row{clear:both;margin:8px 0}
.search-row input{background:none;border:0;border-bottom:1px solid #688556;padding:10px 0}
#shop-search-count,#inventory-result-count{font-size:12px;min-height:0;margin:6px 0;color:var(--muted)}
.shop-feedback,.inline-success{border:0;border-left:2px solid #688556;background:#d9e1ba;padding:10px 12px}
.empty-note{border:0;background:none;padding:8px 0}
.journal-item{border:0;border-bottom:1px solid #b7c994;padding:10px 4px;background:none}
.journal-item .thumb,.choice-thumb{background:none}
.journal-grid{margin-top:8px;gap:10px}
.watch-filter{display:flex;align-items:center;gap:12px;font-size:14px}
.watch-filter select{flex:1;min-width:0;min-height:44px;font-size:16px}
.watch-list{display:flex;flex-direction:column;margin:8px 0}
.watch-choice{display:flex;align-items:center;gap:14px;width:100%;min-height:88px;padding:12px 0;border:0;border-bottom:1px solid #b7c994;background:none;color:#263c35;text-align:left}
.watch-choice[hidden]{display:none!important}
.watch-thumb{display:grid;place-items:center;width:60px;min-width:60px;height:52px}
.watch-thumb svg{width:56px;height:48px}
.watch-copy{display:flex;flex-direction:column;gap:5px;min-width:0;line-height:1.5}
.watch-copy b{font:600 16px var(--sans)}
.watch-copy small{font:13px var(--sans);line-height:1.5;color:#3e5e45}
.watch-action{font:13px var(--sans);color:#3e5e45}
.explore-available{display:flex;align-items:center;gap:10px;min-height:44px;font:14px var(--sans)}
.explore-available input{width:20px;height:20px;flex:0 0 20px}
.area[hidden]{display:none!important}
.journal-recovery{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 0;border-bottom:1px solid #b7c994}
.journal-recovery small{font:13px/1.5 var(--sans);color:#3e5e45}
.journal-recovery p{flex-basis:100%;margin:0}
.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.choices button{border:1px solid #b7c994;min-height:64px;padding:8px;font-size:13px}
.choices button[aria-pressed="true"]{background:#3e5e45;color:var(--paper)}
.inventory-copy{margin:0;border:0;border-bottom:1px solid #b7c994;padding:12px 0;gap:0 12px}
.inventory-thumb{background:none}
.copy-actions button{flex:0 1 auto;padding:8px 0}
.inventory-tools{margin-top:0!important}
.story-menu{display:block}
.story-menu details{margin:0}
.story-menu button{display:block;width:100%;padding:10px 0}
.area{background:none;border:0;border-bottom:1px solid #b7c994;padding:12px 0}
.area-thumbnail{border:0;height:90px}
.item-name-form,.item-stat-grid>div{border:0;background:none;padding:8px 0}
.item-stat-grid{gap:12px;border-bottom:1px solid #b7c994}
.placement-dock,.item-find-dock{border:1px solid #688556;box-shadow:none;width:min(460px,calc(100% - var(--hud-left) - var(--hud-right)))}
.placement-dock .secondary{border:0}
#toast{bottom:calc(var(--hud-bottom) + 16px);border:0;box-shadow:none;font-size:13px;padding:10px 14px;max-width:min(460px,calc(100vw - 32px))}
@media(max-width:600px){
 .game-menu{width:calc(100% - var(--hud-left) - var(--hud-right));padding:16px}
 dialog{left:var(--hud-left);right:var(--hud-right);width:auto;padding:20px;max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom))}
 dialog .modal-header{top:-8px}
 dialog h2{font-size:20px}
 .inventory-filters{display:flex}
 .shop-actions{display:block}
 .shop-row{grid-template-columns:40px minmax(0,1fr) auto;gap:0 10px}
 .shop-art{width:40px}
 .shop-actions .primary{font-size:12px;padding:8px}
 .choices button{flex-direction:column;align-items:flex-start}
 .menu-context .currency b{font-size:12px}
}
@media(max-width:360px){.shop-row{grid-template-columns:32px minmax(0,1fr) auto;gap:0 8px}.shop-actions .primary{padding:8px 6px}.shop-art{width:32px}.shop-art svg{width:32px}.shop-copy h3{font-size:13px}}

/* Panel actions support a closer look, then an easy return to watching. */
.visitor-list{display:grid;gap:0;margin:8px 0}
.visitor-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #b7c994}
.visitor-art{display:flex;align-items:center;justify-content:center;min-height:56px}
.visitor-art svg{width:48px;height:48px}
.visitor-copy{min-width:0}
.visitor-copy>b{font:500 14px/1.5 var(--sans);overflow-wrap:anywhere}
.visitor-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.visitor-actions button{padding:8px 0;min-height:44px;font-size:13px}
.item-main-action{margin:12px 0}
dialog .item-summary,dialog .item-location{font-size:13px;color:var(--muted);margin:8px 0}
dialog details.plant-options{padding:0;margin:8px 0;border-top:1px solid #b7c994}
#item-inventory-back,#visitors-watch,#leave-unidentified,#plants-back{min-height:44px;padding:8px 0;font-size:13px}

/* Direct item gestures leave ordinary taps and garden panning quiet. */
.decoration{pointer-events:auto;touch-action:pan-x;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:default}
.decoration svg{pointer-events:none}
.decoration::before{content:"";position:absolute;left:50%;bottom:0;width:max(100%,44px);height:max(100%,44px);transform:translateX(-50%)}
.decoration:focus-visible{outline:2px solid #f3eed8;outline-offset:3px}
.placing .decoration{pointer-events:none}
.placing .decoration::before{pointer-events:none}

/* Actions remain inside menus and task panels; watching keeps one entry point. */
.menu-primary-actions .menu-action-copy small{display:block;font:12px/1.5 var(--sans);color:var(--muted);margin-top:3px}
.menu-primary-actions .menu-action{align-items:center;padding:9px 0;min-height:56px}
.menu-action-copy{min-width:0}.menu-action-copy b{display:block}
.menu-search-label{display:block;font:12px/1.5 var(--sans);margin-top:12px;color:var(--muted)}
.menu-search{margin:4px 0 8px}.menu-search input{width:100%;min-width:0;font:16px var(--sans);padding:10px;border:1px solid #b7c994;background:var(--paper);color:var(--ink)}
#menu-search-count{font:12px/1.5 var(--sans);margin:10px 0}#menu-search-all,#all-activities{min-height:44px;font-size:13px}
.activity-action{display:block;width:100%;padding:12px 0;text-align:left;border:0;border-bottom:1px solid #b7c994;background:none;min-height:56px;white-space:normal;color:var(--ink)}
.activity-action b{display:block;font:600 14px/1.5 var(--sans)}.activity-action small{display:block;font:12px/1.5 var(--sans);color:var(--muted);margin-top:2px}
.activity-action:hover,.activity-action:focus-visible{background:#d9e1ba}.activity-group h3{font:600 13px/1.5 var(--sans);margin:20px 0 0;color:var(--muted)}
#panel-activities{margin-left:auto;min-height:44px;font-size:13px;padding:8px}.modal-header{gap:8px}
.panel-shortcuts,.item-main-action{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.item-main-action>*{flex:1;min-height:44px}
.item-art{height:80px}.item-art svg{width:90px;height:75px}#item-rename{min-height:44px;font-size:13px}
#item-food .food-choices{margin:8px 0}#item-growth .modal-actions{margin:8px 0}#item-spreading{margin-top:8px}
.placement-ghost{outline:2px solid #f3eed8;outline-offset:3px;background:none}
.placement-ghost::after{content:'Preview';left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);padding:3px 6px;font:600 11px/1.4 var(--sans);background:#f3eed8;color:#263c35;white-space:nowrap}
.decoration.moving-original{outline:1px dashed #688556;outline-offset:3px}.placement-title button{flex-basis:auto;padding:8px;min-width:64px;font-size:13px}
#toast.show.has-undo{pointer-events:auto}#toast:not(.show){visibility:hidden}.toast-undo{min-height:44px;color:#f3eed8;background:none;text-decoration:underline;margin-left:12px;padding:8px;font:600 14px var(--sans)}
@media(max-height:500px){.menu-primary-actions .menu-action{min-height:48px}.activity-action{padding:8px 0;min-height:48px}}

.bird-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.bird-quick-actions button{flex:1;min-height:44px;font-size:13px}
#activity-search{min-width:0}.menu-search-results .activity-action{font-size:13px}

.area-next-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.area-next-actions button,#shop-suitable{min-height:44px;font-size:13px}
dialog .modal-header{float:none;width:100%;height:auto;justify-content:flex-end;margin:0 0 8px}
.modal-header .eyebrow{min-width:0;overflow-wrap:anywhere}.modal-header #panel-activities{flex-shrink:0}.modal-header #close-modal{flex-shrink:0}

.item-overview{display:flex;align-items:center;gap:12px;margin:8px 0}.item-overview .item-art{flex:0 0 80px;margin:0;background:none}.item-overview .item-location{margin:0;line-height:1.5}
#item-heading{margin-bottom:4px}#item-inventory-back{margin-bottom:4px}

@media(max-width:600px){dialog input,dialog select,dialog textarea,.game-menu input,.game-menu select{font-size:16px!important}}

#inventory-quick-tools{position:sticky;top:44px;z-index:2;background:var(--paper);padding:4px 0;border-bottom:1px solid #b7c994}

.menu-search input,.menu-search button{min-height:44px}.menu-search button,.menu-context .currency{min-width:44px}

/* First-visit ideas are optional and stay inside the existing menu and panel. */
.starting-guide-entry{display:block;width:100%;padding:12px 0;text-align:left;min-height:56px;border-bottom:1px solid #b7c994}
.starting-guide-entry b{display:block;font:600 14px/1.5 var(--sans)}.starting-guide-entry small{display:block;font:12px/1.5 var(--sans);color:var(--muted);margin-top:3px}
.starting-guide-entry:hover{background:#d9e1ba}
.starting-steps{margin:12px 0 20px;padding-left:24px}.starting-steps li{padding:6px 0 16px 4px;border-bottom:1px solid #b7c994}
.starting-steps li::marker{color:var(--muted);font-weight:600}.starting-steps h3{margin:4px 0}.starting-steps p{margin:8px 0}
.starting-steps button{min-height:44px}.starting-options{margin-bottom:16px}

/* Bird-to-habitat choices stay in a focused task panel. */
.habitat-option{padding:12px 0;border-bottom:1px solid #b7c994}.habitat-option>b{display:block;font:600 14px/1.5 var(--sans);overflow-wrap:anywhere}
.habitat-option>small{display:block;font:12px/1.5 var(--sans);color:var(--muted);margin:4px 0}.habitat-option button{min-height:44px}
.shop-view-options{display:flex;gap:12px;flex-wrap:wrap}.shop-view-options button,#clear-shop-budget,#bird-habitat,#habitat-back,#shop-context-back{min-height:44px;font-size:13px}
#shop-affordable[aria-pressed="true"]{background:none;color:var(--ink);font-weight:600;border-bottom:2px solid #3e5e45}

/* A small field-guide desk: pictures and clear choices, with room to breathe. */
.game-menu{width:min(390px,calc(100% - var(--hud-left) - var(--hud-right)));padding:18px;border:2px solid #688556;background:#f3eed8}
.game-menu-heading{top:-18px;padding:0 0 10px;border:0;letter-spacing:0;background:#f3eed8}
.game-menu-heading>b{font:700 25px/1.2 var(--serif)}
.menu-context{padding:0 0 10px;border:0;gap:10px}
.menu-context .hud-location{min-height:36px}.menu-context .hud-location #location-title{font:600 14px/1.5 var(--sans)}
.menu-context .hud-meta{gap:12px}.menu-context .hud-meta button{min-height:36px!important}
.menu-context .currency{padding:8px;background:#d9e1ba;align-self:center}.menu-context .currency-label{display:block;font:12px var(--sans)}
.menu-search{margin:4px 0 12px}.menu-search input{border:1px solid #b7c994;padding:10px 12px;background:#f3eed8}
.menu-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.menu-primary-actions .menu-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;padding:12px;min-height:112px;border:1px solid #b7c994;background:#d9e1ba}
.menu-primary-actions .menu-action:nth-child(2n){background:#f3eed8}
.menu-picture{display:block;width:48px;height:34px;pointer-events:none}
.menu-illustration{display:block;width:100%;height:100%;image-rendering:pixelated}
.menu-primary-actions .menu-action-copy b{font:600 15px/1.4 var(--sans)}
.menu-primary-actions .menu-action-copy small{font:12px/1.4 var(--sans);margin-top:2px}
.menu-footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #b7c994;margin-top:8px}
.menu-footer .menu-action{font-size:12px;padding:10px 0;gap:6px;min-width:0}
.menu-footer .icon{width:16px;flex:0 0 16px}
.game-menu #all-activities{margin:0;min-height:44px;font-size:13px;text-align:left}
.game-menu .time-options>summary,.game-menu .view-tools>summary,.game-menu .extra-tools>summary{padding:12px 0}
.starting-guide-entry{background:#d9e1ba;padding:12px;border:0;margin:10px 0}
.starting-guide-entry small{font-size:12px}

dialog{border:2px solid #688556;padding:28px;background:#f3eed8;width:min(600px,calc(100vw - var(--hud-left) - var(--hud-right)))}
dialog .modal-header{top:-28px;padding:8px 0;margin:0 0 16px;background:#f3eed8;gap:12px}
.panel-flourish{display:block;width:48px;height:34px;margin-right:auto;flex:0 0 48px;pointer-events:none}
dialog h2{font:700 28px/1.2 var(--serif);letter-spacing:0;margin:8px 0 16px}
dialog h3{font:600 18px/1.4 var(--serif);margin:24px 0 12px}
dialog .panel-intro{font:14px/1.65 var(--sans);margin:8px 0 20px;max-width:46ch}
dialog p{margin:12px 0;line-height:1.7}
dialog .primary{padding:11px 16px;background:#3e5e45;border:1px solid #3e5e45;font-size:14px;line-height:1.5}
dialog button.primary:disabled{background:#e2d6b5;color:#3e5e45;border-color:#806849}
dialog .secondary{padding:10px 14px;background:#f3eed8;border:1px solid #b7c994;font-size:14px;line-height:1.5}
dialog .text-button{font-size:13px;line-height:1.5}
dialog details{margin:14px 0;border:0;background:#d9e1ba;padding:0 14px}
dialog details>summary{padding:14px 0;font:500 14px/1.5 var(--sans);min-height:48px}
dialog details[open]{padding-bottom:14px}
dialog details details{background:#f3eed8;margin:10px 0}
dialog .search-row{gap:8px;margin:16px 0}
dialog .search-row input{border:1px solid #b7c994;padding:10px 12px;background:#f3eed8}
dialog .search-row button{border:0;padding:8px}
dialog .watch-filter{gap:12px;margin:14px 0}
dialog .watch-filter select{border:1px solid #b7c994;padding:10px;background:#f3eed8}
.watch-list{gap:10px;margin:18px 0}
.watch-choice{border:1px solid #b7c994;padding:14px;min-height:90px;gap:16px;background:#f3eed8}
.watch-choice:hover,.watch-choice:focus-visible{background:#d9e1ba}
.watch-thumb{width:64px;min-width:64px;height:60px;background:#d9e1ba}
.watch-copy{flex:1;gap:6px}.watch-copy b{font:600 16px/1.4 var(--sans)}
.watch-copy small{font:13px/1.5 var(--sans)}
button.watch-choice::after{content:'›';font:24px var(--serif);color:#688556;margin-left:auto}
.visit-tags{display:flex;gap:6px;flex-wrap:wrap}.visit-tags:empty{display:none}
.visit-tag{display:inline-block;padding:3px 7px;background:#d9e1ba;color:#3e5e45;font:11px/1.4 var(--sans)}
.shop-list{gap:12px;margin:18px 0}
.shop-row{padding:16px;border:1px solid #b7c994;column-gap:14px;grid-template-columns:60px minmax(0,1fr) auto}
.shop-art{width:60px;height:60px;background:#d9e1ba}.shop-art svg{width:48px;height:54px}
.shop-copy h3{font:600 16px/1.4 var(--sans)}
.shop-actions .primary{font-size:12px;padding:10px;white-space:normal}
dialog .shop-item-details{padding:0;background:none;margin:8px 0 0!important}
dialog .shop-item-details>summary{padding:8px 0!important;min-height:44px}
dialog .shop-item-details[open]{padding-bottom:0}
dialog .shop-region-options{padding:0 12px;background:#f3eed8}
.shop-filters button[aria-pressed="true"],.inventory-filters button[aria-pressed="true"]{background:#3e5e45;color:#f3eed8;border:1px solid #3e5e45}
.journal-grid{gap:12px;margin:18px 0}.journal-item{padding:16px;border:1px solid #b7c994;background:#f3eed8}
.journal-item .thumb{height:80px;background:#d9e1ba;margin-bottom:12px}.journal-item b{font:600 14px/1.5 var(--sans)}
.visitor-row,.inventory-copy,.habitat-option{padding:16px;border:1px solid #b7c994;margin:12px 0;background:#f3eed8}
.visitor-art,.inventory-thumb{background:#d9e1ba}
.inventory-copy{column-gap:14px}.copy-actions{gap:10px}.copy-actions button{padding:10px 12px}
.habitat-option .modal-actions{margin-top:12px}.habitat-option>small{margin:8px 0;line-height:1.6}
.activity-action{padding:16px;border:1px solid #b7c994;background:#f3eed8;margin:10px 0}
.activity-group h3{font:600 18px/1.4 var(--serif);margin:24px 0 12px}
.area{padding:18px;border:1px solid #b7c994;margin:12px 0}.area-thumbnail{height:110px;margin-bottom:14px}
.area h3{font:600 22px/1.3 var(--serif)}
@media(max-width:600px){
 .game-menu{padding:16px}.game-menu-heading{top:-16px}
 dialog{padding:20px;width:auto}dialog .modal-header{top:-20px}dialog h2{font-size:26px}
 .shop-row{padding:12px;grid-template-columns:48px minmax(0,1fr) auto;column-gap:12px}.shop-art{width:48px}
 .shop-actions .primary{max-width:100px}.shop-copy h3{font-size:15px}
 .watch-choice{padding:12px;gap:12px}.watch-thumb{width:54px;min-width:54px}.watch-copy b{font-size:15px}
 .inventory-copy{padding:12px}.copy-actions{gap:8px}.copy-actions button{font-size:13px}
}
@media(max-width:360px){
 .menu-primary-actions .menu-action{padding:10px;min-height:112px}.menu-primary-actions .menu-action-copy b{font-size:14px}
 .menu-context .currency-label{display:none}.menu-footer .menu-action{font-size:12px}
 .shop-row{grid-template-columns:40px minmax(0,1fr);gap:8px 12px}.shop-art{width:40px}
 .shop-actions{grid-column:2}.shop-actions .primary{max-width:none}.shop-item-details{grid-column:1/-1}
 .watch-choice{gap:10px}.watch-thumb{width:44px;min-width:44px}.watch-thumb svg{width:42px}
}
@media(max-height:500px) and (min-width:601px){
 .game-menu{width:min(510px,calc(100% - var(--hud-left) - var(--hud-right)))}
 .menu-primary-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
 .menu-primary-actions .menu-action{min-height:100px;padding:10px}
}


.game-menu .menu-options{margin:4px 0;border-top:1px solid #b7c994}
.game-menu .menu-options>summary{padding:14px 0;font:500 13px/1.5 var(--sans);min-height:48px;cursor:pointer}
.game-menu .menu-options[open]{padding-bottom:10px}.game-menu .menu-options .menu-actions{border:0}
.game-menu .menu-options .time-options,.game-menu .menu-options .view-tools,.game-menu .menu-options .extra-tools{padding-left:12px;border-left:2px solid #b7c994}

dialog details.activity-group{margin:12px 0;background:#d9e1ba}
dialog details.activity-group>summary{font:600 18px/1.4 var(--serif);padding:16px 0}
dialog details.activity-group>summary small{font:12px/1.5 var(--sans);color:var(--muted)}
dialog details.activity-group .activity-action{margin:8px 0;background:#f3eed8}
/* Grounded mounts stay behind their native item; invalid previews explain why. */
#scene{isolation:isolate}
.decoration>.pixel-art:not(.garden-support){position:relative}
.placement-ghost.invalid-placement{outline:2px dashed #806849;outline-offset:4px}
#placement-status{margin:4px 0 8px;line-height:1.5}

#weather-layer{z-index:220}
#placement-hooks{position:absolute;inset:0;z-index:223;pointer-events:none}
.placement-hook{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;min-width:44px;min-height:44px;padding:9px;border:0;background:transparent;color:#806849;pointer-events:auto}
.placement-hook svg{display:block;width:26px;height:26px}
.placement-hook:hover circle{stroke-width:1.2}
.placement-hook:focus-visible{outline:2px solid #263c35;outline-offset:1px;border-radius:50%}
.placement-perches{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.hook-nudges{grid-template-columns:repeat(2,minmax(0,1fr))}
.placement-ghost{pointer-events:none}
.placement-ghost::after{content:none}
.placing .decoration:not(.placement-ghost){pointer-events:none}
.item-overview{padding:18px;background:#e5e5cb;border-radius:12px;gap:18px;margin:14px 0}
.item-overview .item-art{flex-basis:90px}
.item-location{font-size:14px}
.item-habitat-action{margin:12px 0 18px;background:#e5e5cb;border-color:transparent;text-align:left}
.item-extra-tools{margin-top:12px;border-top:1px solid #b7c994;padding-top:4px}
.item-extra-tools>summary{font-weight:600;padding:12px 0;min-height:44px}
.item-extra-tools>.item-options{margin-left:8px}
.inventory-heading{display:flex;align-items:center;gap:14px;margin:2px 0 18px}
.inventory-heading .menu-illustration{width:58px;height:42px}
.inventory-heading h2{margin:0!important}
.inventory-copy{background:#f3eed8;border-color:#d1d6b4;border-radius:12px;padding:16px;margin:14px 0}
.inventory-thumb{background:#e5e5cb;border-radius:8px}
.copy-actions{align-items:flex-start;justify-content:space-between;margin-top:8px}
.copy-details{margin:0;border:0;flex:0 0 auto;max-width:100%}
.copy-details>summary{padding:10px 12px;min-height:44px;font-size:13px;color:#4c654d}
.copy-details[open]{flex:1 1 100%;padding:0 10px;background:#e5e5cb;border-radius:8px}
.copy-details .source-note{overflow-wrap:anywhere;margin:6px 0}

/* Owned belongings on shelves; buying has its own shop. */
.chest-heading{gap:18px;margin-bottom:16px}
.chest-heading .menu-illustration{width:88px;height:64px}
#inventory-ownership{font-size:14px;margin:6px 0 0;line-height:1.5;color:#4c654d}
.chest-counts{font-size:13px;color:#4c654d;margin:10px 0 16px}
.chest-browse{margin:10px 0;border-top:1px solid #b7c994}
.chest-browse>summary{min-height:44px;padding:12px 0;font-size:14px}
.chest-browse .inventory-more-filters{margin-bottom:8px}
.chest-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:14px 0}
.chest-tabs button{font-size:13px;min-height:44px;padding:8px;border:1px solid #b7c994;background:#f3eed8}
.chest-tabs button[aria-pressed=true]{background:#d9e1ba;border-color:#688556;color:#263c35}
.chest-compartment{margin:20px 0 26px}
.chest-shelf-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}
.chest-shelf-heading h3{font:600 19px/1.4 var(--serif);margin:0}
.chest-shelf-heading>span{font-size:13px;color:#4c654d}
.chest-shelf-note{font-size:13px!important;color:#4c654d;margin:4px 0 12px!important}
.chest-more{margin-top:14px}
.chest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
#inventory-results .chest-slot{position:relative;display:flex;flex-direction:column;min-width:0;margin:0;padding:0;border:1px solid #b7c994;border-radius:10px;background:#f3eed8;gap:0;overflow:visible}
#inventory-results .owned-item-tile{display:flex;flex:1;flex-direction:column;align-items:center;gap:8px;width:100%;padding:0 0 10px;text-align:center;border:0;border-radius:9px;background:none;min-height:180px}
.owned-item-tile .inventory-thumb{display:flex;align-items:center;justify-content:center;width:100%;height:112px;padding:10px;border-radius:9px 9px 0 0;background:#e5e5cb;border-bottom:5px solid #806849}
.owned-item-tile .inventory-thumb svg{width:72px;height:90px;max-height:90px;flex-shrink:0;image-rendering:pixelated}
.owned-item-tile b{font:600 14px/1.4 var(--sans);padding:0 10px;overflow-wrap:anywhere;text-decoration:none}
.owned-item-tile .owned-catalog-name{font-size:12px;line-height:1.4;padding:0 8px;color:#4c654d}
.owned-location{display:block;font-size:12px;line-height:1.4;padding:4px 8px;margin-top:auto;background:#d9e1ba;border-radius:5px;max-width:calc(100% - 16px);overflow-wrap:anywhere}
.owned-location.in-garden{background:#e5e5cb}
.owned-item-tile:hover .inventory-thumb{background:#d9e1ba}
#inventory-results .chest-slot .copy-actions{display:flex;justify-content:center;align-items:stretch;margin:0;padding:0 8px 8px}
#inventory-results .chest-slot .copy-actions button{width:100%;flex:1;margin:0;padding:8px;min-height:44px;font-size:13px;background:none;border:0}
#inventory-results .chest-slot .copy-select{position:absolute;z-index:1;top:6px;left:6px;padding:5px;background:#f3eed8;border-radius:5px;min-width:44px;min-height:44px;align-items:center;justify-content:center}
#inventory-results.selecting-items .copy-select:not([hidden]){display:flex}
#inventory-results .chest-slot.copy-selected{border:2px solid #688556;background:#d9e1ba}
#inventory-results.selecting-items .copy-actions{display:none}
.chest-empty{padding:24px 18px;margin:18px 0;background:#e5e5cb;border:1px solid #b7c994;border-radius:10px;line-height:1.6}
.chest-shop-link{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid #b7c994}
.chest-shop-link>span{font-size:13px;color:#4c654d}
.chest-shop-link button{min-height:44px}
.item-owned-label{display:block;font-size:12px;font-weight:650;color:#4c654d;margin-bottom:6px}
@media(min-width:600px){.chest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chest-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:340px){.chest-heading .menu-illustration{width:64px;height:46px}.chest-heading{gap:12px}.owned-item-tile b{font-size:13px;padding:0 6px}.chest-grid{gap:8px}}

.owned-origin{font-size:12px;color:var(--muted);margin:2px 0}

/* The shop sells new copies; ownership and free routes stay visible. */
.shop-heading{display:flex;align-items:center;gap:16px;margin:4px 0 12px}
.shop-heading .menu-illustration{width:66px;height:48px}.shop-heading h2{margin:0!important}
#shop-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
#shop-results .shop-row{display:flex;flex-direction:column;gap:10px;min-width:0;margin:0;padding:12px;background:#f3eed8;border:1px solid #b7c994;border-radius:10px}
#shop-results .shop-art{display:flex;align-items:center;justify-content:center;width:100%;height:94px;background:#e5e5cb;border-radius:6px}
#shop-results .shop-art svg{width:68px;height:78px;image-rendering:pixelated}
#shop-results .shop-copy{width:100%;text-align:center}
#shop-results .shop-copy h3{font-size:14px;overflow-wrap:anywhere;min-height:40px;margin:0 0 4px}
.shop-ownership{display:inline-block;padding:4px 6px;font-size:12px;line-height:1.4;color:#4c654d}
.shop-ownership.already-owned{background:#d9e1ba;border-radius:4px}
#shop-results .shop-actions{display:flex;flex-direction:column;gap:4px;width:100%;flex-basis:auto}
#shop-results .shop-actions button{width:100%;max-width:none;min-height:44px;font-size:13px;line-height:1.4;padding:8px}
#shop-results .shop-item-details{width:100%;font-size:13px;margin:0!important}
#shop-results .shop-item-details>summary{font-size:12px;line-height:1.5;padding:8px 0!important;min-height:44px}
#shop-results .shop-item-details p{font-size:13px;overflow-wrap:anywhere}
#shop-results .shop-item-details .modal-actions{display:flex;flex-direction:column;gap:8px}
#shop-results .shop-item-details button{width:100%;font-size:13px;min-height:44px}
.shop-purchase-receipt{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:16px;margin:14px 0;border:1px solid #688556;border-radius:10px;background:#d9e1ba}
.shop-purchase-receipt .purchase-art{display:flex;align-items:center;justify-content:center}
.purchase-art svg{width:56px;height:70px;image-rendering:pixelated}
.shop-purchase-receipt small{font-size:10px;letter-spacing:.08em;color:#4c654d}
.shop-purchase-receipt h3{font:600 17px/1.4 var(--serif);margin:4px 0}
.shop-purchase-receipt p{font-size:13px;margin:4px 0}
.purchase-next-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.purchase-next-actions button{flex:1 1 140px;min-height:44px;font-size:13px}
#inventory-context-back{margin-top:6px;padding:6px 0;font-size:13px;min-height:44px}
@media(min-width:600px){#shop-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:340px){#shop-results{grid-template-columns:1fr}}
/* Species planning uses a few clear choices and pictured habitat suggestions. */
.attraction-filter-options{margin:6px 0;border-top:1px solid #b7c994}
.attraction-filter-options>summary{min-height:44px;font-size:13px;padding:12px 0}
.attraction-shelf{margin:20px 0 26px}
.attraction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
#attract-results .watch-choice{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;width:100%;margin:0;padding:14px 10px;text-align:center;background:#f3eed8;border:1px solid #b7c994;border-radius:10px}
#attract-results .watch-thumb{display:flex;align-items:center;justify-content:center;width:100%;height:80px;min-width:0;background:#e5e5cb;border-radius:6px}
#attract-results .watch-thumb svg{width:76px;height:70px;image-rendering:pixelated}
#attract-results .watch-copy{display:flex;flex:1;flex-direction:column;gap:6px;align-items:center;width:100%;min-width:0}
#attract-results .watch-copy b{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
#attract-results .watch-copy small{font-size:12px;line-height:1.5}
#attract-results .visit-tags{justify-content:center;margin:0;gap:4px}
#attract-results .watch-action{font-size:12px;margin-top:auto;padding-top:6px;color:#4c654d}
.pictured-habitat{display:grid;grid-template-columns:68px minmax(0,1fr);gap:14px;align-items:start;border-radius:10px}
.habitat-thumb{display:flex;align-items:center;justify-content:center;width:68px;height:84px;background:#e5e5cb;border-radius:6px}
.habitat-thumb svg{width:56px;height:72px;image-rendering:pixelated}
.habitat-copy{min-width:0}.habitat-copy>b{display:block;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.habitat-copy>small{display:block;font-size:13px;line-height:1.5;margin:6px 0;overflow-wrap:anywhere}
.habitat-copy button{min-height:44px;font-size:13px;margin-top:4px}
@media(min-width:600px){.attraction-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:340px){.attraction-grid{gap:8px}.pictured-habitat{grid-template-columns:48px minmax(0,1fr);gap:10px}.habitat-thumb{width:48px;height:64px}.habitat-thumb svg{width:40px;height:54px}}
/* Gardens are places to peek into, with travel and reading kept distinct. */
.explore-filters{margin:12px 0;border-top:1px solid #b7c994}
.explore-filters>summary{font-size:13px;min-height:44px;padding:12px 0;line-height:1.5}
#explore-results{display:grid;grid-template-columns:1fr;gap:16px}
#explore-results .garden-postcard{min-width:0;overflow:hidden;border:1px solid #b7c994;border-radius:10px;padding:0;margin:0;background:#f3eed8}
#explore-results .area-thumbnail{height:auto;aspect-ratio:3/1;margin:0;background:#d9e1ba}
#explore-results .area-thumbnail svg{width:100%;height:100%;display:block}
.garden-postcard-copy{padding:16px}
#explore-results .garden-postcard h3{font:600 18px/1.4 var(--serif);margin:0 0 4px;overflow-wrap:anywhere}
.garden-postcard-copy>small{display:block;font-size:12px;line-height:1.5;margin:4px 0;color:#4c654d}
.garden-availability{display:inline-block;font-size:12px;padding:5px 8px;margin:8px 0;background:#e5e5cb;border-radius:4px}
.garden-availability.available{background:#d9e1ba}.garden-availability.locked{background:#e2d6b5;color:#685442}
.garden-postcard-actions{display:flex;flex-direction:column;gap:4px;margin:8px 0}
.garden-postcard-actions button{width:100%;min-height:44px;font-size:13px!important;white-space:normal}
.garden-postcard-details{margin:0!important}
.garden-postcard-details>summary{font-size:12px;min-height:44px;padding:12px 0}
.garden-postcard-details p{font-size:13px!important;line-height:1.6}
.garden-preview-landscape{width:100%;aspect-ratio:3/1;overflow:hidden;background:#d9e1ba;border-radius:8px;margin:14px 0}
.garden-preview-landscape svg{display:block;width:100%;height:100%;image-rendering:pixelated}
.garden-preview-actions{margin:16px 0}.garden-preview-actions button{min-height:44px}
.garden-preview-birds{list-style:none;margin:14px 0;padding:0}
.garden-preview-birds li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #b7c994}
.garden-preview-bird{display:flex;align-items:center;justify-content:center;width:56px;height:48px;background:#e5e5cb;border-radius:6px}
.garden-preview-bird svg{width:48px;height:44px;image-rendering:pixelated}
.garden-preview-birds b{display:block;font-size:14px;line-height:1.4}
.garden-preview-birds small{display:block;font-size:12px;line-height:1.5;color:#4c654d;margin-top:4px}
@media(min-width:600px){#explore-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Tap a visiting bird's picture to find it; identification stays a separate action. */
.visitor-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.visitor-list .visitor-row{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;padding:12px;margin:0;background:#f3eed8;border:1px solid #b7c994;border-radius:10px}
.visitor-list .visitor-picture{display:flex;align-items:center;justify-content:center;flex-basis:auto;width:100%;min-width:44px;min-height:84px;height:84px;padding:8px;background:#e5e5cb;border-radius:6px}
.visitor-list .visitor-picture svg{width:76px;height:68px;image-rendering:pixelated}
.visitor-list .visitor-picture:hover{background:#d9e1ba}
.visitor-list .visitor-copy{display:flex;flex:1;flex-direction:column;align-items:stretch;min-width:0;text-align:center}
.visitor-list .visitor-copy>b{font-size:14px;line-height:1.4;overflow-wrap:anywhere;margin-bottom:8px}
.visitor-list .visitor-actions{display:flex;flex-direction:column;gap:4px;margin-top:auto}
.visitor-list .visitor-actions button{width:100%;min-height:44px;padding:8px;font-size:13px;line-height:1.4}
@media(min-width:600px){.visitor-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
.inventory-kind-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;background:#e5e5cb;border-radius:6px;font-size:13px}
.inventory-kind-filter button{min-height:44px;font-size:13px}
.shop-compatibility{display:block;margin:4px 0;font-size:12px;line-height:1.4;color:#685442}
/* Habitat previews begin with pictures; comparisons and explanation unfold. */
.item-preview-header{display:grid;grid-template-columns:80px minmax(0,1fr);gap:18px;align-items:center;margin:12px 0}
.item-preview-header .item-preview-art{width:80px;height:100px;margin:0;display:flex;align-items:center;justify-content:center;background:#e5e5cb;border-radius:8px}
.item-preview-header .item-preview-art svg{width:64px;height:84px;image-rendering:pixelated}
.item-preview-header h2{margin:0!important;overflow-wrap:anywhere}
.item-preview-header p{font-size:13px;margin:8px 0;line-height:1.6}
#item-preview-gardens>summary,#item-preview-food>summary,#item-preview-details>summary{min-height:44px;font-size:13px;line-height:1.5;padding:12px 0}
#item-preview-gardens button,#item-preview-food button,#item-preview-more{min-height:44px;font-size:13px}
.preview-visitor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;align-items:stretch}
.preview-visitor-card{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:12px;background:#f3eed8;border:1px solid #b7c994;border-radius:10px;text-align:center}
.preview-visitor-art{display:flex;align-items:center;justify-content:center;width:100%;height:76px;background:#e5e5cb;border-radius:6px}
.preview-visitor-art svg{width:72px;height:64px;image-rendering:pixelated}
.preview-visitor-card>b{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.preview-visitor-card>small{font-size:12px;line-height:1.5;color:#4c654d;overflow-wrap:anywhere}
.preview-visitor-card>.preview-habitat-needed{background:#e2d6b5;border-radius:4px;padding:4px 6px;color:#685442}
.preview-visitor-card>.visit-tag{margin-top:auto}
#item-preview-count{margin:12px 0;font-size:13px}
@media(min-width:600px){.preview-visitor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:340px){.item-preview-header{grid-template-columns:64px minmax(0,1fr);gap:12px}.item-preview-header .item-preview-art{width:64px;height:82px}.item-preview-header .item-preview-art svg{width:52px;height:68px}.preview-visitor-grid{gap:8px}}

/* Pictured species choices, with optional field marks grouped for easy browsing. */
#identification-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#identification-choices>button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;min-width:0;padding:12px;border:1px solid #b7c994;border-radius:10px;background:#f3eed8;text-align:center;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
#identification-choices>button:hover{background:#e5e5cb;border-color:#688556}
#identification-choices .choice-thumb{width:100%;height:76px;min-width:0;background:#e5e5cb;border-radius:6px}
#identification-choices .choice-thumb svg{width:76px;height:64px;image-rendering:pixelated}
#identification-count{font-size:13px;margin:8px 0}
.identification-clues>summary,#identification-reference>summary{min-height:44px;line-height:1.5;padding-block:10px}
.identification-clues .clue-group{min-width:0;margin:16px 0;padding:0;border:0}
.identification-clues .clue-group legend{font:600 14px var(--sans);color:#685442;padding:0}
.identification-clues .clue-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.identification-clues .clue-buttons button{font-size:13px;line-height:1.4;padding:10px;border:1px solid #b7c994;border-radius:6px;overflow-wrap:anywhere}
.identification-clues .clue-buttons [aria-pressed="true"]{border:2px solid #3e5e45;background:#d9e1ba;font-weight:600}
@media(max-width:340px){#identification-choices{gap:8px}#identification-choices>button{padding:8px}.identification-clues .clue-buttons{grid-template-columns:1fr}}

/* Bird details lead with habitat and optional tagging; reference tools unfold. */
.bird-current-behavior{margin:10px 0;font-size:14px;line-height:1.5}
.bird-habitat-action{min-height:48px;margin:8px 0}
.bird-tagging{margin:16px 0 12px}
.bird-tagging h3{margin:0 0 10px;font-size:15px;color:#685442}
.bird-tagging-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bird-tagging-actions>button{min-height:56px;padding:12px;background:#e5e5cb;border:1px solid #b7c994;border-radius:8px;font-size:14px;line-height:1.4}
.bird-tagging-actions>button:hover{background:#d9e1ba}
.bird-extra-tools{margin:18px 0 0;border-top:1px solid #b7c994}
.bird-extra-tools>summary{min-height:44px;padding-block:12px;font-weight:600}
.bird-extra-tools>details{margin:8px 0;padding:8px 12px;background:#eee7d0;border-radius:6px;border:0}
.bird-extra-tools>details>summary{min-height:44px;line-height:1.5;padding-block:10px}
.tagged-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tagged-comparison-card{min-width:0;padding:12px;background:#f3eed8;border:1px solid #b7c994;border-radius:10px}
.tagged-comparison-card>.journal-item{width:100%;border:0;padding:0;background:transparent;text-align:center}
.tagged-comparison-card .thumb{height:80px;background:#e5e5cb;border-radius:6px}
.tagged-comparison-card .thumb svg{width:76px;height:64px;image-rendering:pixelated}
.tagged-comparison-card b{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.comparison-action{display:block;margin-top:8px;color:#3e5e45;font-size:13px;text-decoration:underline;line-height:1.4}
.tagged-comparison-card>details{margin:12px 0 0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.tagged-comparison-card>details>summary{min-height:44px;padding-block:8px}
@media(max-width:340px){.bird-tagging-actions{gap:8px}.bird-tagging-actions>button{padding:8px}.tagged-comparison{grid-template-columns:1fr}}

/* Closed chest filters still explain which belongings are being shown. */
#inventory-browse-summary{overflow-wrap:anywhere;line-height:1.5;min-height:44px;padding-block:10px}

/* Tagged individuals stay near the species shelf, ahead of optional notes. */
#journal-profiles{margin:16px 0;padding:8px 12px;background:#e5e5cb;border:1px solid #b7c994;border-radius:8px}
#journal-profiles>summary{min-height:44px;padding-block:10px;font-size:15px;font-weight:600;line-height:1.5}
#journal-profiles .journal-grid{margin:12px 0}
#journal-profiles .journal-item{background:#f3eed8;min-width:0}
#journal-profiles .journal-item>b{overflow-wrap:anywhere}

/* Species-guided food choices keep the useful clue beside the free action. */
#item-food-target{font-size:13px;line-height:1.5;margin:10px 0}
.food-target-match{display:block;margin-top:5px;font-size:12px;font-weight:600;color:#3e5e45;line-height:1.4}
.food-choices button[aria-pressed="true"] .food-target-match{color:#f3eed8}

.placement-garden-grid{display:grid;grid-template-columns:1fr;gap:14px;margin:12px 0 18px}
.placement-garden-card{min-width:0;overflow:hidden;border:1px solid #b7c994;border-radius:10px;padding:0!important;margin:0!important;background:#f3eed8}
.placement-garden-card .area-thumbnail{height:auto;aspect-ratio:3/1;margin:0;background:#d9e1ba}
.placement-garden-card .area-thumbnail svg{width:100%;height:100%;display:block;image-rendering:pixelated}
.placement-garden-card h3{font:600 18px/1.4 var(--serif);margin:0 0 4px;overflow-wrap:anywhere}
#placement-garden-later{margin-top:22px}
@media(min-width:600px){.placement-garden-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep the garden-settings flourish and any button icons compact. */
#modal:has(#settings-gameplay) .modal-header .panel-flourish{flex:0 0 16px;width:16px;height:16px}
#modal:has(#settings-gameplay) .modal-header .panel-flourish>.menu-illustration{display:block!important;width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important}
#modal:has(#settings-gameplay) button>.icon{flex:0 0 16px;width:16px;height:16px;max-width:16px;max-height:16px}

/* Menu artwork has a fixed footprint; percentage-sized SVGs need a sized host. */
#game-menu .menu-footer .menu-action>[data-menu-art]{display:block;flex:0 0 32px;width:32px;height:24px;overflow:hidden;line-height:0}
#game-menu .menu-footer .menu-action>[data-menu-art]>.menu-illustration{display:block!important;width:32px!important;height:24px!important;max-width:32px!important;max-height:24px!important}

.menu-footer .gameplay-entry{grid-column:1/-1}
.gameplay-heading{display:flex;align-items:center;gap:14px}
.gameplay-heading .menu-illustration{width:64px;height:44px}
.gameplay-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:22px 0 16px}
.gameplay-tabs button{min-height:48px;padding:10px 6px;font-size:13px;white-space:normal}
.gameplay-tabs button[aria-selected="true"],.gameplay-tabs button[aria-selected="true"]:hover{background:#3e5e45;color:#f3eed8;border-color:#3e5e45}
.gameplay-section[hidden]{display:none}
.gameplay-section-intro{font-size:14px!important;margin:12px 0 18px!important}
.gameplay-option{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid #b7c994}
.gameplay-option>div{min-width:0}
.gameplay-option b{font-size:16px;font-weight:600;line-height:1.4}
.gameplay-option p{font-size:14px!important;line-height:1.6;margin:6px 0!important;color:#4c654d}
.gameplay-option small{font-size:12px;color:#4c654d}
.gameplay-switch{flex:0 0 68px;min-height:48px;background:#e5e5cb;color:#263c35;border:1px solid #688556;border-radius:24px;font:600 16px var(--sans)}
.gameplay-switch[aria-checked="true"]{background:#3e5e45;color:#f3eed8}

/* Comfortable close/back controls in small phone panels. */
.modal-header #close-modal{width:44px;height:44px;min-width:44px;min-height:44px}
dialog .text-button{min-height:44px;font-size:14px;line-height:1.5}
dialog button,#game-menu button{min-height:44px}
dialog .round,#game-menu .round{min-width:44px}

/* Quiet field-guide pages: a few birds, one useful habitat step. */
.life-list-heading{display:flex;align-items:center;gap:16px;margin:0 0 12px}
.life-list-heading>span{flex:0 0 64px;width:64px;height:52px}
.life-list-heading svg{width:64px;height:52px}
.life-list-heading h2{margin:0;min-width:0;overflow-wrap:anywhere}
#journal-known .journal-item{min-width:0;text-align:center}
#journal-known .journal-item b,#journal-profile-grid .journal-item b{display:block;overflow-wrap:anywhere}
#journal-known .journal-item small{display:block;font-size:12px;line-height:1.5;margin-top:6px;overflow-wrap:anywhere}
.life-species-portrait{margin:14px 0}
.species-photo{margin:14px 0 20px;min-width:0}
.species-photo-image{display:block;width:100%;max-width:38rem;height:auto;margin-inline:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;border-radius:8px;background:#dce3d4}
.species-photo figcaption{margin-top:6px;color:#52624d;font-size:12px;line-height:1.5}
.species-photo figcaption a{color:inherit}
.species-photo-fallback{display:flex;align-items:center;justify-content:center;min-height:150px;padding:12px;background:#e5e5cb;border-radius:8px}
.species-photo-fallback svg{display:block;width:auto;height:112px;max-width:100%}
.species-photo.photo-pending .species-photo-fallback{min-height:112px;padding:0;background:transparent;justify-content:flex-start}
.species-photo.photo-fallback-active .species-photo-fallback{min-height:150px}
.life-species-story{font-size:16px;line-height:1.7}
.life-species-facts{display:grid;gap:12px;margin:20px 0}
.life-species-facts>div{padding:14px 16px;background:#e5e5cb;border-left:3px solid #91aa72;min-width:0}
.life-species-facts dt{font:600 17px/1.4 var(--serif);margin-bottom:6px}
.life-species-facts dd{margin:0;font-size:15px;line-height:1.65;overflow-wrap:anywhere}
#species-more{margin-top:20px}
.habitat-next-step{margin:18px 0;padding:18px;background:#e5e5cb;border:1px solid #b7c994;border-radius:8px}
.habitat-next-step h3{margin:0 0 10px;font:600 20px/1.4 var(--serif)}
.habitat-next-step p{margin:0 0 14px;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.habitat-next-step .primary{width:100%;min-height:44px;white-space:normal}
@media(max-width:360px){.life-list-heading{gap:10px}.life-species-facts>div{padding:12px}.habitat-next-step{padding:14px}}

/* Interpolate between movement ticks; landing removes flight interpolation.
   Resting/clinging stays fixed, with no body bob or sideways easing. */
.bird-actor.flying:not(.hovering),.bird-actor.swimming{transition:left .1s linear,top .1s linear}
.bird-actor.flying .bird-scale{transition:width .1s linear}
.bird-actor.tree-clinging{transition:top .14s ease-out}
@media(prefers-reduced-motion:reduce){.bird-actor.flying,.bird-actor.swimming,.bird-actor.tree-clinging,.bird-actor.flying .bird-scale{transition:none}}
#identification-choices.names-only button{min-height:64px;justify-content:center}

/* A short bath flutter, with a long still pause between flaps. */
.bathing-sprite .bath-frame-rest{visibility:visible;animation:bath-rest 8s step-end infinite}
.bathing-sprite .bath-frame-up{display:inline;visibility:hidden;animation:bath-up 8s step-end infinite}
.bathing-sprite .bath-frame-down{display:inline;visibility:hidden;animation:bath-down 8s step-end infinite}
@keyframes bath-rest{0%,87%,96%,100%{visibility:visible}88%,95%{visibility:hidden}}
@keyframes bath-up{0%,87%,89%,91%,93%,95%,96%,100%{visibility:hidden}88%,90%,92%,94%{visibility:visible}}
@keyframes bath-down{0%,87%,88%,90%,92%,94%,96%,100%{visibility:hidden}89%,91%,93%,95%{visibility:visible}}
.panel-open .bathing-sprite .bath-frame,.menu-open .bathing-sprite .bath-frame,.placing .bathing-sprite .bath-frame{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.bathing-sprite .bath-frame-rest{visibility:visible;animation:none!important}.bathing-sprite .bath-frame-up,.bathing-sprite .bath-frame-down{display:inline;visibility:hidden;animation:none!important}}

/* Species names and selected tabs stay readable in real browser layouts. */
.life-species-latin{display:block;margin:4px 0 12px}

.panel-flourish .menu-illustration{width:48px;height:34px}

/* Hanging controls sit below the hooks; ground-item controls stay above the garden. */
.placement-dock.hanging-placement{top:auto;bottom:var(--hud-bottom)!important}

/* A field guide at the edge of the garden, with nature still in view. */
.game-menu,dialog{border-color:#806849;border-width:1px 2px 3px;box-shadow:inset 0 0 0 3px #e2d6b5;scrollbar-color:#806849 #f3eed8}
.game-menu{top:auto;bottom:var(--hud-bottom);max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom));width:min(390px,calc(100% - var(--hud-left) - var(--hud-right)))}
.game-menu-heading{gap:8px;padding-bottom:4px}
.game-menu-heading>b{font:700 25px/1.25 var(--serif);margin-right:auto}
.menu-heading-art{display:block;flex:0 0 32px;width:32px;height:28px;pointer-events:none}
.menu-context{padding-bottom:2px}
.menu-context .currency{background:#e2d6b5}
.menu-primary-actions{gap:8px;margin:10px 0}
.menu-primary-actions .menu-action,.menu-primary-actions .menu-action:nth-child(2n){display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px;min-height:86px;padding:10px 8px;border:0;border-bottom:1px solid #b7c994;background:#f3eed8;text-align:left}
.menu-primary-actions .menu-action:hover{background:#e5e5cb}
.menu-primary-actions .menu-picture{width:40px;height:34px}
.menu-primary-actions .menu-action-copy b{font-size:14px}
.menu-primary-actions .menu-action-copy small{font-size:11px;line-height:1.45}
.game-menu .starting-guide-entry{min-height:44px;margin:4px 0;padding:8px 10px;background:#e5e5cb;border-left:2px solid #688556}
.game-menu .starting-guide-entry small{font-size:11px;margin:0}
.game-menu .menu-search{margin:10px 0}
.game-menu .menu-search input{border-color:#b7c994;background:#f3eed8}
.game-menu .menu-footer .menu-action{border:0;background:none;box-shadow:none}
dialog{top:auto;bottom:var(--hud-bottom);max-height:min(82dvh,calc(100dvh - var(--hud-top) - var(--hud-bottom)))}
dialog .modal-header{border-bottom:1px solid #e2d6b5}
dialog .panel-flourish{width:56px;flex-basis:56px;height:40px}
dialog .watch-thumb,dialog .journal-item .thumb,dialog .visitor-art,dialog .inventory-thumb,dialog .shop-art{background:#e5e5cb}
@media(max-width:600px){
 .game-menu{padding:14px;max-height:min(72dvh,calc(100dvh - var(--hud-top) - var(--hud-bottom)))}
 .game-menu-heading{top:-14px}
 dialog{top:auto;bottom:var(--hud-bottom);max-height:min(78dvh,calc(100dvh - var(--hud-top) - var(--hud-bottom)));padding:18px}
 dialog .modal-header{top:-18px}
}
@media(max-width:360px){
 .menu-primary-actions .menu-action{grid-template-columns:32px minmax(0,1fr);gap:6px;padding:10px 6px;min-height:86px}
 .menu-primary-actions .menu-picture{width:32px;height:30px}
}
@media(max-height:500px) and (min-width:601px){
 .game-menu{width:min(420px,calc(100% - var(--hud-left) - var(--hud-right)));max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom))}
 .menu-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 dialog{width:min(480px,calc(100vw - var(--hud-left) - var(--hud-right)));max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom))}
}

/* On small phones, field-guide names get a full line beside their bird. */
@media(max-width:360px){
 #journal-known,#journal-profile-grid{grid-template-columns:minmax(0,1fr)}
 #journal-known .journal-item,#journal-profile-grid .journal-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 12px;text-align:left;padding:12px}
 #journal-known .journal-item .thumb,#journal-profile-grid .journal-item .thumb{grid-column:1;grid-row:1/span 2;width:64px;height:64px;margin:0}
 #journal-known .journal-item b,#journal-profile-grid .journal-item b{grid-column:2;align-self:end}
 #journal-known .journal-item small,#journal-profile-grid .journal-item small{grid-column:2;margin:0;align-self:start}
}

.purchase-next-actions #shop-continue{grid-column:1/-1;padding:4px 0;text-align:left}

#identification-choices .choice-feedback{display:block;font-size:13px;line-height:1.5;color:#4c654d;padding:8px 0 0;border-top:1px solid #b7c994;font-weight:400}
@media(max-width:360px){#journal-known .journal-item .thumb svg,#journal-profile-grid .journal-item .thumb svg{width:64px;height:64px;max-width:100%;max-height:100%}}

/* Keep a bird under the finger while an intentional tap is being completed. */
.bird-actor.bird-pressed{transition:none!important}

/* Everyday tools appear only after choosing an actual bird or owned item. */
.finding-item.item-selected:not(.quiet) .game-hud{display:flex}
.item-direct-dock{border:1px solid #806849;box-shadow:inset 0 0 0 2px #e2d6b5;background:#f3eed8;max-height:48dvh;overflow:auto;overscroll-behavior:contain}
.item-direct-dock-top{top:calc(var(--hud-top) + 54px);bottom:auto}
.item-direct-dock .placement-title{position:sticky;top:-12px;background:#f3eed8;z-index:2}
.item-direct-dock .find-item-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.item-direct-dock .find-item-actions button{min-height:44px;padding:8px;font-size:14px}
.item-direct-dock #quick-item-extra{border-top:1px solid #b7c994;margin-top:12px;padding-top:10px}
.item-direct-dock #quick-item-extra p{font-size:13px;line-height:1.6;margin:8px 0}
.item-direct-dock .food-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.item-direct-dock .food-choices button{min-height:44px;font-size:14px;padding:8px;white-space:normal}
.item-direct-dock .food-choices button[aria-pressed="true"]{background:#3e5e45;color:#f3eed8}
.item-direct-dock #quick-item-feedback{font-size:13px;line-height:1.5;margin:8px 0}
.bird-watch-actions{display:grid;gap:8px;min-width:0}
.bird-watch-overview{display:grid;grid-template-columns:minmax(90px,130px) minmax(0,1fr);gap:16px;align-items:center;margin:14px 0}
dialog .bird-watch-overview .modal-bird{height:120px;margin:0;min-width:0}
.bird-watch-overview .modal-bird svg{max-width:100%;max-height:100%}
.bird-watch-actions .bird-habitat-action{margin:0 0 6px;font-size:14px;padding:8px;min-height:44px}
.bird-watch-actions .bird-tagging{margin:0}
.bird-watch-actions .bird-tagging-actions{grid-template-columns:1fr;gap:6px}
.bird-watch-actions .bird-tagging-actions>button{min-height:44px;padding:8px;font-size:14px}
.bird-watch-actions #recognition-feedback:empty{display:none}
@media(max-width:360px){.bird-watch-overview{grid-template-columns:90px minmax(0,1fr);gap:10px}.item-direct-dock .find-item-actions{gap:6px}.item-direct-dock .find-item-actions button{font-size:13px}}
@media(max-height:500px) and (min-width:601px){
 dialog:has(.bird-watch-overview){padding:16px}
 dialog:has(.bird-watch-overview) .modal-header{top:-16px;min-height:44px;height:44px;padding:0;margin:0 0 6px}
 .bird-panel-title{display:flex;align-items:flex-start;gap:12px;margin:4px 0 8px}
 dialog .bird-panel-title h2{flex:1;min-width:0;font-size:22px;margin:0}
 .bird-panel-title .text-button{flex:0 0 132px;min-height:44px;padding:4px;font-size:13px}
 .bird-watch-overview{grid-template-columns:100px minmax(0,1fr);gap:10px;margin:8px 0}
 dialog .bird-watch-overview .modal-bird{height:100px}
 .bird-watch-actions .bird-tagging-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bird-watch-actions .bird-tagging-actions>button{font-size:13px}
}
.item-selected .decoration.located-item{outline:1px solid #806849;outline-offset:4px}

/* Core tasks stay visible; optional reference notes have one disclosure level. */
.item-food-section{margin:16px 0;padding:14px;background:#e5e5cb;border:1px solid #b7c994}
dialog .item-food-section h3{margin:0;font:600 17px/1.4 var(--serif)}
dialog .item-serving{margin:6px 0 10px;color:var(--muted);font-size:13px}
dialog .item-food-section .food-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
dialog .item-food-section .food-choices button{white-space:normal;text-align:center;min-height:48px;padding:10px;border:1px solid #b7c994;background:#f3eed8}
dialog .item-food-section .food-choices button[aria-pressed="true"]{background:#3e5e45;color:#f3eed8;border-color:#3e5e45}
dialog section#item-growth{padding:14px 0;border-top:1px solid #b7c994}
dialog section#item-more-tools{margin-top:16px}
dialog section.bird-extra-tools{padding:14px 0;margin:14px 0 0;border-top:1px solid #b7c994}
dialog section.bird-extra-tools>h3{font:600 18px/1.4 var(--serif);margin:0 0 10px}
dialog .bird-habitat-action{font-size:14px}
#activity-results{display:grid;gap:0;margin:8px 0}
#activity-show-all,#activities-watch{margin-top:12px;min-height:44px}
.item-direct-dock #quick-item-extra:not([hidden]){padding-top:4px}

.garden-wander{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 20px}.garden-wander button{min-height:44px;text-align:left}.garden-wander [aria-pressed="true"]{background:#e5e0c5;border-color:#806849}

/* A steady ground scale, with extra portrait height opening onto the canopy. */
.landscape>.scene-landscape-art{overflow:visible}.scene-scroll{background:#c1d4cf}
#weather-layer{top:calc(-1 * max(0px,calc(100dvh - 520px)));bottom:auto;height:100dvh}
.decoration.tree{pointer-events:none}.decoration.tree>svg.pixel-art{pointer-events:none}.decoration.tree>svg.pixel-art rect,.decoration.tree>svg.pixel-art path{pointer-events:visiblePainted}
.item-selected .decoration.tree.located-item,.decoration.tree:focus-visible{outline:none}
.item-selected .decoration.tree.located-item::after,.decoration.tree:focus-visible::after{content:"";position:absolute;bottom:12px;left:50%;width:42px;height:42px;transform:translateX(-50%);border:2px solid #927454;pointer-events:none}

/* Quick wingbeats separated by longer gliding rests. */
.bird-actor.gliding .flight-frame-up{animation:glide-up 3.6s step-end infinite}
.bird-actor.gliding .flight-frame-down{animation:glide-down 3.6s step-end infinite}
@keyframes glide-up{0%,81%,85%,89%,93%,97%,100%{visibility:visible}83%,87%,91%,95%,99%{visibility:hidden}}
@keyframes glide-down{0%,81%,85%,89%,93%,97%,100%{visibility:hidden}83%,87%,91%,95%,99%{visibility:visible}}
/* Leaves move a pixel or two; trunks, branches and landing stems stay fixed. */
.landscape .breeze-leaves{animation:none;transform:none}
#decorations .breeze-leaves{animation:leaf-breeze 7.3s ease-in-out infinite;animation-delay:var(--breeze-delay,0s)}
.landscape .breeze-grass,#decorations .breeze-grass{animation:grass-breeze 5.9s ease-in-out infinite;animation-delay:var(--breeze-delay,0s)}
@keyframes leaf-breeze{0%,24%,100%{transform:translateX(0)}43%{transform:translateX(.08px)}68%{transform:translateX(-.06px)}}
@keyframes grass-breeze{0%,20%,100%{transform:skewX(0)}46%{transform:skewX(.8deg)}72%{transform:skewX(-.45deg)}}
.panel-open .scene *,.menu-open .scene *,.placing .scene *,.scene-hidden .scene *, .bird-actor.bird-pressed *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.breeze-leaves,.breeze-grass{animation:none!important;transform:none!important}.bird-actor.gliding .flight-frame-up{animation:none!important;visibility:visible}.bird-actor.gliding .flight-frame-down{animation:none!important;visibility:hidden}}

.bird-actor .feeding-frame-up{display:inline;visibility:visible;animation:peck-up 2.9s step-end infinite}
.bird-actor .feeding-frame-down{visibility:hidden;animation:peck-down 2.9s step-end infinite}
@keyframes peck-up{0%,60%,68%,76%,84%,100%{visibility:visible}62%,66%,70%,74%,78%,82%{visibility:hidden}}
@keyframes peck-down{0%,60%,68%,76%,84%,100%{visibility:hidden}62%,66%,70%,74%,78%,82%{visibility:visible}}
@media(prefers-reduced-motion:reduce){.bird-actor .feeding-frame-up{visibility:hidden;animation:none!important}.bird-actor .feeding-frame-down{visibility:visible;animation:none!important}}

/* Brief alert glances and tail flicks, with long still pauses and fixed feet. */
.bird-actor[data-bird-activity="perched"] .alert-head{animation:bird-glance 6.7s step-end infinite;animation-delay:var(--bird-pause,0s)}
.bird-actor[data-bird-activity="perched"] .resting-tail{animation:bird-tail-flick 9.1s step-end infinite;animation-delay:var(--bird-pause,0s)}
@keyframes bird-glance{0%,38%,48%,100%{transform:none}40%,46%{transform:translate(-.5px,-.25px)}43%{transform:translate(.25px,0)}}
@keyframes bird-tail-flick{0%,66%,73%,100%{transform:none}68%,71%{transform:translateY(-.5px)}}
@media(prefers-reduced-motion:reduce){.alert-head,.resting-tail{animation:none!important;transform:none!important}}

/* Looking up moves the camera only; ground geometry and bird sizes are fixed. */
.scene{transform:translateY(var(--sky-offset,0px)) scale(var(--garden-zoom,1));transform-origin:top left}
.scene{overflow-x:clip;overflow-y:visible}
.scene-scroll{background-repeat:repeat-x;background-size:auto 100%;image-rendering:pixelated}
#weather-layer{top:calc(-1 * max(0px,calc(100dvh - 520px)) - var(--sky-offset,0px))}
.sky-return{position:absolute;z-index:9;right:var(--hud-right);bottom:var(--hud-bottom);min-height:44px;padding:10px 14px;font-size:14px;background:#f3eed8}
.menu-open .sky-return,.panel-open .sky-return{display:none}

/* Larger powered fliers beat more slowly; all hummingbird forms stay quick. */
.flight-sprite[data-bird-form="raptor"] .flight-frame{animation-duration:.36s}
.flight-sprite[data-bird-form="corvid"] .flight-frame{animation-duration:.24s}
.flight-sprite[data-bird-form="gull"] .flight-frame{animation-duration:.3s}
.flight-sprite[data-bird-form="heron"] .flight-frame,.flight-sprite[data-bird-form="longneck"] .flight-frame{animation-duration:.4s}
.flight-sprite[data-bird-form="hummingbird"] .flight-frame{animation-duration:.065s}
/* True soaring uses extended wings; powered flight keeps fast wingbeats. */
.bird-actor.gliding .flight-glide{display:inline;visibility:visible;animation:soar-hold 6.8s step-end infinite}
.bird-actor.gliding .flight-frame-up{visibility:hidden;animation:soar-flap-up 6.8s step-end infinite}
.bird-actor.gliding .flight-frame-down{visibility:hidden;animation:soar-flap-down 6.8s step-end infinite}
@keyframes soar-hold{0%,86.99%,100%{visibility:visible}87%,99.99%{visibility:hidden}}
@keyframes soar-flap-up{0%,86.99%,89%,93%,97%,100%{visibility:hidden}87%,91%,95%,99%{visibility:visible}}
@keyframes soar-flap-down{0%,88.99%,91%,95%,99%,100%{visibility:hidden}89%,93%,97%{visibility:visible}}
@media(prefers-reduced-motion:reduce){.bird-actor.gliding .flight-glide{display:inline;visibility:visible;animation:none!important}.bird-actor.gliding .flight-frame-up,.bird-actor.gliding .flight-frame-down{visibility:hidden;animation:none!important}}

/* Food is a direct choice even in a short landscape viewport. */
.item-direct-dock.feeder-tools .find-item-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.item-direct-dock{max-height:min(60dvh,calc(100dvh - var(--hud-top) - var(--hud-bottom) - 70px))}
@media(max-height:500px) and (min-width:601px){.item-direct-dock{max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom) - 70px)}}

#activity-back{display:block;margin:4px 0 12px}
label[for="activity-search"]{display:block;margin:10px 0 6px;font-size:13px;color:var(--muted)}
#activity-results.task-menu-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}

/* A selected object keeps the Garden shortcut close at hand; the rest of the
   scene navigation steps quietly aside until the player is done. */
.finding-item.item-selected:not(.quiet) .field-kit #field-map,
.finding-item.item-selected:not(.quiet) .field-options{display:none}
.item-direct-dock .find-item-actions{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:6px}
.item-direct-dock .find-item-actions .item-action,
.item-direct-dock .item-dock-more .item-action{display:grid;grid-template-rows:25px auto;align-content:center;justify-items:center;gap:3px;min-width:0;min-height:62px;padding:6px 3px!important;border:1px solid #b8ad8e;border-radius:3px!important;text-align:center;white-space:normal;line-height:1.15;font-size:11px!important}
.item-direct-dock .item-action svg.icon{width:23px;height:23px;stroke-width:1.65}
.item-direct-dock .find-item-actions .item-action.primary{background:#3e5e45;border-color:#3e5e45;color:#f3eed8}
.item-direct-dock .find-item-actions .item-action.secondary,
.item-direct-dock .item-dock-more .item-action{background:#eee8d4;color:#354c38}
.item-direct-dock .item-action:disabled{filter:grayscale(.5)}
.item-direct-dock .item-dock-more{display:flex;gap:6px}
.item-direct-dock .item-dock-more .item-action{grid-template-columns:23px auto;grid-template-rows:1fr;justify-content:start;min-height:44px;padding:5px 10px!important;font-size:12px!important}
.item-direct-dock .item-dock-more .item-action svg.icon{width:20px;height:20px}
.item-direct-dock .placement-title .item-done{display:flex;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:40px;padding:5px 8px}
.item-direct-dock .placement-title .item-done svg.icon{width:17px;height:17px}
.item-direct-dock .placement-title .item-done span{font-size:12px}
.item-direct-dock.feeder-tools .find-item-actions{grid-template-columns:repeat(auto-fit,minmax(64px,1fr))}
@media(max-width:360px){.item-direct-dock .find-item-actions .item-action{font-size:10px!important}.item-direct-dock .item-dock-more .item-action{padding:5px 6px!important}}
#activity-results.task-menu-primary .activity-action{margin:0;min-height:100px;padding:12px}
#activity-results.task-menu-primary .activity-action b{font-size:14px}
#activity-results.task-menu-primary .activity-action small{font-size:12px;line-height:1.5}

.task-menu-settings{display:flex;flex-wrap:wrap;gap:4px 14px;border-top:1px solid #b7c994;margin-top:14px;padding-top:8px}
.task-menu-settings:empty{display:none}
.task-menu-settings button{min-height:44px;font-size:13px;padding:6px 0}

/* A single family of tactile paper buttons, throughout every garden panel. */
:is(dialog,.game-menu) :is(button,a.secondary,a.source-link){border:1px solid #b3ae91;border-radius:9px;background:#efebd9;color:#344d3b;min-height:44px;padding:10px 13px;text-decoration:none;font:500 14px/1.4 var(--sans);box-sizing:border-box;box-shadow:none;letter-spacing:normal;white-space:normal}
:is(dialog,.game-menu) button.primary{background:#425d43;border-color:#425d43;color:#fffbed}
:is(dialog,.game-menu) button.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#e8e5d3;border:1px solid #b3ae91;text-decoration:none}
:is(dialog,.game-menu) :is(button,a):focus-visible{outline:3px solid #8b613c;outline-offset:3px}
:is(dialog,.game-menu) button:disabled{opacity:.65;cursor:default;background:#e1e2d1;color:#52634b}
:is(dialog,.game-menu) :is(button,a):not(:disabled):hover{border-color:#6b7c54;background:#e0e4cc}
:is(dialog,.game-menu) button.primary:not(:disabled):hover{background:#344d3b;color:#fffbed}
:is(dialog,.game-menu) :is(button,a)[hidden]{display:none!important}
:is(dialog,.game-menu) .round{padding:10px;width:44px;height:44px;min-width:44px;display:grid;place-items:center;border-radius:50%}
:is(dialog,.game-menu) button.full{display:flex;width:100%;justify-content:center;align-items:center}
:is(dialog,.game-menu) a.source-link{display:inline-flex;align-items:center;max-width:100%;margin:4px 0;text-underline-offset:0;font-size:13px}
:is(dialog,.game-menu) details>summary{min-height:44px;padding:11px 13px;border:1px solid #c4bea2;border-radius:8px;background:#eae7d6;color:#344d3b;text-decoration:none;line-height:1.5;box-sizing:border-box}
:is(dialog,.game-menu) details[open]>summary{margin-bottom:12px;background:#e0e4cc}
:is(dialog,.game-menu) .menu-action{width:100%;text-align:left;justify-content:flex-start}
.game-menu .menu-primary-actions{gap:9px;margin:16px 0}
.game-menu .menu-primary-actions .menu-action{padding:12px 10px;border:1px solid #c3bb9d;background:#f5f0df;border-radius:12px;min-height:98px}
.game-menu .menu-primary-actions .menu-action b{font:600 17px/1.25 var(--serif);color:#344d3b}
.game-menu .menu-primary-actions .menu-action small{font-size:12px;line-height:1.45;color:#6a705a}
.game-menu .menu-chevron{display:none}
#all-activities{margin:0 0 12px}
#menu-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 0;border:0;border-top:1px solid #c7c0a5;margin-top:14px}
#menu-options button:last-child{grid-column:1/-1}
.game-menu .menu-footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;padding-top:0}
.game-menu .menu-footer #tips{grid-column:1/-1}
.menu-page{margin-top:16px;padding:0;border:0}
.menu-page[hidden],#menu-home[hidden]{display:none!important}
.menu-page h2{font:600 25px/1.25 var(--serif);margin:20px 0 14px;color:#344d3b}
.menu-page>button:not([hidden]){margin:6px 0}
.menu-page .condition-group{padding:14px;background:#f2eedc;border:1px solid #c7c0a5;border-radius:10px;margin:12px 0}
.menu-page .conditions label{width:100%}
.menu-page .clock-help{padding:0;margin:12px 0}
.menu-page .menu-pan{gap:8px}
.task-menu-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:14px}
.task-menu-settings button:last-child{grid-column:1/-1}
#activity-results.task-menu-primary .activity-action{display:flex;align-items:center;gap:8px;background:#f5f0df;border:1px solid #c3bb9d;border-radius:12px;min-height:108px;padding:10px;text-align:left}
#activity-results .task-picture{display:block;width:40px;min-width:40px}
#activity-results .task-picture svg{width:40px;height:48px;max-width:100%}
#activity-results .task-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
#activity-results.task-menu-primary .activity-action b{font:600 17px/1.25 var(--serif)}
#activity-results .activity-action:not(:has(.task-picture)){margin:5px 0;padding:12px;border:1px solid #c3bb9d}
#task-menu-settings:empty{display:none}
#activity-back{display:flex;margin:6px 0 14px}
.visit-action{padding:12px;margin:14px 0;background:#e2e6ce;border:1px solid #b4c09d;border-radius:12px}
.visit-feedback{font-size:13px;line-height:1.5;color:#52634b;margin:8px 0 0}
@media(max-width:360px){#activity-results.task-menu-primary{grid-template-columns:1fr}#activity-results.task-menu-primary .activity-action{min-height:80px}.game-menu .menu-primary-actions .menu-action b{font-size:16px}}

/* Borders belong to controls; facts and status labels read like a field guide. */
dialog :is(.visit-tag,.garden-availability,.shop-ownership,.preview-habitat-needed){background:none;border:0;border-radius:0;box-shadow:none;padding:0;color:var(--muted);cursor:inherit}
dialog .garden-availability:is(.available,.locked),dialog .shop-ownership.already-owned,dialog .preview-visitor-card>.preview-habitat-needed{background:none}
dialog .garden-availability{display:block;margin:8px 0;font-style:italic}
dialog .visit-tags{gap:4px 12px}
dialog :is(.preview-visitor-card,.pictured-habitat,.tagged-comparison-card),dialog #shop-results .shop-row,dialog .visitor-list .visitor-row,dialog #explore-results .garden-postcard,dialog .placement-garden-card{border:0;border-bottom:1px solid #c7c0a5;border-radius:0;background:none;box-shadow:none}
dialog .item-overview{background:none;border:0;border-radius:0;padding:12px 0;border-bottom:1px solid #c7c0a5}
.game-menu .menu-page .conditions label{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;border:0;border-radius:0;padding:0;min-height:0;background:none}
.game-menu .menu-page .conditions select{grid-column:1/-1;display:block;width:100%;max-width:none;min-height:44px;padding:10px 12px;border:1px solid #b3ae91;border-radius:8px;background:#f5f0df;font:16px var(--sans)}
:is(dialog,.game-menu) button:disabled{border-style:dashed;background:transparent}
.visit-action #log-visit:disabled{border:0;opacity:1;color:var(--muted);background:none;cursor:default;font-weight:600}
.game-menu .condition-group .season-status{background:none;border:0;padding:2px 0;font-size:13px;font-weight:400}

/* 0.60 — one quiet navigator and focused tasks beside the garden. */
.garden-navigator{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.garden-navigator .navigator-choice{display:flex;align-items:center;gap:9px;min-height:62px;padding:9px 10px;border:1px solid #c8bea1;border-radius:10px;background:#f6f0dd;text-align:left;box-shadow:none;color:#354c38}
.garden-navigator .navigator-choice:hover{background:#e7ead5;border-color:#84956e}
.garden-navigator .navigator-choice>span{width:34px;flex:0 0 34px;line-height:0}
.garden-navigator .navigator-choice svg{width:34px;height:36px;max-width:100%}
.garden-navigator .navigator-choice b{font:600 16px/1.2 var(--serif);overflow-wrap:normal}
.game-menu .menu-context{display:flex;align-items:center;gap:8px;padding:0;border:0;margin:0;background:none}
.game-menu .hud-place{flex:1;min-width:0}.game-menu .hud-location{display:block;padding:0;min-height:0;font:14px/1.4 var(--sans);color:#52634b;border:0;background:none}
.game-menu .hud-location .icon{display:none}.game-menu .hud-meta{margin:0;display:flex;gap:8px;align-items:center}
.game-menu .season-chip{padding:0;background:none;border:0;font:12px/1.4 var(--sans);min-height:0;color:#6a705a}
.game-menu .saved{display:none}.game-menu .currency{padding:6px;min-height:44px;border:0;background:none}
.game-menu .menu-primary-actions{gap:8px;margin:12px 0}
.game-menu .menu-footer,.navigator-utilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 0;padding:0;border:0}
.game-menu .menu-footer .menu-action,.navigator-utilities button{grid-column:auto!important;padding:8px 4px;min-height:44px;border:1px solid #c8bea1;background:#eee8d4;border-radius:8px;font:13px/1.2 var(--sans);text-align:center;justify-content:center;box-shadow:none}
.game-menu .menu-footer .icon{display:none}
#starting-guide{display:block;width:100%;padding:8px 10px;min-height:44px;margin:8px 0;border:1px solid #c8bea1;background:#eee8d4;text-align:left;font-size:13px}#starting-guide[hidden]{display:none!important}.navigator-context{font:13px/1.5 var(--sans);color:#6a705a;margin:4px 0 10px}
.navigator-panel h2{margin:0;font-size:25px}.navigator-panel #activity-back{margin:12px 0 0;font-size:13px}
#modal:has(.navigator-panel){max-height:90dvh}.navigator-panel .garden-navigator{margin:10px 0}
#modal.bird-peek{width:min(390px,calc(100vw - var(--hud-left) - var(--hud-right)));max-height:min(44dvh,calc(100dvh - var(--hud-top) - var(--hud-bottom)));padding:12px 16px}
#modal.bird-peek:has([data-peek-top]){top:var(--hud-top);bottom:auto}
#modal.bird-peek .modal-header{top:-12px;padding:0;margin:0 0 6px;min-height:44px;height:44px}
#modal.bird-peek .panel-flourish{width:28px;height:28px;flex-basis:28px}
.peek-overview{display:flex;align-items:center;gap:12px;margin:6px 0 10px}.peek-overview .modal-bird{height:60px;width:80px;flex:0 0 80px;margin:0}.peek-copy{min-width:0}.peek-copy h2{font-size:22px;margin:0 0 4px;min-height:0}.peek-overview p{font-size:13px;line-height:1.45;margin:0}
.peek-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}.peek-actions>button{min-height:44px;padding:8px}.peek-actions .visit-action{border:0;padding:0;margin:0}.peek-actions #log-visit{font-size:12px;padding:8px;min-height:44px}
.garden-ideas{margin:12px 0 20px}.garden-ideas-heading{display:flex;align-items:center;gap:10px;justify-content:space-between}.garden-ideas-heading h3{margin:0;font-size:18px}.garden-ideas-heading button{flex:0 0 auto;font-size:13px;padding:8px}
.garden-idea{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #d1c7ad}.garden-idea-art{width:64px;height:72px;display:flex;align-items:center;justify-content:center}.garden-idea-art svg{width:100%;height:100%;object-fit:contain}.garden-idea h4{font:600 17px/1.35 var(--serif);margin:0}.garden-idea p{font-size:13px;line-height:1.5;margin:5px 0}.garden-idea small{display:block;color:var(--muted);margin:4px 0 8px}.garden-idea button{min-height:44px}.attract-species-heading{scroll-margin-top:70px}
.item-dock-more{display:flex;gap:8px;border-top:1px solid #d1c7ad;margin-top:10px;padding-top:8px}.item-dock-more button{min-height:44px;padding:8px 12px;font-size:13px}
.garden-ideas[hidden]{display:none}
.bird-feedback{font-size:13px;margin:8px 0}.bird-feedback[hidden]{display:none}
@media(max-height:500px){#modal.bird-peek{max-height:calc(100dvh - var(--hud-top) - var(--hud-bottom));width:min(360px,calc(100vw - var(--hud-left) - var(--hud-right)))}}
.visit-action{background:none;border:0;border-top:1px solid #d1c7ad;border-radius:0;padding:10px 0 0;margin:12px 0 0}.visit-feedback{font-size:12px;margin-top:6px}.visit-action:has(#log-visit:not(:disabled)) .visit-feedback:empty{display:none}
.identification-observation{display:flex;align-items:center;gap:12px;margin:6px 0 10px}.identification-observation .modal-bird{height:68px;width:100px;flex:0 0 100px;margin:0}.identification-observation p{font-size:13px;line-height:1.45;margin:0}
#identification-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}
#identification-choices>button{display:flex;align-items:center;gap:8px;min-height:70px;padding:8px;font-size:13px;text-align:left}
#identification-choices .choice-thumb{width:52px;height:42px;flex:0 0 52px}.choice-thumb svg{width:100%;height:100%}
#modal:has(#identification-choices) h2{font-size:25px;margin-bottom:6px}#leave-unidentified{margin:0 0 6px;min-height:44px;font-size:13px;padding:8px}
#id-feedback:empty{display:none}#help-identify{margin-top:8px;min-height:44px}
.bird-watch-overview .modal-bird{height:100px;margin:0}.bird-watch-overview{margin:12px 0;gap:12px}.bird-tagging{margin-top:8px}.bird-tagging-actions{gap:6px}.bird-tagging-actions button{font-size:12px;padding:8px}.bird-current-behavior{margin:8px 0}
.focused-item-panel .item-overview{display:flex;align-items:center;gap:12px;margin:12px 0}.focused-item-panel .item-art{width:88px;height:72px;flex:0 0 88px;margin:0}.focused-item-panel .item-location{font-size:12px;line-height:1.4}.focused-item-panel .item-food-section{padding:10px 0;margin:10px 0;border:0;border-top:1px solid #c8bea1;background:none}.focused-item-panel .item-food-section h3{font-size:17px;margin:0 0 6px}.focused-item-panel .item-serving{font-size:12px;margin:4px 0 8px}.food-choices{gap:6px}.food-choices button{min-height:44px;font-size:13px;padding:8px}
#item-inventory-back{font-size:13px;margin:0 0 8px}.focused-item-panel .item-main-action{margin:8px 0}.focused-item-panel h2{font-size:25px;margin-bottom:6px}
#preference-conditions .menu-page,#preference-view .menu-page{margin:0}#preference-conditions .menu-page>h2,#preference-view .menu-page>h2,#preference-conditions [data-menu-page],#preference-view [data-menu-page],#preference-conditions .menu-page>.menu-note{display:none}
#preference-view .menu-action{display:flex;width:100%;margin:8px 0}.gameplay-heading{margin-bottom:10px}.gameplay-heading>span{width:36px;height:40px}.gameplay-heading h2{font-size:27px}.gameplay-tabs{gap:5px}.gameplay-tabs button{font-size:13px;padding:8px 6px;min-height:44px}.gameplay-section-intro{font-size:13px}.gameplay-option{padding:12px 0}
@media(max-height:500px){
 .game-menu{width:420px;max-height:calc(100dvh - 16px);padding:12px 16px}.game-menu-heading{padding:0 0 6px;min-height:36px}.game-menu-heading .menu-heading-art{display:none}.game-menu .menu-context{margin:0}.game-menu .garden-navigator,.navigator-panel .garden-navigator{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0}.garden-navigator .navigator-choice{min-height:52px;padding:6px;gap:6px}.garden-navigator .navigator-choice b{font-size:14px}.garden-navigator .navigator-choice>span{width:26px;flex-basis:26px}.garden-navigator .navigator-choice svg{width:26px;height:28px}.game-menu .menu-footer{margin-top:6px}.game-menu .currency-label{display:none}
 #modal:has(.navigator-panel){width:430px}.navigator-panel h2{font-size:22px}.navigator-context{margin:2px 0}.navigator-panel #activity-back{margin-top:6px;min-height:44px}
 #modal:has(#identification-choices){width:560px;max-height:calc(100dvh - 12px)}#modal:has(#identification-choices) .modal-header{padding:6px 12px;min-height:44px}#modal:has(#identification-choices) #modal-content{padding:10px 16px}#modal:has(#identification-choices) h2{font-size:23px}#leave-unidentified{position:absolute;right:16px;top:56px}.identification-observation{margin:4px 0}.identification-observation .modal-bird{height:42px;width:68px;flex-basis:68px}#identification-choices>button{min-height:56px;padding:5px 8px}#identification-choices .choice-thumb{height:36px;width:44px;flex-basis:44px}
 #modal:has(.focused-item-panel){width:520px}.focused-item-panel .food-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.focused-item-panel .item-food-section{padding-top:8px;margin-top:8px}.focused-item-panel .item-main-action{margin:6px 0}.focused-item-panel #item-food-species{margin-top:8px}
}
@media(max-width:360px){.garden-navigator .navigator-choice{padding:7px;gap:6px}.garden-navigator .navigator-choice b{font-size:15px}.garden-navigator .navigator-choice>span{width:28px;flex-basis:28px}#identification-choices>button{gap:5px;font-size:12px}#identification-choices .choice-thumb{width:40px;flex-basis:40px}}
#identification-choices>button{flex-direction:row;justify-content:flex-start}#identification-choices .choice-thumb svg{width:100%;height:100%}
@media(max-height:500px){
 #modal{padding:12px 16px}#modal .modal-header{top:-12px;min-height:44px;height:44px;padding:0;margin:0 0 8px;gap:8px}#modal .modal-header .panel-flourish{width:28px;height:28px}#modal #modal-content{padding:0}
 #modal:has(#identification-choices) .modal-header{padding:0;margin-bottom:6px}#modal:has(#identification-choices) #modal-content{padding:0}#leave-unidentified{position:static;min-height:44px;margin:0 0 4px;padding:6px 8px}#modal:has(#identification-choices) h2{margin:0 0 4px}.identification-observation .modal-bird{height:36px}.identification-observation p{font-size:12px}#identification-choices>button{min-height:50px}#identification-choices .choice-thumb{height:32px}
 #modal .focused-item-panel h2{margin:0 0 4px;font-size:22px}.focused-item-panel #item-inventory-back{min-height:44px;margin:0;padding:6px 8px}.focused-item-panel .item-main-action{margin:6px 0}dialog .focused-item-panel .item-food-section .food-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}dialog .focused-item-panel .item-food-section .food-choices button{min-height:44px;padding:6px;font-size:12px}
}
/* Browsing shows belongings or a short shelf of additions, never a wall of receipts. */
#shop-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#shop-results .shop-row{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px;border:1px solid #c8bea1;border-radius:12px;background:#f6f0df}
#shop-results .shop-art{width:100%;height:86px}#shop-results .shop-art svg{width:100%;height:86px}#shop-results .shop-copy h3{font:600 18px/1.25 var(--serif);margin:0 0 4px}#shop-results .shop-ownership{font-size:12px}#shop-results .shop-actions{display:block;margin-top:auto}#shop-results .shop-actions>button{width:100%;min-height:44px;font-size:13px;padding:8px}
#shop-results .shop-item-details{display:none}#shop-more{margin:14px 0}#shop-catalog[hidden]{display:none!important}
.shop-preview-open #shop-catalog>.panel-filters,.shop-preview-open #shop-catalog>.search-row,.shop-preview-open #shop-search-count,.shop-preview-open #shop-more,.shop-preview-open #shop-catalog>.shop-help,.shop-preview-open #shop-catalog>.source-note{display:none}
.shop-preview-open #shop-results{display:block}.shop-preview-open #shop-results .shop-preview-item{border:0;padding:10px 0;background:none}.shop-preview-open .shop-preview-item .shop-item-details{display:block;border:0;padding:0;margin:0}.shop-preview-item .shop-item-details>summary,.shop-preview-item>.shop-actions{display:none}.shop-preview-item .shop-preview-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.shop-preview-item .shop-art,.shop-preview-item .shop-art svg{height:140px}
.shop-purchase-receipt{margin:16px 0;padding:16px;border:0;background:#e5e8d3;border-radius:12px}.shop-purchase-receipt .purchase-art{height:100px}.shop-purchase-receipt .purchase-art svg{height:100px}.shop-purchase-receipt .purchase-next-actions{display:grid;gap:8px}.shop-feedback{font-size:13px;line-height:1.5}.shop-preview-open .shop-heading{margin-bottom:8px}
.chest-browse{padding:0;border:0;background:none;margin:12px 0}.chest-tabs{gap:6px;margin:0 0 10px;display:flex;flex-wrap:wrap}.chest-tabs button{font-size:12px;min-height:44px;padding:8px}.chest-shelf-note{display:none}.chest-heading{margin-bottom:8px}.chest-heading h2{font-size:27px}.chest-counts{display:none}.inventory-tools{margin:12px 0}.chest-shop-link{margin-top:16px}
@media(max-height:500px){#shop-results .shop-art,#shop-results .shop-art svg{height:64px}.shop-heading>span,.chest-heading>div:first-child{width:32px;height:36px}.shop-heading,.chest-heading{margin:0 0 8px}.shop-heading h2,.chest-heading h2{font-size:25px;margin:0}.panel-toolbar{margin:6px 0}.chest-browse{margin:8px 0}.shop-purchase-receipt{margin:8px 0;padding:10px}.shop-purchase-receipt .purchase-art,.shop-purchase-receipt .purchase-art svg{height:64px}.shop-preview-item .shop-art,.shop-preview-item .shop-art svg{height:72px}}
#modal-content.shop-preview-open #shop-results .shop-preview-item .shop-item-details{display:block}
#modal-content.shop-preview-open #shop-results .shop-preview-item>.shop-actions{display:none}
@media(max-height:500px){dialog .focused-item-panel .item-food-section .food-choices:has(button:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}.focused-item-panel #item-food-heading{display:inline}.focused-item-panel .item-serving{display:inline;margin-left:8px}}
.shop-preview-open #shop-catalog>.shop-filters{display:none}
#game-menu #conditions-button{box-shadow:none;min-height:0!important;height:auto;padding:0;border:0;display:inline;cursor:default}
#modal-content.shop-preview-open .shop-heading{display:none}#modal-content.shop-preview-open #shop-inventory{display:none}#modal-content.shop-preview-open .panel-toolbar{margin:4px 0 8px}
@media(max-height:500px){#modal-content.shop-preview-open #shop-results .shop-preview-item{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:8px}#modal-content.shop-preview-open .shop-preview-item .shop-art,#modal-content.shop-preview-open .shop-preview-item .shop-art svg{height:64px}#modal-content.shop-preview-open .shop-preview-item .shop-item-details{grid-column:1/-1}.shop-preview-item .shop-preview-actions{margin:8px 0}}
/* Item tools are a quick field kit: labeled icons in quiet, square-edged rows. */
.focused-item-panel .item-action-section,.focused-item-panel .item-options,.focused-item-panel .item-extra-tools{margin:12px 0;padding:10px 0 0;border-top:1px solid #c8bea1}
.focused-item-panel .item-action-section h3,.focused-item-panel .item-options h3{font:600 15px/1.3 var(--serif);margin:0 0 8px;color:#263c35}
.item-tool-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:7px;margin:7px 0}
.item-icon-button{display:flex;min-width:0;min-height:66px;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:7px 4px;border:1px solid #b7c994;background:#f3eed8;color:#263c35;text-align:center;box-shadow:2px 2px 0 #d1d6b4}
.item-icon-button:hover{background:#d9e1ba}.item-icon-button .icon{width:23px;height:23px;flex:0 0 auto}.item-icon-button small{font:600 11px/1.2 var(--sans);overflow-wrap:anywhere}.item-icon-button[aria-expanded="true"],.item-icon-button[aria-pressed="true"]{background:#d9e1ba;border-color:#688556}
.item-action-section[aria-label="Garden actions"] .item-icon-button:first-child{background:#3e5e45;color:#f3eed8;border-color:#263c35}.item-action-section[aria-label="Garden actions"] .item-icon-button:first-child:hover{background:#263c35}
.item-reveal{margin:8px 0;padding:10px 12px;border-left:2px solid #688556;background:#f3eed8}.item-reveal[hidden],.item-name-form[hidden]{display:none!important}
.focused-item-panel #item-name-form{display:grid;gap:8px;margin:8px 0;padding:10px;background:#f3eed8;border-left:2px solid #688556}.focused-item-panel #item-name-form input{min-height:44px;font:16px var(--sans);padding:8px;border:1px solid #688556;background:#fffdf2;color:#263c35}
.focused-item-panel .item-habitat-action{display:none}.focused-item-panel .item-statistics h3{display:none}.focused-item-panel .item-statistics>p:last-child{margin-bottom:4px}.focused-item-panel .item-fill-button{display:flex;align-items:center;justify-content:center;gap:8px}.focused-item-panel .item-fill-button .icon{width:20px;height:20px}
.focused-item-panel #item-food-species{margin-top:0}.focused-item-panel .item-food-section .item-serving{margin:2px 0 6px}.focused-item-panel .item-food-section .item-icon-button{min-height:52px;flex-direction:row;justify-content:flex-start;padding:6px 8px;box-shadow:none;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px}.focused-item-panel .item-food-section .item-icon-button .icon{width:18px;height:18px}
.focused-item-panel .food-choices button{display:flex;align-items:center;justify-content:flex-start;gap:6px}.focused-item-panel .food-choices button>.icon{width:17px;height:17px;flex:0 0 auto}.focused-item-panel .food-choices button>span{min-width:0}.focused-item-panel .food-choices .food-target-match{display:block;font-size:10px!important}
@media(max-width:380px){.item-tool-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.item-icon-button{min-height:62px}.item-icon-button small{font-size:10px}}
/* Keep each condition and its automatic setting together, with one owner. */
#gameplay-section-time .gameplay-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center}
#gameplay-section-time .gameplay-option>.condition-group{grid-column:1/-1;border:0;border-radius:0;padding:0;margin:0;background:none}
#gameplay-section-time .condition-group>button,#gameplay-section-time .condition-group>.menu-note,#gameplay-section-time .season-status,#preference-conditions{display:none}
#gameplay-section-time .condition-group .conditions{padding:0;margin:0}
#gameplay-section-time .condition-group .conditions label{padding:0;gap:8px;display:flex;align-items:center}
#gameplay-section-time .condition-group .conditions label>span{display:none}
#gameplay-section-time .condition-group select{width:100%;min-height:44px;padding:9px;font:16px var(--sans);border:1px solid #b9b395;border-radius:8px;background:#f7f1de}
#gameplay-section-time .season-phase-buttons{margin-top:8px;gap:8px}
#gameplay-section-time .gameplay-option>div>p{font-size:12px;line-height:1.45;margin:4px 0}
#gameplay-section-time .gameplay-option small{font-size:12px;line-height:1.4}
/* Selected controls keep readable contrast under touch's sticky hover state. */
:is(dialog,.game-menu) button:is([aria-pressed="true"],[aria-selected="true"]):not(:disabled):hover{background:#3e5e45;color:#f3eed8;border-color:#3e5e45}
.gameplay-heading{gap:10px;margin:4px 0 10px}.gameplay-heading>span{flex:0 0 34px;width:34px;height:34px;line-height:0}.gameplay-heading .menu-illustration{width:34px;height:34px}.gameplay-heading h2{margin:0;font-size:27px}.gameplay-tabs{margin:12px 0}
dialog .inline-success{border:0;border-radius:0;background:none;padding:8px 0;color:#3e5e45!important;font-weight:500;line-height:1.5;box-shadow:none}
#bird-more-tools{scroll-margin-top:80px}#bird-learning-heading{margin:0 0 12px;font:600 23px/1.3 var(--serif)}
#shop-results .shop-row:not(.shop-preview-item){cursor:pointer}#shop-results .shop-row:not(.shop-preview-item):hover{border-color:#84956e;background:#eef0df}
/* One contextual Back in the shared panel header; the original action retains its state. */
#modal .modal-header:has(#panel-back:not([hidden])) .panel-flourish{display:none}
#modal .modal-header #panel-back{min-height:44px;flex-shrink:0;padding:8px 10px;margin-right:auto;white-space:nowrap}
#modal .modal-header:has(#panel-back:not([hidden])) #panel-activities{margin-left:0}
.attraction-more{min-height:44px;margin:12px 0 18px}.attraction-shelf>.chest-shelf-note{display:block;font-size:13px;line-height:1.5;margin:6px 0 12px;color:var(--muted)}
/* Collection tools share a row so the collection itself comes into view sooner. */
dialog .collection-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;margin:10px 0}
dialog .collection-toolbar>.search-row{margin:0;min-width:0}
dialog .collection-toolbar>details{margin:0;border:0;background:none;padding:0;min-width:0}
dialog .collection-toolbar>details>summary{margin:0;min-height:44px;padding:10px 12px;font:13px/22px var(--sans);border:1px solid #b9b395;border-radius:9px;background:#ede9d5;white-space:nowrap}
dialog .collection-toolbar:has(>details[open])>.search-row{grid-column:1/-1}
dialog .collection-toolbar>details[open]{grid-column:1/-1}
dialog .collection-toolbar>details[open]>summary{margin-bottom:8px}
#modal-content:has(.collection-toolbar)>h2{margin:8px 0 14px}
#modal-content:has(.collection-toolbar)>.recap-label{margin:8px 0 12px;font-size:12px;line-height:1.5}
.chest-heading>div:first-child{flex:0 0 42px;width:42px;height:38px;line-height:0}
.chest-heading>div:first-child .menu-illustration{width:42px;height:38px}
.chest-heading{gap:10px}
.owned-location{background:none!important;border:0;border-radius:0;color:var(--muted);justify-self:start}
#inventory-results .chest-slot .copy-actions button{border:1px solid #b9b395;border-radius:8px;background:#f6f0dd}
.shop-heading>span,.life-list-heading>span{flex:0 0 42px;width:42px;height:38px;line-height:0}
.shop-heading>span .menu-illustration,.life-list-heading>span svg{width:42px;height:38px}
.shop-heading,.life-list-heading{gap:10px;margin:4px 0 10px}
.life-list-heading h2{margin:0;font-size:27px}
#modal-content:has(.life-list-heading)>.recap-label{font-size:12px;margin:8px 0}
.shop-preview-open #shop-catalog>.collection-toolbar{display:none}
#journal-profiles{margin:8px 0;padding:0 10px}
@media(max-height:500px){
 #modal-content:has(.collection-toolbar)>h2{font-size:25px;margin:4px 0 10px}
 .attraction-shelf,.chest-compartment{margin:12px 0 20px}
 .attraction-shelf>.chest-shelf-note{margin:4px 0 8px;font-size:12px}
 .attraction-grid{grid-template-columns:1fr;gap:8px}
 #attract-results .watch-choice{flex-direction:row;align-items:center;text-align:left;padding:8px 10px;gap:12px;min-height:80px}
 #attract-results .watch-thumb{width:60px;flex:0 0 60px;height:58px}
 #attract-results .watch-thumb svg{width:56px;height:52px}
 #attract-results .watch-copy{align-items:flex-start;gap:3px}
 #attract-results .visit-tags{justify-content:flex-start}
 #attract-results .visit-tags:empty{display:none}
 #attract-results .watch-action{margin:0;padding:0}
 .chest-grid{grid-template-columns:1fr;gap:8px}
 #inventory-results .chest-slot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
 #inventory-results .owned-item-tile{display:grid;grid-template-columns:64px minmax(0,1fr);align-content:center;align-items:center;text-align:left;column-gap:10px;row-gap:4px;min-height:80px;padding:8px}
 .owned-item-tile .inventory-thumb{grid-column:1;grid-row:1/5;width:64px;height:64px;padding:4px;border:0;border-radius:5px}
 .owned-item-tile .inventory-thumb svg{width:50px;height:56px;max-height:56px}
 .owned-item-tile :is(b,.owned-catalog-name,.owned-location,.owned-origin){grid-column:2;margin:0;padding:0;max-width:100%}
 #inventory-results .chest-slot .copy-actions{padding:0 8px 0 0;max-width:120px}
 #explore-results{grid-template-columns:1fr}
 #explore-results .garden-postcard{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:start}
 #explore-results .area-thumbnail{aspect-ratio:1/1;margin:8px 0}
 #explore-results .area-thumbnail svg{object-fit:cover}
 .garden-postcard-copy{padding:6px 0 12px}
 .garden-postcard-actions{margin:6px 0;gap:4px}
 #shop-results{grid-template-columns:1fr;gap:8px;margin:10px 0}
 #shop-results .shop-row:not(.shop-preview-item){display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:80px;padding:8px 0}
 #shop-results .shop-row:not(.shop-preview-item) .shop-art{height:60px}
 #shop-results .shop-row:not(.shop-preview-item) .shop-art svg{height:56px;max-width:60px}
 #shop-results .shop-row:not(.shop-preview-item) .shop-copy h3{font-size:14px;margin:0 0 4px}
 #shop-results .shop-row:not(.shop-preview-item) .shop-copy{text-align:left}
 #shop-results .shop-row:not(.shop-preview-item) .shop-actions{grid-column:3;grid-row:1;margin:0}
 #shop-results .shop-row:not(.shop-preview-item) .shop-actions button{padding:8px;font-size:12px;max-width:130px;white-space:normal}
 .visitor-list{grid-template-columns:1fr;gap:8px;margin:10px 0}
 .visitor-list .visitor-row{display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px;padding:8px 0}
 .visitor-list .visitor-picture{width:60px;min-height:60px;height:60px;padding:4px}
 .visitor-list .visitor-picture svg{width:54px;height:52px}
 .visitor-list .visitor-copy{text-align:left}
 .visitor-list .visitor-copy>b{margin-bottom:4px}
 .visitor-list .visitor-actions{flex-direction:row;gap:8px}
 .visitor-list .visitor-actions button{width:auto;flex:1}
 .journal-grid{grid-template-columns:1fr;gap:8px;margin:10px 0}
 #journal-known .journal-item,#journal-profile-grid .journal-item{display:grid;grid-template-columns:60px minmax(0,1fr);column-gap:12px;row-gap:4px;align-items:center;align-content:center;text-align:left;min-height:80px;padding:8px 10px}
 .journal-item .thumb{grid-column:1;grid-row:1/3;width:60px;height:60px;margin:0;display:grid;place-items:center}
 .journal-item .thumb svg{max-width:56px;max-height:54px;width:56px;height:54px}
 .journal-item :is(b,small){grid-column:2;margin:0!important}
}

/* A few illustrated invitations, with everything else available when wanted. */
.starting-steps{list-style:none;padding:0;margin:12px 0}.starting-steps li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #d1c7ad}.starting-steps h3{font-size:18px;margin:0}.starting-steps p{font-size:13px;line-height:1.5;margin:6px 0 10px}.guide-picture{width:56px;height:64px;display:flex;align-items:center}.guide-picture svg{width:100%;height:auto}.starting-steps button{font-size:13px;padding:8px 10px}.starting-options{display:grid;gap:8px}
#modal:has(#starting-guide-heading){padding:16px}#modal:has(#starting-guide-heading) .modal-header{top:-16px;margin-bottom:8px;padding:0;min-height:44px}#modal #starting-guide-heading{font-size:25px;margin:8px 0}#modal:has(#starting-guide-heading) .panel-intro{margin:8px 0;font-size:13px;line-height:1.45}
.starting-steps li{padding:10px 0;gap:10px}.starting-steps p{line-height:1.45;margin:4px 0 8px}
.item-direct-dock button.secondary{border:1px solid #b7c994;border-radius:8px;background:#f3eed8;color:#354c38;box-shadow:none}.item-direct-dock .food-choices button[aria-pressed="true"]{background:#3e5e45;color:#f3eed8}
.peek-actions #log-visit{margin:0}

/* A completed visit is a quiet note, with no spent action taking up space. */
.visit-complete{margin:10px 0;font-size:13px;line-height:1.5;color:var(--muted);border:0;padding:0;background:none}
.visit-action.visit-complete{margin:8px 0 0;padding:0;border:0}.visit-action.visit-complete .visit-feedback{margin:0}
.peek-actions>.visit-complete{margin:0;min-height:44px;display:flex;align-items:center;justify-content:center}

/* Personal birdwatching gear and a temporary, read-only closer view. */
.gear-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;margin:12px 0;padding:12px 16px}.gear-card>span:first-child{width:56px;flex:0 0 56px}.gear-card svg{width:56px;height:44px}.gear-card>span:nth-child(2){flex:1}.gear-card b,.gear-card small{display:block}.gear-card small{font-size:13px;line-height:1.5;font-weight:400;margin-top:3px}.gear-card>span:last-child{font-size:20px}.binocular-product{height:125px;text-align:center;margin:12px 0 22px}.binocular-product svg{height:100%;width:180px;image-rendering:pixelated}.gear-owned{line-height:1.7}.gear-next{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.gear-next h3{font:600 25px var(--serif);margin-bottom:10px}.gear-next p{line-height:1.7}.gear-price{font-weight:600}#gear-back{margin-top:20px}
.binocular-view{position:absolute;inset:0;z-index:1000;overflow:hidden;touch-action:none;overscroll-behavior:contain;isolation:isolate;background-repeat:repeat-x;background-size:auto 100%;image-rendering:pixelated;cursor:grab}.binocular-view:active{cursor:grabbing}.binocular-world{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none}.binocular-layer{position:absolute;inset:0;pointer-events:none}.binocular-view .bird-actor{pointer-events:auto}.binocular-view .bird-actor:focus-visible{outline:1px solid #f3eed8;outline-offset:2px}.binocular-weather{position:absolute;inset:0;pointer-events:none;z-index:220;overflow:hidden}.binocular-rim{position:absolute;inset:0;z-index:250;pointer-events:none;width:100%;height:100%}.binocular-away{position:absolute;top:var(--hud-top);right:var(--hud-right);z-index:251;min-height:44px;padding:10px 14px;font-size:14px}.binocular-controls{position:absolute;left:50%;bottom:max(44px,calc(env(safe-area-inset-bottom) + 38px));transform:translateX(-50%);display:flex;align-items:center;gap:10px;z-index:251;padding:5px 8px;background:#f3eed8}.binocular-controls button{font-size:24px;min-width:44px;min-height:44px}.binocular-controls output{min-width:44px;text-align:center;font-size:16px}.binocular-hint{position:absolute;left:0;right:0;bottom:max(12px,env(safe-area-inset-bottom));margin:0;text-align:center;color:#f3eed8;background:#263c35;font-size:13px;line-height:1.6;pointer-events:none;z-index:251}.binocular-view .landscape,.binocular-view .decoration>svg,.binocular-view .bird-scale>svg{opacity:1!important}.binocular-view .decoration .breeze-leaves{animation:leaf-breeze 7.3s ease-in-out infinite;animation-delay:var(--breeze-delay,0s)}.binocular-view.lens-paused *{animation-play-state:paused!important}.binocular-open .game-hud,.binocular-open .sky-return,.binocular-open .garden-nav,.binocular-open .nav-toggle{visibility:hidden}
@media(max-height:450px){.binocular-controls{bottom:max(30px,env(safe-area-inset-bottom));padding:2px 6px}.binocular-hint{bottom:6px;font-size:12px}.binocular-away{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.binocular-view *{animation:none!important;transition:none!important}}
.shop-preview-open #shop-binoculars{display:none}

/* Brief bark probes keep the bird braced against its real trunk. */
.bark-peck-head{animation:bark-peck 2.9s step-end infinite;animation-delay:var(--bird-pause,0s)}
@keyframes bark-peck{0%,62%,68%,76%,84%,100%{transform:translateY(0)}65%,72%,80%{transform:translateY(1px)}}
.panel-open .bark-peck-head,.scene-hidden .bark-peck-head,.bird-pressed .bark-peck-head{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.bark-peck-head{animation:none!important}}

/* Keep real birds within reach while a foreground belonging covers them. */
.decoration.bird-cover{opacity:.55}
.bird-reach{position:absolute;cursor:pointer;pointer-events:auto;display:block;background:transparent}
#phaser-game-container canvas{image-rendering:pixelated;image-rendering:crisp-edges}
/* Garden illustrations are vector-authored and rasterized for smooth display. */
#phaser-game-container canvas{image-rendering:auto!important}svg.garden-art,svg.garden-composite,svg.garden-support,svg.scene-landscape-art{image-rendering:auto!important;shape-rendering:geometricPrecision}.scene-scroll{image-rendering:auto}.binocular-view .garden-art,.binocular-view .scene-landscape-art{image-rendering:auto!important}

/* Field kit: a small companion at the edge of the living garden. */
.game-hud{inset:0;display:block;pointer-events:none}
.game-hud .field-kit{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:end;gap:4px;pointer-events:auto;padding:3px 5px;background:#263c35e8;border:1px solid #9bad7270;border-radius:14px;box-shadow:0 3px 12px #14281f38}
.field-kit button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:64px;min-height:54px;padding:3px 8px;color:#f3eed8;font:12px var(--sans);border-radius:10px;background:transparent;border:0}
.field-kit button:hover,.field-kit button:focus-visible{background:#3e5e45}
.field-kit [data-menu-art]{height:31px;display:block}.field-kit .menu-illustration{width:43px;height:31px}
#menu-toggle.field-options{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:44px;min-width:44px;height:44px;min-height:44px;padding:11px;border-radius:50%;background:#263c35e8;border:1px solid #9bad7270;color:#f3eed8;pointer-events:auto;box-shadow:0 3px 12px #14281f38}
#menu-toggle.field-options>svg{width:20px;height:20px}#menu-toggle .saved-dot{position:absolute;right:2px;top:2px}
.game-menu{width:min(310px,calc(100vw - 24px));top:66px;right:12px;max-height:calc(100svh - 90px);border-radius:15px;padding:16px;background:#f3eed8}
.game-menu .game-menu-heading>b{font:23px var(--serif)}.game-menu .menu-heading-art{display:none}
.game-menu .menu-context{margin-bottom:12px}.game-menu .menu-footer{display:grid;grid-template-columns:1fr;gap:3px;border:0;padding:0;margin:8px 0}
.game-menu .menu-footer button{justify-content:start;min-height:44px;border:0;background:transparent;font-size:15px}
.field-shortcuts{border-top:1px solid #80684935;margin-top:10px;padding-top:7px}.field-shortcuts>summary{min-height:44px;display:flex;align-items:center;font-size:14px;color:#604e3b;cursor:pointer}.field-shortcuts[open]>summary{margin-bottom:7px}
.field-shortcuts .garden-navigator{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.field-shortcuts .navigator-choice{min-height:64px;padding:7px}.field-shortcuts .navigator-choice>span{width:32px;height:25px}.field-shortcuts .navigator-choice b{font-size:13px}
#modal::backdrop{background:#14281f24;backdrop-filter:none}
#modal .modal-header{gap:8px}#panel-activities{font-size:13px;min-height:44px;padding:5px 9px;background:transparent;border:0;color:#604e3b}
.field-journal-tabs,.garden-bag-tabs{display:flex;gap:0;position:sticky;top:0;background:#efe5c9;z-index:2;border-bottom:1px solid #80684950;margin:0 0 18px;padding:0;overflow-x:auto}
.field-journal-tabs button,.garden-bag-tabs button{flex:1;min-height:46px;padding:7px 6px;white-space:nowrap;font:14px var(--sans);background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;color:#604e3b}
.field-journal-tabs button[aria-current=page],.garden-bag-tabs button[aria-current=page]{border-bottom-color:#55774a;color:#263c35;font-weight:700;background:#f3eed8}
#modal:has(.field-journal-tabs){width:min(620px,calc(100vw - 20px));height:min(720px,73svh);max-height:73svh;top:auto;bottom:10px;margin:0 auto;padding:15px 20px 24px;border:1px solid #a78a5e;border-left:7px solid #806849;border-radius:12px 16px 16px 12px;background:#f3eed8;box-shadow:0 8px 30px #14281f35}
#modal:has(.field-journal-tabs) .modal-header{margin-bottom:4px}#modal:has(.field-journal-tabs) #modal-label{font-size:11px;letter-spacing:1px;color:#806849}
#modal:has(.field-journal-tabs) h2{font:29px/1.15 var(--serif);margin:9px 0 12px}#modal:has(.field-journal-tabs) p{font-size:15px;line-height:1.7}
.journal-kicker{font-size:12px;letter-spacing:1px;color:#806849}.journal-opening{padding:0 3px 13px}.journal-opening>p{margin-bottom:0}
.journal-chapter{display:grid;grid-template-columns:78px 1fr;gap:12px;padding:24px 0;border-top:1px solid #8068492c}.journal-chapter figure{margin:4px 0;display:flex;align-items:start;justify-content:center}.journal-chapter figure svg{width:74px;height:78px;object-fit:contain}.journal-chapter h3{font:23px/1.2 var(--serif);margin:0 0 8px}.journal-chapter p{margin:0 0 10px}.journal-chapter .journal-species{font-size:12px!important;font-style:italic;color:#806849;margin-top:14px}.journal-source{border:0!important;background:transparent!important;padding:0!important;margin:0!important}.journal-source>summary{padding:5px 0!important;font-size:12px!important;min-height:32px!important;color:#604e3b}.journal-closing{font-style:italic;border-top:1px solid #8068492c;padding-top:18px}
#modal:has(.garden-bag-tabs){height:auto;max-height:65svh;top:auto;bottom:10px;margin:0 auto;width:min(620px,calc(100vw - 20px));border-radius:16px;padding:14px 16px 20px;background:#f3eed8}
#modal:has(.garden-bag-tabs) .inventory-heading>div:first-child,#modal:has(.garden-bag-tabs) .shop-heading>span{display:none}
#modal:has(.identification-choices):not(:has(.field-journal-tabs)),#modal:has(.bird-watch-overview):not(:has(.field-journal-tabs)){top:auto;bottom:12px;margin:0 auto;max-height:62svh;width:min(430px,calc(100vw - 24px));padding:14px 17px;border-radius:16px;background:#f3eed8}
#modal:has(.identification-choices) h2{font-size:25px;margin:6px 0 10px}.identification-observation{gap:12px!important;grid-template-columns:76px 1fr!important}.identification-observation>.modal-bird{height:70px!important;min-height:0!important;margin:0!important}.identification-observation>.modal-bird svg{max-width:76px;max-height:70px}.identification-observation>p{font-size:14px!important;line-height:1.5!important;margin:0!important}.identification-choices{gap:6px!important;margin:12px 0!important}.identification-choices button{min-height:66px!important;padding:6px!important;font-size:13px!important}.identification-choices .choice-thumb{height:35px!important}.identification-choices .choice-thumb svg{max-height:35px!important}.identification-clues{margin-top:10px!important}
#arrange-panel{padding:12px 14px;border-radius:14px;max-width:min(520px,calc(100vw - 24px))}#arrange-panel p{font-size:13px;margin:4px 0 0}#arrange-panel .modal-actions{flex-wrap:nowrap;gap:6px}#arrange-panel button{min-height:44px;padding:8px 11px;font-size:13px}
@media(min-width:760px){#modal:has(.field-journal-tabs),#modal:has(.garden-bag-tabs){left:auto;right:14px;top:14px;bottom:14px;margin:0;width:min(470px,46vw);height:calc(100svh - 28px);max-height:calc(100svh - 28px)}#modal:has(.identification-choices):not(:has(.field-journal-tabs)),#modal:has(.bird-watch-overview):not(:has(.field-journal-tabs)){left:auto;right:14px;top:14px;bottom:auto;margin:0;width:min(360px,43vw);max-height:calc(100svh - 28px)}}
@media(max-width:360px){.field-kit button{min-width:56px;padding:3px 5px}.field-journal-tabs button{font-size:13px;padding:7px 4px}.journal-chapter{grid-template-columns:56px 1fr;gap:9px}.journal-chapter figure svg{width:54px}}
/* Paper page tabs are labels along the binding, rather than another grid of cards. */
#modal .field-journal-tabs button,#modal .garden-bag-tabs button{display:block!important;min-width:0;white-space:nowrap!important;background:transparent!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;box-shadow:none!important;text-wrap:nowrap}
#modal .field-journal-tabs button[aria-current=page],#modal .garden-bag-tabs button[aria-current=page]{border-bottom-color:#55774a!important;background:#f3eed8!important}
#modal .journal-source>summary{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;display:list-item!important;min-height:44px!important;font-size:12px!important}
.field-options-mark{font:23px/1 var(--sans);letter-spacing:1px;display:block;transform:translateY(-4px)}
#modal .bag-filters{padding:0;margin:0 0 12px;border:0;background:transparent}#modal .bag-filters>summary{font-size:14px;min-height:44px;padding:9px 0;border:0;background:transparent;color:#604e3b;box-shadow:none}.bag-filters[open]{border-bottom:1px solid #80684930!important;padding-bottom:8px!important}
#modal:has(.garden-bag-tabs) .chest-heading{margin:8px 0 10px}#modal:has(.garden-bag-tabs) .chest-heading h2{font-size:27px;margin:4px 0}.bag-filters .chest-browse{margin:0}
/* Keepsakes of a growing garden, kept inside the journal. */
.garden-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 10px}.garden-stats>div{border-bottom:1px solid #80684935;padding:12px 0}.garden-stats dt{font-size:12px;color:#604e3b}.garden-stats dd{margin:4px 0;font:32px var(--serif);color:#263c35}.garden-stats dd small{display:block;margin-top:2px;font:12px/1.3 var(--sans);color:#604e3b}.badge-shelf{margin-top:24px}.garden-badge{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:20px 0;border-top:1px solid #80684935}.badge-picture svg{width:64px;height:64px;opacity:.55}.badge-kept .badge-picture svg{opacity:1}.garden-badge h3{font:22px/1.2 var(--serif);margin:0 0 8px}.garden-badge p{margin:6px 0}.garden-badge progress{display:block;width:100%;height:8px;accent-color:#55774a;margin:12px 0 4px}.garden-badge small{font-size:12px;color:#604e3b}.garden-badge button{margin-top:12px;min-height:44px}.badge-collected{font-style:italic;color:#55774a!important}.feeder-fill{margin:12px 0;padding-top:8px;border-top:1px solid #80684935}.feeder-fill button{min-height:44px}
@media(max-width:450px){#modal .field-journal-tabs button{font-size:12px;padding:7px 4px}}
/* Four quiet places on a paper map; the chosen region has only a few gardens. */
.us-garden-map{position:relative;isolation:isolate;margin:18px 0 10px;width:100%;aspect-ratio:300/170}.us-garden-map>svg{display:block;width:100%;height:100%;border-radius:12px}.us-garden-map .map-region{position:absolute;display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:44px!important;min-width:72px;padding:3px 5px!important;border:0!important;box-shadow:none!important;border-radius:6px!important;background:transparent!important;color:#263c35!important;line-height:1.15}.map-region b{font:600 13px var(--sans)}.map-region small{font:10px var(--sans);white-space:nowrap}.map-region[aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}.map-region:focus-visible{outline:3px solid #806849;outline-offset:1px}.map-northwest{left:15%;top:18%}.map-northeast{right:12%;top:23%}.map-southwest{left:27%;bottom:18%}.map-southeast{right:17%;bottom:7%}.region-invitation{font-size:14px!important;line-height:1.6!important;margin:12px 0 20px}.map-search{border:0!important;padding:0!important;background:transparent!important;margin:8px 0 12px}.map-search>summary{min-height:44px;font-size:13px!important;padding:8px 0!important;border:0!important;background:transparent!important;box-shadow:none!important}.map-search[open] .collection-toolbar{margin-top:8px}
#modal:has(.us-garden-map) .area-list{gap:12px;margin-top:14px}#modal:has(.us-garden-map) .garden-postcard{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding:12px;background:transparent;border:1px solid #80684935;border-radius:10px}#modal:has(.us-garden-map) .area-thumbnail{width:88px;height:94px;min-height:94px;border-radius:8px;overflow:hidden}#modal:has(.us-garden-map) .area-thumbnail svg{width:100%;height:100%;object-fit:cover}#modal:has(.us-garden-map) .garden-postcard h3{font-size:22px;margin:0 0 4px}#modal:has(.us-garden-map) .garden-postcard small{font-size:11px;line-height:1.5}#modal:has(.us-garden-map) .garden-postcard-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}#modal:has(.us-garden-map) .garden-postcard-actions button{min-height:44px;font-size:12px;padding:6px 9px}#modal:has(.us-garden-map) .garden-availability{font-size:11px;padding:3px 0;background:none;border:0}#modal:has(.us-garden-map) .garden-postcard-details{grid-column:1/-1;margin:6px 0 0;padding:0;border:0;background:none}#modal:has(.us-garden-map) .garden-postcard-details>summary{font-size:12px;padding:6px 0;border:0;background:none;box-shadow:none}

/* Pond shaping keeps the garden visible and the shoreline preview unsaved. */
#pond-preview{position:absolute;inset:0;z-index:190;pointer-events:none}#pond-preview>svg{width:100%;height:100%;overflow:visible}.pond-invalid{filter:sepia(.5)}.pond-editing .bird-actor,.pond-editing .decoration{pointer-events:none!important}.pond-editor{max-width:min(600px,calc(100% - 24px));max-height:48%;overflow:auto}.pond-shape-controls{display:flex;gap:18px;flex-wrap:wrap}.pond-shape-controls label{display:flex;align-items:center;gap:8px;flex:1;min-width:130px}.pond-shape-controls input{width:100%;min-height:44px}#pond-status{font-size:13px;margin:4px 0 8px}.habitat-comfort{padding:12px 16px;background:#e5e7d1;border-radius:10px;margin:14px 0}.habitat-comfort h3{margin:0 0 5px}.habitat-comfort p{margin:0}

.badge-place-picker{display:grid;gap:7px;margin:10px 0 5px;font-size:14px}.badge-place-picker select,.badge-filters select,.badge-filters input{font:16px var(--sans);min-height:44px;padding:8px 10px;background:#fbf8e9;border:1px solid #b2ba93;border-radius:8px;width:100%}.badge-find{margin:18px 0}.badge-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.badge-filters label{display:grid;gap:6px;font-size:13px}.badge-filters label:last-child{grid-column:1/-1}.badge-shelf{display:grid;gap:12px}.garden-badge{padding:14px;border:1px solid #c9ccae;border-radius:12px;background:#f9f5e5}.garden-badge h3{font:19px/1.15 var(--serif);margin:0 0 8px}.garden-badge p{line-height:1.45}.garden-badge .badge-picture svg{width:64px;height:64px}.garden-badge.badge-kept{background:#e8ecd7}.badge-place-picker:focus-within{color:#3e5e45}

#badge-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}#badge-stats dt{font-size:11px;line-height:1.3}#badge-stats dd{font-size:22px;margin-top:4px}#badge-stats dd small{display:block;font:11px/1.3 var(--sans);color:#604e3b;margin-top:3px}#badge-stats>div{padding:7px 0}.badge-find{margin:8px 0}#badge-place-note{margin:7px 0;font-size:12px}@media(max-width:420px){#badge-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}}
/* Water belongs beside the garden, with a clear owned / purchase distinction. */
.pond-owned{display:flex;align-items:center;gap:12px;text-align:left}.pond-owned>span:first-child{width:100px;flex:none}.pond-owned small{display:block;font-weight:normal;margin-top:4px}.pond-owned svg,.pond-purchase svg{display:block;width:100%;height:64px;image-rendering:pixelated}.pond-purchase{padding:14px;border:1px solid #aab38c;border-radius:14px;margin:16px 0;background:#e5e7d1}.pond-purchase>span{display:block;max-width:240px;margin:auto}.pond-purchase h3{margin:4px 0}.pond-modes{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.pond-modes [aria-pressed=true]{background:#c3d0af;border-color:#5a7256}.pond-editor #pond-help{margin:4px 0}.season-pace{display:grid;gap:8px;margin:12px 0 20px}.season-pace select{font-size:16px;min-height:44px;width:100%}.season-pace p{margin:0}
/* Small quiet homes in the same scene as their real supports. */
#garden-nests{position:absolute;inset:0;pointer-events:none}.garden-nest{position:absolute;display:block;padding:0!important;border:0!important;background:transparent!important;min-width:0!important;min-height:0!important;transform:translate(-50%,-100%);pointer-events:auto;touch-action:pan-x;box-shadow:none!important}.garden-nest>img{display:block;width:100%;height:100%;object-fit:fill;image-rendering:pixelated;pointer-events:none}.garden-nest::before{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:max(100%,44px);height:max(100%,44px)}.garden-nest:focus-visible{outline:2px solid #f3eed8!important;outline-offset:3px}.editing-garden .garden-nest,.placing .garden-nest{pointer-events:none}.use-phaser #scene .garden-nest>img{opacity:0}.nest-reading-art{max-width:240px;margin:8px auto 16px;background:#e5e7d1;border-radius:16px;padding:14px}.nest-reading-art>img{display:block;width:100%;height:150px;object-fit:contain;image-rendering:pixelated}.nest-species{color:#55774a;margin-top:0}
.nest-canopy-reach{position:absolute;display:block;padding:0!important;border:0!important;background:transparent!important;min-width:0!important;min-height:0!important;box-shadow:none!important;touch-action:pan-x}.nest-canopy-reach::before{content:"";position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:max(100%,44px);height:max(100%,44px)}.nest-canopy-reach:focus-visible{outline:2px solid #f3eed8!important;outline-offset:4px}

/* Water tools keep their title in view and leave the shore beside the tray. */
.pond-editor{border:1px solid #a78a5e;border-radius:12px;background:#f3eed8;max-height:55%;padding:12px 14px}
.pond-editor #pond-title{display:block;font:700 20px/1.2 var(--serif);scroll-margin-top:12px;outline-offset:4px}
.pond-editor .pond-shape-controls{gap:12px}.pond-editor .pond-shape-controls label{font-size:13px}
.pond-editor input[type=range]{accent-color:#55774a}
.pond-editor .modal-actions{position:sticky;bottom:-12px;background:#f3eed8;padding:6px 0;gap:8px}
.pond-editor .pond-modes{margin:3px 0}.pond-editor #pond-help{font-size:12px;line-height:1.4}
#modal:has(#ponds-title) .pond-purchase[hidden]{display:none}
@media(max-height:500px){.pond-editor{max-height:calc(100% - var(--hud-top) - var(--hud-bottom) - 72px);width:min(470px,calc(100% - var(--hud-left) - var(--hud-right)))}.pond-editor #pond-title{font-size:18px}.pond-editor #pond-help{margin:3px 0}.pond-editor .pond-shape-controls input{min-height:36px}.pond-editor .pond-modes button{min-height:38px;padding:5px 9px}}
/* A focused water shelf puts its first pictured purchase within reach. */
#modal-content:has(.water-shop-browse) .shop-heading h2{font-size:23px;line-height:1.2;margin:4px 0}
#modal-content:has(.water-shop-browse) #shop-results{display:grid;grid-template-columns:1fr;gap:8px;margin:8px 0}
#modal-content:has(.water-shop-browse) #shop-results .shop-row:not(.shop-preview-item){display:grid;grid-template-columns:56px minmax(0,1fr);gap:6px 10px;align-items:center;padding:8px;min-height:104px}
#modal-content:has(.water-shop-browse) #shop-results .shop-row:not(.shop-preview-item) .shop-art{grid-row:1/3;grid-column:1;width:56px;height:64px}
#modal-content:has(.water-shop-browse) #shop-results .shop-row:not(.shop-preview-item) .shop-art svg{height:60px;max-width:56px}
#modal-content:has(.water-shop-browse) #shop-results .shop-row:not(.shop-preview-item) .shop-copy{grid-column:2;grid-row:1;text-align:left}
#modal-content:has(.water-shop-browse) #shop-results .shop-row:not(.shop-preview-item) .shop-copy h3{font-size:16px;margin:0 0 3px}
#modal-content:has(.water-shop-browse) #shop-results .shop-row:not(.shop-preview-item) .shop-actions{grid-column:2;grid-row:2;margin:0}
#modal-content:has(.water-shop-browse) #shop-search-count{margin:4px 0;font-size:12px}
#modal-content.shop-preview-open .water-shop-browse{display:none}
@media(max-height:500px){#modal-content:has(.water-shop-browse) #shop-results .shop-row:not(.shop-preview-item){grid-template-columns:48px minmax(0,1fr) auto;min-height:76px}#modal-content:has(.water-shop-browse) #shop-results .shop-row:not(.shop-preview-item) .shop-art{grid-row:1;width:48px;height:52px}#modal-content:has(.water-shop-browse) #shop-results .shop-row:not(.shop-preview-item) .shop-actions{grid-column:3;grid-row:1}#modal-content:has(.water-shop-browse) #shop-results .shop-row:not(.shop-preview-item) .shop-actions button{width:92px;padding:7px;font-size:12px}}

/* The Places map is a real state outline with a clear overview → region → garden flow. */
#modal-content:has(.us-garden-map) #explore-map{margin:12px 0 4px}.us-garden-map{position:relative;width:100%;aspect-ratio:var(--map-ratio,1.65);max-height:min(58vh,460px);isolation:isolate}.us-map-viewport{position:absolute;inset:0;overflow:hidden;border:1px solid #536d5945;border-radius:16px;background:#dbe7e2;box-shadow:0 8px 24px #23382b1c}.us-map-art{display:block;width:100%;height:100%;filter:drop-shadow(0 3px 2px #31493930)}.us-state{stroke:#f4f0df;stroke-width:2.5;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .25s ease}.is-overview .us-state{stroke-width:1.5}.map-region{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:78px!important;min-height:45px!important;padding:5px 9px!important;border:1px solid #5a6b4e90!important;border-radius:12px!important;background:#f5f0dceF!important;color:#263a31!important;box-shadow:0 2px 9px #1b302d30!important;line-height:1.1}.map-region b{font:700 13px var(--sans)}.map-region small{font:10px var(--sans);white-space:nowrap}.map-region:hover,.map-region:focus-visible{background:#fff9e9!important;transform:translate(-50%,-50%) scale(1.08)}.map-region[aria-pressed=true]{outline:3px solid #748a56}.map-region:focus-visible,.map-garden-pin:focus-visible,.map-back:focus-visible{outline:3px solid #806849;outline-offset:2px}.is-zoomed .us-map-viewport{animation:region-map-zoom .42s cubic-bezier(.2,.8,.25,1) both}.map-back{position:absolute;z-index:4;top:10px;left:10px;min-height:40px;padding:7px 12px;border:1px solid #465d4d66;border-radius:10px;background:#f8f2dd;color:#253b31;font:600 13px var(--sans);box-shadow:0 2px 7px #1b302d24}.map-zoom-label{position:absolute;z-index:3;right:12px;top:13px;padding:7px 10px;border-radius:10px;background:#f5f0dceb;color:#263a31;font:600 12px var(--sans)}.map-region-halo{display:none}.map-garden-pin{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex!important;align-items:center;gap:6px;width:max-content;max-width:min(56%,230px);min-height:46px!important;padding:4px 8px 4px 5px!important;border:1px solid #52684799!important;border-radius:24px!important;background:#fff9e9!important;color:#283d32!important;box-shadow:0 3px 10px #16271e42!important;text-align:left;line-height:1.1}.map-pin-dot{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#73925c;color:white;font-size:19px;box-shadow:inset 0 0 0 2px #fff8}.pin-locked .map-pin-dot{background:#928d79}.map-pin-label{display:flex;flex-direction:column;gap:3px;overflow:hidden}.map-pin-label b{font:700 11px var(--sans);white-space:normal}.map-pin-label small{font:10px var(--sans);opacity:.8}.map-garden-pin:hover{transform:translate(-50%,-50%) scale(1.06);background:#fffdf3!important}.region-invitation{margin:9px 0 15px!important;padding:8px 11px;border-left:3px solid #849668;border-radius:0 8px 8px 0;background:#e7ecde;color:#31483a;font-size:12px!important;line-height:1.45!important}.map-search{margin:10px 0 4px!important;padding:0 10px 8px!important;border:1px solid #62765c38!important;border-radius:12px!important;background:#f4f0df65!important}.map-search>summary{min-height:44px;padding:12px 2px!important;color:#31473a;font:600 13px var(--sans)}.map-search .search-row{margin-top:8px}.map-search .area-list{margin:10px 0}.map-search #explore-count{margin:8px 0}.map-search #explore-all-regions{margin:6px 0}@keyframes region-map-zoom{from{transform:scale(1.045);opacity:.7}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.is-zoomed .us-map-viewport{animation:none}.us-state{transition:none}}@media(max-width:480px){.map-region{min-width:70px!important;padding:5px 7px!important}.map-region b{font-size:12px}.map-region small{font-size:9px}.map-garden-pin{max-width:min(64%,190px);gap:4px;padding:4px 6px 4px 4px!important}.map-pin-dot{flex-basis:27px;width:27px;height:27px}.map-pin-label b{font-size:10px}.map-pin-label small{font-size:9px}}
/* Make the overview targets unmistakable against state fills (older map rules keep their specificity). */
.us-garden-map.is-overview .map-region{border:1px solid #5a6b4e90!important;border-radius:12px!important;background:#f5f0dcef!important;color:#263a31!important;box-shadow:0 2px 9px #1b302d30!important;padding:5px 9px!important;min-width:78px!important;min-height:45px!important}.us-garden-map.is-overview .map-region:hover,.us-garden-map.is-overview .map-region:focus-visible{background:#fff9e9!important;transform:translate(-50%,-50%) scale(1.08);text-decoration:none}.us-garden-map.is-overview .map-region small{font-size:10px!important}

/* One play surface, one calm reading space. */
.game-hud .field-kit{gap:2px;padding:3px 4px;background:#263c35e8;border-radius:10px}
.field-kit button{min-width:57px;min-height:50px;padding:2px 5px;font-size:11px;border-radius:7px}
.field-kit [data-menu-art]{height:27px}.field-kit .menu-illustration{width:36px;height:27px}
.field-kit .field-currency{min-width:44px;gap:0;font-size:12px;font-weight:700}.field-kit .field-currency .icon{width:17px;height:17px;color:#b7c994}.field-kit .field-currency b{font-size:12px;line-height:1.1}
#modal:has(#journal-known),#modal:has(.species-form-grid){width:min(620px,calc(100vw - 20px));height:min(720px,76svh);max-height:76svh;top:auto;bottom:10px;margin:0 auto;padding:16px 20px 24px;border:1px solid #a78a5e;border-left:6px solid #806849;border-radius:12px 16px 16px 12px;background:#f3eed8;box-shadow:0 8px 30px #14281f35}
#modal:has(#journal-known) h2,#modal:has(.species-form-grid) h2,#modal:has(.badge-place-browser) h2{font:29px/1.15 var(--serif);margin:9px 0 12px}
.guide-intro{font:15px/1.65 var(--serif);color:#405448}
#modal .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
#modal .journal-item{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:10px;text-align:left;padding:8px 10px;min-height:72px;border:1px solid #c7c6a7;border-radius:8px;background:#faf6e7}
#modal .journal-item .thumb{grid-row:1/3;width:56px;height:52px;margin:0;display:grid;place-items:center}
#modal .journal-item .thumb svg{max-width:54px;max-height:48px}
#modal .journal-item b{font:600 15px/1.2 var(--serif)}#modal .journal-item small{font-size:11px;line-height:1.3}
#modal .journal-item.species-known{border-left:4px solid #64834f}#modal .journal-item.species-unmet{border-left:4px solid #c8bea1}
.other-field-notes,.tagged-field-guide{margin:22px 0 8px;padding-top:14px;border-top:1px solid #80684935}
.other-field-notes h3,.tagged-field-guide h3,.badge-place-browser h3{font:20px var(--serif);margin:0 0 8px}
.other-field-notes .text-button{display:block;width:100%;text-align:left;font-size:14px}
.life-species-story{font:16px/1.65 var(--serif)}.species-life-status{display:inline-block;padding:5px 9px;border-radius:99px;background:#e8e1cd;color:#665b49;font-size:12px}.species-life-status.is-known{background:#e0e9d1;color:#405d38}
.life-species-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
.life-species-facts>div{padding:10px 12px;background:#eee8d4;border-left:3px solid #91aa72}
.life-species-facts dt{font:600 15px/1.3 var(--serif)}.life-species-facts dd{font-size:13px;line-height:1.5}
.guide-species-section{margin:20px 0;padding-top:14px;border-top:1px solid #80684935}.guide-species-section h3{font:21px var(--serif);margin:0 0 5px}.guide-section-note{font-size:13px;color:#5d6652}
.species-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px}.species-form-card{margin:0;min-width:0;padding:8px;text-align:center;background:#eee8d4;border:1px solid #c9c3a9;border-radius:8px}.species-form-card svg{width:100%;height:76px}.species-form-card figcaption{display:grid;gap:3px}.species-form-card figcaption b{font:15px var(--serif)}.species-form-card figcaption small{font-size:11px}.species-form-card.form-identified{border-color:#688556;background:#e5ebd8}.species-form-card.form-unseen svg{opacity:.55}
.species-behavior-list{display:grid;gap:7px;list-style:none;padding:0;margin:10px 0}.species-behavior{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#eee8d4;border-radius:8px}.species-behavior>span{display:grid;gap:3px}.species-behavior b{font:16px var(--serif)}.species-behavior small{font-size:12px;line-height:1.45}.species-behavior .notice-behavior{flex:0 0 auto;min-height:40px;padding:7px 10px;border:1px solid #aab28c;border-radius:7px;background:#f8f4e5;font-size:12px}.species-behavior .notice-behavior[aria-pressed=true]{background:#dce7ce;border-color:#688556}.behavior-life-list-hint{max-width:155px;text-align:right}
.species-guide-links{display:grid;gap:10px;margin:18px 0}.species-guide-links .source-link{font-size:13px}
.badge-place-browser{margin:16px 0}.badge-place-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:245px;overflow:auto;padding:2px}
.badge-place-card{min-height:42px;padding:8px 10px;text-align:left;border:1px solid #c9c3a9;border-radius:7px;background:#eee8d4;font:13px/1.25 var(--serif)}.badge-place-card[aria-current=true]{background:#dce7ce;border-color:#688556;box-shadow:inset 3px 0 #688556}
.badge-search-label{display:block;margin:14px 0 6px;font:17px var(--serif)}#badge-search{width:100%;min-height:44px;padding:8px 11px;border:1px solid #b2ba93;border-radius:7px;background:#faf6e7;font:16px var(--sans)}
@media(min-width:760px){#modal:has(#journal-known),#modal:has(.species-form-grid){left:auto;right:14px;top:14px;bottom:14px;margin:0;width:min(490px,46vw);height:calc(100svh - 28px);max-height:calc(100svh - 28px)}}
@media(max-width:420px){#modal .journal-grid{grid-template-columns:1fr}#modal:has(#journal-known),#modal:has(.species-form-grid){padding:14px 14px 22px}.life-species-facts{grid-template-columns:1fr 1fr;gap:6px}.life-species-facts>div{padding:9px}.life-species-facts dt{font-size:14px}.life-species-facts dd{font-size:12px}.species-behavior{align-items:flex-start;flex-direction:column}.behavior-life-list-hint{text-align:left}.badge-place-list{grid-template-columns:1fr 1fr}}

/* Map controls read as field markers, not another row of pill navigation. */
.us-garden-map.is-overview .map-region{border-radius:3px!important}
.map-garden-pin{border-radius:5px!important;box-shadow:0 1px 4px #16271e2b!important}
.map-pin-dot{border-radius:4px;box-shadow:none}
.map-back,.map-zoom-label{border-radius:3px}

/* The field guide, chest and badge cabinet are calm full-screen reading spaces. */
#modal:has(#journal-known),#modal:has(#inventory-results),#modal:has(.badge-book),#modal:has(.species-form-grid){inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:100dvh!important;margin:0!important;padding:env(safe-area-inset-top) max(18px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(18px,env(safe-area-inset-left))!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:auto;overscroll-behavior:contain;scrollbar-color:#688556 #eee8d4}
#modal:has(#journal-known)::backdrop,#modal:has(#inventory-results)::backdrop,#modal:has(.badge-book)::backdrop,#modal:has(.species-form-grid)::backdrop{background:#263c35}
#modal:has(#journal-known) .modal-header,#modal:has(#inventory-results) .modal-header,#modal:has(.badge-book) .modal-header,#modal:has(.species-form-grid) .modal-header{top:calc(-1 * env(safe-area-inset-top));margin:0 -18px 18px;padding:8px max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left));background:#f3eed8;border-bottom:1px solid #c9c3a9}
#modal:has(#journal-known) .journal-book{max-width:1120px;margin:0 auto 48px;padding:0 16px 28px;background:linear-gradient(90deg,#eee8d4 0,#fbf8e9 3%,#fbf8e9 97%,#eee8d4 100%)}
.journal-page-frame{padding:12px 14px 8px;border:1px solid #c9c3a9;background:#faf6e7;box-shadow:inset 0 0 24px #80684912}.journal-page-turn{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 4px;padding-top:10px;border-top:1px solid #c9c3a9}.journal-page-turn [disabled]{opacity:.35}.journal-page-arrow{width:48px;height:44px;border:1px solid #806849;background:#f3eed8;font:22px var(--serif)}.tagged-field-guide .journal-page-turn{margin-top:4px}
#modal:has(#inventory-results) .inventory-heading{display:flex;align-items:center;gap:14px;margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid #806849}.chest-heading h2{margin:0}.inventory-filter-toggle{display:grid;grid-template-columns:24px auto 1fr;align-items:center;gap:7px;width:max-content;max-width:100%;min-height:44px;margin:4px 0 12px;padding:5px 10px;border:1px solid #806849;background:#eee8d4;text-align:left}.inventory-filter-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.inventory-filter-toggle small{padding-left:8px;border-left:1px solid #c9c3a9;color:#5d6652}.inventory-filter-drawer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;align-items:end;margin:0 0 14px;padding:12px;border:1px solid #c9c3a9;background:#eee8d4}.inventory-filter-drawer[hidden]{display:none!important}.inventory-filter-drawer label{display:grid;gap:4px;font-size:12px}.inventory-filter-drawer select,.inventory-filter-drawer input{min-width:0;width:100%;min-height:42px;padding:7px;border:1px solid #806849;background:#fbf8e9;font:14px var(--sans)}.inventory-filter-drawer .inventory-search-label{grid-column:1/-1}.inventory-filter-drawer .text-button{padding:3px 0}.chest-shelf-heading{display:flex;align-items:baseline;gap:8px;margin:22px 0 5px;padding-bottom:5px;border-bottom:1px solid #c9c3a9}.chest-shelf-heading h3{margin:0;font:18px var(--serif)}.chest-shelf-heading span{font-size:12px;color:#5d6652}.chest-compartment{margin:0 0 18px}.chest-grid{gap:8px}.inventory-copy{border:1px solid #c9c3a9;background:#faf6e7}.item-unavailable{opacity:.43;filter:grayscale(.6)}.item-unavailable .owned-location{color:#604e3b}.inventory-tools>summary{font-size:13px!important}
#modal:has(.badge-book) .badge-book{max-width:1120px;margin:0 auto 48px;padding:4px 18px 30px}.badge-book>section{margin:22px 0}.badge-zoom{display:inline-flex;align-items:center;gap:8px;min-height:42px;margin:4px 0;padding:6px 10px;border:1px solid #806849;background:#eee8d4;font:14px var(--serif)}.badge-zoom span{font-size:22px}.badge-book #badge-search{max-width:420px;border-radius:0}.badge-section-title{margin:20px 0 4px;padding-bottom:6px;border-bottom:2px solid #806849;font:21px var(--serif)}.badge-scope-section{margin:18px 0}.badge-scope-section>h4{margin:0 0 5px;padding:0 0 5px;border-bottom:1px solid #c9c3a9;font:16px var(--serif);color:#5d6652}.badge-scope-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:10px}.badge-book .garden-badge{grid-template-columns:78px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border:1px solid #c9c3a9;border-radius:0;background:#faf6e7}.badge-book .garden-badge h4{margin:0;font:18px var(--serif)}.badge-book .badge-picture svg{width:68px;height:78px;opacity:.5}.badge-book .badge-kept .badge-picture svg{opacity:1;filter:drop-shadow(1px 2px 1px #263c3540)}.badge-book .badge-collect{border-radius:0;padding:7px 10px;min-height:40px}.badge-book .garden-stats{gap:8px;margin:8px 0}.badge-book .garden-stats>div{padding:6px 0}.badge-book .garden-stats dd{font-size:27px}.badge-keepsakes{margin-top:30px!important;padding-top:14px;border-top:5px double #806849}.badge-keepsakes>.source-note{margin:4px 0}
#game-menu #field-badges{border-top:1px solid #c9c3a9;border-bottom:1px solid #c9c3a9}
dialog button:not(.round),dialog .journal-item,dialog .garden-badge,dialog .inventory-copy,.badge-place-card,.species-form-card,.species-behavior,.species-behavior .notice-behavior{border-radius:0!important}
@media(max-width:600px){#modal:has(#journal-known),#modal:has(#inventory-results),#modal:has(.badge-book),#modal:has(.species-form-grid){padding-right:max(12px,env(safe-area-inset-right))!important;padding-left:max(12px,env(safe-area-inset-left))!important}#modal:has(#journal-known) .journal-book,#modal:has(.badge-book) .badge-book{padding-right:4px;padding-left:4px}.inventory-filter-drawer{grid-template-columns:1fr 1fr}.inventory-filter-toggle{width:100%}.badge-scope-cards{grid-template-columns:1fr}.badge-book .garden-badge{grid-template-columns:66px minmax(0,1fr)}.badge-book .badge-picture svg{width:60px;height:72px}}
#arrange-panel{display:flex;align-items:center;gap:16px}#arrange-panel>div:first-child{flex:1;min-width:0}#arrange-panel .arrange-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}#arrange-panel .arrange-tool{display:grid;place-items:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;border:1px solid #9a8867;background:#eee8d4;color:#263c35}#arrange-panel .arrange-tool:hover,#arrange-panel .arrange-tool:focus-visible{background:#d9e1ba}#arrange-panel .arrange-tool svg{width:24px;height:24px;stroke-width:1.8}#arrange-panel .arrange-done{border-color:#3e5e45;background:#3e5e45;color:#f3eed8}#arrange-panel #arrange-ponds[hidden]{display:none}
.inventory-availability-heading{margin:20px 0 6px;padding:8px 0 5px;border-bottom:2px solid #688556;color:#3e5e45;font:600 12px var(--sans);letter-spacing:.04em;text-transform:uppercase}.inventory-availability-heading.unavailable{margin-top:28px;border-color:#c9c3a9;color:#6e675c}
.inventory-section-note{margin:0 0 8px;color:#5d6652;font-size:13px}
@media(max-width:600px){#arrange-panel{align-items:center;gap:10px;padding:9px}#arrange-panel>div:first-child{flex:1}#arrange-panel .arrange-actions{gap:4px}#arrange-panel .arrange-tool{width:42px;min-width:42px;height:44px;min-height:44px}#arrange-panel .arrange-tool svg{width:21px;height:21px}}

/* Menu reading uses named sections and pages, never collapsible disclosures. */
:is(dialog,.game-menu) .menu-section{display:block;margin:12px 0;padding:10px 0;border-top:1px solid #b7c994;clear:both}
:is(dialog,.game-menu) .menu-section-heading{display:block;margin:0 0 7px;padding:0;border:0;background:none;color:#263c35;font:600 18px/1.35 var(--serif);cursor:default}
:is(dialog,.game-menu) .menu-section>.menu-section{margin:10px 0;padding:9px 12px;background:#e8ead7;border:0}
:is(dialog,.game-menu) .menu-section>.menu-section>.menu-section-heading{font-size:16px}
:is(dialog,.game-menu) .panel-filters{margin:10px 0;padding:0;border:0;background:transparent}
:is(dialog,.game-menu) .panel-filters>.menu-section-heading{font:600 14px/1.4 var(--sans);margin:0 0 7px}
:is(dialog,.game-menu) .shop-item-details>.menu-section-heading{font:600 16px/1.4 var(--serif);margin:8px 0}
:is(dialog,.game-menu) .garden-postcard-details>.menu-section-heading{font-size:16px;margin:8px 0 4px}
:is(dialog,.game-menu) .identification-clues>.menu-section-heading{font:600 16px/1.4 var(--serif);margin:10px 0}
:is(dialog,.game-menu) .collection-toolbar>.menu-section{grid-column:1/-1;min-width:0;margin:0;padding:8px 0;border:0;background:none}
:is(dialog,.game-menu) .collection-toolbar>.menu-section>.menu-section-heading{display:none}
:is(dialog,.game-menu) .settings-connections,.settings-about{margin-top:16px}
.gameplay-heading{gap:8px;margin:4px 0 10px}
.gameplay-heading>span{flex:0 0 20px;width:20px;height:20px;line-height:0}
.gameplay-heading .menu-illustration{width:20px;height:20px}
.gameplay-heading h2{margin:0;font-size:25px}
.gameplay-tabs button.is-selected,.gameplay-tabs button.is-selected:hover{background:#3e5e45!important;color:#f3eed8!important;border:2px solid #263c35!important;box-shadow:inset 0 -3px 0 #d9e1ba}
.gameplay-tabs button:not(.is-selected){background:#f3eed8;color:#263c35}

.bird-actor{min-width:68px;min-height:68px}.bird-actor.tree-clinging{min-width:82px;min-height:82px}.bird-actor.tree-clinging .bird-scale{transform:scaleX(var(--facing,1))}.bird-actor .bird-scale{flex:0 0 auto}@media(min-width:1000px){.bird-actor{min-width:80px;min-height:80px;transform:translate(-50%,-50%)}.bird-actor.tree-clinging{min-width:92px;min-height:92px}.bird-actor.tree-clinging .bird-scale{transform:scaleX(var(--facing,1))}}
.settings-about .build-meta{margin:16px 0 0;padding-top:10px;border-top:1px solid #b7c994;font-size:12px;color:var(--muted)}

/* Compact shop controls and direct purchase actions. */
#modal-content #shop-browse{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:0;border:0;background:transparent}
#modal-content .shop-category-tabs{display:flex;align-items:center;gap:6px;min-width:0}
#modal-content .shop-category-tab,#modal-content .shop-region-toggle{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c8bea1;border-radius:12px;background:#f6f0df;font-size:22px;color:var(--ink)}
#modal-content .shop-category-tab[aria-pressed="true"]{background:#3e5e45;color:#f3eed8;border-color:#263c35}
#modal-content .shop-region-options{display:flex;align-items:center;gap:8px}
#modal-content .shop-region-toggle{font-size:20px}
#modal-content .shop-region-toggle[aria-expanded="true"]{background:#e5e8d3}
#modal-content .shop-region-choice{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #c8bea1;border-radius:10px;background:#f6f0df;font-size:12px}
#modal-content .shop-region-choice[hidden]{display:none}
#shop-results .shop-row:not(.shop-preview-item) .shop-actions{display:flex;align-items:center;gap:6px;margin:0}
#shop-results .shop-row:not(.shop-preview-item) .shop-actions .shop-buy{flex:1;min-width:0}
#shop-results .shop-row:not(.shop-preview-item) .shop-actions .shop-info{flex:0 0 42px;width:42px;min-width:42px;height:42px;padding:0;font-size:19px}
.item-detail-section{margin:18px 0;padding-top:14px;border-top:1px solid #c8bea1}
.item-detail-section>h3{margin:0 0 8px;font:600 20px/1.2 var(--serif)}
.item-detail-section>p{margin:6px 0 10px;line-height:1.5}
.item-owned-total{font-weight:650}
.item-copy-list,.region-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}
.item-copy-card,.region-support-card{display:flex;flex-direction:column;gap:4px;min-height:60px;padding:10px 12px;border:1px solid #c8bea1;border-radius:12px;background:#f6f0df;text-align:left}
.item-copy-card small,.region-support-card small{font-size:11px;line-height:1.35;color:var(--muted)}
.region-support-card[aria-pressed="true"]{border-color:#3e5e45;background:#e5e8d3;box-shadow:inset 0 0 0 1px #3e5e45}
.item-detail-section .tag-row{margin:8px 0}
@media(max-width:480px){#modal-content .shop-category-tabs{gap:4px}#modal-content .shop-category-tab,#modal-content .shop-region-toggle{width:38px;height:38px}.item-copy-list,.region-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
#modal-content .shop-region-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}

/* Live birds hold a settled frame between trips; roosts stay completely still. */
.bird-actor:not(.bird-moving) *,.bird-actor.bird-roosting *{animation:none!important}
.garden-sprite-png{display:block;max-width:100%;max-height:100%;object-fit:contain;image-rendering:auto}
.shop-art .garden-sprite-png,.purchase-art .garden-sprite-png,.thumb .garden-sprite-png,.visitor-art .garden-sprite-png,.inventory-thumb .garden-sprite-png{width:100%;height:100%}
.decoration .garden-sprite-png,.placement-ghost .garden-sprite-png{width:100%;height:100%;object-fit:fill}
.mirrored-tree{transform:scaleX(-1)}
.use-phaser #decorations .garden-sprite-png{visibility:hidden}

/* A first encounter is a small visual reveal; later visits are clearly marked as familiar. */
.species-reveal-status{display:block;width:max-content;max-width:100%;margin:8px auto 10px;padding:6px 12px;border:1px solid #9f7131;border-radius:999px;background:#f6e5a7;color:#403018;font-size:13px;font-weight:750;text-align:center}
.species-reveal-status.already{border-color:#71836a;background:#e4e9d5;color:#334537}
.new-bird-reveal .modal-bird{transform-origin:center 70%;animation:new-bird-reveal 520ms cubic-bezier(.2,.8,.25,1) both}
@keyframes new-bird-reveal{0%{opacity:0;transform:scale(.42) rotate(-7deg);filter:brightness(1.7)}65%{opacity:1;transform:scale(1.08) rotate(2deg);filter:brightness(1.15)}100%{opacity:1;transform:scale(1) rotate(0);filter:none}}
@media(prefers-reduced-motion:reduce){.new-bird-reveal .modal-bird{animation:none}}
