:root{--night: #0e1123;--dusk: #232a4d;--bg: var(--night);--surface: #1c1f30;--text: #f2efe9;--muted: #9da3be;--faint: #767c9c;--accent: #ffd9a0;--accent-fill: #f2e7d5;--accent-fill-text: #1a1730;--accent-text: #ffd9a0;--danger: #ff453a;--danger-text: #ff9a9a;--border: rgba(255, 255, 255, .1);--field-bg: rgba(255, 255, 255, .06);--shadow-float: 0 12px 40px rgba(0, 0, 0, .55);--header-bg: rgba(14, 17, 35, .72);--radius: 12px;--radius-lg: 24px;--font-serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--t-fast: .14s;--t-med: .22s;--t-screen: .24s;--t-slow: .42s;color-scheme:dark}*{box-sizing:border-box}html{height:100%}body{min-height:100%;margin:0;background:radial-gradient(120% 55% at 50% 105%,#e8a87c26,#e8a87c0d 45%,#e8a87c00 74%) fixed,linear-gradient(180deg,rgba(35,42,77,0) 26%,rgba(35,42,77,.5) 72%,var(--dusk) 100%) fixed,var(--night);background-repeat:no-repeat;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.person-name,.triage-name,.atlas-cluster-name,.card-name{font-family:var(--font-serif)}::selection{background:color-mix(in srgb,var(--accent) 25%,transparent)}input,textarea{caret-color:var(--accent)}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}.scroll-sentinel{position:absolute;top:0;width:1px;height:1px}.app-header{position:sticky;top:0;z-index:10;background:var(--header-bg);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid transparent;transition:border-color var(--t-med) var(--ease-out);view-transition-name:app-header}.app-header[data-scrolled=true]{border-bottom-color:var(--border)}.header-inner{max-width:640px;margin:0 auto;padding:14px max(24px,env(safe-area-inset-right)) 14px max(24px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;min-height:52px}.brand{font-size:20px;font-weight:600;letter-spacing:-.02em}.app-main{max-width:640px;margin:0 auto;padding:20px max(24px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-inline-size:96px;padding:12px 20px;font-size:17px;font-weight:500;color:var(--accent-fill-text);background:var(--accent-fill);border:none;border-radius:var(--radius);transition:transform var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out),opacity var(--t-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent-fill) 90%,#000)}}.btn-primary:active:not(:disabled){transform:scale(.97)}.btn-primary:disabled{opacity:.55;cursor:default}.btn-ghost{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;margin:-8px -12px;font-size:17px;color:var(--muted);background:transparent;border:none;border-radius:980px;transition:transform var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.btn-ghost:hover:not(:disabled){color:var(--text);background:#ffffff0f}}.btn-ghost:active:not(:disabled){transform:scale(.97)}.btn-ghost:disabled{opacity:.55;cursor:default}.btn-ghost svg{flex-shrink:0}.field{width:100%;padding:14px 16px;font:inherit;color:var(--text);background:var(--field-bg);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.field::placeholder{color:var(--muted)}.field:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}.field:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--field-bg) inset;-webkit-text-fill-color:var(--text)}textarea.field{min-height:140px;resize:vertical;line-height:1.5;field-sizing:content;max-height:60vh}.empty-state{margin:56px auto 0;max-width:40ch;text-align:center}.empty-title{margin:0 0 6px;font-size:17px;font-weight:600;letter-spacing:-.01em;text-wrap:balance}.empty-body{margin:0;font-size:15px;color:var(--muted);text-wrap:pretty}.person-detail{display:flex;flex-direction:column;gap:20px}.person-name{margin:0;font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.1;text-wrap:balance;view-transition-name:person-name}.person-sky-band{position:relative;overflow:hidden;display:flex;min-height:200px;border-radius:var(--radius-lg);box-shadow:inset 0 1px #ffffff47,var(--shadow-float)}.person-sky-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;padding:20px;text-align:center}.person-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}.person-sky-band .person-name{color:#fff;font-size:34px;letter-spacing:-.03em;line-height:1;text-shadow:0 2px 22px rgba(0,0,0,.6)}.person-meta,.person-detail-line,.person-about,.person-frozen,.person-note-hint{margin:0;font-size:13px;color:var(--muted)}.person-about,.person-frozen{text-wrap:pretty}.person-sky-band .person-detail-line{text-shadow:0 2px 22px rgba(0,0,0,.6)}.person-connection{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;margin:0;font-size:13px;color:var(--muted);background:var(--field-bg)}.person-connection-live{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.detail-field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}.field-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.open-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--accent-text);text-decoration:none;border-radius:6px}@media(hover:hover)and (pointer:fine){.open-link:hover{text-decoration:underline}}.actions{display:flex;gap:20px;align-items:center;justify-content:flex-end}.form-error{margin:0;font-size:13px;color:var(--danger-text)}.shared-note-card{display:flex;flex-direction:column;gap:12px;margin-top:4px;padding:16px;background:color-mix(in srgb,var(--surface) 78%,transparent);border:1px solid var(--border);border-radius:var(--radius)}.shared-note-heading{display:flex;flex-direction:column;gap:4px}.shared-note-title{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}.shared-note-copy{margin:0;font-size:13px;color:var(--muted);text-wrap:pretty}.shared-note-field{min-height:110px}.shared-note-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.shared-note-status{margin:0;font-size:13px;color:var(--muted)}.person-danger{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:8px;padding-top:24px;border-top:1px solid var(--border)}.person-remove{padding:4px 0;font-size:14px;color:var(--danger-text);background:none;border:none;border-radius:6px;cursor:pointer}@media(hover:hover)and (pointer:fine){.person-remove:hover{text-decoration:underline}}.person-remove-confirm{display:flex;width:100%;flex-direction:column;gap:14px}.person-remove-prompt{margin:0;font-size:14px;color:var(--text)}.person-remove-actions{display:flex;gap:32px;align-items:center}.person-remove-actions .btn-ghost{color:var(--text)}.btn-danger{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin:-8px -12px;font-size:17px;font-weight:600;color:var(--danger-text);background:transparent;border:none;border-radius:980px;cursor:pointer;transition:transform var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,transparent)}}.btn-danger:active:not(:disabled){transform:scale(.97)}.btn-danger:disabled{opacity:.55;cursor:default}.btn-danger .spinner{width:14px;height:14px}.skeleton-line{height:16px;border-radius:8px;background:color-mix(in srgb,var(--muted) 14%,transparent);animation:skeleton-pulse 1.2s var(--ease-in-out) infinite alternate}.skeleton-title{height:28px;width:40%;border-radius:10px}.skeleton-block{height:140px;border-radius:var(--radius)}@keyframes skeleton-pulse{0%{opacity:1}to{opacity:.45}}.auth{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-sky{position:relative;overflow:hidden;background:var(--night)}.auth-sky-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:24px}.auth-sky .auth-brand{color:#fff;text-shadow:0 2px 22px rgba(0,0,0,.55)}.auth-sky .auth-tagline{color:#ffffffd1;max-width:28ch}.sky-cta{margin-top:12px;padding:14px 34px;border-radius:980px;font-size:17px;font-weight:600;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px #fff6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:transform var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.sky-cta:hover{background:#ffffff2e}}.sky-cta:active{transform:scale(.97)}.auth-brand{font-size:28px;font-weight:600;letter-spacing:-.02em}.auth-tagline{margin:0;color:var(--muted);font-size:15px;line-height:1.4;text-wrap:pretty}.splash{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center}.splash-brand{font-size:28px;font-weight:600;letter-spacing:-.02em;animation:splash-pulse 1.4s var(--ease-in-out) infinite alternate}@keyframes splash-pulse{0%{opacity:1}to{opacity:.45}}.error-boundary{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);color:var(--text)}.error-boundary-card{max-width:32ch;text-align:center}.error-boundary-lead{margin:0 0 10px;font-size:18px;font-weight:600;letter-spacing:-.01em}.error-boundary-body{margin:0 0 24px;color:var(--muted);font-size:15px;line-height:1.5;text-wrap:pretty}.error-boundary-retry{padding:11px 26px;border-radius:var(--radius);border:none;font-size:15px;font-weight:600;color:var(--accent-fill-text);background:var(--accent-fill);cursor:pointer;transition:transform var(--t-fast) var(--ease-out)}.error-boundary-retry:active{transform:scale(.97)}.spinner{width:16px;height:16px;flex-shrink:0;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.triage{display:flex;flex-direction:column;gap:16px}.triage-toolbar{display:flex;align-items:center;justify-content:space-between}.triage-count{font-size:13px;color:var(--muted)}.triage-stack{position:relative;height:460px}.triage-card{position:absolute;inset:0;display:flex;flex-direction:column;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.triage-card-under{transform:scale(.95) translateY(14px);opacity:.7;box-shadow:none}.triage-card-exit{transform:translate(-120%) rotate(-10deg);opacity:0;transition:transform .32s var(--ease-out),opacity .32s var(--ease-out)}.triage-body{position:relative;display:flex;flex-direction:column;gap:10px;height:100%}.triage-thumb{width:100%;height:220px;object-fit:cover;object-position:top;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg)}.triage-name{margin:0;font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.15}.triage-meta{margin:0;font-size:13px;color:var(--muted)}.triage-link-input{margin-top:auto;padding:10px 12px;font-size:15px}.triage-context{flex:1;min-height:160px}.triage-reading{margin:8px 0 0;font-size:13px;color:var(--muted);text-align:center}.swipe-label{position:absolute;top:14px;z-index:1;padding:6px 12px;border-radius:980px;font-size:15px;font-weight:600;opacity:0;pointer-events:none}.swipe-label-left{right:12px;color:var(--text);background:color-mix(in srgb,var(--text) 10%,var(--surface))}.swipe-label-right{left:12px;color:var(--accent-fill-text);background:var(--accent-fill)}.triage-actions{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:4px}.triage-skip{color:var(--muted)}.triage-saved{margin:0;text-align:center;font-size:13px;color:var(--muted)}.triage-action-error{text-align:center}.triage-upload{margin-top:16px}.triage-card-sky{border-color:#ffffff38;box-shadow:inset 0 1px #ffffff47,var(--shadow-float);color:#fff;padding:0}.sky-space{position:absolute;inset:0;background:radial-gradient(120% 80% at 30% 10%,#101a3a 0%,transparent 60%),radial-gradient(100% 70% at 80% 60%,#131030 0%,transparent 65%),#060a1a}.triage-sky-body{padding:16px;gap:0}.sky-svg{position:absolute;inset:0;width:100%;height:100%}.sky-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(90% 60% at 50% 78%,rgba(3,6,18,.72),transparent 70%),linear-gradient(180deg,transparent 60%,rgba(3,6,18,.45) 96%)}.sky-content{position:relative;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;text-align:center;gap:0;padding:8px}.triage-card-sky .triage-name{color:#fff;font-size:34px;letter-spacing:-.03em;line-height:1;text-shadow:0 2px 22px rgba(0,0,0,.6);text-wrap:balance}.triage-card-sky .triage-meta{margin-top:6px;color:#ffffffa8}.sky-bio{margin:12px 0 0;font-size:14px;line-height:1.5;max-width:30ch;color:#ffffffeb;text-wrap:pretty}.sky-link-pill{margin-top:14px;display:inline-block;padding:8px 16px;border-radius:980px;font-size:13px;font-weight:600;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px #fff6;overflow-wrap:anywhere}.triage-card-sky .field{background:#ffffff1a;border-color:#ffffff40;color:#fff;caret-color:#fff}.triage-card-sky .field::placeholder{color:#ffffff8c}.triage-card-sky .triage-link-input{margin-top:12px;max-width:280px;text-align:center}.triage-card-sky .triage-context{margin-top:14px;min-height:140px;text-align:left}.triage-card-sky .actions{justify-content:center;width:100%;margin-top:2px}.sky-ghost{color:#ffffffd9}.triage-card-sky .swipe-label-left{color:#fff;background:#141622b3;border:1px solid rgba(255,255,255,.3)}.triage-card-sky .swipe-label-right{border:1px solid rgba(255,255,255,.3)}.manual-content{justify-content:flex-start;gap:12px;padding:14px 14px 12px}.manual-thumb{width:100%;height:84px;flex-shrink:0;border:1px solid rgba(255,255,255,.3);background:#ffffff14;box-shadow:inset 0 1px #ffffff59}.manual-lower{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.triage-card-sky .manual-caption{margin:0;color:#fff9}.triage-card-sky .manual-name{margin:0;font-size:28px}.manual-fields{display:flex;flex-direction:column;gap:8px;width:100%;max-width:300px}.triage-card-sky .manual-field{padding:10px 12px;font-size:15px;text-align:center}.manual-fail{display:flex;flex-direction:column;align-items:center;gap:2px}.manual-fail-line{margin:0;font-size:12px;color:#ffffff80}.manual-retry{padding:4px 10px;font-size:13px}.sky-tw{animation:sky-twinkle var(--d, 4s) ease-in-out var(--dl, 0s) infinite alternate}@keyframes sky-twinkle{0%{opacity:var(--hi, 1)}to{opacity:var(--lo, .35)}}.sky-flare{animation:sky-flare-pulse var(--d, 5s) ease-in-out var(--dl, 0s) infinite alternate}@keyframes sky-flare-pulse{0%{opacity:.8}to{opacity:.35}}.sky-shoot{opacity:0;animation:sky-shoot 13s linear var(--sdl, 4s) infinite}.sky-dim{opacity:1}@media(prefers-reduced-motion:no-preference){.sky-dim{opacity:var(--mid, .4)}}.sky-shimmer{animation:sky-shimmer var(--sh-d, 11s) ease-in-out var(--sh-dl, 0s) infinite alternate}.sky-shimmer-0{--sh-d: 11s;--sh-dl: 0s}.sky-shimmer-1{--sh-d: 13s;--sh-dl: -4.5s}.sky-shimmer-2{--sh-d: 9.5s;--sh-dl: -8s}@keyframes sky-shimmer{0%{opacity:1}to{opacity:.88}}@media(prefers-reduced-motion:no-preference){.sky-reveal .sky-space,.sky-reveal .sky-vignette{animation:sky-fade-in .7s var(--ease-out) both}.sky-reveal .sky-minor{opacity:0;animation:sky-ignite .32s var(--ease-out) calc(var(--rvd, .5) * .9s) forwards,sky-twinkle var(--d, 4s) ease-in-out calc(var(--rvd, .5) * .9s + 1.5s) infinite alternate}.sky-reveal .sky-dim{opacity:0;animation:sky-ignite-dim .32s var(--ease-out) calc(var(--rvd, .5) * .9s) forwards}.sky-reveal .sky-majorg{opacity:0;transform-origin:center;transform-box:fill-box;animation:sky-major-pop .42s var(--ease-out) calc(.6s + var(--mi, 0) * .11s) forwards,sky-twinkle var(--d, 4s) ease-in-out calc(1.8s + var(--mi, 0) * .11s) infinite alternate}.sky-reveal .sky-cline{stroke-dasharray:1;stroke-dashoffset:1;animation:sky-draw .46s var(--ease-out) calc(1.4s + var(--ei, 0) * 90ms) forwards}.sky-reveal .sky-flareg{opacity:0;animation:sky-flare-arrive .5s var(--ease-out) 2.3s forwards,sky-flare-pulse var(--d, 5s) ease-in-out 2.9s infinite alternate}.sky-reveal .sky-content{opacity:0;transform:translateY(10px);animation:sky-content-in .6s var(--ease-out) 2.1s forwards}}@keyframes sky-fade-in{0%{opacity:0}}@keyframes sky-ignite{0%{opacity:0}to{opacity:var(--hi, .6)}}@keyframes sky-ignite-dim{0%{opacity:0}to{opacity:var(--mid, .4)}}@keyframes sky-major-pop{0%{opacity:0;transform:scale(.2)}70%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes sky-draw{to{stroke-dashoffset:0}}@keyframes sky-flare-arrive{to{opacity:.8}}@keyframes sky-content-in{to{opacity:1;transform:none}}@keyframes sky-shoot{0%,91%{opacity:0;transform:translate(0)}92.5%{opacity:.9}97%{opacity:0;transform:translate(150px,84px)}to{opacity:0}}.app-main-atlas{max-width:none;margin:0;padding:0}.sky-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c}.atlas{position:fixed;inset:0;z-index:0;overflow:hidden;color:#fff}.atlas-space{position:absolute;inset:0;background:radial-gradient(120% 80% at 30% 10%,#101a3a 0%,transparent 60%),radial-gradient(100% 70% at 80% 60%,#131030 0%,transparent 65%),#060a1a}.atlas-dust{position:absolute;inset:0;width:100%;height:100%}.atlas-dust circle{opacity:var(--hi, .3)}@media(prefers-reduced-motion:no-preference){.atlas-dust circle{opacity:var(--mid, .2)}}.atlas-search{position:absolute;top:88px;left:50%;transform:translate(-50%);z-index:3;width:min(480px,86vw);display:flex;flex-direction:column;align-items:center;gap:10px}.atlas-pill{display:flex;align-items:center;gap:10px;width:100%;padding:13px 18px;border-radius:980px;color:#ffffffb3;background:#ffffff1f;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px #fff6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.atlas-pill .search-icon{flex:0 0 auto}.atlas-input{flex:1;min-width:0;background:none;border:none;outline:none;color:#fff;caret-color:#fff;font-size:16px}.atlas-input::placeholder{color:#ffffff8c}.atlas-input:focus-visible,.atlas-add-input:focus-visible,.atlas-add-select:focus-visible{box-shadow:none}.atlas-pill:focus-within,.atlas-add-row:focus-within{border-color:#ffffff8c;box-shadow:inset 0 1px #fff6,0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}.atlas-clear{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;color:#ffffffb3;background:none}.atlas-clear:active{transform:scale(.92)}.atlas-add-form{display:flex;flex-direction:column;gap:10px;margin-top:16px;width:100%;text-align:left}.atlas-add-label{margin:0;font-size:13px;color:#ffffff9e}.atlas-add-row{display:flex;align-items:center;gap:8px;min-height:46px;padding:6px 10px;color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.24);border-radius:var(--radius);box-shadow:inset 0 1px #ffffff38}.atlas-add-at{color:#ffffff94}.atlas-add-input,.atlas-add-select{flex:1;min-width:0;color:#fff;background:none;border:none;outline:none;font-size:16px}.atlas-add-row-select{position:relative}.atlas-add-select{padding-right:24px;-webkit-appearance:none;appearance:none}.atlas-add-select option{color:var(--text);background:var(--night)}.atlas-add-caret{position:absolute;right:12px;color:#ffffff94;pointer-events:none}.atlas-add-input{caret-color:#fff}.atlas-add-input::placeholder{color:#ffffff8c}.atlas-add-error{margin:12px 0 0;font-size:13px;color:var(--danger-text)}.atlas-add-form .atlas-add{align-self:flex-start}.atlas-add{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:980px;font-size:15px;font-weight:600;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px #fff6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.atlas-add:hover:not(:disabled){background:#ffffff2e}}.atlas-add:active:not(:disabled){transform:scale(.97)}.atlas-add:disabled{opacity:.6}feedback-widget.feedback-fab{right:max(20px,env(safe-area-inset-right));bottom:calc(max(28px,env(safe-area-inset-bottom)) + 56px);--fw-surface: var(--night);--fw-surface-strong: var(--surface);--fw-text: var(--text);--fw-muted: var(--muted);--fw-border: var(--border);--fw-radius: var(--radius);--fw-accent: #5560a0}.atlas-field{position:absolute;inset:0;z-index:1;pointer-events:none}.atlas-cluster{position:absolute;display:flex;flex-direction:column;align-items:center;min-height:44px;padding:0 4px 8px;border:none;background:none;pointer-events:auto;transition:opacity .3s var(--ease-out)}.atlas-cluster.is-dim{opacity:.12}.atlas-cluster-sky{display:block;overflow:visible}.atlas-cluster.is-memory .atlas-cluster-sky{filter:drop-shadow(0 0 5px rgba(255,190,120,.6))}.atlas-cluster-name{width:100%;margin-top:2px;font-size:12.5px;font-weight:600;text-align:center;color:#ffffffd9;text-shadow:0 2px 10px rgba(3,6,18,.85),0 0 3px rgba(3,6,18,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.atlas-cluster-when{font-size:10px;color:#ffffff80}.atlas-cluster-tag{margin-top:1px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#ffbe78e6}.atlas-empty{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center}.atlas-empty-title{margin:6px 0 0;font-size:20px;font-weight:600;letter-spacing:-.01em;color:#fff}.atlas-empty-body{margin:0 0 6px;max-width:30ch;font-size:15px;color:#ffffffa8;text-wrap:pretty}.atlas-loading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center}.atlas-hint{position:absolute;z-index:2;left:max(20px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));margin:0}.atlas-capture{position:absolute;z-index:3;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translate(-50%)}@media(max-width:480px){.atlas-search{top:76px;width:min(440px,90vw)}.atlas-cluster-name{font-size:11px}.atlas-cluster-when{font-size:9px}}::view-transition-old(root){animation-duration:.18s}::view-transition-new(root){animation-duration:.22s}::view-transition-group(person-name){animation-duration:.28s;animation-timing-function:var(--ease-in-out)}::view-transition-group(app-header){animation-duration:.2s}@supports not (view-transition-name: none){.screen{animation:screen-in var(--t-screen) var(--ease-out)}.app-main-atlas .screen{animation-name:screen-in-fade}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}}@keyframes screen-in-fade{0%{opacity:0}}}@media(prefers-reduced-motion:reduce){.splash-brand,.skeleton-line,.screen{animation:none}.btn-primary:active:not(:disabled),.btn-ghost:active:not(:disabled),.btn-danger:active:not(:disabled),.atlas-clear:active,.atlas-add:active:not(:disabled),.sky-cta:active,.error-boundary-retry:active,.wl-go:active{transform:none}.triage-card,.triage-card-exit{transition:none!important}.sky-tw,.sky-flare,.sky-shoot,.sky-shimmer{animation:none!important}::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}@media(prefers-reduced-transparency:reduce){.app-header{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-contrast:more){:root{--border: rgba(255, 255, 255, .45)}}.wl-sky{position:absolute;inset:0;width:100%;height:100%;z-index:0}.wl-sub{margin:0 0 22px;font-size:18px;line-height:1.55;color:var(--muted)}.wl-form{display:flex;flex-direction:column}.wl-name-row{display:flex;gap:10px}.wl-email-wrap{display:grid;grid-template-rows:0fr;margin-top:0;opacity:0;transition:grid-template-rows var(--t-slow) var(--ease-out),opacity var(--t-slow) var(--ease-out),margin-top var(--t-slow) var(--ease-out)}.wl-form.is-revealed .wl-email-wrap{grid-template-rows:1fr;margin-top:10px;opacity:1}.wl-email-row{display:flex;gap:10px;min-height:0;overflow:hidden}.wl-go-name{max-width:180px;overflow:hidden;transition:max-width var(--t-slow) var(--ease-out),padding var(--t-slow) var(--ease-out),margin-left var(--t-slow) var(--ease-out),opacity var(--t-med) var(--ease-out)}.wl-form.is-revealed .wl-go-name{max-width:0;margin-left:-10px;padding-left:0;padding-right:0;opacity:0;pointer-events:none}.wl-field{flex:1;min-width:0;height:54px;padding:0 18px;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);background:#00000052;box-shadow:inset 0 1.5px 4px #00000073;font:inherit;font-size:17px;color:#fff;-webkit-appearance:none;appearance:none;transition:border-color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out)}.wl-field::placeholder{color:var(--faint)}.wl-field:hover{border-color:#ffffff21}.wl-field:focus{outline:none;border-color:#ffffff4d;background:#00000038}.wl-go{height:54px;padding:0 20px;border:none;border-radius:var(--radius);background:var(--accent-fill);color:var(--accent-fill-text);font:inherit;font-size:17px;font-weight:500;white-space:nowrap;cursor:pointer;transition:transform var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.wl-go:hover{background:color-mix(in srgb,var(--accent-fill) 88%,#fff);box-shadow:0 8px 24px #ffd9a038}.wl-go:active{transform:scale(.97);box-shadow:0 4px 12px #ffd9a02e}.wl-go:disabled{opacity:.6;cursor:default}.wl-fine{margin-top:18px;font-size:13px;color:var(--muted)}.wl-error{margin-top:18px;font-size:13px;color:#ff6b60}.wl-sky-link{display:inline-block;margin-top:10px;font-size:12px;color:#f2efe973;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#f2efe940}.wl-sky-link:hover,.wl-sky-link:focus-visible{color:#f2efe9b3}.wl-check{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:20px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);animation:wl-rise-in .5s var(--ease-out) both}.wl-check svg{width:28px;height:28px;color:var(--accent)}.wl-checkline{margin:0 0 12px;font-size:clamp(26px,6vw,36px);font-weight:600;letter-spacing:-.02em}.wl-joined-sub{margin:0}@media(max-width:380px){.wl-email-row{flex-direction:column}.wl-go{width:100%}}@keyframes wl-rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.wl-joined{animation:wl-rise-in .5s var(--ease-out) both}@media(prefers-reduced-motion:reduce){.wl-joined,.wl-check{animation:none}.wl-email-wrap,.wl-go-name{transition:none}}.card-page{position:fixed;inset:0;z-index:100;background:var(--night);color:var(--text);overflow-y:auto}.card-sky{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.55}.card-content{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:48px 24px;text-align:center}.card-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;border:1px solid rgba(242,239,233,.16)}.card-name{font-size:34px;font-weight:500;letter-spacing:.01em;margin:0}.card-city{margin:0;font-size:15px;color:#f2efe99e}.card-handles,.person-handles{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px}.card-handle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 16px;border-radius:14px;background:#f2efe912;border:1px solid rgba(242,239,233,.12);color:var(--text);text-decoration:none;font-size:15px;transition:background var(--t-fast) var(--ease-out)}a.card-handle:hover,a.card-handle:focus-visible{background:#f2efe921}.card-handle-label{flex:none}.card-handle-value{color:#f2efe99e;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-reach{display:flex;flex-direction:column;gap:8px}.person-reach-title{margin:0;font-size:13px;font-weight:500;color:var(--muted)}.person-handles{margin:0;max-width:none}.person-handle-mark{flex:none;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.person-handle .card-handle-value{margin-left:auto;text-align:right}.card-cta{margin-top:18px;min-height:44px;display:inline-flex;align-items:center;padding:0 22px;border-radius:999px;background:#f2efe91a;border:1px solid rgba(242,239,233,.18);color:var(--text);text-decoration:none;font-size:15px}.card-page-quiet{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center}.card-quiet-title{font-size:28px;font-weight:500;margin:0}.card-quiet-line{margin:0;font-size:15px;color:#f2efe99e}.legal-page{position:relative;z-index:1;max-width:34rem;margin:0 auto;padding:40px 24px 96px;text-align:left;font-size:16px;line-height:1.65;color:#f2efe9c7}.card-quiet-title,.legal-back,.legal-title,.sky-title,.ios-title,.top-nav-brand,.landing-hero-title{font-family:var(--font-serif)}.legal-back{display:inline-block;font-size:17px}.legal-title{font-size:32px;font-weight:500;line-height:1.2;margin:28px 0 6px;color:var(--text)}.legal-updated{margin:0 0 32px;font-size:14px;color:#f2efe980}.legal-lede{margin:0 0 32px;font-size:18px;line-height:1.55;color:#f2efe9eb}.legal-page h2{font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#f2efe98c;margin:36px 0 10px}.legal-page p,.legal-page ul{margin:0 0 14px}.legal-page ul{padding-left:1.1rem}.legal-page li{margin-bottom:8px}.legal-page strong{color:#f2efe9eb;font-weight:600}.legal-page a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#f2efe966}.legal-page a:hover,.legal-page a:focus-visible{text-decoration-color:var(--text)}.legal-footer{margin:48px 0 0;padding-top:24px;border-top:1px solid rgba(242,239,233,.12);font-size:14px;color:#f2efe980}.sky-page{position:relative;z-index:1;max-width:34rem;margin:0 auto;padding:88px 24px 96px;text-align:left;color:#f2efe9c7}.sky-hero{margin-top:28px;display:flex;flex-direction:column;gap:10px}.sky-eyebrow{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.sky-title{font-size:34px;font-weight:500;line-height:1.18;margin:4px 0 2px;color:var(--text)}.sky-tagline{margin:0 0 6px;font-size:17px;line-height:1.55;color:#f2efe9d9}.sky-download{align-self:flex-start;margin-top:8px;min-height:48px;display:inline-flex;align-items:center;padding:0 26px;border-radius:999px;background:var(--accent-fill);color:var(--accent-fill-text);font-size:16px;font-weight:500;text-decoration:none;transition:transform var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out)}.sky-download:hover,.sky-download:focus-visible{background:color-mix(in srgb,var(--accent-fill) 90%,#000)}.sky-download-repeat{margin-top:40px}.sky-install-note{margin:4px 0 0;font-size:13px;line-height:1.6;color:#f2efe98c;max-width:30rem}.sky-steps,.sky-privacy{margin-top:48px}.sky-steps h2,.sky-privacy h2{font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#f2efe98c;margin:0 0 18px}.sky-step-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}.sky-step{display:flex;gap:14px;align-items:flex-start}.sky-step-index{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#f2efe917;border:1px solid rgba(242,239,233,.14);font-size:13px;color:var(--accent-text)}.sky-step-title{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text)}.sky-step-body{margin:0;font-size:15px;line-height:1.55;color:#f2efe9b8}.sky-privacy ul{margin:0;padding-left:1.1rem}.sky-privacy li{margin-bottom:10px;font-size:15px;line-height:1.55;color:#f2efe9c7}.landing-sky{position:fixed;inset:0;width:100%;height:100%;z-index:0}.landing-hero{position:relative;z-index:1;min-height:100vh;min-height:100dvh}.landing-hero-content{position:relative;z-index:1;min-height:100%;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;gap:16px;padding:96px 24px clamp(56px,11vh,128px)}.landing-hero-title{margin:0;max-width:18ch;font-size:clamp(40px,8vw,84px);font-weight:500;line-height:1.05;letter-spacing:-.02em;color:#fff;text-shadow:0 2px 28px rgba(0,0,0,.55)}.landing-hero-sub{margin:0;max-width:40ch;font-size:clamp(16px,2vw,19px);line-height:1.5;color:#ffffffd9;text-shadow:0 1px 12px rgba(0,0,0,.4)}.landing-hero-ctas{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:8px}.landing-cta-secondary{min-height:48px;display:inline-flex;align-items:center;padding:0 24px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;font-size:16px;font-weight:500;transition:background var(--t-fast) var(--ease-out)}.landing-cta-secondary:hover,.landing-cta-secondary:focus-visible{background:#ffffff29}.landing-hero-note{margin:0;font-size:13px;color:#fff9}.top-nav{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:20px 24px}.top-nav-brand{font-size:19px;font-weight:500;color:#fff;text-decoration:none}.top-nav-links{display:flex;align-items:center;gap:22px}.top-nav-links a{font-size:14px;color:#ffffffbf;text-decoration:none}.top-nav-links a:hover,.top-nav-links a:focus-visible{color:#fff}.site-footer{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 24px 64px;text-align:center}.site-footer-links{display:flex;gap:8px;font-size:13px}.site-footer-links a{padding:4px 6px;color:#f2efe999;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#f2efe94d}.site-footer-links a:hover,.site-footer-links a:focus-visible{color:var(--text)}.site-footer-copyright{margin:0;font-size:12px;color:#f2efe966}.landing-section{position:relative;z-index:1;max-width:40rem;margin:0 auto;padding:88px 24px;text-align:left}.landing-section-title{margin:0 0 10px;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);text-shadow:0 1px 10px rgba(0,0,0,.45)}.landing-section-body{margin:0 0 28px;max-width:46ch;font-size:18px;line-height:1.6;color:#f2efe9d9;text-shadow:0 1px 10px rgba(0,0,0,.45)}.landing-footer a:hover,.landing-footer a:focus-visible{color:var(--text)}.demo-embed{margin-bottom:28px}.demo-panel{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16 / 10;padding:0;border-radius:var(--radius-lg);background:#00000052;border:1px solid rgba(242,239,233,.14);color:inherit;font:inherit;text-decoration:none;cursor:pointer}.demo-frame{width:100%;aspect-ratio:16 / 10;border-radius:var(--radius-lg);border:1px solid rgba(242,239,233,.14)}.demo-caption{margin:10px 0 0;font-size:13px;color:#f2efe980}.ios-page{position:relative;z-index:1;max-width:34rem;margin:0 auto;padding:88px 24px 96px;text-align:left;color:#f2efe9c7}.ios-hero{margin-top:28px;display:flex;flex-direction:column;gap:10px}.ios-eyebrow{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.ios-title{font-size:34px;font-weight:500;line-height:1.18;margin:4px 0 2px;color:var(--text)}.ios-tagline{margin:0;font-size:17px;line-height:1.55;color:#f2efe9d9}.ios-status{margin:4px 0 0;font-size:13px;line-height:1.6;color:#f2efe98c}.ios-join{margin-top:28px;max-width:26rem}.ios-about{margin-top:48px}.ios-about h2{font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#f2efe98c;margin:0 0 18px}.ios-about ul{margin:0;padding-left:1.1rem}.ios-about li{margin-bottom:10px;font-size:15px;line-height:1.55;color:#f2efe9c7}.ios-about strong{color:#f2efe9eb;font-weight:600}.landing2{position:relative;min-height:100vh;min-height:100dvh;background:var(--night);color:var(--text);overflow:hidden;cursor:default}.landing2-beneath,.landing2-glass,.landing2-content{position:absolute;inset:0}.landing2-beneath{z-index:0;overflow:hidden}.landing2-glass{z-index:1}.landing2-content{z-index:2;pointer-events:none}.landing2-sky,.landing2-scene,.landing2-particles{position:absolute;inset:0;width:100%;height:100%}.landing2-memory{position:absolute;font-family:Snell Roundhand,Apple Chancery,cursive;font-style:italic;font-size:23px;line-height:1.35;color:#ffd9a06b;text-align:center;white-space:nowrap;pointer-events:none;transition:color .7s var(--ease-out),text-shadow .7s var(--ease-out)}.landing2-revealed .landing2-memory{color:#ffd9a0e6;text-shadow:0 0 4px rgba(255,217,160,.55),0 0 16px rgba(255,217,160,.35)}.landing2-polaroid{position:absolute;width:64px;height:48px;padding:4px;border-radius:3px;background:#0c0e1c8c;border:2px solid rgba(242,231,213,.35);pointer-events:none}.landing2-polaroid svg{width:100%;height:100%;display:block}.landing2-scene-el{opacity:.06;transition:opacity .7s var(--ease-out)}.landing2-revealed .landing2-scene-el{opacity:1}.landing2-moon-disc{fill:#d8dced;transition:fill .7s var(--ease-out)}.landing2-revealed .landing2-moon-disc{fill:#ffd9a0}.landing2-mountain-rim{stroke:#dfe8f7a6;stroke-width:.2;opacity:0;transition:opacity .7s var(--ease-out)}.landing2-revealed .landing2-mountain-rim{opacity:.75}.landing2-water-shimmer{opacity:0;transition:opacity .7s var(--ease-out)}.landing2-revealed .landing2-water-shimmer{opacity:1}.landing2-window-bloom{opacity:0;transition:opacity .7s var(--ease-out)}.landing2-revealed .landing2-window-bloom{opacity:1}.landing2-veil{position:absolute;inset:0;background:var(--night);opacity:.9;transition:opacity .7s var(--ease-out)}.landing2-revealed .landing2-veil{opacity:.06}.landing2-shard{position:absolute;inset:0;will-change:transform,opacity}.landing2-shard-frost{position:absolute;inset:0;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.16),transparent 55%);opacity:1;transition:opacity .9s cubic-bezier(.22,.61,.36,1)}.landing2-revealed .landing2-shard-frost{opacity:.33}.landing2-rim{stroke:url(#landing2-rim);stroke-width:.14;opacity:.18;transition:opacity .7s var(--ease-out)}.landing2-revealed .landing2-rim{opacity:.5}.landing2-seams{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.landing2-seam-line{stroke:#dfe8f7;stroke-width:.12;transition:opacity .7s var(--ease-out)}.landing2-seam-blur{stroke:#dfe8f7;stroke-width:.18;opacity:.25;transition:opacity .7s var(--ease-out)}.landing2-revealed .landing2-seam-blur{opacity:.45}.landing2-mini-figure polyline{stroke:var(--accent);stroke-width:.1;opacity:.25}.landing2-mini-figure circle{fill:var(--accent);opacity:.25}.landing2-fragment{position:absolute;transform:translate(-50%,-50%);font-size:13px;letter-spacing:.06em;text-transform:lowercase;color:#9da3be2e;white-space:nowrap;pointer-events:none}.landing2-copy{position:absolute;display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:min(380px,34vw);pointer-events:auto}.landing2-copy-sky{left:6%;top:26%;max-width:min(380px,26vw)}.landing2-copy-iphone{left:4%;top:66%}.landing2-glyph{display:block}.landing2-eyebrow{margin:0;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.landing2-body{margin:0;font-size:16px;line-height:1.55;color:#f2efe9d9;text-shadow:0 2px 14px rgba(5,6,16,.65)}.landing2-caption{margin:0;font-size:12px;color:#f2efe980}.landing2-pill{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;border-radius:999px;background:#080a1699;border:1px solid rgba(255,255,255,.16);color:var(--text);font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;transition:background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.landing2-pill:hover,.landing2-pill:focus-visible{background:#080a16c7;border-color:#ffffff47}
