.kin-surface{--fog: #f7f4ed;--fog-2: #e8e3d9;--ink: #41483c;--ink-2: #6c7464;--line: #929a86;--madder: #9c6573;--slate: #788878;--card: #fffdf8;--display: "Fraunces", Georgia, serif;--body: "IBM Plex Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;position:relative;overflow:hidden;background:var(--fog);color:var(--ink);font-family:var(--body);font-size:14px;height:100%}.kin-surface svg.kin-canvas{width:100%;height:100%;display:block;cursor:grab}.kin-surface svg.kin-canvas.dragging{cursor:grabbing}.kin-surface .person{cursor:pointer}.kin-surface .person rect.card{fill:var(--card);stroke:var(--ink);stroke-width:1;transition:stroke-width .15s}.kin-surface .person.inferred rect.card{stroke:var(--slate);stroke-dasharray:4 3}.kin-surface .person.unresolved rect.card{stroke:var(--slate);stroke-dasharray:1 3;stroke-linecap:round}.kin-surface .person:hover rect.card,.kin-surface .person.selected rect.card{stroke-width:1.6}.kin-surface .person.selected rect.card{fill:#fff}.kin-surface .person text.name{font-family:var(--display);font-size:16px;font-weight:500;fill:var(--ink)}.kin-surface .person text.said{font-family:var(--display);font-style:italic;font-size:12px;fill:var(--ink-2)}.kin-surface .person text.dates{font-family:var(--mono);font-size:10px;fill:var(--ink-2)}.kin-surface .person.focal line.thread{stroke:var(--madder);stroke-width:2}.kin-surface .person .marks circle{fill:var(--ink-2)}.kin-surface .person.inferred text.name{fill:var(--ink-2)}.kin-surface .edge{fill:none;stroke:var(--ink);stroke-width:1}.kin-surface .edge.inferred{stroke:var(--slate);stroke-dasharray:4 3}.kin-surface .edge.unresolved{stroke:var(--slate);stroke-dasharray:1 3;stroke-linecap:round}.kin-surface .edge.social{stroke:var(--line)}.kin-surface .edge.focal{stroke:var(--madder)}.kin-surface .knot{fill:var(--fog);stroke:var(--ink);stroke-width:1.2}.kin-surface .knot.inferred{stroke:var(--slate)}.kin-surface .ring{fill:none;stroke:var(--fog-2);stroke-width:1}.kin-surface .ring-label,.kin-surface .tray-label{font-family:var(--mono);font-size:10px;fill:var(--line);letter-spacing:.08em;text-transform:uppercase}.kin-surface .tray{fill:none;stroke:var(--line);stroke-dasharray:1 3;stroke-linecap:round}.kin-surface .gen-label{font-family:var(--mono);font-size:10px;fill:var(--line)}@keyframes kin-inkin{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.kin-surface .arrive{animation:kin-inkin .6s cubic-bezier(.2,.7,.2,1) both}.kin-surface .arrive.d1{animation-delay:.12s}.kin-surface .arrive.d2{animation-delay:.24s}.kin-surface .arrive.d3{animation-delay:.36s}@media(prefers-reduced-motion:reduce){.kin-surface .arrive{animation:none}}.kin-surface .empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center}.kin-surface .empty h2{font-family:var(--display);font-weight:400;font-size:28px;margin:0 0 6px}.kin-surface .empty p{color:var(--ink-2);margin:0}.kin-surface aside.kin-rail{position:absolute;top:0;right:0;bottom:0;width:340px;background:var(--card);border-left:1px solid var(--fog-2);transform:translate(100%);transition:transform .25s cubic-bezier(.2,.7,.2,1);overflow:auto;padding:26px 24px;z-index:3}.kin-surface aside.kin-rail.open{transform:none}@media(prefers-reduced-motion:reduce){.kin-surface aside.kin-rail{transition:none}}.kin-rail .close{position:absolute;top:14px;right:14px;background:none;border:0;font:16px var(--body);color:var(--ink-2);cursor:pointer}.kin-rail h2{font-family:var(--display);font-weight:500;font-size:26px;margin:0 0 2px;letter-spacing:-.01em;line-height:1.1}.kin-rail .kin{font-family:var(--display);font-style:italic;font-size:15px;color:var(--madder);margin:0 0 14px}.kin-rail dl{display:grid;grid-template-columns:64px 1fr;gap:4px 10px;margin:0 0 18px;font-size:13px}.kin-rail dt{font-family:var(--mono);font-size:10px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;padding-top:3px}.kin-rail dd{margin:0}.kin-rail .unk{color:var(--line);font-style:italic}.kin-rail h3{font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin:20px 0 8px}.kin-rail .note{font-family:var(--display);font-style:italic;margin:0 0 6px}.kin-rail .story{border-top:1px solid var(--fog-2);padding:10px 0}.kin-rail .story p{margin:0 0 4px;font-family:var(--display);font-size:14px;line-height:1.45}.kin-rail .story .by{font:11px var(--mono);color:var(--ink-2)}.kin-rail .conn{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid var(--fog-2);font-size:13px}.kin-rail .conn a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);cursor:pointer}.kin-rail .conn span{color:var(--ink-2);font-style:italic;font-family:var(--display)}.kin-rail .say{display:block;width:100%;text-align:left;background:transparent;border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin:6px 0;font:13px var(--body);color:var(--ink);cursor:pointer}.kin-rail .say:hover{background:var(--fog);border-color:var(--ink)}.kin-rail .say small{display:block;font:11px var(--mono);color:var(--ink-2);margin-top:2px}.kin-attn{position:absolute;left:18px;bottom:18px;max-width:320px;z-index:2}.kin-attn button.chip{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font:12px var(--body);color:var(--ink);cursor:pointer}.kin-attn button.chip b{font-family:var(--mono);font-weight:400;color:var(--madder)}.kin-attn ul{list-style:none;margin:8px 0 0;padding:10px 12px;background:var(--card);border:1px solid var(--fog-2);border-radius:8px}.kin-attn li{padding:6px 0;border-top:1px solid var(--fog-2);font-size:13px;cursor:pointer}.kin-attn li:first-child{border:0}.kin-attn li small{display:block;font:10px var(--mono);color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em}.kin-bar{display:flex;align-items:center;gap:14px;padding:8px 16px;border-bottom:1px solid var(--fog-2);background:var(--fog)}.kin-bar h1{font-family:var(--display);font-weight:500;font-size:20px;margin:0;letter-spacing:-.01em}.kin-bar .occ{font-family:var(--mono);font-size:11px;color:var(--ink-2)}.kin-bar .sp{flex:1}.kin-bar .stage{font:11px var(--mono);color:var(--ink-2)}.kin-bar .stage b{color:var(--ink);font-weight:400}.kin-seg{display:flex;gap:2px;background:var(--fog-2);padding:2px;border-radius:6px}.kin-seg button{background:transparent;border:0;padding:5px 10px;border-radius:4px;font:12px var(--body);color:var(--ink-2);cursor:pointer}.kin-seg button.on{background:var(--card);color:var(--ink)}.kin-moves{position:absolute;right:18px;bottom:18px;display:flex;flex-direction:column;gap:6px;z-index:2;max-width:300px}.kin-moves button{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:7px 11px;font:13px var(--body);color:var(--ink);cursor:pointer;text-align:left}.kin-moves button:hover{border-color:var(--ink)}.kin-moves button small{display:block;font:10px var(--mono);color:var(--ink-2)}.kin-parse-errors{position:absolute;left:18px;top:12px;font:11px var(--mono);color:var(--madder);z-index:2}.kin-canopy{background:#0f1a14;overflow:hidden}.kin-plates{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.kin-plates .plate{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;text-align:center;transition:opacity .25s}.kin-plates .plate .n{font-family:var(--display);font-weight:600;font-size:15px;color:#fffdf6;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 14px rgba(0,0,0,.35);letter-spacing:-.01em;white-space:nowrap}.kin-plates .plate .s{font-family:var(--display);font-style:italic;font-size:11.5px;color:#e9eadb;text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap}.kin-plates .plate .d{font-family:var(--mono);font-size:9.5px;color:#d5d8c6;text-shadow:0 1px 2px rgba(0,0,0,.6)}.kin-plates .plate.root .n{color:#f3ead6}.kin-plates .plate.dim{opacity:.35}.kin-plates .plate.focal .n{color:#ffd9e0}.kin-plates .plate.small .n{font-size:12px}.kin-plates .plate.small .s,.kin-plates .plate.small .d{display:none}.kin-paint-btn{background:#24322a;color:#e9eadb;border:1px solid #3a4a3c;border-radius:4px;padding:4px 10px;font:12px var(--body, "IBM Plex Sans", sans-serif);cursor:pointer}.kin-paint-btn:hover{border-color:#6f8f6f}.kin-paint-btn:disabled{opacity:.5;cursor:default}.kin-bar{flex-wrap:wrap;padding:14px 18px;gap:10px}.kin-bar .stage{font-family:var(--body)}.kin-seg{border-radius:999px;padding:4px}.kin-seg button{border-radius:999px;padding:7px 12px}.kin-moves button,.kin-rail .say{border-radius:12px;border-color:var(--fog-2);padding:10px 14px}.kin-surface aside.kin-rail{width:min(340px,100%);box-shadow:-8px 0 32px #41483c08}.kin-surface button:focus-visible{outline:2px solid var(--madder);outline-offset:3px}@media(max-width:700px){.kin-bar h1{font-size:18px}.kin-bar .stage,.kin-bar .occ{display:none}.kin-moves{right:10px;bottom:12px;max-width:45%}.kin-attn{left:10px;bottom:12px;max-width:45%}.kin-moves button small{display:none}}html,body,#root{height:100%;margin:0}@keyframes klasp-thinking{0%,70%,to{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}@keyframes klasp-word-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{scrollbar-width:thin;scrollbar-color:rgb(128 128 128 / .35) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#80808059;border-radius:999px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#8080808c;background-clip:content-box}.kin-header{display:flex;align-items:center;gap:28px;padding:18px 5%;border-bottom:1px solid;flex:none}.kin-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-dot{color:#b47b8b}.kin-nav{display:flex;align-items:center;gap:8px;margin-left:auto}.kin-nav a{padding:9px 18px;border-radius:999px;text-decoration:none;font-size:14px}.kin-nav a[aria-current=page]{background:#93606e18;color:#93606e}.kin-nav a:hover{background:#93606e10}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#93606e}.kin-home{width:100%;max-width:1080px;margin:0 auto;padding:36px 40px 64px}.kin-intro{position:relative;padding:32px 0 60px}.kin-intro h1{position:relative;z-index:1;font:400 clamp(34px,4.5vw,56px)/1.18 "Fraunces",Georgia,serif;letter-spacing:-.045em;margin:22px 0}.kin-intro h1 em{color:#93606e;font-weight:400}.kin-intro-flower{position:absolute;right:0;top:48px;width:240px;height:260px;display:grid;place-items:center;border-radius:48% 48% 44% 44%;background:radial-gradient(ellipse at 30% 30%,#ead2ca88,#dce3d688);color:#89967c;transform:rotate(8deg)}.kin-intro-flower svg{width:150px;height:150px;stroke:#f8f5ee;stroke-width:.3}.kin-empty{padding:38px 24px;text-align:center;border:1px dashed;border-radius:20px}.coming-soon{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:48px 24px 100px;text-align:center;background:radial-gradient(ellipse at 35% 35%,#f0e3df 0,transparent 50%),radial-gradient(ellipse at 80% 80%,#e8ecdf 0,transparent 45%),#faf7f2;color:#41463d}.coming-soon-mark{color:#8a967c;margin-bottom:30px}.coming-soon h1{font:400 clamp(44px,8vw,80px)/1.1 "Fraunces",Georgia,serif;letter-spacing:-.045em;margin:18px 0 24px}.coming-soon h1 span{color:#b47b8b}.coming-soon>p:not(.eyebrow){color:#75776c;line-height:1.9;font-size:16px}.coming-soon-footer{position:absolute;bottom:32px;font-size:11px;letter-spacing:.16em;color:#75776c}@media(max-width:800px){.kin-intro-flower{width:130px;height:145px;top:80px;opacity:.35}.kin-intro-flower svg{width:85px;height:85px}}@media(max-width:600px){.kin-header{padding:12px 16px;gap:8px}.kin-nav{gap:0}.kin-nav a{padding:8px 11px;font-size:13px}.kin-home{padding:18px 22px 40px}.kin-intro{padding-top:24px}.kin-intro-flower{display:none}}
