:root{--ink:#10212b;--bg:#f7faf9;--brand:#0b3d5c;--acc:#1f7a5c;--sun:#ffd166}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 system-ui,sans-serif;color:var(--ink);background:var(--bg)}
a{color:#0b5e8a}header,footer,main{max-width:1000px;margin:auto;padding:1rem}
header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}header img{width:40px}header nav a{margin-right:1rem}
.brand{font-weight:700;font-size:1.3rem;text-decoration:none;color:var(--brand)}
.hero{background:var(--brand);color:#fff;padding:3rem 1rem;text-align:center}.hero a.btn{background:var(--sun);color:#10212b}
.btn{display:inline-block;padding:.7rem 1.2rem;border-radius:8px;background:var(--acc);color:#fff;text-decoration:none;font-weight:600;border:0;font-size:1rem;cursor:pointer}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.card{background:#fff;border:1px solid #d5e2de;border-radius:10px;padding:1.2rem}
.grid3{display:grid;grid-template-columns:repeat(3,64px);gap:6px;margin:1rem 0}.grid3 span{height:64px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;background:#e3eeea;color:#10212b}
label{display:block;margin-top:.8rem;font-weight:600}input{width:100%;max-width:420px;padding:.6rem;border:1px solid #6b7f78;border-radius:6px;font-size:1rem}
footer{border-top:1px solid #d5e2de;font-size:.9rem;color:#33464f}:focus-visible{outline:3px solid #ffb703;outline-offset:2px}

.demo-banner{background:#fff3cd;border:2px solid #e0a800;padding:.6rem .8rem;font-weight:700;border-radius:6px}
.tilegrid{display:grid;gap:4px;margin:1rem 0}.tile{height:3rem;display:flex;align-items:center;justify-content:center;border-radius:6px;font-weight:700;color:#fff}
.t-top{background:#1f9d55}.t-mid{background:#d69e2e}.t-low{background:#e3342f}.t-miss{background:#6b7280}
