/* Minimal element defaults so any page linking styles.css reads as Bonsen AI. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-sans);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);font-weight:var(--weight-semibold);margin:0;text-wrap:balance}
h1{font-size:var(--text-display-md-size);line-height:var(--text-display-md-line);letter-spacing:var(--text-display-md-track)}
h2{font-size:var(--text-heading-lg-size);line-height:var(--text-heading-lg-line);letter-spacing:var(--text-heading-lg-track)}
h3{font-size:var(--text-heading-md-size);line-height:var(--text-heading-md-line);letter-spacing:var(--text-heading-md-track)}
h4{font-size:var(--text-heading-sm-size);line-height:var(--text-heading-sm-line)}
p{margin:0}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid rgba(69,101,96,.28);transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover);border-bottom-color:var(--brand-mint)}
code,kbd,samp,pre{font-family:var(--font-mono);font-size:var(--text-mono-size)}
::selection{background:var(--mint-200);color:var(--green-900)}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.bo-overline{font-family:var(--font-mono);font-size:var(--text-overline-size);line-height:var(--text-overline-line);letter-spacing:var(--text-overline-track);text-transform:uppercase;color:var(--text-muted);font-weight:var(--weight-medium)}
@keyframes bo-spin{to{transform:rotate(360deg)}}
@keyframes bo-dialog-in{from{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}
@keyframes bo-fade-in{from{opacity:0}to{opacity:1}}
