*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1d2433;background:#f4f6fa}
.top{max-width:960px;margin:0 auto;padding:28px 18px 8px}h1{font-size:1.7rem;line-height:1.25;margin:0 0 10px}.lede{font-size:1.05rem;margin:0 0 6px}
main{max-width:960px;margin:0 auto;padding:0 18px 30px}.card{background:#fff;border:1px solid #dfe4ee;border-radius:12px;padding:18px;margin:14px 0}
h2{font-size:1.2rem;margin:0 0 12px}h3{font-size:1.05rem;margin:18px 0 8px}.small{font-size:.88rem}.muted{color:#5d6679}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:10px}label{display:flex;flex-direction:column;font-size:.85rem;color:#3b4457;gap:4px}
.lbl{display:block;font-size:.85rem;color:#3b4457;margin:6px 0 4px}input,select,textarea{font:inherit;padding:7px 9px;border:1px solid #c5cddc;border-radius:8px;background:#fff;color:#1d2433}
textarea{width:100%;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9rem}
.big{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.big b{font-size:2.6rem;color:#1849a9;line-height:1}.lab{color:#5d6679}
.verdict{font-weight:600;margin:6px 0 10px}table{border-collapse:collapse;width:100%;margin:8px 0}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid #e6eaf2;vertical-align:top}
.sum th{width:55%;font-weight:500;color:#3b4457}.n{text-align:right}tr.done td{color:#5d6679}tr.past td{color:#9aa2b2}tr.now td{background:#fff6dd}
input.mark{width:5.5em;padding:3px 6px;text-align:right}.warn{background:#fff1f0;border:1px solid #f3c5c0;padding:8px 10px;border-radius:8px}
.upsell{background:#eef3ff;border:1px solid #cfdcff;padding:10px 12px;border-radius:8px}.plist{padding-left:20px}.buyrow{display:flex;gap:10px;flex-wrap:wrap}
.buy{display:inline-block;background:#1849a9;color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none;font-weight:600}.buy.alt{background:#fff;color:#1849a9;border:1px solid #1849a9}
.keyrow,.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}button{font:inherit;padding:8px 14px;border-radius:8px;border:1px solid #1849a9;background:#1849a9;color:#fff;cursor:pointer}
.ghost{background:#fff;color:#1849a9;border:1px solid #1849a9;padding:8px 14px;border-radius:8px;cursor:pointer}.filebtn{display:inline-block;font-size:1rem}
.inl{flex-direction:row;align-items:center;gap:6px}.gpa b{font-size:1.15rem}.ok{color:#11743b}.err{color:#b42318}.foot{max-width:960px;margin:0 auto;padding:10px 18px 30px}
@media print{.top,#course,#how,.keyrow,.buyrow,.plist,.row,#lockline,.foot{display:none}.card{border:0}}
