@layer config,resets,elements,components,utilities;@layer config{:root{--gutter:clamp(2.5ch,2.5vmax,3.25ch);--stack:clamp(1ex,2.5vmax,1.5ex);--line-length:66ch;--page-max-inline-size:min(var(--line-length),100dvi - var(--gutter) * 2);--page-padding-inline:calc((100dvi - var(--page-max-inline-size))/2);--font:"Vend Sans",system-ui,sans-serif;--font-heading:"League Gothic",system-ui,sans-serif;--font-variation-settings:"wdth" 100;--font-optical-sizing:auto;--font-italic:"Instrument Serif",serif;--font-mono:ui-monospace,sfmono-regular,sf mono,menlo,consolas,liberation mono,monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:600;--font-size-min:90%;--font-size-max:110%;--font-size-clamp:clamp(var(--font-size-min),var(--font-size-min) * .9 + .5dvi,var(--font-size-max));--leading:1.55;--underline-offset:3px;--pt-double-canon:4.666em;--pt-canon:3.999em;--pt-double-great-primer:2.999em;--pt-double-english:2.333em;--pt-double-pica:2em;--pt-paragon:1.666em;--pt-great-primer:1.5em;--pt-english:1.166em;--pt-pica:1em;--pt-small-pica:.916em;--pt-long-primer:.833em;--pt-bourgeois:.75em;--pt-minion:.583em;accent-color:canvastext;color-scheme:dark light;font-size:var(--font-size-clamp);font:-apple-system-body;font-family:var(--font);font-optical-sizing:var(--font-optical-sizing);font-variation-settings:var(--font-variation-settings);font-weight:var(--font-weight-regular);line-height:var(--leading);text-wrap:pretty}:root :where(h1,h2,h3,h4,h5,h6){font-family:var(--font-heading);font-weight:var(--font-weight-regular)}:root :where(em,i,cite,address,var){font-family:var(--font-italic);font-optical-sizing:auto;font-variation-settings:normal;font-weight:var(--font-weight-regular);text-transform:none}:root :where(code,samp){font-family:var(--font-mono)}@supports (font:-apple-system-body) and (not (-webkit-touch-callout:default)){:root{font-size:var(--font-size-clamp)}}}@layer resets{*,:after,:before{font-feature-settings:"kern";font-kerning:normal;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;box-sizing:border-box}*{margin:0;padding:0}:focus-visible{outline:2px solid;outline-offset:2px}:disabled,[aria-disabled=true]{border-style:groove;cursor:not-allowed;opacity:.8}[readonly]{background:transparent;border-style:dashed}:where(input:is([type=checkbox],[type=radio],[type=file]),select,label,button,summary){cursor:pointer}:where(input,select,textarea,button,summary>*){font:inherit}:where(img,svg,video){block-size:auto;max-inline-size:100%}:where(svg){fill:currentcolor}:where(a){color:inherit}:where(a,abbr,acronym,code,ins,samp,dt){text-decoration:underline;text-underline-offset:var(--underline-offset)}:where(code,samp){text-decoration-style:dashed}:where(ins){text-decoration-style:wavy}:where(abbr,acronym){text-decoration-style:dotted}@media(forced-colors:active){button{border:1px solid}}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}}@layer elements{:where(input:not([type=radio],[type=checkbox],[type=file]),textarea,select){background:color-mix(in oklch,canvasText 5%,transparent);border:1px inset;border-radius:0}:where(fieldset,figure img,dd,kbd,select,input:not([type=radio],[type=checkbox]),textarea,button){border:1px solid}:where(th,td){border-block-end:1px solid}:where(pre){border-inline-start:4px solid}:where(kbd,button){border-block-end:2px solid;border-end-end-radius:4px;border-end-start-radius:4px;border-start-end-radius:3px;border-start-start-radius:3px}:where(button,select,input:not([type=radio],[type=checkbox],[type=file]),textarea){min-block-size:2lh;min-inline-size:2lh}:where(button,dd,th,td,kbd,select,input:not([type=radio],[type=checkbox],[type=file]),textarea){padding-block:calc(var(--stack)/6);padding-inline:calc(var(--gutter)/3)}:where(th,td,caption,figcaption,pre code){padding-inline:calc(var(--gutter)/2)}:where(th,td,caption,figcaption){padding-block:calc(var(--stack)/2)}:where(pre code){padding-block:var(--stack)}:where(figure,dl,blockquote){padding-block-start:calc(var(--stack)/2.5)}:where(details[open]){padding-block-end:var(--stack)}:where(fieldset){padding-block:0 var(--stack);padding-inline:calc(var(--gutter)/2)}:where(legend){margin-inline:-.5ch;padding-inline:.5ch}:where(button){padding-inline:var(--gutter)}:where(p,figure,table,form,fieldset,pre,blockquote,ul,ol,dl,details):not(:first-child){margin-block-start:var(--stack)}:where(main h1,h2,h3,h4,h5,h6):not(:first-child){margin-block-start:calc(var(--stack)*1.375)}:where(main h1,h2,h3,h4,h5,h6)+:not(main h1,h2,h3,h4,h5,h6){margin-block-start:calc(var(--stack)/1.5)}:where(form li+li){margin-block-start:calc(var(--stack)/2)}:where(li li){margin-inline-start:2ch}li>:is(ol,ul):first-of-type{margin-block-start:0}:where(input,textarea,select)~*{margin-block-start:calc(var(--stack)/4)}:where(figure img){display:block;margin-inline:auto}:where(form ol,form ul){list-style:none}:where(h1,h2,h3,h4,h5,h6){line-height:1.05;text-wrap:balance}:where(h1,h2,h3,h4){-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}:where(main h1,h2,h3){letter-spacing:-.05ch}:where(h5,h6){letter-spacing:.1ch}:where(main h1){font-size:var(--pt-canon)}:where(h2){font-size:var(--pt-double-great-primer)}:where(h3){font-size:var(--pt-double-english)}:where(h4){font-size:var(--pt-paragon)}:where(h5,blockquote p,big){font-size:var(--pt-english)}:where(h6,legend){font-size:var(--pt-pica)}:where(label,th,td){font-size:var(--pt-long-primer)}:where(small,kbd,figcaption,caption,sup,sub,input~*,textarea~*,select~*){font-size:var(--pt-bourgeois)}:where(code,samp){font-size:var(--pt-small-pica)}:where(blockquote p,big){line-height:1.3}:where(small,kbd,figcaption,label,legend,summary,caption,sup,sub,input~*,textarea~*,select~*){letter-spacing:0}:where(summary>*){display:inline}:where(legend,button,th,label){font-weight:var(--font-weight-medium)}:where(summary,strong){font-weight:var(--font-weight-bold)}:where(sup,sub){line-height:1}:where(figcaption,caption){text-align:center}:where(th){text-align:start}:where(th,td){vertical-align:baseline}:where(figure){overflow-x:auto}:where(table){border-spacing:0;caption-side:bottom}:where(tr>:first-child){white-space:nowrap}:where(kbd){letter-spacing:.1ch;text-transform:uppercase}:where(code,samp){text-decoration-style:dashed}:where(big){display:inline}:where(button){-webkit-appearance:none;-moz-appearance:none;appearance:none;background:canvas;color:canvasText}:where(hr){block-size:0;border:0;border-block-end:1px solid;margin-block:calc(var(--stack)*2)}:where(hr)+*{margin-block-start:0}:where(pre){--_pre-background:color-mix(in oklch,canvasText 5%,canvas);display:block;position:relative;white-space:pre-wrap;word-spacing:normal;word-wrap:break-word;background:var(--_pre-background);word-break:normal}:where(pre):after{background:linear-gradient(to bottom,transparent,var(--_pre-background));block-size:var(--stack);content:"";inset-block-end:0;inset-inline:0;pointer-events:none;position:absolute;z-index:0}:where(pre code){display:block;max-block-size:60vh;overflow:auto;text-decoration:none}:where(dl){align-items:baseline;display:grid;gap:calc(var(--gutter)/2);grid-template-columns:auto minmax(75%,1fr)}:where(dd){block-size:100%}:where(label:has(input[type=radio],input[type=checkbox])){align-items:start;display:grid;gap:calc(var(--gutter)/4);grid-template-columns:auto 1fr}:where(label:has(input[type=radio],input[type=checkbox])) input[type=checkbox],:where(label:has(input[type=radio],input[type=checkbox])) input[type=radio]{block-size:.75lh;inline-size:.75lh;margin-block:.125lh}:where(input:not([type=checkbox],[type=radio]),select,textarea){display:block;inline-size:100%}:where(input[type=file]){border:0;padding-inline:0}::-webkit-file-upload-button{-webkit-appearance:auto;appearance:auto;cursor:pointer;font:inherit}:where(select){-webkit-appearance:none;-moz-appearance:none;appearance:none;text-indent:.01px;text-overflow:""}:where(abbr){cursor:help}:where(abbr,dt){text-decoration:underline;text-decoration-style:dotted}:where(blockquote q):before{margin-inline-start:-1ex;position:absolute}:where(blockquote q q):before{margin-inline-start:unset;position:static}:where(blockquote footer){padding-inline:0}:where(input:required+mark){background:transparent;color:inherit;display:none}:where(input:required:invalid+mark){display:block}[role=region][tabindex="0"]{overflow:auto}@media(any-hover:hover){:where(summary:hover){text-decoration:underline;text-underline-offset:var(--underline-offset)}:where(button:hover){background:color-mix(in oklch,canvasText 5%,transparent)}}}@layer components{body{background-color:canvas;color:canvastext;display:grid;grid-template-areas:"header" "main" "footer";grid-template-rows:minmax(38.2svb,auto) minmax(61.8svb,1fr) auto;min-block-size:100svb;min-inline-size:0}footer,header,main{overflow-x:auto;overflow-y:clip;padding-inline:var(--page-padding-inline)}header{align-items:flex-end;background-color:canvas;border-block-end:1px solid;color:canvastext;color-scheme:dark;display:flex;grid-area:header;padding-block:calc(var(--stack)*6) calc(var(--stack)*3)}header>div{align-items:center;display:flex;flex-wrap:wrap;gap:var(--gutter)}header h1{display:flex;flex-direction:column;font-size:clamp(var(--pt-canon),var(--pt-pica) + 2.5dvi,var(--pt-double-canon));gap:1rem;justify-content:space-between;text-transform:uppercase}header h1>*{display:block;line-height:1.35ex}header h1>div{font-size:1.42em;letter-spacing:-.075ch}header h1>em{text-indent:-.15ch}header nav{align-self:stretch;border-block:1px solid;padding-block:3px}header nav ul{block-size:100%;border-block:1px solid;display:flex;flex-direction:column;gap:1ex;justify-content:space-around;line-height:1ex;list-style:none;padding-block:1.5ex;padding-inline:1ch}header nav ul a,header nav ul button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;font-variant-caps:small-caps;letter-spacing:.1ch;padding:0;text-decoration:none;text-transform:lowercase;white-space:nowrap}@media(any-hover:hover){:is(header nav ul a,header nav ul button):hover{text-decoration:underline;text-underline-offset:4px}}main{display:flex;flex-direction:column;gap:calc(var(--stack)*1.5);grid-area:main;padding-block:calc(var(--stack)*2);place-content:center}footer{background-color:canvas;border-block-start:1px solid;color:canvastext;color-scheme:dark;grid-area:footer;padding-block:var(--stack)}.messages{display:flex;flex-direction:column;gap:calc(var(--stack)*2)}.message:first-of-type{font-size:var(--pt-paragon);line-height:1.25}.message.user{border:1px solid;border-image-slice:1;border-image-source:linear-gradient(-6deg,var(--border-image-source));font-family:var(--font-variant);padding-block:calc(var(--stack)*2);padding-inline:var(--gutter)}.message.error{border-block-start:4px solid;border:1px solid #48d1cc;padding-block:var(--stack);padding-inline:var(--gutter)}.message-content>:first-child{margin-block-start:0}.message-image{display:block;margin-block-start:var(--stack)}.note{font-family:var(--font-variant);font-size:var(--pt-bourgeois);text-indent:0}.message.loading .message-content:after{animation:loading-dots .35s steps(4) infinite;content:"..."}@keyframes loading-dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}@media(prefers-reduced-motion:reduce){.message.loading .message-content:after{animation:none;content:"..."}}.file-list{font-size:var(--pt-long-primer);margin-block-start:calc(var(--stack)/2)}.file-item{align-items:baseline;display:flex;gap:calc(var(--gutter)/2);justify-content:space-between;margin-block-start:0;padding-block:calc(var(--stack)/2)}.file-item span{word-break:break-all}.file-item+.file-item{border-block-start:1px solid}.file-remove{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;padding-inline:1ch}.chat-form textarea{min-block-size:4lh;field-sizing:content}}@layer utilities{.visually-hidden{overflow:hidden;position:absolute;clip:rect(0,0,0,0);block-size:1px;border-width:0;inline-size:1px;margin:-1px;padding:0;text-transform:none;white-space:nowrap}.visually-hidden+*{margin-block-start:0}}
