@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fffaf3;--surface:#fff;--surface-soft:#f6efe6;--text:#1b1530;--muted:#675f75;--border:#ebe2d6;--ink:#1b1530;--ink-text:#fff;--focus:#6d4dff;--danger:#c2243a;--tone-people:#ff5d73;--tone-places:#12b5a6;--tone-organizations:#7c5cff;--tone-projects:#ffb020;--tone-things:#4cc26b;--tone-relationships:#ff6fb5;--tone-events:#2e90ff;--tone-observations:#ff8a3d;--tone-patterns:#c084fc;--ring-empty:#dcd2c4;--display:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, sans-serif;--body:"Figtree Variable", ui-sans-serif, system-ui, sans-serif;font-family:var(--body);--card-shadow:#3c1e5a73;font-size:16px;line-height:1.55}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14111f;--surface:#1f1b2e;--surface-soft:#282339;--text:#f4f1fb;--muted:#aaa3bd;--border:#352f49;--ink:#f4f1fb;--ink-text:#14111f;--focus:#a892ff;--danger:#ff8c9b;--ring-empty:#443c5c;--card-shadow:#000c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14111f;--surface:#1f1b2e;--surface-soft:#282339;--text:#f4f1fb;--muted:#aaa3bd;--border:#352f49;--ink:#f4f1fb;--ink-text:#14111f;--focus:#a892ff;--danger:#ff8c9b;--ring-empty:#443c5c;--card-shadow:#000c}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--display);text-wrap:balance}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2.5px solid var(--focus);outline-offset:2px}.lucide{flex:none;width:1.1em;height:1.1em}.quiet,.add,.new-chat,.notice button,.back-link,.card-actions button{align-items:center;gap:.4rem;display:inline-flex}[role=alert]{color:var(--danger);margin:0;font-size:.9rem}button.primary{color:var(--ink-text);background:var(--ink);border-radius:999px;padding:.7rem 1.2rem;font-weight:600;transition:transform .15s}button.primary:not(:disabled):hover{transform:translateY(-1px)}.rings{width:var(--rings-size);height:var(--rings-size);flex:none;display:block;overflow:visible}.rings-tiny{--rings-size:1.6rem}.rings-small{--rings-size:2.5rem}.rings-large{--rings-size:8.5rem}.rings.thinking path{animation:1.5s ease-in-out infinite think-wave;animation-delay:calc(var(--ring) * .13s)}@keyframes think-wave{0%,65%,to{opacity:1}30%{opacity:.25}}@media (prefers-reduced-motion:reduce){.rings path{animation:none}}.sign-in{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(23rem,100%);min-height:100%;margin:0 auto;padding:3rem 1.25rem;display:flex}.sign-in h1{letter-spacing:-.03em;margin:1.75rem 0 0;font-size:2.75rem;font-weight:700;line-height:1.1}.tagline{color:var(--muted);margin:.4rem 0 2rem;font-size:1.1rem}.sign-in form{text-align:left;gap:1rem;width:100%;display:grid}.sign-in label,.knowledge-form label{gap:.3rem;font-size:.88rem;font-weight:500;display:grid}.sign-in input,.knowledge-form input:not([type=checkbox]),.knowledge-form select{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;width:100%;padding:.65rem .85rem}:root{--page-gutter:max(1.25rem, 2.5%)}.layout{grid-template-columns:17rem minmax(0,1fr);height:100%;transition:grid-template-columns .2s;display:grid}.stage{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.topbar{padding:.75rem var(--page-gutter);flex:none;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.menu-button,.scrim{display:none}.cost-tracker{color:var(--muted);font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.6rem;padding:.3rem .8rem;font-size:.8rem;display:flex}.cost-tracker strong{color:var(--text);font-weight:700}.cost-bar{background:var(--surface-soft);border-radius:999px;width:3.5rem;height:.35rem;overflow:hidden}.cost-bar>div{background:linear-gradient(90deg, var(--tone-places), var(--tone-organizations));border-radius:999px;height:100%}.history{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:.5rem;min-height:0;padding:1rem .85rem;display:flex}.history-head{align-items:center;gap:.35rem;display:flex}.history-head .brand{flex:1;min-width:0}.sidebar-toggle{width:2.5rem;height:2.5rem;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:1.15rem;display:grid}.sidebar-toggle:hover{color:var(--text);background:var(--surface-soft)}@media (width>=721px){.sidebar-collapsed{grid-template-columns:4.5rem minmax(0,1fr)}.sidebar-collapsed .history{align-items:center;overflow:hidden}.sidebar-collapsed .history-head{flex-direction:column}.sidebar-collapsed .history-head .brand{flex:none;padding:.45rem}.sidebar-collapsed .brand>span,.sidebar-collapsed .history-label,.sidebar-collapsed .history-title,.sidebar-collapsed .history ul{display:none}.sidebar-collapsed .new-chat{border-radius:50%;justify-content:center;width:2.75rem;height:2.75rem;padding:0}.sidebar-collapsed .build-info,.sidebar-collapsed .privacy-link{display:none}}.brand{font-family:var(--display);letter-spacing:-.02em;border-radius:14px;align-items:center;gap:.6rem;padding:.45rem .6rem;font-size:1.3rem;font-weight:700;transition:background .15s;display:flex}.brand:hover,.brand.active{background:linear-gradient(100deg,#ffb02038,#ff5d7333 55%,#7c5cff38)}.brand-sidebar{text-align:left;width:100%;margin-bottom:.6rem}.brand-topbar{display:none}.new-chat{text-align:left;background:var(--surface-soft);border-radius:14px;padding:.65rem .9rem;font-weight:600}.new-chat:hover{background:color-mix(in srgb, var(--text) 10%, var(--surface))}.history li{position:relative}.history-delete{width:1.9rem;height:1.9rem;color:var(--muted);opacity:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.history li:hover .history-delete,.history li:focus-within .history-delete,.history li button.active+.history-delete{opacity:1}.history-delete:hover{color:var(--text);background:var(--surface-soft)}.history-confirm{background:var(--surface-soft);border-radius:12px;padding:.5rem .6rem;font-size:.9rem}.history-confirm p{margin:0 0 .5rem}.history-confirm .form-actions{gap:.5rem}.history-confirm .form-actions button{padding:.35rem .7rem;font-size:.85rem}.history li p[role=alert]{margin:.25rem .6rem;font-size:.85rem}.sidebar-collapsed .history-delete{display:none}@media (hover:none){.history-delete{opacity:1}}.history-title{font-family:var(--body);letter-spacing:.05em;color:var(--muted);text-transform:uppercase;margin:1rem 0 .15rem;padding:0 .6rem;font-size:.75rem;font-weight:600}.history ul{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.history li>button:not(.history-delete){text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:10px;width:100%;padding:.5rem 2.4rem .5rem .65rem;font-size:.93rem;overflow:hidden}.history li>button:not(.history-delete):hover,.history li button.active{background:var(--surface-soft)}.history li>button.active{font-weight:600}.privacy-link{color:var(--muted);align-items:center;gap:.4rem;margin-top:auto;padding:.5rem .65rem;font-size:.88rem;text-decoration:none;display:inline-flex}.privacy-link:hover{color:var(--text)}.privacy{max-width:44rem}.privacy-section{margin-bottom:1.5rem}.privacy-section h2{margin:0 0 .5rem;font-size:1.2rem;font-weight:700}.privacy-section p,.privacy-section li{line-height:1.55}.privacy-section ul{padding-left:1.2rem}.privacy-section a{color:var(--text)}.inline-icon{vertical-align:-.05em;width:.8em;height:.8em}.privacy-accept label.check{align-items:flex-start;gap:.6rem;margin:.6rem 0;line-height:1.45;display:flex}.privacy-accept label.check input{margin-top:.3rem}.privacy-accept .primary{margin-top:.5rem}.privacy-accepted{color:#2f9e5b;align-items:center;gap:.4rem;font-weight:600;display:flex}.welcome-terms{margin-top:.75rem;font-size:.95rem}.welcome-terms a{color:var(--text)}.build-info{color:var(--muted);margin:0;padding:0 .65rem;font-size:.75rem}.process-overlay{z-index:20;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.process-card{background:var(--surface);border:1.5px solid var(--border);width:min(26rem,100%);box-shadow:0 24px 60px color-mix(in srgb, var(--text) 22%, transparent);border-radius:18px;gap:1rem;padding:1.5rem;display:grid}.process-card h2{margin:0}.process-steps{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.process-steps li{color:var(--muted);align-items:center;gap:.7rem;display:flex}.process-steps li[data-state=active]{color:var(--text);font-weight:600}.process-steps li[data-state=done]{color:var(--text)}.process-steps li>span{display:grid}.process-steps small{color:var(--muted);font-weight:400}.process-steps .lucide{flex:none;width:1.1rem;height:1.1rem}.process-dot{border:2px solid var(--border);border-radius:50%;flex:none;width:1.1rem;height:1.1rem}.coming-up{text-align:left;width:100%;max-width:43.5rem;margin:1.5rem auto 0}.coming-up h2{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:.85rem;font-weight:600;display:flex}.coming-up-row{grid-template-columns:auto 1fr auto;align-items:center;gap:.4rem;display:grid}.coming-up-item{min-height:3.2rem;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:12px;grid-template-columns:7.5rem 1fr;gap:.6rem;padding:.55rem .8rem;text-decoration:none;display:grid}.coming-up-item:hover{border-color:var(--tone-events)}.coming-up-arrow{width:2rem;height:2rem;color:var(--muted);border-radius:50%;place-items:center;display:grid}.coming-up-arrow:hover:not(:disabled){color:var(--text);background:var(--surface-soft)}.coming-up-arrow:disabled{opacity:.35}.coming-up-dots{justify-content:center;gap:.4rem;margin-top:.6rem;display:flex}.coming-up-dots button{background:var(--border);border-radius:50%;width:.5rem;height:.5rem;padding:0}.coming-up-dots button[aria-selected=true]{background:var(--tone-events)}.coming-up-when{color:var(--tone-events);font-weight:600}.coming-up small{color:var(--muted)}.account-notifications{gap:.5rem;display:grid}.account-notifications>button{text-align:left;background:var(--surface-soft);border-radius:10px;align-items:baseline;gap:.5rem;padding:.45rem .65rem;font-weight:600;display:flex}.account-notifications>button[aria-checked=true]{color:var(--surface);background:var(--tone-events)}.account-notifications small{opacity:.8;font-weight:400}.account-note{color:var(--muted);margin:0;font-size:.82rem}.account-menu{position:relative}.account-button{border-radius:50%;padding:0;display:flex}.account-button:hover .avatar,.account-button[aria-expanded=true] .avatar{outline:2px solid var(--tone-places);outline-offset:2px}.account-popover{z-index:5;background:var(--surface);border:1.5px solid var(--border);min-width:16rem;box-shadow:0 12px 32px color-mix(in srgb, var(--text) 18%, transparent);border-radius:14px;gap:.5rem;padding:.9rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.account-name{margin:0;font-weight:600}.account-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:.25rem 0 0;font-size:.78rem;font-weight:600}.theme-choice{background:var(--surface-soft);border-radius:10px;grid-template-columns:repeat(3,1fr);padding:.2rem;display:grid}.theme-choice button{color:var(--muted);border-radius:8px;padding:.4rem 0;font-size:.85rem;font-weight:600}.theme-choice button[aria-checked=true]{color:var(--text);background:var(--surface);box-shadow:0 1px 2px color-mix(in srgb, var(--text) 12%, transparent)}.account-sign-out{color:var(--muted);text-align:left;border-radius:10px;align-items:center;gap:.5rem;margin-top:.25rem;padding:.5rem .65rem;font-size:.88rem;display:inline-flex}.account-sign-out:hover{background:var(--surface-soft)}.account-sign-out small{opacity:.7;margin-left:auto;font-size:.75rem}.account-reload-new{color:var(--text);background:color-mix(in srgb, var(--tone-events) 18%, var(--surface));font-weight:600}.account-dot{background:var(--tone-events);border:2px solid var(--bg);border-radius:50%;width:.6rem;height:.6rem;position:absolute;top:-1px;right:-1px}.account-button{position:relative}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat.is-empty{justify-content:center;padding-bottom:12vh}.welcome{text-align:center;flex-direction:column;align-items:center;padding:0 1.25rem 2rem;display:flex}.welcome h1{letter-spacing:-.03em;margin:1.75rem 0 .25rem;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.1}.welcome p{color:var(--muted);margin:0;font-size:1.1rem}.timeline{flex-direction:column;flex:1;gap:1rem;width:100%;max-width:46rem;margin:0 auto;padding:1rem 1.25rem 1.5rem;display:flex;overflow-y:auto}.message{flex-direction:column;gap:.2rem;max-width:85%;display:flex}.message.user{align-self:flex-end;align-items:flex-end}.message-time{color:var(--muted);font-variant-numeric:tabular-nums;padding:0 .35rem;font-size:.72rem}.bubble{overflow-wrap:anywhere;white-space:pre-wrap;max-width:100%;font-size:1.05rem}.bubble.user{color:#fff;background:linear-gradient(120deg,#6d4dff,#9a3fe0);border-radius:20px 20px 6px;padding:.6rem 1rem}.bubble.error{color:var(--muted)}.thinking-row{padding:.25rem .1rem}.composer{flex:none;width:100%;max-width:46rem;margin:0 auto;padding:0 1.25rem 1.25rem}.composer-error{color:var(--danger);margin:0 0 .5rem;font-size:.9rem}.composer-row{background:var(--surface);border:1.5px solid var(--border);box-shadow:0 10px 30px -18px var(--card-shadow);border-radius:28px;align-items:flex-end;gap:.5rem;padding:.45rem .45rem .45rem 1.15rem;transition:border-color .15s;display:flex}.composer-row:focus-within{border-color:var(--focus)}.composer textarea{field-sizing:content;resize:none;background:0 0;border:0;outline:0;flex:1;min-height:2.5rem;max-height:40vh;padding:.45rem 0;font-size:1.05rem}.composer textarea::placeholder{color:var(--muted)}.send{color:#fff;background:linear-gradient(135deg,#6d4dff,#d93d8f);border-radius:50%;flex:none;place-items:center;width:2.5rem;height:2.5rem;transition:transform .15s;display:grid}.send:not(:disabled):hover{transform:scale(1.06)}.me{width:100%;min-height:0;padding:1.5rem var(--page-gutter) 3rem;flex:1;overflow-y:auto}.me-hero{align-items:center;gap:2rem;margin:.5rem 0 2rem;display:flex}.me-hero p{max-width:34rem;color:var(--muted);margin:0 0 .6rem;font-size:1.15rem}.quiet{text-underline-offset:3px;padding:.2rem 0;font-size:.88rem;font-weight:600;text-decoration:underline}.notice{background:var(--surface-soft);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1.25rem;padding:.7rem 1rem;display:flex}.notice p{margin:0}.notice button{color:var(--ink-text);background:var(--ink);border-radius:999px;padding:.38rem .85rem;font-size:.88rem;font-weight:600}.me,[data-tone=people]{--tone:var(--tone-people)}[data-tone=places]{--tone:var(--tone-places)}[data-tone=organizations]{--tone:var(--tone-organizations)}[data-tone=projects]{--tone:var(--tone-projects)}[data-tone=things]{--tone:var(--tone-things)}[data-tone=relationships]{--tone:var(--tone-relationships)}[data-tone=events]{--tone:var(--tone-events)}[data-tone=observations]{--tone:var(--tone-observations)}[data-tone=patterns]{--tone:var(--tone-patterns)}.section-cards{grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.9rem;display:grid}.section-card{min-height:8.5rem;color:var(--text);background:color-mix(in srgb, var(--tone) 18%, var(--surface));border:1.5px solid color-mix(in srgb, var(--tone) 28%, var(--surface));border-radius:24px;flex-direction:column;gap:.15rem;padding:1.15rem 1.25rem;text-decoration:none;transition:transform .15s,border-color .15s;display:flex}.section-card:hover{border-color:var(--tone);transform:translateY(-2px)}.section-top{justify-content:space-between;align-items:flex-start;display:flex}.section-icon{width:1.9rem;height:1.9rem;color:color-mix(in srgb, var(--tone) 72%, var(--text))}.section-count{font-family:var(--display);letter-spacing:-.03em;font-size:2.6rem;font-weight:800;line-height:1}.section-label{font-family:var(--display);letter-spacing:-.01em;margin-top:auto;font-size:1.25rem;font-weight:700}.page-header{align-items:center;gap:.35rem;margin-bottom:1.25rem;display:flex}.back-link{width:2.5rem;height:2.5rem;color:var(--muted);border-radius:50%;justify-content:center;margin-left:-.6rem;font-size:1.15rem}.back-link:hover{background:var(--surface-soft);color:var(--text)}.page-title h1{letter-spacing:-.03em;margin:0;font-size:2.4rem;font-weight:800;line-height:1.1}.entity-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.entity-tile{height:100%;color:var(--text);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:20px;flex-direction:column;align-items:center;gap:.2rem;padding:1.1rem .7rem;text-decoration:none;transition:transform .15s,border-color .15s;display:flex;position:relative}.tile-mark{width:1.5rem;height:1.5rem;color:var(--muted);background:var(--surface-soft);border-radius:50%;place-items:center;display:grid;position:absolute;top:2.9rem;right:.6rem}.tile-mark .lucide{width:.9rem;height:.9rem}.tile-mark.on-map{color:var(--surface);background:var(--tone)}button.tile-mark{cursor:pointer;padding:0}button.tile-mark:hover{outline:2px solid var(--tone);outline-offset:1px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.entity-tile:hover{border-color:var(--tone);transform:translateY(-2px)}.entity-name{overflow-wrap:anywhere;margin-top:.45rem;font-weight:650}.entity-alias{color:var(--muted);font-size:.82rem}.avatar{width:4.25rem;height:4.25rem;font-family:var(--display);color:var(--text);background:color-mix(in srgb, var(--tone) 32%, var(--surface));border-radius:50%;flex:none;place-items:center;font-size:1.35rem;font-weight:700;display:grid;overflow:hidden}.avatar .lucide{width:45%;height:45%}.avatar-small{width:2.5rem;height:2.5rem;font-size:.95rem}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-large{width:9.5rem;height:9.5rem;font-size:3rem}.profile-hero{align-items:flex-start;gap:2rem;margin-bottom:2rem;display:flex}.profile-photo{flex:none;justify-items:center;gap:.4rem;max-width:11rem;display:grid}.photo-actions{gap:.8rem;display:flex}.profile-main{flex:1;min-width:0}.profile-main h1{letter-spacing:-.03em;overflow-wrap:anywhere;margin:0;font-size:2.6rem;font-weight:800;line-height:1.1}.profile-aliases{color:var(--muted);margin:.3rem 0 0}.profile-section,.event-group{margin-top:1.75rem}.event-section summary{cursor:pointer;align-items:center;gap:.5rem;padding:.4rem 0;list-style:none;display:flex}.event-section summary::-webkit-details-marker{display:none}.event-section summary h2{margin:0}.event-section[open] summary{margin-bottom:.5rem}.event-chevron{color:var(--muted);transition:transform .15s}.event-section[open] .event-chevron{transform:rotate(90deg)}.event-count{text-align:center;background:color-mix(in srgb, var(--tone) 18%, var(--bg));border-radius:999px;min-width:1.6rem;padding:0 .45rem;font-size:.8rem;font-weight:700}.sortable-card{position:relative}.sortable-card.dragging{z-index:2;filter:drop-shadow(0 10px 18px #14111f38)}.drag-handle{width:2rem;height:2.25rem;color:var(--muted);cursor:grab;opacity:.6;touch-action:none;border-radius:10px;place-items:center;display:grid;position:absolute;top:.45rem;right:.35rem}.drag-handle:hover,.drag-handle:focus-visible{color:var(--text);background:var(--surface-soft);opacity:1}.dragging .drag-handle{cursor:grabbing}.sortable-card:has(.knowledge-form) .drag-handle{display:none}.sortable-card .card-head{padding-right:2rem}.profile-section h2,.event-group h2{margin:0 0 .7rem;font-size:1.25rem;font-weight:700}.connection-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.connection-list li,.connection-list a{color:var(--text);text-decoration:none}.connection-list li{background:color-mix(in srgb, var(--tone) 15%, var(--surface));border-radius:999px;padding:.45rem .9rem}.connection-list span{color:var(--muted)}.map-placeholder{height:15rem;color:var(--muted);background:radial-gradient(circle, color-mix(in srgb, var(--tone-places) 35%, transparent) 1.5px, transparent 1.6px) 0 0 / 20px 20px, color-mix(in srgb, var(--tone-places) 9%, var(--surface));border:1.5px dashed color-mix(in srgb, var(--tone-places) 45%, var(--surface));border-radius:24px;place-items:center;margin-bottom:1.25rem;font-weight:600;display:grid}.family-tree{margin:.5rem 0 1.5rem;padding:1.25rem .5rem 1rem;overflow-x:auto}.family-canvas{margin:0 auto;position:relative}.family-canvas svg{position:absolute;inset:0;overflow:visible}.tree-link{fill:none;stroke:color-mix(in srgb, var(--tone) 55%, var(--surface));stroke-width:2px}.tree-link.sibling{stroke-dasharray:4 4}.tree-card{z-index:1;color:var(--text);text-align:center;overflow-wrap:anywhere;background:var(--surface);border:1.5px solid var(--border);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.5rem .4rem;font-size:.92rem;font-weight:650;text-decoration:none;transition:transform .15s,border-color .15s;display:flex;position:absolute}a.tree-card:hover{border-color:var(--tone);transform:translateY(-2px)}.profile-facts dl{margin:0}.profile-fact{border-bottom:1px solid var(--border);grid-template-columns:minmax(6rem,11rem) minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.3rem 0;display:grid}.profile-fact:last-child{border-bottom:0}.profile-fact dt{color:var(--muted);font-size:.9rem}.profile-fact dd{overflow-wrap:anywhere;margin:0;font-weight:600}.profile-fact-actions{gap:.1rem;display:flex}.profile-fact-actions button{width:2rem;height:2rem;color:var(--muted);border-radius:50%;place-items:center;display:grid}.profile-fact-actions button:hover{color:var(--text);background:var(--surface-soft)}.tree-connection{color:var(--muted);font-size:.72rem;font-weight:500;line-height:1.15}.tree-connection.disputed{font-style:italic}.connection-list .connection a{color:inherit}.manage{margin-top:1.5rem}.manage summary{color:var(--muted);cursor:pointer;margin-bottom:.75rem;font-size:.92rem;font-weight:600}.self-name{margin:.5rem 0 .75rem}.self-name label{color:var(--muted);margin-bottom:.3rem;font-size:.9rem;display:block}.self-name div{align-items:center;gap:.4rem;max-width:20rem;display:flex}.self-name input{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;flex:1;min-width:0;padding:.5rem .75rem}.self-name button{border-radius:50%;flex:none;place-items:center;width:2.5rem;height:2.5rem;display:grid}.import-intro{max-width:40rem;color:var(--muted);margin:0 0 1rem}.import-start{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-bottom:1.5rem;display:flex}.import-start .primary,.import-actions button,.import-link{align-items:center;gap:.4rem;display:inline-flex}.import-start label.check{color:var(--muted);align-items:center;gap:.5rem;font-size:.92rem;display:flex}.import-link{color:var(--text);margin-left:1rem}.import-icon{color:var(--tone)}.import-progress{background:var(--surface-soft);border-radius:999px;height:.4rem;margin:.25rem 0 .5rem;overflow:hidden}.import-progress>div{background:var(--tone);border-radius:999px;height:100%;transition:width .3s}.import-actions{align-items:center;gap:.5rem;margin-top:.5rem}.last-looked{color:var(--muted);font-size:.85rem}.pattern-card .card-head:before{display:none}.pattern-evidence{margin:.4rem 0}.pattern-evidence summary{color:var(--muted);cursor:pointer;font-size:.9rem;font-weight:600}.notice .spin{vertical-align:-.15em;margin-right:.3rem;animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.notice .spin{animation:none}}.confirm label.check{align-items:flex-start;gap:.5rem;margin:.5rem 0;font-size:.92rem;display:flex}.confirm label.check input{margin-top:.25rem}.evidence-picture{color:var(--tone);align-items:center;gap:.25rem;margin-left:.5rem;font-size:.8rem;font-weight:600;display:inline-flex}.evidence-picture:hover{text-decoration:underline}.off-limits h3{color:var(--muted);text-decoration:line-through}.places-map{margin-bottom:1.25rem}.places-map-canvas{background:var(--surface-soft);border-radius:20px;width:100%;height:22rem;overflow:hidden}.set-location{margin:.5rem 0}.set-location label{color:var(--muted);margin-bottom:.3rem;font-size:.9rem;display:block}.set-location div{gap:.4rem;max-width:28rem;display:flex}.set-location input{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;flex:1;min-width:0;padding:.5rem .75rem}.group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:.75rem 0 .35rem;font-size:.8rem;font-weight:600}.profile-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:.4rem;margin:.3rem 0 .5rem;font-size:.9rem;display:inline-flex}.profile-location .quiet{margin-left:.6rem;font-size:.85rem}.snackbar{bottom:max(1.25rem, env(safe-area-inset-bottom));z-index:5;width:max-content;max-width:min(30rem,100vw - 2rem);color:var(--bg);background:var(--text);border-radius:14px;align-items:center;gap:.6rem;padding:.6rem .6rem .6rem 1rem;font-size:.95rem;font-weight:550;animation:.2s snackbar-in;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #14111f47}.snackbar.success>.lucide{color:#4cc26b}.snackbar.error>.lucide{color:#ff5d73}.snackbar button{width:1.9rem;height:1.9rem;color:inherit;opacity:.7;border-radius:50%;place-items:center;display:grid}.snackbar button:hover{opacity:1}@keyframes snackbar-in{0%{opacity:0;transform:translate(-50%,.5rem)}}.calendar{background:var(--surface);border:1px solid var(--border);border-radius:24px;margin-bottom:1.25rem;padding:1rem 1.1rem 1.1rem}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.calendar-head h2{font-family:var(--display);margin:0;font-size:1.2rem;font-weight:700}.calendar-head button{background:var(--surface-soft);border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;font-size:1.3rem;line-height:1;display:grid}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;display:grid}.weekday{color:var(--muted);text-align:center;padding:.25rem 0;font-size:.75rem;font-weight:600}.day{border-radius:12px;place-items:center;height:4rem;font-size:.92rem;display:grid;position:relative}.day:disabled{cursor:default;opacity:1}.day.outside{color:color-mix(in srgb, var(--muted) 55%, transparent)}.day.today span{text-underline-offset:3px;font-weight:800;text-decoration:underline}.day:not(:disabled){background:color-mix(in srgb, var(--tone) 14%, var(--surface));font-weight:700}.day:not(:disabled):hover,.day.selected{background:color-mix(in srgb, var(--tone) 32%, var(--surface))}.day.spanning{background:color-mix(in srgb, var(--tone) 14%, var(--surface));border-radius:0}.day.span-start:not(.spanning){border-radius:12px 0 0 12px}.day.spanning:not(.span-start) .dot{border-radius:0;width:100%;height:.2rem}.date-span{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.dot{background:var(--tone);border-radius:50%;width:.38rem;height:.38rem;position:absolute;bottom:14%}.add,.knowledge-form .form-actions button:not(.primary),.confirm .form-actions button{background:var(--surface-soft);border-radius:999px;padding:.38rem .85rem;font-size:.88rem;font-weight:600}.add{margin-bottom:1rem}.card-actions button{width:2.1rem;height:2.1rem;color:var(--muted);border-radius:50%;justify-content:center}.card-actions button:hover{color:var(--text);background:var(--surface-soft)}.empty{color:var(--muted);text-align:center;padding:2.5rem 1rem}.knowledge-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.knowledge-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:.95rem 1.1rem;list-style:none}.card-head{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.card-head:before{content:"";background:var(--tone);border-radius:50%;flex:none;width:.7rem;height:.7rem}.card-head h3{overflow-wrap:anywhere;margin:0;font-size:1.1rem;font-weight:650;line-height:1.3}.badge{background:color-mix(in srgb, var(--tone) 15%, var(--surface));border-radius:999px;padding:.05rem .5rem;font-size:.74rem;font-weight:600}.card-detail{color:var(--muted);margin:.25rem 0 0;font-size:.93rem}.evidence{color:var(--muted);margin:.6rem 0 0;padding:0;font-size:.88rem;list-style:none}.evidence .lucide{vertical-align:-.05em;width:.8em;height:.8em;color:var(--tone);margin-right:.35em}.evidence q{color:var(--text);font-style:italic}.form-actions{gap:.4rem;margin-top:.75rem;display:flex}.card-actions{gap:.15rem;margin:.4rem 0 -.3rem -.5rem}.confirm .form-actions button.danger{color:var(--danger);background:color-mix(in srgb, var(--danger) 13%, var(--surface))}.confirm p{margin:.75rem 0 0;font-size:.92rem}.knowledge-form{gap:.75rem;display:grid}.knowledge-form fieldset{border:1.5px solid var(--border);border-radius:12px;gap:.3rem;margin:0;padding:.6rem .85rem;display:grid}.knowledge-form legend{padding:0 .3rem;font-size:.88rem;font-weight:500}.entity-picker{gap:.5rem}.picker-tabs{flex-wrap:wrap;gap:.3rem;display:flex}.picker-tabs button{color:var(--muted);background:0 0;border:1.5px solid #0000;border-radius:999px;padding:.3rem .7rem;font-size:.85rem;font-weight:600}.picker-tabs button[aria-selected=true]{color:var(--text);border-color:var(--border);background:var(--surface)}.entity-picker input[type=search]{padding:.45rem .75rem}.picker-grid{flex-wrap:wrap;gap:.35rem;display:flex}.picker-chip{background:var(--surface);border:1.5px solid var(--border);border-radius:999px;padding:.35rem .75rem;font-size:.88rem}.picker-chip[aria-checked=true]{color:var(--surface);background:var(--text);border-color:var(--text)}.picker-chosen{margin:0}.knowledge-form label.check{align-items:center;gap:.5rem;font-weight:400;display:flex}@media (width<=720px){.layout{grid-template-columns:minmax(0,1fr)}.history{z-index:3;width:min(18rem,84vw);transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.menu-open .history{transform:none}.scrim{z-index:2;background:#14111f73;position:fixed;inset:0}.menu-open .scrim{display:block}.topbar{gap:.4rem;padding:.6rem .9rem}.cost-bar{display:none}.brand-topbar{margin-right:auto;padding:.3rem .5rem;font-size:1.1rem;display:flex}.sidebar-toggle{display:none}.menu-button{border-radius:10px;place-items:center;width:2.5rem;height:2.5rem;font-size:1.3rem;display:grid}.me{padding:.5rem 1.25rem 2.5rem}.day{aspect-ratio:1/.85;height:auto}.section-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.section-card{min-height:9.5rem;padding:.95rem}.profile-hero{flex-direction:column;align-items:center;gap:1rem}.profile-main{width:100%}.card-actions button{width:2.6rem;height:2.6rem}.me-hero{flex-direction:column;align-items:flex-start;gap:1rem}.rings-large{--rings-size:6.5rem}.composer{padding-bottom:max(1rem, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.layout,.history,.event-chevron{transition:none}.snackbar{animation:none}}
