:root{--bg:#f5f6f8;--surface:#fff;--ink:#1b2140;--muted:#5f6680;--line:#e1e4ec;--accent:#3348e8;--accent-soft:#e7eafe;--chip:#eceef4;--dot-coral:#ff6b4a;--dot-sun:#f2b705;--dot-mint:#1fa67a;--dot-violet:#8e5be8}@media (prefers-color-scheme:dark){:root{--bg:#0f1222;--surface:#171b30;--ink:#e7e9f3;--muted:#9aa0bc;--line:#272c47;--accent:#7b8cff;--accent-soft:#20275a;--chip:#21263f;--scrim:#0000008c}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;word-break:keep-all;font-family:IBM Plex Sans KR,Apple SD Gothic Neo,system-ui,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root{--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--radius-sm:8px;--radius:12px;--radius-lg:16px;--sidebar-w:248px;--shadow-pop:0 1px 0 var(--line), 0 18px 40px -18px #080a1873;--scrim:#080a1861}.app{min-height:100vh}.app-main{margin-left:var(--sidebar-w);min-height:100vh}.app-content{max-width:1040px;padding:var(--sp-10) var(--sp-10) var(--sp-12);margin:0 auto}.sidebar{width:var(--sidebar-w);z-index:40;background:var(--surface);border-right:1px solid var(--line);padding:var(--sp-5) var(--sp-3) var(--sp-4);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.sb-top{padding:0 var(--sp-3) var(--sp-6);justify-content:space-between;align-items:center;display:flex}.sb-brand{align-items:center;gap:var(--sp-2);color:var(--ink);white-space:nowrap;font-size:1.05rem;font-weight:700;display:inline-flex}.sidebar .sb-close{display:none}.sb-nav{align-content:start;gap:var(--sp-6);flex:1;display:grid;overflow-y:auto}.sb-section-title{padding:0 var(--sp-3);margin-bottom:var(--sp-2);color:var(--muted);font-size:.75rem;font-weight:600}.sb-section ul{gap:2px;list-style:none;display:grid}.sb-link{align-items:center;gap:var(--sp-3);padding:.55rem var(--sp-3);color:var(--muted);border-radius:10px;font-size:.95rem;transition:background .12s,color .12s;display:flex}.sb-link:hover{background:var(--chip);color:var(--ink)}.sb-link.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sb-link .icon{flex:none}.sb-badge{background:var(--accent);color:#fff;border-radius:999px;margin-left:auto;padding:0 .45rem;font-size:.72rem}.sb-footer{gap:var(--sp-3);padding:var(--sp-4) var(--sp-2) 0;border-top:1px solid var(--line);margin-top:var(--sp-4);display:grid}.sb-user{padding:0 var(--sp-1)}.topbar,.sb-scrim{display:none}.icon-btn{width:2.25rem;height:2.25rem;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--chip)}@media (max-width:900px){.app-main{margin-left:0}.app-content{padding:var(--sp-6) var(--sp-5) var(--sp-12)}.topbar{align-items:center;gap:var(--sp-2);z-index:30;height:3.5rem;padding:0 var(--sp-3);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.sidebar{box-shadow:none;transition:transform .22s cubic-bezier(.2,.8,.2,1);transform:translate(-100%)}.sidebar.is-open{transform:none;box-shadow:0 0 60px -10px #080a1880}.sidebar .sb-close{display:inline-grid}.sb-scrim{z-index:35;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity .2s;display:block;position:fixed;inset:0}.sb-scrim.is-open{opacity:1;pointer-events:auto}}@media (prefers-reduced-motion:reduce){.sidebar,.sb-scrim,.sb-link{transition:none}}.page-header{margin-bottom:var(--sp-8)}.page-back{color:var(--muted);margin-bottom:var(--sp-3);font-size:.85rem;display:inline-block}.page-back:hover{color:var(--ink)}.page-header-row{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap;display:flex}.page-header-text{gap:var(--sp-2);min-width:0;display:grid}.page-header h1{align-items:center;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;display:flex}.page-desc{color:var(--muted);max-width:40rem}.page-actions{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.section-block{margin-top:var(--sp-10)}.section-block:first-child,.page-header+.section-block{margin-top:0}.section-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.section-head h2{margin:0}.section-desc{color:var(--muted);margin-top:var(--sp-1);font-size:.88rem}h1{letter-spacing:-.015em;font-size:1.75rem;line-height:1.25}h2{color:var(--ink);margin:var(--sp-10) 0 var(--sp-4);font-size:1rem;font-weight:650}.muted{color:var(--muted)}.small{font-size:.85rem}.search{gap:.5rem;margin:1.25rem 0 1.5rem;display:flex}.search input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;flex:1;padding:.65rem .9rem;font-size:1rem}.search button{background:var(--ink);color:var(--bg);cursor:pointer;border:0;border-radius:10px;padding:.65rem 1rem}.grid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:.85rem;display:grid}.grid>*{min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;transition:border-color .15s,transform .15s;display:block}.card:hover{border-color:var(--accent);transform:translateY(-1px)}.card .name{font-size:1.05rem;font-weight:700}.card .sub{color:var(--muted);font-size:.9rem}.card .summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.5rem;font-size:.9rem;display:-webkit-box;overflow:hidden}.dots{vertical-align:middle;gap:3px;margin-left:.4rem;display:inline-flex}.dots i{background:var(--line);border-radius:50%;width:6px;height:6px}.dots i.on{background:var(--accent)}.chips{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.chip{background:var(--chip);color:var(--muted);border-radius:999px;padding:.15rem .55rem;font-size:.78rem}.chip.kind{background:var(--accent-soft);color:var(--accent)}.profile-head{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;display:flex}.facts{grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin-top:1rem;font-size:.95rem;display:grid}.facts dt{color:var(--muted)}.summary-box{background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;border-radius:14px;margin-top:1rem;padding:1rem 1.1rem}.rels{flex-wrap:wrap;gap:.5rem;display:flex}.rel{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .8rem;font-size:.9rem;display:inline-flex}.rel .arrow{color:var(--muted)}.rel b{font-weight:600}.timeline{border-left:2px solid var(--line);margin-left:.4rem;padding-left:1.25rem;list-style:none}.timeline li{padding-bottom:1.25rem;position:relative}.timeline li:before{content:"";background:var(--accent);border:2px solid var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:.5rem;left:calc(-1.25rem - 6px)}.timeline .meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.timeline .content{white-space:pre-wrap;margin-top:.25rem}.timeline .who a{color:var(--accent)}.empty{color:var(--muted);text-align:center;padding:2rem 0}.chip.group{background:var(--accent-soft);color:var(--accent)}.chip.group:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit}.btn,button.primary,button.danger{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.3rem;padding:.5rem .95rem;font-size:.95rem;line-height:1.2;display:inline-flex}.btn.small{padding:.35rem .7rem;font-size:.85rem}.btn.ghost{color:var(--muted);border-color:#0000}.btn.ghost:hover{color:var(--accent);border-color:var(--line)}button.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}button.danger{color:#b42318;background:0 0;border-color:#0000}button.danger:hover{background:var(--accent-soft)}.form{gap:1.25rem;max-width:720px;margin-top:1.25rem;display:grid}.form fieldset{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:.8rem;padding:1rem 1.1rem 1.1rem;display:grid}.form legend{color:var(--muted);padding:0 .4rem;font-size:.85rem;font-weight:600}.form label{color:var(--muted);font-size:.9rem;display:block}.form label>input,.form label>select,.form label>textarea{width:100%;margin-top:.3rem;display:block}.form input,.form select,.form textarea{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;border-radius:9px;padding:.55rem .75rem;font-size:.95rem}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:#0000}.form .row{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.form .req{color:var(--accent)}.form .hint{opacity:.8;font-size:.78rem;font-weight:400}.form-actions{align-items:center;gap:.6rem;display:flex}.group-picker{gap:.4rem;display:grid}.group-row{grid-template-columns:1fr 180px;align-items:center;gap:.6rem;display:grid}.group-row .check{color:var(--ink);flex-direction:row;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.group-row .check input{width:16px;height:16px;accent-color:var(--accent)}.group-row>input{padding:.4rem .6rem;font-size:.85rem}.note-form{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:.5rem;margin-bottom:1rem;padding:.8rem .9rem;display:grid}.note-form textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:9px;padding:.55rem .75rem}.note-form-row{flex-wrap:wrap;gap:.4rem;display:flex}.note-form-row input,.note-form-row select{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;border-radius:8px;padding:.45rem .6rem;font-size:.88rem}.note-form-row input[name=people]{flex:1;min-width:140px}.note-form-row button{margin-left:auto}.rel-form select{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:9px;padding:.5rem .6rem}.rel-form input[name=type]{flex:0 200px}.rel .x-form,.timeline .x-form{display:inline}.x{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 .1rem;font-size:1rem;line-height:1}.x:hover{color:#b42318}.rel{gap:.3rem}.rel a{align-items:center;gap:.4rem;display:inline-flex}.dup-warn{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);color:var(--ink);border-radius:10px;gap:.4rem;margin-top:.4rem;padding:.6rem .8rem;font-size:.88rem;display:grid}.dup-warn a{color:var(--accent);text-decoration:underline}.dup-warn .check{color:var(--ink);flex-direction:row;align-items:center;gap:.4rem;display:flex}.dup-warn .check input{width:15px;height:15px;accent-color:var(--accent)}.banner{background:var(--accent-soft);border-radius:12px;margin:1rem 0 0;padding:.8rem 1rem;font-size:.95rem}.merge-form{margin-top:1.5rem}.merge-form select{border:1px solid var(--line);background:var(--bg);min-width:200px;color:var(--ink);font:inherit;border-radius:9px;flex:1;padding:.55rem .75rem}.legal{max-width:46rem;margin:0 auto;padding:0 1.25rem 5rem}.legal-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:2.5rem;padding:1.1rem 0;display:flex}.legal-brand{align-items:center;gap:.5rem;margin-right:auto;font-weight:700;display:inline-flex}.legal-head nav{color:var(--muted);gap:1.1rem;font-size:.9rem;display:flex}.legal-head nav a:hover{color:var(--ink)}.legal-body{line-height:1.8}.legal-body h1{margin-bottom:1.25rem;font-size:2rem}.legal-body h2{color:var(--ink);margin:2.25rem 0 .6rem;font-size:1.1rem}.legal-body h3{margin:1.25rem 0 .3rem;font-size:1rem}.legal-body p,.legal-body li{color:var(--ink)}.legal-body ul{gap:.35rem;padding-left:1.2rem;display:grid}.legal-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.legal-table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.95rem}.legal-table th,.legal-table td{text-align:left;border-bottom:1px solid var(--line);padding:.5rem .4rem}.legal-table th{color:var(--muted);font-weight:600}.legal-missing{color:#7a5600;background:#fff1c2;border-radius:4px;padding:0 .25rem}.legal-banner{color:#5c4100;background:#fff1c2;border-radius:10px;margin-bottom:1.5rem;padding:.7rem .9rem;font-size:.92rem}.legal-contact{margin:1rem 0 .5rem;font-size:1.25rem;font-weight:600}.auth-shell{flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;min-height:100vh;padding:2rem 1rem;display:flex}.auth-brand{align-items:center;gap:.55rem;font-size:1.25rem;font-weight:700;display:inline-flex}.code-inline{background:var(--surface);border:1px solid var(--line);-webkit-user-select:all;user-select:all;word-break:break-all;border-radius:7px;padding:.15rem .45rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88rem}.key-reveal{background:var(--accent-soft);border-radius:12px;gap:.6rem;margin-top:1rem;padding:.9rem 1rem;display:grid}.key-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.key-row code{background:var(--surface);border:1px solid var(--line);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:8px;flex:1;min-width:0;padding:.5rem .7rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88rem}.member-list{gap:.5rem;list-style:none;display:grid}.member-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:.75rem;padding:.6rem .9rem;display:flex}.member-main{flex-direction:column;flex:1;display:flex}.member-main .name{font-weight:600}.member-main .sub{color:var(--muted);font-size:.85rem}.inline-form{flex-wrap:wrap;gap:.5rem;display:flex}.inline-form input{border:1px solid var(--line);background:var(--surface);min-width:160px;color:var(--ink);font:inherit;border-radius:9px;flex:1;padding:.55rem .75rem}@media (max-width:600px){.form .row,.group-row{grid-template-columns:1fr}}.gv{margin-top:1rem}.gv-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin-bottom:.6rem;display:flex}.gv-search{border:1px solid var(--line);background:var(--surface);min-width:200px;color:var(--ink);font:inherit;border-radius:9px;flex:1;padding:.5rem .75rem}.gv-ctl{color:var(--muted);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.gv-ctl select{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:7px;padding:.3rem .4rem;font-size:.85rem}.gv-ctl.check input{accent-color:var(--accent)}.gv-body{grid-template-columns:1fr 250px;align-items:start;gap:.8rem;display:grid}@media (max-width:760px){.gv-body{grid-template-columns:1fr}}.gv-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;min-height:200px;padding:.9rem 1rem;font-size:.95rem}.gv-panel h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:1rem 0 .4rem;font-size:.8rem}.gv-panel-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:1.05rem;display:flex}.gv-links{flex-wrap:wrap;gap:.4rem;margin-top:.7rem;display:flex}.gv-neighbors{gap:.3rem;list-style:none;display:grid}.gv-neighbors li{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.gv-neighbors button{color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.4rem;padding:.15rem 0;display:inline-flex}.gv-neighbors button:hover{color:var(--accent)}.sw{border-radius:50%;flex:none;width:12px;height:12px;display:inline-block}.sw.me{background:var(--accent)}.sw.person{background:#7d87b0}.sw.group{background:var(--dot-mint);border-radius:3px}.legend{color:var(--muted);flex-wrap:wrap;gap:.5rem 1rem;font-size:.8rem;display:flex}.legend span{align-items:center;gap:.35rem;display:inline-flex}.legend .ln{border-top:2px solid var(--muted);width:18px;height:0;display:inline-block}.legend .ln.member{border-top-style:dashed}.graph{background:var(--surface);border:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:14px;width:100%;height:auto}.graph:active{cursor:grabbing}.graph .edge.lit line{stroke:var(--accent);stroke-opacity:.9;stroke-width:2px}.graph .node .ring{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:4 3}.graph .node.match circle,.graph .node.match rect{stroke:var(--accent);stroke-width:3px}.graph .node text.sub{fill:var(--muted);font-size:10px;font-weight:400}.graph .edge line{stroke:var(--muted);stroke-width:1.5px;stroke-opacity:.6}.graph .edge.member line{stroke-dasharray:4 4}.graph .edge.me line{stroke-opacity:.3}.graph .edge text{fill:var(--muted);paint-order:stroke;stroke:var(--surface);stroke-width:3px;font-size:10px}.graph .node{cursor:pointer}.graph .node circle,.graph .node rect{stroke:var(--surface);stroke-width:2px}.graph .node.me circle{fill:var(--accent)}.graph .node.person circle{fill:#7d87b0}.graph .node.group rect{fill:var(--dot-mint)}.graph .node text{fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3px;font-size:12px;font-weight:600}.graph .node.me text{font-size:13px}.lang{font-size:.9rem;display:inline-flex;position:relative}.lang-trigger{height:2.1rem;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:0 .6rem 0 .55rem;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.lang-trigger:hover,.lang.is-open .lang-trigger{background:var(--surface);border-color:var(--line);color:var(--ink)}.lang-globe{fill:none;stroke:currentColor;stroke-width:1.3px;width:1.05rem;height:1.05rem}.lang-chevron{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:.75rem;height:.75rem;transition:transform .18s}.lang.is-open .lang-chevron{transform:rotate(180deg)}.lang-pop{z-index:50;background:var(--surface);border:1px solid var(--line);min-width:13.5rem;box-shadow:var(--shadow-pop);transform-origin:100% 0;border-radius:16px;padding:.5rem;animation:.16s cubic-bezier(.2,.8,.2,1) lang-in;position:absolute;top:calc(100% + .55rem);right:0}.lang[data-align=center] .lang-pop{transform-origin:top;animation-name:lang-in-center;left:50%;right:auto;transform:translate(-50%)}.lang-pop[hidden]{display:none}.lang-pop:before{content:"";background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);border-top-left-radius:2px;width:10px;height:10px;position:absolute;top:-6px;right:1.35rem;transform:rotate(45deg)}.lang[data-align=center] .lang-pop:before{left:calc(50% - 5px);right:auto}@keyframes lang-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}}@keyframes lang-in-center{0%{opacity:0;transform:translate(-50%)translateY(-4px)scale(.97)}}.lang-title{color:var(--muted);margin:.25rem .6rem .4rem;font-size:.75rem}.lang-pop ul{gap:2px;list-style:none;display:grid}.lang .lang-item{color:var(--ink);cursor:pointer;border-radius:10px;outline:none;align-items:center;gap:.7rem;padding:.55rem .65rem;transition:background .12s;display:flex}.lang .lang-item:hover,.lang .lang-item:focus-visible{background:var(--chip)}.lang .lang-item:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.lang .lang-item.is-current{cursor:default}.lang-names{flex-direction:column;line-height:1.25;display:flex}.lang-native{font-size:.95rem;font-weight:600}.lang-sub{color:var(--muted);font-size:.78rem}.lang-dot{border:1.5px solid var(--line);border-radius:50%;flex:none;width:10px;height:10px;transition:transform .15s}.lang-item:hover .lang-dot{border-color:var(--muted)}.lang-item.is-current .lang-dot{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.lang .lang-item.is-current .lang-native{color:var(--accent)}.lang.small .lang-trigger{height:1.9rem;font-size:.85rem}@media (prefers-reduced-motion:reduce){.lang-pop{animation:none}.lang-chevron,.lang-trigger,.lang-item,.lang-dot{transition:none}}@media (prefers-color-scheme:dark){.lang-dot{border-color:color-mix(in srgb, var(--muted) 55%, transparent)}}@media (max-width:640px){.lang-current-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lang-trigger{gap:.25rem;padding:0 .5rem}.lang-pop{right:-.5rem}}.lang[data-align=start] .lang-pop{transform-origin:0 0;left:0;right:auto}.lang[data-align=start] .lang-pop:before{left:1.2rem;right:auto}.lang[data-placement=top] .lang-pop{transform-origin:0 100%;animation-name:lang-in-up;top:auto;bottom:calc(100% + .55rem)}.lang[data-placement=top] .lang-pop:before{top:auto;bottom:-6px;transform:rotate(225deg)}@keyframes lang-in-up{0%{opacity:0;transform:translateY(4px)scale(.97)}}.sel,.dtf{min-width:0;display:inline-flex;position:relative}.sel-trigger{align-items:center;gap:var(--sp-2);width:100%;min-height:2.5rem;padding:0 var(--sp-3);border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:10px;font-size:.95rem;transition:border-color .12s,box-shadow .12s,background .12s;display:inline-flex}.sel-sm .sel-trigger{min-height:2.1rem;padding:0 var(--sp-2) 0 var(--sp-3);font-size:.88rem}.sel-trigger:hover{border-color:color-mix(in srgb, var(--muted) 45%, var(--line))}.sel.is-open .sel-trigger,.dtf.is-open .sel-trigger,.sel-trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.sel-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sel-value.is-placeholder{color:var(--muted)}.sel-chevron{color:var(--muted);flex:none;transition:transform .15s}.sel.is-open .sel-chevron{transform:rotate(180deg)}.sel-dot{border-radius:50%;flex:none;width:9px;height:9px}.sel-required{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.sel-pop{z-index:60;min-width:100%;max-height:18rem;padding:var(--sp-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);list-style:none;animation:.14s cubic-bezier(.2,.8,.2,1) pop-in;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.sel-opt{align-items:center;gap:var(--sp-2);padding:.5rem var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;font-size:.93rem;display:flex}.sel-opt.is-active{background:var(--chip)}.sel-opt.is-selected{color:var(--accent);font-weight:600}.sel-opt.is-disabled{opacity:.45;cursor:default}.sel-opt-text{flex-direction:column;flex:1;line-height:1.3;display:flex}.sel-opt-desc{color:var(--muted);font-size:.78rem;font-weight:400}.sel-check{flex:none;margin-left:auto}@keyframes pop-in{0%{opacity:0;transform:translateY(-3px)scale(.98)}}.dtf-trigger{min-width:11rem}.dtf-trigger .icon{color:var(--muted);flex:none}.dtf-pop{z-index:60;width:19.5rem;padding:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);gap:var(--sp-3);animation:.14s cubic-bezier(.2,.8,.2,1) pop-in;display:grid;position:absolute;top:calc(100% + 6px);left:0}.dtf-quick{gap:var(--sp-1);flex-wrap:wrap;display:flex}.dtf-chip{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:.28rem .7rem;font-size:.82rem}.dtf-chip:hover{border-color:var(--accent)}.dtf-chip.is-on{background:var(--accent);border-color:var(--accent);color:#fff}.dtf-cal-head{margin-bottom:var(--sp-1);justify-content:space-between;align-items:center;display:flex}.dtf-month{font-size:.92rem;font-weight:600}.dtf-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dtf-wd{text-align:center;color:var(--muted);padding:var(--sp-1) 0;font-size:.72rem}.dtf-day{aspect-ratio:1;color:var(--ink);font:inherit;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:9px;font-size:.85rem}.dtf-day:hover{background:var(--chip)}.dtf-day.is-out{color:color-mix(in srgb, var(--muted) 55%, transparent)}.dtf-day.is-future{color:color-mix(in srgb, var(--muted) 70%, transparent)}.dtf-day.is-today{box-shadow:inset 0 0 0 1.5px var(--accent)}.dtf-day.is-sel{background:var(--accent);color:#fff;font-weight:600}.dtf-foot{justify-content:space-between;align-items:center;gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--line);display:flex}.dtf-time{align-items:center;gap:var(--sp-2);color:var(--muted);font-size:.85rem;display:inline-flex}.dtf-time input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font:inherit;padding:.3rem .5rem}.dtf-actions{gap:var(--sp-1);display:flex}@media (prefers-reduced-motion:reduce){.sel-pop,.dtf-pop{animation:none}.sel-chevron{transition:none}}@media (max-width:480px){.dtf-pop{width:min(19.5rem,100vw - 2.5rem)}}.gv-search-wrap{align-items:center;gap:var(--sp-2);min-width:200px;padding:0 var(--sp-3);border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:10px;flex:1;display:flex}.gv-search-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.gv-search-wrap .gv-search{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:.55rem 0}.gv-ctl .sel{min-width:7.5rem}.sample-banner{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-8);padding:var(--sp-3) var(--sp-4);background:color-mix(in srgb, var(--dot-sun) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--dot-sun) 40%, var(--line));border-radius:var(--radius);flex-wrap:wrap;display:flex}.sample-banner .icon{color:color-mix(in srgb, var(--dot-sun) 70%, var(--ink));flex:none}.sample-banner p{flex:1;min-width:14rem;font-size:.9rem}.chip.sample{background:color-mix(in srgb, var(--dot-sun) 20%, var(--surface));color:color-mix(in srgb, var(--dot-sun) 45%, var(--ink))}.stat-row{gap:var(--sp-3);margin-bottom:var(--sp-8);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat{gap:var(--sp-1);padding:var(--sp-4) var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid}.stat-label{color:var(--muted);font-size:.8rem}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700;line-height:1.2}.stat-value.is-bad{color:#c2410c}.stat-value-sm{gap:2px;font-size:1.05rem;font-weight:600;display:grid}.stat-sub{color:var(--muted);font-size:.8rem;font-weight:400}@media (max-width:760px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.empty-state{text-align:center;justify-items:center;gap:var(--sp-3);padding:var(--sp-12) var(--sp-6);background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius-lg);color:var(--muted);display:grid}.empty-state h2{color:var(--ink);margin:0;font-size:1.1rem}.empty-state p{max-width:28rem}.empty-state .btn{margin-top:var(--sp-2)}.btn.primary-btn{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary-btn:hover{background:color-mix(in srgb, var(--accent) 88%, #000)}.seg{background:var(--chip);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.35rem .85rem;font-size:.88rem}.seg-btn:hover{color:var(--ink)}.seg-btn.is-on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 12%, transparent);font-weight:600}.act-filters{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.act-days{gap:var(--sp-8);display:grid}.act-day-label{color:var(--muted);margin-bottom:var(--sp-3);font-size:.82rem;font-weight:600}.act-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);list-style:none;overflow:hidden}.act-row{gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);grid-template-columns:4.5rem 3.5rem 1fr auto;align-items:start;display:grid}.act-row+.act-row{border-top:1px solid var(--line)}.act-row.is-error{background:color-mix(in srgb, #ef4444 5%, var(--surface))}.act-time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px;font-size:.82rem}.act-kind{border-radius:999px;justify-self:start;margin-top:2px;padding:.12rem .5rem;font-size:.72rem;font-weight:600}.act-kind.k-read{background:var(--chip);color:var(--muted)}.act-kind.k-write{background:var(--accent-soft);color:var(--accent)}.act-kind.k-error{background:color-mix(in srgb, #ef4444 14%, var(--surface));color:#c2410c}.act-main{gap:2px;min-width:0;display:grid}.act-action{font-size:.93rem;font-weight:600}.act-summary{color:var(--muted);overflow-wrap:anywhere;font-size:.88rem}.act-error{color:#c2410c;font-size:.82rem}.act-meta{align-items:center;gap:var(--sp-2);display:flex}.act-ms{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.load-more{margin-top:var(--sp-6);justify-content:center;display:flex}@media (max-width:640px){.act-row{grid-template-columns:3.75rem 1fr}.act-kind{grid-area:2/1}.act-main{grid-area:1/2/span 2}.act-meta{grid-column:2}}.act-src{letter-spacing:.02em;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:0 .35rem;font-size:.7rem;font-weight:600}.onboard{margin-bottom:var(--sp-8);padding:var(--sp-5) var(--sp-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.onboard-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.onboard-head h2{margin:0;font-size:1.1rem}.onboard-progress{align-items:center;gap:var(--sp-2);color:var(--muted);white-space:nowrap;font-size:.82rem;display:inline-flex}.onboard-bar{background:var(--chip);border-radius:999px;width:5rem;height:6px;overflow:hidden}.onboard-bar span{background:var(--accent);border-radius:999px;height:100%;display:block}.onboard-steps{gap:var(--sp-2);list-style:none;display:grid}.onboard-step{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--bg);display:flex}.onboard-step.is-next{background:var(--accent-soft)}.onboard-mark{background:var(--surface);border:1.5px solid var(--line);width:1.75rem;height:1.75rem;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:.82rem;font-weight:700;display:grid}.onboard-step.is-next .onboard-mark{border-color:var(--accent);color:var(--accent)}.onboard-step.is-done .onboard-mark{background:var(--dot-mint);border-color:var(--dot-mint);color:#fff}.onboard-text{flex:1;gap:2px;min-width:0;display:grid}.onboard-text span{color:var(--muted);font-size:.86rem}.onboard-step.is-done .onboard-text strong{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 50%, transparent)}.onboard-done{color:var(--dot-mint);font-size:.82rem;font-weight:600}@media (max-width:560px){.onboard-step{flex-wrap:wrap}.onboard-step .btn{margin-left:calc(1.75rem + var(--sp-4))}}.profile-card{gap:var(--sp-5);padding:var(--sp-5) var(--sp-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);display:grid}.profile-card .facts{gap:var(--sp-4) var(--sp-6);grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));margin:0;display:grid}.profile-card .fact{gap:2px;min-width:0;display:grid}.profile-card .fact dt{color:var(--muted);font-size:.78rem}.profile-card .fact dd{overflow-wrap:anywhere;font-size:.95rem}.profile-card .fact a{color:var(--accent)}.profile-meta{gap:var(--sp-2);display:grid}.profile-meta .chips{margin:0}.profile-summary{white-space:pre-wrap;padding-top:var(--sp-4);border-top:1px solid var(--line);color:var(--ink);line-height:1.7}.profile-card>:first-child.profile-summary{border-top:0;padding-top:0}.title-sub{color:var(--muted);font-size:1rem;font-weight:400}.section-block>.rels{margin-bottom:var(--sp-4)}.section-block>.muted.small+.rel-form,.section-block>.rels+.rel-form{margin-top:var(--sp-3)}.searchbar{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-6);padding:var(--sp-1) var(--sp-1) var(--sp-1) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);display:flex}.searchbar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.searchbar input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:.5rem 0;font-size:.95rem}.card .name{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.card .name .dots{margin-left:0}.card .sub{margin-top:2px}.card-badge{margin-left:auto}.kind-dot{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.kind-dot.lg{border-radius:4px;width:14px;height:14px}.page-desc-extra{margin-top:var(--sp-1);color:var(--ink);display:block}.connect-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));display:grid}.connect-card{gap:var(--sp-3);padding:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);align-content:start;display:grid}.connect-card-head{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.copy-field{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-1) var(--sp-1) var(--sp-3);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);display:flex}.copy-field code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:1;min-width:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86rem}.list-gap{margin-top:var(--sp-4)}.form label>.sel,.form label>.dtf{width:100%;margin-top:.3rem;display:flex}.form label>.sel .sel-trigger{background:var(--bg)}.inline-form .sel.grow{flex:1;min-width:14rem}.timeline{margin-left:.35rem}.timeline li{padding-bottom:var(--sp-6)}.timeline li:before{background:var(--kc,var(--accent));box-shadow:0 0 0 3px var(--bg);border:0;width:10px;height:10px;top:.45rem;left:calc(-1.25rem - 6px)}.timeline .meta{gap:var(--sp-2)}.timeline .content{margin-top:var(--sp-1);line-height:1.65}.kind-chip{color:color-mix(in srgb, var(--kc) 75%, var(--ink));background:color-mix(in srgb, var(--kc) 14%, var(--surface));border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600}.timeline .x{opacity:0;transition:opacity .12s}.timeline li:hover .x,.timeline .x:focus-visible{opacity:1}@media (hover:none){.timeline .x{opacity:1}}.data-cards{gap:var(--sp-3);display:grid}.data-card{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;display:flex}.data-card>div{gap:var(--sp-1);flex:1;min-width:16rem;display:grid}.data-card.is-danger{border-color:color-mix(in srgb, #ef4444 35%, var(--line))}.data-card.is-danger strong{color:#c2410c}.danger-form{gap:var(--sp-2);width:100%;max-width:26rem;display:grid}.danger-form label{gap:var(--sp-1);color:var(--muted);font-size:.85rem;display:grid}.danger-form input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font:inherit;padding:.5rem .75rem}.btn.danger-btn{color:#fff;background:#dc2626;border-color:#dc2626;justify-self:start}.btn.danger-btn:disabled{opacity:.45;cursor:not-allowed}.form-error{color:#c2410c;font-size:.85rem}.pp{min-width:0;display:flex;position:relative}.pp-box{align-items:center;gap:var(--sp-1);min-height:2.5rem;padding:.25rem var(--sp-2);border:1px solid var(--line);background:var(--bg);cursor:text;border-radius:10px;flex-wrap:wrap;flex:1;display:flex}.pp.is-open .pp-box,.pp-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pp-icon{color:var(--muted);flex:none;margin:0 2px 0 4px}.pp-box input{min-width:6rem;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:.3rem .25rem;font-size:.93rem}.pp-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;gap:2px;padding:.15rem .25rem .15rem .6rem;font-size:.85rem;font-weight:600;display:inline-flex}.pp-chip button{width:1.2rem;height:1.2rem;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.pp-chip button:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.pp-pop{min-width:16rem}.pp-avatar{background:var(--chip);width:1.6rem;height:1.6rem;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:.78rem;font-weight:700;display:grid}.pp-create{color:var(--accent)}.inline-form .pp.grow,.note-form-row .pp.grow{flex:1;min-width:14rem}.note-form-row .pp-box{min-height:2.1rem}.rel-form .rel-dir{flex:none}.dtf-pop{width:22rem}.dtf-quick{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.dtf-chip{flex:none;padding:.26rem .62rem;font-size:.8rem}.reconnect{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));list-style:none;display:grid}.reconnect-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .12s;display:flex}.reconnect-item:hover{border-color:var(--accent)}.reconnect-text{flex:1;min-width:0;display:grid}.reconnect-text strong,.reconnect-text span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.reconnect-days{color:color-mix(in srgb, var(--dot-coral) 70%, var(--ink));background:color-mix(in srgb, var(--dot-coral) 12%, var(--surface));white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:600}.pp-avatar.lg{width:2.25rem;height:2.25rem;font-size:.9rem}.graph{height:clamp(480px,100vh - 250px,860px)}@media (max-width:900px){.graph{height:clamp(380px,70vh,640px)}}@media (max-width:560px){.graph{aspect-ratio:1/1.05;height:auto;max-height:70vh}}.field-hint{color:var(--muted);margin-bottom:var(--sp-2);font-size:.85rem;display:block}.sb-search{padding:0 var(--sp-1) var(--sp-5)}.qs-trigger{align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--muted);cursor:pointer;text-align:left;padding:.5rem .7rem;font-size:.9rem;display:flex}.qs-trigger:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));color:var(--ink)}.qs-trigger span{flex:1}.qs-trigger kbd,.qs-input kbd{font:inherit;color:var(--muted);background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:6px;padding:.05rem .4rem;font-size:.72rem}.topbar-actions{gap:var(--sp-1);margin-left:auto;display:flex}.qs-scrim{z-index:60;padding:12vh var(--sp-4) var(--sp-4);background:var(--scrim);place-items:start center;animation:.12s qs-fade;display:grid;position:fixed;inset:0}.qs-panel{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);width:min(640px,100%);max-height:70vh;box-shadow:var(--shadow-pop);flex-direction:column;animation:.14s cubic-bezier(.2,.8,.2,1) qs-pop;display:flex;overflow:hidden}.qs-input{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);color:var(--muted);display:flex}.qs-input input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0;padding:0;font-size:1.05rem}.qs-input input:focus{box-shadow:none}.qs-spin{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite qs-rot}.qs-body{padding:var(--sp-2);overflow-y:auto}.qs-hint{padding:var(--sp-5) var(--sp-4);color:var(--muted);font-size:.9rem}.qs-list{list-style:none}.qs-section{padding:var(--sp-3) var(--sp-3) var(--sp-1);color:var(--muted);font-size:.75rem;font-weight:600}.qs-item{align-items:flex-start;gap:var(--sp-3);padding:.6rem var(--sp-3);border-radius:var(--radius);color:var(--ink);text-decoration:none;display:flex}.qs-item .icon{color:var(--muted);flex:none;margin-top:2px}.qs-item.is-active{background:var(--accent-soft)}.qs-item.is-active .icon{color:var(--accent)}.qs-item.is-more .qs-title{color:var(--accent);font-weight:500}.qs-text{gap:2px;min-width:0;display:grid}.qs-title{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.qs-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}@keyframes qs-fade{0%{opacity:0}}@keyframes qs-pop{0%{opacity:0;transform:translateY(-6px)scale(.99)}}@keyframes qs-rot{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.qs-scrim,.qs-panel,.qs-spin{animation:none}}.empty-state.is-compact{padding:var(--sp-8) var(--sp-6)}.empty-actions{justify-content:center;gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.empty-actions .btn{margin-top:0}.empty-tip{margin-top:var(--sp-4);text-align:left;width:min(30rem,100%);padding:var(--sp-4) var(--sp-5);border-radius:var(--radius);background:var(--bg);border:1px solid var(--line)}.empty-tip-label{align-items:center;gap:var(--sp-1);color:var(--accent);font-size:.78rem;font-weight:600;display:inline-flex}.empty-tip p{margin:var(--sp-2) 0 var(--sp-3);color:var(--ink);max-width:none;line-height:1.55}.empty-tip-link{font-size:.85rem}.btn-spin{opacity:.7;border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite qs-rot}button.is-pending{cursor:progress;opacity:.85}@media (prefers-reduced-motion:reduce){.btn-spin{animation:none}}@media (max-width:900px),(hover:none){.qs-trigger kbd,.qs-input kbd{display:none}}.ai-feed{gap:var(--sp-2);list-style:none;display:grid}.ai-feed li{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex}.ai-feed-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;margin-top:.45rem}.ai-feed-main{flex:1;gap:2px;min-width:0;display:grid}.ai-feed-label{font-weight:600}.ai-feed-summary{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.ai-feed-meta{align-items:center;gap:var(--sp-2);color:var(--muted);flex:none;font-size:.8rem;display:flex}@media (max-width:560px){.ai-feed li{flex-wrap:wrap}.ai-feed-meta{width:100%;padding-left:calc(8px + var(--sp-3))}}.cd{display:inline-flex;position:relative}.cd-btn{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.8rem;line-height:1.2;display:inline-flex}.cd-btn:hover,.cd.is-open .cd-btn{color:#dc2626;border-color:color-mix(in srgb, #dc2626 45%, var(--line));background:color-mix(in srgb, #dc2626 6%, var(--surface))}.cd-pop{z-index:40;width:max-content;max-width:280px;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);color:var(--ink);text-align:left;cursor:default;font-size:.86rem;position:absolute;top:calc(100% + 6px);right:0}.cd-pop p{line-height:1.5}.cd-actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-3);display:flex}.cd-no,.cd-yes{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.82rem;display:inline-flex}.cd-yes{color:#fff;background:#dc2626;border-color:#dc2626;font-weight:600}.cd-yes:disabled{opacity:.75;cursor:progress}.card-wrap{grid-template-columns:minmax(0,1fr);min-width:0;display:grid;position:relative}.card-wrap>.card{min-width:0;height:100%}.card .name,.card .sub,.card .summary,.card .chips{overflow-wrap:anywhere;min-width:0}.card-del{position:absolute;top:.85rem;right:.85rem}.card-wrap .card-del .cd-btn{opacity:0;transition:opacity .12s}.card-wrap:hover .card-del .cd-btn,.card-wrap:focus-within .card-del .cd-btn,.card-del.is-open .cd-btn{opacity:1}.card-wrap:hover .card-badge,.card-wrap:focus-within .card-badge{visibility:hidden}@media (hover:none){.card-wrap .card-del .cd-btn{opacity:1}.card-wrap .card .name{padding-right:4.4rem}}.note-actions{gap:var(--sp-1);margin-left:auto;display:inline-flex}.timeline .note-actions .cd-btn{padding:.25rem .55rem}.modal-scrim{z-index:60;padding:var(--sp-4);background:var(--scrim);place-items:center;animation:.12s qs-fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);width:min(560px,100%);max-height:90vh;box-shadow:var(--shadow-pop);animation:.14s cubic-bezier(.2,.8,.2,1) qs-pop;overflow:auto}.modal-head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.modal-head h2{font-size:1.05rem}.modal-body{gap:var(--sp-4);padding:var(--sp-5);display:grid}.modal-body label,.modal-body .field{gap:var(--sp-1);color:var(--muted);font-size:.85rem;display:grid}.modal-body textarea,.modal-body input:not([type=hidden]){border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font:inherit;border-radius:9px;padding:.55rem .75rem;font-size:.95rem}.modal-body textarea{resize:vertical;line-height:1.55}.note-edit-grid{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.modal-actions{justify-content:flex-end;gap:var(--sp-2);padding-top:var(--sp-2);display:flex}@media (max-width:560px){.note-edit-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.modal-scrim,.modal{animation:none}}.inline-form-card.form{max-width:none;margin-top:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.inline-form-card.form>fieldset{min-width:0}.inline-form-card.form>input[type=hidden]{display:none}@media (max-width:1100px){.inline-form-card.form{grid-template-columns:1fr}}.inline-bar{bottom:var(--sp-4);z-index:20;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-5);background:var(--ink);color:var(--bg);box-shadow:var(--shadow-pop);border-radius:14px;grid-column:1/-1;font-size:.9rem;display:none;position:sticky}.inline-bar.is-on{animation:.14s qs-pop;display:flex}.inline-bar.is-saved{color:#fff;background:#0f7a4f}.inline-bar-actions{gap:var(--sp-2);display:inline-flex}.inline-bar .btn.small{color:inherit;border-color:color-mix(in srgb, currentColor 35%, transparent);background:0 0}.inline-bar button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.inline-bar button.primary:disabled{opacity:.6}.inline-bar.is-saved .inline-bar-actions{display:none}.inline-bar-error{color:#fecaca}.group-row{padding-left:calc(var(--depth,0) * 1.25rem)}.group-branch{color:var(--muted);margin-right:.35rem}.danger-zone{gap:var(--sp-4);display:grid}.danger-zone .merge-form{max-width:none;margin-top:0}.danger-row{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border:1px solid color-mix(in srgb, #dc2626 30%, var(--line));background:var(--surface);border-radius:14px;display:flex}.danger-row strong{color:#b42318}@media (prefers-color-scheme:dark){.danger-row strong{color:#f87171}.inline-bar{color:#0f1222;background:#e7e9f3}}.group-grid{align-items:start}.group-card{gap:var(--sp-2);display:grid}.group-card:hover{transform:none}.group-card-head{color:inherit;gap:2px;text-decoration:none;display:grid}.group-card-head:hover .name{color:var(--accent)}.group-path{color:var(--muted);font-size:.8rem}.subtree{margin-top:var(--sp-1);gap:2px;list-style:none;display:grid}.group-card>.subtree{padding-top:var(--sp-2);border-top:1px dashed var(--line)}.subtree .subtree{border-left:1px solid var(--line);margin:2px 0 0 .9rem;padding-left:.6rem}.subtree-row{align-items:center;gap:var(--sp-2);color:var(--ink);border-radius:8px;padding:.35rem .5rem;font-size:.92rem;text-decoration:none;display:flex}.subtree-row:hover{background:var(--accent-soft);color:var(--accent)}.subtree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.subtree-count{color:var(--muted);font-size:.8rem}.group-card-add{color:var(--muted);border-radius:6px;justify-self:start;padding:.2rem .5rem;font-size:.84rem;text-decoration:none}.group-card-add:hover{color:var(--accent);background:var(--accent-soft)}.group-crumbs{margin-bottom:var(--sp-1);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.9rem;display:flex}.group-crumbs>*+:before{content:"›";color:var(--muted);margin-right:.35rem}.group-crumbs [aria-current]{color:var(--ink);font-weight:600}.graph .hull-label{paint-order:stroke;stroke:var(--surface);stroke-width:4px;letter-spacing:.01em;pointer-events:none;font-size:12px;font-weight:700}.gv-panel{gap:var(--sp-4);align-content:start;display:grid}.gv-panel h3{margin:0}.gv-sel{padding-bottom:var(--sp-4);border-bottom:1px solid var(--line)}.gv-help{padding-bottom:var(--sp-4);border-bottom:1px solid var(--line);line-height:1.6}.gv-groups{gap:var(--sp-2);display:grid}.gv-groups-head{justify-content:space-between;align-items:center;display:flex}.gv-group-list,.gv-group-list ul{gap:2px;list-style:none;display:grid}.gv-group-row{align-items:center;gap:var(--sp-1);border-radius:8px;padding-right:2px;display:flex}.gv-group-row:hover,.gv-group-list li.is-focus>.gv-group-row{background:var(--chip)}.gv-group-list label{align-items:center;gap:var(--sp-2);cursor:pointer;min-width:0;color:var(--ink);flex:1;padding:.35rem .4rem;font-size:.9rem;display:flex}.gv-group-list input{accent-color:var(--accent);flex:none;width:15px;height:15px}.gv-swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.gv-swatch.round{border-radius:50%}.gv-group-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gv-mini{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:.2rem .4rem;font-size:.75rem}.gv-mini:hover{color:var(--accent);background:var(--accent-soft)}.gv-group-row:not(:hover) .gv-mini{opacity:0}.gv-group-list li.is-focus>.gv-group-row .gv-mini{opacity:1}@media (hover:none){.gv-group-list .gv-mini{opacity:1!important}}.gv-focus{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);cursor:pointer;border-radius:999px;justify-self:start;padding:.25rem .6rem;font-size:.8rem}.person-card{gap:var(--sp-2);flex-direction:column;display:flex}.pc-head{align-items:flex-start;gap:var(--sp-3);min-width:0;display:flex}.pc-avatar{background:var(--chip);width:36px;height:36px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:.95rem;font-weight:700;display:grid}.pc-avatar.is-me{background:var(--accent);color:#fff}.pc-title{flex:1;gap:2px;min-width:0;display:grid}.person-card .name{align-items:center;gap:var(--sp-2);flex-wrap:nowrap;min-width:0;font-size:1rem;display:flex}.pc-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pc-call{text-overflow:ellipsis;white-space:nowrap;max-width:40%;color:var(--muted);flex:none;font-size:.85rem;font-weight:400;overflow:hidden}.person-card .pc-meta{text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;margin:0;font-size:.85rem;overflow:hidden}.person-card .summary{margin:0;font-size:.9rem;line-height:1.55}.pc-foot{padding-top:var(--sp-1);justify-content:space-between;align-items:center;gap:var(--sp-2);min-width:0;margin-top:auto;display:flex}.pc-foot .chips{flex-wrap:nowrap;min-width:0;margin:0;overflow:hidden}.pc-foot .chip{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:9rem;overflow:hidden}.pc-foot .chip.more{color:var(--muted);background:0 0;padding-inline:.2rem}.pc-side{align-items:center;gap:var(--sp-2);flex:none;display:inline-flex}.pc-side .dots{margin:0}.pc-contact{color:var(--muted);white-space:nowrap;font-size:.75rem}.filterbar{align-items:center;gap:var(--sp-2) var(--sp-3);margin:calc(var(--sp-2) * -1) 0 var(--sp-5);flex-wrap:wrap;display:flex}.fb-icon{color:var(--muted)}.fb-item{align-items:center;gap:var(--sp-2);display:inline-flex}.fb-label{color:var(--muted);font-size:.82rem}.fb-item.is-on .sel-trigger{border-color:var(--accent);color:var(--accent)}.fb-count{align-items:center;gap:var(--sp-2);color:var(--muted);margin-left:auto;font-size:.85rem;display:inline-flex}.fb-reset{color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.2rem .4rem;font-size:.82rem}.fb-reset:hover{background:var(--accent-soft)}.filterbar.is-pending{opacity:.85}@media (max-width:640px){.fb-count{width:100%;margin-left:0}}.timeline li.is-change{padding-bottom:var(--sp-3)}.timeline li.is-change:before{background:var(--line);width:8px;height:8px;top:.5rem;left:calc(-1.25rem - 5px)}.change-row{align-items:center;gap:.3rem var(--sp-2);color:var(--muted);flex-wrap:wrap;font-size:.85rem;display:flex}.change-row>.icon{flex:none}.change-text{color:var(--ink);opacity:.85}.change-meta{font-size:.78rem}.change-row .cd{margin-left:auto}.change-row .cd-btn{opacity:0;background:0 0;border-color:#0000;padding:.15rem .35rem}.timeline li.is-change:hover .cd-btn,.change-row .cd.is-open .cd-btn{opacity:1}@media (hover:none){.change-row .cd-btn{opacity:1}}.dup-suggest{margin:calc(var(--sp-1) * -1) 0 var(--sp-5);padding:var(--sp-4) var(--sp-5);border:1px solid color-mix(in srgb, var(--dot-sun) 45%, var(--line));background:color-mix(in srgb, var(--dot-sun) 7%, var(--surface));border-radius:14px}.dup-suggest-head{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.dup-suggest-head .muted{flex-basis:100%}.dup-suggest ul{gap:var(--sp-2);list-style:none;display:grid}.dup-suggest li{align-items:center;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;display:flex}.dup-pair{align-items:center;gap:var(--sp-2);font-weight:600;display:inline-flex}.dup-suggest li .btn{margin-left:auto}.section-block[id]{scroll-margin-top:var(--sp-6)}.act-id{color:var(--muted);-webkit-user-select:all;user-select:all;background:0 0;font-size:.72rem}.gv-stage{min-width:0;position:relative}.graph.cosmos{background:#04060d;border-color:#1c2346;border-radius:18px;box-shadow:0 30px 60px -30px #080c28bf,inset 0 0 0 1px #7c8cff14}.gv-stars circle{fill:#fff;animation:5s ease-in-out infinite gv-twinkle}@keyframes gv-twinkle{0%,to{opacity:.15}50%{opacity:.8}}.gv-link path{stroke-linecap:round}.gv-link.trunk>path:first-child{stroke-width:2.2px}.gv-link.tree>path:first-child{stroke-width:1.8px}.gv-link.member>path:first-child{stroke-width:1.1px}.gv-link.relationship>path:first-child{stroke-width:1.6px}.gv-link.me>path:first-child{stroke-width:1px;stroke-dasharray:3 6}.gv-link .flow{stroke-width:2.6px;stroke-dasharray:1.5 22;stroke-opacity:.9;animation:2.8s linear infinite gv-flow}.gv-link.trunk .flow{stroke-width:3.2px;animation-duration:2.2s}.gv-link.member .flow{stroke-width:2px;stroke-opacity:.6;animation-duration:3.4s}.gv-link.relationship .flow{stroke-dasharray:1.5 16;animation-duration:2s}.gv-link.lit .flow{stroke-opacity:1;animation-duration:.9s}@keyframes gv-flow{to{stroke-dashoffset:-47px}}.gv-node{cursor:pointer}.gv-label{fill:#e8ecff;paint-order:stroke;stroke:#060a1a;stroke-width:3.5px;stroke-linejoin:round;pointer-events:none;font-size:11.5px;font-weight:600}.gv-sublabel{fill:#9aa4d6;paint-order:stroke;stroke:#060a1a;stroke-width:3px;pointer-events:none;font-size:9.5px}.gv-hub-label{letter-spacing:.05em;paint-order:stroke;stroke:#060a1a;stroke-width:4px;stroke-linejoin:round;pointer-events:none;font-size:12.5px;font-weight:800}.gv-node.hub.depth-1 .gv-hub-label,.gv-node.hub.depth-2 .gv-hub-label{letter-spacing:.03em;font-size:10.5px;font-weight:700}.gv-me-label{fill:#fff;paint-order:stroke;stroke:#060a1a;stroke-width:4px;pointer-events:none;font-size:13.5px;font-weight:800}.gv-link-label{fill:#c3cbf5;paint-order:stroke;stroke:#060a1a;stroke-width:3px;pointer-events:none;font-size:10px}.gv-node.me .pulse{fill:none;stroke:#8c9bff;stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:3.2s ease-out infinite gv-pulse}.gv-node.me .pulse.late{animation-delay:1.6s}@keyframes gv-pulse{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}.gv-node .ring{fill:none;stroke-width:1.5px;stroke-dasharray:3 4;transform-box:fill-box;transform-origin:50%;animation:8s linear infinite gv-spin}@keyframes gv-spin{to{transform:rotate(360deg)}}.gv-node.match>circle:nth-of-type(2),.gv-node.match>circle:nth-of-type(3){stroke:#fff;stroke-width:2.4px}.gv-node.hub:hover rect,.gv-node.person:hover>circle:last-of-type{filter:brightness(1.25)}.gv-hint{color:#c8d2ff8c;pointer-events:none;font-size:.72rem;position:absolute;bottom:12px;left:14px}.legend .sw.hub{background:#38bdf8;border-radius:2px;width:9px;height:9px;transform:rotate(45deg)}@media (max-width:760px){.gv-hint{display:none}}@media (prefers-reduced-motion:reduce){.gv-stars circle,.gv-link .flow,.gv-node.me .pulse,.gv-node .ring{animation:none}.gv-link .flow{display:none}}.gv-panel{grid-template-columns:minmax(0,1fr);min-width:0}.gv-panel>*{min-width:0}
