@font-face{font-family:system;src:local("Avenir Next")}*{box-sizing:border-box} :root{--paper:#f7f5f0;--ink:#30372d;--muted:#7b7f72;--green:#485b42;--line:#e3e4da;--lavender:#e5e0ef;--pink:#f2e6df;--white:#fffefa}body{margin:0;background:var(--paper);color:var(--ink);font-family:system,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #b0a1ce;outline-offset:4px}a{color:var(--green)}[hidden]{display:none!important}.shell{max-width:580px;margin:auto;padding:calc(26px + env(safe-area-inset-top)) 25px calc(125px + env(safe-area-inset-bottom));min-height:100dvh}.topbar{display:flex;justify-content:space-between;align-items:center}.wordmark{font-family:Georgia,serif;font-size:31px;letter-spacing:-1.8px}.wordmark .dot{color:#9ca28a}.icon-button{width:43px;height:43px;border:1px solid var(--line);border-radius:50%;background:transparent;display:grid;place-items:center;color:var(--green)}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2.3px;font-weight:650;color:var(--muted)}.hero{margin:49px 0 26px}.hero h1,.auth h1{font:normal clamp(39px,10vw,48px)/1.1 Georgia,serif;letter-spacing:-1.9px;margin:12px 0 14px}.hero p,.subtle{color:var(--muted);font-size:14px;line-height:1.65}.connection{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--green);background:#ecede4;border-radius:30px;padding:8px 12px}.connection:before{content:"";width:6px;height:6px;background:#879578;border-radius:50%}.tabs{display:flex;gap:23px;border-bottom:1px solid var(--line);margin:32px 0 24px}.tab{padding:12px 0 13px;border:0;background:none;color:var(--muted);font-size:14px;position:relative}.tab.active{color:var(--ink);font-weight:600}.tab.active:after{content:"";position:absolute;height:2px;background:var(--green);bottom:-1px;left:0;right:0}.count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;border-radius:20px;background:#e8e9e0;font-size:11px}.empty{text-align:center;padding:42px 12px 30px}.paper-art{width:150px;height:132px;position:relative;margin:0 auto 24px}.paper-art:before,.paper-art:after{content:"";position:absolute;width:86px;height:106px;border-radius:12px;top:10px;left:23px;transform:rotate(-13deg);background:var(--lavender);box-shadow:0 6px 12px #30372d05}.paper-art:after{left:48px;top:16px;transform:rotate(13deg);background:#e1e7d9;border:6px solid var(--paper)}.art-star{position:absolute;z-index:1;top:39px;left:70px;font-size:37px;color:#78876b}.empty h2{font:normal 25px Georgia,serif;letter-spacing:-.5px}.empty p{font-size:14px;color:var(--muted);line-height:1.7;max-width:290px;margin:auto}.message{display:flex;text-align:left;align-items:center;width:100%;padding:19px 16px;border:1px solid var(--line);background:var(--white);border-radius:17px;margin-bottom:12px;gap:15px;color:var(--ink)}.message-icon{display:grid;place-items:center;border-radius:13px;width:49px;height:55px;flex-shrink:0;background:var(--lavender)}.message:nth-child(even) .message-icon{background:#e4e9dd}.message-info{flex:1;min-width:0}.message-title{font-size:15px;font-weight:550;display:block}.message-time{font-size:12px;color:var(--muted);display:block;margin-top:6px}.arrow{color:#969b8d}.footer-note{font-size:11px;color:#939686;text-align:center;margin:30px auto 0;line-height:1.8}.compose-fab{position:fixed;bottom:calc(25px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--green);color:white;display:flex;align-items:center;justify-content:center;gap:11px;border:0;border-radius:50px;padding:17px 28px;box-shadow:0 7px 24px #2c38272a;font-size:14px;white-space:nowrap;z-index:5}.primary{width:100%;background:var(--green);color:white;border:0;border-radius:13px;min-height:53px;padding:14px 20px;font-weight:550;font-size:15px}.secondary{width:100%;background:transparent;color:var(--green);border:1px solid var(--line);border-radius:13px;min-height:48px;padding:12px 16px}.text-button{color:var(--green);background:none;border:none;padding:12px;font-size:14px}.invite-card{padding:24px;background:#e9e9dd;border:1px solid #dcdfce;border-radius:20px;margin-top:26px}.invite-card h2{font:normal 24px Georgia,serif;margin:0 0 10px}.invite-card p{font-size:14px;color:#707763;line-height:1.6}.invite-card .primary{margin-top:10px}.overlay{position:fixed;inset:0;z-index:10;background:var(--paper);overflow:auto;overscroll-behavior:contain}.panel{max-width:580px;margin:auto;min-height:100dvh;display:flex;flex-direction:column;padding:calc(22px + env(safe-area-inset-top)) 25px calc(26px + env(safe-area-inset-bottom))}.panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.panel-title{font:normal 24px Georgia,serif;letter-spacing:-.5px}.panel-content{flex:1}.field{display:block;margin-bottom:20px}.field>span{display:block;font-size:12px;color:var(--muted);margin-bottom:9px}.field input,.field textarea,.link-box{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:15px;width:100%;color:var(--ink);font-size:16px;outline:none}.field input:focus,.field textarea:focus{border-color:#8c9a80;box-shadow:0 0 0 3px #485b4210}.field textarea{resize:vertical;min-height:210px;line-height:1.7}.photo-picker{display:flex;align-items:center;justify-content:center;gap:12px;border:1.5px dashed #cbd0c0;border-radius:15px;min-height:92px;color:var(--green);background:#eeefe6;margin:15px 0;cursor:pointer}.photo-picker input{position:absolute;width:1px;height:1px;opacity:0}.preview-image,.view-image{display:block;width:100%;max-height:58dvh;object-fit:contain;border-radius:15px;background:#eeece5;margin:15px 0}.preview-wrap{position:relative}.remove-photo{position:absolute;right:8px;top:8px;background:var(--white)}.view-text{font:normal 25px/1.55 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0 30px}.panel-bottom{padding-top:24px;position:sticky;bottom:0;background:var(--paper)}.panel-bottom p{font-size:12px;text-align:center;color:var(--muted);line-height:1.6;margin:12px 0 0}.auth{max-width:420px;margin:0 auto;padding:calc(45px + env(safe-area-inset-top)) 26px 35px;min-height:100dvh}.auth .brand-mark{margin-bottom:43px}.auth .subtle{margin-bottom:28px}.brand-mark{display:grid;place-items:center;width:56px;height:62px;background:var(--lavender);border-radius:16px;font:normal 39px Georgia,serif;color:var(--green);letter-spacing:-4px;padding-right:5px}.auth .eyebrow{margin-top:30px}.auth-switch{text-align:center;margin-top:15px}.auth .footer-note{margin-top:35px}.error{font-size:13px;color:#9a4437;background:#f4e7df;border-radius:10px;padding:12px;line-height:1.5;margin:0 0 18px}.toast{position:fixed;bottom:calc(95px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);width:max-content;z-index:30;background:#30372d;color:white;font-size:13px;padding:14px 20px;border-radius:13px;box-shadow:0 4px 25px #0002;line-height:1.5}.loading{min-height:90dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:14px}.settings-block{padding:23px 0;border-top:1px solid var(--line)}.settings-block h3{font-size:14px;margin:0 0 10px}.settings-block p{font-size:14px;color:var(--muted);line-height:1.7}.link-box{font-size:12px;overflow-wrap:anywhere;line-height:1.6;margin:16px 0;user-select:all}.status-line{font-size:12px;color:var(--muted);padding-bottom:12px}.compose-fab:disabled{opacity:.7}.install-tip{font-size:12px;color:var(--muted);line-height:1.7;margin:28px 0}.sync-error{font-size:12px;color:#9a4437;line-height:1.5}.success-art{font-size:52px;color:var(--green);margin-bottom:25px}@media(min-width:700px){.shell{padding-top:45px}.hero{margin-top:65px}.overlay{background:#30372d33;backdrop-filter:blur(8px)}.panel{margin:35px auto;border-radius:25px;min-height:calc(100dvh - 70px);max-height:calc(100dvh - 70px);overflow:auto;background:var(--paper);padding:28px 32px}.auth{padding-top:70px}.compose-fab{bottom:35px}}@media(prefers-reduced-motion:no-preference){.message{animation:appear .25s ease-out}.overlay{animation:appear .18s ease-out}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}
