:root { --purple:#5b1db1; --violet:#a379d5; --lilac:#e5ddfb; --cream:#fef6ec; --black:#101010;
        --shadow:0 1px 2px rgba(16,16,16,.06), 0 6px 24px rgba(91,29,177,.07);
        --shadow-lift:0 2px 4px rgba(16,16,16,.07), 0 12px 32px rgba(91,29,177,.12); }
* { margin:0; padding:0; box-sizing:border-box; letter-spacing:0; }
html { scroll-behavior:smooth; scroll-padding-top:76px; }
body { font-family:"Helvetica Now Display","Helvetica Neue",Helvetica,Arial,sans-serif;
       font-weight:400; color:var(--black); background:#fff; font-size:18px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
:focus-visible { outline:2px solid var(--purple); outline-offset:2px; border-radius:6px; }
.ic { width:18px; height:18px; flex:none; vertical-align:-3px; }
.wrap { max-width:820px; margin:0 auto; padding:48px 24px 96px; }
.eyebrow { font-weight:700; font-size:16px; color:var(--purple); margin-bottom:6px; }
h1 { font-weight:400; font-size:44px; line-height:1.3; margin-bottom:8px; }
h2 { font-weight:400; font-size:26px; line-height:1.5; color:var(--purple);
     margin:56px 0 8px; display:flex; align-items:center; gap:10px; }
h2 .ic { width:22px; height:22px; }
h2 .n { font-weight:700; font-size:16px; background:var(--lilac); color:var(--black);
        border-radius:6px; padding:1px 10px; }
h3 { font-weight:700; font-size:19px; line-height:1.45; }
.sub { max-width:60ch; margin-top:8px; }
.sec-note { font-size:16px; margin-bottom:16px; max-width:60ch; }

/* chips */
.chips { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.chip { display:inline-flex; align-items:center; gap:6px; font-size:16px; line-height:1.5;
        padding:3px 12px; border-radius:6px; white-space:nowrap; background:var(--lilac); }
.chip .ic { width:15px; height:15px; }
.chip.strong { background:var(--purple); color:var(--cream); font-weight:700; }
.chip.urgent { background:var(--purple); color:var(--cream); font-weight:700; }
.chip.soft { background:var(--cream); }
.chip.plain { background:#fff; }

/* sticky nav on digest pages */
.bar { position:sticky; top:0; z-index:5; background:rgba(255,255,255,.94);
       backdrop-filter:blur(8px); box-shadow:0 1px 0 rgba(91,29,177,.10); }
.bar-in { max-width:820px; margin:0 auto; padding:12px 24px; display:flex;
          align-items:center; gap:18px; overflow-x:auto; }
.bar a { font-size:16px; font-weight:700; color:var(--purple); display:inline-flex;
         align-items:center; gap:6px; white-space:nowrap; }
.bar .count { font-weight:400; color:var(--black); }
.bar .home { margin-right:auto; }

/* index */
.day { display:flex; gap:18px; align-items:flex-start; padding:18px; border-radius:6px;
       margin:4px -18px; transition:background .15s ease, box-shadow .15s ease; }
.day:hover { background:var(--cream); box-shadow:var(--shadow); }
.badge { flex:none; width:58px; background:var(--lilac); color:var(--purple);
         border-radius:6px; text-align:center; padding:7px 0 8px; }
.badge .d { display:block; font-weight:700; font-size:24px; line-height:1.1; }
.badge .m { display:block; font-weight:700; font-size:16px; }
.day-main { flex:1; min-width:0; }
.day-top { display:flex; justify-content:space-between; gap:16px; align-items:baseline; flex-wrap:wrap; }
.day .headline { font-size:16px; margin-top:6px; max-width:64ch; }
.day:hover .chip { background:#fff; }
.day:hover .chip.strong, .day:hover .chip.urgent { background:var(--purple); }

/* score ring */
.ring { position:relative; width:52px; height:52px; flex:none; }
.ring svg { width:52px; height:52px; transform:rotate(-90deg); }
.ring .track { stroke:var(--lilac); }
.ring .fill { stroke:var(--purple); stroke-linecap:round; }
.ring .val { position:absolute; inset:0; display:flex; align-items:center;
             justify-content:center; font-weight:700; font-size:16px; }

/* pursue cards */
.card { background:#fff; border-radius:6px; box-shadow:var(--shadow); padding:24px;
        margin:18px 0; transition:box-shadow .15s ease; }
.card:hover { box-shadow:var(--shadow-lift); }
.card-top { display:flex; gap:16px; align-items:flex-start; }
.card-title { flex:1; min-width:0; }
.meta-row { display:flex; flex-wrap:wrap; gap:14px; margin-top:6px; font-size:16px; }
.meta-row span { display:inline-flex; align-items:center; gap:6px; }
.meta-row .ic { width:15px; height:15px; color:var(--purple); }
.card .chips { margin-top:14px; }
ul.why { list-style:none; margin:14px 0 0; }
ul.why li { font-size:16px; padding-left:24px; position:relative; margin-bottom:7px; max-width:66ch; }
ul.why li .ic { position:absolute; left:0; top:4px; width:15px; height:15px; color:var(--purple); }
ul.why.plain li::before { content:""; position:absolute; left:4px; top:10px; width:7px;
                          height:7px; border-radius:6px; background:var(--purple); }
.gaps { background:var(--lilac); border-radius:6px; padding:14px 16px; margin-top:16px; }
.gaps .label { font-weight:700; font-size:16px; display:flex; align-items:center; gap:8px;
               margin-bottom:6px; }
.gaps ul { list-style:none; }
.gaps li { font-size:16px; padding-left:16px; position:relative; margin-top:4px; max-width:64ch; }
.gaps li::before { content:""; position:absolute; left:2px; top:10px; width:6px; height:6px;
                   border-radius:6px; background:var(--purple); }
.actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; align-items:center; }
.btn { display:inline-flex; align-items:center; gap:8px; background:var(--purple);
       color:var(--cream); font-weight:700; font-size:16px; padding:9px 18px;
       border-radius:6px; transition:transform .12s ease; }
.btn:hover { transform:translateY(-1px); }
.btn.ghost { background:var(--cream); color:var(--black); font-weight:400; }
.btn.ghost b { font-weight:700; }
button.btn { border:none; cursor:pointer; font-family:inherit; line-height:1.5; }
button.copied { background:var(--purple); color:var(--cream); }

/* review rows */
.item { background:#fff; border-radius:6px; box-shadow:var(--shadow); padding:20px 22px;
        margin:12px 0; display:flex; gap:16px; align-items:flex-start; }
.item-main { flex:1; min-width:0; }
.item .chips { margin-top:10px; }
.item ul.why { margin-top:10px; }
.check { display:flex; gap:8px; font-size:16px; margin-top:12px; background:var(--cream);
         border-radius:6px; padding:10px 14px; max-width:66ch; }
.check .ic { width:16px; height:16px; color:var(--purple); margin-top:3px; }
.check b { font-weight:700; }
.item .link { font-size:16px; font-weight:700; color:var(--purple); display:inline-flex;
              align-items:center; gap:5px; margin-top:10px; }

/* skipped + sources */
details { margin:8px 0; }
summary { font-weight:700; font-size:17px; color:var(--purple); cursor:pointer;
          padding:12px 16px; background:var(--cream); border-radius:6px; list-style:none;
          display:flex; align-items:center; gap:8px; }
summary::-webkit-details-marker { display:none; }
summary .ic { transition:transform .15s ease; }
details[open] summary .ic { transform:rotate(-90deg); }
.skiplist { padding:8px 4px; }
.filter { display:block; width:100%; max-width:420px; font:inherit; font-size:16px;
          background:var(--lilac); border:none; border-radius:6px; padding:9px 14px;
          margin:12px 0 4px; color:var(--black); }
.filter::placeholder { color:var(--black); opacity:.55; }
.skip-line { font-size:16px; margin:10px 0; display:flex; gap:8px; max-width:74ch; }
.skip-line .ic { width:15px; height:15px; color:var(--violet); margin-top:4px; }
.skip-line b { font-weight:700; }
table { width:100%; border-collapse:collapse; font-size:16px; margin:12px 0 4px; }
th { text-align:left; font-weight:700; padding:9px 12px; }
td { padding:9px 12px; }
tbody tr:nth-child(odd) { background:var(--cream); }
tbody tr td:first-child, thead tr th:first-child { border-radius:6px 0 0 6px; }
tbody tr td:last-child, thead tr th:last-child { border-radius:0 6px 6px 0; }
.dot { display:inline-block; width:10px; height:10px; border-radius:6px;
       background:var(--purple); margin-right:8px; vertical-align:0; }
.dot.warn { background:var(--violet); }

.empty { background:var(--cream); border-radius:6px; padding:22px 24px; margin:16px 0;
         display:flex; gap:12px; align-items:flex-start; max-width:66ch; }
.empty .ic { color:var(--purple); margin-top:4px; }
.footer { margin-top:72px; font-size:16px; display:flex; align-items:center; gap:8px; }
.footer .ic { width:15px; height:15px; color:var(--purple); }

@media (max-width:640px) {
  h1 { font-size:32px; }
  h2 { font-size:22px; margin-top:44px; }
  .wrap { padding:28px 16px 64px; }
  .card, .item { padding:18px; }
  .card-top, .item { flex-direction:column; }
  .item { gap:10px; }
  .day { gap:12px; padding:14px; margin:4px -14px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  * { transition:none !important; }
}
