@font-face{font-family:system;src:local("Arial")}*{box-sizing:border-box}html{background:#f7f6f2;color:#273c35;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button{border:0;background:transparent;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #d6a087;outline-offset:4px}input,textarea,select{width:100%;border:1px solid #dcded6;background:#fff;border-radius:13px;padding:13px 15px;color:#273c35;outline:none}input:focus,textarea:focus,select:focus{border-color:#41695e;box-shadow:0 0 0 3px #244c4310}textarea{resize:vertical;line-height:1.6}label{display:block;margin-bottom:15px;font-size:13px;font-weight:600}label input,label textarea{margin-top:7px}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:600;letter-spacing:-1.2px}h2{font-size:23px;letter-spacing:-.6px}h3{font-size:16px}p{line-height:1.6}.muted{color:#88938a}.small{font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:2.3px;font-size:10px;font-weight:700;color:#879187}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-size:28px;font-weight:650;letter-spacing:-1px}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:#244c43;color:#f9f4e8;font-size:34px;line-height:1;font-weight:600;padding-bottom:5px}.brand-mark:after{content:"";width:6px;height:6px;border-radius:50%;background:#e8ac8c;position:absolute;transform:translate(9px,3px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;padding:12px 18px;background:#244c43;color:#fff;font-weight:550;min-height:46px;text-decoration:none}.btn:hover{background:#335e52}.btn.secondary{background:#edf0e9;color:#244c43}.btn.soft{background:#faf4ed;color:#795b46}.btn.wide{width:100%}.btn.danger{background:#fff0eb;color:#a24e39}.icon{width:21px;height:21px;display:inline-block;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%}.icon-btn:hover{background:#edf0e9}.loading{min-height:80vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}.auth{min-height:100dvh;display:grid;grid-template-columns:1.08fr 1fr}.auth-story{background:#e9eee4;padding:55px 9%;display:flex;flex-direction:column;justify-content:space-between;min-height:700px;overflow:hidden}.auth-story h1{font-size:clamp(40px,4.3vw,66px);line-height:1.08;font-family:Georgia,serif;font-weight:400;letter-spacing:-2px;margin:35px 0 22px}.auth-story h1 em{color:#66816b;font-weight:400}.auth-story p{max-width:360px;color:#6e7e70}.auth-form{padding:60px 12%;display:flex;flex-direction:column;justify-content:center;align-items:center}.auth-form>div{width:100%;max-width:370px}.auth-form h2{font-family:Georgia,serif;font-size:34px;font-weight:400;margin-bottom:10px}.auth-form form{margin-top:30px}.auth-note{margin:25px 0;font-size:13px;color:#899086}.auth-switch{margin-top:20px;font-size:13px;color:#647267;text-align:center}.auth-switch button{text-decoration:underline;text-underline-offset:4px}.landscape{width:100%;max-width:460px;margin:15px 0}.secure-note{display:flex;align-items:center;gap:8px;font-size:12px;color:#71806f}.layout{max-width:1530px;margin:auto;display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100dvh}.sidebar{height:100dvh;position:sticky;top:0;padding:39px 28px;border-right:1px solid #e8e8df;display:flex;flex-direction:column;gap:34px}.brand-caption{font-size:10px;color:#829080;letter-spacing:1.5px;margin:10px 0 0 50px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{display:flex;align-items:center;gap:13px;padding:14px 15px;text-align:left;border-radius:12px;font-weight:500}.nav button:hover{background:#eeefe9}.nav button.active{background:#e7ede3;color:#244c43}.side-bottom{margin-top:auto}.family-tag{border:1px solid #e0e4d9;border-radius:14px;padding:15px;margin-bottom:20px;font-size:12px;color:#77866f;line-height:1.6}.family-tag b{display:block;color:#3d5842;font-size:13px;margin:5px 0}.user-mini{display:flex;gap:11px;align-items:center;min-width:0}.user-mini>div:last-child{overflow:hidden}.user-mini strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.avatar{display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:#e7ebdf;color:#4e6950;font-family:Georgia,serif;font-size:19px}.avatar.coral{background:#f1dfd1;color:#906647}.main{min-width:0}.topbar{padding:26px 44px;border-bottom:1px solid #e8e8df;display:flex;align-items:center;justify-content:space-between;min-height:92px}.topbar .eyebrow{letter-spacing:1.8px}.topbar .secure-note{color:#879080}.mobile-brand{display:none}.workspace{padding:36px 44px;display:grid;grid-template-columns:minmax(0,680px) 260px;gap:35px;justify-content:center}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:15px}.page-heading p{font-size:13px;color:#8a9386;margin-top:8px}.season-label{font-family:Georgia,serif;font-style:italic;color:#89917d;font-size:17px}.composer{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #e6e7df;border-radius:17px;padding:18px;margin-bottom:25px;width:100%;text-align:left;box-shadow:0 3px 12px #273c3503}.composer>span:nth-child(2){flex:1;font-size:14px;color:#90978b}.composer .icon{color:#7a8f73}.post{background:#fff;border:1px solid #e5e7de;border-radius:20px;overflow:hidden;margin-bottom:25px;box-shadow:0 6px 22px #273c3503}.post-head{display:flex;align-items:center;gap:11px;padding:20px}.post-head .post-person{flex:1}.post-person strong{font-size:14px;font-weight:600}.post-person time{display:block;font-size:11px;color:#92998f;margin-top:4px}.post-media{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;background:#e9ece5}.post-media>div{min-width:100%;max-width:100%;scroll-snap-align:start;position:relative;display:flex;align-items:center;justify-content:center}.post-media img,.post-media video{display:block;width:100%;max-height:620px;object-fit:contain}.media-index{position:absolute;top:14px;right:14px;background:#20372f99;color:white;border-radius:20px;padding:5px 10px;font-size:11px}.post-body{padding:18px 22px 4px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:14px}.post-actions{display:flex;align-items:center;gap:20px;padding:15px 19px 19px;color:#798573}.post-actions button{display:flex;align-items:center;gap:7px;font-size:12px;min-height:35px}.post-actions button.liked{color:#b8755c}.post-actions button.liked .icon{fill:#b8755c22}.post-actions .right{margin-left:auto;color:#a3aa9f;font-size:11px}.comments{border-top:1px solid #eceee7;padding:18px 22px}.comment{margin-bottom:13px;font-size:13px;overflow-wrap:anywhere;line-height:1.5}.comment strong{font-size:12px;margin-right:7px}.comment-form{display:flex;gap:7px;margin-top:15px}.comment-form input{font-size:13px;min-width:0}.comment-form button{padding:10px}.aside{padding-top:4px}.aside-block{border-bottom:1px solid #e2e5db;padding:0 0 26px;margin-bottom:26px}.aside-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;font-size:13px;font-weight:600}.aside-title span{font-size:11px;color:#9ba391;font-weight:400}.member-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;margin:15px 0}.member-row .avatar{width:36px;height:36px;font-size:16px}.member-row strong{display:block;font-size:12px}.member-row small{display:block;color:#9aA18f;font-size:10px;margin-top:4px}.invite-card{background:#e9eee4;border-radius:17px;padding:23px}.invite-card .icon{color:#6c8865;margin-bottom:18px}.invite-card h3{font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.2}.invite-card p{font-size:12px;color:#809077;margin:13px 0 20px}.invite-card button{font-size:12px;padding:11px;background:#fff;color:#395841}.aside-footer{margin-top:24px;font-size:10px;color:#a2aa99;line-height:1.8}.empty{background:#fff;border:1px solid #e5e7de;border-radius:20px;padding:45px 30px;text-align:center}.empty .landscape{max-width:275px;margin:0 auto 25px;display:block}.empty h2{font-family:Georgia,serif;font-size:28px;font-weight:400}.empty p{max-width:340px;margin:14px auto 24px;color:#8a9483;font-size:13px}.empty .eyebrow{margin-bottom:12px}.mobile-nav{display:none}dialog{border:1px solid #e3e6dc;border-radius:23px;padding:30px;width:calc(100% - 28px);max-width:560px;color:#273c35;background:#fafbf7;max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #20372f33}dialog::backdrop{background:#172e285e;backdrop-filter:blur(5px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-heading h2{font-family:Georgia,serif;font-size:28px;font-weight:400}.modal-heading button{font-size:26px}.modal-copy{font-size:13px;color:#84917c;margin:12px 0 20px}.error{color:#a14e3e;font-size:13px;line-height:1.5;margin:15px 0;min-height:0}.preview-grid{display:flex;gap:10px;overflow:auto;margin:18px 0}.preview-item{position:relative;flex-shrink:0}.preview-item img,.preview-item video{width:100px;height:110px;object-fit:cover;border-radius:12px}.preview-item button{position:absolute;right:3px;top:3px;background:#244c43cc;color:#fff;border-radius:50%;width:25px;height:25px}.upload-progress{color:#657e5c;font-size:12px;padding:12px 0;line-height:1.6}.upload-progress progress{width:100%;accent-color:#456b50}.member-card{display:flex;align-items:center;gap:14px;padding:21px;background:#fff;border:1px solid #e5e7de;border-radius:16px;margin-bottom:12px}.member-card>div:nth-child(2){flex:1;min-width:0}.member-card h3{font-size:14px}.member-card p{font-size:12px;color:#8b9682;margin-top:5px}.member-card .btn{padding:8px 12px;min-height:38px;font-size:12px}.chat-panel{border:1px solid #e5e7de;border-radius:20px;background:white;overflow:hidden}.chat-select{padding:15px;border-bottom:1px solid #edf0e8}.chat-select select{background:#f7f8f3}.messages{height:clamp(260px,50dvh,620px);overflow:auto;padding:22px;display:flex;flex-direction:column;gap:15px}.bubble{max-width:85%;align-self:flex-start;background:#f0f2e9;border-radius:16px 16px 16px 3px;padding:12px 15px;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.55;font-size:13px}.bubble.mine{align-self:flex-end;background:#e0eadc;border-radius:16px 16px 3px 16px}.bubble strong{display:block;color:#72816a;font-size:10px;margin-bottom:5px}.bubble time{font-size:9px;color:#939e88;display:block;text-align:right;margin-top:6px}.chat-form{display:flex;gap:10px;padding:15px;border-top:1px solid #edf0e8;align-items:flex-end}.chat-form textarea{min-height:46px;max-height:130px;resize:none;font-size:14px}.chat-form button{flex-shrink:0}.settings{background:white;border:1px solid #e5e7de;border-radius:20px;padding:25px}.settings h3{margin-bottom:18px}.settings section+section{margin-top:30px;padding-top:25px;border-top:1px solid #e5e7de}.settings p{font-size:13px;color:#88947e;margin:12px 0}.install-links{display:flex;gap:10px;flex-wrap:wrap}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#244c43;color:#fff;border-radius:13px;padding:14px 22px;max-width:90vw;z-index:1000;transition:all .2s;font-size:13px;box-shadow:0 8px 35px #244c4333}#toast.show{opacity:1;transform:translate(-50%,0)}.invite-link{word-break:break-all;font-size:13px;background:#edf0e7;padding:17px;border-radius:12px;line-height:1.8;margin:15px 0}.status-error{padding:24px;color:#a14e3e;font-size:13px}.load-more{margin:0 auto 25px;display:flex}.profile-head{display:flex;align-items:center;gap:17px;margin-bottom:28px}.profile-head .avatar{width:64px;height:64px;font-size:28px}.profile-head p{font-size:13px;color:#899480;margin-top:6px}
@media(min-width:1500px){.workspace{gap:45px;padding-top:44px}.sidebar{padding-left:35px}}@media(max-width:1180px){.layout{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:32px 18px}.workspace{padding:30px;grid-template-columns:minmax(0,680px)}.aside{display:none}.topbar{padding:22px 30px}}@media(max-width:720px){html{font-size:14px}.auth{display:block}.auth-story{padding:26px 25px;min-height:0;display:block}.auth-story h1{font-size:42px;margin:30px 0 14px}.auth-story .landscape{display:none}.auth-story>p,.auth-story>.secure-note{display:none}.auth-story p{font-size:13px}.auth-form{padding:35px 25px 50px}.auth-form h2{font-size:29px}.auth-form form{margin-top:25px}.layout{display:block}.sidebar{display:none}.topbar{padding:15px 21px;min-height:73px;position:sticky;top:0;background:#f7f6f2ed;backdrop-filter:blur(15px);z-index:5}.topbar>.eyebrow{display:none}.mobile-brand{display:flex}.mobile-brand .brand{font-size:25px}.mobile-brand .brand-mark{width:32px;height:32px;font-size:29px;border-radius:10px}.topbar .secure-note{font-size:10px;gap:5px}.topbar .secure-note .icon{width:14px;height:14px}.workspace{display:block;padding:25px 15px 100px}.page-heading{padding:0 5px;margin-bottom:23px}.page-heading h1{font-size:28px}.page-heading p{font-size:12px;max-width:240px;line-height:1.5}.season-label{font-size:14px}.composer{padding:15px;border-radius:16px;margin-bottom:20px}.composer>span:nth-child(2){font-size:13px}.composer .avatar{width:34px;height:34px;font-size:16px}.post{border-radius:17px;margin-bottom:20px}.post-head{padding:15px}.post-head .avatar{width:35px;height:35px;font-size:16px}.post-body{padding:15px 17px 2px}.post-actions{padding:10px 14px 13px;gap:18px}.post-actions .right{font-size:10px}.post-media img,.post-media video{max-height:520px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;align-items:center;background:#fafbf7f5;backdrop-filter:blur(20px);border-top:1px solid #e0e4d8;padding:9px 5px max(9px,env(safe-area-inset-bottom));z-index:6}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:53px;font-size:9px;color:#89967e;min-height:43px;justify-content:center}.mobile-nav button.active{color:#244c43}.mobile-nav button.create{background:#244c43;color:#fff;border-radius:14px;width:47px;min-width:47px;height:44px;margin:0 7px}.mobile-nav button.create .icon{width:25px;height:25px}.empty{padding:35px 22px}.empty h2{font-size:25px}.empty p{font-size:12px}.empty .landscape{max-width:220px}.messages{height:calc(100dvh - 360px);min-height:260px;padding:16px}.bubble{font-size:13px;max-width:90%}.chat-form{padding:12px}.chat-form .btn{padding:12px}.member-card{padding:16px;gap:10px}.member-card .btn{padding:8px}.settings{padding:20px}.page-heading .btn{padding:11px 13px;font-size:12px}dialog{padding:22px;border-radius:20px}.comments{padding:15px}.post-actions button{min-height:38px}#toast{bottom:92px}.profile-head{padding:0 5px}.auth-story .brand{font-size:27px}.settings .btn{font-size:13px}.auth-note{margin:20px 0}.install-links .btn{flex:1}.chat-panel{border-radius:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
[hidden]{display:none!important}
.chat-history{padding:12px;width:100%;border-bottom:1px solid #edf0e8}

.access-gate{padding:30px 20px;min-height:100dvh}.access-gate>.settings{width:100%;max-width:520px}.access-gate h1{font-size:26px}.member-card h3{overflow-wrap:anywhere}.member-card p{overflow-wrap:anywhere}@media(max-width:720px){.member-card{flex-wrap:wrap}.member-card>div:nth-child(2){flex-basis:calc(100% - 60px)}.member-card>.btn{flex:1}.auth-story h1{font-size:clamp(28px,8.4vw,38px)}}

.private-chat-head{display:flex;align-items:center;gap:12px;padding:17px;border-bottom:1px solid #e5e7de}.private-chat-head h3{overflow-wrap:anywhere}.private-chat-head>div{min-width:0}.dialog-list{background:white;border:1px solid #e5e7de;border-radius:18px;overflow:hidden}.dialog-row{display:flex;width:100%;gap:13px;align-items:center;text-align:left;padding:19px;border-bottom:1px solid #edf0e8}.dialog-row:last-child{border-bottom:0}.dialog-row:hover{background:#f0f3eb}.dialog-person{display:block;flex:1;min-width:0}.dialog-person strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-person>span{display:block;font-size:12px;color:#8a9583;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-time{color:#98a18e;font-size:10px;flex-shrink:0}.dialog-list .empty{border:0}.private-chat-head .icon-btn{font-size:25px}
.notice-button{position:relative;padding:10px;color:#42624d}.notice-button span{position:absolute;right:2px;top:0;color:#b8755c;font-size:24px}.check-row{display:flex;align-items:center;gap:13px;margin:16px 0;font-size:14px}.check-row input{appearance:auto;width:21px;height:21px;min-height:21px;flex:0 0 21px;accent-color:#244c43;padding:0}.capture-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.capture-actions button{flex:1;font-size:12px}.capture-view{background:#172e28;border-radius:18px;overflow:hidden;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}.capture-view video{width:100%;height:100%;object-fit:cover}.round-capture{border-radius:50%;aspect-ratio:1;max-width:360px;margin:auto}.voice-indicator{color:#fff;display:flex;align-items:center;flex-direction:column;gap:22px;padding:25px;text-align:center}.voice-indicator .icon{width:60px;height:60px}.capture-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.capture-buttons button{flex:1;min-width:110px}.record-time{text-align:center;margin:17px 0;font-size:13px;font-variant-numeric:tabular-nums}#capture-preview{margin:15px 0;text-align:center}#capture-preview img,#capture-preview video{max-width:100%;max-height:45dvh;border-radius:15px}#capture-preview audio{max-width:100%}.circle-message{display:block;width:220px;height:220px;max-width:100%;border-radius:50%!important;object-fit:cover;background:#172e28}.voice-message{width:265px;max-width:100%;display:block}.media-bubble{padding:10px;max-width:95%}.media-bubble>span{display:block;margin-top:7px}.chat-form textarea{min-width:0}.chat-form .icon-btn{min-width:38px;min-height:44px;display:flex;align-items:center;justify-content:center}.capture-dialog{max-width:520px}.capture-dialog .error{margin:10px 0}.capture-dialog .upload-progress{padding:0}@media(max-width:720px){.chat-form{gap:5px;padding:10px}.chat-form textarea{padding:10px 8px;font-size:13px}.chat-form .icon-btn{min-width:33px}.chat-form .btn{padding:11px 9px}.voice-message{width:245px}.circle-message{width:210px;height:210px}.capture-dialog{padding:18px}.capture-dialog .modal-heading h2{font-size:24px}.capture-actions{gap:7px}.capture-actions button{padding:11px 7px}}
