* { box-sizing: border-box; } body { margin:0; background:var(--background); color:var(--text); font:18px/1.6 var(--font); } a {color:var(--primary);text-underline-offset:.18em;} button,input,select,textarea {font:inherit;} button,.button {background:var(--primary);color:white;border:1px solid var(--primary);border-radius:8px;min-height:44px;padding:.5rem 1rem;cursor:pointer;display:inline-block;text-decoration:none;} button.secondary,.button.secondary {background:var(--paper);color:var(--primary);} button:disabled {opacity:.6;cursor:not-allowed;} input,select,textarea {max-width:100%;min-height:44px;border:1px solid var(--muted);border-radius:6px;padding:.45rem;background:var(--paper);color:var(--text);} input[type=checkbox],input[type=radio] {min-height:24px;min-width:24px;} label {display:block;margin:.7rem 0;} :focus-visible {outline:3px solid var(--primary);outline-offset:3px;} main {max-width:1120px;margin:auto;padding:1.5rem;} .site-header {background:var(--paper);border-bottom:1px solid var(--border);padding:1rem;display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap;} .brand {font-weight:750;text-decoration:none;} nav {display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;} nav form {margin:0;} h1 {font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.2;} h2 {line-height:1.3;} .card,section.panel {background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem;margin-bottom:1rem;} .cards,.grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem;} .muted {color:var(--muted);} .notice,.errorlist {padding:.8rem;border:1px solid var(--border);background:var(--paper);border-left:4px solid var(--primary);} .errorlist {font-weight:600;} .table-wrap {overflow-x:auto;} table {border-collapse:collapse;width:100%;font-size:.95rem;} th,td {padding:.7rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top;} img,video {max-width:100%;height:auto;} video {width:100%;background:#000;} pre {overflow:auto;} progress {width:100%;} .actions {display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;} footer {max-width:1120px;margin:2rem auto;padding:1rem;display:flex;flex-wrap:wrap;gap:1rem;color:var(--muted);font-size:.85rem;} .form-row {margin-bottom:1rem;} .helptext {display:block;color:var(--muted);font-size:.9rem;} @media(max-width:600px) {main{padding:.8rem;} .card,section.panel{padding:1rem;} .site-header{padding:.8rem;} nav{font-size:.9rem;} th,td{padding:.5rem;} }
