@font-face{font-family:Inter;src:url('/assets/fonts/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Fraunces;src:url('/assets/fonts/fraunces.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:light;--cream:#faf8f4;--paper:#fffefa;--ink:#1f2a28;--sage:#4e6b56;--sage-light:#eaf0e8;--terra:#ad493f;--blush:#f6e8e2;--sand:#ebd9c6;--muted:#5f6864;--line:#dedfd7;--error:#9d302b;font-family:Inter,system-ui,sans-serif;font-size:16px;color:var(--ink);background:var(--cream);line-height:1.6;font-synthesis:none;text-size-adjust:100%;-webkit-text-size-adjust:100%}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{-webkit-touch-callout:default}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--sage);text-underline-offset:.2em}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--sage);outline-offset:4px}h1:focus{outline:none}p,h1,h2,h3{margin-top:0}h1,h2,h3,blockquote{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.15;letter-spacing:-.025em}h1{font-size:clamp(2.15rem,6vw,3.2rem);margin-bottom:1rem}h2{font-size:1.5rem;margin-bottom:.8rem}h3{font-size:1.25rem}p{margin-bottom:1rem}small,.helper{font-size:.8125rem;color:var(--muted);line-height:1.6}.helper{margin-top:.6rem}.fine-print{font-size:.75rem;color:var(--muted);margin-top:1.5rem}.fine-print a{color:inherit}svg{width:1.35rem;height:1.35rem;flex-shrink:0;vertical-align:middle}img{max-width:100%;display:block}ul{padding-left:1.25rem}li{margin:.35rem 0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-6rem;left:1rem;z-index:20;background:var(--cream);padding:.75rem 1rem;border:2px solid var(--sage);border-radius:1rem}.skip:focus{top:1rem}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.site-header{height:auto;min-height:5.5rem;padding:1rem max(1.5rem,env(safe-area-inset-left));display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:2}.wordmark{font-family:Fraunces,Georgia,serif;font-size:2.25rem;font-weight:650;letter-spacing:-.08em;text-decoration:none;color:var(--sage);line-height:1}.wordmark span{color:var(--terra)}.beta-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.12em;border-left:1px solid var(--line);padding:.1rem 0 .1rem 1rem;color:var(--muted)}.header-safety{margin-left:auto;font-size:.75rem;text-decoration:none;display:flex;align-items:center;gap:.4rem}.header-safety svg{width:1.1rem}.desktop-nav{display:none}.main{width:100%;max-width:43rem;padding:2rem 1.5rem 3rem;margin:0 auto;flex:1;min-width:0;overflow-wrap:anywhere}.signed-in .main{padding-bottom:calc(7.5rem + env(safe-area-inset-bottom))}.site-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.75rem;color:var(--muted);padding:1.5rem;border-top:1px solid var(--line)}.site-footer nav{display:flex;gap:1rem}.site-footer a{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.6875rem;font-weight:650;line-height:1.6;color:var(--sage);margin-bottom:.65rem}.eyebrow svg{width:1rem;height:1rem;margin-right:.25rem}.lede{font-size:1rem;color:var(--muted);line-height:1.7;margin-bottom:1.75rem}.button{border:1px solid transparent;border-radius:1rem;min-height:3.25rem;padding:.85rem 1.3rem;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;color:white;background:var(--terra);font-weight:600;font-size:.875rem;line-height:1.5;text-align:center;text-decoration:none;white-space:normal;max-width:100%;overflow-wrap:anywhere;transition:background .15s,transform .15s}.button:hover{background:#973f36}.button:active{transform:translateY(1px)}.button svg{width:1.15rem;height:1.15rem}.button.quiet{background:transparent;border-color:#b7beb3;color:var(--ink)}.button.quiet:hover{background:var(--sage-light)}.button.text{border:0;background:transparent;color:var(--sage);padding:.65rem .1rem;min-height:2.75rem;justify-content:flex-start;text-decoration:underline;text-underline-offset:.2em}.button.danger{background:var(--error)}.button.danger-text{color:var(--error)}.button.google{background:white;border-color:var(--line);color:var(--ink);width:100%;box-shadow:0 2px 6px #1f2a2805}.button.google svg{width:1.5rem;height:1.5rem}.icon-button{border:1px solid transparent;background:transparent;border-radius:.85rem;min-width:2.75rem;min-height:2.75rem;padding:.65rem;color:var(--sage);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;flex-shrink:0}.icon-button:hover{background:var(--sage-light)}.back-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.8125rem;text-decoration:none;min-height:2.75rem;margin-bottom:1rem}.back-link svg{width:1rem}.text-link{display:inline-flex;align-items:center;gap:.25rem;text-decoration:underline;text-underline-offset:.2em;font-size:.8125rem;font-weight:650;color:var(--sage)}.text-link svg{width:1rem}.card{padding:1.4rem;border:1px solid var(--line);border-radius:1.5rem;background:var(--paper);margin:1.25rem 0}.card>:last-child{margin-bottom:0}.card.sage{background:var(--sage-light);border-color:transparent}.card.blush{background:var(--blush);border-color:transparent}.card.sage>svg,.card.blush>svg{width:1.75rem;height:1.75rem;color:var(--sage);margin-bottom:.75rem}.centered{text-align:center}.notice,.error{padding:1.1rem 1.25rem;border-radius:1rem;border:1px solid #dcb5a9;background:var(--blush);margin:1.25rem 0;line-height:1.6}.error{color:#742b25}.error p{margin:.3rem 0}.error small{color:inherit}.empty{text-align:center;max-width:32rem;margin:1.25rem auto 2rem;padding:.75rem 0}.empty h1{font-size:2.1rem}.empty p{color:var(--muted);margin:0 auto 1.5rem;max-width:27rem}.empty-symbol{width:4rem;height:4rem;border-radius:50%;background:var(--sage-light);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:var(--sage)}.empty-symbol svg{width:1.9rem;height:1.9rem}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;gap:2rem}.toast{position:fixed;z-index:40;bottom:calc(6rem + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 2rem);padding:.9rem 1.25rem;border:1px solid #aab5a9;border-radius:1rem;background:var(--ink);color:white;box-shadow:0 6px 30px #1f2a2820;font-size:.8125rem;line-height:1.5;overflow-wrap:anywhere}.row{display:flex;gap:.75rem;flex-wrap:wrap}.connection-status{min-height:1.75rem;display:flex;gap:.4rem;align-items:center;justify-content:center;font-size:.625rem;color:var(--muted);padding:.2rem 1rem;background:#f1f2eb}.status-dot{width:.35rem;height:.35rem;background:var(--sage);border-radius:50%;flex-shrink:0}.connection-status.offline .status-dot{background:var(--terra)}.connection-status .button{font-size:.625rem;min-height:1.25rem;padding:0}.bottom-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;position:fixed;z-index:4;bottom:0;left:0;right:0;padding:.5rem max(.75rem,env(safe-area-inset-left)) calc(.5rem + env(safe-area-inset-bottom));background:#faf8f4f5;border-top:1px solid var(--line);backdrop-filter:blur(12px)}.bottom-nav a{display:flex;align-items:center;justify-content:center;gap:.25rem;flex-direction:column;min-height:3.3rem;color:var(--muted);text-decoration:none;font-size:.6875rem;font-weight:600;border-radius:1rem;position:relative}.bottom-nav a[aria-current]{background:var(--blush);color:var(--terra)}.bottom-nav svg{height:1.4rem;width:1.4rem}.nav-dot{width:.4rem;height:.4rem;border-radius:50%;background:var(--terra);position:absolute;top:.3rem;left:calc(50% + .65rem)}
/* Welcome */
.welcome-main{max-width:76rem;padding:0}.welcome{display:grid;gap:0}.welcome-photo{position:relative;min-width:0}.welcome-photo img{width:100%;height:17.5rem;object-fit:cover;object-position:center 38%}.welcome-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#1f2a2866)}.welcome-photo-note{position:absolute;bottom:1.5rem;left:1.5rem;color:white;font-family:Fraunces,serif;font-size:1.5rem;line-height:1.2;z-index:1}.welcome-copy{padding:2rem 1.5rem 1rem}.welcome-copy h1{font-size:clamp(2.4rem,7vw,4rem)}.welcome-copy em{font-style:normal;color:var(--sage)}.welcome-principles{margin:1.5rem 0 2rem}.welcome-principles p{display:flex;gap:.7rem;align-items:flex-start;font-size:.8125rem;margin:.75rem 0}.welcome-principles svg{color:var(--sage);width:1.2rem;height:1.2rem;flex-shrink:0;margin-top:.1rem}
/* Native onboarding forms */
.wizard-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.wizard-top .back-link{margin-bottom:0}.wizard-top .button{font-size:.75rem}.step-label{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sage);font-weight:600;margin-bottom:.6rem}progress{appearance:none;-webkit-appearance:none;width:100%;height:.25rem;border:0;border-radius:2rem;overflow:hidden;background:var(--line);margin-bottom:1.5rem}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--sage)}progress::-moz-progress-bar{background:var(--sage)}.field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.35rem;min-width:0}.field>span{font-size:.8125rem;font-weight:600;line-height:1.5}.field>small{margin-top:-.1rem}.field input,.field textarea,.field select{background:white;border:1px solid #aeb7ab;border-radius:.85rem;min-height:3.2rem;padding:.8rem .9rem;width:100%;min-width:0;font-size:1rem;line-height:1.5;box-sizing:border-box}.field input[type="date"]{appearance:none;min-width:0;max-width:100%}.field input[type="file"]{font-size:.8125rem;overflow:hidden}.field input[type="file"]::file-selector-button{font:inherit;border:1px solid var(--line);border-radius:.5rem;padding:.4rem;margin-right:.5rem;background:var(--sage-light);color:var(--ink)}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#717972;opacity:1}.check{display:flex;align-items:flex-start;gap:.75rem;font-size:.8125rem;line-height:1.6;padding:.6rem 0;cursor:pointer;min-height:2.75rem}.check input{width:1.2rem;height:1.2rem;flex:0 0 1.2rem;accent-color:var(--sage);margin:.18rem 0 0}.check small{display:block;font-size:.75rem;font-weight:400;margin-top:.25rem}.check span{min-width:0}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}fieldset{border:0;padding:0;margin:0 0 1.25rem;min-width:0}legend{padding:0;margin:0 0 .75rem;font-size:.8125rem;font-weight:600;line-height:1.5;max-width:100%}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.choice{position:relative;max-width:100%;cursor:pointer;display:flex;min-width:0}.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0}.choice span{border:1px solid #abb5a5;background:white;border-radius:.75rem;padding:.6rem .85rem;font-size:.8125rem;line-height:1.5;max-width:100%;overflow-wrap:anywhere;display:flex;align-items:center;min-height:2.75rem}.choice input:checked+span{background:var(--sage-light);border-color:var(--sage);box-shadow:inset 0 0 0 1px var(--sage);color:#2c4933}.choice input:focus-visible+span{outline:3px solid var(--sage);outline-offset:3px}.question h2{font-size:1.3rem;margin-bottom:1.3rem}.wizard-actions{display:flex;gap:.75rem;justify-content:flex-end;margin:1.5rem 0;align-items:stretch;flex-wrap:wrap}.wizard-actions .button:last-child{flex:1}.wizard-actions .button:first-child:not(:last-child){flex:0 1 auto}.geography-results{margin-top:-.5rem;max-height:18rem;overflow:auto;border-radius:.75rem}.geography-choice{display:flex;align-items:flex-start;flex-direction:column;width:100%;text-align:left;padding:.8rem 1rem;background:white;border:1px solid var(--line);min-height:3.5rem}.geography-choice:hover{background:var(--sage-light)}.geography-choice strong{font-size:.8125rem}.geography-choice small{font-size:.75rem}.selected-geography{font-size:.75rem;color:var(--sage)}.selected-geography svg{height:1rem;width:1rem;margin-right:.25rem}
/* Today, profiles and explanation */
.heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.25rem}.heading-row h1{min-width:0}.heading-row .icon-button{margin-top:.1rem}.alignment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1.2rem;background:var(--sage-light);border:1px solid #d4dfd0;border-radius:1.4rem;text-decoration:none;color:var(--ink);margin:.5rem 0 1.5rem}.alignment-card p:not(.eyebrow){font-size:.8125rem;line-height:1.6;margin-bottom:.65rem}.alignment-card .eyebrow{font-size:.625rem}.score{font-family:Fraunces,serif;color:var(--sage);font-size:2.5rem;line-height:1;align-self:center;text-align:center}.score small{display:block;font-family:Inter,sans-serif;font-size:.65rem;line-height:1.5;margin-top:.4rem}.photo-gallery{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;border-radius:1.5rem;max-width:100%}.photo-gallery figure{position:relative;flex:0 0 100%;margin:0;scroll-snap-align:start;overflow:hidden;border-radius:1.5rem;min-width:0;aspect-ratio:1.06;background:var(--sand)}.photo-gallery img{width:100%;height:100%;object-fit:cover}.photo-gallery figcaption{position:absolute;bottom:.75rem;right:.75rem;background:#faf8f4ef;padding:.2rem .65rem;border-radius:2rem;font-size:.6875rem}.photo-placeholder{background:var(--sand);color:var(--sage);display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:13rem;padding:2rem;text-align:center;width:100%;gap:.75rem;border-radius:1.5rem}.photo-placeholder p{font-size:.8125rem;margin:0}.photo-placeholder svg{width:2.5rem;height:2.5rem}.peer-heading{margin-top:1.25rem}.peer-heading h2{font-size:2rem;margin-bottom:.4rem}.peer-heading p{font-size:.8125rem;color:var(--muted)}.citizenship{display:flex;align-items:flex-start;gap:.45rem;color:var(--muted);font-size:.75rem;line-height:1.6}.citizenship svg{width:1rem;height:1rem;flex-shrink:0;margin-top:.15rem}.bio{font-size:1rem;line-height:1.75}.text-content{white-space:pre-wrap;overflow-wrap:anywhere}.prompt{border-color:var(--line);background:transparent}.prompt blockquote{font-size:1.4rem;margin:.75rem 0 .1rem;line-height:1.4}.facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.65rem 1rem;margin:0;font-size:.8125rem}.facts dt{color:var(--muted)}.facts dd{margin:0;line-height:1.6}.response-bar{border-top:1px solid var(--line);background:var(--cream);padding:1rem 0 0;text-align:center;margin-top:1.5rem}.response-bar p{font-variant-numeric:tabular-nums}.response-actions{display:grid;grid-template-columns:1fr 1.7fr;gap:.75rem}.response-actions button{width:100%}.today>.button{width:100%;margin-top:1rem}.factor{padding:0;overflow:hidden}.factor summary{padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;font-size:.9375rem;font-weight:600;min-height:3rem}.factor summary::-webkit-details-marker{display:none}.factor summary small{display:block;font-weight:400;font-size:.75rem;margin-top:.2rem}.factor[open] summary>svg{transform:rotate(45deg)}.factor>p{font-size:.875rem;padding:0 1.4rem 1.3rem}.score-orbit{border:5px solid var(--sage);border-right-color:#c7d3c1;border-radius:50%;width:9rem;height:9rem;display:flex;align-items:center;justify-content:center;margin:1.5rem auto}.score-orbit strong{font-family:Fraunces,serif;font-size:3rem;line-height:1;font-weight:500}.score-orbit small{display:block;font-family:Inter,sans-serif;font-size:.75rem;text-align:center;margin-top:.35rem}
/* Connections and conversations */
.conversation-list{margin:1rem 0}.conversation{display:flex;align-items:center;gap:.9rem;text-decoration:none;color:var(--ink);padding:1rem 0;border-bottom:1px solid var(--line);min-width:0}.conversation>div:nth-child(2){flex:1;min-width:0}.conversation>svg{width:1rem;color:var(--sage)}.conversation h2{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:1.3rem;margin-bottom:.35rem}.conversation p{font-size:.8125rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.2rem;overflow-wrap:anywhere}.conversation small{font-size:.625rem}.avatar{width:3.5rem;height:3.5rem;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--sand);font-family:Fraunces,serif;font-size:1.6rem;color:var(--sage)}.avatar img{height:100%;width:100%;object-fit:cover}.avatar.large{height:4rem;width:4rem}.unread{display:inline-block;background:var(--sage-light);color:var(--sage);padding:.1rem .5rem;border-radius:.75rem;font-family:Inter,sans-serif;font-size:.625rem;letter-spacing:0;font-weight:650;line-height:1.6}.chat-main{padding-top:0!important}.chat{min-height:calc(100dvh - 13rem);display:flex;flex-direction:column;position:relative}.chat-heading{display:flex;align-items:center;gap:.5rem;padding:1rem 0;border-bottom:1px solid var(--line);background:var(--cream);position:sticky;top:0;z-index:2}.chat-person{flex:1;display:flex;flex-direction:column;text-decoration:none;line-height:1.4;min-width:0;color:var(--ink)}.chat-person strong{font-family:Fraunces,serif;font-weight:500;font-size:1.3rem}.chat-person small{font-size:.625rem}.chat-safety{background:var(--sage-light);color:var(--sage);border-radius:1rem;padding:.7rem .85rem;font-size:.6875rem;line-height:1.6;margin:1rem 0;display:flex;gap:.5rem;align-items:flex-start}.chat-safety svg{width:1rem;height:1rem;margin-top:.1rem}.messages{display:flex;flex-direction:column;gap:.8rem;flex:1;padding:.5rem 0 1.5rem;min-height:20rem}.messages>.button{align-self:center}.message{align-self:flex-start;max-width:87%;padding:.85rem 1rem .6rem;border-radius:1.25rem 1.25rem 1.25rem .25rem;background:white;border:1px solid var(--line);min-width:0}.message p{font-size:.875rem;line-height:1.6;margin:0}.message time{display:block;text-align:right;font-size:.5625rem;color:var(--muted);margin-top:.35rem}.message.mine{align-self:flex-end;background:var(--sage-light);border-color:#dae3d5;border-radius:1.25rem 1.25rem .25rem 1.25rem}.message.pending{opacity:.8;border-style:dashed}.message small{display:block;font-size:.625rem;margin-top:.4rem}.message .button{font-size:.75rem}.chat-beginning{margin:auto;text-align:center;padding:2rem 1rem;color:var(--muted)}.chat-beginning h2{font-size:1.75rem;color:var(--sage)}.chat-beginning p{font-size:.8125rem}.composer{border-top:1px solid var(--line);padding:1rem 0 .5rem;background:var(--cream);position:sticky;bottom:calc(4.5rem + env(safe-area-inset-bottom));z-index:2}.composer textarea{display:block;width:100%;border:1px solid #aeb7ab;background:white;border-radius:1rem;resize:vertical;min-height:4rem;max-height:13rem;padding:.8rem 1rem;font-size:1rem;line-height:1.5}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.5rem}.composer .button{min-height:2.75rem;padding:.55rem 1.15rem;font-size:.8125rem}.composer small{font-size:.6875rem}
/* Account and operations */
.profile-summary{display:flex;gap:1rem;align-items:center;min-width:0}.profile-summary h2{margin-bottom:.25rem;font-size:1.6rem}.profile-summary p{font-size:.75rem;color:var(--muted);margin-bottom:.5rem}.pill{display:inline-block;background:var(--sage-light);color:#34543b;border-radius:1rem;font-size:.625rem;padding:.25rem .65rem;line-height:1.4;text-transform:capitalize}.pill.approved{background:#e4eddb}.menu-list{border:1px solid var(--line);border-radius:1.3rem;overflow:hidden;background:var(--paper);margin:1.5rem 0}.menu-item{display:flex;align-items:center;gap:.8rem;padding:1.15rem 1rem;min-height:4.5rem;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}.menu-item:last-child{border-bottom:0}.menu-item>svg{width:1.2rem;height:1.2rem;color:var(--sage)}.menu-item>svg:last-child{width:1rem}.menu-item>span{flex:1;min-width:0}.menu-item strong{display:block;font-weight:600;font-size:.8125rem;line-height:1.5}.menu-item small{display:block;font-size:.6875rem;line-height:1.5;margin-top:.3rem}.menu-item:hover{background:var(--sage-light)}.account-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin:2rem 0}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.photo-card{border:1px solid var(--line);border-radius:1.15rem;background:white;overflow:hidden;min-width:0}.photo-card>img{height:12rem;width:100%;object-fit:cover;background:var(--sand)}.photo-details{padding:.75rem}.photo-details p{font-size:.6875rem;margin:.5rem 0}.photo-actions{display:flex;align-items:center;justify-content:space-between;gap:.1rem;flex-wrap:wrap;margin-top:.5rem}.photo-actions .icon-button{min-width:2.4rem;min-height:2.4rem;padding:.4rem;font-size:1.25rem}.photo-actions .button{font-size:.6875rem;min-height:2.4rem;padding:.4rem}.moderation-photo{max-height:32rem;width:auto;margin:1rem auto;object-fit:contain;border-radius:1rem}.evidence{border-top:1px solid var(--line);padding:1rem 0;margin-top:1rem}.evidence p{font-size:.8125rem}.past-encounter{padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.past-encounter:last-child{border-bottom:0}.past-encounter strong{font-size:.8125rem;display:block}.past-encounter small{font-size:.6875rem;display:block}.past-encounter .button{font-size:.75rem;min-height:2.75rem;padding:.55rem 1rem}.policy{font-size:.875rem;line-height:1.8}.policy h1{font-size:2.5rem}.policy h2{font-size:1.5rem;margin:2rem 0 .75rem}.policy h1+.lede{font-size:1rem}.policy-footer{display:flex;gap:1.5rem;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:2rem;padding-top:1.5rem}.policy .card{font-size:.875rem}.policy .card h2{margin-top:0}details.card>summary:not(.factor summary){cursor:pointer;font-weight:600;font-size:.875rem}details.card[open]>summary:not(.factor summary){margin-bottom:1rem}
/* Dialogs stay usable with the software keyboard and enlarged text. */
dialog{border:1px solid var(--line);border-radius:1.5rem;padding:1.5rem;background:var(--cream);color:var(--ink);width:calc(100% - 2rem);max-width:32rem;max-height:calc(100dvh - 3rem);overflow:auto;box-shadow:0 20px 80px #1f2a2830}dialog::backdrop{background:#1f2a2870;backdrop-filter:blur(3px)}dialog form{margin:0}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.dialog-heading h2{font-size:1.6rem;padding-top:.35rem;margin:0;min-width:0}.dialog-heading .icon-button{margin:-.25rem -.5rem 0 0}dialog p{font-size:.875rem;line-height:1.7}.dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.dialog-actions .button{flex:1}.image-error{background:var(--sand);font-size:.75rem;color:var(--muted)}
@media(min-width:700px){.main{padding-top:2.75rem}.welcome-main{padding:2.5rem 2rem 3rem;display:flex;align-items:center}.welcome{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:center}.welcome-photo{border-radius:2rem;overflow:hidden}.welcome-photo img{height:37rem}.welcome-copy{padding:1.5rem 0}.welcome-copy h1{font-size:clamp(2.5rem,4.4vw,4rem)}.welcome-photo-note{font-size:2rem;left:2rem;bottom:2rem}.welcome-principles{margin:1.5rem 0 2rem}.site-header{padding-left:2.5rem;padding-right:2.5rem}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-card>img{height:11rem}.photo-gallery figure{aspect-ratio:1.15}.signed-in .main{padding-bottom:calc(8rem + env(safe-area-inset-bottom))}.site-footer{padding:1.5rem 2.5rem}.card{padding:1.6rem}.toast{bottom:calc(6.5rem + env(safe-area-inset-bottom))}}
@media(min-width:1000px){.desktop-nav{margin-left:auto;display:flex;gap:.75rem}.desktop-nav a{color:var(--muted);display:flex;gap:.5rem;align-items:center;text-decoration:none;font-size:.8125rem;min-height:2.75rem;padding:.5rem 1rem;border-radius:1rem;position:relative}.desktop-nav a[aria-current]{background:var(--blush);color:var(--terra)}.desktop-nav .nav-dot{left:auto;right:.5rem;top:.5rem}.bottom-nav{display:none}.signed-in .main{padding-bottom:4rem}.composer{bottom:0}.toast{bottom:2rem}.site-header{max-width:none;padding-left:max(2.5rem,calc((100vw - 74rem)/2));padding-right:max(2.5rem,calc((100vw - 74rem)/2))}.welcome{gap:4rem}.welcome-copy{padding:2rem .5rem}.welcome-photo img{height:39rem}.welcome-main{padding-top:3rem;padding-bottom:3rem}}
@media(max-width:359px){.main{padding-left:1rem;padding-right:1rem}.welcome-copy{padding-left:1.25rem;padding-right:1.25rem}.site-header{padding-left:1rem;padding-right:1rem;gap:.65rem}.beta-label{padding-left:.65rem;font-size:.5625rem}.header-safety span{display:none}.card{padding:1rem}.alignment-card{padding:1rem;gap:.6rem}.alignment-card .score{font-size:2rem}.alignment-card .eyebrow{letter-spacing:.07em}.photo-grid{grid-template-columns:1fr}.photo-card>img{height:auto;max-height:22rem}.facts{grid-template-columns:1fr;gap:.2rem}.facts dd{margin-bottom:.75rem}.response-actions{grid-template-columns:1fr 1.3fr;gap:.5rem}.response-actions .button{padding:.8rem .6rem}.dialog-actions{gap:.5rem}.dialog-actions .button{padding:.8rem}.welcome-photo img{height:15rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Text enlargement may wrap navigation and action labels; never crop them. */
.site-header,.site-footer nav{flex-wrap:wrap}.bottom-nav a,.bottom-nav a>span{min-width:0;max-width:100%;overflow-wrap:anywhere}.bottom-nav a{padding:.15rem}.dialog-actions .button{min-width:0}dialog,dialog form{overflow-wrap:anywhere;min-width:0}
/* Firebase's visible local-emulator warning has its own space below app controls. */
body:has(.firebase-emulator-warning){--emulator-banner-height:calc(3.625rem + env(safe-area-inset-bottom));padding-bottom:var(--emulator-banner-height)}
body:has(.firebase-emulator-warning) .firebase-emulator-warning{box-sizing:border-box!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:var(--emulator-banner-height)!important;margin:0!important;padding:.25rem .75rem calc(.25rem + env(safe-area-inset-bottom))!important;display:flex!important;align-items:center;justify-content:center;font-family:Inter,system-ui,sans-serif!important;font-size:.75rem!important;line-height:1.35!important;text-align:center;overflow-wrap:anywhere}
body:has(.firebase-emulator-warning) .composer{bottom:var(--emulator-banner-height)}
body:has(.firebase-emulator-warning) .toast{bottom:calc(2rem + var(--emulator-banner-height))}
@media(max-width:999px){body:has(.firebase-emulator-warning) .bottom-nav{bottom:var(--emulator-banner-height);padding-bottom:.5rem}body:has(.firebase-emulator-warning) .composer{bottom:calc(4.5rem + var(--emulator-banner-height))}body:has(.firebase-emulator-warning) .toast{bottom:calc(6rem + var(--emulator-banner-height))}}
/* Keep the mobile composer in document flow, including at enlarged text sizes.
   Its scroll margin reserves the same footer space as the page padding. */
@media(max-width:999px){.composer{position:static;bottom:auto}.composer,.composer textarea,.composer button{scroll-margin-bottom:calc(7.5rem + env(safe-area-inset-bottom))}body:has(.firebase-emulator-warning) .composer{bottom:auto}body:has(.firebase-emulator-warning) .composer,body:has(.firebase-emulator-warning) .composer textarea,body:has(.firebase-emulator-warning) .composer button{scroll-margin-bottom:calc(7.5rem + var(--emulator-banner-height))}.chat{container-type:inline-size;container-name:conversation}.chat-heading{position:static}}
/* The threshold scales with text size, so the name gets its own readable row
   before the two touch controls can squeeze it into a column of single letters. */
@container conversation (max-width:16rem){.chat-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.25rem .5rem}.chat-heading>.icon-button:first-child{grid-column:1;grid-row:1;justify-self:start}.chat-heading>.icon-button:last-child{grid-column:2;grid-row:1;justify-self:end}.chat-person{grid-column:1/-1;grid-row:2}}
@media(max-width:999px){.composer-actions{flex-wrap:wrap}.composer-actions .button{flex-shrink:0;white-space:nowrap}}
