/* Rubric Maker — single stylesheet, no deps. */
:root{
  --ink:#1f2328; --muted:#5b6470; --line:#d8dee6; --bg:#ffffff; --soft:#f6f8fa;
  --accent:#2f6f4f; --accent-soft:#e8f1ec; --maxw:980px;
  --radius:8px;
}
*{box-sizing:border-box}
html{font-size:17px;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);background:var(--bg);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.55}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px}
a{color:var(--accent)}
h1{font-size:2rem;line-height:1.2;margin:.4em 0 .2em}
h2{font-size:1.4rem;margin:1.6em 0 .4em}
h3{font-size:1.1rem;margin:1.2em 0 .3em}
p,li{color:#2c333b}
.muted{color:var(--muted)}
.lede{font-size:1.12rem;color:#3a424c;max-width:60ch}

/* header / nav */
.site-head{border-bottom:1px solid var(--line);background:var(--soft)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px}
.brand{font-weight:700;color:var(--ink);text-decoration:none;font-size:1.05rem}
.nav a{margin-left:16px;text-decoration:none;color:var(--muted);font-size:.95rem}
.nav a:hover{color:var(--accent)}

/* tool */
.tool{margin:22px 0 8px}
.tool-meta{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}
.tool-meta label{display:flex;flex-direction:column;font-size:.8rem;color:var(--muted);flex:1 1 180px}
.tool-meta input{margin-top:4px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:1rem;min-height:40px}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.toolbar select,.btn{min-height:42px;border-radius:6px;font-size:.95rem;cursor:pointer}
.toolbar select{padding:0 10px;border:1px solid var(--line);background:#fff}
.btn{padding:0 16px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:hover{filter:brightness(1.05);color:#fff}
.status{min-height:1.2em;color:var(--accent);font-size:.9rem;margin-left:4px}

/* table */
.rm-table-host{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
.rm-table{width:100%;border-collapse:collapse;min-width:620px}
.rm-table th,.rm-table td{border:1px solid var(--line);vertical-align:top;padding:0}
.rm-table thead th{background:var(--accent-soft);text-align:left}
.rm-corner{width:150px}
.rm-rowhead{width:150px;background:var(--soft)}
.rm-cell{padding:8px 10px;min-height:1.4em;outline:none;white-space:pre-wrap;word-break:break-word}
.rm-cell:focus{background:#fffbe6}
.rm-lvlabel{font-weight:700}
.rm-points{font-size:.82rem;color:var(--muted);padding-top:0}
.rm-crname{font-weight:600}
.rm-x{border:none;background:transparent;color:#b04a4a;font-size:1rem;line-height:1;cursor:pointer;float:right;padding:6px 8px}
.rm-x:hover{color:#7a2e2e}

/* content */
main section{margin:30px 0}
.note{background:var(--accent-soft);border:1px solid #cfe3d8;border-radius:var(--radius);padding:12px 14px;font-size:.95rem}
.example{overflow-x:auto}
.example table{width:100%;border-collapse:collapse;min-width:620px;font-size:.92rem}
.example th,.example td{border:1px solid var(--line);padding:7px 9px;text-align:left;vertical-align:top}
.example thead th{background:var(--soft)}
.faq dt{font-weight:700;margin-top:14px}
.faq dd{margin:4px 0 0;color:#2c333b}
.cards{display:flex;flex-wrap:wrap;gap:14px;list-style:none;padding:0}
.cards li{flex:1 1 220px;border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.cards a{font-weight:600;text-decoration:none}
.site-foot{border-top:1px solid var(--line);background:var(--soft);margin-top:40px}
.site-foot .wrap{padding:18px 18px;font-size:.9rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}
.site-foot a{color:var(--muted)}

/* JS gating: hide tool buttons if JS off; show noscript note */
.no-js .rm-needs-js{display:none}
.rm-noscript{display:none}
.no-js .rm-noscript{display:block}

@media (max-width:560px){
  html{font-size:16px}
  h1{font-size:1.6rem}
  .nav a{margin-left:10px}
}

/* ---------- PRINT ---------- */
@media print{
  @page{margin:14mm}
  .no-print,.site-head,.site-foot,.toolbar,.tool-meta,.rm-x,.status,
  main section,.note,.cards,
  h1,.lede,.tool .muted,.rm-noscript{display:none !important}
  body{font-size:11pt;color:#000}
  .wrap{max-width:none;padding:0}
  /* print only the rubric */
  .print-title{display:block !important;font-size:15pt;font-weight:700;margin:0 0 8pt}
  .print-footer{display:block !important;margin-top:12pt;padding-top:6pt;border-top:1px solid #999;font-size:9pt;color:#444;text-align:right}
  .rm-table-host{overflow:visible;border:none;border-radius:0}
  .rm-table{min-width:0;width:100%}
  .rm-table thead{display:table-header-group} /* repeat header each page */
  .rm-table th,.rm-table td{border:1px solid #000}
  .rm-table thead th{background:#eee !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rm-cell{white-space:pre-wrap;word-break:break-word}
  .rm-points{color:#000}
  tr,td,th{page-break-inside:avoid}
}
.print-title{display:none}
.print-footer{display:none}
