:root{--ink:#1b2430;--muted:#5b6776;--line:#e3e7ec;--bg:#fbfaf7;--accent:#2f5d50}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:18px/1.6 Georgia,Times New Roman,serif}main,footer{max-width:760px;margin:0 auto;padding:0 16px}section{border-bottom:1px solid var(--line);padding:48px 0}h1{margin:0 0 16px;font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.1}h2{color:var(--accent);margin:0 0 16px;font-size:1.4rem}p{margin:0 0 12px}a{color:var(--accent)}ol,ul{margin:0;padding-left:1.2em}li{margin-bottom:8px}.sub{color:var(--muted);font-size:1.25rem}.hero{padding:96px 0 64px}.price{font-size:2rem;font-weight:700}footer{color:var(--muted);padding:32px 16px 64px;font-size:.9rem}footer a{margin-right:16px}.card{gap:12px;max-width:360px;display:grid}input,button,select{font:inherit;border:1px solid var(--line);border-radius:6px;padding:10px 12px}button{background:var(--accent);color:#fff;cursor:pointer;border:0}button:disabled{opacity:.5;cursor:default}.error{color:#a12b2b}.appbar{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:16px 0;font-size:.95rem;display:flex}.appbar form{margin-left:auto}.appbar button{color:var(--muted);background:0 0;padding:0}.card.wide{max-width:520px}.card label{gap:4px;font-size:.95rem;display:grid}.button{background:var(--accent);color:#fff;border-radius:6px;padding:10px 14px;text-decoration:none;display:inline-block}.muted{color:var(--muted);font-size:.9rem}.rows{padding:0;list-style:none}.rows li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.bar{background:var(--line);border-radius:5px;height:10px;margin-bottom:6px;overflow:hidden}.bar div{background:var(--accent);height:100%;transition:width .4s}.flag{background:#fdf3d8;border-radius:6px;padding:8px 12px;font-size:.95rem}.student{border-top:1px solid var(--line);padding:24px 0}.student h3{align-items:center;gap:12px;margin:0 0 12px;display:flex}.total{margin-left:auto;font-size:1.4rem}.ok{color:var(--accent);font-size:.95rem}table{border-collapse:collapse;width:100%;font-family:system-ui,sans-serif;font-size:.9rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:6px 8px}.score{width:64px;padding:4px 6px}.struck{color:var(--muted);text-decoration:line-through}.transcript{white-space:pre-wrap;font-size:.9rem}.badge{color:#fff;background:#a12b2b;border-radius:10px;margin-left:6px;padding:0 7px;font-size:.8rem}.appbar button{font-size:.9rem}
