:root{--paper:#f7f4eb;--ink:#525d48;--leaf:#7b905e;--moss:#a6b57d;--red:#b96758;--pencil:#939782;--line:#dedfce;--hand:'STKaiti','Kaiti SC','KaiTi',serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,'PingFang SC',sans-serif;font-size:14px}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.23;z-index:20;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.13' filter='url(%23n)'/%3E%3C/svg%3E")}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:5px}[hidden]{display:none!important}.garden-header{height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 auto;padding:0 5%;max-width:1640px}.back-link{font-size:13px}.garden-header>span{font-size:11px;letter-spacing:.18em;color:var(--pencil)}.header-give{border:1px solid var(--line);border-radius:30px;padding:12px 20px;background:transparent;color:var(--ink);font-size:12px}.header-give span{color:var(--red);margin-left:12px;font-size:18px}main{display:grid;grid-template-columns:minmax(270px,.75fr) minmax(0,1.5fr);max-width:1480px;margin:auto;padding:0 5%;column-gap:24px}.garden-intro{align-self:center;padding:20px 0 42px;z-index:1}.eyebrow{font-size:11px;letter-spacing:.17em;color:var(--pencil);margin:0 0 24px;line-height:1.7}.eyebrow>span{color:var(--leaf);font-size:20px;vertical-align:middle;margin-right:10px}h1{font:normal clamp(34px,3.6vw,56px)/1.55 var(--hand);letter-spacing:.01em;margin:0 0 23px;white-space:nowrap}h1>span{color:var(--red);position:relative}h1>span:after{content:'';position:absolute;left:0;right:5px;height:6px;bottom:-5px;border-bottom:2px solid #cbb992;border-radius:50%;transform:rotate(-4deg)}.intro-copy{font-size:13px;color:#858b78;line-height:2.1;margin:0}.garden-stats{display:flex;align-items:center;gap:28px;margin:34px 0 27px}.garden-stats p{margin:0;display:flex;gap:8px;align-items:baseline}.garden-stats strong{font:normal 36px/1.2 Georgia,serif;letter-spacing:-1px;color:#677655;font-variant-numeric:tabular-nums}.garden-stats span{font-size:11px;color:var(--pencil)}.garden-stats i{height:26px;width:1px;background:var(--line)}.primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;background:var(--red);color:#fffaf0;border-radius:32px;min-height:50px;padding:14px 28px;box-shadow:0 3px 0 #9c554922;transition:background .2s,transform .2s}.primary:hover{background:#aa594d;transform:translateY(-2px)}.primary>span{font-size:24px;line-height:1}.intro-foot{font:14px var(--hand);color:#a0a28c;margin-top:20px}.garden-world{position:relative;min-height:640px;height:min(74vh,800px);align-self:center;isolation:isolate}.garden-canvas{position:absolute;inset:0 -4% 34px;touch-action:pan-y;cursor:grab}.garden-canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y;outline:none}.garden-canvas:active{cursor:grabbing}.world-tag{position:absolute;top:32px;right:24px;font:13px var(--hand);color:#9b9f86;transform:rotate(5deg);pointer-events:none}.world-bottom{position:absolute;bottom:66px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:22px}.world-bottom p{font-size:11px;color:#929880}.quiet{background:none;border:0;color:#81906c;font-size:11px;padding:10px 0}.island-nav{position:absolute;bottom:16px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:20px}.island-nav button{border:1px solid var(--line);background:#fcfaf2;border-radius:50%;width:34px;height:34px;color:#768264}.island-nav span{font-size:11px;color:#8c947f;letter-spacing:.06em}.flower-tip{position:absolute;left:50%;top:18%;background:#fffdf6;padding:11px 17px;border:1px solid var(--line);border-radius:18px;font:14px var(--hand);pointer-events:none;z-index:3;box-shadow:0 4px 14px #566b3910}.garden-status{grid-column:1/-1;min-height:32px;text-align:center;color:#969b87;font-size:12px;display:flex;align-items:center;justify-content:center;gap:12px}.notes-section{grid-column:1/-1;margin:44px 0 60px;border-top:1px solid var(--line);padding-top:36px}.notes-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.notes-heading .eyebrow{margin:0 0 10px}.notes-heading h2{font:normal 25px/1.6 var(--hand);margin:0}.notes-heading>span{font-size:11px;color:var(--pencil)}.flower-notes{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px}.note-preview{background:#fffdf6;border:1px solid #e5e3d5;text-align:left;padding:22px 24px;border-radius:3px 12px 12px 12px;min-height:145px;color:var(--ink);transition:transform .2s}.note-preview:hover{transform:translateY(-4px)}.note-preview .mini-flower{float:right;color:var(--petal);font-size:27px}.note-preview p{font:18px/1.8 var(--hand);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:4px 25px 16px 0;overflow-wrap:anywhere}.note-preview small{color:var(--pencil);font-size:11px}.empty-notes{font:18px/2 var(--hand);color:#a1a58f;text-align:center;padding:14px 0}.legacy-flower{padding:12px 16px;min-height:70px;font:15px var(--hand)}footer{border-top:1px solid #e5e4d8;padding:28px 6%;font:13px var(--hand);color:#9ca28b;display:flex;justify-content:space-between;gap:20px}footer span{color:var(--red);font-size:19px}.paper-dialog{border:1px solid #e5dfcc;background:#fffdf6;border-radius:8px 24px 10px 24px;color:var(--ink);width:min(470px,calc(100% - 32px));padding:38px;max-height:90dvh;overflow:auto;box-shadow:0 14px 50px #3b483521}.paper-dialog::backdrop{background:#46504055;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:12px;right:15px;width:34px;height:34px;border:0;background:transparent;color:#a0a28d;font:26px Georgia}.paper-dialog .eyebrow{font-size:10px;margin-bottom:14px}.paper-dialog h2{font:normal 27px/1.5 var(--hand);margin:0 0 18px}.paper-dialog fieldset{border:0;margin:0;padding:0}.flower-choices{display:flex;gap:12px;justify-content:center;margin:18px 0 26px}.flower-choices label{position:relative;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;cursor:pointer}.flower-choices input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.flower-choices label>span:first-of-type{font-size:37px;color:var(--petal);line-height:1;transition:transform .2s}.flower-choices label:has(:checked){background:#f1eadc;box-shadow:0 0 0 1px #d7cbb0}.flower-choices label:has(:checked)>span:first-of-type{transform:rotate(-12deg)}.flower-choices label:has(:focus-visible){outline:2px solid var(--red)}.field-label{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;margin:19px 0 9px}.field-label span{color:#a1a28d;font-size:10px}input:not([type=radio]),textarea{display:block;width:100%;padding:12px 13px;border:1px solid #dfdfd0;border-radius:8px;background:#faf9f2;color:var(--ink);font-size:15px;line-height:1.6}textarea{resize:vertical;min-height:110px}input::placeholder,textarea::placeholder{color:#b0b19e}.public-note{font-size:10px;color:#9ba18a;line-height:1.8;margin:13px 0 20px}.plant-submit{width:100%;font-size:13px}.form-status{font-size:12px;line-height:1.7;color:var(--red);margin:12px 0 0}.note-dialog{text-align:center;padding:43px 36px}.note-flower{font-size:70px;line-height:1.3;color:var(--red);display:block;margin-bottom:17px}.note-dialog blockquote{margin:26px 0;font:24px/1.95 var(--hand);white-space:pre-wrap;overflow-wrap:anywhere;text-align:left}.note-signature{font:16px var(--hand);text-align:right}.note-signature strong{font-weight:normal}.note-dialog time{display:block;text-align:right;font-size:10px;color:var(--pencil)}.note-reply{margin-top:27px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.garden-world{height:760px}}
@media(max-width:900px){.garden-header{height:74px;padding:0 6%}.garden-header>span{display:none}main{grid-template-columns:1fr;padding:0 6%;gap:0}.garden-intro{padding:24px 0 0;text-align:center}.garden-intro .eyebrow{margin-bottom:13px}h1{font-size:38px;line-height:1.4;margin-bottom:14px}.intro-copy{font-size:12px}.garden-stats{justify-content:center;gap:26px;margin:23px 0}.garden-stats strong{font-size:30px}.plant-main{min-height:45px;padding:11px 23px;font-size:12px}.intro-foot{display:none}.garden-world{min-height:410px;height:58vw;max-height:620px;margin:4px -4% 0}.garden-canvas{inset:0 0 25px}.world-tag{top:17px;right:6%;font-size:11px}.world-bottom{bottom:47px;gap:15px}.world-bottom p,.world-bottom button{font-size:10px}.island-nav{bottom:0}.notes-section{margin:30px 0 35px;padding-top:26px}.notes-heading h2{font-size:22px}.notes-heading>span{display:none}.garden-status{font-size:11px;min-height:38px;margin-top:12px}.flower-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.note-preview{padding:16px;min-height:130px}.note-preview p{font-size:17px}.paper-dialog{padding:30px 24px}.paper-dialog h2{font-size:25px}.flower-choices{gap:9px}.flower-choices label{width:42px;height:42px}.note-dialog blockquote{font-size:22px}}
@media(max-width:380px){h1{font-size:32px}.garden-world{min-height:355px}.world-tag{display:none}.flower-notes{grid-template-columns:1fr}.flower-choices{gap:5px}.flower-choices label{width:39px;height:39px}.garden-header{gap:10px}.header-give{padding:9px 13px}.paper-dialog{padding:30px 20px}footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
.garden-flower-target{position:absolute;width:32px;height:32px;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;pointer-events:none;color:transparent;padding:0}.garden-flower-target:focus-visible{outline:2px solid var(--red);outline-offset:6px;background:#fff5c633;pointer-events:auto}
.flower-name{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);display:block;width:max-content;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 8px;border:1px solid #dddcc9a6;border-radius:12px;background:#fffdf0eb;box-shadow:0 2px 6px #6274480b;color:#7c8064;font:11px/1.3 var(--hand);pointer-events:auto;cursor:pointer}
.flower-name:hover{color:#aa6453;background:#fffdf5}
