.chat-head{align-items:center;gap:var(--s-3);height:64px;padding:0 var(--s-4);border-bottom:1px solid var(--border);background:var(--surface);flex:none;display:flex}.chat-head .chat-back{display:none}@media (width<=767px){.chat-head .chat-back{display:inline-flex}}.pres-who{flex-direction:column;gap:2px;min-width:0;display:flex}.pres-title{min-width:0;font:var(--t-title);letter-spacing:var(--ls-title)}.pres-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;text-decoration:none;display:block;overflow:hidden}.pres-name:hover{text-decoration:underline}.pres-state{min-height:16px;font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pres-state[data-here=true]{color:var(--text-secondary);font-weight:600}@media (width<=767px){header.chat-head{height:calc(76px + env(safe-area-inset-top));padding-inline:var(--s-2) var(--s-2)}.chat-head .pres-who{flex:1}.pres-title{font:var(--t-display-m);letter-spacing:var(--ls-display-m)}}.composer{padding:var(--s-3) var(--s-4);padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-base);flex:none;position:relative}.composer-inner{max-width:720px;margin-inline:auto}.composer-jump{padding-bottom:var(--s-4);pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:100%;left:0;right:0}.composer-jump-btn{pointer-events:auto;align-items:center;gap:var(--s-2);height:32px;padding:0 var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-full);background:var(--surface-raised);color:var(--text);font:var(--t-caption);letter-spacing:var(--ls-caption);box-shadow:var(--shadow-2);cursor:pointer;animation:composer-rise var(--dur-base) var(--ease-out);display:inline-flex}.composer-jump-btn:hover{background:var(--surface-hover)}.composer .composer-jump-btn:focus-visible{border-radius:var(--r-full)}.composer-starters{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);scrollbar-width:none;animation:composer-rise var(--dur-base) var(--ease-out);padding-bottom:2px;display:flex;overflow-x:auto}.composer-starters::-webkit-scrollbar{display:none}.composer-starters-lead{margin-right:var(--s-1);font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-muted);flex:none}.composer-starter{height:36px;padding:0 var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-xs);color:var(--text);font:var(--t-body);white-space:nowrap;cursor:pointer;background:0 0;flex:none}.composer-starter:hover{background:var(--surface-hover);border-color:var(--text-secondary)}.composer-starter:active{background:var(--bg-sunk)}.composer-field{position:relative}.composer-field textarea{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;min-height:48px;max-height:160px;color:var(--text);font:var(--t-body-l);resize:none;transition:border-color var(--dur-fast) var(--ease-standard);padding:10px 52px 10px 16px;display:block;overflow-y:auto}.composer-field textarea::placeholder{color:var(--text-muted)}.composer-field textarea:hover:not(:disabled){border-color:var(--text-secondary)}.composer-field textarea:focus{border-color:var(--accent)}.composer-field textarea:focus-visible{border-radius:var(--r-sm);outline-offset:0;outline-width:2px}.composer-field textarea:disabled{border-color:var(--border);background:var(--bg-sunk);color:var(--text-disabled);cursor:not-allowed}.composer-field textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.composer-field textarea[aria-invalid=true]:focus-visible{outline-color:var(--danger)}.composer-send{border-radius:var(--r-full);background:var(--accent);width:40px;height:40px;color:var(--text-on-accent);box-shadow:var(--shadow-1);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);border:0;justify-content:center;align-items:center;display:flex;position:absolute;bottom:4px;right:4px}.composer-send:hover:not(:disabled){background:var(--accent-hover)}.composer-send:active:not(:disabled){background:var(--accent-active);transform:scale(.985)}.composer-send:disabled{color:var(--text-disabled);box-shadow:inset 0 0 0 1px var(--border-strong);cursor:not-allowed;background:0 0}.composer-send[aria-busy=true]{cursor:progress;opacity:.55}.composer-send[aria-busy=true]:disabled{background:var(--accent);color:var(--text-on-accent);box-shadow:none}.composer .composer-send:focus-visible{border-radius:var(--r-full)}.composer-status{align-items:flex-start;gap:var(--s-4);min-height:16px;margin-top:var(--s-2);display:flex}.composer-status:empty{display:none}@media (width>=768px){.composer-status:empty{display:flex}}.composer-hint,.composer-note,.composer-count{font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-muted)}.composer-note-danger{color:var(--danger)}.composer-count{font-variant-numeric:tabular-nums;flex:none;margin-left:auto}.composer-count-over{color:var(--danger);font-weight:700}.composer-status .composer-retry{min-height:24px;padding:0 var(--s-1);margin-inline:calc(var(--s-1) * -1);color:var(--danger);font:var(--t-caption);letter-spacing:var(--ls-caption);text-underline-offset:3px;font-weight:700;text-decoration:underline}@keyframes composer-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=767px){.composer{padding:var(--s-2) var(--s-3);padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom))}}.sf-menu-box{flex:none;margin-inline-start:auto;position:relative}.sf-more{font-size:20px;line-height:1}.sf-menu{z-index:40;min-width:200px;padding:var(--s-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-raised);box-shadow:var(--shadow-2);position:absolute;top:calc(100% + 6px);right:0}.sf-menu-item{border-radius:var(--r-xs);width:100%;font:inherit;color:var(--text);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:10px 12px;font-size:15px;display:block}.sf-menu-item:hover{background:var(--surface-hover)}.sf-menu-item:focus-visible{outline:3px solid var(--focus);outline-offset:-2px}.sf-scrim{z-index:70;padding:var(--s-4);background:var(--scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sf-dialog{gap:var(--s-4);width:min(520px,100vw - 32px);max-height:calc(100vh - 32px);padding:var(--s-8);border-radius:var(--r-md);background:var(--surface-raised);box-shadow:var(--shadow-3);flex-direction:column;display:flex;overflow-y:auto}.sf-dialog:focus{outline:none}.sf-grab{display:none}.sf-lede{margin-bottom:calc(var(--s-4) * -1 + var(--s-2))}.sf-reasons{border:0;margin:0;padding:0}.sf-reasons legend{margin-bottom:var(--s-2);padding:0}.sf-reason{align-items:center;gap:var(--s-3);min-height:44px;padding:0 var(--s-2);margin-inline:calc(var(--s-2) * -1);border-radius:var(--r-xs);cursor:pointer;display:flex}.sf-reason:hover{background:var(--surface-hover)}.sf-reason input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex:none}.sf-reason:focus-within{outline:3px solid var(--focus);outline-offset:2px}.sf-note{gap:var(--s-2);flex-direction:column;display:flex}.sf-textarea{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;min-height:84px;color:var(--text);font:inherit;resize:vertical;padding:12px;font-size:16px;line-height:24px}.sf-textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sf-error{color:var(--danger)}.sf-actions{justify-content:flex-end;gap:var(--s-3);margin-top:var(--s-2);display:flex}@media (width<=480px){.sf-scrim{align-items:flex-end;padding:0}.sf-dialog{width:100%;max-height:92vh;padding:var(--s-5) var(--s-5) calc(var(--s-5) + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.sf-grab{width:32px;height:4px;margin:0 auto var(--s-2);border-radius:var(--r-full);background:var(--border-strong);flex:none;display:block}.sf-actions{bottom:calc(var(--s-5) * -1);z-index:1;gap:var(--s-2);padding-block:var(--s-3) var(--s-5);background:var(--surface-raised);flex-direction:column-reverse;margin-top:0;position:sticky;box-shadow:0 -8px 12px -8px #0000001f}.sf-actions .btn{width:100%;min-height:52px}}.sf-blocked-note{padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-sunk)}.sf-blocked-list{gap:var(--s-2);margin:var(--s-4) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.sf-blocked-row{align-items:center;gap:var(--s-3);min-height:48px;display:flex}.sf-blocked-row .sf-blocked-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.btn.btn-danger-quiet{border-color:var(--danger);color:var(--danger)}.btn.btn-danger-quiet:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn-danger:not(:disabled){background:var(--danger);border-color:var(--danger);color:var(--danger-on)}.btn-danger:not(:disabled):hover{opacity:.9}.btn-danger:not(:disabled):active{transform:scale(.985)}.sf-danger-zone{margin-top:var(--s-12);padding-top:var(--s-6);border-top:1px solid var(--border)}.sf-danger-zone>*+*{margin-top:var(--s-3)}.msg-region{flex-direction:column;flex:1;min-height:0;display:flex}.msg-viewport{flex:1;min-height:0;display:flex;position:relative}.chat-scroll{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;min-height:0;padding:var(--s-6) var(--s-6) var(--s-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-thread{margin-inline:auto;flex:none;width:100%;max-width:720px;margin-top:auto}@media (width<=767px){.chat-scroll{padding:var(--s-4) var(--s-5)}}.msg{margin-top:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);position:relative}.msg[data-grouped=true]{margin-top:2px}.chat-thread>:first-child,.day-divider+.msg,.msg-unread+.msg{margin-top:0}.msg:hover,.msg:focus-within{background:var(--surface-hover)}.msg[data-pending=true]{opacity:.6}.msg-them{grid-template-columns:52px minmax(0,1fr);align-items:start;display:grid}.msg-col{min-width:0}.msg-head{align-items:baseline;gap:var(--s-2);margin-bottom:2px;display:flex}.msg-name{font:var(--t-body);color:var(--text);font-weight:600}.msg-body{font:var(--t-body-l);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.msg-them .msg-body{max-width:var(--measure)}.msg-stamp{font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.msg-stamp-gutter{padding-right:var(--s-4);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);justify-self:end;line-height:26px}.msg-stamp-side{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.msg-stamp-side[data-always=true],.msg:hover .msg-stamp-gutter,.msg:focus-within .msg-stamp-gutter,.msg:hover .msg-stamp-side,.msg:focus-within .msg-stamp-side{opacity:1}.msg-mine{justify-content:flex-end;align-items:flex-end;gap:var(--s-2);display:flex}.msg-bubble{border-radius:var(--r-md);background:var(--accent-soft);max-width:560px;padding:10px 14px}.msg-mine[data-grouped=true] .msg-bubble{border-top-right-radius:var(--r-xs)}.msg-mine[data-continues=true] .msg-bubble{border-bottom-right-radius:var(--r-xs)}.msg-receipt{margin-top:var(--s-1);padding-right:var(--s-3);text-align:right;font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}.msg-actions{top:-14px;right:var(--s-2);z-index:2;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-raised);box-shadow:var(--shadow-1);opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out);align-items:center;gap:2px;padding:3px;display:flex;position:absolute}.msg:hover .msg-actions,.msg:focus-within .msg-actions,.msg-actions[data-open=true]{opacity:1;pointer-events:auto}.msg-action{height:28px;padding:0 var(--s-2);border-radius:var(--r-xs);color:var(--text-secondary);font:var(--t-caption);letter-spacing:var(--ls-caption);cursor:pointer;background:0 0;border:0}.msg-action:hover{background:var(--surface-hover);color:var(--text)}.msg-menu{z-index:4;min-width:180px;padding:var(--s-1);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-raised);box-shadow:var(--shadow-2);position:absolute;top:calc(100% + 4px);right:0}.msg-menu[data-drop=up]{top:auto;bottom:calc(100% + 4px)}.msg-menu-item{width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-xs);color:var(--text);font:var(--t-body);text-align:left;cursor:pointer;background:0 0;border:0;display:block}.msg-menu-item:hover{background:var(--surface-hover)}.day-divider{align-items:center;gap:var(--s-3);margin:var(--s-6) 0 var(--s-4);display:flex}.day-divider:before,.day-divider:after{content:"";background:var(--border);flex:1;height:1px}.day-divider span{padding:3px var(--s-3);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);color:var(--text-muted);font:var(--t-caption);letter-spacing:var(--ls-caption)}.msg-unread{align-items:center;gap:var(--s-3);margin:var(--s-6) 0 var(--s-3);display:flex}.msg-unread:before{content:"";background:var(--accent);flex:1;height:1px}.msg-unread span{padding:2px var(--s-3);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent);font:var(--t-caption);letter-spacing:var(--ls-caption);font-weight:600}.msg-jump{left:50%;bottom:var(--s-4);z-index:3;align-items:center;gap:var(--s-2);height:36px;padding:0 var(--s-4);border-radius:var(--r-full);background:var(--accent);color:var(--text-on-accent);font:var(--t-caption);letter-spacing:var(--ls-caption);box-shadow:var(--shadow-2);cursor:pointer;border:0;font-weight:600;display:inline-flex;position:absolute;transform:translate(-50%)}.msg-jump:hover{background:var(--accent-hover)}.msg-reply-band{padding:0 var(--s-4);flex:none}.msg-reply{align-items:center;gap:var(--s-3);max-width:720px;padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);border-left:3px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--bg-sunk);margin-inline:auto;display:flex}.msg-reply-text{align-items:baseline;gap:var(--s-2);flex:1;min-width:0;display:flex}.msg-reply-who{font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);flex:none;font-weight:600}.msg-reply-quote{white-space:nowrap;text-overflow:ellipsis;min-width:0;font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-muted);overflow:hidden}.msg-reply-close{border-radius:var(--r-full);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex:none;font-size:20px;line-height:1}.msg-reply-close:hover{background:var(--surface-hover);color:var(--text)}.msg-skeleton{padding:var(--s-2) var(--s-3);grid-template-columns:52px minmax(0,1fr);align-items:center;display:grid}.msg-skeleton+.msg-skeleton{margin-top:var(--s-3)}.msg-skeleton-face{width:36px;height:36px}.msg-skeleton-line{height:20px}.msg-opener{background:var(--accent-soft)}@media (width<=767px){.msg-them{grid-template-columns:48px minmax(0,1fr)}.msg-stamp-gutter{padding-right:var(--s-3)}.msg-bubble{max-width:78%}.msg-actions{right:var(--s-1)}}.typing-lane{z-index:2;height:22px;margin-top:var(--s-5);pointer-events:none;position:sticky;bottom:0}.typing-strip{padding-left:calc(52px + var(--s-3));font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-muted);background:var(--surface);animation:typing-in var(--dur-base) var(--ease-out);line-height:22px;position:absolute;inset:0}@keyframes typing-in{0%{opacity:0}to{opacity:1}}.typing-strip:before{content:"";background:linear-gradient(to top, var(--surface) 12px, transparent);height:20px;position:absolute;bottom:100%;left:0;right:0}.typing-strip:after{content:"";height:var(--s-4);background:var(--surface);position:absolute;top:100%;left:0;right:0}.typing-text{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.typing-who{color:var(--text-secondary);font-weight:600}@media (width<=767px){.typing-strip{padding-left:calc(48px + var(--s-3))}}.pf-page{padding-top:var(--s-10);padding-bottom:var(--s-16);min-height:calc(100vh - var(--topbar-h));flex-direction:column;display:flex}.pf-page>*{margin-block:auto}.pf-grid{gap:var(--s-12);grid-template-columns:360px minmax(0,1fr);align-items:start;display:grid}.pf-side{top:calc(var(--topbar-h) + var(--s-6));align-self:start;position:sticky}.pf-face{display:inline-block;position:relative}.pf-name{overflow-wrap:break-word}.pf-name-input{width:100%;height:56px;padding:0 var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:var(--t-display-m);letter-spacing:var(--ls-display-m);transition:border-color var(--dur-fast) var(--ease-standard)}.pf-name-input:hover{border-color:var(--text-secondary)}.pf-name-input:focus{border-color:var(--accent)}.pf-name-input[aria-invalid=true]{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.pf-name-input[aria-invalid=true]:focus-visible{outline-color:var(--danger)}.pf-meta{gap:var(--s-1);flex-direction:column;display:flex}.pf-facts{border-top:1px solid var(--border);margin:0}.pf-fact{justify-content:space-between;align-items:baseline;gap:var(--s-4);min-height:44px;padding:var(--s-3) 0;border-bottom:1px solid var(--border);display:flex}.pf-fact dt{color:var(--text-muted);flex:none}.pf-fact dd{color:var(--text);text-align:right;overflow-wrap:anywhere;margin:0}.pf-fact-online{align-items:center;gap:var(--s-2);color:var(--success);display:inline-flex}.pf-fact-online:before{content:"";border-radius:var(--r-full);background:var(--success);flex:none;width:8px;height:8px}.pf-sheet{padding:var(--s-10) var(--s-12);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1)}.pf-prose{max-width:var(--measure);color:var(--text)}.pf-prose p{font:var(--t-body-l);white-space:pre-line;text-wrap:pretty;hanging-punctuation:first last}.pf-prose p+p{margin-top:var(--s-5)}.pf-about-input{width:100%;max-width:var(--measure);min-height:190px;max-height:420px;padding:var(--s-3) 14px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:var(--t-body-l);resize:vertical;transition:border-color var(--dur-fast) var(--ease-standard);display:block}.pf-about-input:hover{border-color:var(--text-secondary)}.pf-about-input:focus{border-color:var(--accent)}.pf-about-input[aria-invalid=true]{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.pf-about-input[aria-invalid=true]:focus-visible{outline-color:var(--danger)}.pf-counter-row{justify-content:space-between;align-items:baseline;gap:var(--s-4);max-width:var(--measure);min-height:16px;margin-top:var(--s-2);display:flex}.pf-counter{font-variant-numeric:tabular-nums;flex:none}.pf-col{gap:var(--s-10);flex-direction:column;display:flex}.pf-headrow{justify-content:space-between;align-items:baseline;gap:var(--s-4);margin-bottom:var(--s-3);display:flex}.pf-flush{margin-left:calc(-1 * var(--s-2));align-self:flex-start}.pf-aside-note{max-width:var(--measure);display:block}.pf-photos{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(112px,1fr));display:grid}.pf-tile-wrap{position:relative}.pf-tile{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-sunk);cursor:zoom-in;width:100%;padding:0;display:block;position:relative;overflow:hidden}.pf-tile img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-base) var(--ease-out)}.pf-tile:hover img,.pf-tile:focus-visible img{transform:scale(1.04)}.pf-tile-failed{padding:var(--s-2);text-align:center;color:var(--text-muted);cursor:default;justify-content:center;align-items:center;display:flex}.pf-tile-badge{left:var(--s-2);bottom:var(--s-2);pointer-events:none;position:absolute}.pf-tile-remove{top:var(--s-2);right:var(--s-2);border:1px solid var(--border-strong);border-radius:var(--r-full);background:var(--surface-raised);width:32px;height:32px;color:var(--text);cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease-standard);justify-content:center;align-items:center;padding:0;font-size:17px;line-height:1;display:flex;position:absolute}.pf-tile-wrap:hover .pf-tile-remove,.pf-tile-remove:focus-visible{opacity:1}.pf-tile-remove:hover{background:var(--surface-hover)}@media (hover:none){.pf-tile-remove{opacity:1}}.pf-tile-confirm{z-index:1;justify-content:center;align-items:center;gap:var(--s-2);padding:var(--s-2);border-radius:var(--r-md);background:var(--danger-soft);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.pf-tile-confirm p{color:var(--danger)}.pf-tile-confirm-actions{align-items:center;gap:var(--s-3);display:flex}.pf-mini{padding:var(--s-1) var(--s-2);border-radius:var(--r-xs);font:var(--t-caption);letter-spacing:var(--ls-caption);cursor:pointer;background:0 0;border:0;font-weight:700}.pf-mini:hover:not(:disabled){text-underline-offset:3px;text-decoration:underline}.pf-mini:disabled{cursor:progress;opacity:.55}.pf-mini-danger{color:var(--danger)}.pf-mini-quiet{color:var(--text-secondary)}.pf-add{justify-content:center;align-items:center;gap:var(--s-1);aspect-ratio:1;width:100%;padding:var(--s-2);border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--bg-sunk);color:var(--text-muted);text-align:center;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);flex-direction:column;display:flex}.pf-add:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.pf-add:disabled{cursor:not-allowed;color:var(--text-disabled)}.pf-add-plus{font-size:22px;line-height:1}.pf-note{max-width:var(--measure);padding:var(--s-5);border-radius:var(--r-md);background:var(--bg-sunk);color:var(--text-secondary)}.pf-viewer{z-index:60;justify-content:center;align-items:center;gap:var(--s-4);padding:var(--s-6);background:var(--scrim);flex-direction:column;display:flex;position:fixed;inset:0}.pf-viewer-stage{--pf-stage-w:min(1000px, 90vw);--pf-stage-h:70vh;max-width:var(--pf-stage-w);max-height:var(--pf-stage-h);padding:var(--s-6);border-radius:var(--r-md);background:var(--surface-raised);box-shadow:var(--shadow-3);justify-content:center;align-items:center;display:flex}.pf-viewer-frame{width:auto;height:auto;max-width:calc(var(--pf-stage-w) - var(--s-12));max-height:calc(var(--pf-stage-h) - var(--s-12));border-radius:var(--r-xs);object-fit:contain;display:block}.pf-viewer-bar{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-raised);box-shadow:var(--shadow-2);display:flex}.pf-viewer-count{text-align:center;min-width:76px;color:var(--text-muted)}.pf-viewer-sep{background:var(--border);flex:none;width:1px;height:24px}.pf-round{border:1px solid var(--border-strong);border-radius:var(--r-full);background:var(--surface-raised);width:44px;height:44px;color:var(--text);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard);flex:none;justify-content:center;align-items:center;padding:0;font-size:19px;line-height:1;display:inline-flex}.pf-round:hover:not(:disabled){background:var(--surface-hover)}.pf-round:disabled{color:var(--text-disabled);border-color:var(--border);cursor:not-allowed}@media (width<=899px){.pf-grid{gap:var(--s-8);grid-template-columns:minmax(0,1fr)}.pf-side{position:static}}@media (width<=767px){.pf-side{text-align:center}.pf-meta{align-items:center}.pf-facts{text-align:left}.pf-sheet{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.pf-photos{grid-template-columns:repeat(2,1fr)}.pf-viewer-stage{min-width:0;max-width:100%;padding:var(--s-3)}}.pw-meter{align-items:center;gap:var(--s-3);margin-top:var(--s-2);display:flex}.pw-meter-track{flex:1;gap:6px;min-width:0;display:flex}.pw-meter-seg{border-radius:var(--r-full);background:var(--bg-sunk);height:4px;transition:background-color var(--dur-base) var(--ease-standard);flex:1}.pw-meter-seg[data-on=true]{background:var(--accent)}.pw-meter-seg[data-on=true][data-tone=danger]{background:var(--danger)}.pw-meter-seg[data-on=true][data-tone=strong]{background:var(--success)}.pw-meter-word{min-width:116px;font:var(--t-caption);letter-spacing:var(--ls-caption);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:var(--text-muted);flex:none;line-height:16px}.pw-meter-word[data-tone=danger]{color:var(--danger)}.pw-meter-word[data-tone=good]{color:var(--text-secondary)}.pw-meter-word[data-tone=strong]{color:var(--success)}@media (width<=420px){.pw-meter-word{min-width:92px}}.signup-password .field-help{min-height:32px}@media (width<=767px){.signup-password .field-help{min-height:48px}}.signup-agree-note{min-height:16px;margin-top:var(--s-2);margin-left:calc(20px + var(--s-3));font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-muted);display:block}.signup-agree-note[data-tone=danger]{color:var(--danger)}.signup-card .desktop-actions .btn{min-width:160px}.signup-card .btn-primary[aria-busy=true]:disabled{background:var(--accent);color:var(--text-on-accent);border-color:#0000}.signup-card .field-label-row .btn-text{font:var(--t-caption);letter-spacing:var(--ls-caption);font-weight:600}.signup-wait-note{margin-top:var(--s-3);font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-muted);display:block}@media (width<=767px){.signup-card{min-height:calc(100vh - var(--topbar-h) - var(--s-6));margin-bottom:calc(-1 * var(--s-24))}.signup-card .action-bar{margin-top:auto;margin-inline:calc(-1 * var(--s-5));padding-top:var(--s-4)}}.about-meter{border-radius:var(--r-full);background:var(--bg-sunk);height:3px;overflow:hidden}.about-meter-fill{border-radius:var(--r-full);background:var(--accent);height:100%;transition:width var(--dur-base) var(--ease-out), background-color var(--dur-base) linear}.about-meter[data-enough=true] .about-meter-fill{background:var(--success)}.about-count{font-variant-numeric:tabular-nums;white-space:nowrap}@media (prefers-reduced-motion:reduce){.about-meter-fill{transition:none}}.photo-row{align-items:flex-start;gap:var(--s-5);display:flex}.photo-row .dropzone{flex:0 0 280px}.photo-guide{gap:var(--s-3);flex-direction:column;flex:auto;min-width:0;display:flex}.photo-guide-list{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.photo-guide-list li{align-items:flex-start;gap:var(--s-2);display:flex}.photo-guide-mark{color:var(--success);flex:none;margin-top:1px}.photo-guide-list li[data-allowed=false] .photo-guide-mark{color:var(--text-muted)}@media (width<=767px){.photo-row{gap:var(--s-4);flex-direction:column}.photo-row .dropzone{flex:auto;width:100%}.photo-guide{width:100%}.photo-row[data-refused=true] .photo-guide{display:none}}.photo-verdict-actions{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}@media (width<=767px){.photo-verdict-actions{align-items:stretch;gap:var(--s-2);flex-direction:column}.photo-verdict-actions>.btn{width:100%}.photo-verdict{scroll-margin-bottom:128px}}.photo-strip{align-items:center;gap:var(--s-2);height:40px;padding:0 var(--s-3);font:var(--t-caption);letter-spacing:var(--ls-caption);text-align:left;border-bottom-left-radius:calc(var(--r-lg) - 2px);border-bottom-right-radius:calc(var(--r-lg) - 2px);font-weight:600;display:flex;position:absolute;bottom:0;left:0;right:0}.photo-strip[data-tone=success]{background:var(--success-soft);color:var(--success)}.photo-strip[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.photo-verdict{max-width:420px}.why-ask>summary{align-items:center;gap:var(--s-2);cursor:pointer;width:fit-content;min-height:44px;list-style:none;display:flex}.why-ask>summary::-webkit-details-marker{display:none}.why-ask-chevron{transition:transform var(--dur-base) var(--ease-standard);flex:none}.why-ask[open] .why-ask-chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.why-ask-chevron{transition:none}}.face-dialog{width:min(460px, calc(100vw - 2 * var(--s-4)))}dialog.face-dialog{padding:var(--s-6);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-3);margin:auto}.face-dialog::backdrop{background:#1c191773}.extras-grid .photo-tile .photo-remove,.extras-grid .photo-tile .photo-move-row{opacity:0;transition:opacity var(--dur-fast) var(--ease-standard)}.extras-grid .photo-tile:hover .photo-remove,.extras-grid .photo-tile:focus-within .photo-remove,.extras-grid .photo-tile:hover .photo-move-row,.extras-grid .photo-tile:focus-within .photo-move-row{opacity:1}@media (hover:none){.extras-grid .photo-tile .photo-remove,.extras-grid .photo-tile .photo-move-row{opacity:1}}@media (prefers-reduced-motion:reduce){.extras-grid .photo-tile .photo-remove,.extras-grid .photo-tile .photo-move-row{transition:none}}.extras-grid .photo-slot{width:100%}.photo-move-row{left:50%;bottom:var(--s-2);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-raised);box-shadow:var(--shadow-1);gap:2px;padding:2px;display:flex;position:absolute;transform:translate(-50%)}.photo-move{border-radius:var(--r-full);width:30px;height:30px;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.photo-move:hover:not(:disabled){background:var(--surface-hover)}.photo-move:disabled{color:var(--text-disabled);cursor:default}.photo-tile[data-dragging=true]{opacity:.4}.photo-tile[data-over=true]:after{content:"";border:2px solid var(--accent);border-radius:var(--r-md);pointer-events:none;position:absolute;inset:0}.extras-grid .photo-tile[draggable=true]{cursor:grab}.extras-grid .photo-tile[data-dragging=true]{cursor:grabbing}.extras-footnote{justify-content:space-between;align-items:baseline;gap:var(--s-4);display:flex}@media (width<=767px){.extras-step>:first-child{margin-top:auto}}.crop-dialog{width:min(420px, calc(100vw - 2 * var(--s-4)))}dialog.crop-dialog{padding:var(--s-6);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-3);margin:auto}.crop-dialog::backdrop{background:#1c191773}.crop-frame{aspect-ratio:1;border-radius:var(--r-lg);background:var(--bg-sunk);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;position:relative;overflow:hidden}.crop-frame:active{cursor:grabbing}.crop-frame:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}.crop-image{transform-origin:0 0;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.crop-loading{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.crop-zoom{align-items:center;gap:var(--s-3);display:flex}.crop-zoom>input[type=range]{min-width:0;height:44px;accent-color:var(--accent);cursor:pointer;flex:auto}.crop-zoom>input[type=range]:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset);border-radius:var(--r-sm)}.crop-actions{gap:var(--s-3);flex-wrap:wrap;display:flex}.crop-actions>.btn{flex:auto}@media (width<=767px){dialog.crop-dialog{padding:var(--s-5)}.crop-actions{align-items:stretch;gap:var(--s-2);flex-direction:column}.crop-actions>.btn{width:100%;min-height:52px}}:root{--bg-sunk:#ece5da;--bg-base:#f6f2ec;--surface:#fffcf7;--surface-raised:#fff;--surface-hover:#f1ebe2;--border:#dfd5c7;--border-strong:#877b6d;--text:#1c1917;--text-secondary:#4a423a;--text-muted:#6a6057;--text-disabled:#9a9086;--text-on-accent:#fff;--accent:#0f6350;--accent-hover:#0b5142;--accent-active:#083f33;--accent-soft:#e4efeb;--danger:#a62b1d;--danger-soft:#fbeae7;--danger-on:#fff;--success:#2c6e32;--success-soft:#e6f0e4;--warning:#8a5300;--warning-soft:#fbf0dc;--focus:#0f6350;--focus-width:3px;--focus-offset:2px;--selection-bg:#cfe3dc;--selection-text:#1c1917;--shadow-1:0 1px 2px #1c19170f, 0 1px 1px #1c19170a;--shadow-2:0 4px 12px #1c191714, 0 1px 3px #1c19170d;--shadow-3:0 16px 40px #1c191724, 0 4px 10px #1c191712;--scrim:#1c191773;--scrim-strong:#1c19178c;--font-display:"Source Serif 4", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, "Liberation Mono", Menlo, monospace;--t-display-xl:600 56px/60px var(--font-display);--t-display-l:600 40px/46px var(--font-display);--t-display-m:600 28px/34px var(--font-display);--t-title:600 20px/28px var(--font-ui);--t-subtitle:400 17px/26px var(--font-ui);--t-body-l:400 17px/26px var(--font-ui);--t-body:400 15px/22px var(--font-ui);--t-label:600 13px/16px var(--font-ui);--t-caption:500 12px/16px var(--font-ui);--t-overline:700 11px/14px var(--font-ui);--ls-display-xl:-.02em;--ls-display-l:-.015em;--ls-display-m:-.01em;--ls-title:-.005em;--ls-label:.01em;--ls-caption:.015em;--ls-overline:.08em;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--s-24:96px;--r-xs:6px;--r-sm:10px;--r-md:16px;--r-lg:20px;--r-full:999px;--dur-fast:.12s;--dur-base:.18s;--dur-slow:.26s;--ease-out:cubic-bezier(.2, .8, .3, 1);--ease-in:cubic-bezier(.5, 0, .9, .4);--ease-standard:cubic-bezier(.3, .1, .2, 1);--content-max:1120px;--measure:34rem;--topbar-h:64px;--topbar-h-mobile:56px;--card-w:460px;--card-w-wide:560px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-sunk:#0e0c0a;--bg-base:#15120f;--surface:#1f1b17;--surface-raised:#282320;--surface-hover:#262119;--border:#3a322a;--border-strong:#847768;--text:#f4efe8;--text-secondary:#c9bfb2;--text-muted:#a79c8e;--text-disabled:#6e6459;--text-on-accent:#06231c;--accent:#5cc7a3;--accent-hover:#7ad6b7;--accent-active:#95e1c9;--accent-soft:#16332b;--danger:#f4938a;--danger-soft:#361a17;--danger-on:#2a0e0b;--success:#7dc98d;--success-soft:#16301c;--warning:#e3a93f;--warning-soft:#33260f;--focus:#5cc7a3;--selection-bg:#1e4a3d;--selection-text:#f4efe8;--shadow-1:none;--shadow-2:0 4px 12px #00000080;--shadow-3:0 16px 44px #000000a6;--scrim:#000000a6;--scrim-strong:#000000b3}}:root[data-theme=dark]{--bg-sunk:#0e0c0a;--bg-base:#15120f;--surface:#1f1b17;--surface-raised:#282320;--surface-hover:#262119;--border:#3a322a;--border-strong:#847768;--text:#f4efe8;--text-secondary:#c9bfb2;--text-muted:#a79c8e;--text-disabled:#6e6459;--text-on-accent:#06231c;--accent:#5cc7a3;--accent-hover:#7ad6b7;--accent-active:#95e1c9;--accent-soft:#16332b;--danger:#f4938a;--danger-soft:#361a17;--danger-on:#2a0e0b;--success:#7dc98d;--success-soft:#16301c;--warning:#e3a93f;--warning-soft:#33260f;--focus:#5cc7a3;--selection-bg:#1e4a3d;--selection-text:#f4efe8;--shadow-1:none;--shadow-2:0 4px 12px #00000080;--shadow-3:0 16px 44px #000000a6;--scrim:#000000a6;--scrim-strong:#000000b3}@media (width<=767px){:root{--t-display-xl:600 36px/42px var(--font-display);--t-display-l:600 28px/34px var(--font-display);--ls-display-xl:-.015em;--ls-display-l:-.01em;--topbar-h:var(--topbar-h-mobile)}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-base);color:var(--text);font:var(--t-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}::selection{background:var(--selection-bg);color:var(--selection-text)}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,picture,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration:underline}:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset);border-radius:var(--r-xs)}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.t-display-xl{font:var(--t-display-xl);letter-spacing:var(--ls-display-xl)}.t-display-l{font:var(--t-display-l);letter-spacing:var(--ls-display-l)}.t-display-m{font:var(--t-display-m);letter-spacing:var(--ls-display-m)}.t-title{font:var(--t-title);letter-spacing:var(--ls-title)}.t-subtitle{font:var(--t-subtitle)}.t-body-l{font:var(--t-body-l)}.t-body{font:var(--t-body)}.t-label{font:var(--t-label);letter-spacing:var(--ls-label)}.t-caption{font:var(--t-caption);letter-spacing:var(--ls-caption);font-variant-numeric:tabular-nums}.t-overline{font:var(--t-overline);letter-spacing:var(--ls-overline);text-transform:uppercase}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-accent{color:var(--accent)}.measure{max-width:var(--measure)}.app-shell{flex-direction:column;min-height:100%;display:flex}.page{flex:1;width:100%}.content{width:100%;max-width:var(--content-max);padding-inline:var(--s-5);margin-inline:auto}@media (width>=768px){.content{padding-inline:var(--s-8)}}.centered-page{min-height:calc(100vh - var(--topbar-h));padding:var(--s-12) var(--s-5);justify-content:center;align-items:center;display:flex}@media (width<=767px){.centered-page{padding:var(--s-6) var(--s-5) var(--s-24);align-items:flex-start}}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--s-4);top:calc(-1 * var(--s-16));z-index:100;padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-2);border:1px solid var(--border-strong);text-decoration:none;position:absolute}.skip-link:focus{top:var(--s-4)}.stack{flex-direction:column;display:flex}.stack-2>*+*{margin-top:var(--s-2)}.stack-3>*+*{margin-top:var(--s-3)}.stack-4>*+*{margin-top:var(--s-4)}.stack-6>*+*{margin-top:var(--s-6)}.stack-8>*+*{margin-top:var(--s-8)}.row{align-items:center;gap:var(--s-3);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.topbar{z-index:40;height:var(--topbar-h);background:var(--bg-base);border-bottom:1px solid var(--border);flex:none;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:var(--s-4);height:100%;display:flex}.wordmark{font:var(--t-title);font-family:var(--font-display);color:var(--text);white-space:nowrap;font-size:20px;text-decoration:none}.wordmark:hover{text-decoration:none}.topbar-nav{align-items:center;gap:var(--s-2);display:flex}.dot-unread{width:8px;height:8px;margin-left:var(--s-1);border-radius:var(--r-full);background:var(--accent);vertical-align:middle;display:inline-block}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-width:120px;height:48px;padding:0 var(--s-6);border-radius:var(--r-sm);font:var(--t-body);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-active);transform:scale(.985)}.btn-secondary{border-color:var(--border-strong);color:var(--text);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-secondary)}.btn-secondary:active:not(:disabled){background:var(--bg-sunk)}.btn:disabled{background:var(--bg-sunk);border-color:var(--border);color:var(--text-disabled);cursor:not-allowed;box-shadow:none}.btn-block{width:100%}.btn-sm{min-width:0;height:40px;padding:0 var(--s-4)}.btn-lg{height:56px;padding:0 var(--s-8)}@media (width<=767px){.btn-mobile-tall{height:52px}}.btn-text{min-height:44px;padding:0 var(--s-2);color:var(--accent);font:var(--t-body);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:0;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.btn-text:hover{text-underline-offset:4px;text-decoration:underline}.btn-text-muted{color:var(--text-muted)}.btn[aria-busy=true]{cursor:progress}.btn[aria-busy=true] .btn-label{opacity:.55}.spinner{border-radius:var(--r-full);border:2px solid;border-top-color:#0000;flex:none;width:18px;height:18px;animation:.7s linear infinite ts-spin}@keyframes ts-spin{to{transform:rotate(360deg)}}.icon-btn{border-radius:var(--r-sm);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;font-size:22px;line-height:1;text-decoration:none;display:inline-flex}.icon-btn:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.card{width:100%;max-width:var(--card-w);padding:var(--s-8);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1)}.card-wide{max-width:var(--card-w-wide)}@media (width<=767px){.card,.card-wide{max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}}.well{padding:var(--s-5);border-radius:var(--r-md);background:var(--bg-sunk)}.field{display:block}.field-label-row{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-2);display:flex}.field-label{font:var(--t-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.field-optional{margin-left:var(--s-2);font:var(--t-caption);color:var(--text-muted);font-weight:500}.input,.textarea{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--text);font:var(--t-body);transition:border-color var(--dur-fast) var(--ease-standard);padding:0 14px;display:block}.input{height:48px}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:var(--text-secondary)}.input:focus,.textarea:focus{border-color:var(--accent)}.textarea{min-height:200px;max-height:400px;font:var(--t-body-l);resize:vertical;padding:12px 14px}@media (width<=767px){.textarea{min-height:180px;max-height:320px}}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.input[aria-invalid=true]:focus-visible,.textarea[aria-invalid=true]:focus-visible{outline-color:var(--danger)}.input:disabled,.textarea:disabled{background:var(--bg-sunk);border-color:var(--border);color:var(--text-disabled);cursor:not-allowed}.field-help{min-height:16px;margin-top:var(--s-2);font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-muted);display:block}.field-help[data-tone=danger]{color:var(--danger)}.form-stack>*+*{margin-top:var(--s-6)}.checkbox-row{align-items:flex-start;gap:var(--s-3);display:flex}.checkbox-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex:none;margin:1px 0 0}.checkbox-row label{font:var(--t-body);color:var(--text-secondary);cursor:pointer}.progress-track{border-radius:var(--r-full);background:var(--bg-sunk);width:100%;height:4px;overflow:hidden}.progress-fill{border-radius:var(--r-full);background:var(--accent);height:100%}.avatar{border-radius:var(--r-full);background:var(--bg-sunk);color:var(--text-muted);font-family:var(--font-display);box-shadow:inset 0 0 0 1px var(--border);flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-online{border-radius:var(--r-full);background:var(--success);width:12px;height:12px;box-shadow:0 0 0 3px var(--surface);position:absolute;bottom:0;right:0}.badge{align-items:center;gap:var(--s-1);border-radius:var(--r-xs);height:24px;font:var(--t-caption);background:var(--bg-sunk);color:var(--text-secondary);padding:0 10px;font-weight:600;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.chip{height:36px;padding:0 var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-xs);color:var(--text);font:var(--t-caption);cursor:pointer;background:0 0;font-weight:600}.chip:hover{background:var(--surface-hover)}.chip[data-used=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.chip-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.dropzone{aspect-ratio:1;justify-content:center;align-items:center;gap:var(--s-3);width:280px;max-width:100%;padding:var(--s-4);border:2px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--bg-sunk);color:var(--text-muted);text-align:center;cursor:pointer;flex-direction:column;display:flex;position:relative;overflow:hidden}.dropzone[data-drag=true]{border:2px solid var(--accent);background:var(--accent-soft)}.dropzone[data-state=passed]{border:2px solid var(--success);border-style:solid}.dropzone[data-state=rejected]{border:2px solid var(--danger);border-style:solid}.dropzone img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.dropzone-overlay{background:var(--scrim-strong);color:var(--surface-raised);font:var(--t-body);justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}@media (width<=767px){.dropzone{width:100%}}.indeterminate{background:var(--bg-sunk);height:4px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.indeterminate:after{content:"";background:var(--accent);width:40%;animation:ts-indeterminate 1.1s var(--ease-standard) infinite;position:absolute;inset:0}@keyframes ts-indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.photo-grid{gap:var(--s-3);grid-template-columns:repeat(3,1fr);display:grid}.photo-tile{aspect-ratio:1;border-radius:var(--r-md);background:var(--bg-sunk);position:relative;overflow:hidden}.photo-tile img{object-fit:cover;width:100%;height:100%}.photo-slot{justify-content:center;align-items:center;gap:var(--s-1);aspect-ratio:1;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--bg-sunk);color:var(--text-muted);font:var(--t-caption);cursor:pointer;flex-direction:column;display:flex}.photo-slot:hover{background:var(--surface-hover)}.photo-remove{top:var(--s-2);right:var(--s-2);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-raised);width:32px;height:32px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;display:flex;position:absolute}.photo-badge{left:var(--s-2);bottom:var(--s-2);position:absolute}.action-bar{z-index:30;align-items:stretch;gap:var(--s-2);padding:var(--s-3) var(--s-5);padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-2);flex-direction:column;display:none;position:sticky;bottom:0}@media (width<=767px){.action-bar{display:flex}.desktop-actions{display:none}}.tabbar{z-index:30;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);display:none;position:sticky;bottom:0}.tabbar ul{display:flex}.tabbar li{flex:1}.tabbar a{height:56px;color:var(--text-muted);font:var(--t-caption);flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--accent)}@media (width<=767px){.tabbar{display:block}}.toast-region{z-index:80;left:50%;bottom:var(--s-6);gap:var(--s-2);pointer-events:none;flex-direction:column;width:min(420px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}@media (width<=767px){.toast-region{bottom:auto;top:calc(var(--s-3) + env(safe-area-inset-top))}}.toast{align-items:flex-start;gap:var(--s-3);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--r-md);background:var(--surface-raised);box-shadow:var(--shadow-2);color:var(--text);font:var(--t-body);pointer-events:auto;animation:ts-toast-in var(--dur-base) var(--ease-out);padding:14px 16px;display:flex}.toast[data-kind=danger]{border-left-color:var(--danger)}.toast[data-kind=success]{border-left-color:var(--success)}.toast-dismiss{border-radius:var(--r-xs);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;margin-left:auto}@keyframes ts-toast-in{0%{opacity:0;transform:translateY(8px)}}.chat-layout{height:calc(100vh - var(--topbar-h));grid-template-columns:320px minmax(0,1fr) 280px;display:grid}@media (width<=1199px){.chat-layout{grid-template-columns:320px minmax(0,1fr)}.chat-aside{display:none}}@media (width<=767px){.chat-layout{grid-template-columns:minmax(0,1fr)}.chat-layout[data-view=thread] .chat-list,.chat-layout[data-view=list] .chat-main{display:none}}.chat-list{border-right:1px solid var(--border);background:var(--bg-base);flex-direction:column;min-height:0;display:flex}.chat-list-head{height:56px;padding:0 var(--s-3) 0 var(--s-4);flex:none;justify-content:space-between;align-items:center;display:flex}.chat-list-scroll{min-height:0;padding:0 var(--s-2) var(--s-4);flex:1;overflow-y:auto}.conv-row{align-items:center;gap:var(--s-3);width:100%;height:72px;padding:0 var(--s-3);border-radius:var(--r-sm);color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.conv-row+.conv-row{margin-top:var(--s-1)}.conv-row:hover{background:var(--surface-hover);text-decoration:none}.conv-row[aria-current=page]{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.conv-text{flex:1;min-width:0}.conv-line{justify-content:space-between;align-items:baseline;gap:var(--s-2);display:flex}.conv-name{font:var(--t-body);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.conv-preview{font:var(--t-caption);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.conv-row[data-unread=true] .conv-name{font-weight:700}.conv-row[data-unread=true] .conv-preview{color:var(--text-secondary)}.chat-main{background:var(--surface);flex-direction:column;min-height:0;display:flex}.chat-aside{min-height:0;padding:var(--s-5);border-left:1px solid var(--border);background:var(--bg-base);overflow-y:auto}.band{padding:var(--s-2) var(--s-4);text-align:center;font:var(--t-caption)}.band-warning{background:var(--warning-soft);color:var(--warning)}.band-danger{background:var(--danger-soft);color:var(--danger)}.skeleton{border-radius:var(--r-xs);background:var(--bg-sunk)}.skeleton-circle{border-radius:var(--r-full);background:var(--bg-sunk)}.person-card{width:100%;max-width:var(--card-w-wide);padding:var(--s-8);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);margin-inline:auto}@media (width<=767px){.person-card{padding:var(--s-5);border-radius:var(--r-md)}}.clamp-6{-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.photo-strip{gap:var(--s-2);display:flex}.photo-strip img{border-radius:var(--r-sm);object-fit:cover;background:var(--bg-sunk);width:84px;height:84px}.hero{padding:var(--s-24) 0 var(--s-20);max-width:620px}@media (width<=767px){.hero{padding:var(--s-10) 0 var(--s-12)}}.how-grid{gap:var(--s-8);padding-bottom:var(--s-20);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=767px){.how-grid{gap:var(--s-10);padding-bottom:var(--s-12);grid-template-columns:1fr}}.rules-strip{background:var(--accent-soft);padding:var(--s-20) 0;text-align:center}@media (width<=767px){.rules-strip{padding:var(--s-12) 0}}.site-footer{border-top:1px solid var(--border);min-height:96px;color:var(--text-muted);font:var(--t-caption);align-items:center;display:flex}.menu-wrap{position:relative}.menu{right:0;top:calc(100% + var(--s-2));z-index:50;min-width:220px;padding:var(--s-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-raised);box-shadow:var(--shadow-2);position:absolute}.menu-item{justify-content:space-between;align-items:center;gap:var(--s-3);width:100%;min-height:44px;padding:0 var(--s-3);border-radius:var(--r-xs);color:var(--text);font:var(--t-body);text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.menu-item:hover{background:var(--surface-hover);text-decoration:none}.menu-label{padding:var(--s-2) var(--s-3) var(--s-1);font:var(--t-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--text-muted);display:block}.hero-actions{gap:var(--s-3);display:flex}@media (width<=767px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%;height:52px}}.profile-grid{gap:var(--s-12);grid-template-columns:360px minmax(0,1fr);display:grid}.profile-side{top:calc(var(--topbar-h) + var(--s-6));align-self:start;position:sticky}@media (width<=899px){.profile-grid{gap:var(--s-8);grid-template-columns:minmax(0,1fr)}.profile-side{position:static}}.stack-1>*+*{margin-top:var(--s-1)}@media (width<=767px){.topbar-nav>.btn-text{display:none}.topbar-nav>.btn-text.topbar-logout{display:inline-flex}.toast-region{top:calc(var(--topbar-h-mobile) + var(--s-3) + env(safe-area-inset-top))}.photo-strip img{aspect-ratio:1;flex:1;width:auto;min-width:0;height:auto}}.chat-layout[data-aside=false]{grid-template-columns:320px minmax(0,1fr)}.clamp-8{-webkit-line-clamp:8;line-clamp:8;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.aside-photos{gap:var(--s-2);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=767px){.app-shell[data-tabs=true] .action-bar{bottom:calc(56px + env(safe-area-inset-bottom));padding-bottom:var(--s-3)}}.pw-rules{gap:var(--s-1);margin-top:var(--s-2);display:grid}.pw-rule{align-items:flex-start;gap:var(--s-2);font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-muted);display:flex}.pw-rule-mark{flex:none;justify-content:center;width:14px;font-weight:700;line-height:16px;display:inline-flex}.pw-rule[data-state=met]{color:var(--success)}.pw-rule[data-state=todo] .pw-rule-mark{color:var(--border-strong)}.pw-rule[data-state=missing]{color:var(--danger)}.form-banner{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--danger);border-radius:var(--r-sm);background:var(--danger-soft);border-left-width:3px;display:flex}.form-banner-mark{border-radius:var(--r-full);background:var(--danger);width:20px;height:20px;color:var(--danger-on);font:var(--t-caption);flex:none;justify-content:center;align-items:center;margin-top:1px;font-weight:700;display:inline-flex}.form-banner-text{flex:1;min-width:0}.form-banner-title{font:var(--t-body);color:var(--text);font-weight:600}.form-banner-detail{margin-top:var(--s-1);font:var(--t-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary)}.form-banner-action{height:36px;padding:0 var(--s-3);border-color:var(--danger);color:var(--danger);flex:none;align-self:center}.form-banner-action:hover:not(:disabled){background:var(--surface);border-color:var(--danger)}.form-banner[data-tone=good]{border-color:var(--success);background:var(--success-soft)}.form-banner[data-tone=good] .form-banner-mark{background:var(--success);color:var(--bg-base)}@media (width<=420px){.form-banner{flex-wrap:wrap}.form-banner-action{margin-left:calc(20px + var(--s-3))}}.form-actions{justify-content:space-between;align-items:center;gap:var(--s-4);flex-direction:row-reverse;display:flex}.field-help a{color:inherit;text-underline-offset:3px;font-weight:600;text-decoration:underline}@media (width<=767px){:root{--tabbar-h:calc(56px + env(safe-area-inset-bottom))}.topbar{height:calc(var(--topbar-h) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.content{padding-left:max(var(--s-5), env(safe-area-inset-left));padding-right:max(var(--s-5), env(safe-area-inset-right))}.centered-page{min-height:calc(100dvh - var(--topbar-h) - env(safe-area-inset-top));padding:var(--s-5) var(--s-5) 0;align-items:stretch}.app-shell[data-tabs=true] .centered-page{min-height:calc(100dvh - var(--topbar-h) - env(safe-area-inset-top) - var(--tabbar-h))}.centered-page>.card>.action-bar{margin-top:auto;margin-inline:calc(-1 * var(--s-5))}:is(.centered-page>.card>:has(+.action-bar),.centered-page>.card>:has(+.desktop-actions)){margin-bottom:var(--s-4)}.action-bar{padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom))}html{scroll-padding-bottom:calc(var(--tabbar-h) + 96px)}.wordmark{align-items:center;min-height:44px;display:inline-flex}.topbar .btn-sm{height:44px}.topbar-nav{gap:var(--s-1)}.chip,.composer-starter{height:auto;min-height:44px;padding-block:var(--s-2)}.site-footer a{text-align:center;min-width:44px;padding-block:14px;display:inline-block}.checkbox-row a,.pres-name{margin-block:-12px;padding-block:12px}.centered-page form p a,.action-bar a{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.input,.textarea,select{font-size:16px}.checkbox-row{min-height:44px;padding-block:var(--s-1);align-items:center;position:relative}.checkbox-row input[type=checkbox]{z-index:2;width:26px;height:26px;margin:0;position:relative}.checkbox-row label{display:block;position:static}.checkbox-row label:before{content:"";position:absolute;inset:0}.checkbox-row a{z-index:1;position:relative}.centered-page form .btn-primary{width:100%}.form-actions{align-items:stretch;gap:var(--s-3);flex-direction:column}.textarea{min-height:148px}.dropzone{aspect-ratio:auto;width:100%;height:200px;min-height:200px}.dropzone[data-state=checking],.dropzone[data-state=passed],.dropzone[data-state=rejected]{height:240px}.content.dsc-page{padding-top:var(--s-4);padding-bottom:var(--s-2)}.dsc-page .dsc-head{margin-bottom:var(--s-2)}.dsc-page .dsc-person{align-items:center;gap:var(--s-4)}.dsc-page .dsc-about{min-height:0}.dsc-openers .dsc-opener{min-height:44px;padding-block:var(--s-3)}.dsc-page .dsc-under{margin-top:var(--s-1);flex-direction:column;align-items:flex-start;gap:0}.dsc-page .dsc-under a{align-items:center;min-height:44px;margin-block:0;padding-block:0;display:inline-flex}.action-bar .btn-text{min-height:48px}.dsc-page .dsc-quiet{min-height:calc(100dvh - var(--topbar-h) - var(--tabbar-h) - var(--s-12))}.chat-layout,.chat-layout[data-aside=false],.chat-layout[data-aside=true]{grid-template-columns:minmax(0,1fr)}.chat-layout[data-view=list] .chat-list{border-right:0}.chat-layout[data-view=list]{height:calc(100dvh - var(--topbar-h) - env(safe-area-inset-top) - var(--tabbar-h))}.chat-list-head{height:56px;padding-inline:var(--s-4) var(--s-2)}.chat-list-scroll{padding-inline:var(--s-2)}.conv-row{height:76px;padding-inline:var(--s-2)}.conv-preview{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.app-shell:has(.chat-layout[data-view=thread])>.topbar{display:none}.chat-layout[data-view=thread]{height:calc(100dvh - var(--kb-inset,0px))}.chat-head{z-index:20;height:calc(64px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-inline:var(--s-2) var(--s-4);background:var(--surface);position:sticky;top:0}.chat-head .chat-back{color:var(--text);font-size:26px}.msg[data-touch-actions=true] .msg-actions{opacity:1;pointer-events:auto}.msg[data-touch-actions=true]{background:var(--surface-hover)}.msg-actions{padding:2px;top:-22px}.msg-action{min-width:56px;min-height:44px;padding-inline:var(--s-3)}.composer-field textarea{padding-right:58px;font-size:17px}.composer .composer-send{width:44px;height:44px;bottom:2px;right:2px}.composer-starters{margin-inline:calc(var(--s-3) * -1);padding-inline:var(--s-3)}.chat-scroll{padding:var(--s-4) var(--s-4) var(--s-2);overscroll-behavior:contain}.pf-fact dt,.pf-fact dd{overflow-wrap:anywhere}.content.pf-page{padding-bottom:var(--s-4)}}@media (hover:none){.msg[data-touch-actions=true] .msg-stamp-gutter,.msg[data-touch-actions=true] .msg-stamp-side{opacity:1}.conv-row:active{background:var(--surface-hover)}.chip:active,.composer-starter:active,.icon-btn:active{background:var(--bg-sunk)}.btn-primary:active:not(:disabled){background:var(--accent-active)}}@media (width<=767px){.content.dsc-page{height:calc(100dvh - var(--topbar-h) - env(safe-area-inset-top) - 1px - max(calc(var(--tabbar-h) + 1px), var(--kb-inset,0px)));padding-top:var(--s-2);flex-direction:column;padding-bottom:0;display:flex;position:relative;overflow:hidden}.content.dsc-page .dsc-head{width:100%;max-width:none;min-height:44px;margin:0 0 var(--s-1);flex:none;align-items:center;display:flex}.content.dsc-page .dsc-head .t-subtitle{display:none}.content.dsc-page .dsc-under{top:var(--s-2);right:max(var(--s-5), env(safe-area-inset-right));z-index:1;flex-direction:row;align-items:center;gap:0;width:auto;max-width:none;margin:0;position:absolute}.content.dsc-page .dsc-under>span{display:none}.content.dsc-page .dsc-under a{min-height:44px;padding-left:var(--s-3)}.content.dsc-page .dsc-card{overscroll-behavior:contain;min-height:0;padding:var(--s-4);scrollbar-width:none;flex:0 auto;overflow-y:auto}.content.dsc-page .dsc-card::-webkit-scrollbar{display:none}.content.dsc-page .dsc-card>*+*{margin-top:10px}.content.dsc-page .dsc-person,.content.dsc-page .dsc-more-photos,.content.dsc-page .dsc-say,.content.dsc-page .dsc-foot{flex:none}.content.dsc-page .dsc-about-wrap{overscroll-behavior:contain;scrollbar-width:none;flex:0 auto;min-height:0;overflow-y:auto}.content.dsc-page .dsc-about-wrap::-webkit-scrollbar{display:none}.content.dsc-page .dsc-clamp{max-height:104px;max-height:4lh}.content.dsc-page .dsc-about{min-height:0}.content.dsc-page .dsc-person .avatar{width:72px!important;height:72px!important;font-size:29px!important}.content.dsc-page .dsc-person{align-items:center;gap:var(--s-4)}.content.dsc-page .dsc-photos li{flex:none}.content.dsc-page .dsc-photos-label{margin-bottom:6px}.content.dsc-page .dsc-photo{aspect-ratio:auto;width:46px;height:46px}.content.dsc-page .dsc-openers{scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;margin-inline:0;padding-block:3px;padding-inline:0;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000 100%)}.content.dsc-page .dsc-openers::-webkit-scrollbar{display:none}.content.dsc-page .dsc-opener{scroll-snap-align:start;white-space:nowrap;min-height:44px;padding-block:var(--s-2);flex:none}.content.dsc-page .dsc-say{padding-top:var(--s-2);border-top:0}.content.dsc-page .dsc-composer{height:60px;min-height:0}.content.dsc-page .dsc-say>p:last-child{letter-spacing:0;color:var(--text-secondary);font-size:14px;line-height:20px}.content.dsc-page .dsc-foot{margin-top:10px;padding-top:0}.content.dsc-page .dsc-kind{text-align:left;margin-top:0}.content.dsc-page .desktop-actions{display:none}.content.dsc-page .action-bar{justify-content:space-between;align-items:center;gap:var(--s-4);box-shadow:none;background:0 0;border-top:0;flex-direction:row;flex:none;margin-top:auto;padding:10px 0;position:static}.content.dsc-page .action-bar:before{content:none}.content.dsc-page .action-bar .btn-text{min-height:48px;padding-inline:var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text-secondary);flex:none;font-size:15px}.content.dsc-page .action-bar .btn-block,.content.dsc-page .action-bar .btn-mobile-tall{flex:0 0 190px;width:190px;height:48px}.content.dsc-page .dsc-quiet{min-height:0;padding-top:var(--s-6);flex:auto;overflow-y:auto}html{scroll-padding-bottom:calc(var(--tabbar-h) + var(--kb-inset,0px) + 96px)}.msg[data-touch-actions=true]{padding-bottom:56px}.msg[data-touch-actions=true] .msg-actions{top:auto;bottom:var(--s-2);right:var(--s-3)}}@media (hover:none){.dsc-about:not(:has(.dsc-line[aria-pressed=true])) .dsc-line{-webkit-text-decoration:underline dotted var(--border-strong);text-decoration:underline dotted var(--border-strong);text-underline-offset:4px}}@media (width<=767px){:is(.content.dsc-page .dsc-card:has(.dsc-composer:focus) .dsc-more-photos,.content.dsc-page .dsc-card:has(.dsc-composer:focus) .dsc-foot){display:none}}
