:root{--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:24px;--r-pill:999px;--s-1:2px;--s-2:4px;--s-3:6px;--s-4:8px;--s-5:12px;--s-6:16px;--s-7:24px;--s-8:32px;--s-9:48px;--font-sans:"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--fs-xs:0.75rem;--fs-sm:0.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:1.875rem;--fs-4xl:2.25rem;--row-h-compact:28px;--row-h-default:34px;--row-h-relaxed:44px;--cell-px:var(--s-4);--cell-py:var(--s-2);--control-h-sm:24px;--control-h-md:30px;--row-h:var(--row-h-default);--control-h:var(--control-h-md);--e1:0 1px 2px 0 rgb(0 0 0/0.04);--e2:0 2px 8px -2px rgb(0 0 0/0.06),0 1px 2px 0 rgb(0 0 0/0.04);--e3:0 12px 32px -8px rgb(0 0 0/0.12),0 2px 6px 0 rgb(0 0 0/0.04);--dur-fast:100ms;--dur-med:150ms;--ease-out:cubic-bezier(0.16,1,0.3,1)}[data-density=compact]{--row-h:var(--row-h-compact);--control-h:var(--control-h-sm);--cell-py:var(--s-1)}[data-density=default]{--row-h:var(--row-h-default);--control-h:var(--control-h-md)}[data-density=relaxed]{--row-h:var(--row-h-relaxed);--control-h:var(--control-h-md);--cell-py:var(--s-4)}*,:after,:before{box-sizing:border-box}body,html{height:100%;margin:0;background:var(--bg-0);color:var(--text-1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;color:var(--text-0)}blockquote,dd,dl,figure,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:inherit;text-decoration:inherit}canvas,img,svg,video{display:block;max-width:100%}fieldset{display:block;margin:0;padding:0;border:0}table{border-collapse:collapse}th{font-weight:400}[role=button],button{font-family:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--inset-top:env(safe-area-inset-top,0px);--inset-right:env(safe-area-inset-right,0px);--inset-bottom:env(safe-area-inset-bottom,0px);--inset-left:env(safe-area-inset-left,0px);--screen-h:100svh;--app-header-h:calc(56px + var(--inset-top))}@media(min-width:640px){:root{--app-header-h:calc(64px + var(--inset-top))}}::selection{background:var(--accent-soft);color:var(--accent-fg)}@media(pointer:coarse){input,select,textarea{font-size:max(16px,var(--fs-sm))}[role=button],[role=checkbox],a[href],button{touch-action:manipulation}}.prose{font-size:var(--fs-sm)}.prose>*+*{margin-top:1em}.prose ul{list-style:disc;list-style-position:inside}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}