AkurAI Build
Menu

Public repository / master

AkurAI-Framework / crates/ui/src/base.css

Latest change d7f31233a0aaba65d741a85ac631a0e9004dba49 - akurai-ui kit: chat components (thread, message, tool_call, system_line, composer, presence) with Normal/Tv scale by Ólafur Búi Ólafsson

/* akurai-ui base — reset and element defaults. Tokens come from akurai-css themes. */
*,*::before,*::after{box-sizing:border-box;border:0 solid var(--border);margin:0;padding:0}
html{-webkit-text-size-adjust:100%;tab-size:4;--font-sans:"Inter Tight","Segoe UI",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--radius:6px}
body{min-height:100dvh;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit;background:transparent;letter-spacing:inherit}
button,[role=button]{cursor:pointer}
button:disabled{cursor:not-allowed}
a{color:inherit;text-decoration:inherit}
img,svg{display:block;vertical-align:middle}
ul,ol{list-style:none}
h1,h2,h3,h4{font-size:inherit;font-weight:inherit}
table{border-collapse:collapse}
::placeholder{color:var(--muted);opacity:1}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
dialog{color:inherit}
@keyframes ak-fade-in{from{opacity:0}to{opacity:1}}
@keyframes ak-pop-in{from{opacity:0;transform:translate(-50%,-48%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes ak-slide-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ak-overlay{animation:ak-fade-in .15s ease-out}
.ak-dialog{animation:ak-pop-in .16s ease-out}
.ak-toast{animation:ak-slide-up .18s ease-out}
@media (prefers-reduced-motion:reduce){.ak-overlay,.ak-dialog,.ak-toast{animation:none}}
/* chat kit */
@keyframes ak-blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes ak-dim{0%,100%{opacity:1}50%{opacity:.45}}
.ak-caret{animation:ak-blink 1s steps(1) infinite;vertical-align:text-bottom;margin-left:2px}
.ak-pulse{animation:ak-dim 1.4s ease-in-out infinite}
.ak-md>*+*{margin-top:.5em}
.ak-md h1,.ak-md h2,.ak-md h3,.ak-md h4{font-weight:600;margin-top:.75em}
.ak-md h1{font-size:1.25em}.ak-md h2{font-size:1.15em}
.ak-md ul{list-style:disc;padding-left:1.25em}
.ak-md ol{list-style:decimal;padding-left:1.25em}
.ak-md a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.ak-md code{font-family:var(--font-mono);font-size:.9em;background:var(--panel);border-radius:4px;padding:.05em .3em}
.ak-md pre{overflow-x:auto;background:var(--panel);border-radius:6px;padding:.5em .75em}
.ak-md pre code{background:none;padding:0}
.ak-md blockquote{border-left:2px solid var(--border);padding-left:.75em;color:var(--muted)}
.ak-md hr{border-top-width:1px;margin:.75em 0}
@media (prefers-reduced-motion:reduce){.ak-caret,.ak-pulse{animation:none}}