@font-face{font-family:body;src:url(../media/figtree_latin-s.p.0-95eo-012xnf.woff2)format("woff2");font-display:swap;font-weight:300 900}@font-face{font-family:body Fallback;src:local(Arial);ascent-override:95.06%;descent-override:25.02%;line-gap-override:0.0%;size-adjust:99.94%}.body_7ca215b6-module__oM2vbW__className{font-family:body,body Fallback,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.body_7ca215b6-module__oM2vbW__variable{--font-body-latin:"body", "body Fallback", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif}
@font-face{font-family:display;src:url(../media/bricolage_latin-s.p.1jake7ccbq8_p.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:display Fallback;src:local(Arial);ascent-override:91.48%;descent-override:26.56%;line-gap-override:0.0%;size-adjust:101.66%}.display_e860f2b8-module__xe23NG__className{font-family:display,display Fallback,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.display_e860f2b8-module__xe23NG__variable{--font-display-latin:"display", "display Fallback", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f4fc;--bg-tint:#efeaf9;--surface:#fff;--surface-2:#f2eefb;--surface-3:#e8e1f6;--ink:#211a33;--ink-soft:#453a5e;--muted:#6b6280;--rule:#e4def3;--rule-strong:#d3c9ea;--brand:#6c4bd8;--brand-deep:#5535c2;--brand-on:#fff;--brand-soft:#ece5fd;--brand-ring:#6c4bd847;--joy:#f0761f;--joy-deep:#a84903;--joy-on:#fff;--joy-soft:#fdeadb;--mint:#0e9f6e;--mint-soft:#d8f5ea;--danger:#d33b5e;--danger-deep:#ad2848;--danger-soft:#fce4ea;--who-bg-s:76%;--who-bg-l:94%;--who-bd-s:58%;--who-bd-l:83%;--who-fg-s:62%;--who-fg-l:29%;--shadow-1:0 1px 2px #211a330d, 0 2px 8px #211a330a;--shadow-2:0 2px 4px #211a330f, 0 10px 24px #211a3314;--shadow-3:0 8px 16px #211a331a, 0 24px 48px #211a331f;--scrim:#211a336b}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#131020;--bg-tint:#191430;--surface:#1c1730;--surface-2:#251e3d;--surface-3:#302747;--ink:#efebfa;--ink-soft:#d6cfe9;--muted:#a79bc2;--rule:#2f2749;--rule-strong:#40355f;--brand:#a78bfa;--brand-deep:#c4b2ff;--brand-on:#1a1030;--brand-soft:#2b2350;--brand-ring:#a78bfa5c;--joy:#ff9145;--joy-deep:#ffb07a;--joy-on:#2b1405;--joy-soft:#3a2416;--mint:#34d399;--mint-soft:#14342a;--danger:#ff6b8a;--danger-deep:#ff92a8;--danger-soft:#3b1723;--who-bg-s:38%;--who-bg-l:22%;--who-bd-s:34%;--who-bd-l:33%;--who-fg-s:78%;--who-fg-l:76%;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 6px #00000073, 0 12px 28px #0006;--shadow-3:0 10px 20px #00000080, 0 28px 56px #00000080;--scrim:#06040ea8}@media (prefers-color-scheme:dark){[data-theme=auto]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#131020;--bg-tint:#191430;--surface:#1c1730;--surface-2:#251e3d;--surface-3:#302747;--ink:#efebfa;--ink-soft:#d6cfe9;--muted:#a79bc2;--rule:#2f2749;--rule-strong:#40355f;--brand:#a78bfa;--brand-deep:#c4b2ff;--brand-on:#1a1030;--brand-soft:#2b2350;--brand-ring:#a78bfa5c;--joy:#ff9145;--joy-deep:#ffb07a;--joy-on:#2b1405;--joy-soft:#3a2416;--mint:#34d399;--mint-soft:#14342a;--danger:#ff6b8a;--danger-deep:#ff92a8;--danger-soft:#3b1723;--who-bg-s:38%;--who-bg-l:22%;--who-bd-s:34%;--who-bd-l:33%;--who-fg-s:78%;--who-fg-l:76%;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 6px #00000073, 0 12px 28px #0006;--shadow-3:0 10px 20px #00000080, 0 28px 56px #00000080;--scrim:#06040ea8}}:root{--r-xs:.4rem;--r-sm:.625rem;--r-md:.9rem;--r-lg:1.25rem;--r-xl:1.6rem;--r-pill:999px;--gap:1rem;--pad:1.15rem;--shell:40rem;--tap:2.75rem;--font-body:var(--font-body-latin), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:var(--font-display-latin), var(--font-body);--ease-out-quint:cubic-bezier(.23, 1, .32, 1);--ease-out-back:cubic-bezier(.34, 1.56, .64, 1);--ease-in-out:cubic-bezier(.645, .045, .355, 1);--t-press:70ms;--t-fast:.15s;--t-med:.24s;--scale:var(--scale-user,1)}[data-simple=true]{--scale:max(var(--scale-user,1), 1.15);--tap:3.25rem;--pad:1.35rem;--gap:1.15rem}*{box-sizing:border-box}html{font-size:calc(100% * var(--scale));-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.55}body:before{content:"";background:radial-gradient(120% 100% at 50% 0%, var(--brand-soft) 0%, transparent 70%);opacity:.7;pointer-events:none;z-index:0;height:22rem;position:fixed;inset:0 0 auto}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);text-wrap:balance;margin:0 0 .5rem;font-weight:700;line-height:1.18}h1{font-size:1.65rem}h2{font-size:1.2rem}h3{font-size:1rem}p{margin:0 0 .75rem}p:last-child{margin-bottom:0}a{color:var(--brand);-webkit-text-decoration-color:var(--brand-ring);text-decoration-color:var(--brand-ring);text-underline-offset:.18em;border-radius:var(--r-xs);transition:color var(--t-fast) ease}a:hover{color:var(--brand-deep)}:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px;border-radius:var(--r-xs)}img,svg{max-width:100%}hr{border:none;border-top:1px solid var(--rule);margin:1.35rem 0}::selection{background:var(--brand-soft);color:var(--ink)}.shell{z-index:1;width:100%;max-width:var(--shell);padding:1.1rem 1rem calc(6.5rem + env(safe-area-inset-bottom));margin:0 auto;position:relative}.shell-centered{min-height:100dvh;padding-bottom:calc(2rem + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;display:flex}.row{align-items:center;gap:.6rem;display:flex}.row-wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.spacer{flex:1}.stack{flex-direction:column;gap:.65rem;display:flex}.when-dark,[data-theme=dark] .when-light{display:none}[data-theme=dark] .when-dark{display:block}@media (prefers-color-scheme:dark){[data-theme=auto] .when-light{display:none}[data-theme=auto] .when-dark{display:block}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;position:absolute;left:-9999px}.skip-link:focus{background:var(--surface);border-radius:var(--r-sm);box-shadow:var(--shadow-2);padding:.6rem 1rem;top:1rem;left:1rem}.appbar{z-index:30;background:var(--surface);border-bottom:1px solid var(--rule);position:sticky;top:0}.appbar-inner{width:100%;max-width:var(--shell);align-items:center;gap:.5rem;margin:0 auto;padding:.55rem 1rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);border-radius:var(--r-sm);align-items:center;gap:.55rem;min-width:0;margin:-.25rem auto -.25rem -.25rem;padding:.25rem;font-size:1.1rem;font-weight:800;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mark{background:linear-gradient(150deg, var(--brand) 0%, var(--brand-deep) 100%);width:1.9rem;height:1.9rem;color:var(--brand-on);font-family:var(--font-display);box-shadow:0 2px 8px var(--brand-ring);border-radius:.62rem;flex:none;place-items:center;font-size:.95rem;font-weight:800;line-height:1;display:grid}.brand:hover .mark{transform:rotate(-4deg)scale(1.05)}.mark{transition:transform var(--t-med) var(--ease-out-back)}.anchor-brand{min-width:0;margin-right:auto}.brand-button{cursor:pointer;font:inherit;background:0 0;border:0;margin-right:0}.caret{opacity:.45;width:.4rem;height:.4rem;transition:transform var(--t-med) var(--ease-out-back);border-bottom:2px solid;border-right:2px solid;border-radius:0 0 1px;flex:none;margin-left:.1rem;transform:translateY(-.12em)rotate(45deg)}.brand-button[data-open=true] .caret{transform:translateY(.06em)rotate(225deg)}.menu-left{left:0;right:auto}.tabs{z-index:40;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--rule);justify-content:space-around;gap:.15rem;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{min-width:0;min-height:var(--tap);border-radius:var(--r-md);color:var(--muted);letter-spacing:.01em;-webkit-tap-highlight-color:transparent;transition:color var(--t-fast) ease, transform var(--t-fast) var(--ease-out-quint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;padding:.35rem .25rem;font-size:.7rem;font-weight:600;text-decoration:none;display:flex;position:relative}.tab svg{stroke-width:1.9px;width:1.45rem;height:1.45rem;transition:transform var(--t-med) var(--ease-out-back)}.tab:hover{color:var(--ink)}.tab:active{transform:scale(.93)}.tab[aria-current=page]{color:var(--joy-deep)}.tab[aria-current=page] svg{transform:translateY(-1px)scale(1.06)}.tab[aria-current=page]:before{content:"";z-index:-1;border-radius:var(--r-md);background:var(--joy-soft);animation:pill-in var(--t-med) var(--ease-out-back) backwards;position:absolute;inset:0}@keyframes pill-in{0%{opacity:0;transform:scale(.8)}}@media (min-width:34rem) and (max-width:55.999rem){.tabs{padding-left:max(.5rem,50% - 15rem);padding-right:max(.5rem,50% - 15rem)}}@media (min-width:56rem){.appbar-inner{max-width:64rem}.brand .name{max-width:14rem}.tabs{background:0 0;border-top:none;flex:1;justify-content:flex-start;gap:.15rem;margin-left:.75rem;padding:0;position:static}.tab{border-radius:var(--r-pill);flex-direction:row;flex:none;gap:.45rem;min-height:2.4rem;padding:.4rem .8rem;font-size:.9rem}.tab svg{width:1.2rem;height:1.2rem}.tab[aria-current=page]:before{border-radius:var(--r-pill)}.shell{padding-bottom:4rem}}.btn{--btn-bg:var(--surface-2);--btn-fg:var(--ink);--btn-bd:transparent;--btn-lift:0 6px 16px #211a3321;min-height:var(--tap);border:1px solid var(--btn-bd);border-radius:var(--r-pill);background:var(--btn-bg);color:var(--btn-fg);font:inherit;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--t-med) var(--ease-out-quint), box-shadow var(--t-med) var(--ease-out-quint), background-color var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease, filter var(--t-fast) ease;justify-content:center;align-items:center;gap:.5em;padding:.55rem 1.15rem;font-weight:650;line-height:1.2;text-decoration:none;display:inline-flex}.btn svg{stroke-width:2px;flex:none;width:1.15em;height:1.15em}label.btn{letter-spacing:normal;margin:0}.visually-hidden:focus-visible+label.btn{outline:2.5px solid var(--brand);outline-offset:2px}@media (hover:hover) and (pointer:fine){.btn:hover:not(:disabled){box-shadow:var(--btn-lift);filter:brightness(1.03);transform:translateY(-2px)}}.btn:active:not(:disabled){box-shadow:none;filter:brightness(.97);transition-duration:var(--t-press);transform:translateY(0)scale(.96)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{--btn-bg:var(--brand);--btn-fg:var(--brand-on);--btn-lift:0 8px 20px var(--brand-ring)}.btn-primary:hover:not(:disabled){--btn-bg:var(--brand-deep)}.btn-soft{--btn-bg:var(--brand-soft);--btn-fg:var(--brand-deep)}.btn-outline{--btn-bg:transparent;--btn-bd:var(--rule-strong);--btn-fg:var(--ink)}.btn-outline:hover:not(:disabled){--btn-bd:var(--brand);--btn-fg:var(--brand)}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--muted);--btn-lift:none;min-height:2.25rem;padding:.35rem .7rem;font-size:.9rem;font-weight:600}.btn-ghost:hover:not(:disabled){--btn-bg:var(--surface-2);--btn-fg:var(--ink)}.btn-danger{--btn-bg:var(--danger-soft);--btn-fg:var(--danger-deep)}.btn-danger:hover:not(:disabled){--btn-bg:var(--danger);--btn-fg:#fff}.btn-sm{min-height:2.25rem;padding:.3rem .85rem;font-size:.88rem}.btn-block{width:100%}.btn-icon{width:var(--tap);min-height:var(--tap);border-radius:var(--r-md);flex:none;padding:0}.btn-icon svg{width:1.35rem;height:1.35rem}.btn-round{border-radius:var(--r-pill)}.btn-plain{--btn-bg:transparent;--btn-fg:var(--muted);--btn-lift:none}.btn-plain:hover:not(:disabled){--btn-bg:var(--surface-2);--btn-fg:var(--ink)}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--pad);margin-bottom:var(--gap);box-shadow:var(--shadow-1);position:relative}.card>h1,.card>h2,.card>h3{margin-top:0}.card-flush{padding:0;overflow:hidden}.card-accent{border-color:var(--brand);box-shadow:var(--shadow-1), 0 0 0 3px var(--brand-ring)}.card-alert{border-color:var(--danger);background:var(--danger-soft)}.pham-card{color:var(--ink);transition:transform var(--t-med) var(--ease-out-quint), box-shadow var(--t-med) var(--ease-out-quint), border-color var(--t-fast) ease;align-items:center;gap:.8rem;text-decoration:none;display:flex}.pham-card>svg{width:1.25rem;height:1.25rem;color:var(--muted)}@media (hover:hover) and (pointer:fine){.pham-card:hover{border-color:var(--brand);box-shadow:var(--shadow-2);transform:translateY(-2px)}}.pham-card:active{transition-duration:var(--t-press);transform:scale(.99)}.card-head{align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.card-head h1,.card-head h2{margin:0}.page-title{align-items:center;gap:.7rem;margin:.25rem 0 1rem;display:flex}.page-title h1{flex:1;min-width:0;margin:0}.lede{color:var(--muted);font-size:.95rem}.muted{color:var(--muted);font-size:.9rem}.error{border-radius:var(--r-sm);background:var(--danger-soft);color:var(--danger-deep);animation:shake .32s var(--ease-in-out);align-items:flex-start;gap:.4rem;margin:.6rem 0 0;padding:.55rem .75rem;font-size:.9rem;font-weight:600;display:flex}@keyframes shake{10%,90%{transform:translate(-2px)}30%,70%{transform:translate(3px)}50%{transform:translate(-2px)}}.note{border-radius:var(--r-sm);background:var(--mint-soft);color:var(--ink);margin:.6rem 0 0;padding:.55rem .75rem;font-size:.9rem}label,.label{color:var(--ink-soft);letter-spacing:.01em;margin:.9rem 0 .3rem;font-size:.85rem;font-weight:650;display:block}input[type=text],input[type=email],input[type=password],input[type=datetime-local],input[type=date],input[type=search],textarea,select{width:100%;min-height:var(--tap);font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--rule-strong);border-radius:var(--r-md);transition:border-color var(--t-fast) ease, box-shadow var(--t-fast) ease, background-color var(--t-fast) ease;padding:.6rem .8rem}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}input:hover:not(:disabled),textarea:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--muted)}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3.5px var(--brand-ring);outline:none}textarea{resize:vertical;min-height:4.75rem;line-height:1.5}select{appearance:none;cursor:pointer;padding-right:2.4rem}.select-wrap{min-width:0;display:inline-flex;position:relative}.select-wrap select{width:100%}.select-wrap:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);pointer-events:none;border-radius:1px;width:.5rem;height:.5rem;margin-top:-.35rem;position:absolute;top:50%;right:1rem;transform:rotate(45deg)}.check{color:var(--ink);letter-spacing:normal;cursor:pointer;align-items:center;gap:.6rem;margin:.9rem 0 .3rem;font-size:.95rem;font-weight:500;display:flex}.check input[type=checkbox]{width:1.3rem;height:1.3rem;accent-color:var(--brand);cursor:pointer;flex:none}.check input[type=checkbox]:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px}.field-inline{width:auto;max-width:11rem}input[type=file]{font:inherit;color:var(--muted);max-width:100%;font-size:.88rem}input[type=file]::file-selector-button{border:1px solid var(--rule-strong);border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink);font:inherit;cursor:pointer;transition:background-color var(--t-fast) ease, transform var(--t-fast) var(--ease-out-quint);margin-right:.6rem;padding:.45rem .9rem;font-size:.88rem;font-weight:650}input[type=file]::file-selector-button:hover{background:var(--brand-soft)}input[type=file]::file-selector-button:active{transform:scale(.96)}.field-hint{color:var(--muted);margin:.3rem 0 0;font-size:.82rem}.avatar{--h:265;background:hsl(var(--h) var(--who-bg-s) var(--who-bg-l));border:1.5px solid hsl(var(--h) var(--who-bd-s) var(--who-bd-l));width:2.35rem;height:2.35rem;color:hsl(var(--h) var(--who-fg-s) var(--who-fg-l));font-family:var(--font-display);letter-spacing:.01em;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:700;line-height:1;display:grid}.avatar-sm{border-width:1.25px;width:1.75rem;height:1.75rem;font-size:.66rem}.avatar-lg{width:3.1rem;height:3.1rem;font-size:1.05rem}.who{--h:265;color:hsl(var(--h) var(--who-fg-s) var(--who-fg-l));font-weight:700}.post{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);margin-bottom:var(--gap);box-shadow:var(--shadow-1);transition:box-shadow var(--t-med) var(--ease-out-quint);position:relative}@media (hover:hover) and (pointer:fine){.post:hover{box-shadow:var(--shadow-2)}}.post-head{padding:.85rem var(--pad) .5rem;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;display:flex}.post-head .meta{flex-direction:column;flex:55%;min-width:0;line-height:1.3;display:flex}.post-head>.btn,.post-head>.anchor,.post-head>.badge,.post-head>.post-actions{margin-left:auto}.post-actions{align-items:center;gap:.25rem;display:flex}.post-head time,.post-head .when{color:var(--muted);white-space:nowrap;font-size:.8rem}.post-body{padding:0 var(--pad) .85rem;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.02rem}.rt-p{margin:0 0 .65rem}.rt-p:last-child{margin-bottom:0}.rt-h{white-space:normal;margin:1rem 0 .4rem}.rt-h:first-child{margin-top:0}h1.rt-h{font-size:1.3rem}h2.rt-h{font-size:1.12rem}h3.rt-h{color:var(--ink-soft);font-size:1rem}.linkified{color:var(--brand);text-underline-offset:.15em;overflow-wrap:anywhere;font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px}.linkified:hover{color:var(--brand-deep);text-decoration-thickness:2.5px}.msg-mine .bubble .linkified{color:inherit;text-decoration-color:#fff9}.msg-mine .bubble .linkified:hover{color:inherit;text-decoration-color:currentColor}.format-bar{align-items:center;gap:.1rem;display:flex}.format-btn{border-radius:var(--r-sm);min-width:1.8rem;height:1.95rem;color:var(--muted);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--t-fast) ease, color var(--t-fast) ease, transform var(--t-med) var(--ease-out-quint);background:0 0;border:none;justify-content:center;align-items:center;padding:0 .3rem;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}.format-btn:hover{background:var(--surface-2);color:var(--ink)}.format-btn:active{transition-duration:var(--t-press);transform:scale(.9)}.format-sep{background:var(--rule-strong);width:1px;height:1.1rem;margin:0 .25rem}@media (max-width:32rem){.composer-foot .composer-photo-btn span{display:none}.composer-foot .composer-photo-btn{min-width:var(--tap);justify-content:center;padding-left:0;padding-right:0}}[data-simple=true] .composer-foot .composer-photo-btn span{display:inline}.post-photo{padding:0 .55rem;line-height:0;display:block}.post-photo img{object-fit:cover;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--rule);width:100%;max-height:34rem;transition:transform var(--t-med) var(--ease-out-quint), box-shadow var(--t-med) var(--ease-out-quint);display:block}@media (hover:hover) and (pointer:fine){.post-photo:hover img{box-shadow:var(--shadow-2);transform:scale(1.012)}}.post-photo:active img{transition-duration:var(--t-press);transform:scale(.995)}.post-photo-full img{object-fit:contain;max-height:none}.post-photo figcaption,.carousel-caption{color:var(--muted);margin:.5rem 0 0;padding:0 .2rem;font-size:.9rem;line-height:1.45}.post-photo.solo{margin:0}.post-title{padding:0 var(--pad) .35rem;font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.composer input.composer-title{width:100%;min-height:0;font-family:var(--font-display);color:var(--ink);background:0 0;border:none;padding:.1rem 0;font-size:1.15rem;font-weight:700}.composer input.composer-title:focus{box-shadow:none;border:none;outline:none}.composer input.composer-title::placeholder{color:var(--muted);opacity:.7;font-weight:600}.voice-transcript-field{margin-top:.6rem}.voice-transcript{border-left:2px solid var(--rule-strong);color:var(--ink-soft);white-space:pre-wrap;margin:.4rem 0 0;padding-left:.75rem;font-size:.92rem;line-height:1.5}.post-editor{padding:0 var(--pad) .4rem}.post-editor textarea{width:100%}.post-edited{padding:0 var(--pad);color:var(--muted);margin:.15rem 0 0;font-size:.76rem}.hue-swatches{flex-wrap:wrap;gap:.5rem;margin-top:.7rem;display:flex}.hue-swatch{--h:265;width:var(--tap);height:var(--tap);cursor:pointer;background:hsl(var(--h) var(--who-fg-s) var(--who-fg-l));border:2px solid hsl(var(--h) var(--who-bd-s) var(--who-bd-l));color:var(--brand-on);font:inherit;border-radius:50%;padding:0;font-weight:700}.hue-swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--surface), 0 0 0 5.5px var(--ink)}.hue-swatch:focus-visible{outline:2.5px solid var(--brand);outline-offset:3px}.hue-swatch-auto{background:var(--surface-2);border-color:var(--rule-strong);color:var(--muted)}.avatar{position:relative;overflow:hidden}.avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%;position:absolute;inset:0}.voice-recorder{border-radius:var(--r-pill);background:var(--surface-2);font-variant-numeric:tabular-nums;flex:12rem;align-items:center;gap:.6rem;min-width:0;padding:.4rem .7rem;font-size:.9rem;display:flex}.voice-dot{background:var(--muted);border-radius:50%;flex:none;width:.6rem;height:.6rem}.voice-dot[data-on=true]{background:var(--danger);animation:1.4s ease-in-out infinite voice-pulse}@keyframes voice-pulse{50%{opacity:.25}}.voice-denied{flex:100%;margin:.4rem 0 0;font-size:.85rem}.voice-notes{padding:0 var(--pad) .2rem;flex-direction:column;gap:.5rem;display:flex}.voice-note{margin:0}.voice-note audio{width:100%;height:2.6rem;display:block}.voice-note figcaption{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:.2rem;font-size:.78rem}.memories{margin-bottom:var(--gap)}.memories h2{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.4rem;margin:0 0 .6rem;font-size:.78rem;font-weight:700;display:flex}.memories h2 svg{width:1rem;height:1rem;color:var(--joy)}.memory-strip{scroll-snap-type:x proximity;scrollbar-width:none;gap:.6rem;margin:0;padding:0 0 .25rem;list-style:none;display:flex;overflow-x:auto}.memory-strip::-webkit-scrollbar{display:none}.memory-strip>li{scroll-snap-align:start;flex:none}.memory{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--rule);width:8.5rem;color:var(--ink);flex-direction:column;padding:0;text-decoration:none;display:flex;overflow:hidden}.memory img{object-fit:cover;background:var(--surface-2);width:100%;height:6rem;display:block}.memory-text{-webkit-line-clamp:4;height:6rem;color:var(--ink-soft);background:var(--surface-2);-webkit-box-orient:vertical;padding:.5rem .6rem;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.memory-when{color:var(--joy-deep);padding:.4rem .6rem 0;font-size:.72rem;font-weight:700}.memory-who{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding:0 .6rem .5rem;font-size:.72rem;overflow:hidden}.tab-icon{display:inline-flex;position:relative}.tab-badge{border-radius:var(--r-pill);background:var(--joy);min-width:1.05rem;color:var(--joy-on);text-align:center;font-variant-numeric:tabular-nums;padding:0 .25rem;font-size:.62rem;font-weight:800;line-height:1.05rem;position:absolute;top:-.35rem;left:55%}.new-divider{letter-spacing:.04em;text-transform:uppercase;color:var(--joy-deep);align-items:center;gap:.75rem;margin:.35rem 0;font-size:.78rem;font-weight:700;display:flex}.new-divider:before,.new-divider:after{content:"";background:var(--joy-rule,var(--rule-strong));flex:1;height:1px}.new-divider span{white-space:nowrap}.photo-open{cursor:zoom-in;border-radius:var(--r-md);background:0 0;border:none;width:100%;padding:0;line-height:0;display:block}.photo-open:focus-visible{outline:2.5px solid var(--brand);outline-offset:3px}.lightbox{border-radius:var(--r-lg);background:var(--surface);width:min(1180px,96vw);max-width:none;height:min(88vh,900px);max-height:none;color:var(--ink);border:none;padding:0;overflow:hidden}.lightbox::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#140e22b8}.lightbox-panel{grid-template-columns:minmax(0,1fr) 22rem;height:100%;display:grid;position:relative}.lightbox-close{z-index:2;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow-2);position:absolute;top:.6rem;right:.6rem}.lightbox-media{background:#14101f;align-items:center;min-width:0;display:flex;position:relative}.lightbox-track{scroll-snap-type:x mandatory;scrollbar-width:none;width:100%;height:100%;display:flex;overflow-x:auto}.lightbox-track::-webkit-scrollbar{display:none}.lightbox-slide{scroll-snap-align:center;flex:0 0 100%;justify-content:center;align-items:center;min-width:0;display:flex}.lightbox-slide img{object-fit:contain;max-width:100%;max-height:100%}.lightbox-arrow{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow-2);position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:disabled{opacity:.35}.lightbox-prev{left:.75rem}.lightbox-next{right:.75rem}.lightbox-count{border-radius:var(--r-pill);color:#fff;font-variant-numeric:tabular-nums;background:#14101f9e;margin:0;padding:.15rem .6rem;font-size:.78rem;position:absolute;bottom:.6rem;left:50%;transform:translate(-50%)}.lightbox-side{border-left:1px solid var(--rule);flex-direction:column;gap:.75rem;min-height:0;padding:1rem;display:flex}.lightbox-caption{color:var(--ink-soft);margin:0;padding-right:2.5rem;font-size:.95rem}.lightbox-comments{flex:1;min-height:0;overflow-y:auto}.lightbox-when{color:var(--muted);font-size:.75rem;display:block}.lightbox-compose{flex:none}@media (max-width:52rem){.lightbox{border-radius:0;width:100vw;height:100dvh}.lightbox-panel{grid-template-rows:minmax(0,55%) minmax(0,45%);grid-template-columns:1fr}.lightbox-side{border-left:none;border-top:1px solid var(--rule)}}.photo-queue{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.7rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.photo-queue-item{flex-direction:column;gap:.35rem;display:flex;position:relative}.photo-queue-item img{aspect-ratio:1;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--rule);background:var(--surface-2);width:100%;display:block}.photo-queue-item[data-status=waiting] img,.photo-queue-item[data-status=uploading] img{opacity:.55}.photo-queue-item[data-status=failed] img{opacity:.4;border-color:var(--danger)}.photo-queue-remove{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--rule);width:2rem;height:2rem;min-height:0;box-shadow:var(--shadow-2);padding:0;position:absolute;top:.3rem;right:.3rem}.photo-queue-remove svg{width:1rem;height:1rem}.photo-queue-status{color:var(--muted);font-size:.76rem;line-height:1.3}.photo-queue-item[data-status=done] .photo-queue-status{color:var(--mint)}.photo-queue-item[data-status=failed] .photo-queue-status{color:var(--danger)}.photo-queue-caption{min-height:2.25rem;padding:.35rem .5rem;font-size:.85rem}.carousel{padding:0 .55rem;position:relative}.carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r-md);line-height:0;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-track:focus-visible{outline:2.5px solid var(--brand);outline-offset:3px}.carousel-slide{scroll-snap-align:center;flex:0 0 100%}.carousel-slide img{object-fit:cover;background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--r-md);width:100%;height:22rem;display:block}.carousel-full .carousel-slide img{object-fit:contain;height:auto;max-height:34rem}.carousel-arrow{opacity:0;pointer-events:none;border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--ink);box-shadow:var(--shadow-2);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:11rem;transform:translateY(-50%)}.carousel-arrow svg{width:1.25rem;height:1.25rem}.carousel-arrow:disabled{opacity:.35;cursor:default}.carousel-prev{left:1.1rem}.carousel-next{right:1.1rem}@media (hover:hover) and (pointer:fine){.carousel-arrow{opacity:1;pointer-events:auto}}.carousel-arrow:focus-visible{opacity:1;pointer-events:auto;outline:2.5px solid var(--brand);outline-offset:2px}.carousel-dots{justify-content:center;gap:.4rem;margin:.6rem 0 0;display:flex}.carousel-dots .dot{background:var(--rule-strong);width:.45rem;height:.45rem;transition:background-color var(--t-fast) ease, transform var(--t-fast) ease;border-radius:50%}.carousel-dots .dot[data-on=true]{background:var(--brand);transform:scale(1.25)}.carousel-count{text-align:center;color:var(--muted);margin:.45rem 0 0;font-size:.9rem}.post-foot{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.25rem;padding:.5rem .75rem .6rem;display:flex}.post-foot .chip,.post-foot .comment-link{flex:none}.comment-link{border-radius:var(--r-pill);color:var(--muted);transition:background-color var(--t-fast) ease, color var(--t-fast) ease, transform var(--t-med) var(--ease-out-quint);align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.comment-link:hover{background:var(--surface-2);color:var(--ink)}.comment-link:active{transition-duration:var(--t-press);transform:scale(.95)}.comment-link svg{flex:none;width:1.05rem;height:1.05rem}.rise{animation:rise .42s var(--ease-out-quint) backwards;animation-delay:calc(var(--i,0) * 45ms)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.chip{border-radius:var(--r-pill);min-height:2.3rem;color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--t-med) var(--ease-out-quint), background-color var(--t-fast) ease, border-color var(--t-fast) ease;background:0 0;border:1.5px solid #0000;align-items:center;gap:.25rem;padding:.3rem .7rem;font-size:1rem;font-weight:600;display:inline-flex}@media (hover:hover) and (pointer:fine){.chip:hover{background:var(--surface-2);transform:translateY(-2px)}}.chip:active{transition-duration:var(--t-press);transform:scale(.9)}.chip[data-mine=true]{background:var(--joy-soft);border-color:var(--joy);color:var(--joy-deep)}.chip[data-mine=true] .glyph{animation:pop .38s var(--ease-out-back)}.chip .glyph{font-size:1.05rem;line-height:1}.chip .n{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.chip[data-mine=true] .n{color:var(--joy-deep)}@keyframes pop{0%{transform:scale(1)}38%{transform:scale(1.42)rotate(-7deg)}to{transform:scale(1)}}.chip-label{border-color:var(--rule-strong);padding:.35rem .9rem;font-size:.9rem}.list{margin:0;padding:0;list-style:none}.list>li{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.5rem .65rem;padding:.7rem 0;display:flex}.list>li:last-child{border-bottom:none}.list-stacked>li{display:block}.birthday-line{flex-basis:100%;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.9rem;display:flex}.birthday-line label{font-size:inherit;margin:0}.birthday-line input{flex:0 auto;min-width:0}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:.5rem;padding:2.75rem 1.5rem;display:flex}.empty-art{border-radius:var(--r-xl);background:var(--brand-soft);width:3.75rem;height:3.75rem;color:var(--brand);place-items:center;margin-bottom:.35rem;display:grid}.empty-art svg{stroke-width:1.8px;width:1.9rem;height:1.9rem}.empty h2{color:var(--ink);margin:0;font-size:1.1rem}.empty p{max-width:22rem;margin:0;font-size:.95rem}.chat{height:calc(100dvh - 11.5rem - env(safe-area-inset-bottom));flex-direction:column;gap:.7rem;min-height:22rem;display:flex}@media (min-width:56rem){.chat{height:calc(100dvh - 9.5rem)}}.chat-log{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;gap:.5rem;padding:.35rem .15rem;display:flex;overflow-y:auto}.chat-log>:first-child{margin-top:auto}.msg{--h:265;max-width:min(80%,26rem);animation:msg-in .26s var(--ease-out-quint) backwards;flex-direction:column;align-self:flex-start;gap:.15rem;display:flex}.msg-mine{align-self:flex-end;align-items:flex-end}.msg-who{color:hsl(var(--h) var(--who-fg-s) var(--who-fg-l));padding-left:.7rem;font-size:.75rem;font-weight:700}.bubble{border-radius:var(--r-lg);border-bottom-left-radius:var(--r-xs);background:hsl(var(--h) var(--who-bg-s) var(--who-bg-l));border:1px solid hsl(var(--h) var(--who-bd-s) var(--who-bd-l));color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;padding:.5rem .85rem}.msg-mine .bubble{border-radius:var(--r-lg);border-bottom-right-radius:var(--r-xs);background:var(--brand);border-color:var(--brand);color:var(--brand-on)}.msg{position:relative}.msg-mine{padding-left:2.5rem}.bubble-del{background:var(--surface-2);width:1.9rem;height:1.9rem;color:var(--muted);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .26s ease .28s, color var(--t-fast) ease, transform var(--t-press) ease;border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;left:0;transform:translateY(-50%)}.bubble-del svg{width:.95rem;height:.95rem}.bubble-del:hover{color:var(--danger);background:var(--surface-3)}.bubble-del:active{transform:translateY(-50%)scale(.9)}.msg-mine:hover .bubble-del,.msg-mine:focus-within .bubble-del{opacity:1;pointer-events:auto;transition-delay:0s}@media (hover:none){.bubble-del{opacity:1;pointer-events:auto}}[data-simple=true] .bubble-del{opacity:1;pointer-events:auto}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}.chat-compose{align-items:flex-end;gap:.5rem;display:flex}.undo-bar{left:50%;bottom:calc(4.75rem + env(safe-area-inset-bottom));z-index:60;border-radius:var(--r-pill);color:#f4f1fb;width:max-content;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-3);animation:undo-in .26s var(--ease-out-back);background:#2a2340;align-items:center;gap:.9rem;padding:.7rem .75rem .7rem 1.1rem;display:flex;position:fixed;overflow:hidden;transform:translate(-50%)}[data-theme=dark] .undo-bar{background:#3a3157}@media (prefers-color-scheme:dark){[data-theme=auto] .undo-bar{background:#3a3157}}@media (min-width:56rem){.undo-bar{bottom:1.75rem}}@keyframes undo-in{0%{opacity:0;transform:translate(-50%)translateY(12px)scale(.96)}}.undo-text{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.undo-action{border-radius:var(--r-pill);color:#fff;min-height:2.2rem;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--t-fast) ease, transform var(--t-med) var(--ease-out-quint);background:#ffffff24;border:none;flex:none;padding:.35rem 1rem;font-weight:700}.undo-action:hover{background:#ffffff3d}.undo-action:active{transition-duration:var(--t-press);transform:scale(.94)}.undo-action:focus-visible{outline-offset:2px;outline:2.5px solid #fff}.undo-icon{flex:none;width:1.25rem;height:1.25rem;margin-right:.35rem}.undo-bar[data-state=undone] .undo-icon{color:var(--mint)}.undo-bar[data-state=failed] .undo-icon{color:var(--danger)}.undo-timer{background:var(--joy);transform-origin:0;width:100%;height:3px;animation-name:undo-sweep;animation-duration:var(--undo-ms,3.2s);animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:0;left:0}.undo-timer[data-paused=true]{animation-play-state:paused}[data-simple=true] .undo-timer{animation-duration:var(--undo-ms,8s)!important}@media (prefers-reduced-motion:reduce){.undo-timer{animation-duration:var(--undo-ms,3.2s)!important}}@keyframes undo-sweep{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.menu{z-index:50;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);min-width:12rem;box-shadow:var(--shadow-3);animation:menu-in .16s var(--ease-out-quint);transform-origin:100% 0;flex-direction:column;padding:.3rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0}.menu-wide{width:17rem;padding:.7rem}.menu-item{border-radius:var(--r-sm);width:100%;min-height:2.5rem;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--t-fast) ease, transform var(--t-press) ease;background:0 0;border:none;align-items:center;gap:.5rem;padding:.45rem .65rem;font-size:.92rem;font-weight:600;text-decoration:none;display:flex}.menu-item:hover{background:var(--surface-2)}.menu-item:active{transform:scale(.98)}.menu-item svg{width:1.1rem;height:1.1rem;color:var(--muted);flex:none}.menu-item-danger{color:var(--danger-deep)}.menu-item-danger svg{color:var(--danger)}@keyframes menu-in{0%{opacity:0;transform:scale(.94)translateY(-4px)}}.anchor{display:inline-flex;position:relative}.segmented{background:var(--surface-2);border-radius:var(--r-lg);flex-wrap:wrap;gap:.2rem;padding:.25rem;display:flex}.segment{white-space:nowrap;border-radius:var(--r-pill);min-height:2.4rem;color:var(--muted);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--t-med) var(--ease-out-quint), color var(--t-fast) ease, transform var(--t-med) var(--ease-out-quint), box-shadow var(--t-med) var(--ease-out-quint);background:0 0;border:none;flex:4.25rem;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.88rem;font-weight:650;display:inline-flex}.segment:hover{color:var(--ink)}.segment:active{transition-duration:var(--t-press);transform:scale(.95)}.segment[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.swatches{flex-wrap:wrap;gap:.5rem;display:flex}.swatch{background:var(--c);cursor:pointer;-webkit-tap-highlight-color:transparent;width:2.4rem;height:2.4rem;transition:transform var(--t-med) var(--ease-out-back), border-color var(--t-fast) ease;border:2px solid #0000;border-radius:50%;padding:0;display:inline-block;position:relative;box-shadow:inset 0 0 0 1.5px #00000014}.swatch:hover{transform:scale(1.12)}.swatch:active{transition-duration:var(--t-press);transform:scale(.92)}.swatch[aria-pressed=true]{border-color:var(--ink);transform:scale(1.06)}.segment svg{flex:none;width:1.05rem;height:1.05rem}.custom-colors{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface-2);margin:.9rem 0 .25rem;padding:.9rem 1rem 1.1rem}.custom-colors>.label:first-child,.custom-colors>label:first-child{margin-top:0}.preview-strip{border-radius:var(--r-md);border:1px solid;align-items:center;gap:.6rem;margin:1rem 0 .9rem;padding:.75rem .9rem;display:flex}.preview-title{letter-spacing:.08em;text-transform:uppercase;color:var(--brand);flex:1;font-size:.75rem;font-weight:800}.preview-strip .btn,.preview-strip .chip{pointer-events:none}.swatch-any{border-color:var(--rule-strong);background:conic-gradient(#ef4444,#f59e0b,#22c55e,#06b6d4,#3b82f6,#a855f7,#ec4899,#ef4444);overflow:hidden}.swatch-any input[type=color]{opacity:0;cursor:pointer;background:0 0;border:none;width:200%;height:200%;margin:-50%;padding:0}input[type=range]{width:100%;height:var(--tap);accent-color:var(--brand);cursor:pointer;background:0 0;padding:0}.size-preview{border-radius:var(--r-md);background:var(--surface-2);border:1px dashed var(--rule-strong);margin-top:.7rem;padding:.9rem 1rem}.size-preview p{margin:0}.switch-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.9rem;padding:.65rem 0;display:flex}.switch-row .switch-text{flex:1;min-width:0}.switch-row strong{font-weight:650;display:block}.switch{border-radius:var(--r-pill);background:var(--surface-3);border:1.5px solid var(--rule-strong);width:3.1rem;height:1.75rem;transition:background-color var(--t-med) var(--ease-out-quint), border-color var(--t-med) ease;flex:none;position:relative}.switch:after{content:"";background:var(--surface);width:1.3rem;height:1.3rem;box-shadow:var(--shadow-1);transition:transform var(--t-med) var(--ease-out-back);border-radius:50%;position:absolute;top:.15rem;left:.15rem}[aria-checked=true]>.switch,[aria-pressed=true]>.switch{background:var(--brand);border-color:var(--brand)}[aria-checked=true]>.switch:after,[aria-pressed=true]>.switch:after{transform:translate(1.32rem)}.switch-row:active .switch:after{width:1.55rem}.kid-editor{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface-2);margin:.6rem 0 .4rem;padding:.9rem 1rem 1.1rem}.kid-editor>form:first-child>label:first-of-type{margin-top:0}.meter{border-radius:var(--r-pill);background:var(--surface-3);height:.7rem;overflow:hidden}.meter>span{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--brand), var(--joy));height:100%;transition:width .7s var(--ease-out-quint);display:block}.meter[data-full=true]>span{background:var(--danger)}.code{border-radius:var(--r-md);background:var(--surface-2);border:1px dashed var(--rule-strong);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:.7rem .85rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.85rem;display:block}.code-input{text-transform:uppercase;letter-spacing:.1em;font-weight:650}.code-big{text-align:center;letter-spacing:.14em;border-style:solid;border-color:var(--brand);background:var(--brand-soft);color:var(--brand-deep);font-size:1.5rem;font-weight:700}.badge{border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.25rem;padding:.1rem .55rem;font-size:.74rem;font-weight:700;display:inline-flex}.badge-brand{background:var(--brand-soft);color:var(--brand-deep)}.badge-joy{background:var(--joy-soft);color:var(--joy-deep)}.badge-mint{background:var(--mint-soft);color:var(--mint)}.view-toggle{margin-bottom:var(--gap)}.calendar{padding:var(--pad);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);margin-bottom:var(--gap)}.calendar-head{align-items:center;gap:.5rem;margin-bottom:.85rem;display:flex}.calendar-head h2{text-align:center;flex:1;margin:0;font-size:1.1rem}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.calendar-dow{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:.2rem 0;font-size:.7rem;font-weight:700}.calendar-cell{text-align:left;min-height:4.25rem;font:inherit;color:var(--ink);background:var(--surface-2);border-radius:var(--r-sm);cursor:pointer;border:1px solid #0000;flex-direction:column;gap:.15rem;padding:.25rem;display:flex}.calendar-blank{cursor:default;background:0 0}.calendar-cell[data-today=true]{border-color:var(--brand)}.calendar-cell[data-today=true] .calendar-date{color:var(--brand-deep);font-weight:800}.calendar-cell[data-selected=true]{background:var(--brand-soft);border-color:var(--brand)}.calendar-cell:focus-visible{outline:2.5px solid var(--brand);outline-offset:1px}.calendar-date{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600}.calendar-items{flex-direction:column;gap:.12rem;min-width:0;display:flex}.calendar-item{color:var(--brand-deep);background:var(--brand-soft);white-space:nowrap;text-overflow:ellipsis;border-radius:3px;padding:.05rem .25rem;font-size:.65rem;line-height:1.35;overflow:hidden}.calendar-item[data-allday=true]{color:var(--mint);background:var(--mint-soft)}.calendar-item[data-span=start]{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-.4rem;padding-right:.45rem}.calendar-item[data-span=middle]{border-radius:0;margin-left:-.4rem;margin-right:-.4rem}.calendar-item[data-span=end]{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-.4rem}.calendar-item[data-span=middle],.calendar-item[data-span=end]{min-height:1.1em}.calendar-more{color:var(--muted);padding-left:.25rem;font-size:.62rem}.calendar-day>h2{margin:0 0 .6rem;font-size:1.05rem}[data-simple=true] .calendar-items{display:none}[data-simple=true] .calendar-cell{justify-content:center;align-items:center;min-height:3rem}[data-simple=true] .calendar-cell[data-has=true]:after{content:"";background:var(--brand);border-radius:50%;width:.4rem;height:.4rem}[data-simple=true] .calendar-date{font-size:1rem}.event{flex-wrap:wrap;align-items:flex-start;gap:.5rem .9rem;display:flex}.event>.btn{margin-left:auto}.datechip{border-radius:var(--r-md);background:var(--brand-soft);border:1px solid var(--rule);text-align:center;flex-direction:column;flex:none;justify-content:center;align-items:center;width:3.4rem;padding:.4rem 0;line-height:1.1;display:flex}.datechip .m{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-deep);font-size:.68rem;font-weight:800}.datechip .d{font-family:var(--font-display);color:var(--ink);font-size:1.4rem;font-weight:800}.rsvp-names{color:var(--muted);margin-top:.5rem;font-size:.84rem}.composer textarea{background:0 0;border:none;min-height:3.2rem;padding:.2rem 0;font-size:1.05rem}.composer textarea:focus{box-shadow:none}.composer textarea{resize:none;max-height:18rem;overflow-y:auto}.composer-foot{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.4rem;padding-top:.7rem;display:flex}.composer-foot .btn{flex:none}.composer-foot .btn-primary{margin-left:auto}.live-preview{border:1px dashed var(--rule-strong);border-radius:var(--r-md);background:var(--surface-2);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:.8rem;padding:1.4rem 1rem .9rem;position:relative}.live-preview-label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:800;position:absolute;top:.45rem;left:1rem}[data-simple=true] .live-preview{display:none}.thumb-preview{margin-top:.75rem;position:relative}.thumb-preview img{object-fit:cover;border-radius:var(--r-md);border:1px solid var(--rule);width:100%;max-height:16rem;display:block}.thumb-preview .btn-icon{background:var(--scrim);color:#fff;position:absolute;top:.45rem;right:.45rem}.hero{text-align:center;padding:3rem 0 1rem}.hero .mark{border-radius:1.1rem;width:3.4rem;height:3.4rem;margin:0 auto 1.25rem;font-size:1.7rem}.hero h1{letter-spacing:-.035em;margin-bottom:.6rem;font-size:clamp(2.3rem,9vw,3.4rem);font-weight:800}.hero .tagline{color:var(--muted);text-wrap:balance;max-width:26rem;margin:0 auto 1.75rem;font-size:1.1rem}.hero-actions{flex-direction:column;gap:.6rem;max-width:17rem;margin:0 auto;display:flex}.auth-brand{width:fit-content;margin:0 auto 1.25rem;display:block}.auth-brand .mark{border-radius:.95rem;width:2.9rem;height:2.9rem;font-size:1.45rem}.auth-footer{text-align:center;color:var(--muted);margin-top:.35rem;font-size:.92rem}.promises{text-align:left;gap:.6rem;margin-top:2.75rem;display:grid}.promise{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);align-items:flex-start;gap:.75rem;padding:.9rem 1rem;display:flex}.promise svg{width:1.25rem;height:1.25rem;color:var(--brand);stroke-width:1.9px;flex:none;margin-top:.1rem}.promise strong{font-weight:650;display:block}.promise span{color:var(--muted);font-size:.9rem}[data-simple=true] .when-detailed{display:none!important}[data-simple=true] .event>.grow,[data-simple=true] .list>li>.grow{flex:55%;min-width:0}.simple-only{display:none}[data-simple=true] .simple-only{display:inline}[data-simple=true] .btn-labelled{border-radius:var(--r-pill);background:var(--surface-2);gap:.45rem;width:auto;padding:.5rem .95rem;font-size:.95rem}[data-simple=true] body{line-height:1.65}[data-simple=true] .post-body,[data-simple=true] .bubble{font-size:1.08rem}[data-simple=true] .btn{font-weight:700}[data-simple=true] .card,[data-simple=true] .post{box-shadow:none;border-width:1.5px}[data-simple=true] *,[data-simple=true] :before,[data-simple=true] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-simple=true] .btn:active:not(:disabled),[data-simple=true] .chip:active,[data-simple=true] .tab:active{transform:none}[data-simple=true] .btn:active:not(:disabled){filter:brightness(.9)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:hover:not(:disabled),.btn:active:not(:disabled),.chip:hover,.chip:active,.post-photo:hover img{transform:none}}@media print{.appbar,.tabs,.btn,.chip{display:none!important}body:before{display:none}}
