:root{--bg:#faf6f1;--card:#fff;--ink:#2a211c;--muted:#7a6d64;--line:#ece4db;--accent:#b4532a;--accent-ink:#fff;--ok:#2f8a4c;--danger:#b3261e;--radius:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#17120f;--card:#221b17;--ink:#f3ece6;--muted:#a99c92;--line:#342b25;--accent:#e07a4b;--accent-ink:#1a110c;--ok:#5cc27e;--danger:#ff8a80;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1,h2{letter-spacing:-.01em;margin:0}h2{margin-bottom:.5rem;font-size:1.1rem}p{margin:.4rem 0}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;width:100%;padding:.7rem .85rem}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}input[type=checkbox]{width:auto;accent-color:var(--accent)}input[type=range]{accent-color:var(--accent);background:0 0;border:0;padding:0}label{gap:.35rem;font-weight:500;display:grid}code{font-size:.85em}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger);font-size:.9rem}.stack{gap:.75rem;display:grid}.row{align-items:center;gap:.6rem;display:flex}.row>*{flex:1}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem}.btn{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.75rem 1.2rem;font-weight:600;transition:transform 80ms}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.5}.plain{background:0 0;border:0;padding:.4rem}.plain.danger{color:var(--danger)}.link{color:var(--muted);background:0 0;border:0;text-decoration:underline}.splash{min-height:100dvh}.welcome{gap:2rem;max-width:420px;margin:0 auto;padding:max(12vh,2rem) 16px 2rem;display:grid}.brand{text-align:center}.brand img{border-radius:18px}.brand h1{margin-top:.6rem;font-size:2.2rem}.brand p{color:var(--muted)}.invited{text-align:center}.shell{max-width:560px;min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom));margin:0 auto}.top{z-index:5;padding:calc(.8rem + env(safe-area-inset-top)) 16px .8rem;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.top h1{text-overflow:ellipsis;white-space:nowrap;font-size:1.3rem;overflow:hidden}.presence{color:var(--muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.presence i{background:var(--muted);opacity:.5;border-radius:50%;width:8px;height:8px}.presence.on i{background:var(--ok);opacity:1;box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 25%, transparent)}.banner{background:color-mix(in srgb, var(--danger) 14%, var(--card));border-radius:12px;margin:0 16px;padding:.7rem 1rem}.content{padding:0 16px}.page{gap:1rem;padding-top:.5rem;display:grid}.tabs{z-index:6;background:color-mix(in srgb, var(--card) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{color:var(--muted);background:0 0;border:0;flex:0 180px;padding:1rem 0;font-weight:600}.tabs button.active{color:var(--accent)}.fab{z-index:7;right:max(16px,50vw - 264px);bottom:calc(84px + env(safe-area-inset-bottom));background:var(--accent);width:58px;height:58px;color:var(--accent-ink);border:0;border-radius:50%;font-size:2rem;line-height:1;position:fixed;box-shadow:0 6px 20px #0003}.feed{gap:1rem;padding-top:.25rem;display:grid}.post{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);content-visibility:auto;contain-intrinsic-size:auto 520px;overflow:hidden}.post-head{align-items:center;gap:.65rem;padding:.75rem .9rem;display:flex}.post-head>div{flex:1;line-height:1.2;display:grid}.post-head small{color:var(--muted)}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.photo{background:var(--line);border:0;width:100%;padding:0;display:block}.photo img{object-fit:cover;width:100%;height:100%;display:block}.post-actions{align-items:center;gap:.25rem;padding:.4rem .6rem 0;display:flex}.heart{background:0 0;border:0;padding:.4rem;font-size:1.05rem}.heart.on{color:#e0245e}.copies{color:var(--muted);margin-left:auto;padding-right:.3rem;font-size:.78rem}.caption{white-space:pre-wrap;overflow-wrap:anywhere;margin:.2rem 0 0;padding:0 .9rem .9rem}.empty{text-align:center;color:var(--muted);padding:18vh 1rem}.empty h2{color:var(--ink)}.sheet-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:560px;max-height:92dvh;padding:1rem 16px calc(1rem + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;gap:.85rem;animation:.2s ease-out up;display:grid;overflow:auto}.preview{object-fit:contain;background:var(--bg);border-radius:12px;width:100%;max-height:45dvh}.sheet textarea{resize:vertical;min-height:84px}.steps{gap:.5rem;display:grid}.steps-title{font-size:1.1rem;font-weight:700}.step{color:var(--muted);align-items:center;gap:.6rem;display:flex}.step span{border:2px solid var(--line);border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;font-size:.8rem;display:grid}.step.now{color:var(--ink)}.step.now span{border-color:var(--accent);color:var(--accent)}.step.done{color:var(--ink)}.step.done span{background:var(--ok);border-color:var(--ok);color:#fff}.viewer{z-index:15;background:var(--bg);animation:.12s fade;position:fixed;inset:0;overflow:auto}.viewer-bar{z-index:2;padding:calc(.5rem + env(safe-area-inset-top)) 10px .5rem;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;display:flex;position:sticky;top:0}.viewer-bar .plain{font-weight:600}.viewer-photo{background:#000;width:100%;max-width:900px;max-height:75dvh;margin:0 auto;position:relative}.viewer-photo img{object-fit:contain;width:100%;height:100%;transition:filter .25s;display:block}.viewer-photo img.soft{filter:blur(2px)}.viewer-status{color:#fff;text-align:center;background:#000000a6;border-radius:999px;width:max-content;max-width:90%;padding:.4rem .9rem;font-size:.85rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.viewer-body{max-width:560px;margin:0 auto;padding:0 16px 2rem}.viewer-body .post-head{padding:.8rem 0}.viewer-body .caption{padding:0}.comments{gap:.35rem;margin:.9rem 0;display:grid}.comments p{overflow-wrap:anywhere;margin:0}.comments small{color:var(--muted);margin-left:.3rem}.comment-form{gap:.5rem;display:flex}.comment-form .btn{flex:none}.members{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.members li{align-items:center;gap:.7rem;padding:.5rem 0;display:flex}.members li>div{flex:1;grid-template-columns:auto 1fr;align-items:center;column-gap:.4rem;display:grid}.members li>div small{color:var(--muted);grid-column:1/-1}.members li.removed{opacity:.5}.tag{background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:999px;justify-self:start;padding:.1rem .45rem;font-size:.7rem}.dot-on{color:var(--ok)}.toggle{align-items:center;gap:.6rem;display:flex}.page .card>.btn{margin-top:.5rem}.privacy p{color:var(--ink)}@keyframes fade{0%{opacity:0}}@keyframes up{0%{opacity:0;transform:translateY(30px)}}.family-switch{text-align:left;background:0 0;border:0;align-items:center;gap:.35rem;min-width:0;padding:0;display:flex;position:relative}.family-switch h1{min-width:0}.family-switch .chev{color:var(--muted);font-size:.9rem}.family-switch .dot{position:absolute;top:-2px;right:-10px}.dot{background:var(--accent);border-radius:50%;width:9px;height:9px;display:inline-block}.sheet h2{margin:.25rem 0 0}.family-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.family-list button{text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:.75rem;width:100%;padding:.6rem;display:flex}.family-list button.current{background:var(--bg);border-color:var(--line)}.family-list .grow{flex:1;min-width:0;line-height:1.25;display:grid}.family-list small{color:var(--muted)}.badge{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.tick{color:var(--accent);font-weight:700}.usage{color:var(--muted);margin:0;padding:0;font-size:.9rem;list-style:none}.usage li{justify-content:space-between;padding:.15rem 0;display:flex}.toast{z-index:30;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);border-radius:999px;max-width:calc(100% - 32px);padding:.65rem 1.1rem;font-size:.9rem;animation:.2s ease-out up;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #0003}.btn.subtle{color:var(--muted);background:0 0;border-color:#0000;font-weight:500}.hint{color:var(--muted);font-size:.85rem}.hint .link{font:inherit;color:var(--accent);padding:0}.devices{gap:.15rem;margin:.5rem 0 .75rem;padding:0;list-style:none;display:grid}.devices li{border-bottom:1px solid var(--line);align-items:center;gap:.6rem;padding:.45rem 0;display:flex}.devices li:last-child{border-bottom:0}.devices .grow{flex:1;line-height:1.3;display:grid}.devices small{color:var(--muted)}.link-flow h2{margin:0}.code{letter-spacing:.12em;text-align:center;background:var(--bg);border:1px dashed var(--line);border-radius:14px;margin:.5rem 0;padding:.8rem;font:700 2.1rem/1.2 ui-monospace,SF Mono,Menlo,monospace}.code-input{letter-spacing:.15em;text-align:center;text-transform:uppercase;font:600 1.5rem ui-monospace,SF Mono,Menlo,monospace}.waiting{text-align:center;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45}}
