@font-face{font-family:system-fallback;src:local("Arial")}*{box-sizing:border-box} :root{color-scheme:light;--ink:#243e36;--muted:#68746b;--paper:#f7f5ef;--green:#234c42;--line:#dedfd4;--accent:#d9e5b9}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}:focus-visible{outline:3px solid #bd762e;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:400;line-height:1.08;letter-spacing:-.04em}h1 em{font-weight:400;color:#65764b}h2{font-size:1.1rem;font-weight:600;letter-spacing:-.025em}h3{font-size:1.13rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}p{color:var(--muted)}.site-header{max-width:1040px;margin:auto;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:12px}.brand{font-size:1.35rem;font-weight:700;letter-spacing:-.06em;display:flex;align-items:center}.brand-icon{font-size:2rem;line-height:1;margin-right:9px;font-weight:400}.brand-dot{color:#ad7347}.text-button{background:none;border:0;padding:12px 0;color:var(--muted);font-size:.85rem;min-height:44px}.shell{max-width:800px;margin:auto;padding:40px 24px 24px;min-height:70vh}.eyebrow{font-size:.66rem;font-weight:650;letter-spacing:.15em;display:block;margin-bottom:20px}.intro>p,.login-intro>p{margin-top:20px}.stats{margin:30px 0;display:flex;gap:24px;align-items:center;background:#eaeddf;border:1px solid #e0e4d3;border-radius:18px;padding:20px 24px}.stats>div{display:flex;gap:10px;align-items:baseline}.stats strong{font-family:Georgia,serif;font-weight:400;font-size:2rem}.stats span{font-size:.8rem;color:var(--muted)}.stats-divider{width:1px;height:30px;background:#c9cebd}.stats .stats-flower{margin-left:auto;font-size:2.7rem;line-height:1;color:#788851}.tabs{display:flex;border-bottom:1px solid var(--line);margin:30px 0 24px;gap:26px}.tabs>a{padding:12px 2px 16px;min-width:100px;color:var(--muted);font-size:.95rem;text-align:center}.tabs>a[aria-current]{border-bottom:3px solid var(--green);color:var(--green);font-weight:650}.tabs span{border-radius:30px;background:#e8e9df;margin-left:7px;font-size:.75rem;padding:2px 8px}.add-card{border:1px dashed #a9b49e;border-radius:14px;background:#f1f3e9}.add-card summary{list-style:none;padding:18px 20px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:12px;min-height:58px}.add-card summary::-webkit-details-marker{display:none}.add-card summary span{font-size:1.4rem;font-weight:400}.add-card form{padding:0 20px 22px}.stack{display:flex;flex-direction:column}.stack label{font-size:.83rem;font-weight:600;margin:16px 0 7px}input:not([type=checkbox]),textarea{width:100%;background:#fffefb;border:1px solid #cdd2c5;border-radius:9px;padding:13px 14px;font-size:16px;color:var(--ink)}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8a9187;font-size:.87rem}.optional{font-weight:400;color:var(--muted)}.button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:13px 20px;border-radius:10px;border:1px solid transparent;font-weight:600;font-size:.9rem}.primary{background:var(--green);color:white}.primary:hover{background:#163d33}.secondary{background:#f3f3eb;border-color:#ced4c5;color:var(--ink)}.stack>.button{margin-top:22px}.button span{margin-left:auto}.list-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:32px 0 14px}.list-heading>span{font-size:.6rem;letter-spacing:.13em;color:var(--muted);white-space:nowrap}.item-grid{display:grid;gap:14px}.item-card{background:#fffefb;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;align-items:flex-start}.card-body{padding:22px;min-width:0;flex:1}.open-symbol{margin:24px 0 0 22px;background:#edf0e4;border:1px solid #d9dfcb;color:#758551;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;flex-shrink:0}.notes{font-size:.88rem;margin-top:8px;white-space:pre-line;overflow-wrap:anywhere}.camera-link{display:flex;align-items:center;gap:16px;font-size:.78rem;font-weight:650;color:var(--green);margin-top:18px;min-height:44px}.camera-link span{margin-left:auto;font-size:1.2rem}.memories{grid-template-columns:repeat(2,minmax(0,1fr))}.memories .item-card{display:block}.memory-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.photo-link{display:block}.date{font-size:.67rem;color:#66794f;display:block;margin-bottom:10px}.date>span{margin-right:5px}.empty-state{border:1px solid var(--line);border-radius:18px;padding:35px 24px 40px;text-align:center;grid-column:1/-1}.empty-state>span{font-family:Georgia,serif;font-size:3rem;color:#84945e}.empty-state h3{margin:8px 0}.empty-state p{max-width:400px;margin:auto;font-size:.9rem}.pagination{display:flex;gap:15px;margin-top:22px;justify-content:center}.site-footer{max-width:800px;padding:30px 24px calc(30px + env(safe-area-inset-bottom));margin:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#7b8478;font-size:.75rem}.notice,.error,.offline-banner{padding:14px 18px;border-radius:10px;margin-bottom:20px;font-size:.9rem}.notice{background:#e6edda;color:#304a28}.error{background:#fae9df;color:#8b381b}.error p{color:inherit}.offline-banner{background:#f5e7ba;color:#69551c}.login-intro{max-width:560px;margin:10px auto 30px;text-align:center}.login-card{max-width:440px;margin:auto;background:#fffefb;border:1px solid var(--line);padding:28px;border-radius:20px}.section-heading{display:flex;gap:14px;align-items:center;margin-bottom:10px}.section-heading p{font-size:.82rem;margin-top:2px}.small-icon{font-size:1.8rem;font-family:Georgia,serif}.stack .check-label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.8rem;margin-top:20px}.check-label input{accent-color:var(--green);width:19px;height:19px;margin:2px 0;flex-shrink:0}.check-label small{display:block;font-size:.7rem;color:var(--muted);margin-top:3px}.fine-print{font-size:.73rem;line-height:1.6;margin-top:20px}.install-tip{font-size:.72rem;text-align:center;margin-top:24px}.back-link{display:inline-flex;min-height:44px;align-items:center;font-size:.85rem;margin-bottom:22px}.camera-intro h1{font-size:clamp(2.5rem,5vw,3.5rem)}.camera-intro h2{margin-top:24px;overflow-wrap:anywhere}.camera-intro p{font-size:.9rem;margin:10px 0 24px;max-width:500px}.camera-card{background:#fffefb;border:1px solid var(--line);border-radius:18px;overflow:hidden}.viewfinder{background:#263e36;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden}.viewfinder video,.viewfinder img{display:block;width:100%;height:100%;object-fit:contain}.viewfinder>div{text-align:center;padding:25px}.viewfinder>div>span{color:#d0dda8;font-size:4rem;font-family:Georgia,serif}.viewfinder p{color:#becab9;font-size:.8rem}.camera-controls{padding:20px}.camera-controls>p{font-size:.8rem;margin-bottom:16px}.camera-controls>.button{width:100%}.button-row{display:flex;gap:10px}.button-row>*{flex:1}.camera-footnote{text-align:center}.camera-intro .eyebrow{font-size:.6rem}@media(min-width:850px){.login-intro{margin-top:22px}.shell:has(.login-intro){max-width:1000px;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;padding-top:70px}.login-intro{text-align:left}.login-card{width:100%}.install-tip{grid-column:2;margin-top:-14px}}@media(max-width:540px){.site-header{padding:17px 20px}.shell{padding:30px 20px 10px}.brand{font-size:1.2rem}.brand-icon{font-size:1.8rem}.intro h1{font-size:2.65rem}.eyebrow{font-size:.59rem}.intro>p{font-size:.85rem}.stats{padding:15px 18px;gap:16px}.stats>div{display:block}.stats strong{font-size:1.8rem}.stats>div>span{display:block;font-size:.7rem}.stats .stats-flower{font-size:2.6rem}.list-heading>span{display:none}.list-heading h2{font-size:1rem}.card-body{padding:18px}.open-symbol{margin:20px 0 0 16px;width:30px;height:30px}.memories{grid-template-columns:1fr}.login-card{padding:23px}.login-intro h1{font-size:2.8rem}.login-intro>p{font-size:.9rem}.site-footer{font-size:.65rem}.button-row{flex-wrap:wrap}.button-row .primary{flex-basis:100%}.viewfinder{aspect-ratio:3/4}}@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .15s ease}}
