.app{display:flex;flex-direction:column;height:100vh}.app__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem;background:var(--bg);border-bottom:1px solid var(--border)}.app__header h1{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:.55rem}.app__header h1:before{content:"";width:.62em;height:.62em;background:var(--primary);border-radius:2px;transform:rotate(45deg);flex-shrink:0}.app__user{display:flex;align-items:center;gap:.75rem}.app__center{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem 1.5rem;overflow-y:auto}.app__tagline{margin:.15rem 0 0;font-size:.88rem;color:var(--text-muted)}.app__notice{margin:auto;max-width:32rem;padding:2rem 1.5rem;text-align:center;color:var(--text-secondary)}.app__notice--error{color:var(--danger)}.app__hint{font-size:.85rem;color:var(--text-muted)}.shell{display:flex;flex-direction:column;flex:1;min-height:0}.shell__nav{display:flex;gap:.25rem;padding:.5rem 1.5rem 0;background:var(--bg);border-bottom:1px solid var(--border);overflow-x:auto}.shell__tab{padding:.5rem .9rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.9rem;font-weight:500;white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color var(--speed-fast) ease-out,background var(--speed-fast) ease-out}.shell__tab:hover{color:var(--text);background:var(--surface-inset)}.shell__tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.shell__tab--settings{margin-left:auto}.settings{display:flex;flex:1;min-height:0}.settings__nav{width:13rem;flex-shrink:0;border-right:1px solid var(--border);background:var(--bg);padding:1.25rem .75rem;overflow-y:auto}.settings__group{margin:0 0 .35rem;padding:0 .6rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.settings__list{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:2px}.settings__item{width:100%;text-align:left;padding:.45rem .6rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.9rem;transition:background var(--speed-fast) ease-out,color var(--speed-fast) ease-out}.settings__item:hover{background:var(--surface-inset);color:var(--text)}.settings__item--active{background:var(--primary-soft);color:var(--primary);font-weight:500}.settings__body{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.connections,.ingestion,.graph-overview{flex:1;min-height:0;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.connections__head,.ingestion__head,.graph-overview__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.connections__title,.ingestion__title,.graph-overview__title{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:550;letter-spacing:-.01em}.connections__sub,.ingestion__sub,.graph-overview__sub{margin:.2rem 0 0;font-size:.88rem;color:var(--text-muted)}.connections__connect{padding:.55rem 1.1rem;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--primary);color:var(--on-primary);font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--speed-fast) ease-out}.connections__connect:hover:not(:disabled){background:var(--primary-hover)}.connections__connect:disabled{opacity:.5;cursor:not-allowed}.ingestion__refresh,.graph-overview__refresh{padding:.55rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;font-weight:500;transition:background var(--speed-fast) ease-out}.ingestion__refresh:hover:not(:disabled),.graph-overview__refresh:hover:not(:disabled){background:var(--surface-inset)}.ingestion__refresh:disabled,.graph-overview__refresh:disabled{opacity:.5;cursor:not-allowed}.connections__subhead{margin:.5rem 0 0;font-size:1rem;font-weight:600}.source-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem}.source-card{display:flex;flex-direction:column;gap:.6rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.source-card__icon{width:2.1rem;height:2.1rem;display:grid;place-items:center;background:var(--primary-soft);border-radius:var(--radius-sm);color:var(--primary)}.source-card__icon svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.source-card__body{flex:1}.source-card__name{font-weight:600}.source-card__desc{margin:.15rem 0 0;font-size:.85rem;color:var(--text-secondary)}.source-card__foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.source-card__count{font-size:.78rem;font-weight:600;color:var(--success)}.source-card .connections__connect{background:transparent;color:var(--primary);border:1px solid var(--primary-soft-border)}.source-card .connections__connect:hover:not(:disabled){background:var(--primary-soft)}.connections__error,.ingestion__error,.ingestion-connection__error,.graph-overview__error{color:var(--danger);font-size:.88rem;margin:0}.connections__empty,.ingestion__empty,.ingestion__muted,.ingestion__note,.graph-overview__empty,.graph-overview__muted{color:var(--text-muted);font-size:.88rem}.connections__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.connection{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.connection__row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.connection__info{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .9rem;min-width:0}.connection__provider{text-transform:capitalize;font-weight:600}.connection__account{color:var(--text-secondary);font-size:.88rem}.connection__status{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.14rem .55rem;border-radius:var(--radius-full);background:var(--success-soft);border:1px solid var(--success-soft-border);color:var(--success)}.connection__status--auth_error,.connection__status--disconnected{background:var(--danger-soft);border-color:var(--danger-soft-border);color:var(--danger)}.connection__status--disabled{background:var(--surface-inset);border-color:var(--border);color:var(--text-muted)}.connection__status--syncing{background:var(--info-soft);border-color:var(--info-soft-border);color:var(--info)}.connection__freshness{font-size:.8rem;color:var(--text-muted)}.connection__last-error{font-size:.8rem;color:var(--danger);flex-basis:100%}.connection__actions{display:flex;gap:.4rem;flex-shrink:0}.connection__actions button{padding:.4rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;font-size:.84rem;font-weight:500;transition:background var(--speed-fast) ease-out}.connection__actions button:hover:not(:disabled){background:var(--surface-inset)}.connection__actions button:disabled{opacity:.5;cursor:not-allowed}.connection__disconnect{color:var(--danger)}.connection__folders{display:flex;flex-direction:column;gap:.5rem;padding-top:.6rem;margin-top:.6rem;border-top:1px dashed var(--border)}.connection__folders-summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.connection__folders-text{font-size:.85rem;color:var(--text-secondary)}.connection__folders-prompt{font-size:.85rem;color:var(--accent)}.connection__folders-error{color:var(--danger);font-size:.85rem;margin:0}.connection__folders-summary button,.connection__folders-actions button{padding:.35rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;font-size:.82rem;transition:background var(--speed-fast) ease-out}.connection__folders-summary button:hover:not(:disabled),.connection__folders-actions button:hover:not(:disabled){background:var(--surface-inset)}.connection__folders-summary button:disabled,.connection__folders-actions button:disabled{opacity:.5;cursor:not-allowed}.connection__folders-picker{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .8rem;background:var(--surface-inset);max-height:18rem;overflow-y:auto}.connection__folders-actions{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.6rem}.folder-tree,.folder-tree ul{list-style:none;margin:0;padding-left:1rem}.folder-tree{padding-left:0}.folder-tree__row{display:flex;align-items:center;gap:.35rem;padding:.18rem 0}.folder-tree__toggle{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:.75rem;width:1.2rem;text-align:center}.folder-tree__label{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem}.folder-tree__empty{font-size:.8rem;color:var(--text-muted);padding:.15rem 0}.ingestion__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ingestion-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);padding:1rem}.ingestion-panel--wide{background:transparent;border:none;box-shadow:none;padding:0}.ingestion-panel h3{margin:0 0 .75rem;font-size:1rem;font-weight:600}.ingestion-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.ingestion-stats div{min-width:0}.ingestion-stats dt{font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ingestion-stats dd{margin:.12rem 0 0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ingestion-bars{display:flex;flex-direction:column;gap:.35rem;margin-top:.75rem}.ingestion-bars__row{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;font-size:.85rem;font-variant-numeric:tabular-nums}.ingestion-bars__row em{color:var(--text-muted);font-style:normal}.ingestion-connections{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.ingestion-connection{border:1px solid var(--border);border-radius:var(--radius-md);padding:.85rem 1rem;background:var(--surface);box-shadow:var(--shadow-sm)}.ingestion-connection>div:first-child{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.ingestion-connection>div:first-child span{text-transform:capitalize;color:var(--text-secondary)}.ingestion-connection dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem 1rem;margin:0}@media(max-width:900px){.ingestion__grid,.ingestion-connection dl{grid-template-columns:1fr}}.graph-overview__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.graph-overview__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.graph-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);padding:1rem}.graph-panel h3{margin:0 0 .75rem;font-size:1rem;font-weight:600}.graph-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.graph-stats div{min-width:0}.graph-stats dt{font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.graph-stats dd{margin:.12rem 0 0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.graph-bars,.graph-counts,.graph-list,.graph-notes{list-style:none;margin:0;padding:0}.graph-bars{display:flex;flex-direction:column;gap:.35rem;margin-top:.75rem}.graph-bars__row,.graph-counts li{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;font-size:.85rem;font-variant-numeric:tabular-nums}.graph-bars__row span{text-transform:capitalize}.graph-bars__row em{color:var(--text-muted);font-style:normal}.graph-counts{display:flex;flex-direction:column;gap:.35rem}.graph-counts+.graph-counts,.graph-overview__muted+.graph-counts,.graph-counts+.graph-overview__muted{margin-top:.75rem}.graph-counts li{grid-template-columns:1fr auto}.graph-list{display:flex;flex-direction:column;gap:.55rem}.graph-entity,.graph-link{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem .85rem;background:var(--surface-inset)}.graph-entity>div,.graph-link{display:flex;align-items:baseline;gap:.5rem;min-width:0}.graph-entity span,.graph-link span{font-size:.8rem;color:var(--text-muted)}.graph-entity p{margin:.35rem 0 0;font-size:.85rem;color:var(--text-secondary);overflow-wrap:anywhere}.graph-link{flex-wrap:wrap}.graph-notes{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;color:var(--text-muted)}@media(max-width:900px){.graph-overview__grid,.graph-overview__columns{grid-template-columns:1fr}}.chat{display:flex;flex:1;min-height:0}.sidebar{width:16rem;flex-shrink:0;border-right:1px solid var(--border);background:var(--bg);padding:.75rem;overflow-y:auto}.sidebar__new{width:100%;padding:.55rem;margin-bottom:.75rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;font-size:.9rem;font-weight:500;transition:background var(--speed-fast) ease-out}.sidebar__new:hover{background:var(--surface-inset)}.sidebar__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.sidebar__row{position:relative;display:flex;align-items:center}.sidebar__row .sidebar__item{flex:1;min-width:0}.sidebar__actions{position:absolute;right:.25rem;display:none;gap:2px}.sidebar__row:hover .sidebar__actions,.sidebar__row:focus-within .sidebar__actions{display:inline-flex}.sidebar__action{width:1.5rem;height:1.5rem;display:grid;place-items:center;border:none;border-radius:var(--radius-sm);background:var(--surface-inset);color:var(--text-secondary);cursor:pointer;font-size:.8rem;line-height:1}.sidebar__action:hover:not(:disabled){background:var(--border);color:var(--text)}.sidebar__action--danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.sidebar__action:disabled{opacity:.4;cursor:not-allowed}.sidebar__item{width:100%;text-align:left;padding:.5rem .6rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--speed-fast) ease-out,color var(--speed-fast) ease-out}.sidebar__item:hover{background:var(--surface-inset);color:var(--text)}.sidebar__item--active{background:var(--primary-soft);color:var(--primary);font-weight:500}.sidebar__empty{font-size:.82rem;color:var(--text-muted);padding:.4rem .6rem}.chat__main{display:flex;flex-direction:column;flex:1;min-width:0;background:var(--bg)}.thread{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.thread--empty{align-items:center;justify-content:center;color:var(--text-muted)}.onboard{max-width:27rem;padding:1.5rem 1.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--text);text-align:left}.onboard__title{margin:0 0 .85rem;font-family:var(--font-display);font-size:1.25rem;font-weight:550;letter-spacing:-.01em}.onboard__steps{margin:0 0 1.25rem;padding-left:1.2rem;display:flex;flex-direction:column;gap:.6rem;font-size:.92rem;color:var(--text-secondary)}.onboard__steps strong{color:var(--text)}.onboard__cta{padding:.6rem 1.2rem;border:none;border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);font-weight:600;cursor:pointer;transition:background var(--speed-fast) ease-out}.onboard__cta:hover{background:var(--primary-hover)}.starters{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.starters__label{margin:0;color:var(--text-muted)}.starters__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:34rem}.starters__chip{padding:.5rem .9rem;border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:.88rem;transition:border-color var(--speed-fast) ease-out,color var(--speed-fast) ease-out,background var(--speed-fast) ease-out}.starters__chip:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.starters__chip:disabled{opacity:.5;cursor:not-allowed}.bubble{max-width:46rem;padding:.75rem 1rem;border-radius:var(--radius-lg)}.bubble--user{align-self:flex-end;background:var(--primary-soft);border:1px solid var(--primary-soft-border);border-bottom-right-radius:var(--radius-sm)}.bubble--assistant{align-self:flex-start;background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.bubble--error{border-color:var(--danger-soft-border)}.bubble__role{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.3rem}.bubble__content{white-space:pre-wrap;word-wrap:break-word;line-height:1.55}.bubble__content--markdown{white-space:normal}.bubble__content--markdown>:first-child{margin-top:0}.bubble__content--markdown>:last-child{margin-bottom:0}.bubble__content--markdown h1,.bubble__content--markdown h2,.bubble__content--markdown h3,.bubble__content--markdown h4,.bubble__content--markdown h5,.bubble__content--markdown h6{margin:.8em 0 .4em;line-height:1.25}.bubble__content--markdown p{margin:.5em 0}.bubble__content--markdown ul,.bubble__content--markdown ol{margin:.5em 0;padding-left:1.5em}.bubble__content--markdown li+li{margin-top:.2em}.bubble__content--markdown code{background:var(--surface-inset);padding:.1em .35em;border-radius:3px;font-family:var(--font-mono);font-size:.85em}.bubble__content--markdown pre{background:var(--surface-inset);border:1px solid var(--border);padding:.7em .9em;border-radius:var(--radius-sm);overflow-x:auto;margin:.6em 0}.bubble__content--markdown pre code{background:transparent;border:none;padding:0;font-size:.84em}.bubble__content--markdown blockquote{border-left:3px solid var(--border-strong);padding-left:.8em;margin:.5em 0;color:var(--text-secondary)}.bubble__content--markdown table{border-collapse:collapse;margin:.5em 0}.bubble__content--markdown th,.bubble__content--markdown td{border:1px solid var(--border);padding:.3em .6em}.bubble__content--markdown a{color:var(--link)}.bubble__caret{display:inline-block;width:.5rem;height:1rem;margin-left:2px;background:currentColor;opacity:.7;vertical-align:text-bottom;animation:blink 1s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.bubble__error-tag{margin-top:.4rem;font-size:.8rem;color:var(--danger)}.citations{margin-top:.75rem;padding-top:.6rem;border-top:1px dashed var(--border)}.citations__label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.citations__list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.citation{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:var(--radius-full);font-size:.82rem;background:var(--primary-soft);border:1px solid var(--primary-soft-border);color:var(--primary)}.citation--source{background:var(--info-soft);border-color:var(--info-soft-border);color:var(--info)}.citation__kind{font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;opacity:.75}.feedback{margin-top:.6rem;display:flex;gap:.3rem}.feedback__btn{border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer;font-size:1rem;padding:.15rem .4rem;filter:grayscale(1);opacity:.55;transition:opacity var(--speed-fast) ease-out}.feedback__btn:hover{opacity:1}.feedback__btn--active{filter:none;opacity:1;background:var(--surface-inset);border-color:var(--border-strong)}.thread__activity{align-self:flex-start;font-size:.85rem;color:var(--text-muted);font-style:italic}.composer{display:flex;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--bg)}.composer__input{flex:1;resize:none;min-height:2.6rem;max-height:10rem;padding:.6rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;line-height:1.4;transition:border-color var(--speed-fast) ease-out}.composer__input:focus{border-color:var(--primary)}.composer__send{align-self:flex-end;padding:.6rem 1.1rem;border-radius:var(--radius-md);border:none;background:var(--primary);color:var(--on-primary);font-weight:600;cursor:pointer;transition:background var(--speed-fast) ease-out}.composer__send:hover:not(:disabled){background:var(--primary-hover)}.composer__send:disabled{opacity:.5;cursor:not-allowed}.chat__sidebar-toggle{display:none}@media(max-width:768px){.app__header{padding:.75rem 1rem}.shell__nav{padding:.4rem 1rem 0}.chat{position:relative}.chat__sidebar-toggle{display:block;align-self:flex-start;margin:.6rem 1rem 0;padding:.35rem .7rem;font-size:.82rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer}.sidebar{display:none}.chat--sidebar-open .sidebar{display:block;position:absolute;top:2.9rem;bottom:0;left:0;width:min(20rem,85%);z-index:10;background:var(--bg);border-top:1px solid var(--border);border-right:1px solid var(--border);box-shadow:var(--shadow-md)}.thread{padding:1rem}.composer{padding:.75rem 1rem}.settings{flex-direction:column}.settings__nav{width:100%;border-right:none;border-bottom:1px solid var(--border);padding:.75rem}.settings__list{flex-direction:row;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #f6f4ef;--surface: #ffffff;--surface-inset: #efece3;--border: #e3dfd3;--border-strong: #cbc5b4;--text: #1f1d17;--text-secondary: #5c584c;--text-muted: #8a8474;--primary: #1b5445;--primary-hover: #133e32;--primary-soft: #e4eee9;--primary-soft-border: #c4d9d0;--on-primary: #ffffff;--link: #1b6b4f;--accent: #b45309;--accent-soft: #f6ebdc;--success: #1e7a4c;--success-soft: #e2f0e8;--success-soft-border: #bcd9c8;--danger: #b3261e;--danger-soft: #f9e7e5;--danger-soft-border: #e5b9b5;--info: #2456c4;--info-soft: #e6ecfa;--info-soft-border: #c2d0ef;--font-display: "Fraunces Variable", Georgia, "Times New Roman", serif;--font-body: "Instrument Sans Variable", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(31, 29, 23, .05);--shadow-md: 0 2px 10px rgba(31, 29, 23, .07);--speed-fast: .15s;--speed-med: .25s}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #15140f;--surface: #1e1c15;--surface-inset: #26231a;--border: #343023;--border-strong: #4b4633;--text: #ece9df;--text-secondary: #b3ac9b;--text-muted: #8a8474;--primary: #3e8e74;--primary-hover: #4da287;--primary-soft: #1e332b;--primary-soft-border: #2e5043;--on-primary: #ffffff;--link: #6fbfa3;--accent: #d98e3b;--accent-soft: #332a1a;--success: #5bb386;--success-soft: #1c3026;--success-soft-border: #2e4f3d;--danger: #e2766e;--danger-soft: #3a1f1b;--danger-soft-border: #5c2f29;--info: #7fa3e8;--info-soft: #1d2738;--info-soft-border: #2e3f5c;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 10px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}html{font-size:16px}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--primary-soft);color:var(--text)}button,input,textarea,select{font:inherit;color:inherit}input[type=text],input[type=password],input[type=url],input:not([type]),textarea,select{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);transition:border-color var(--speed-fast) ease-out}input:focus,textarea:focus,select:focus{border-color:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}a{color:var(--link)}
