:root{--font-sans:var(--font-geist,ui-sans-serif), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-geist-mono,ui-monospace), ui-monospace, SFMono-Regular, Menlo, monospace;--text-display:clamp(2.75rem, 1.4rem + 5.4vw, 6rem);--text-h1:clamp(2.1rem, 1.6rem + 2vw, 3.25rem);--text-h2:clamp(1.35rem, 1.2rem + .6vw, 1.75rem);--text-h3:1.0625rem;--text-body-lg:clamp(1.0625rem, 1rem + .3vw, 1.25rem);--text-body:.9375rem;--text-body-sm:.8125rem;--text-caption:.6875rem;--text-nav:.875rem;--text-button:.875rem;--leading-tight:1.02;--leading-snug:1.2;--leading-body:1.6;--tracking-display:-.055em;--tracking-heading:-.035em;--tracking-caps:.14em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-section:clamp(4rem, 3rem + 5vw, 8rem);--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--control-height:46px;--control-height-sm:36px;--duration-fast:.14s;--duration-normal:.26s;--duration-slow:.52s;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-standard:cubic-bezier(.2, 0, 0, 1);--success:#2f6b4a;--success-soft:#edf3ef;--success-border:#cfe0d5;--warning:#7a5a12;--warning-soft:#f7f1e3;--warning-border:#e8dcbc;--danger:#9b3434;--danger-soft:#f8eeee;--danger-border:#ead0d0;--tree-canvas:#141414;--tree-canvas-raised:#1c1c1c;--tree-canvas-edge:#262626;--tree-canvas-glow:#ffffff0e;--tree-canvas-grain:#ffffff09;--tree-canvas-vignette:#0000008c;--tree-connector:#ecebe6;--tree-connector-soft:#ecebe680;--tree-connector-width:1.5;--tree-chrome:#141414c7;--tree-chrome-control:#1f1f1f;--tree-chrome-control-hover:#2b2b2b;--tree-chrome-border:#ffffff1a;--tree-chrome-text:#d9d7d1;--tree-chrome-muted:#9a9892;--tree-focus:#f4f3ef;--tree-card:#fafaf8;--tree-card-hover:#fff;--tree-card-text:#111;--tree-card-muted:#6b6a66;--tree-card-icon:#7a7975;--tree-card-shadow:0 1px 0 #ffffff0f inset, 0 6px 18px #0000006b;--tree-card-shadow-hover:0 1px 0 #ffffff0f inset, 0 14px 34px #0009;--tree-card-neutral:#b4b2ac;--tree-card-ink:#111;--tree-card-control-hover:#ecebe7;--tree-avatar-bg:#fff;--tree-avatar-border:#e2e1dd;--tree-avatar-icon:#3a3a3a;--tree-card-male:#466f96;--tree-card-male-strong:#34597d;--tree-card-male-soft:#466f964d;--tree-card-male-tint:#d7e3ee;--tree-card-female:#b06d7c;--tree-card-female-strong:#985666;--tree-card-female-soft:#b06d7c4d;--tree-card-female-tint:#f2e1e5;--tree-card-neutral-accent:#a19f99;--tree-card-neutral-strong:#85837d;--tree-card-neutral-soft:#a19f994d;--tree-card-neutral-tint:#f3f2ef;--tree-placeholder-border:#ffffff47;--tree-placeholder-text:#ffffff94;--tree-indicator:#8d8b86}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f6f5f2;--background-secondary:#efede8;--surface:#fff;--surface-elevated:#fff;--surface-hover:#f3f2ee;--surface-sunken:#eceae5;--surface-inverse:#0e0e0e;--foreground:#0e0e0e;--foreground-secondary:#3b3a37;--foreground-muted:#74726d;--foreground-inverse:#f7f6f3;--border:#e4e2dd;--border-strong:#cbc8c1;--input-border:#d6d3cc;--input-bg:#fff;--button-primary:#0e0e0e;--button-primary-fg:#f7f6f3;--button-primary-hover:#262624;--button-secondary:#fff;--button-secondary-fg:#0e0e0e;--button-secondary-hover:#f3f2ee;--ring:#0e0e0e24;--focus:#0e0e0e;--header-bg:#f6f5f2c7;--overlay:#0a0a0a8c;--shadow-sm:0 1px 2px #0e0e0e0d;--shadow:0 1px 2px #0e0e0e0a, 0 8px 24px #0e0e0e0f;--shadow-elevated:0 2px 6px #0e0e0e0d, 0 24px 60px #0e0e0e1f}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0a0a0a;--background-secondary:#111;--surface:#151515;--surface-elevated:#1b1b1b;--surface-hover:#212121;--surface-sunken:#0f0f0f;--surface-inverse:#f3f2ee;--foreground:#f3f2ee;--foreground-secondary:#c6c4be;--foreground-muted:#8e8c87;--foreground-inverse:#0a0a0a;--border:#262626;--border-strong:#3a3a3a;--input-border:#333;--input-bg:#111;--button-primary:#f3f2ee;--button-primary-fg:#0a0a0a;--button-primary-hover:#fff;--button-secondary:#1b1b1b;--button-secondary-fg:#f3f2ee;--button-secondary-hover:#242424;--ring:#f3f2ee2e;--focus:#f3f2ee;--header-bg:#0a0a0ab8;--overlay:#000000b3;--success:#8cc3a2;--success-soft:#142019;--success-border:#24382b;--warning:#d7b46a;--warning-soft:#211b0e;--warning-border:#3a3018;--danger:#e09a9a;--danger-soft:#241414;--danger-border:#432626;--shadow-sm:0 1px 2px #00000080;--shadow:0 1px 2px #00000080, 0 10px 28px #00000073;--shadow-elevated:0 2px 8px #00000080, 0 28px 70px #0009}
*{box-sizing:border-box}html{background:var(--background);-webkit-text-size-adjust:100%}body{color:var(--foreground);background-color:var(--background);background-blend-mode:soft-light;font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.32'/%3E%3C/svg%3E");background-size:160px 160px;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}::selection{background:var(--foreground);color:var(--background)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}h1,h2,h3{color:var(--foreground);text-wrap:balance;font-weight:600}h1{font-size:var(--text-h1);letter-spacing:var(--tracking-heading);max-width:850px;margin:16px 0 22px;line-height:1.04}h2{font-size:var(--text-h2);line-height:var(--leading-snug);letter-spacing:-.025em}h3{font-size:var(--text-h3);letter-spacing:-.015em;line-height:1.3}p{text-wrap:pretty}.display{font-size:var(--text-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);font-weight:600}.caption{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;color:var(--foreground-muted)}.eyebrow{color:var(--foreground-muted);font-family:var(--font-mono);font-weight:500;font-size:var(--text-caption);text-transform:uppercase;letter-spacing:var(--tracking-caps);align-items:center;gap:10px;display:inline-flex}.eyebrow:before{content:"";opacity:.6;background:currentColor;width:22px;height:1px}.muted{color:var(--foreground-muted)}.small-text{font-size:var(--text-body-sm)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}*{scrollbar-color:var(--border-strong) transparent}.shell{flex-direction:column;min-height:100vh;display:flex}.shell>main{flex:1 0 auto}.container{width:min(1180px,100% - 32px);margin:0 auto}@media (max-width:620px){.container{width:min(100% - 22px,1180px)}}
@keyframes fl-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fl-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fl-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.page-head{animation:fl-fade-up var(--duration-slow) var(--ease-out-expo)}.stagger>*{animation:fl-fade-up var(--duration-slow) var(--ease-out-expo) backwards}.stagger>:nth-child(2){animation-delay:60ms}.stagger>:nth-child(3){animation-delay:.12s}.stagger>:nth-child(4){animation-delay:.18s}.stagger>:nth-child(5){animation-delay:.24s}.stagger>:nth-child(6){animation-delay:.3s}@keyframes fl-theme-reveal{0%{clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,0))}to{clip-path:circle(150vmax at var(--vt-x,50%) var(--vt-y,0))}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){animation:fl-theme-reveal .62s var(--ease-out-expo)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}::view-transition-new(root){animation:none}}
.site-header{z-index:50;background:var(--header-bg);-webkit-backdrop-filter:saturate(1.4)blur(18px);border-bottom:1px solid var(--border);position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:20px;min-height:68px;display:flex}.brand{letter-spacing:-.035em;align-items:center;gap:11px;font-size:1.0625rem;font-weight:650;display:inline-flex}.brand-mark{background:var(--surface-inverse);width:34px;height:34px;color:var(--foreground-inverse);box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-spring);border-radius:11px;place-items:center;display:grid}.brand-mark svg{width:18px;height:18px}.brand:hover .brand-mark{transform:rotate(-8deg)scale(1.06)}.nav-links{font-size:var(--text-nav);align-items:center;gap:4px;display:flex}.nav-link{border-radius:var(--radius-pill);color:var(--foreground-muted);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;padding:8px 12px;font-weight:500;position:relative}.nav-link:after{content:"";transform-origin:100%;height:1px;transition:transform var(--duration-normal) var(--ease-out-expo);background:currentColor;position:absolute;bottom:3px;left:12px;right:12px;transform:scaleX(0)}.nav-link:hover{color:var(--foreground)}.nav-link:hover:after{transform-origin:0;transform:scaleX(1)}.nav-link[aria-current=page]{color:var(--foreground);background:var(--surface-sunken)}.nav-link[aria-current=page]:after{display:none}.nav-user{align-items:center;gap:10px;display:flex}.user-name{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;color:var(--foreground-muted)}.theme-toggle{position:relative;overflow:hidden}.theme-toggle svg{width:17px;height:17px;transition:transform var(--duration-slow) var(--ease-spring), opacity var(--duration-normal) ease}.theme-toggle .theme-icon-moon{position:absolute}[data-theme=dark] .theme-toggle .theme-icon-sun,:root:not([data-theme=dark]) .theme-toggle .theme-icon-moon{opacity:0;transform:rotate(-90deg)scale(.5)}.footer{margin-top:var(--space-12);color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;border-top:1px solid var(--border);padding:28px 0 40px}.footer-row{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;display:flex}.footer-link{color:var(--foreground-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:4px;transition:color var(--duration-fast) ease, text-decoration-color var(--duration-fast) ease}.footer-link:hover{color:var(--foreground);text-decoration-color:currentColor}@media (max-width:900px){.nav{flex-wrap:wrap;row-gap:0}.nav-links{scrollbar-width:none;border-top:1px solid var(--border);order:3;width:calc(100% + 32px);margin:0 -16px;padding:6px 12px 10px;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-link{white-space:nowrap}}@media (max-width:620px){.nav-user .user-name{display:none}.nav-links{width:calc(100% + 22px);margin:0 -11px;padding-inline:7px}.nav{column-gap:12px}.nav-user{gap:4px}.nav-user .btn.small:not(.icon){padding:0 12px}}@media (max-width:420px){.nav-user .btn-arrow{display:none}}
.btn{--btn-bg:var(--button-primary);--btn-fg:var(--button-primary-fg);--btn-border:transparent;--btn-bg-hover:var(--button-primary-hover);border:1px solid var(--btn-border);border-radius:var(--radius-pill);min-height:42px;font-size:var(--text-button);letter-spacing:-.01em;white-space:nowrap;background:var(--btn-bg);color:var(--btn-fg);box-shadow:var(--shadow-sm);transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease, box-shadow var(--duration-normal) var(--ease-out-expo), transform var(--duration-normal) var(--ease-spring);justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;line-height:1;display:inline-flex;position:relative}.btn:hover:not(:disabled){background:var(--btn-bg-hover);box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:var(--shadow-sm);transition-duration:80ms;transform:translateY(0)scale(.97)}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.btn.secondary{--btn-bg:var(--button-secondary);--btn-fg:var(--button-secondary-fg);--btn-border:var(--border-strong);--btn-bg-hover:var(--button-secondary-hover)}.btn.outline{--btn-bg:transparent;--btn-fg:var(--foreground);--btn-border:var(--foreground);--btn-bg-hover:var(--surface-hover);box-shadow:none}.btn.ghost{--btn-bg:transparent;--btn-fg:var(--foreground-muted);--btn-border:transparent;--btn-bg-hover:var(--surface-sunken);box-shadow:none}.btn.ghost:hover:not(:disabled){color:var(--foreground);box-shadow:none;transform:none}.btn.danger{--btn-bg:var(--danger-soft);--btn-fg:var(--danger);--btn-border:var(--danger-border);--btn-bg-hover:var(--danger-soft)}.btn.danger:hover:not(:disabled){border-color:var(--danger)}.btn.icon{width:40px;min-width:40px;min-height:40px;padding:0}.btn.small{min-height:var(--control-height-sm);font-size:var(--text-body-sm);padding:0 14px}.btn.small.icon{width:var(--control-height-sm);min-width:var(--control-height-sm);padding:0}.btn.large{min-height:52px;padding:0 26px;font-size:.9375rem}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-arrow{transition:transform var(--duration-normal) var(--ease-spring);display:inline-block}.btn:hover .btn-arrow{transform:translate(3px)}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field.full{grid-column:1/-1}.field label{letter-spacing:.005em;color:var(--foreground-secondary);font-size:.78rem;font-weight:600}.input,.select,.textarea{border:1px solid var(--input-border);border-radius:var(--radius-sm);width:100%;min-height:var(--control-height);background:var(--input-bg);color:var(--foreground);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-normal) var(--ease-out-expo), background var(--duration-fast) ease;outline:none;padding:10px 14px}.input::placeholder,.textarea::placeholder{color:var(--foreground-muted);opacity:.8}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.textarea{resize:vertical;min-height:92px;line-height:1.5}.input:focus,.select:focus,.textarea:focus{border-color:var(--foreground);box-shadow:0 0 0 4px var(--ring)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input:disabled,.select:disabled,.textarea:disabled{opacity:.6;cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--foreground)}.check-row{align-items:center;gap:9px;min-height:44px;display:flex}.alert{border:1px solid var(--danger-border);background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);font-size:var(--text-body-sm);animation:fl-fade-in var(--duration-normal) ease;padding:11px 14px;line-height:1.45}.alert.success,.success{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.badge{border:1px solid var(--border);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.03em;background:var(--surface);color:var(--foreground-secondary);align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:inline-flex}.badge.pending{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.badge.accepted{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.badge.rejected{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}@media (max-width:620px){.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
.page{padding:48px 0 80px}.page-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;padding-bottom:24px;display:flex}.page-head h1{font-size:var(--text-h1);margin:10px 0 8px;line-height:1.04}.page-head p{color:var(--foreground-muted);max-width:60ch;margin:0}.section-title{font-size:var(--text-h2);letter-spacing:var(--tracking-heading);margin:0 0 24px}.grid-2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.stack{flex-direction:column;gap:14px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-out-expo), box-shadow var(--duration-normal) var(--ease-out-expo), border-color var(--duration-fast) ease;padding:22px;position:relative}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-elevated);transform:translateY(-4px)}.card h3{margin:14px 0 8px}.card p{color:var(--foreground-muted);line-height:1.55;font-size:var(--text-body-sm);margin:0}.icon-box{background:var(--surface-inverse);width:40px;height:40px;color:var(--foreground-inverse);transition:transform var(--duration-normal) var(--ease-spring);border-radius:12px;place-items:center;display:grid}.icon-box svg{width:20px;height:20px}.card:hover .icon-box{transform:rotate(-6deg)scale(1.08)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px}.panel-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.panel-head h2,.panel h2{letter-spacing:-.025em;margin:0;font-size:1.125rem}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) ease;padding:18px 20px}.stat:hover{border-color:var(--border-strong)}.stat b{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:600;line-height:1.1;display:block}.stat span{font-family:var(--font-mono);color:var(--foreground-muted);font-size:var(--text-caption);letter-spacing:.04em;text-transform:uppercase}.list-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 0;display:flex}.list-item:last-child{border-bottom:0}.list-item strong{margin-bottom:4px;font-weight:600;display:block}.list-item .meta{color:var(--foreground-muted);font-size:.75rem;line-height:1.45}.score{border:1px solid var(--border-strong);background:var(--surface-sunken);width:52px;height:52px;color:var(--foreground);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.empty{text-align:center;color:var(--foreground-muted);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--background-secondary);padding:40px 16px}.code-note{font-family:var(--font-mono);background:var(--surface-sunken);border-radius:var(--radius-xs);padding:3px 6px;font-size:.75rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.tree-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}@media (max-width:900px){.stat-grid{grid-template-columns:1fr 1fr}.grid-2,.grid-3{grid-template-columns:1fr}}@media (max-width:620px){.stat-grid{grid-template-columns:1fr}.page{padding-top:32px}.page-head{flex-direction:column;align-items:flex-start}}@media (hover:none){.card:hover{transform:none}}
.lp{overflow-x:clip}html:has(.lp){scroll-behavior:smooth}.lp [id]{scroll-margin-top:88px}.lp-hero{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);grid-template-areas:"head head""body visual";gap:clamp(32px,4vw,56px) clamp(32px,5vw,72px);padding:clamp(56px,7vw,104px) 0 clamp(64px,8vw,112px);display:grid}.lp-hero-head{animation:fl-fade-up .7s var(--ease-out-expo) backwards;grid-area:head}.lp-hero-title{letter-spacing:-.058em;text-wrap:balance;max-width:none;margin:22px 0 0;font-size:clamp(2.6rem,.9rem + 5.6vw,6.25rem);font-weight:650;line-height:.98}.lp-hero-line{display:block}.lp-hero-line-quiet{color:var(--foreground-muted)}.lp-hero-body{animation:fl-fade-up .7s var(--ease-out-expo) .12s backwards;grid-area:body;align-self:start;padding-top:clamp(0px,1.5vw,20px)}.lp-hero-lede{max-width:42ch;font-size:var(--text-body-lg);color:var(--foreground-secondary);margin:0;line-height:1.6}.lp-hero-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.lp-hero-note{border-top:1px solid var(--border);max-width:42ch;color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.03em;margin:24px 0 0;padding-top:18px;line-height:1.7}.lp-visual{--mx:0;--my:0;animation:fl-scale-in .9s var(--ease-out-expo) .18s backwards;grid-area:visual;position:relative}.lp-visual-sheet{border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--background-secondary);translate:calc(var(--mx) * -8px) calc(var(--my) * -8px);transition:translate .7s var(--ease-out-expo);position:absolute;inset:22px -16px -16px 22px}.lp-visual-canvas{border:1px solid var(--tree-canvas-edge);border-radius:var(--radius-xl);background:radial-gradient(ellipse 70% 55% at 50% 0%, var(--tree-canvas-glow), transparent 70%), radial-gradient(ellipse 120% 100% at 50% 50%, transparent 55%, var(--tree-canvas-vignette) 100%), radial-gradient(circle at 1px 1px, var(--tree-canvas-grain) 1px, transparent 0) 0 0 / 22px 22px, var(--tree-canvas);box-shadow:inset 0 1px 0 #ffffff0a, var(--shadow-elevated);translate:calc(var(--mx) * 4px) calc(var(--my) * 4px);transition:translate .7s var(--ease-out-expo);padding:clamp(18px,3vw,32px);position:relative;overflow:hidden}.lp-visual-stage{aspect-ratio:600/480;translate:calc(var(--mx) * 8px) calc(var(--my) * 8px);transition:translate .7s var(--ease-out-expo);position:relative;container-type:inline-size}.lp-visual-lines{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.lp-line{fill:none;stroke:var(--tree-connector);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:lp-draw 1.1s var(--ease-out-expo) calc(.45s + var(--i,0) * .14s) backwards}.lp-line-bridge{stroke:var(--tree-connector-soft);stroke-dasharray:5 6;animation:.8s 1.5s backwards fl-fade-in}@keyframes lp-draw{0%{stroke-dashoffset:1px}}.lp-node{--g:var(--tree-card-neutral-accent);--tint:var(--tree-card-neutral-tint);border:2px solid var(--g);background:var(--tint);color:var(--tree-card-text);box-shadow:inset 4px 0 0 var(--g), var(--tree-card-shadow);animation:fl-fade-up .7s var(--ease-out-expo) calc(.25s + var(--i,0) * 90ms) backwards;transition:box-shadow var(--duration-normal) var(--ease-out-expo);border-radius:6px;flex-direction:column;justify-content:center;gap:.3cqw;padding:0 2.4cqw 0 3.4cqw;display:flex;position:absolute}.lp-node:hover{box-shadow:inset 6px 0 0 var(--g), var(--tree-card-shadow-hover)}.lp-node strong{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:max(10px,2.35cqw);font-weight:600;line-height:1.15;overflow:hidden}.lp-node span{color:var(--tree-card-muted);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;font-size:max(9px,1.8cqw);overflow:hidden}.lp-node-male{--g:var(--tree-card-male);--tint:var(--tree-card-male-tint)}.lp-node-female{--g:var(--tree-card-female);--tint:var(--tree-card-female-tint)}.lp-node-dashed{border:1.5px dashed var(--tree-placeholder-border);color:var(--tree-chrome-text);box-shadow:none;background:#ffffff08}.lp-node-dashed:hover{box-shadow:none;border-color:var(--tree-connector)}.lp-node-dashed span{color:var(--tree-chrome-muted)}.lp-visual-chip{z-index:2;border:1px solid var(--tree-chrome-border);border-radius:var(--radius-pill);background:var(--tree-chrome);color:var(--tree-chrome-text);font-family:var(--font-mono);letter-spacing:.03em;white-space:nowrap;-webkit-backdrop-filter:blur(10px);translate:calc(var(--mx) * 14px) calc(var(--my) * 14px);transition:translate .7s var(--ease-out-expo);align-items:center;gap:8px;padding:8px 13px;font-size:11px;display:inline-flex;position:absolute;box-shadow:0 10px 30px #00000073}.lp-visual-chip-match{animation:.6s 1.3s backwards fl-fade-in,6s ease-in-out 2s infinite lp-float;top:18px;right:18px}.lp-visual-chip-consent{animation:.6s 1.7s backwards fl-fade-in,7s ease-in-out 2.6s infinite reverse lp-float;bottom:18px;right:18px}.lp-chip-dot{background:var(--tree-connector);border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite lp-pulse}.lp-chip-check{background:var(--tree-connector);width:16px;height:16px;color:var(--tree-canvas);border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}@keyframes lp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes lp-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (max-width:900px){.lp-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""body""visual"}.lp-hero-lede,.lp-hero-note{max-width:56ch}}@media (max-width:620px){.lp-hero-actions .btn{flex:100%}.lp-visual-sheet{inset:12px -6px -8px 12px}.lp-visual-chip-match,.lp-node-optional,.lp-line-bridge{display:none}.lp-visual-chip-consent{width:max-content;margin-inline:auto;bottom:12px;left:0;right:0}}@media (prefers-reduced-motion:reduce){.lp-visual-sheet,.lp-visual-canvas,.lp-visual-stage,.lp-visual-chip{translate:none}html:has(.lp){scroll-behavior:auto}}
@keyframes lp-reveal{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.reveal{animation:linear both lp-reveal;animation-timeline:view();animation-range:entry entry 70%}.lp-proof-item:nth-child(2),.lp-step:nth-child(2),.lp-story-visual{animation-range:entry 10% entry 80%}.lp-proof-item:nth-child(3),.lp-step:nth-child(3){animation-range:entry 20% entry 90%}}}.lp-section{padding:var(--space-section) 0}.lp-h2{letter-spacing:-.048em;max-width:17ch;margin:18px 0 0;font-size:clamp(2rem,1.15rem + 2.9vw,3.6rem);font-weight:600;line-height:1.03}.lp-h2 em{color:var(--foreground-muted);font-style:normal}.lp-proof{border-block:1px solid var(--border);background:var(--background-secondary)}.lp-proof-row{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lp-proof-item{flex-direction:column;gap:8px;padding:clamp(32px,4vw,52px) clamp(20px,3vw,40px);display:flex}.lp-proof-item+.lp-proof-item{border-left:1px solid var(--border)}.lp-proof-figure{letter-spacing:-.055em;font-variant-numeric:tabular-nums;font-size:clamp(2.6rem,1.8rem + 2.8vw,4.5rem);font-weight:600;line-height:1}.lp-proof-label{color:var(--foreground);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:var(--tracking-caps);text-transform:uppercase;margin-top:6px}.lp-proof-item p{max-width:30ch;color:var(--foreground-muted);font-size:var(--text-body-sm);margin:0;line-height:1.55}.lp-section-head{margin-bottom:clamp(40px,5vw,72px)}.lp-steps-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin:0;padding:0;list-style:none;display:grid}.lp-step{border-top:1.5px solid var(--foreground);padding-top:24px}.lp-step:nth-child(2){margin-top:56px}.lp-step:nth-child(3){margin-top:112px}.lp-step-top{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}.lp-step-number{color:var(--foreground-muted);letter-spacing:-.05em;font-variant-numeric:tabular-nums;transition:color var(--duration-normal) ease;font-size:clamp(2.6rem,2rem + 2vw,3.75rem);font-weight:300;line-height:1}.lp-step-icon{width:28px;height:28px;color:var(--foreground);transition:transform var(--duration-slow) var(--ease-spring)}.lp-step:hover .lp-step-number{color:var(--foreground)}.lp-step:hover .lp-step-icon{transform:rotate(-8deg)scale(1.12)}.lp-step h3{letter-spacing:-.03em;margin:0 0 10px;font-size:1.375rem}.lp-step p{max-width:34ch;color:var(--foreground-muted);margin:0;line-height:1.6}.lp-stories{padding-top:0}.lp-story{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(40px,6vw,96px);padding:clamp(56px,7vw,96px) 0;display:grid}.lp-story-flip .lp-story-copy{order:2}.lp-story-copy p{max-width:44ch;color:var(--foreground-secondary);font-size:var(--text-body-lg);margin:22px 0 0;line-height:1.6}.lp-story-visual{border:1px solid var(--border);border-radius:var(--radius-xl);background:radial-gradient(circle at 1px 1px, var(--border) 1px, transparent 0) 0 0 / 20px 20px, var(--background-secondary);place-items:center;min-height:360px;padding:clamp(24px,4vw,48px);display:grid;position:relative;overflow:hidden}.lp-mini{--g:var(--tree-card-neutral-accent);--tint:var(--tree-card-neutral-tint);border:1.5px solid var(--g);background:var(--tint);color:var(--tree-card-text);box-shadow:inset 3px 0 0 var(--g), var(--shadow-sm);letter-spacing:-.01em;white-space:nowrap;border-radius:6px;align-items:center;padding:8px 12px 8px 14px;font-size:.8125rem;font-weight:600;display:inline-flex}.lp-mini-male{--g:var(--tree-card-male);--tint:var(--tree-card-male-tint)}.lp-mini-female{--g:var(--tree-card-female);--tint:var(--tree-card-female-tint)}.lp-ladder{width:100%;max-width:460px}.lp-ladder-row{grid-template-columns:112px minmax(0,1fr);align-items:center;gap:16px;padding:18px 0;display:grid;position:relative}.lp-ladder-row+.lp-ladder-row{border-top:1px dashed var(--border-strong)}.lp-ladder-label{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase}.lp-ladder-people{flex-wrap:wrap;gap:8px;display:flex}.lp-ladder-row:nth-child(2) .lp-ladder-people{padding-left:24px}.lp-ladder-row:nth-child(3) .lp-ladder-people{padding-left:48px}.lp-match{width:100%;max-width:480px}.lp-match-trees{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:end;display:grid}.lp-match-tree{flex-direction:column;gap:8px;min-width:0;display:flex}.lp-match-tree .lp-mini{text-overflow:ellipsis;overflow:hidden}.lp-match-tree-name{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase}.lp-match-link{place-items:center;height:37px;display:grid}.lp-match-link span{border-top:1.5px dashed var(--foreground-muted);width:100%}.lp-match-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated);box-shadow:var(--shadow-elevated);transition:transform var(--duration-slow) var(--ease-out-expo);margin-top:20px;padding:20px 22px}.lp-story:hover .lp-match-card{transform:translateY(-4px)}.lp-match-title{letter-spacing:-.02em;font-weight:600}.lp-match-meta{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.03em;margin-top:4px}.lp-consent{border-top:1px solid var(--border);font-size:var(--text-body-sm);color:var(--foreground-muted);gap:10px;margin:18px 0 0;padding:16px 0 0;list-style:none;display:grid}.lp-consent li{align-items:center;gap:10px;display:flex}.lp-consent li>span{border:1.5px solid var(--border-strong);border-radius:50%;flex:0 0 18px;place-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:grid}.lp-consent li.is-done{color:var(--foreground)}.lp-consent li.is-done>span{border-color:var(--foreground);background:var(--foreground);color:var(--background)}.lp-consent li:not(.is-done)>span{animation:2.4s ease-in-out infinite lp-pulse}.lp-record{width:100%;max-width:400px;position:relative}.lp-record-sheet{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-elevated);box-shadow:var(--shadow-elevated);padding:26px 26px 22px;position:relative}.lp-record-sheet-back{background:var(--surface);box-shadow:var(--shadow);transition:rotate var(--duration-slow) var(--ease-out-expo);position:absolute;inset:0;rotate:-4deg}.lp-story:hover .lp-record-sheet-back{rotate:-7deg}.lp-record-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.lp-record-kicker,.lp-record-lock{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase}.lp-record-lock{border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.lp-record-lock svg{width:12px;height:12px}.lp-record-name{letter-spacing:-.04em;margin-top:18px;font-size:1.6rem;font-weight:600}.lp-record-fields{gap:12px;margin:18px 0 0;display:grid}.lp-record-fields>div{grid-template-columns:76px minmax(0,1fr);gap:12px;display:grid}.lp-record-fields dt{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase;padding-top:2px}.lp-record-fields dd{font-size:var(--text-body-sm);margin:0;line-height:1.55}.lp-cta{padding:0 0 var(--space-section)}.lp-cta-inner{--cta-bg:var(--surface-inverse);--cta-fg:var(--foreground-inverse);--cta-muted:color-mix(in srgb, var(--foreground-inverse) 64%, transparent);--cta-line:color-mix(in srgb, var(--foreground-inverse) 14%, transparent);border-radius:var(--radius-xl);background:radial-gradient(ellipse 60% 80% at 100% 0%, var(--cta-line), transparent 70%), var(--cta-bg);color:var(--cta-fg);grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);align-items:end;gap:clamp(32px,5vw,72px);padding:clamp(40px,6vw,88px);display:grid;position:relative;overflow:hidden}[data-theme=dark] .lp-cta-inner{--cta-bg:var(--surface-elevated);--cta-fg:var(--foreground);--cta-muted:var(--foreground-muted);--cta-line:#ffffff0f;border:1px solid var(--border-strong)}.lp-cta-title{max-width:14ch;color:var(--cta-fg);letter-spacing:-.055em;margin:0;font-size:clamp(2.3rem,1.2rem + 3.8vw,4.75rem);font-weight:600;line-height:1}.lp-cta-side p{max-width:34ch;color:var(--cta-muted);margin:0 0 26px;line-height:1.6}.lp-cta-button{--btn-bg:var(--cta-fg);--btn-fg:var(--cta-bg);--btn-bg-hover:var(--cta-fg)}.lp-cta-button:focus-visible{outline-color:var(--cta-fg)}@media (max-width:1024px){.lp-step:nth-child(2){margin-top:32px}.lp-step:nth-child(3){margin-top:64px}}@media (max-width:900px){.lp-proof-row{grid-template-columns:minmax(0,1fr)}.lp-proof-item{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:24px;padding-inline:0;display:grid}.lp-proof-item p{grid-column:2}.lp-proof-item+.lp-proof-item{border-left:0;border-top:1px solid var(--border)}.lp-steps-list{grid-template-columns:minmax(0,1fr);gap:0}.lp-step,.lp-step:nth-child(2),.lp-step:nth-child(3){border-top:1px solid var(--border);grid-template-columns:88px minmax(0,1fr);column-gap:16px;margin-top:0;padding:28px 0;display:grid}.lp-step:first-child{border-top:1.5px solid var(--foreground)}.lp-step-top{flex-direction:column;grid-row:span 2;gap:16px;margin:0}.lp-story{grid-template-columns:minmax(0,1fr)}.lp-story-flip .lp-story-copy{order:0}.lp-story-visual{min-height:300px}.lp-cta-inner{grid-template-columns:minmax(0,1fr);align-items:start}}@media (max-width:620px){.lp-proof-item{grid-template-columns:minmax(0,1fr)}.lp-proof-item p{grid-column:auto}.lp-step,.lp-step:nth-child(2),.lp-step:nth-child(3){grid-template-columns:64px minmax(0,1fr)}.lp-ladder-row{grid-template-columns:minmax(0,1fr);gap:10px}.lp-ladder-row:nth-child(2) .lp-ladder-people,.lp-ladder-row:nth-child(3) .lp-ladder-people{padding-left:0}.lp-match-trees{grid-template-columns:minmax(0,1fr);gap:10px}.lp-match-link{height:24px}.lp-match-link span{border-top:0;border-left:1.5px dashed var(--foreground-muted);width:0;height:100%}.lp-cta-button{width:100%}}@media (hover:none){.lp-story:hover .lp-match-card{transform:none}}
.lp-footer{border-top:1px solid var(--border);padding:clamp(48px,6vw,80px) 0 36px}.lp-footer-top{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:40px;padding-bottom:48px;display:grid}.lp-footer-wordmark{letter-spacing:-.05em;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.4rem);font-weight:650}.lp-footer-brand p{max-width:36ch;color:var(--foreground-muted);margin:12px 0 0}.lp-footer-col{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.lp-footer-heading{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:var(--tracking-caps);text-transform:uppercase;margin-bottom:6px}.lp-footer-col a{color:var(--foreground-secondary);transition:color var(--duration-fast) ease;position:relative}.lp-footer-col a:after{content:"";transform-origin:100%;height:1px;transition:transform var(--duration-normal) var(--ease-out-expo);background:currentColor;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.lp-footer-col a:hover{color:var(--foreground)}.lp-footer-col a:hover:after{transform-origin:0;transform:scaleX(1)}.lp-footer-bottom{border-top:1px solid var(--border);color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.03em;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:24px;display:flex}@media (max-width:900px){.lp-footer-top{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-footer-brand{grid-column:1/-1}}@media (max-width:520px){.lp-footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
.credits{padding-bottom:var(--space-section)}.credits-intro{animation:fl-fade-up var(--duration-slow) var(--ease-out-expo);padding:clamp(48px,7vw,104px) 0 clamp(40px,5vw,72px)}.credits-title{letter-spacing:-.05em;margin:18px 0 0;font-size:clamp(2.25rem,1.3rem + 3.2vw,4rem);line-height:1.02}.credits-lede{max-width:44ch;color:var(--foreground-muted);font-size:var(--text-body-lg);margin:16px 0 0}.credits-label{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:var(--tracking-caps);text-transform:uppercase;display:block}.credit-portrait{background:var(--surface-sunken);border:1px solid var(--border);position:relative;overflow:hidden}.credit-portrait-img{object-fit:cover;object-position:50% 22%}.credit-portrait-monogram{color:var(--foreground-muted);letter-spacing:-.04em;-webkit-user-select:none;user-select:none;place-items:center;font-weight:600;display:grid;position:absolute;inset:0}.credits-founder{border-top:1px solid var(--border-strong);animation:fl-fade-up var(--duration-slow) var(--ease-out-expo) 80ms backwards;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:end;gap:clamp(32px,5vw,80px);padding-top:clamp(28px,3vw,40px);display:grid}.credits-founder-portrait{aspect-ratio:4/5;border-radius:var(--radius-xs);width:100%;max-width:520px;box-shadow:var(--shadow-elevated)}.credits-founder-portrait .credit-portrait-monogram{box-shadow:inset 0 0 0 clamp(12px, 2vw, 20px) var(--surface-sunken), inset 0 0 0 calc(clamp(12px, 2vw, 20px) + 1px) var(--border);font-size:clamp(4rem,2rem + 8vw,9rem)}.credits-founder-text{padding-bottom:clamp(8px,2vw,32px)}.credits-founder-name{max-width:none;font-size:var(--text-display);letter-spacing:var(--tracking-display);margin:18px 0 0;line-height:.96}.credits-founder-role{color:var(--foreground-secondary);font-size:var(--text-body-lg);letter-spacing:-.01em;margin:20px 0 0;font-weight:500}.credits-founder-product{border-top:1px solid var(--border);max-width:42ch;color:var(--foreground-muted);margin:clamp(28px,4vw,48px) 0 0;padding-top:20px}.credits-wordmark{color:var(--foreground);letter-spacing:-.03em;font-weight:600}.credits-developer{border-top:1px solid var(--border);animation:fl-fade-in var(--duration-slow) var(--ease-out-expo) .22s backwards;align-items:center;gap:20px;margin-top:clamp(56px,7vw,96px);padding-top:28px;display:flex}.credits-developer-portrait{aspect-ratio:1;border-radius:var(--radius-pill);flex:none;width:72px}.credits-developer-portrait .credit-portrait-monogram{font-size:1.15rem}.credits-developer-name{font-size:var(--text-h2);letter-spacing:-.03em;margin:6px 0 0}.credits-developer-text{min-width:0}.credits-developer-contact{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.02em;margin:8px 0 0}.credits-developer-contact a{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:4px;white-space:nowrap;transition:text-decoration-color var(--duration-fast) ease}.credits-developer-contact a:hover{-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}.credits-developer-contact a:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--focus);outline-offset:2px}.credits-developer-contact{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.credits-developer-contact .credits-contact-email,.credits-developer-contact .credits-contact-whatsapp{border-radius:var(--radius-pill);width:24px;height:24px;color:var(--foreground-muted);transition:color var(--duration-fast) ease;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.credits-developer-contact .credits-contact-whatsapp:hover{color:var(--foreground)}.credits-contact-icon{flex:none;width:14px;height:14px}@media (max-width:900px){.credits-founder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.credits-founder-name{font-size:clamp(2.5rem,1rem + 5vw,4rem)}}@media (max-width:760px){.credits-founder{grid-template-columns:minmax(0,1fr);align-items:start}.credits-founder-portrait{max-width:460px}.credits-founder-text{padding-bottom:0}.credits-founder-name{margin-top:12px;font-size:clamp(2.6rem,1.4rem + 7vw,3.6rem)}.credits-developer-portrait{width:56px}.credits-developer-name{font-size:1.25rem}}
.auth{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;min-height:calc(100vh - 69px);padding:16px;display:grid}.auth-panel{border:1px solid var(--tree-canvas-edge);border-radius:var(--radius-xl);background:radial-gradient(ellipse 80% 55% at 30% 0%, var(--tree-canvas-glow), transparent 70%), radial-gradient(ellipse 120% 100% at 50% 50%, transparent 55%, var(--tree-canvas-vignette) 100%), radial-gradient(circle at 1px 1px, var(--tree-canvas-grain) 1px, transparent 0) 0 0 / 22px 22px, var(--tree-canvas);height:calc(100vh - 101px);min-height:520px;color:var(--tree-chrome-text);flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(32px,4vw,56px);animation:.6s fl-fade-in;display:flex;position:sticky;top:85px;overflow:hidden}.auth-panel-kicker{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--tree-chrome-muted)}.auth-art{align-self:center;width:min(78%,340px);overflow:visible}.auth-art-line{fill:none;stroke:var(--tree-connector);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:auth-draw 1s var(--ease-out-expo) calc(.25s + var(--i,0) * .16s) backwards}.auth-art-node{stroke-width:2px;stroke:var(--tree-card-neutral-accent);fill:var(--tree-card-neutral-tint);animation:fl-fade-in .5s ease calc(.15s + var(--i,0) * 80ms) backwards}.auth-art-node-male{stroke:var(--tree-card-male);fill:var(--tree-card-male-tint)}.auth-art-node-female{stroke:var(--tree-card-female);fill:var(--tree-card-female-tint)}@keyframes auth-draw{0%{stroke-dashoffset:1px}}.auth-panel-title{max-width:13ch;color:var(--tree-connector);letter-spacing:-.05em;text-wrap:balance;margin:0;font-size:clamp(2rem,1.1rem + 2.4vw,3.4rem);font-weight:600;line-height:1.02}.auth-panel-title span{color:var(--tree-chrome-muted)}.auth-panel-facts{border-top:1px solid var(--tree-chrome-border);color:var(--tree-chrome-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.03em;gap:10px;margin:28px 0 0;padding:20px 0 0;list-style:none;display:grid}.auth-panel-facts li{align-items:center;gap:10px;display:flex}.auth-panel-facts li:before{content:"";background:currentColor;width:14px;height:1px}.auth-main{place-items:center;padding:clamp(32px,5vw,64px) clamp(8px,3vw,48px);display:grid}.auth-column{gap:22px;width:min(400px,100%);display:grid}.auth-column>*{animation:fl-fade-up .48s var(--ease-out-expo) backwards}.auth-column>:nth-child(2){animation-delay:50ms}.auth-column>:nth-child(3){animation-delay:.1s}.auth-column>:nth-child(4){animation-delay:.15s}.auth-title{letter-spacing:-.05em;max-width:none;margin:14px 0 0;font-size:clamp(2.2rem,1.8rem + 1.6vw,3rem);font-weight:600;line-height:1}.auth-lede{color:var(--foreground-muted);margin:12px 0 0;line-height:1.55}.auth-email{color:var(--foreground);overflow-wrap:anywhere;margin:4px 0;font-weight:600;display:block}.auth-form{gap:18px;display:grid}.auth-field{gap:8px;min-width:0;display:grid}.auth-field label{color:var(--foreground-secondary);font-size:.8125rem;font-weight:600}.auth-input{min-height:48px;font-size:1rem}.auth-input:focus{box-shadow:0 0 0 3px var(--ring)}.auth-password{position:relative}.auth-password .auth-input{padding-right:52px}.auth-password-toggle{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--foreground-muted);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-password-toggle svg{width:19px;height:19px}.auth-password-toggle:hover{color:var(--foreground);background:var(--surface-sunken)}.auth-password-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:0}.auth-field-message{color:var(--foreground-muted);align-items:center;gap:6px;margin:0;font-size:.78rem;line-height:1.4;display:flex}.auth-field-error{color:var(--danger);animation:fl-fade-in var(--duration-normal) ease}.auth-field-message svg{flex:0 0 14px;width:14px;height:14px}.auth-submit{width:100%;min-height:52px}.auth-spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-verify{gap:12px;display:grid}.auth-notice{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--foreground-secondary);font-size:var(--text-body-sm);animation:fl-fade-up .32s var(--ease-out-expo);border-left-width:2px;align-items:flex-start;gap:12px;padding:13px 14px;line-height:1.5;display:flex}.auth-notice-icon{background:var(--surface-sunken);width:20px;height:20px;color:var(--foreground);border-radius:50%;flex:0 0 20px;place-items:center;display:grid}.auth-notice-icon svg{width:14px;height:14px}.auth-notice-error{border-left-color:var(--danger)}.auth-notice-error .auth-notice-icon{background:var(--danger-soft);color:var(--danger)}.auth-notice-success{border-left-color:var(--success)}.auth-notice-success .auth-notice-icon{background:var(--success-soft);color:var(--success)}.auth-notice-info{border-left-color:var(--foreground)}.auth-notice-body{padding-top:1px}.auth-switch{border-top:1px solid var(--border);color:var(--foreground-muted);font-size:var(--text-body-sm);margin:4px 0 0;padding-top:20px}.auth-switch a,.auth-pending a:not(.btn){color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:4px;transition:text-decoration-color var(--duration-fast) ease;font-weight:600}.auth-switch a:hover{-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}.auth-footnote{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.02em;margin:0}.auth-pending{gap:18px;display:grid}.auth-pending>.eyebrow{margin-top:4px}.auth-pending .auth-title,.auth-pending .auth-lede{margin-top:-6px}.auth-pending-mark{background:var(--surface-inverse);width:56px;height:56px;color:var(--foreground-inverse);animation:fl-scale-in .5s var(--ease-spring);border-radius:16px;place-items:center;display:grid}.auth-pending-mark svg{width:28px;height:28px}.auth-pending-actions{gap:10px;display:grid}@media (max-width:1024px){.auth{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}@media (max-width:900px){.auth{grid-template-columns:minmax(0,1fr);min-height:0;padding:0}.auth-panel{display:none}.auth-main{place-items:start center;padding:48px 20px 64px}.auth-column{width:min(440px,100%)}}@media (max-width:620px){.auth-main{padding:32px 16px 56px}}
.google-form{margin:0}.google-button{gap:12px;width:100%;min-height:52px}.google-mark{flex:0 0 18px;width:18px;height:18px}.auth-divider{color:var(--foreground-muted);font-family:var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;align-items:center;gap:14px;margin:22px 0 18px;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.google-linked{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.google-linked-badge{border:1px solid var(--success-border);border-radius:var(--radius-pill);background:var(--success-soft);color:var(--success);font-family:var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;align-items:center;padding:3px 10px;font-size:10.5px;font-weight:500;display:inline-flex}.signin-methods{border-top:1px solid var(--border);margin:0 0 18px;padding:0;list-style:none;display:grid}.signin-methods li{border-bottom:1px solid var(--border);font-size:var(--text-body-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.signin-method-name{min-width:0;color:var(--foreground);overflow-wrap:anywhere;font-weight:600}.signin-method-detail{color:var(--foreground-muted);font-weight:400}.signin-method-off{color:var(--foreground-muted);font-family:var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;font-size:10.5px}.google-disconnect-open{padding-inline:0}.google-disconnect{margin-top:4px}.identity-check{gap:12px;display:grid}.identity-google{justify-items:start;gap:8px;display:grid}.identity-lede{color:var(--foreground-secondary);font-size:var(--text-body-sm);margin:0}
.auth-forgot{justify-content:flex-end;margin:-8px 0 0;display:flex}.auth-forgot a{min-height:44px;color:var(--foreground-secondary);font-size:var(--text-body-sm);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:4px;transition:color var(--duration-fast) ease, text-decoration-color var(--duration-fast) ease;align-items:center;font-weight:500;display:inline-flex}.auth-forgot a:hover{color:var(--foreground);-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}.auth-forgot a:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--focus);outline-offset:2px}
.account-section{gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--border);display:grid}.account-section-title{color:var(--foreground);font-size:var(--text-h3);letter-spacing:-.02em;margin:0;font-weight:600}.account-section-lede{color:var(--foreground-muted);font-size:var(--text-body-sm);margin:-8px 0 0;line-height:1.5}.account-current{color:var(--foreground);overflow-wrap:anywhere;font-weight:600}.account-section .auth-notice strong{overflow-wrap:anywhere}
.devices-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.devices-refresh{min-height:44px}.devices-status:empty{display:none}.devices-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.devices-item{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:14px 16px;display:flex}.devices-item-current{border-color:var(--border-strong)}.devices-text{min-width:0}.devices-name{color:var(--foreground);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:600;display:flex}.devices-badge{border-radius:var(--radius-pill);background:var(--surface-inverse);color:var(--foreground-inverse);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.03em;padding:2px 8px;font-weight:500}.devices-meta{color:var(--foreground-muted);margin:4px 0 0;font-size:12.5px;line-height:1.45}.devices-revoke{flex:none;min-height:44px}.devices-empty{color:var(--foreground-muted);font-size:var(--text-body-sm);margin:0}.devices-confirm{gap:var(--space-3);border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-soft);padding:16px;display:grid}.devices-confirm-title{color:var(--foreground);margin:0;font-size:15px;font-weight:600}.devices-confirm-body{color:var(--foreground-secondary);margin:0;font-size:13px;line-height:1.5}.devices-confirm-actions{flex-wrap:wrap;gap:10px;display:flex}.devices-confirm-actions .btn{min-height:44px}.btn.devices-danger{--btn-bg:var(--danger);--btn-fg:var(--foreground-inverse);--btn-bg-hover:var(--danger)}@media (max-width:480px){.devices-item{flex-direction:column;align-items:stretch}.devices-revoke{width:100%}}
.danger-zone .account-section-title{color:var(--danger)}.btn.danger-open{--btn-fg:var(--danger);--btn-border:var(--danger-border)}.danger-panel{gap:var(--space-3);border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-soft);padding:18px;display:grid}.danger-panel-title{color:var(--foreground);outline:none;margin:0;font-size:16px;font-weight:600}.danger-panel-title:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--focus);outline-offset:3px}.danger-panel-body,.danger-warning{margin:0;font-size:13px;line-height:1.5}.danger-panel-body{color:var(--foreground-secondary)}.danger-list{color:var(--foreground-secondary);gap:4px;margin:0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.danger-list strong{color:var(--foreground);overflow-wrap:anywhere}.danger-warning{color:var(--danger);font-weight:600}.danger-actions{flex-wrap:wrap;gap:10px;display:flex}.danger-actions .btn{min-height:44px}.btn.danger-confirm{--btn-bg:var(--danger);--btn-fg:var(--foreground-inverse);--btn-bg-hover:var(--danger)}
.export-list{color:var(--foreground-secondary);font-size:var(--text-body-sm);gap:4px;margin:-4px 0 0;padding-left:18px;line-height:1.5;display:grid}.export-status:empty{display:none}
.app-nav{align-items:center;gap:2px;display:flex}.app-nav-link{border-radius:var(--radius-pill);color:var(--foreground-muted);font-size:var(--text-nav);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;align-items:center;gap:8px;padding:8px 13px;font-weight:500;display:inline-flex;position:relative}.app-nav-icon{opacity:.8;width:17px;height:17px;transition:opacity var(--duration-fast) ease;flex:0 0 17px}.app-nav-link:hover{color:var(--foreground);background:var(--surface-hover)}.app-nav-link:hover .app-nav-icon,.app-nav-link[aria-current=page] .app-nav-icon{opacity:1}.app-nav-link[aria-current=page]{color:var(--foreground);background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border)}.app-actions{align-items:center;gap:6px;display:flex}.user-menu{position:relative}.user-menu-trigger{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);min-height:44px;color:var(--foreground);font-size:var(--text-nav);transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-weight:500;display:inline-flex}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{border-color:var(--border-strong);background:var(--surface-hover)}.user-menu-chevron{width:15px;height:15px;color:var(--foreground-muted);transition:transform var(--duration-normal) var(--ease-out-expo)}.user-menu-trigger[aria-expanded=true] .user-menu-chevron{transform:rotate(180deg)}.user-avatar{background:var(--surface-inverse);width:30px;height:30px;color:var(--foreground-inverse);letter-spacing:.04em;border-radius:50%;flex:0 0 30px;place-items:center;font-size:.6875rem;font-weight:600;display:grid}.user-avatar-large{flex-basis:40px;width:40px;height:40px;font-size:.8125rem}.user-menu-panel{z-index:60;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated);width:min(300px,100vw - 32px);box-shadow:var(--shadow-elevated);transform-origin:100% 0;padding:6px;position:absolute;top:calc(100% + 10px);right:0}.user-menu-panel:not([hidden]){animation:fl-scale-in .18s var(--ease-out-expo)}.user-menu-identity{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:6px;padding:12px 12px 14px;display:flex}.user-menu-identity>div{min-width:0;display:grid}.user-menu-identity strong{overflow-wrap:anywhere;font-weight:600}.user-menu-identity span:not(.user-avatar){color:var(--foreground-muted);font-size:var(--text-body-sm);overflow-wrap:anywhere}.user-menu-action{border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--foreground-secondary);font-size:var(--text-body-sm);text-align:left;transition:background var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border:0;align-items:center;gap:10px;padding:0 12px;font-weight:500;display:flex}.user-menu-action svg{width:17px;height:17px}.user-menu-action:hover{background:var(--surface-hover);color:var(--foreground)}.user-menu-action:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.user-menu-action:disabled{cursor:progress;opacity:.7}.user-menu-error{border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--text-body-sm);margin:4px 6px 6px;padding:8px 10px;line-height:1.45}.app-menu-button,.app-drawer-root{display:none}@media (max-width:900px){.app-nav,.user-menu{display:none}.app-menu-button{display:inline-flex}.app-actions .btn.small.icon{width:44px;min-width:44px;min-height:44px}.app-menu-button svg{width:34px;height:34px}.app-actions{margin-left:auto}.app-drawer-root[data-open]{z-index:49;display:block;position:fixed;inset:69px 0 0}.app-drawer-backdrop{background:var(--overlay);animation:fl-fade-in var(--duration-normal) ease;position:absolute;inset:0}.app-drawer{border-bottom:1px solid var(--border);background:var(--background);max-height:100%;box-shadow:var(--shadow-elevated);animation:app-drawer-in .28s var(--ease-out-expo);gap:8px;padding:12px 16px 20px;display:grid;position:relative;overflow-y:auto}.app-drawer-nav{gap:2px;display:grid}.app-drawer-nav .app-nav-link{border-radius:var(--radius-sm);min-height:52px;padding:0 14px;font-size:1rem}.app-drawer-account{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.app-drawer-account .user-menu-identity{border-bottom:0;margin-bottom:0;padding-inline:14px}.app-drawer-account .user-menu-action{min-height:52px;padding:0 14px;font-size:1rem}}@keyframes app-drawer-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
.dash{padding-top:clamp(40px,5vw,72px)}.dash>*{animation:fl-fade-up .52s var(--ease-out-expo) backwards}.dash>:nth-child(2){animation-delay:60ms}.dash>:nth-child(3){animation-delay:.12s}.dash>:nth-child(4){animation-delay:.18s}.dash>:nth-child(5){animation-delay:.24s}.dash-hero{margin-bottom:clamp(28px,4vw,48px)}.dash-title{max-width:none;color:var(--foreground-muted);letter-spacing:-.055em;margin:16px 0 0;font-size:clamp(2.4rem,1.5rem + 3.2vw,4.25rem);font-weight:600;line-height:1}.dash-title span{color:var(--foreground)}.dash-lede{color:var(--foreground-secondary);font-size:var(--text-body-lg);margin:14px 0 0}.dash-section{margin-top:clamp(32px,4vw,48px)}.dash-section-title{letter-spacing:-.03em;margin:0 0 16px;font-size:1.25rem}.dash-prompt{border:1px solid var(--border);border-left:2px solid var(--foreground);border-radius:var(--radius-sm);background:var(--surface);color:var(--foreground-secondary);font-size:var(--text-body-sm);transition:border-color var(--duration-fast) ease;align-items:center;gap:14px;padding:14px 18px;display:flex}.dash-prompt strong{color:var(--foreground);font-weight:600}.dash-prompt:hover{border-color:var(--border-strong);border-left-color:var(--foreground)}.dash-prompt-dot{background:var(--foreground);border-radius:50%;flex:0 0 8px;width:8px;height:8px;animation:2.4s ease-in-out infinite dash-pulse}.dash-prompt-action{color:var(--foreground);white-space:nowrap;margin-left:auto;font-weight:600}.dash-prompt-action span{transition:transform var(--duration-normal) var(--ease-spring);display:inline-block}.dash-prompt:hover .dash-prompt-action span{transform:translate(3px)}.dash-workspace{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-normal) var(--ease-out-expo);grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);display:grid;overflow:hidden}.dash-workspace:hover{border-color:var(--border-strong);box-shadow:var(--shadow-elevated)}.dash-workspace:hover .btn-arrow{transform:translate(3px)}.dash-workspace:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.dash-workspace-copy{flex-direction:column;align-items:flex-start;padding:clamp(28px,4vw,52px);display:flex}.dash-workspace-kicker,.dash-workspace-meta dt,.dash-overview dt{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:var(--tracking-caps);text-transform:uppercase}.dash-workspace-name{letter-spacing:-.048em;overflow-wrap:anywhere;margin:14px 0 0;font-size:clamp(1.9rem,1.3rem + 2vw,3rem);line-height:1.04}.dash-workspace-description{max-width:52ch;color:var(--foreground-muted);margin:12px 0 0;line-height:1.55}.dash-workspace-meta{border-top:1px solid var(--border);flex-wrap:wrap;align-self:stretch;gap:16px 36px;margin:28px 0 0;padding-top:20px;display:flex}.dash-workspace-meta dd{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:1.25rem;font-weight:600}.dash-workspace-cta{pointer-events:none;margin-top:32px}.dash-workspace-art{background:radial-gradient(ellipse 80% 60% at 50% 0%, var(--tree-canvas-glow), transparent 70%), radial-gradient(circle at 1px 1px, var(--tree-canvas-grain) 1px, transparent 0) 0 0 / 22px 22px, var(--tree-canvas);align-content:center;place-items:center;gap:18px;min-height:260px;padding:32px;display:grid;position:relative}.dash-glyph{width:min(150px,70%);overflow:visible}.dash-glyph path{fill:none;stroke:var(--tree-connector);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.dash-glyph-node{fill:var(--tree-card-neutral-tint);stroke:var(--tree-card-neutral-accent);stroke-width:2px}.dash-glyph-male{fill:var(--tree-card-male-tint);stroke:var(--tree-card-male)}.dash-glyph-female{fill:var(--tree-card-female-tint);stroke:var(--tree-card-female)}.dash-workspace-count{color:var(--tree-chrome-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em}.dash-overview{border-block:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.dash-overview>div{padding:22px 20px}.dash-overview>div+div{border-left:1px solid var(--border)}.dash-overview dd{letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin:10px 0 0;font-size:clamp(1.75rem,1.4rem + 1.2vw,2.4rem);font-weight:600;line-height:1}.dash-overview-link{text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:6px}.dash-overview-link:hover{-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}.dash-tree-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.dash-tree-row{border-bottom:1px solid var(--border);transition:background var(--duration-fast) ease;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:24px;padding:18px 12px;display:grid}.dash-tree-row:hover{background:var(--surface-hover)}.dash-tree-row-main{gap:4px;min-width:0;display:grid}.dash-tree-row-main strong{overflow-wrap:anywhere;font-weight:600}.dash-tree-row-main span,.dash-tree-row-meta{color:var(--foreground-muted);font-size:var(--text-body-sm)}.dash-tree-row-meta{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.03em;white-space:nowrap}.dash-tree-row-arrow{transition:transform var(--duration-normal) var(--ease-spring)}.dash-tree-row:hover .dash-tree-row-arrow{transform:translate(4px)}.dash-next-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);display:grid}.dash-next-item{border-top:1.5px solid var(--foreground);gap:8px;padding:20px 40px 4px 0;display:grid;position:relative}.dash-next-kicker{letter-spacing:-.02em;font-size:1.125rem;font-weight:600}.dash-next-text{color:var(--foreground-muted);font-size:var(--text-body-sm);max-width:44ch;line-height:1.55}.dash-next-arrow{transition:transform var(--duration-normal) var(--ease-spring);position:absolute;top:20px;right:4px}.dash-next-item:hover .dash-next-arrow{transform:translate(4px)}.dash-create{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.dash-create summary{cursor:pointer;border-radius:var(--radius-lg);gap:4px;padding:20px 64px 20px 22px;list-style:none;display:grid;position:relative}.dash-create summary::-webkit-details-marker{display:none}.dash-create summary:after{content:"+";border:1px solid var(--border-strong);width:30px;height:30px;transition:transform var(--duration-normal) var(--ease-out-expo);border-radius:50%;place-items:center;margin-top:-15px;font-size:18px;line-height:1;display:grid;position:absolute;top:50%;right:22px}.dash-create[open] summary:after{transform:rotate(45deg)}.dash-create summary>span:first-child{letter-spacing:-.015em;font-weight:600}.dash-create-hint{color:var(--foreground-muted);font-size:var(--text-body-sm)}.dash-create-body{max-width:560px;animation:fl-fade-up .28s var(--ease-out-expo);padding:4px 22px 24px}.create-tree-form{gap:16px;display:grid}.field-optional{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;text-transform:uppercase;margin-left:6px;font-weight:400}.dash-empty{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:clamp(28px,5vw,72px);padding:clamp(28px,4vw,56px);display:grid}.dash-empty-title{letter-spacing:-.048em;margin:16px 0 0;font-size:clamp(1.9rem,1.3rem + 2vw,3rem);line-height:1.04}.dash-empty-copy p{max-width:46ch;color:var(--foreground-secondary);margin:16px 0 0;line-height:1.6}.dash-empty-steps{border-top:1px solid var(--border);counter-reset:step;color:var(--foreground-muted);font-size:var(--text-body-sm);gap:10px;margin:24px 0 0;padding:18px 0 0;list-style:none;display:grid}.dash-empty-steps li{counter-increment:step;gap:12px;display:flex}.dash-empty-steps li:before{content:"0" counter(step);color:var(--foreground);font-family:var(--font-mono);font-size:var(--text-caption);padding-top:2px}.dash-empty-form{border-radius:var(--radius-lg);background:var(--background-secondary);padding:clamp(20px,3vw,28px)}@media (max-width:900px){.dash-workspace{grid-template-columns:minmax(0,1fr)}.dash-workspace-art{order:-1;grid-auto-flow:column;justify-content:space-between;min-height:0;padding:24px clamp(28px,4vw,52px)}.dash-glyph{width:96px}.dash-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-overview>div:nth-child(3){border-left:0}.dash-overview>div:nth-child(n+3){border-top:1px solid var(--border)}.dash-next-grid,.dash-empty{grid-template-columns:minmax(0,1fr)}}@media (max-width:620px){.dash-prompt{flex-wrap:wrap}.dash-prompt-action{margin-left:22px}.dash-overview>div{padding:18px 14px}.dash-tree-row{grid-template-columns:minmax(0,1fr) 20px;gap:6px 12px;padding-inline:4px}.dash-tree-row-meta{grid-row:2}.dash-tree-row-arrow{grid-area:1/2/span 2}}@keyframes dash-pulse{0%,to{opacity:1}50%{opacity:.35}}
.bday-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;margin-bottom:16px;display:flex}.bday-head .dash-section-title{margin:0}.bday-tree{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:var(--tracking-caps);text-transform:uppercase;overflow-wrap:anywhere}.bday-trees{flex-wrap:wrap;gap:6px;display:flex}.bday-trees a{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--foreground-secondary);font-size:var(--text-body-sm);transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease, color var(--duration-fast) ease;padding:5px 12px}.bday-trees a:hover{border-color:var(--border-strong);color:var(--foreground)}.bday-trees a[aria-current=true]{border-color:var(--surface-inverse);background:var(--surface-inverse);color:var(--foreground-inverse)}.bday-trees a:focus-visible,.bday-more:focus-visible,.bday-note-link:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.bday-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.bday-row{border-bottom:1px solid var(--border);grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 12px;display:grid}.bday-row.is-today{background:var(--surface-hover)}.bday-avatar{--bday-ring:var(--tree-card-neutral-accent);background:var(--surface-inverse);width:44px;height:44px;color:var(--foreground-inverse);box-shadow:0 0 0 2px var(--background), 0 0 0 3.5px var(--bday-ring);border-radius:50%;place-items:center;font-size:14px;font-weight:600;display:grid;overflow:hidden}.bday-avatar[data-gender=male]{--bday-ring:var(--tree-card-male)}.bday-avatar[data-gender=female]{--bday-ring:var(--tree-card-female)}.bday-avatar img{object-fit:cover;width:100%;height:100%;display:block}.bday-main{gap:3px;min-width:0;display:grid}.bday-main strong{overflow-wrap:anywhere;font-weight:600}.bday-main span{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.03em}.bday-when{color:var(--foreground-secondary);font-size:var(--text-body-sm);white-space:nowrap;font-weight:600}.bday-when[data-soon]{color:var(--foreground)}.bday-row.is-today .bday-when:before{content:"";background:var(--tree-card-female);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.bday-wish-button{white-space:nowrap}.bday-more{color:var(--foreground);font:inherit;font-size:var(--text-body-sm);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:5px;cursor:pointer;background:0 0;border:0;margin-top:14px;padding:0;font-weight:600}.bday-more:hover{-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}.bday-note{border-block:1px solid var(--border);color:var(--foreground-secondary);font-size:var(--text-body-sm);margin:0;padding:18px 0;line-height:1.55}.bday-note p{max-width:62ch;margin:0 0 8px}.bday-note+.bday-list{border-top:0}.bday-note-error{color:var(--danger)}.bday-note-link{color:var(--foreground);font-weight:600}.bday-skeleton .bday-avatar,.bday-skeleton strong,.bday-skeleton .bday-main span{background:var(--surface-sunken);box-shadow:none;animation:1.4s ease-in-out infinite dash-pulse}.bday-skeleton strong{border-radius:4px;width:40%;height:14px}.bday-skeleton .bday-main span{border-radius:4px;width:24%;height:10px}.bday-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-elevated);width:min(560px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--foreground);box-shadow:var(--shadow-elevated);margin:auto;padding:26px 26px 22px;overflow-y:auto}.bday-dialog[open]{animation:fl-fade-in var(--duration-normal) var(--ease-out-expo)}.bday-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08080899}.bday-dialog-eyebrow{color:var(--foreground-muted);font-family:var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;margin-bottom:4px;font-size:11px;display:block}.bday-dialog-head h2{letter-spacing:var(--tracking-heading);overflow-wrap:anywhere;margin:0 0 6px;font-size:clamp(1.3rem,1.15rem + .6vw,1.6rem)}.bday-dialog-head p{color:var(--foreground-muted);font-size:var(--text-body-sm);margin:0 0 18px;line-height:1.5}.bday-dialog-label{color:var(--foreground-secondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.bday-dialog-message{resize:vertical;width:100%;min-height:132px;font-size:15px;line-height:1.5}.bday-dialog-status{min-height:1.5em;color:var(--success);font-size:var(--text-body-sm);margin:8px 0 0}.bday-dialog-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px;padding-top:16px;display:flex}@media (max-width:620px){.bday-row{grid-template-columns:44px minmax(0,1fr) auto;gap:6px 12px;padding-inline:4px}.bday-wish-button{grid-column:2/-1;justify-self:start}.bday-dialog{padding:20px 16px 16px}.bday-dialog-actions .btn{flex:auto}}@media (prefers-reduced-motion:reduce){.bday-skeleton .bday-avatar,.bday-skeleton strong,.bday-skeleton .bday-main span,.bday-dialog[open]{animation:none}}
.discover{padding-top:clamp(40px,5vw,72px)}.discover>*{animation:fl-fade-up .5s var(--ease-out-expo) backwards}.discover>:nth-child(2){animation-delay:60ms}.discover>:nth-child(3){animation-delay:.12s}.discover>:nth-child(4){animation-delay:.18s}.discover-head{margin-bottom:clamp(28px,4vw,44px)}.discover-title{letter-spacing:-.052em;max-width:16ch;margin:16px 0 0;font-size:clamp(2.3rem,1.5rem + 3vw,4rem);font-weight:600;line-height:1.02}.discover-title span{color:var(--foreground-muted)}.discover-lede{max-width:60ch;color:var(--foreground-secondary);font-size:var(--text-body-lg);margin:16px 0 0;line-height:1.55}.search{gap:20px;display:grid}.search-modes{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);justify-self:start;gap:4px;padding:4px;display:inline-flex}.search-modes button{border-radius:var(--radius-pill);min-height:40px;color:var(--foreground-muted);font-size:var(--text-nav);transition:background var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border:0;padding:0 18px;font-weight:500}.search-modes button:hover{color:var(--foreground)}.search-modes button[aria-pressed=true]{background:var(--surface-inverse);color:var(--foreground-inverse)}.search-modes button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.search-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-normal) var(--ease-out-expo);gap:18px;padding:clamp(22px,3.5vw,36px);display:grid}.search-card:focus-within{border-color:var(--border-strong);box-shadow:var(--shadow)}.search-card .input,.search-card .select{min-height:50px;font-size:1rem}.search-primary-field .input{letter-spacing:-.01em;min-height:60px;font-size:clamp(1.1rem,1rem + .5vw,1.35rem)}.search-details-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;display:grid}.search-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;padding-top:6px;display:flex}.search-card-foot p{max-width:52ch;color:var(--foreground-muted);font-size:var(--text-body-sm);margin:0}.search-blocked h2{letter-spacing:-.03em;margin:0;font-size:1.375rem}.search-blocked p{color:var(--foreground-muted);margin:0}.search-blocked .btn{justify-self:start}.search-spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite search-spin}@keyframes search-spin{to{transform:rotate(360deg)}}.search-results{margin-top:12px}.search-results-head{border-bottom:1.5px solid var(--foreground);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;padding-bottom:14px;display:flex}.search-results-head h2{letter-spacing:-.03em;margin:0;font-size:1.375rem}.search-results-count{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.03em}.search-hint{color:var(--foreground-muted);font-size:var(--text-body-sm);margin:14px 0 0}.result-list{margin:0;padding:0;list-style:none}.result{border-bottom:1px solid var(--border);animation:fl-fade-up .42s var(--ease-out-expo) calc(var(--i,0) * 45ms) backwards;grid-template-columns:minmax(0,1fr) 132px 190px;align-items:center;gap:8px 28px;padding:22px 4px;display:grid}.result-main{min-width:0}.result-tree{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase}.result-name{letter-spacing:-.03em;overflow-wrap:anywhere;margin:6px 0 0;font-size:1.3rem}.result-facts,.result-gotra{color:var(--foreground-secondary);font-size:var(--text-body-sm);margin:6px 0 0;line-height:1.5}.result-gotra{color:var(--foreground-muted)}.result-score{gap:4px;display:grid}.result-score-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:600;line-height:1}.result-score-label{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;text-transform:uppercase}.result-score-bar{background:var(--border);height:2px;margin-top:4px;overflow:hidden}.result-score-bar span{background:var(--foreground);transform-origin:0;height:100%;animation:result-bar .7s var(--ease-out-expo) .2s backwards;display:block}@keyframes result-bar{0%{transform:scaleX(0)}}.result-action{grid-column:3;justify-content:flex-end;display:flex}.result-connect{min-width:180px}.result-tag,.result-status{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--foreground-muted);font-size:var(--text-body-sm);white-space:nowrap;align-items:center;gap:6px;padding:7px 12px;display:inline-flex}.result-status-sent{border-color:var(--success-border);background:var(--success-soft);color:var(--success);animation:fl-scale-in .26s var(--ease-spring)}.result-feedback{color:var(--foreground-secondary);font-size:var(--text-body-sm);grid-column:1/-1;margin:0}.result-feedback[role=alert]{border-left:2px solid var(--danger);padding-left:10px}.result-feedback[role=status]{border-left:2px solid var(--border-strong);padding-left:10px}.search-skeleton{margin:0;padding:0;list-style:none}.search-skeleton li{border-bottom:1px solid var(--border);gap:10px;padding:24px 4px;display:grid}.search-skeleton span{background:linear-gradient(90deg, var(--surface-sunken), var(--surface-hover), var(--surface-sunken));background-size:200% 100%;border-radius:6px;height:12px;animation:1.4s ease-in-out infinite search-shimmer}.search-skeleton span:first-child{width:18%;height:9px}.search-skeleton span:nth-child(2){width:42%;height:18px}.search-skeleton span:nth-child(3){width:64%}@keyframes search-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.search-empty{justify-items:start;gap:10px;padding:clamp(28px,4vw,44px) 4px;display:grid}.search-empty h3{letter-spacing:-.025em;margin:0;font-size:1.25rem}.search-empty p{max-width:54ch;color:var(--foreground-muted);margin:0;line-height:1.55}.search-empty .btn{margin-top:6px}@media (max-width:900px){.result{grid-template-columns:minmax(0,1fr) 120px}.result-action{grid-column:1/-1;justify-content:flex-start}}@media (max-width:620px){.search-modes{border-radius:var(--radius-md);grid-template-columns:1fr 1fr;justify-self:stretch;display:grid}.search-modes button{border-radius:var(--radius-sm);min-height:44px;padding:0 10px;line-height:1.2}.search-details-row{grid-template-columns:minmax(0,1fr)}.search-card-foot .btn{width:100%}.result{grid-template-columns:minmax(0,1fr)}.result-score{grid-template-columns:auto auto 1fr;align-items:center;gap:10px}.result-score-bar{margin-top:0}.result-connect,.result-action .result-status,.result-action .result-tag{justify-content:center;width:100%}.result-action .result-connect,.search-empty .btn,.search-blocked .btn{min-height:44px}}
.conn-summary{border-top:1px solid var(--border);color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:8px 28px;margin:22px 0 0;padding-top:18px;display:flex}.conn-summary strong{color:var(--foreground);font-family:var(--font-sans);letter-spacing:-.02em;margin-right:6px;font-size:1.125rem;font-weight:600}.conn-section{margin-top:clamp(32px,4vw,48px)}.conn-section-title{border-bottom:1.5px solid var(--foreground);letter-spacing:-.03em;margin:0;padding-bottom:14px;font-size:1.375rem}.conn-list{margin:0;padding:0;list-style:none}.conn{border-bottom:1px solid var(--border);gap:14px;padding:24px 4px;display:grid}.conn-pair{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:center;gap:16px;display:grid}.conn-person{gap:6px;min-width:0;display:grid}.conn-tree{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.conn-yours{border-radius:var(--radius-pill);background:var(--surface-inverse);color:var(--foreground-inverse);letter-spacing:.04em;padding:2px 7px}.conn-person strong{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:1.2rem;font-weight:600}.conn-link{height:14px;display:block;position:relative}.conn-link span{border-top:1.5px dashed var(--border-strong);position:absolute;top:50%;left:0;right:0}.conn-link:before,.conn-link:after{content:"";border:1.5px solid var(--foreground);background:var(--background);border-radius:50%;width:8px;height:8px;margin-top:-4px;position:absolute;top:50%}.conn-link:before{left:-2px}.conn-link:after{right:-2px}.conn-foot{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 24px;display:grid}.conn-meta,.conn-message{font-size:var(--text-body-sm);grid-column:1;margin:0}.conn-meta{color:var(--foreground-muted);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.03em}.conn-message{color:var(--foreground-secondary)}.conn-actions{grid-area:1/2/span 2;justify-self:end}.conn-status{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--foreground-secondary);font-size:var(--text-body-sm);white-space:nowrap;align-items:center;padding:6px 12px;display:inline-flex}.conn-status-pending{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.conn-status-accepted{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.conn-status-rejected{color:var(--foreground-muted)}.conn-status[role=status]{animation:fl-scale-in .26s var(--ease-spring)}.conn-respond{justify-items:end;gap:8px;display:grid}.conn-respond-buttons{gap:8px;display:flex}.conn-error{border-left:2px solid var(--danger);max-width:34ch;color:var(--foreground-secondary);font-size:var(--text-body-sm);text-align:left;margin:0;padding-left:10px}@media (max-width:620px){.conn-pair{grid-template-rows:auto 18px auto;grid-template-columns:14px minmax(0,1fr);gap:0 14px}.conn-pair>.conn-person:first-child{grid-area:1/2}.conn-pair>.conn-person:last-child{grid-area:3/2}.conn-link{grid-area:1/1/span 3;align-self:stretch;width:14px;height:auto}.conn-link span{border-top:0;border-left:1.5px dashed var(--border-strong);inset:8px auto 8px 50%}.conn-link:before,.conn-link:after{margin-left:-4px;left:50%;right:auto}.conn-link:before{margin-top:0;top:4px}.conn-link:after{margin-top:0;top:auto;bottom:4px}.conn-foot{grid-template-columns:minmax(0,1fr)}.conn-actions{grid-area:auto/1;justify-self:stretch;margin-top:8px}.conn-respond{justify-items:stretch}.conn-respond-buttons .btn{flex:1;min-height:44px}}
.tree-title{flex-wrap:wrap;align-items:baseline;column-gap:14px;display:flex}.tree-title h1{overflow-wrap:anywhere;min-width:0}.tree-title-rename{border-radius:var(--radius-pill);color:var(--foreground-muted);font-family:var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;cursor:pointer;transition:color var(--duration-fast) ease, border-color var(--duration-fast) ease, background var(--duration-fast) ease;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:500;display:inline-flex}.tree-title-rename svg{width:13px;height:13px}.tree-title-rename:hover{border-color:var(--border-strong);background:var(--surface);color:var(--foreground)}.tree-title-rename:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tree-title-status{min-height:0;color:var(--success);font-size:var(--text-body-sm);flex-basis:100%}.tree-title-status:empty{display:none}.tree-title-form{max-width:640px;margin:10px 0 8px}.tree-title-label{color:var(--foreground-muted);font-family:var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:500;display:block}.tree-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tree-title-input{min-width:0;letter-spacing:var(--tracking-heading);flex:280px;font-size:1.25rem;font-weight:600}.tree-title-hint,.tree-title-error{font-size:var(--text-body-sm);margin:8px 0 0}.tree-title-hint{color:var(--foreground-muted)}.tree-title-error{color:var(--danger);font-weight:500}
.tree-workspace{width:100%;min-width:0;min-height:620px;position:relative;overflow:visible}@media (min-width:901px){:root{--tree-page-width:min(1840px, calc(100% - 48px))}.container.tree-page{width:var(--tree-page-width)}body:has(main.tree-page) .site-header>.container{width:var(--tree-page-width)}body:has(main.tree-page) .footer>.container{width:var(--tree-page-width)}.tree-workspace{--tree-panel-width:380px;--tree-canvas-height:clamp(620px, calc(100vh - 150px), 920px)}}.person-detail-panel{z-index:40;border:1px solid var(--border);background:var(--surface-elevated);width:370px;height:min(620px,100vh - 150px);max-height:620px;color:var(--foreground);box-shadow:var(--shadow-elevated);-webkit-user-select:text;user-select:text;touch-action:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;border-radius:18px;padding:22px;position:absolute;top:0;left:0;overflow:hidden auto}.person-detail-panel::-webkit-scrollbar{width:7px}.person-detail-panel::-webkit-scrollbar-track{background:0 0}.person-detail-panel::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.person-detail-panel::-webkit-scrollbar-thumb:hover{background:var(--foreground-muted)}@keyframes personPanelSlideIn{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}@keyframes personPanelSlideDown{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@media (min-width:901px){.person-detail-panel{animation:personPanelSlideIn .42s var(--ease-out-expo) both;transform-origin:0}}@media (max-width:900px){.person-detail-panel{animation:personPanelSlideDown .26s var(--ease-out-expo) both}}@media (min-width:901px){.tree-workspace:has(>.person-detail-panel){grid-template-columns:var(--tree-panel-width) minmax(0, 1fr);align-items:stretch;column-gap:18px;display:grid}.tree-workspace>.person-detail-panel{width:auto;min-width:0;height:var(--tree-canvas-height);z-index:2;max-height:none;position:relative;top:auto;left:auto}.tree-workspace>.tree-canvas{min-width:0}}@media (min-width:901px) and (max-width:1100px){.tree-workspace{--tree-panel-width:340px}}@media (max-width:900px){.tree-workspace:has(>.person-detail-panel){width:100%;margin-left:0;padding-left:0}.person-detail-panel{width:350px}}@media (max-width:700px){.tree-workspace{flex-direction:column;gap:12px;min-height:0;display:flex;overflow:visible;width:100%!important;margin-left:0!important;padding-left:0!important}.person-detail-panel{border-radius:15px;order:1;width:100%;height:auto;max-height:450px;padding:18px;position:relative;top:auto;left:auto}}@media (max-width:900px){.tree-workspace:has(.person-detail-panel){width:100%!important;margin-left:0!important;padding:0!important}.tree-workspace:has(.person-detail-panel) .person-detail-panel{width:100%!important;height:auto!important;max-height:450px!important;margin-bottom:12px!important;position:relative!important;top:auto!important;left:auto!important}.tree-workspace:has(.person-detail-panel)>.tree-canvas{width:100%!important;min-height:520px!important}}
.tree-workspace>.tree-canvas{width:100%;min-width:0;min-height:620px;height:var(--tree-canvas-height,clamp(440px, calc(100vh - 150px), 920px));border:1px solid var(--tree-canvas-edge);background:radial-gradient(ellipse 70% 55% at 50% 0%, var(--tree-canvas-glow), transparent 70%), radial-gradient(ellipse 120% 100% at 50% 50%, transparent 55%, var(--tree-canvas-vignette) 100%), radial-gradient(circle at 1px 1px, var(--tree-canvas-grain) 1px, transparent 0) 0 0 / 22px 22px, var(--tree-canvas);color:var(--tree-chrome-text);box-shadow:inset 0 1px 0 #ffffff0a, var(--shadow-elevated);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;isolation:isolate;border-radius:18px;padding:12px;position:relative;overflow:hidden}.tree-workspace>.tree-canvas:focus:not(:focus-visible){outline:none}.tree-canvas{position:relative}.tree-canvas-dragging{cursor:grabbing}.tree-stage{transform-origin:0 0;will-change:transform;min-width:900px;position:absolute;top:0;left:0}.tree-canvas:not(.tree-canvas-dragging) .tree-stage{transition:transform var(--duration-normal) var(--ease-out-expo)}.tree-svg{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:visible}.relationship-connector{fill:none;stroke:var(--tree-connector);stroke-width:var(--tree-connector-width);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.relationship-connector-dashed{stroke-dasharray:4 4}.relationship-connector-missing-parent{stroke:var(--tree-connector-soft)}.tree-generation{z-index:3;pointer-events:none;justify-content:center;height:24px;display:flex;position:absolute;left:0;right:0}.generation-title{border:1px solid var(--tree-chrome-border);background:var(--tree-chrome);min-height:24px;color:var(--tree-chrome-muted);font-family:var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:4px 11px;font-size:10px;font-weight:500;display:inline-flex}.tree-node{z-index:5;position:absolute}.person-node{--gender-accent:var(--tree-card-neutral-accent);--gender-accent-strong:var(--tree-card-neutral-strong);--gender-tint:var(--tree-card-neutral-tint);--gender-ring:var(--tree-card-neutral-soft);border:2px solid var(--gender-accent);background:var(--gender-tint);width:100%;height:100%;color:var(--tree-card-text);box-shadow:var(--tree-card-shadow);cursor:pointer;transition:box-shadow var(--duration-normal) var(--ease-out-expo), border-color var(--duration-fast) ease;border-radius:6px;align-items:center;gap:12px;padding:10px 30px 10px 12px;display:flex;position:relative}.person-node:before{content:"";background:var(--gender-accent);pointer-events:none;width:4px;transition:background var(--duration-fast) ease, width var(--duration-normal) var(--ease-out-expo);border-radius:3px 0 0 3px;position:absolute;top:0;bottom:0;left:0}.person-node-male{--gender-accent:var(--tree-card-male);--gender-accent-strong:var(--tree-card-male-strong);--gender-tint:var(--tree-card-male-tint);--gender-ring:var(--tree-card-male-soft)}.person-node-female{--gender-accent:var(--tree-card-female);--gender-accent-strong:var(--tree-card-female-strong);--gender-tint:var(--tree-card-female-tint);--gender-ring:var(--tree-card-female-soft)}.person-node:hover{border-color:var(--gender-accent-strong);box-shadow:var(--tree-card-shadow-hover)}.person-node:hover:before,.person-node-selected:before{background:var(--gender-accent-strong);width:6px}.person-node:focus-visible{outline:2px solid var(--tree-focus);outline-offset:3px}.person-node-selected,.person-node-selected:hover{border-color:var(--gender-accent-strong);box-shadow:0 0 0 2px var(--tree-canvas), 0 0 0 4px var(--tree-connector), var(--tree-card-shadow-hover)}.person-node-avatar{border:1px solid var(--gender-accent);background:var(--tree-avatar-bg);width:56px;height:56px;box-shadow:0 0 0 3px var(--gender-ring);transition:box-shadow var(--duration-normal) var(--ease-out-expo);border-radius:50%;flex:0 0 56px;position:relative}.person-node:hover .person-node-avatar,.person-node-selected .person-node-avatar{box-shadow:0 0 0 2px var(--gender-accent)}.person-node-avatar>svg{border-radius:50%;width:100%;height:100%}.person-node-avatar>img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.person-node-camera{border:1px solid var(--tree-avatar-border);background:var(--tree-avatar-bg);width:20px;height:20px;color:var(--tree-avatar-icon);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-3px}.person-node-camera svg{width:12px;height:12px}.person-node-content{flex:1;min-width:0}.person-node-name{-webkit-line-clamp:3;color:var(--tree-card-text);letter-spacing:-.01em;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.person-node-year{color:var(--tree-card-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11.5px;line-height:1.2}.person-node-edit{width:20px;height:20px;color:var(--tree-card-icon);cursor:pointer;transition:color var(--duration-fast) ease, background var(--duration-fast) ease;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid;position:absolute;bottom:6px;right:6px}.person-node-edit svg{width:13px;height:13px}.person-node-edit:hover{color:var(--tree-card-ink);background:var(--tree-card-control-hover)}.person-node-edit:focus-visible{outline:2px solid var(--tree-card-ink);outline-offset:1px}.person-node-add{background:var(--tree-card);width:42px;height:18px;color:var(--tree-card-text);clip-path:polygon(0 0,100% 0,100% 45%,50% 100%,0 45%);filter:drop-shadow(0 1px 1px #0006);cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease;border:0;place-items:center;padding:0 0 3px;font-size:17px;font-weight:400;line-height:1;display:grid;position:absolute;bottom:-19px;left:50%;transform:translate(-50%)}.person-node-add:hover{color:var(--tree-card-ink);background:var(--tree-card-hover)}.person-node-add:focus-visible{background:var(--tree-card-hover);color:var(--tree-card-ink);outline:none}.tree-placeholder{z-index:4;position:absolute}.placeholder-node{border:1.5px dashed var(--tree-placeholder-border);width:100%;height:100%;color:var(--tree-placeholder-text);cursor:pointer;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px;display:flex}.placeholder-node:hover{border-color:var(--tree-connector);color:var(--tree-connector);background:#ffffff0d}.placeholder-node:focus-visible{outline:2px solid var(--tree-focus);outline-offset:3px}.placeholder-icon{transition:transform var(--duration-normal) var(--ease-spring);font-size:26px;font-weight:300;line-height:1}.placeholder-node:hover .placeholder-icon{transform:rotate(90deg)}.placeholder-node span{white-space:nowrap;font-size:12px}.branch-indicator{z-index:6;cursor:pointer;background:0 0;border:0;align-items:center;padding:4px;display:flex;position:absolute;transform:translate(-50%,-50%)}.branch-indicator-dot{background:var(--tree-indicator);width:13px;height:8px;transition:background var(--duration-fast) ease;border-radius:3px}.branch-indicator-link{background:var(--tree-indicator);width:4px;height:2px;transition:background var(--duration-fast) ease}.branch-indicator:hover .branch-indicator-dot,.branch-indicator:hover .branch-indicator-link,.branch-indicator:focus-visible .branch-indicator-dot,.branch-indicator:focus-visible .branch-indicator-link{background:var(--tree-connector)}.branch-indicator:focus-visible{outline:2px solid var(--tree-focus);outline-offset:2px;border-radius:4px}.branch-indicator-tooltip{background:var(--tree-card);width:max-content;max-width:220px;color:var(--tree-card-text);text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-fast) ease, transform var(--duration-normal) var(--ease-out-expo), visibility var(--duration-fast) ease;border-radius:8px;padding:11px 16px;font-size:12.5px;font-weight:400;line-height:1.45;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 10px 30px #00000080}.branch-indicator:hover .branch-indicator-tooltip,.branch-indicator:focus-visible .branch-indicator-tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.tree-canvas-toolbar{z-index:30;border-bottom:1px solid var(--tree-chrome-border);background:var(--tree-chrome);-webkit-backdrop-filter:blur(14px);cursor:default;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;display:flex;position:absolute;top:0;left:0;right:0}.tree-canvas-count{color:var(--tree-chrome-muted);font-family:var(--font-mono);letter-spacing:.03em;font-size:12px}.tree-find{border:1px solid var(--tree-chrome-border);width:min(260px,55%);height:34px;color:var(--tree-connector);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:inherit;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease, box-shadow var(--duration-normal) var(--ease-out-expo);background:#ffffff0d;border-radius:999px;padding:0 14px;font-size:13px}.tree-find::placeholder{color:var(--tree-chrome-muted)}.tree-find:hover{border-color:#ffffff38}.tree-find:focus{border-color:var(--tree-focus);background:#ffffff14;outline:none;box-shadow:0 0 0 4px #ffffff14}.tree-map-controls{z-index:30;cursor:default;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:16px;right:16px}.tree-map-zoom{border:1px solid var(--tree-chrome-border);border-radius:10px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 6px 18px #00000073}.tree-map-zoom .tree-map-control{box-shadow:none;border:0;border-radius:0}.tree-map-zoom .tree-map-control+.tree-map-control{border-top:1px solid var(--tree-chrome-border)}.tree-map-control{border:1px solid var(--tree-chrome-border);background:var(--tree-chrome-control);width:34px;height:34px;color:var(--tree-chrome-text);cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease, transform var(--duration-normal) var(--ease-spring);border-radius:10px;place-items:center;padding:0;font-size:18px;line-height:1;display:grid;box-shadow:0 6px 18px #00000073}.tree-map-control svg{width:16px;height:16px}.tree-map-control:hover{background:var(--tree-chrome-control-hover);color:var(--tree-connector)}.tree-map-control:active{transform:scale(.92)}.tree-map-control:focus-visible{outline:2px solid var(--tree-focus);outline-offset:2px}@media (max-width:700px){.tree-workspace>.tree-canvas{border-radius:14px;order:2;width:100%;min-height:520px}.tree-stage{min-width:900px}}@media (max-width:620px){.tree-canvas{min-height:460px;padding:8px}}
.quick-add-overlay{--qa-line:var(--tree-connector-soft);z-index:9999;width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.quick-add-backdrop{-webkit-backdrop-filter:blur(6px);animation:fl-fade-in var(--duration-normal) ease;background:radial-gradient(60% 50% at 50% 45%,#ffffff0d,#0000 70%),#080808db;position:absolute;inset:0}.quick-add-layout{position:absolute;inset:0;overflow:hidden}.quick-add-close{z-index:100;color:var(--tree-connector);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-family:inherit;font-size:15px;font-weight:400;display:inline-flex;position:absolute;top:24px;right:26px}.quick-add-close span:last-child{font-size:23px;line-height:1}.quick-add-close:hover{opacity:.8}.quick-add-close:focus-visible{outline:2px solid var(--tree-focus);outline-offset:4px}.quick-add-stage{transform-origin:50%;z-index:10;width:760px;height:430px;animation:fl-fade-in var(--duration-slow) var(--ease-out-expo);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.quick-add-card{z-index:20;width:205px;height:56px;position:absolute}.quick-add-card>button{box-sizing:border-box;border:1.5px solid var(--tree-card-male);background:var(--tree-card);width:100%;height:100%;color:var(--tree-card-text);text-align:left;cursor:pointer;box-shadow:var(--tree-card-shadow);transition:transform var(--duration-normal) var(--ease-spring), box-shadow var(--duration-normal) var(--ease-out-expo), background var(--duration-fast) ease;border-radius:8px;align-items:center;gap:12px;padding:7px 12px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.quick-add-card>button:hover{background:var(--tree-card-hover);box-shadow:var(--tree-card-shadow-hover);transform:translateY(-2px)}.quick-add-card>button:active{transform:translateY(0)scale(.98)}.quick-add-card>button:focus-visible{outline:2px solid var(--tree-focus);outline-offset:3px}.quick-add-card-mother>button,.quick-add-card-sister>button,.quick-add-card-daughter>button,.quick-add-card-partner>button{border-color:var(--tree-card-female)}.quick-add-card-content{flex-direction:column;flex:1;justify-content:center;gap:1px;min-width:0;display:flex;overflow:hidden}.quick-add-card-content strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;line-height:16px;display:block;overflow:hidden}.quick-add-card-content small{color:var(--tree-card-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-style:normal;line-height:13px;display:block;overflow:hidden}.quick-add-option-avatar{border:1px solid var(--tree-avatar-border);background:var(--tree-avatar-bg);width:38px;min-width:38px;height:38px;color:var(--tree-card-icon);border-radius:50%;place-items:center;font-size:17px;font-weight:400;line-height:1;display:grid}.quick-add-card-father{top:38px;left:167px}.quick-add-card-mother{top:38px;left:404px}.quick-add-card-brother{top:138px;left:0}.quick-add-card-sister{top:227px;left:0}.quick-add-card-partner{width:225px;height:64px;top:179px;left:520px}.quick-add-card-son{top:325px;left:167px}.quick-add-card-daughter{top:325px;left:404px}.quick-add-center{z-index:30;width:230px;height:112px;position:absolute;top:155px;left:265px}.quick-add-selected-person{box-sizing:border-box;border:1.5px solid var(--tree-card-text);background:var(--tree-card-hover);width:100%;height:100%;box-shadow:0 0 0 2px var(--tree-canvas), 0 0 0 4px var(--tree-connector), var(--tree-card-shadow-hover);border-radius:8px;align-items:center;gap:14px;padding:12px 15px;display:flex}.quick-add-selected-avatar{border:1px solid var(--tree-card-ink);background:var(--tree-card-ink);width:52px;min-width:52px;height:52px;color:var(--tree-card);border-radius:50%;place-items:center;font-size:17px;font-weight:500;display:grid}.quick-add-selected-content{flex:1;min-width:0;overflow:hidden}.quick-add-selected-name{color:var(--tree-card-text);white-space:normal;overflow-wrap:break-word;font-size:14px;font-weight:600;line-height:17px}.quick-add-selected-meta{color:var(--tree-card-muted);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:11.5px;line-height:15px;overflow:hidden}.quick-add-connector{z-index:1;pointer-events:none;position:absolute}.quick-add-connector-top{background: linear-gradient(var(--qa-line), var(--qa-line)) 0 0 / 2px 12px no-repeat,  linear-gradient(var(--qa-line), var(--qa-line)) 100% 0 / 2px 12px no-repeat,  linear-gradient(var(--qa-line), var(--qa-line)) 0 12px / 100% 2px no-repeat,  linear-gradient(var(--qa-line), var(--qa-line)) 50% 12px / 2px calc(100% - 12px) no-repeat;width:237px;height:61px;top:94px;left:269.5px}.quick-add-connector-left{background: linear-gradient(var(--qa-line), var(--qa-line)) 0 0 / 103px 2px no-repeat,  linear-gradient(var(--qa-line), var(--qa-line)) 0 100% / 103px 2px no-repeat,  linear-gradient(var(--qa-line), var(--qa-line)) 102px 0 / 2px 100% no-repeat,  linear-gradient(var(--qa-line), var(--qa-line)) 102px 50% / 66px 2px no-repeat;width:168px;height:90px;top:166px;left:102px}.quick-add-connector-right{background:var(--qa-line);width:25px;height:2px;top:210px;left:495px}.quick-add-connector-bottom{background: linear-gradient(var(--qa-line), var(--qa-line)) 50% 0 / 2px 46px no-repeat,  linear-gradient(var(--qa-line), var(--qa-line)) 0 46px / 100% 2px no-repeat,  linear-gradient(var(--qa-line), var(--qa-line)) 0 46px / 2px 12px no-repeat,  linear-gradient(var(--qa-line), var(--qa-line)) 100% 46px / 2px 12px no-repeat;width:237px;height:58px;top:267px;left:269.5px}.quick-add-form-shell{z-index:200;background:var(--background);color:var(--foreground);animation:fl-fade-in var(--duration-normal) ease;padding:40px;position:absolute;inset:0;overflow-y:auto}.quick-add-form-close{z-index:10;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);width:40px;height:40px;color:var(--foreground-muted);cursor:pointer;transition:color var(--duration-fast) ease, transform var(--duration-normal) var(--ease-spring);place-items:center;font-size:22px;line-height:1;display:grid;position:absolute;top:20px;right:25px}.quick-add-form-close:hover{color:var(--foreground);transform:rotate(90deg)}.quick-add-form-header{margin-bottom:25px}.quick-add-form-eyebrow{color:var(--foreground-muted);font-family:var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:500;display:block}.quick-add-form-header h2{color:var(--foreground);letter-spacing:var(--tracking-heading);margin:0 0 6px;font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem)}.quick-add-form-header p{color:var(--foreground-muted);margin:0;font-size:14px}@media (max-width:900px){.quick-add-stage{transform:translate(-50%,-50%)scale(.82)}}@media (max-width:650px){.quick-add-stage{transform:translate(-50%,-50%)scale(.62)}}
.pr-panel{--pr-pad:22px;scroll-margin-top:84px}.pr-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pr-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.pr-eyebrow,.pr-section-title,.pr-fieldset>legend,.pr-add-section>legend,.pr-choice-legend{color:var(--foreground-muted);font-family:var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;font-size:10.5px;font-weight:500}.pr-close{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--foreground-muted);cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease, border-color var(--duration-fast) ease;background:0 0;border:1px solid #0000;flex:0 0 44px;place-items:center;margin:-6px -8px -6px 0;padding:0;font-size:24px;line-height:1;display:grid}.pr-close:hover:not(:disabled){border-color:var(--border);background:var(--surface-hover);color:var(--foreground)}.pr-close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.pr-close:disabled{opacity:.4;cursor:not-allowed}.pr-identity{align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--border);display:flex}.pr-avatar{--pr-gender:var(--tree-card-neutral-accent);background:var(--surface-inverse);width:56px;height:56px;color:var(--foreground-inverse);letter-spacing:.02em;box-shadow:0 0 0 2px var(--surface-elevated), 0 0 0 4px var(--pr-gender);border-radius:50%;flex:0 0 56px;place-items:center;font-size:17px;font-weight:600;display:grid}.pr-avatar[data-gender=male]{--pr-gender:var(--tree-card-male)}.pr-avatar[data-gender=female]{--pr-gender:var(--tree-card-female)}.pr-identity-text{flex:1;min-width:0;padding-top:2px}.pr-identity h2{color:var(--foreground);letter-spacing:var(--tracking-heading);overflow-wrap:anywhere;outline:none;margin:0;font-size:26px;font-weight:600;line-height:1.12}.pr-identity h2:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--focus);outline-offset:3px}.pr-lifeline{color:var(--foreground-secondary);font-size:var(--text-body-sm);margin:6px 0 0;line-height:1.45}.pr-tags{margin:var(--space-3) 0 0;flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.pr-tags li{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--background-secondary);color:var(--foreground-secondary);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.03em;padding:3px 9px}.pr-notice-region:empty{display:none}.pr-notice{margin:var(--space-4) 0 0;border:1px solid var(--success-border);border-radius:var(--radius-sm);background:var(--success-soft);color:var(--success);font-size:var(--text-body-sm);animation:fl-fade-up var(--duration-normal) var(--ease-out-expo);align-items:center;gap:8px;padding:9px 12px;font-weight:500;display:flex}.pr-body>.pr-section{animation:fl-fade-up var(--duration-slow) var(--ease-out-expo) backwards}.pr-body>.pr-section:nth-child(2){animation-delay:40ms}.pr-body>.pr-section:nth-child(3){animation-delay:80ms}.pr-body>.pr-section:nth-child(4){animation-delay:.12s}.pr-body>.pr-section:nth-child(5){animation-delay:.16s}.pr-section{padding:var(--space-5) 0;border-bottom:1px solid var(--border)}.pr-section:last-child{border-bottom:0}.pr-section-title{margin:0 0 var(--space-3)}.pr-facts{gap:10px;margin:0;display:grid}.pr-fact{gap:var(--space-3);grid-template-columns:112px minmax(0,1fr);align-items:baseline;display:grid}.pr-fact dt{color:var(--foreground-muted);font-size:12px}.pr-fact dd{min-width:0;color:var(--foreground);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:500;line-height:1.4}.pr-missing{color:var(--foreground-muted);margin:10px 0 0;font-size:12px;line-height:1.5}.pr-missing span{color:var(--foreground-secondary);margin-right:6px;font-weight:600}.pr-facts+.pr-missing{margin-top:12px}.pr-none{color:var(--foreground-muted);margin:0;font-size:12.5px}.pr-notes{color:var(--foreground);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13.5px;line-height:1.65}.pr-family{gap:var(--space-4);display:grid}.pr-family-title{color:var(--foreground);letter-spacing:-.01em;align-items:center;gap:8px;margin:0 0 8px;font-size:13px;font-weight:600;display:flex}.pr-count{border-radius:var(--radius-pill);background:var(--surface-sunken);min-width:20px;color:var(--foreground-muted);font-family:var(--font-mono);text-align:center;padding:1px 6px;font-size:10.5px;font-weight:500}.pr-members{gap:2px;margin:0;padding:0;list-style:none;display:grid}.pr-member{border-radius:var(--radius-sm);align-items:center;gap:10px;min-height:40px;padding:4px 8px 4px 4px;display:flex}.pr-member-avatar{border:1px solid var(--border);background:var(--background-secondary);width:30px;height:30px;color:var(--foreground-secondary);border-radius:50%;flex:0 0 30px;place-items:center;font-size:11px;font-weight:600;display:grid}.pr-member-name{min-width:0;color:var(--foreground);overflow-wrap:anywhere;flex:1;font-size:13.5px;font-weight:500}.pr-member-role{color:var(--foreground-muted);font-family:var(--font-mono);letter-spacing:.04em;font-size:10.5px}.pr-member-link{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease;background:0 0;border:1px solid #0000}.pr-member-link:hover{border-color:var(--border);background:var(--surface-hover)}.pr-member-link:hover .pr-member-name{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.pr-member-link:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.pr-member-link:active{background:var(--surface-sunken)}.pr-member-chevron{color:var(--foreground-muted);transition:transform var(--duration-normal) var(--ease-spring);font-size:18px;line-height:1}.pr-member-link:hover .pr-member-chevron{color:var(--foreground);transform:translate(2px)}.pr-actions{padding-top:var(--space-5);justify-content:flex-end;align-items:center;gap:10px;display:flex}.pr-panel .btn,.pr-add-form .btn{min-height:44px}.pr-actions-sticky,.pr-form>.pr-actions,.pr-confirm{bottom:calc(var(--pr-pad) * -1);z-index:2;margin:0 calc(var(--pr-pad) * -1) calc(var(--pr-pad) * -1);padding:14px var(--pr-pad) var(--pr-pad);border-top:1px solid var(--border);background:var(--surface-elevated);position:sticky}.btn.pr-btn-delete{--btn-fg:var(--danger);margin-right:auto;padding:0 14px}.btn.pr-btn-delete:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.pr-btn-destructive{--btn-bg:var(--danger);--btn-fg:var(--foreground-inverse);--btn-bg-hover:var(--danger)}.pr-btn-destructive:hover:not(:disabled){opacity:.92}@keyframes pr-spin{to{transform:rotate(360deg)}}.pr-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:0 0 14px;width:14px;height:14px;animation:.7s linear infinite pr-spin}.pr-confirm{border-top-color:var(--danger-border);box-shadow:var(--shadow);animation:fl-fade-up var(--duration-normal) var(--ease-out-expo)}.pr-confirm-title{margin:0 0 var(--space-2);color:var(--foreground);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.3}.pr-confirm-body{color:var(--foreground-secondary);font-size:12.5px;line-height:1.55}.pr-confirm-body p{margin:0}.pr-confirm-body ul{margin:6px 0 10px;padding-left:18px}.pr-confirm-body li+li{margin-top:3px}.pr-confirm-warning{color:var(--danger);font-weight:500}.pr-confirm .pr-actions{padding-top:var(--space-4)}.pr-toast{left:50%;bottom:max(24px, env(safe-area-inset-bottom));z-index:10000;border-radius:var(--radius-pill);background:var(--surface-inverse);max-width:min(92vw,440px);color:var(--foreground-inverse);box-shadow:var(--shadow-elevated);font-size:var(--text-body-sm);text-align:center;animation:pr-toast-in var(--duration-normal) var(--ease-out-expo);transition:opacity var(--duration-normal) ease;padding:12px 18px;font-weight:500;position:fixed;transform:translate(-50%)}.pr-toast-leaving{opacity:0}@keyframes pr-toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:700px){.pr-panel{--pr-pad:18px}.pr-identity h2{font-size:22px}.pr-fact{grid-template-columns:100px minmax(0,1fr)}}
