:root{--paper:#f8f6f0;--ink:#252b24;--muted:#697064;--line:#dfdfd3;--green:#d5ed87;--dark:#293b29;--orange:#ed8958;--white:#fffefa;--radius:22px;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #6b8438;outline-offset:4px}button:disabled{opacity:.65;cursor:wait}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4.4vw,3.2rem);letter-spacing:-.055em;font-weight:650;line-height:1.12;margin-bottom:15px}h2{font-size:1.3rem;letter-spacing:-.035em;font-weight:650}h3{font-size:1.06rem;font-weight:650;letter-spacing:-.025em;margin-bottom:4px}p{line-height:1.65}small,.fine{font-size:.8rem;line-height:1.65;color:var(--muted)}small{display:block;font-weight:400;margin-top:5px}.muted{color:var(--muted);font-size:.85rem}.eyebrow{font-size:.68rem;letter-spacing:.16em;font-weight:750;color:var(--muted);margin-bottom:17px}.tag{display:inline-block;font-size:.62rem;letter-spacing:.12em;font-weight:750;background:#edf0e3;border-radius:7px;padding:8px 10px}.header{height:100px;max-width:1376px;margin:auto;padding:0 6%;display:flex;align-items:center;gap:45px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;text-decoration:none;font-size:1.7rem;font-weight:800;letter-spacing:-.07em}.brand-dot{color:#6b8438}.brand-icon{width:35px;height:35px;border-radius:12px;background:var(--green);margin-right:9px;display:flex;align-items:center;justify-content:center;position:relative;font-size:1.9rem;font-weight:800;line-height:1;transform:rotate(-7deg)}.brand-icon span{font-size:14px;position:absolute;right:0;top:-8px;color:var(--dark)}nav{display:flex;gap:30px;height:100%;align-items:center}nav a{text-decoration:none;font-size:.87rem;font-weight:550;position:relative;padding:12px 0;color:var(--muted)}nav a[aria-current]{color:var(--ink)}nav a[aria-current]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:5px;background:#728843}.account{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:.8rem}.account form{margin-left:10px}.text-button{border:0;background:none;padding:8px 0;color:var(--muted);font-size:.8rem;text-decoration:underline;text-underline-offset:4px}.header-note{margin-left:auto;font-size:.75rem;color:var(--muted)}.main{max-width:1200px;margin:0 auto;padding:52px 42px 70px;min-height:calc(100vh - 187px)}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:44px}.page-intro p:last-child{color:var(--muted);margin-bottom:0;font-size:.95rem}.wave{display:inline-block;color:var(--orange);margin-left:15px;vertical-align:middle;font-size:.9em;font-weight:400}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 21px;border:1px solid var(--dark);border-radius:12px;background:var(--dark);color:white;font-weight:600;font-size:.85rem;text-decoration:none;line-height:1.3;transition:background .15s,transform .15s}.button:hover{background:#3f5437;transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--dark);border-color:#c7cdbd}.button.secondary:hover{background:#eff0e7}.button.full{width:100%;justify-content:space-between}.button.small-button{padding:10px 15px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.section-heading h2{margin:0}.section-heading .muted,.quiet-link{font-size:.78rem}.quiet-link{font-weight:600}.pill{font-size:.7rem;font-weight:500;border:1px solid var(--line);border-radius:30px;padding:4px 8px;vertical-align:middle;margin-left:7px}.friends-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.friend-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:23px}.friend-card:nth-child(3n+2){background:#f2f3e9}.friend-top{display:flex;align-items:center;gap:12px}.avatar{width:46px;height:46px;flex-shrink:0;background:#f0d8c9;border-radius:17px;display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:1.4rem}.friend-card:nth-child(3n+2) .avatar{background:#dce7c4}.friend-card:nth-child(3n+3) .avatar{background:#dde0ed}.avatar.small{width:32px;height:32px;font-size:1rem;border-radius:50%}.streak-count{margin-left:auto;font-weight:650;font-size:1.2rem;white-space:nowrap}.streak-count span{color:#d87943;font-size:1.4rem}.participation{display:flex;gap:8px;margin:24px 0 11px;font-size:.73rem;color:var(--muted)}.participation span{border:1px solid var(--line);border-radius:7px;padding:6px 9px;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participation span.done{color:#416126;border-color:#d4e2bb;background:#edf4e2}.card-note{font-size:.79rem;color:var(--muted);min-height:2.6em;margin-bottom:16px}.friend-card .button{font-size:.78rem;padding:13px 14px}.deadline{font-size:.62rem;color:var(--muted);margin:12px 0 0;text-align:center}.feed{margin-top:44px}.photos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.photo-card{overflow:hidden;border-radius:18px;border:1px solid var(--line);background:var(--white)}.photo-link{display:block;overflow:hidden;aspect-ratio:1;background:#e9eadf}.photo-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.photo-link:hover img{transform:scale(1.025)}.photo-meta{padding:17px;font-size:.8rem}.photo-meta time{font-size:.67rem;color:var(--muted);display:block;margin-top:6px}.photo-meta p{margin:13px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.photo-meta strong{font-weight:650}.photo-meta .muted{font-size:.8rem}.load-more{display:flex;width:fit-content;margin:30px auto 0}.empty{border:1px dashed #cad0bd;border-radius:var(--radius);text-align:center;padding:36px 20px;background:#f0f1e6}.empty-symbol{font-size:3rem;color:#859b5a;display:block;margin-bottom:12px}.empty h3{font-size:1.3rem;letter-spacing:-.04em}.empty p{font-size:.85rem;color:var(--muted);margin-bottom:22px}.empty.compact{padding:27px 20px;background:transparent}.empty.compact p{margin:0}.empty-inline{color:var(--muted);font-size:.85rem;margin-top:25px}.footer{border-top:1px solid var(--line);margin:0 auto;max-width:1200px;padding:25px 42px;display:flex;justify-content:space-between;gap:20px;font-size:.7rem;color:var(--muted)}.footer span span{color:#d87943;padding-left:5px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px;margin-bottom:22px}.panel>p{font-size:.88rem;color:var(--muted)}.panel h1{font-size:2.4rem;margin-top:20px}.panel h2{margin-bottom:12px}.panel.narrow{max-width:610px;margin:20px auto}.two-column{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;align-items:start}.connections{list-style:none;margin:24px 0 0;padding:0}.connection{display:flex;align-items:center;gap:11px;padding:20px 0;border-top:1px solid var(--line);flex-wrap:wrap}.connection-name{display:flex;flex-direction:column;gap:5px;flex:1}.connection-name strong{font-size:.9rem}.connection .tag{font-size:.55rem}.connection .muted{font-size:.7rem}.connection form{margin:0}label{display:block;font-size:.82rem;font-weight:600;margin-bottom:19px}input,textarea,select{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid #d6d9cc;background:#fffefa;color:var(--ink);border-radius:9px;font-size:.9rem}textarea{resize:vertical;min-height:90px}input[readonly]{background:#f1f3eb;font-size:.78rem}::placeholder{color:#969b8d;font-size:.82rem}.share-panel{max-width:650px;margin:0 auto}.upload-zone{border:1.5px dashed #bcc9a4;border-radius:16px;background:#f2f5e9;padding:27px;text-align:center;font-weight:400;margin-top:25px}.upload-zone strong,.upload-zone>span{display:block}.upload-zone>span:not(.upload-icon){font-size:.75rem;color:var(--muted);margin-top:8px}.upload-icon{font-size:2.3rem;color:#73884f;margin-bottom:8px}.upload-zone input{font-size:.75rem;background:transparent;border:0;padding:10px 0 0;width:100%;max-width:300px;margin:12px auto 0}.preview{width:100%;max-height:370px;object-fit:contain;border-radius:12px;background:#edf0e5;margin-bottom:20px}.preview[hidden]{display:none}#upload-status,#copy-status{font-size:.82rem;color:#416126;margin:12px 0 0}.auth-main{max-width:1160px;margin:0 auto;padding:68px 42px 80px;min-height:calc(100vh - 187px);display:grid;grid-template-columns:1.15fr 1fr;gap:85px;align-items:center}.auth-story h1{font-size:clamp(2.5rem,4.5vw,4rem);font-weight:600;letter-spacing:-.065em;line-height:1.08}.auth-story h1 em{font-family:Georgia,serif;font-weight:400;color:#60743c;letter-spacing:-.055em}.auth-story>p:not(.eyebrow){color:var(--muted);font-size:.9rem}.auth-card{background:var(--white);border:1px solid var(--line);border-radius:26px;padding:35px}.auth-card h2{font-size:1.8rem;margin:24px 0 10px}.auth-card>p{color:var(--muted);font-size:.84rem;margin-bottom:28px}.auth-card form{margin-top:25px}.auth-card .fine{margin:24px 0 0}.ritual-art{position:relative;background:#dbe9ad;border-radius:17px;max-width:370px;height:220px;margin-top:37px;transform:rotate(-3deg);overflow:hidden;box-shadow:8px 10px 0 #e9e7db}.art-note{font-family:Georgia,serif;font-style:italic;font-size:2.1rem;position:absolute;top:32px;left:28px;line-height:1.1;letter-spacing:-.05em}.art-star{position:absolute;font-size:5.5rem;color:#6b813e;right:14px;top:5px}.art-smile{position:absolute;font-size:6.2rem;color:#3e572e;bottom:5px;right:32px;transform:rotate(12deg)}.art-label{font-size:.53rem;letter-spacing:.1em;position:absolute;left:28px;bottom:25px;font-weight:700}.skip{position:absolute;left:10px;top:-100px;padding:12px;background:white;z-index:10}.skip:focus{top:10px}
@media(min-width:1200px){.main{padding-top:62px}.header{padding-left:8%;padding-right:8%}}
@media(max-width:1000px){.friends-grid,.photos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-main{gap:35px}.header{gap:28px}.account-name{display:none}.auth-card{padding:27px}.two-column{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.header{height:auto;min-height:88px;padding:19px 22px 0;gap:12px;flex-wrap:wrap}.brand{font-size:1.55rem}.brand-icon{width:30px;height:30px;font-size:1.7rem}.account{font-size:.7rem}.account .avatar{display:none}.account form{margin:0}.header nav{order:3;width:100%;justify-content:center;gap:45px;height:auto;margin-top:5px}.header nav a{padding:13px 0}.header-note{font-size:.62rem;max-width:115px;text-align:right;padding-bottom:17px}.header:has(.header-note) .brand{padding-bottom:17px}.main{padding:30px 20px 48px}.page-intro{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:32px}.page-intro h1{font-size:2.2rem}.page-intro .button{padding:13px 17px}.eyebrow{font-size:.61rem;margin-bottom:13px}.friends-grid,.photos-grid,.two-column{grid-template-columns:1fr}.friend-card{padding:23px}.section-heading{align-items:flex-start}.section-heading h2{font-size:1.1rem}.section-heading .muted{font-size:.66rem;max-width:115px;text-align:right;line-height:1.4}.section-heading .quiet-link{font-size:.7rem;white-space:nowrap}.feed{margin-top:34px}.friend-card .card-note{min-height:0}.friend-card .participation{margin-top:20px}.footer{padding:21px 20px;font-size:.62rem}.footer>span:last-child{max-width:110px;text-align:right}.auth-main{padding:37px 20px 45px;grid-template-columns:1fr;gap:27px}.auth-story h1{font-size:2.7rem}.ritual-art{display:none}.auth-story>p:last-of-type{margin:0}.auth-card{padding:27px}.auth-card h2{margin-top:20px}.panel{padding:25px}.panel.narrow{margin:0 auto}.panel h1{font-size:2rem}.connection{gap:9px}.photos-grid{gap:22px}.upload-zone{padding:20px 14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
