:root{font-family:Inter,system-ui,sans-serif;line-height:1.5;color-scheme:dark light}
*{box-sizing:border-box}
body{margin:0;background:Canvas;color:CanvasText}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:10}
.topbar,main,footer{max-width:1100px;margin:auto;padding:1rem}
.topbar{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;border-bottom:1px solid GrayText}
.topbar>div:first-child{display:grid}.session-row{display:flex;gap:.5rem;align-items:end;flex-wrap:wrap}
label{display:grid;gap:.25rem;font-weight:600}
input,textarea,select,button{font:inherit;padding:.65rem;border:1px solid GrayText;border-radius:.5rem}
button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid Highlight;outline-offset:2px}
.hero{padding-block:2rem}.hero h1{font-size:clamp(2rem,7vw,4rem);margin:.2rem 0}
.section-nav{display:flex;gap:.6rem;flex-wrap:wrap;padding:.75rem 0 1.5rem}.section-nav a{padding:.45rem .7rem;border:1px solid GrayText;border-radius:999px}
section{padding:1.3rem 0;border-top:1px solid GrayText}
.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card,.panel{border:1px solid GrayText;border-radius:.7rem;padding:1rem;margin-top:.7rem}
.toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin:.7rem 0}
.chips{display:flex;gap:.45rem;flex-wrap:wrap;margin:.7rem 0}.chip{border:1px solid GrayText;border-radius:999px;padding:.3rem .6rem}
.status{padding:.7rem;border-left:4px solid Highlight;margin-top:.8rem}.error{border-color:Mark;color:MarkText}
.muted{opacity:.72}textarea{min-height:7rem}
footer{border-top:1px solid GrayText;margin-top:2rem}
@media(max-width:640px){.topbar{align-items:stretch}.session-row{display:grid;width:100%}.session-row label{width:100%}}
