:root{--pine:#12312f;--pine-soft:#254844;--cream:#f8f6ee;--sand:#ece8db;--gold:#d6b786;--rust:#8a6957;--ink:#213432;--muted:#73827c;--line:#dcded5;--serif:Georgia,"Times New Roman",serif;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream)}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:3px solid #b28757;outline-offset:3px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(40px,calc((100vw - 1380px)/2));background:var(--pine);color:#f8f2e7;border-bottom:1px solid #35504a}
.brand{text-decoration:none;font-size:14px;letter-spacing:.06em;font-weight:500;display:flex;align-items:center;gap:10px;text-transform:lowercase}.brand strong{font-weight:750}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #c9b08f;border-radius:50%;font-family:var(--serif);font-size:24px;color:#e8cba7}.header-link{text-decoration:none;border-bottom:1px solid #afa895;padding:9px 0;color:#f2e8d5;font-size:12px;letter-spacing:.055em}.header-link span{padding-left:10px}
.intro{text-align:center;padding:74px 22px 49px;background:radial-gradient(ellipse at 50% -70%,#f3e4cf 0,transparent 70%),var(--cream)}.eyebrow{margin:0;color:#a28a69;font-size:10px;letter-spacing:.22em;font-weight:780}.tiny-star{font-size:14px;margin-right:9px}.intro h1{font:400 clamp(40px,4.45vw,70px)/1.1 var(--serif);letter-spacing:-.045em;color:var(--pine);margin:19px 0}.intro h1 em{font-style:italic;color:#b28c60;font-weight:400}.intro-copy{margin:0 auto;color:#6a7770;font-size:14px;max-width:630px;line-height:1.9}
.sanctuary{width:min(1380px,calc(100% - 72px));margin:0 auto 65px;display:grid;grid-template-columns:minmax(0,1fr) 404px;gap:27px;align-items:stretch}.garden-area{min-width:0;display:flex;flex-direction:column}.garden-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px}.garden-head .eyebrow{margin-bottom:9px}.garden-head h2{font:400 23px/1.1 var(--serif);color:var(--pine);margin:0}.scene-badge{font-size:10px;white-space:nowrap;letter-spacing:.02em;color:#5f7567;display:flex;align-items:center;gap:7px}.status-dot{width:7px;height:7px;background:#88ac8a;border-radius:100%;box-shadow:0 0 0 4px #ddede0}
.scene-frame{position:relative;flex:1;min-height:560px;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#e4ccaa 0%,#f1d8ae 24%,#b7c1a0 53%,#75917c 75%,#405f52 100%);isolation:isolate;border:1px solid #d2d4c3;box-shadow:0 18px 55px #1e392318}.sky-glow{position:absolute;inset:-8%;background:radial-gradient(ellipse at 74% 24%,#ffe7b2bb 0%,#efd29c55 19%,transparent 45%);pointer-events:none}.scene-frame canvas{width:100%;height:100%;display:block;position:absolute;inset:0;touch-action:none}.scene-topline{position:absolute;left:25px;top:24px;display:flex;align-items:center;gap:8px;font-size:9px;font-weight:720;letter-spacing:.18em;color:#3c625c;pointer-events:none;text-shadow:0 1px 10px #fff8}.sun-symbol{font-size:18px;font-weight:400;color:#ae8658}.scene-bottom{position:absolute;left:23px;right:23px;bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}.scene-tip{font-size:11px;color:#fcf6e9;background:#23463a88;backdrop-filter:blur(8px);padding:10px 13px;border:1px solid #d3dec02d;border-radius:25px}.scene-tip span{margin:0 5px}.scene-controls{display:flex;gap:8px;pointer-events:auto}.round-control{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid #f2efe8a6;background:#173a31ab;color:#fff7e9;font-size:21px;backdrop-filter:blur(8px);transition:background .15s}.round-control:hover{background:#12352c}
.garden-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;color:var(--pine);background:linear-gradient(130deg,#cbd6b7dd,#eee0c2ed)}.garden-fallback[hidden]{display:none}.fallback-symbol{font:64px var(--serif);color:#ac8668}.garden-fallback p{font:24px var(--serif);margin:13px 0}.garden-fallback small{line-height:1.6;max-width:280px}
.offerings{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.offering{display:flex;align-items:center;text-align:left;border:1px solid var(--line);background:#fffef8;border-radius:13px;min-height:79px;padding:14px;gap:13px;color:var(--ink);transition:transform .15s,box-shadow .15s}.offering:hover{transform:translateY(-2px);box-shadow:0 8px 23px #26433015}.offering-illustration{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:11px;font-size:28px}.rose{background:#f7ebde;color:#a97667}.candle{background:#f9f1d9;color:#c0954e}.offering strong,.offering small{display:block}.offering strong{font-size:12px;font-weight:750;letter-spacing:-.015em}.offering small{font-size:10px;line-height:1.6;color:#83908a;margin-top:4px}.offering-count{margin-left:auto;font-size:12px;color:#a27f59;align-self:center;font-weight:750}
.editor{padding:28px 28px 22px;background:#fffefa;border:1px solid #e3e3db;border-radius:16px;box-shadow:0 12px 42px #2b40200d}.editor-top{display:flex;gap:13px;align-items:center}.editor-icon{width:43px;height:43px;display:grid;place-items:center;background:#edf2e9;color:#3e7265;font:29px var(--serif);border-radius:12px}.editor-top .eyebrow{margin-bottom:6px}.editor h2{font:400 26px var(--serif);margin:0;letter-spacing:-.035em}.editor-lead{font-size:12px;line-height:1.8;color:#7a8279;padding-bottom:20px;border-bottom:1px solid #eae9e3;margin:17px 0 22px}.form-field{margin-bottom:21px}.form-field label{display:block;font-size:12px;color:#36463e;font-weight:700;margin-bottom:10px}.optional{font-weight:400;color:#909e93}.form-field input:not([type=file]),.form-field textarea{border:1px solid #dce0d8;border-radius:8px;outline:none;background:#fdfcf7;width:100%;padding:12px 13px;color:#243832;font-size:12px;line-height:1.6;transition:border-color .2s}.form-field input:focus,.form-field textarea:focus{border-color:#9baf97;box-shadow:0 0 0 3px #dce7d544}.form-field textarea{resize:vertical;min-height:108px}.form-field input::placeholder,.form-field textarea::placeholder{color:#adb2a9}.field-help{display:block;font-size:10px;margin-top:8px;color:#9ca99e;line-height:1.5}.photo-picker{display:flex;gap:14px;align-items:center;min-height:78px;padding:8px;background:#faf9f3;border:1px dashed #d6d9d0;border-radius:9px}.photo-preview{width:60px;height:62px;border-radius:7px;background:linear-gradient(145deg,#e4eadb,#cdd8c4);display:grid;place-items:center;color:#8aa18f;font:28px var(--serif);background-size:cover;background-position:center;flex-shrink:0}.photo-copy{display:flex;flex-direction:column;gap:7px}.photo-action{font-size:12px!important;font-weight:750!important;cursor:pointer!important;margin:0!important}.photo-action span{padding-left:3px;color:#987957}.photo-copy>span{font-size:10px;color:#9aa69a}.text-action{border:0;background:none;color:#8a655b;text-decoration:underline;font-size:10px;align-self:flex-start;padding:0}.memory-preview{padding:18px;background:linear-gradient(120deg,#f5f4e9,#f8f3e7);border:1px solid #e6e5d9;border-radius:10px;margin:3px 0 18px}.memory-preview .eyebrow{font-size:9px;color:#9c886b}.memory-preview p{font:italic 17px/1.6 var(--serif);color:#4a5c4d;margin:12px 0;overflow-wrap:anywhere}.memory-preview>span:last-child{font-size:11px;color:#8b9889}.save-bar{border-top:1px solid #edece7;padding-top:16px}.save-status{display:block;font-size:10px;min-height:24px;color:#67836e}.save-actions{display:flex;flex-wrap:wrap;gap:8px}.primary-button,.secondary-button{border-radius:8px;padding:13px 15px;font-size:11px;font-weight:720;flex:1;min-width:130px}.primary-button{border:1px solid var(--pine);background:var(--pine);color:#f9f5e7}.primary-button:hover{background:#294c40}.primary-button span{margin-left:5px}.secondary-button{border:1px solid #ced8ce;background:#fafaf5;color:#4d665a}.secondary-button:hover{background:#edf1e9}.clear-button{border:0;background:transparent;color:#998d81;display:block;margin:18px auto 0;text-decoration:underline;text-underline-offset:3px;font-size:10px;padding:5px}.editor-toggle{display:none}
.afterword{text-align:center;margin:30px auto 78px;max-width:510px;padding:0 20px}.divider-symbol{color:#a48d68;font:29px var(--serif)}.afterword h2{font:400 32px/1.18 var(--serif);color:var(--pine);margin:9px 0 18px}.afterword p{font-size:12px;line-height:1.85;color:#839086;margin:0}footer{padding:21px max(36px,calc((100vw - 1380px)/2));background:#13312e;color:#ced7cd;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:10px;line-height:1.65}footer p{margin:0;max-width:800px}footer span{padding:0 5px;color:#d0b38b}footer a{color:#f1e0c3;white-space:nowrap}
@media(max-width:1100px){.sanctuary{width:calc(100% - 36px);grid-template-columns:minmax(0,1fr) 360px;gap:17px}.editor{padding:23px 20px}.scene-frame{min-height:550px}}
@media(max-width:800px){.site-header{height:67px;padding:0 21px}.intro{padding:57px 20px 39px}.intro h1{font-size:clamp(40px,7.8vw,57px)}.sanctuary{grid-template-columns:1fr;max-width:680px;margin-bottom:42px}.scene-frame{height:62vh;min-height:420px;flex:none}.editor{margin-top:0}.garden-head h2{font-size:21px}.afterword{margin-bottom:56px}footer{flex-wrap:wrap;padding:27px 21px}}
@media(max-width:600px){.header-link{font-size:10px}.intro{padding:44px 23px 32px}.intro h1{font-size:43px;line-height:1.05}.intro-copy{font-size:12px;line-height:1.8}.eyebrow{font-size:9px}.sanctuary{width:100%;margin-top:0;padding:0 12px}.garden-head{padding:0 5px;align-items:flex-end}.garden-head h2{font-size:19px}.scene-badge{font-size:9px}.scene-frame{height:60vh;min-height:380px;border-radius:14px}.scene-topline{top:18px;left:18px;font-size:8px}.scene-bottom{left:13px;right:13px;bottom:13px}.scene-tip{font-size:9px;padding:9px}.round-control{width:34px;height:34px}.offerings{gap:8px;margin-top:9px}.offering{padding:10px 9px;gap:7px;min-height:69px}.offering-illustration{width:37px;height:40px;flex-basis:37px;font-size:24px}.offering strong{font-size:10px}.offering small{font-size:9px}.editor{border-radius:13px;padding:19px 19px}.editor-top{position:relative}.editor h2{font-size:24px;padding-right:57px}.editor-toggle{display:block;position:absolute;right:0;top:4px;border:1px solid #c9d2c5;border-radius:20px;background:#edf3e9;font-size:11px;color:#37584b;padding:8px 10px}.editor.is-collapsed>:not(.editor-top){display:none}.editor.is-collapsed .editor-top{min-height:48px}.afterword h2{font-size:28px}.afterword{margin:28px auto 48px}.scene-tip{max-width:155px}.save-actions{flex-direction:column}.primary-button,.secondary-button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
