@charset "UTF-8";
:root{--paper:#f7f5eb;--paper2:#eeecdf;--ink:#354c3c;--muted:#8b9280;--green:#587950;--green-dark:#3f6040;--line:#dedfd0;--ochre:#c7a16c;--serif:"STSong","Noto Serif CJK SC","Songti SC","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button{color:inherit}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #adba7e;outline-offset:5px}button{border:0;background:none}svg{display:block}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.paper-grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{max-width:1500px;height:108px;margin:auto;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand>svg{width:40px}.brand>span{font-family:var(--serif);font-size:24px;letter-spacing:3px;font-weight:600;line-height:1.35}.brand small{display:block;font-family:Georgia,serif;font-size:7.5px;letter-spacing:1.65px;margin-top:6px;font-weight:400;color:#8e947f}nav{display:flex;gap:40px;align-self:stretch;align-items:center}nav button{font-size:13px;color:#8b927f;position:relative;height:100%;padding:0 2px;white-space:nowrap}nav .nav-active{color:var(--green-dark)}nav .nav-active:after{content:"";position:absolute;bottom:0;left:50%;width:16px;height:3px;background:#70895a;transform:translateX(-50%);border-radius:3px}.top-actions{display:flex;gap:18px;align-items:center}.spring-label{font-size:11px;color:#9ba08b;letter-spacing:1px;white-space:nowrap;display:flex;align-items:center;gap:8px}.spring-label i,.live-dot{width:5px;height:5px;background:#97a973;border-radius:50%;display:inline-block}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dfe1d2;border-radius:50%;color:#7c8a70;background:#faf9f1}.icon-button svg{width:17px;height:17px}.help-char{font-family:Georgia,serif;font-size:16px}main{max-width:1500px;margin:auto;padding:0 5.5%}.hero{min-height:540px;display:grid;grid-template-columns:41% 59%;position:relative;padding-top:36px;gap:0;align-items:center}.hero-copy{padding:10px 0 0;z-index:2}.eyebrow{font-family:var(--sans);font-size:9px;letter-spacing:2.5px;color:#92997e;font-weight:500;display:flex;align-items:center;gap:10px}.hero-copy>.eyebrow{font-size:10px;letter-spacing:2px}.little-line{height:1px;width:26px;display:inline-block;background:#9ba382}h1{font-size:clamp(32px,3vw,48px);line-height:1.55;letter-spacing:1px;margin:19px 0 21px;font-weight:500;white-space:nowrap}h1 span{color:#7a8f5d;position:relative}h1 span:after{content:"";position:absolute;left:2px;right:0;bottom:-7px;height:7px;border-top:1.5px solid #b2bb93;border-radius:50%;transform:rotate(-2deg)}.hero-description{font-size:12px;color:#8c9382;line-height:2.1;letter-spacing:.7px}.hero-buttons{display:flex;align-items:center;gap:26px;margin-top:28px}.primary-button{background:var(--green);color:#fffdf5;min-height:46px;padding:12px 23px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:7px;box-shadow:0 6px 12px #435d3610;font-size:12px;letter-spacing:.8px;transition:background .2s,box-shadow .2s}.primary-button:hover{background:#456a43;box-shadow:0 7px 16px #435d3623}.arrow{font-size:18px;margin-left:14px;font-family:Georgia,serif}.text-button{font-size:11px;color:#828c75;display:inline-flex;align-items:center;gap:10px;padding:6px 0;white-space:nowrap}.text-button:hover{color:#395c3a}.text-button>span{font-size:16px}.button-leaf svg{width:15px;height:15px}.progress-summary{display:flex;gap:12px;width:290px;margin-top:35px;align-items:center}.progress-summary>div:nth-child(2){flex:1}.progress-leaf{width:34px;height:34px;border-radius:50%;background:#edf0e2;display:grid;place-items:center}.progress-leaf svg{width:19px}.progress-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.5px;color:#858d76}.progress-heading b{font-family:Georgia,serif;font-size:11px;font-weight:400;color:#6f835b}.progress-track{height:4px;background:#e5e7d8;margin:8px 0 4px;border-radius:10px;overflow:hidden}.progress-track>div{height:100%;width:0;background:#91a875;border-radius:10px;transition:width .8s}.progress-summary small{font-size:9px;color:#a1a58e}.handwritten{margin-top:24px;margin-left:20px;font-family:var(--serif);font-size:12px;color:#a3a38b;letter-spacing:2px;display:flex;align-items:center;gap:5px;transform:rotate(-3deg)}.handwritten svg{width:67px}.garden-frame{position:relative;min-width:0;height:485px;background:radial-gradient(ellipse at 50% 45%,#e7ebd9 0%,#e9eddf80 42%,#f7f5eb00 75%);margin-left:-24px}.garden-scene{position:absolute;inset:0;display:grid;place-items:center}.garden-scene>svg{width:110%;max-height:100%;margin-left:-6%;overflow:visible}.scene-corner{position:absolute;z-index:2;left:6%;top:18px;font-size:10px;display:flex;align-items:center;gap:7px;background:#f9f8f1ca;border:1px solid #e3e6d6;padding:7px 13px;border-radius:20px;color:#899378;letter-spacing:1px}.scene-note{position:absolute;z-index:2;bottom:30px;left:16%;display:flex;align-items:center;gap:12px;padding:12px 18px;background:#faf9f0e6;border:1px solid #e1e5d5;border-radius:8px;transform:rotate(-2deg);box-shadow:0 8px 24px #415a3610}.scene-note>span{font:italic 25px Georgia,serif;color:#b9bc9e;border-right:1px solid #e3e5d8;padding-right:12px}.scene-note>div{font:13px var(--serif);letter-spacing:1px}.scene-note small{font:9px var(--sans);color:#a4aa94;display:block;margin-top:5px;letter-spacing:.5px}.scene-stamp{position:absolute;right:1%;bottom:65px;border:1px solid #b5b898;border-radius:5px;width:37px;height:52px;color:#9ba17d;font:25px var(--serif);display:grid;place-items:center;transform:rotate(5deg);opacity:.8}.scene-stamp small{font:5px Georgia;letter-spacing:1px;margin-top:-9px}.journey{padding:23px 0 30px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:21px}.section-heading h2{font-size:23px;letter-spacing:1px;margin-top:6px;display:flex;align-items:center;gap:12px}.section-heading>span{font-size:10px;color:#9a9f89;letter-spacing:.5px}.tiny-sprout svg{width:23px;height:23px}.level-list{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}.level-card{position:relative;text-align:left;padding:0;border:1px solid #dee1d1;border-radius:9px;background:#faf9f1;overflow:hidden;transition:transform .2s,box-shadow .2s;min-width:0}.level-card:hover:not(:disabled){transform:translateY(-5px);box-shadow:0 8px 16px #465a2910}.level-card.current{border-color:#9cae83;box-shadow:0 0 0 2px #dfe5cc99}.level-art{height:92px;background:#edf0e2;position:relative;display:grid;place-items:center;overflow:hidden}.level-art>svg{width:86px;height:86px;opacity:.9}.level-number{position:absolute;left:10px;top:7px;font:italic 12px Georgia,serif;color:#899775}.level-status{position:absolute;right:8px;top:9px;width:16px}.level-status svg{width:13px;height:13px}.level-info{padding:12px 10px 10px}.level-info h3{font:12px var(--serif);letter-spacing:.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.level-info small{font-size:8px;display:block;color:#a3a690;letter-spacing:.5px;margin-top:4px}.level-card.locked{opacity:.56}.level-card.locked .level-art{filter:saturate(.55)}.flower-rating{display:flex;gap:4px;margin-top:8px;height:11px}.flower-rating svg{width:10px;height:10px}.current-ribbon{position:absolute;right:0;bottom:0;background:#7d9269;color:white;font-size:7px;padding:2px 7px;border-top-left-radius:5px;letter-spacing:.4px}.bottom-note{display:flex;gap:15px;align-items:center;margin:3px 0 27px;padding:19px 23px;background:#eeeee1;border-radius:8px;border:1px solid #e2e4d2}.note-icon svg{width:25px;height:25px}.bottom-note p{font-family:var(--serif);font-size:12px;letter-spacing:.8px}.bottom-note p span{font:10px var(--sans);color:#969e86;margin-left:20px;letter-spacing:.2px}.bottom-note>.text-button{margin-left:auto}footer{max-width:1500px;padding:20px 5.5% 25px;border-top:1px solid var(--line);margin:auto;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#a6aa97}footer>span:nth-child(2){font-family:var(--serif);font-size:11px;letter-spacing:3px}.play-view{min-height:calc(100vh - 109px);padding:22px 5% 45px;max-width:1500px;margin:auto}.play-header{display:flex;justify-content:space-between;align-items:center;margin:0 0 30px}.play-header>div{text-align:center}.play-header .eyebrow{justify-content:center;font-size:8px}.play-header h2{font-size:25px;letter-spacing:2px;margin-top:5px}.play-layout{display:grid;grid-template-columns:minmax(160px,1fr) minmax(350px,500px) minmax(180px,1fr);gap:5%;align-items:center;max-width:1170px;margin:auto}.mission-panel{align-self:start;padding-top:48px}.mission-panel h3{font-size:21px;letter-spacing:1px;margin:12px 0 15px}.mission-panel>p{font-size:11px;color:#949b84;line-height:2.1;max-width:215px}.mission-targets{display:flex;gap:10px;padding:20px 0 22px;border-bottom:1px solid var(--line);margin-bottom:20px}.target-plant{display:flex;align-items:center;gap:8px;font-size:10px;color:#9ba38b}.target-plant svg{width:35px;height:35px}.target-plant.reached{color:#5e7e50}.target-plant.reached:after{content:"✓";color:#6d9253}.mission-rule{display:flex;gap:11px;color:#969e88;align-items:flex-start}.mission-rule .note-icon svg{width:20px;height:20px}.mission-rule p{font-size:10px;line-height:2}.mission-quote{font:14px/2.2 var(--serif);letter-spacing:2px;color:#b0b49c;transform:rotate(-3deg);margin:45px 0 0 13px}.board-topline{display:flex;justify-content:space-between;font-size:10px;color:#9ca48a;margin:0 5px 10px}.board-topline>span:first-child{display:flex;align-items:center;gap:7px}.board-topline i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8fa26c}.board-frame{position:relative;background:#d8ccb1;padding:13px;border-radius:15px;border:1px solid #cec2a5;box-shadow:0 9px 0 #bcb49c,0 12px 1px #d5cbb7,0 20px 35px #7b80621a}.puzzle-board{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;aspect-ratio:1;border-radius:6px;overflow:hidden;background:#c6bda1}.tile{border-radius:7px;padding:0;position:relative;background:#eee8d4;box-shadow:inset 0 -3px 0 #e0d6b9,inset 0 1px 0 #ffffff80;transition:background .2s;aspect-ratio:1;display:grid;place-items:center}.tile>svg{width:100%;height:100%;overflow:visible}.tile:hover:not(:disabled){background:#f8f0d7;box-shadow:inset 0 0 0 2px #a0b27f}.tile:disabled{opacity:1}.tile.rock{background:#d9d7bd;box-shadow:inset 0 -3px 0 #c9c8ac}.tile.empty{background:#e3e3c9}.tile.source{background:#dbe3ce}.tile.target{background:#e5e9ce}.tile.hinted{animation:hintPulse 1.2s ease-in-out infinite;z-index:1}.tile.fixed .pin{fill:#aca68a}.tile .plant-marker{position:absolute;right:0;bottom:0;width:43%;height:43%;filter:drop-shadow(0 1px 0 #fff8)}.tile .plant-marker svg{width:100%;height:100%}.tile .well-marker{position:absolute;top:3px;left:3px;width:22%;height:22%;color:#6b9da7}.tile .well-marker svg{width:100%;height:100%}.water-source-label{position:absolute;left:-49px;top:calc(var(--source-row,2) * 18.7% + 8%);font-size:9px;color:#9fae95;writing-mode:horizontal-tb}.board-caption{text-align:center;min-height:23px;margin-top:22px;font-size:10px;color:#8f987f;letter-spacing:.5px}.board-controls{display:flex;gap:12px;justify-content:center;margin-top:13px}.board-controls .primary-button{min-width:160px}.secondary-button{border:1px solid #d6dcc7;border-radius:7px;background:#f9f8ef;padding:12px 18px;font-size:11px;color:#879274;min-height:46px}.secondary-button:hover{background:#eeefdf}.drop-icon svg{width:17px;height:17px}.play-sidebar{align-self:start;padding-top:29px}.next-repair{border:1px solid #dfe3d2;border-radius:9px;background:#f0f1e5;padding:0 17px 17px;overflow:hidden}.small-scene{height:150px;margin:0 -16px -5px;overflow:hidden;display:grid;place-items:center;background:#e9eddd}.small-scene svg{width:100%;height:180px;margin-top:-13px}.next-repair .eyebrow{font-size:6px;letter-spacing:1.5px;margin-top:12px}.next-repair h3{font-size:15px;margin:7px 0 8px}.next-repair p{font-size:9px;color:#99a188;line-height:1.9}.play-stats{display:flex;padding:22px 0;border-bottom:1px solid var(--line);gap:20px}.play-stats>div{flex:1}.play-stats>div+div{border-left:1px solid var(--line);padding-left:20px}.play-stats span{display:block;font-size:9px;color:#9ba38b}.play-stats b{font:30px Georgia,serif;color:#6c815b;display:block;line-height:1.3;margin-top:4px}.hint-button{display:flex;align-items:center;text-align:left;gap:10px;padding:20px 0 8px;width:100%;font-size:10px;color:#788b65}.hint-button>span:last-child{margin-left:auto;font-size:17px}.hint-button small{display:block;font-size:8px;color:#a7ad96;margin-top:4px}.bulb-icon svg{width:21px;height:21px}.hint-disclosure{font-size:8px;color:#b0b59e;line-height:1.9}.dialog{border:1px solid #e1e4d4;border-radius:15px;background:#faf9ef;color:var(--ink);box-shadow:0 30px 80px #273d2b26;padding:39px;width:min(690px,calc(100vw - 32px));max-height:90vh;overflow:auto}.dialog::backdrop{background:#3f503b80;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:17px;top:10px;font:26px Georgia,serif;color:#939d85}.dialog h2{font-size:28px;letter-spacing:1px;margin:12px 0}.dialog-intro{font-size:11px;line-height:1.9;color:#959d87}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0}.guide-steps b{font:italic 29px Georgia;color:#bcc5a5}.guide-steps h3{font-size:17px;margin:10px 0}.guide-steps p{font-size:11px;color:#8b967c;line-height:1.9}.guide-footer{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:14px}.guide-footer>span{font-size:9px;color:#a4ac95}.journal-entries{margin:26px 0}.journal-entry{display:flex;gap:20px;padding:19px 0;border-top:1px solid var(--line)}.journal-entry>span{font:italic 28px Georgia,serif;color:#a6b294}.journal-entry h3{font-size:17px;margin-bottom:6px}.journal-entry p{font-size:11px;color:#929d84;line-height:1.9}.journal-entry.locked{opacity:.5}.journal-entry small{font-size:8px;color:#9eaa8b;display:block;margin-top:8px}.journal-footer{border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;gap:12px;align-items:center}.journal-footer>span{font-size:8px;color:#a2aa93}.danger-text{color:#ab947c;font-size:9px}.success-dialog{text-align:center;width:min(500px,calc(100vw - 32px));padding:28px 35px}.success-dialog .eyebrow{justify-content:center;font-size:7px;letter-spacing:1.7px}.success-dialog h2{font-size:25px}.success-illustration{height:115px;display:flex;justify-content:center}.success-illustration svg{height:115px;width:115px;animation:bloom .7s ease}.success-stars{display:flex;justify-content:center;gap:13px;margin:17px}.success-stars svg{width:28px;height:28px}.success-dialog>p{font-size:11px;color:#9aa389;line-height:2}.milestone-note{margin:20px 0;background:#edf0df;border-radius:7px;padding:13px;font-size:11px;color:#7c9164;line-height:1.9}.milestone-note:empty{display:none}.success-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin:22px 0 0}.success-actions .primary-button{min-width:230px}.reset-dialog{width:min(500px,calc(100vw - 32px))}.reset-dialog p{font-size:12px;color:#949d86;line-height:2}.reset-actions{display:flex;justify-content:space-between;gap:12px;margin-top:25px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#425d40;color:#fffdf0;font-size:11px;padding:12px 21px;border-radius:8px;z-index:200;transition:opacity .3s,transform .3s;box-shadow:0 5px 20px #425d4022;max-width:90vw;text-align:center}.toast.show{transform:translate(-50%,0);opacity:1}.wet-water{stroke-dasharray:3 9;animation:waterRun 1.1s linear infinite}.confetti-petal{position:fixed;width:8px;height:12px;background:#e5b8a3;border-radius:80% 10% 70% 20%;pointer-events:none;animation:petalDrop 1.6s ease-in forwards;z-index:105}.scene-sway{transform-box:fill-box;transform-origin:bottom center;animation:sway 5s ease-in-out infinite alternate}@keyframes waterRun{to{stroke-dashoffset:-24}}@keyframes hintPulse{50%{box-shadow:inset 0 0 0 3px #f5c56e,0 0 15px #e6b46770}}@keyframes bloom{from{opacity:0;transform:translateY(10px) scale(.8)}to{opacity:1;transform:none}}@keyframes petalDrop{to{transform:translate(var(--drift),65vh) rotate(260deg);opacity:0}}@keyframes sway{from{transform:rotate(-1deg)}to{transform:rotate(1deg)}}
@media(min-width:1600px){.hero{min-height:600px}.garden-frame{height:535px}.level-art{height:105px}main,.topbar,footer{max-width:1600px}.hero-copy{padding-top:0}.journey{padding-top:28px}}
@media(max-width:1100px){.topbar{padding:0 4%;height:94px}main{padding:0 4%}nav{gap:24px}.top-actions{gap:10px}.spring-label{display:none}.hero{grid-template-columns:42% 58%;min-height:490px;padding-top:24px}.garden-frame{height:440px}.hero-copy>.eyebrow{font-size:8px}h1{font-size:34px;letter-spacing:0}.hero-description{font-size:10px}.hero-buttons{gap:16px}.primary-button{padding:12px 16px}.level-list{gap:8px}.level-art{height:77px}.level-info{padding:10px 7px}.level-info h3{font-size:11px}.level-info small{font-size:7px}.bottom-note p span{display:none}.play-view{padding:20px 4% 35px}.play-layout{gap:4%;grid-template-columns:160px minmax(310px,450px) 180px}.mission-panel h3{font-size:18px}.mission-panel>p{font-size:10px}.mission-quote{font-size:11px;margin-left:0}.small-scene{height:120px}.small-scene svg{height:150px}.next-repair{padding:0 12px 12px}.next-repair h3{font-size:13px}.water-source-label{display:none}.board-frame{padding:10px}.puzzle-board{gap:4px}.hero-buttons .text-button{font-size:9px}}
@media(max-width:820px){.topbar{height:82px;padding:0 5%}.brand>span{font-size:21px}.brand>svg{width:33px}.brand small{font-size:6px}nav{gap:22px}nav button{font-size:11px}.top-actions{gap:8px}.icon-button{width:29px;height:29px}main{padding:0 5%}.hero{grid-template-columns:1fr;min-height:0;padding-top:32px}.hero-copy{text-align:center;padding:0}.hero-copy>.eyebrow{justify-content:center;font-size:9px}h1{font-size:37px;line-height:1.45;margin:15px 0 20px}h1 br{display:none}.hero-description{font-size:11px;line-height:1.9}.hero-buttons{justify-content:center;margin-top:23px}.progress-summary{margin:24px auto 0;width:260px}.handwritten{display:none}.garden-frame{height:390px;margin:-15px -20px 5px}.garden-scene>svg{width:100%;margin:0}.scene-corner{left:8%;top:30px}.scene-note{bottom:15px;left:13%;padding:9px 15px}.scene-stamp{right:8%;bottom:40px}.journey{padding-top:23px}.section-heading h2{font-size:21px}.section-heading>.eyebrow{font-size:8px}.level-list{grid-template-columns:repeat(4,1fr);gap:12px}.level-art{height:94px}.level-info{padding:11px 13px}.level-info h3{font-size:13px}.level-info small{font-size:8px}.level-art>svg{width:85px}.bottom-note{margin-top:0;padding:16px}.bottom-note p{font-size:11px}.bottom-note>.text-button{font-size:9px}footer{padding:16px 5%;font-size:7px}footer>span:nth-child(2){display:none}.play-layout{grid-template-columns:minmax(280px,430px) minmax(150px,1fr);gap:5%;max-width:650px}.mission-panel{grid-column:1/-1;padding-top:0;display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:-12px 0 -5px}.mission-panel>.eyebrow,.mission-quote,.mission-rule{display:none}.mission-panel h3{font-size:15px;margin:0}.mission-panel>p{font-size:9px;max-width:100%;flex:1;line-height:1.7}.mission-targets{padding:0;border:0;margin:0}.target-plant{gap:4px;font-size:9px}.target-plant svg{width:25px;height:25px}.puzzle-center{grid-column:1}.play-sidebar{grid-column:2;padding-top:20px}.board-caption{font-size:9px}.board-controls{gap:8px}.board-controls .primary-button{min-width:140px}.secondary-button{padding:10px 12px}.next-repair .eyebrow{font-size:5px}.play-header{margin-bottom:26px}.play-header h2{font-size:22px}.play-header>.text-button{font-size:10px}}
@media(max-width:540px){.topbar{height:74px}.brand{gap:7px}.brand>svg{width:29px}.brand>span{font-size:18px;letter-spacing:2px}.brand small{font-size:5px;letter-spacing:1.1px}nav{display:none}.top-actions{gap:9px}.hero{padding-top:29px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1px}.little-line{width:17px}h1{font-size:31px}h1 br{display:block}.hero-description{font-size:10px}.hero-buttons{gap:22px;margin-top:22px}.hero-buttons .primary-button{min-width:176px}.progress-summary{width:230px;margin-top:24px}.garden-frame{height:310px;margin-top:-5px}.scene-corner{top:17px;font-size:8px;padding:5px 10px}.scene-note{bottom:10px;left:10%;gap:9px;padding:7px 11px}.scene-note>span{font-size:20px}.scene-note>div{font-size:11px}.scene-note small{font-size:7px}.scene-stamp{width:29px;height:42px;font-size:22px;bottom:24px}.section-heading{align-items:center;gap:10px}.section-heading .eyebrow{font-size:7px;letter-spacing:1.6px}.section-heading h2{font-size:18px;gap:4px}.tiny-sprout svg{width:18px}.section-heading>span{font-size:8px;white-space:nowrap}.level-list{gap:9px;grid-template-columns:repeat(4,minmax(0,1fr))}.level-art{height:70px}.level-art>svg{width:67px;height:67px}.level-number{left:7px;font-size:10px}.level-info{padding:8px 6px}.level-info h3{font-size:10px;letter-spacing:0}.level-info small{font-size:6px;letter-spacing:0}.flower-rating{gap:3px;height:9px;margin-top:6px}.flower-rating svg{width:8px;height:8px}.bottom-note{padding:12px;gap:9px}.bottom-note p{font-size:9px;letter-spacing:.2px}.bottom-note>.text-button{font-size:8px;gap:3px}.bottom-note .note-icon svg{width:20px}.current-ribbon{font-size:6px;padding:1px 4px}footer{font-size:6px;letter-spacing:.3px;gap:9px}.play-view{padding:17px 5% 28px}.play-header{gap:10px;margin-bottom:27px}.play-header h2{font-size:20px;letter-spacing:1px}.play-header .eyebrow{font-size:6px;letter-spacing:1px}.play-header>.text-button{font-size:8px}.play-layout{grid-template-columns:1fr;gap:0;max-width:430px}.mission-panel{display:block;margin:-5px 0 22px;padding:0 1px;position:relative;min-height:38px}.mission-panel h3{font-size:13px;max-width:72%}.mission-panel>p{font-size:9px;margin-top:5px;max-width:75%}.mission-targets{position:absolute;right:0;top:-3px;display:flex;gap:3px}.target-plant{flex-direction:column;gap:0;font-size:7px}.target-plant svg{height:28px;width:28px}.target-plant.reached:after{display:none}.board-topline{font-size:9px}.play-sidebar{grid-column:1;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:18px}.next-repair{display:none}.play-stats{border:0;padding:8px 0;gap:10px}.play-stats b{font-size:25px;margin-top:2px}.play-stats span{font-size:8px}.play-stats>div+div{padding-left:12px}.hint-button{padding:8px 0;font-size:9px;gap:7px}.hint-button small{font-size:6px}.hint-disclosure{grid-column:1/-1;text-align:center;border-top:1px solid var(--line);padding-top:12px;margin-top:9px;font-size:7px}.hint-disclosure br{display:none}.board-controls{margin-top:12px}.board-controls .primary-button{flex:1;font-size:12px}.board-controls .secondary-button{font-size:10px}.board-caption{margin-top:23px;font-size:9px}.dialog{padding:30px 24px}.dialog h2{font-size:24px}.dialog .eyebrow{font-size:7px;letter-spacing:1.4px}.guide-steps{grid-template-columns:1fr;gap:16px;margin:23px 0}.guide-steps>div{position:relative;padding-left:40px}.guide-steps b{position:absolute;left:0;top:3px;font-size:24px}.guide-steps h3{margin:0 0 5px;font-size:16px}.guide-steps p{font-size:10px}.guide-footer{flex-direction:column;align-items:stretch;gap:15px}.guide-footer>span{font-size:8px}.journal-entry{gap:15px}.journal-entry h3{font-size:16px}.journal-entry p{font-size:10px}.journal-footer{flex-direction:column;align-items:flex-start;gap:3px}.reset-actions{flex-direction:column-reverse}.success-dialog{padding:24px}.success-dialog h2{font-size:22px}.success-dialog>p{font-size:10px}}
.garden-scene{display:block}.garden-scene>svg{position:absolute;inset:0;width:100%;height:100%;max-height:100%;margin:0}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Spring-garden refinement: readable paper tones, compact progress and play feedback. */
:root{--muted:#69765f;--line:#d9ddca}
.hero-copy,.mission-panel,.puzzle-center,.play-sidebar,.play-header>div{min-width:0}
.brand small{color:#738069;font-size:9px}
nav button{color:#69775f}
.spring-label{color:#6f7d61}
.eyebrow{color:#738267}
h1{white-space:normal}
.hero-description{font-size:13px;color:#69765f;line-height:2;letter-spacing:.35px}
.primary-button{font-size:13px}
.text-button,.secondary-button{font-size:12px;color:#627653}
.primary-button{color:#fffdf5}
.progress-summary{width:min(310px,100%)}
.progress-heading{font-size:12px;color:#657656}
.progress-heading b{font-size:13px;color:#5f794f}
.progress-summary small{font-size:11px;color:#798468}
.handwritten{color:#7a856a}
.scene-corner{font-size:11px;color:#687b59;background:#faf9f0eb}
.scene-note small{font-size:11px;color:#748263}
.section-heading>span{font-size:12px;color:#738164}
.level-info{padding-bottom:17px}
.level-info h3{font-size:13px;letter-spacing:.2px;line-height:1.65}
.level-info small{font-size:10.5px;letter-spacing:0;line-height:1.6;color:#7a856b;overflow-wrap:anywhere}
.level-card.locked{opacity:.72}
.flower-rating{height:14px;gap:4px}
.flower-rating svg{width:13px;height:13px}
.current-ribbon{font-size:10px;padding:2px 7px;line-height:1.6}
.bottom-note p{font-size:13px}
.bottom-note p span{font-size:12px;color:#758267}
footer{font-size:10px;color:#7c866f;line-height:1.8}
.play-header .eyebrow{font-size:9px}
.mission-panel>p{font-size:12px;line-height:1.95;color:#68795d}
.target-plant{font-size:12px;color:#78886b}
.mission-rule{color:#758268}
.mission-rule p{font-size:12px;line-height:1.9}
.mission-quote{color:#839174}
.board-topline{font-size:12px;color:#718365}
.board-caption{font-size:12px;color:#647a54;line-height:1.9;min-height:26px}
.water-source-label{font-size:11px;color:#72886a}
.board-controls{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.85fr);gap:9px}
.board-controls>button{min-width:0;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 10px;font-size:12px}
.board-controls .primary-button{min-width:0}
.board-controls>button>svg,.board-controls>button>span>svg{width:17px;height:17px;flex-shrink:0}
.next-repair .eyebrow{font-size:9px;letter-spacing:1.5px}
.next-repair h3{font-size:16px}
.next-repair p{font-size:12px;color:#718163;line-height:1.9}
.play-stats span{font-size:12px;color:#75866a}
.hint-button{font-size:12px;color:#607a4f}
.hint-button small{font-size:11px;color:#7d8b6e;line-height:1.6}
.hint-disclosure{font-size:11px;line-height:1.95;color:#7d8a6c}
.dialog-intro,.guide-steps p,.journal-entry p,.success-dialog>p,.reset-dialog p{font-size:13px;color:#697a5e;line-height:1.95}
.guide-footer>span,.journal-entry small,.journal-footer>span{font-size:11px;color:#7c896e;line-height:1.8}
.journal-entry.locked{opacity:.7}
.danger-text{font-size:12px;color:#997655}
.success-dialog .eyebrow{font-size:9px}
.milestone-note{font-size:12px;color:#627d4e}
.toast{font-size:12px;line-height:1.8}

.collection-summary{display:flex;align-items:center;flex-wrap:wrap;gap:9px 17px;margin-top:19px;color:#6f805f;font-size:12px;line-height:1.8}
.collection-summary>span,.collection-summary>div{display:inline-flex;align-items:center;gap:6px}
.collection-summary strong,.collection-summary b{font:600 16px Georgia,var(--serif);color:#59764b;margin:0 2px}
.collection-summary svg{width:17px;height:17px;flex-shrink:0;color:#b3975e}
.collection-summary small{font-size:11px;color:#7e8a70}
.restoration-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;max-width:375px}
.restoration-track button{min-width:0;position:relative;text-align:left;background:#f2f2e6;border:1px solid #dce0cc;border-radius:9px;padding:11px 10px 10px;line-height:1.6;color:#78856a;transition:background .2s,border-color .2s,box-shadow .2s}
.restoration-track button+button:before{content:"";position:absolute;left:-9px;top:50%;width:8px;height:1px;background:#c8d0b8}
.restoration-track button>svg{width:19px;height:19px;margin-bottom:7px;color:#7c916b}
.restoration-track button b,.restoration-track button strong{display:block;font-family:var(--serif);font-weight:600;font-size:13px;color:inherit;letter-spacing:.2px}
.restoration-track button span,.restoration-track button small{font-size:11px;line-height:1.7;color:inherit}
.restoration-track button.is-done{background:#ecf0df;border-color:#bdcba8;color:#5b754e}
.restoration-track button.is-current{background:#f9f6e5;border-color:#b6bf91;color:#5a724c;box-shadow:0 0 0 2px #e7ebd8}
.restoration-track button:not(:disabled):hover{background:#e6edda;border-color:#a2b58b}
.restoration-track button:disabled{color:#929a81;background:#efeee2;border-color:#e0e1d2;cursor:default}
.restoration-track button:disabled>svg{opacity:.55}
.board-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 16px;margin:16px 0 0;font-size:11px;line-height:1.7;color:#78866a}
.board-legend>span,.board-legend>div{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.board-legend i,.board-legend .legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8bacad;box-shadow:0 0 0 2px #f9f7ed;flex-shrink:0}
.board-legend .source-dot,.board-legend .legend-source,.board-legend [data-kind="source"] i{background:#81a9ad}
.board-legend .target-dot,.board-legend .legend-target,.board-legend [data-kind="target"] i{background:#bd9f76}
.board-legend .fixed-dot,.board-legend .legend-fixed,.board-legend [data-kind="fixed"] i{background:#a5ab89}
.board-legend .loose-dot,.board-legend .legend-loose,.board-legend [data-kind="loose"] i{background:#ca9a64}
.board-legend>span:nth-child(2) i,.board-legend>div:nth-child(2) i{background:#bd9f76}
.board-legend>span:nth-child(3) i,.board-legend>div:nth-child(3) i{background:#a5ab89}
.board-legend>span:nth-child(4) i,.board-legend>div:nth-child(4) i{background:#ca9a64}
.undo-button{border:1px solid #d2d9c4;border-radius:7px;background:#f5f5e8;color:#6e815d;min-height:46px}
.undo-button:hover:not(:disabled){background:#eaf0df;border-color:#b9c9a5}
.undo-button:disabled{color:#a4aa94;background:#efeee2;border-color:#e2e2d4;box-shadow:none}
.live-rating{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:17px;padding:12px 0 0;border-top:1px solid var(--line);color:#b0a178;font-size:11px;line-height:1.8}
.live-rating>span:first-child,.live-rating>small:first-child{margin-right:auto;color:#748365;font-size:11px}
.live-rating svg{width:22px;height:22px;flex-shrink:0;transition:opacity .2s,transform .2s}
.live-rating .is-earned,.live-rating .is-active{color:#b89a5c;opacity:1}
.live-rating .is-empty{opacity:.28}
.loose-end{fill:#edbe83;stroke:#fff7de;stroke-width:1.8;animation:looseEndPulse 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.tile.reached .plant-marker{animation:plantBloom .65s ease-out both;filter:drop-shadow(0 1px 0 #fff9) drop-shadow(0 0 5px #a8bc7570)}
.resume-tag{display:inline-flex;align-items:center;gap:4px;background:#e7edd9;color:#617b50;border:1px solid #d2ddbf;border-radius:5px;padding:2px 6px;font-size:10px;line-height:1.6;margin-top:7px;max-width:100%;white-space:nowrap}
.garden-ripple{animation:gardenRipple 5s ease-in-out infinite}
.garden-ripple:nth-child(2){animation-delay:-2.6s}
.garden-butterfly{transform-box:fill-box;transform-origin:center;animation:butterflyFloat 7s ease-in-out infinite alternate}
.garden-butterfly:nth-child(2){animation-delay:-3s}
@keyframes looseEndPulse{0%,100%{opacity:.65;stroke-width:1.8}50%{opacity:1;stroke-width:2.8}}
@keyframes plantBloom{0%{transform:scale(.78) translateY(3px)}60%{transform:scale(1.08) translateY(-1px)}100%{transform:scale(1)}}
@keyframes gardenRipple{0%,100%{opacity:.35}50%{opacity:.8}}
@keyframes butterflyFloat{from{transform:translateY(0)}to{transform:translateY(-3px)}}

@media(max-width:1100px){
  .hero-description{font-size:12px}.hero-buttons .text-button{font-size:12px}.level-info h3{font-size:12px}.level-info small{font-size:10.5px}.mission-panel>p{font-size:12px}.next-repair h3{font-size:15px}.next-repair p{font-size:11px}.mission-quote{font-size:13px}
  .restoration-track{gap:7px}.restoration-track button{padding:9px 8px}.restoration-track button b,.restoration-track button strong{font-size:12px}
}
@media(max-width:820px){
  .brand small{font-size:8px}nav button{font-size:12px}.hero-description{font-size:12px}.collection-summary{justify-content:center;margin-top:16px}.restoration-track{margin:15px auto 22px;max-width:380px}.restoration-track button{text-align:center}.restoration-track button>svg{margin:0 auto 6px}.progress-summary{margin-top:22px}.section-heading>span{font-size:11px}.level-info h3{font-size:13px}.level-info small{font-size:11px}.bottom-note p{font-size:12px}.bottom-note>.text-button{font-size:11px}.play-header>.text-button{font-size:12px}.mission-panel>p{font-size:11px;line-height:1.9}.target-plant{font-size:11px}.board-caption{font-size:12px}.next-repair .eyebrow{font-size:8px}.play-layout{gap:4%;grid-template-columns:minmax(280px,430px) minmax(150px,1fr)}.play-sidebar .live-rating{gap:4px}.live-rating svg{width:19px;height:19px}.hint-button{font-size:12px}.hint-button small{font-size:10.5px}
}
@media(max-width:540px){
  .topbar{gap:12px}.brand small{font-size:7px}.hero-description{font-size:11.5px;line-height:1.95;letter-spacing:.15px}.hero-buttons .primary-button{font-size:13px}.hero-buttons .text-button{font-size:11.5px}.progress-heading{font-size:11.5px}.progress-summary small{font-size:11px}.garden-frame{margin-left:-10px;margin-right:-10px}.scene-corner{font-size:10px}.scene-note>div{font-size:12px}.scene-note small{font-size:10px;line-height:1.6}.section-heading>span{font-size:11px}.level-info{padding:9px 6px 18px}.level-info h3{font-size:12px;line-height:1.7}.level-info small{font-size:10px;line-height:1.7}.current-ribbon{font-size:9px;padding:2px 5px}.flower-rating{height:12px;gap:3px}.flower-rating svg{width:11px;height:11px}.bottom-note{align-items:flex-start;flex-wrap:wrap}.bottom-note p{font-size:11px;flex:1}.bottom-note>.text-button{font-size:11px;margin-left:29px}footer{font-size:9px;letter-spacing:.2px;flex-wrap:wrap;gap:5px 12px}.play-header>.text-button{font-size:11px}.play-header .eyebrow{font-size:8px}.play-layout{grid-template-columns:minmax(0,1fr);gap:0}.mission-panel h3{font-size:14px}.mission-panel>p{font-size:11px;max-width:77%;line-height:1.9}.target-plant{font-size:10px}.board-topline{font-size:11px}.board-controls{gap:7px}.board-controls>button,.board-controls .primary-button,.board-controls .secondary-button{font-size:11.5px;min-width:0;padding:11px 7px}.board-controls>button>svg,.board-controls>button>span>svg{width:15px;height:15px}.board-caption{font-size:11px;margin-top:21px}.board-legend{font-size:10.5px;gap:7px 12px;margin-top:15px}.board-legend i,.board-legend .legend-dot{width:7px;height:7px}.play-stats span{font-size:11px}.hint-button{font-size:11.5px}.hint-button small{font-size:10px}.hint-disclosure{font-size:11px;line-height:1.85}.live-rating{grid-column:1/-1;justify-content:center;gap:8px;margin-top:6px;padding-top:10px}.live-rating>span:first-child,.live-rating>small:first-child{margin-right:8px}.live-rating svg{width:23px;height:23px}.collection-summary{font-size:11.5px;gap:5px 15px}.collection-summary strong,.collection-summary b{font-size:16px}.collection-summary small{font-size:11px}.restoration-track{margin-top:15px;gap:7px}.restoration-track button{padding:9px 6px}.restoration-track button b,.restoration-track button strong{font-size:12px}.restoration-track button span,.restoration-track button small{font-size:10.5px}.resume-tag{font-size:9px;padding:1px 4px;margin-top:5px}.dialog-intro,.guide-steps p,.journal-entry p,.success-dialog>p,.reset-dialog p{font-size:12px}.guide-footer>span,.journal-entry small,.journal-footer>span{font-size:11px}.dialog .eyebrow{font-size:8px}.milestone-note{font-size:12px}
}
.restoration-track{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));margin:5px 0 26px;gap:12px}
.restoration-track button{display:flex;align-items:center;gap:12px;padding:13px 18px}
.restoration-track button+button:before{display:none}
.restoration-track .step-index{flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;border:1px solid #cad4b7;border-radius:50%;font:italic 15px Georgia,serif;color:#71845c}
.live-rating>span:first-child{display:flex;gap:7px;align-items:center}
@media(max-width:820px){.restoration-track{max-width:none;margin:0 0 25px;gap:9px}.restoration-track button{padding:11px 10px;gap:7px;text-align:left}.restoration-track .step-index{width:25px;height:25px;font-size:12px}}
@media(max-width:540px){.restoration-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.restoration-track button{padding:11px 12px}.restoration-track .step-index{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.loose-end,.tile.reached .plant-marker,.garden-ripple,.garden-butterfly{animation:none!important}}
