.kin{background:var(--surface);flex:auto;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.kin__bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 14px;display:flex}.kin-select{align-items:center;gap:8px;min-width:0;display:inline-flex}.kin-select__label{font:600 10.5px/1 var(--font-ui,Inter, system-ui, sans-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.kin-select select{appearance:none;border:1px solid var(--border);background:linear-gradient(45deg, transparent 50%, var(--gold) 50%) calc(100% - 17px) 55% / 5px 5px no-repeat, linear-gradient(135deg, var(--gold) 50%, transparent 50%) calc(100% - 12px) 55% / 5px 5px no-repeat, var(--background);min-width:0;max-width:min(58vw,320px);color:var(--foreground);font:500 13.5px/1.2 var(--font-ui,Inter, system-ui, sans-serif);text-overflow:ellipsis;cursor:pointer;padding:8px 32px 8px 12px}.kin-select select:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.kin-chip{border:1px solid var(--border);color:var(--foreground-muted);font:500 13px/1.2 var(--font-ui,Inter, system-ui, sans-serif);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:7px 12px;display:inline-flex}.kin-chip[aria-pressed=true]{border-color:var(--gold-border);background:var(--gold-dim);color:var(--foreground)}.kin-chip:hover{border-color:var(--gold-border)}.kin-partner{align-items:center;gap:6px;min-width:0;display:inline-flex}.kin-step{border:1px solid var(--border);width:34px;height:34px;color:var(--foreground-muted);cursor:pointer;background:0 0;flex:none;place-items:center;display:grid}.kin-step:hover:not(:disabled){border-color:var(--gold-border);color:var(--gold)}.kin-step:disabled{opacity:.35;cursor:default}.kin-step--next svg{transform:scaleX(-1)}.kin__mode{font:600 10.5px/1 var(--font-ui,Inter, system-ui, sans-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:help;align-items:center;gap:7px;margin-left:auto;display:inline-flex}.kin__mode:before{content:"";background:var(--border-strong);border-radius:50%;width:7px;height:7px}.kin__mode[data-divine]:before{background:var(--gold)}.kin__canvas{cursor:grab;touch-action:none;background-color:var(--background);background-image:radial-gradient(color-mix(in srgb, var(--foreground) 10%, transparent) 1px, transparent 1.2px);background-size:22px 22px;min-height:0;position:relative;overflow:hidden}.kin__canvas:active{cursor:grabbing}.kin__canvas:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.kin__content{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.kin__content[data-animate]{transition:transform .42s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.kin__content[data-animate]{transition:none}}.kin__lines{pointer-events:none;position:absolute;inset:0;overflow:visible}.kin-line{stroke-linecap:round;fill:none}.kin-line--lineage{stroke:color-mix(in srgb, var(--border-strong) 80%, transparent);stroke-width:1.4px}.kin-line--marriage{stroke:var(--gold);stroke-width:1.8px}.kin-ring{fill:var(--background);stroke:var(--gold);stroke-width:1.6px}.kin-card{border:1px solid var(--border);background:var(--surface);color:var(--foreground);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:5px;padding:10px 8px 8px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:absolute}.kin-card:hover{border-color:var(--gold-border);box-shadow:var(--shadow-sm)}.kin-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.kin-card[data-selected]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), var(--shadow-md)}.kin-card[data-busy]{opacity:.7}.kin-card[data-role=focus]{border-color:var(--gold);background:var(--surface-elevated);box-shadow:inset 0 0 0 3px var(--surface-elevated), inset 0 0 0 4px var(--gold-border), var(--shadow-md)}.kin-card__term{font:600 9.5px/1.1 var(--font-ui,Inter, system-ui, sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.kin-card__name{font:500 14px/1.18 var(--font-display,"Playfair Display", Georgia, serif);color:var(--foreground);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kin-card[data-role=focus] .kin-card__name{font-weight:600}.kin-card[aria-current]{cursor:default}.kin-card:not([aria-current]):hover{transform:translateY(-2px)}.kin-card--more{background:0 0;border-style:dashed;justify-content:center}.kin-card__count{font:500 30px/1 var(--font-display,"Playfair Display", Georgia, serif);color:var(--gold)}.kin-portrait{background:linear-gradient(180deg, var(--gold-dim), var(--surface-hover));width:84px;height:88px;box-shadow:inset 0 0 0 1px var(--gold-border);border-radius:42px 42px 3px 3px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.kin-portrait img{object-fit:cover;object-position:50% 18%;opacity:0;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.kin-portrait[data-loaded] img{opacity:1}.kin-portrait__initials{font:500 24px/1 var(--font-display,"Playfair Display", Georgia, serif);color:var(--gold);letter-spacing:.02em}.kin-climb{z-index:2;width:28px;height:28px;transform:scale(var(--kin-inv,1));border:1px solid var(--gold-border);background:var(--surface-elevated);color:var(--gold);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;margin:-14px 0 0 -14px;display:grid;position:absolute}.kin-climb:hover{background:var(--gold-dim);border-color:var(--gold)}.kin-climb[data-open]{background:var(--gold);color:var(--background);border-color:var(--gold)}.kin-climb[data-locked]{color:var(--muted);border-color:var(--border)}.kin-climb[data-locked] svg{width:12px;height:12px}.kin-gate{place-items:center;display:inline-grid}:root:is([data-hq-plan=plus],[data-hq-plan=pro]) .kin-climb[data-locked],:root[data-beliefs-member]:not([data-hq-auth]):not([data-hq-plan]) .kin-climb[data-locked]{color:var(--gold);border-color:var(--gold-border)}:root:is([data-hq-plan=plus],[data-hq-plan=pro]) .kin-climb[data-locked] svg,:root[data-beliefs-member]:not([data-hq-auth]):not([data-hq-plan]) .kin-climb[data-locked] svg{width:16px;height:16px}.kin-climb__spin{border:1.5px solid var(--gold-border);border-top-color:var(--gold);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite kin-spin}@keyframes kin-spin{to{transform:rotate(360deg)}}.kin__tools{border:1px solid var(--border);background:var(--border);box-shadow:var(--shadow-sm);gap:1px;display:grid;position:absolute;top:12px;right:12px}.kin__tools button{background:var(--surface-elevated);width:34px;height:34px;color:var(--foreground-muted);cursor:pointer;border:0;place-items:center;display:grid}.kin__tools button:hover{color:var(--foreground);background:var(--surface-hover)}.kin__tools button[aria-pressed=true]{color:var(--gold)}.kin-panel{z-index:3;border:1px solid var(--border);background:var(--surface-elevated);width:min(300px,100% - 82px);max-height:calc(100% - 24px);box-shadow:var(--shadow-lg);cursor:default;padding:16px;animation:.2s kin-in;position:absolute;top:12px;right:58px;overflow:auto}@keyframes kin-in{0%{opacity:0;transform:translateY(4px)}}.kin-panel__close{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:8px;right:8px}.kin-panel__head{align-items:center;gap:14px;padding-right:22px;display:flex}.kin-panel__head .kin-portrait{border-radius:32px 32px 3px 3px;width:64px;height:72px}.kin-panel__term{font:600 10px/1.2 var(--font-ui,Inter, system-ui, sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 4px}.kin-panel__name{font:500 21px/1.15 var(--font-display,"Playfair Display", Georgia, serif);color:var(--foreground);margin:0}.kin-panel__desc{color:var(--foreground-muted);margin:12px 0 0;font-size:13.5px;line-height:1.5}.kin-panel__actions{gap:8px;margin-top:14px;display:grid}.kin-btn{border:1px solid var(--border);color:var(--foreground);font:600 12.5px/1.2 var(--font-ui,Inter, system-ui, sans-serif);letter-spacing:.02em;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 14px;text-decoration:none;display:inline-flex}.kin-btn:hover{border-color:var(--gold-border)}.kin-btn--primary{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.kin-btn--primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.kin-btn[data-locked]{color:var(--foreground-muted)}.kin-panel__list{gap:2px;margin:10px 0 0;padding:0;list-style:none;display:grid}.kin-panel__row{width:100%;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:6px;display:flex}.kin-panel__row:hover{background:var(--surface-hover)}.kin-panel__list .kin-portrait{border-radius:17px 17px 2px 2px;width:34px;height:38px}.kin-panel__list .kin-portrait__initials{font-size:13px}.kin-panel__list b{font-size:13.5px;font-weight:500;display:block}.kin-panel__list small{color:var(--muted);font-size:12px;line-height:1.35;display:block}.kin__legend{border-top:1px solid var(--border);font:500 12px/1.2 var(--font-ui,Inter, system-ui, sans-serif);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 18px;padding:10px 14px;display:flex}.kin__legend span{align-items:center;gap:7px;display:inline-flex}.kin-key{border-top:1.5px solid var(--border-strong);width:22px;height:0;display:inline-block}.kin-key--marriage{border-top:2px solid var(--gold)}.kin-key--climb{border:1px solid var(--gold-border);border-radius:50%;width:14px;height:14px}.kin__hint{margin-left:auto}@media (width<=720px){.kin-partner{flex:100%}.kin-select{flex-wrap:wrap;flex:auto}.kin-select select{width:100%;max-width:100%;min-height:44px;font-size:16px}.kin-step{width:44px;height:44px}.kin__mode{margin-left:0}.kin__legend .kin__hint{display:none}.kin-panel{width:auto;max-height:62%;inset:auto 8px 8px}}@media (pointer:coarse){.kin__tools button{width:44px;height:44px}.kin-chip{min-height:44px}}.kx{flex:auto;grid-template-columns:minmax(0,1fr) minmax(320px,380px);min-width:0;min-height:0;display:grid}.kx__canvas{min-width:0;min-height:0;display:flex}.kx__panel{overscroll-behavior:contain;border-left:1px solid var(--border);background:var(--surface);min-height:0;overflow:auto}.kx--message{color:var(--foreground-muted);text-align:center;justify-content:center;align-items:center;gap:12px;padding:48px 20px;display:flex}.kx--message a{color:var(--gold);text-underline-offset:3px;text-decoration:underline}.kx__spin{border:1.5px solid var(--gold-border);border-top-color:var(--gold);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite kin-spin}.kx-person{gap:18px;padding:24px 22px 28px;display:grid}.kx-person__head{align-items:center;gap:16px;display:flex}.kx-person__head .kin-portrait{border-radius:48px 48px 3px 3px;width:96px;height:108px}.kx-person__mode{font:600 10px/1.3 var(--font-ui,Inter, system-ui, sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 6px}.kx-person__name{font:500 clamp(24px, 2.2vw, 30px)/1.1 var(--font-display,"Playfair Display", Georgia, serif);color:var(--foreground);margin:0}.kx-person__desc{color:var(--foreground-muted);margin:0;font-size:14.5px;line-height:1.55}.kx-person__actions{display:grid}.kx-person__foot{border-top:1px solid var(--border);color:var(--muted);margin:4px 0 0;padding-top:14px;font-size:12px;line-height:1.5}.kx-person__foot a{color:var(--foreground-muted);text-underline-offset:2px;text-decoration:underline}.kx-group{gap:6px;display:grid}.kx-group__title{font:600 10.5px/1.4 var(--font-ui,Inter, system-ui, sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--foreground-muted);align-items:baseline;gap:8px;margin:0;display:flex}.kx-group__title span{color:var(--muted);letter-spacing:0}.kx-group__list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.kx-row{width:100%;min-height:52px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:12px;padding:6px 8px;display:flex}.kx-row:hover{border-color:var(--border);background:var(--surface-hover)}.kx-row:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.kx-row .kin-portrait{border-radius:20px 20px 2px 2px;width:40px;height:44px}.kx-row .kin-portrait__initials{font-size:14px}.kx-row__text{gap:2px;min-width:0;display:grid}.kx-row__text b{font:500 15px/1.25 var(--font-display,"Playfair Display", Georgia, serif)}.kx-row__text small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.kx-group__more{color:var(--gold);font:600 12.5px/1.2 var(--font-ui,Inter, system-ui, sans-serif);cursor:pointer;background:0 0;border:0;justify-self:start;padding:6px 8px}.kx-group__more:hover{text-underline-offset:3px;text-decoration:underline}.kx-person__toggle{display:none}@media (width<=900px){.kx{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.kx[data-sheet=open]{grid-template-rows:minmax(0,42%) minmax(0,58%)}.kx__panel{border-left:0;border-top:1px solid var(--border);box-shadow:0 -8px 24px #0000002e}.kx-person{gap:12px;padding:14px 16px 18px}.kx-person__head{gap:12px}.kx-person__head .kin-portrait{border-radius:26px 26px 3px 3px;width:52px;height:58px}.kx-person__name{font-size:22px}.kx-person__actions{grid-template-columns:minmax(0,1fr) auto;gap:8px}.kx-person__actions .kin-btn{min-height:44px}.kx-person__toggle{display:inline-flex}.kx[data-sheet=closed] :is(.kx-person__desc,.kx-group,.kx-person__foot),.kin__legend,.kin__mode{display:none}}
