/* Harness-inspired palette — pasted tokens, not copied layout */
:root{
  --ink:#28241f;
  --muted:#766e64;
  --muted-2:#9e958a;
  --paper:#f7f3eb;
  --surface:#fffcf7;
  --surface-2:#f0eadf;
  --line:#ded6ca;
  --line-soft:#eae3d9;
  --orange:#d95f35;
  --orange-deep:#a63f22;
  --orange-soft:#f7ded2;
  --sage:#4d7663;
  --sage-soft:#dde8df;
  --blue:#4d6f83;
  --blue-soft:#dce8ed;
  --shadow:0 18px 55px rgba(69,53,36,.09);
  --shadow-small:0 8px 24px rgba(69,53,36,.08);
  --radius-lg:22px;
  --radius-md:15px;
  --radius-sm:10px;
}
html{scroll-behavior:smooth}
body{
  background: radial-gradient(circle at 85% 0%, rgba(217,95,53,.08), transparent 24rem), var(--paper);
  color:var(--ink);
  font-family:"Segoe UI", Inter, system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif; letter-spacing:-.02em}
::selection{background:var(--orange-soft)}
/* progress ring */
.ring{
  --p:0;
  background: conic-gradient(var(--orange) calc(var(--p)*1%), #e8ddd0 0);
}
.ring::after{
  content:""; position:absolute; inset:6px; background:var(--surface); border-radius:50%;
}
/* custom scrollbar */
*::-webkit-scrollbar{width:8px; height:8px}
*::-webkit-scrollbar-thumb{background:var(--line); border-radius:8px}
*::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}
/* focus */
:focus-visible{outline:3px solid rgba(77,111,131,.28); outline-offset:2px}
/* subtle card hover */
.card-hover{transition: box-shadow .18s, transform .18s, border-color .18s}
.card-hover:hover{box-shadow:var(--shadow-small); border-color:var(--line); transform: translateY(-1px)}
/* status colors mapping */
.badge-easy{background:#e6f0e8; color:#2f5d3a; border:1px solid #cfe2d3}
.badge-medium{background:#fef3e2; color:#8a5a1a; border:1px solid #f5d9a8}
.badge-hard{background:#fde8e6; color:#8a2a1a; border:1px solid #f5c2bd}
.badge-must{background:#ece8ff; color:#4b3a8a; border:1px solid #d8d0ff}
.badge-high{background:#e0eef8; color:#2a4b6a; border:1px solid #c2ddf0}
.badge-opt{background:#f0ebe0; color:#6b6256; border:1px solid #e0d9c9}
/* table row done */
.row-done{ background: #f6fbf6 !important; }
.row-done td:first-child{border-left:3px solid var(--sage)}
/* range input-ish */
input[type="date"]{color-scheme: light}
