/* Visual polish, loaded after styles.css and extra.css so it wins where they overlap.
   Goals: calmer spacing, one readable type scale, a clear first screen, and gentle motion.
   Everything here is presentation only. */

/* ── Foundations ───────────────────────────────────────────────────────── */
html{scroll-behavior:smooth;}
.spn{font-size:15px;line-height:1.5;--mast-h:68px;--ease:cubic-bezier(.2,.7,.3,1);}
.spn-page{max-width:1640px;margin:0 auto;}
.spn button:focus-visible,.spn a:focus-visible,.spn summary:focus-visible{outline:2px solid var(--base);outline-offset:2px;}
.spn button:active:not(:disabled){transform:scale(.97);}
@keyframes spn-rise{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@keyframes spn-fade-in{from{opacity:0;}to{opacity:1;}}

/* ── Header: one slim, sticky bar ──────────────────────────────────────── */
.spn-masthead{
  position:sticky;top:0;z-index:40;padding:10px 32px;gap:12px 20px;
  background:rgba(236,235,227,.88);-webkit-backdrop-filter:saturate(1.3) blur(10px);backdrop-filter:saturate(1.3) blur(10px);
}
.spn-masthead .spn-logo{height:40px;}
.spn-head-tag{display:none;}
.spn-brandstack{align-items:flex-start;}
.spn-head-count{font-size:12.5px;}
@media (max-width:700px){ .spn-masthead{padding:10px 16px;} .spn-masthead .spn-logo{height:34px;} }

/* ── Name boxes for new topics ─────────────────────────────────────────── */
.spn-area-input{padding:9px 12px;font-size:13.5px;}

/* ── Main column ───────────────────────────────────────────────────────── */
.spn-main{padding:22px 36px 72px;}
@media (min-width:1100px){
  .spn-main.with-aside{grid-template-columns:minmax(0,1fr) 260px;gap:0 40px;}
  .spn-main.with-aside .spn-main-col{max-width:860px;}
  .spn-main.with-aside .spn-aside{top:calc(var(--mast-h) + 18px);}
  .spn-main:not(.with-aside) .spn-main-col{max-width:1040px;margin:0 auto;}
}
@media (max-width:700px){ .spn-main{padding:16px 16px 56px;} }

/* View switch (Topic map / Full list) as a soft segmented control */
.spn-viewtabs{background:rgba(15,29,24,.065);padding:4px;border-radius:var(--pill);width:fit-content;gap:2px;margin:0;}
.spn-viewtabs button{padding:7px 18px;font-size:13.5px;transition:background .2s var(--ease),color .2s,box-shadow .2s;}
.spn-viewtabs button:hover{background:transparent;color:var(--ink);}
.spn-viewtabs button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(15,29,24,.14);}

/* ── First screen: your library, front and centre ─────────────────────── */
.spn-libhead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;margin:4px 0 24px;animation:spn-rise .5s var(--ease) backwards;}
.spn-libhead h1{font-family:var(--font-display);font-size:clamp(30px,3.4vw,42px);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:0 0 6px;}
.spn-libhead .sub{margin:0;font-size:15.5px;color:var(--muted);}
.spn-libhead .sub b{color:var(--ink);font-weight:700;}
.spn-libmix{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;}
.spn-libmix li{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);border-radius:var(--pill);padding:6px 14px;font-size:13px;color:var(--muted);}
.spn-libmix li b{color:var(--ink);font-weight:700;}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block;}
.dot.consensus,.spn-mixbar .m-consensus{background:var(--consensus,#C29A2E);}
.dot.base,.spn-mixbar .m-base{background:var(--base);}
.dot.primary,.spn-mixbar .m-primary{background:var(--primary,#5F7569);}
.spn-viewrow{margin-bottom:22px;gap:14px 18px;}
.spn-ps-bar{transition:border-color .2s,box-shadow .25s;}
.spn-ps-bar:focus-within{box-shadow:0 0 0 4px var(--base-soft);}
.spn-ps-scope{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;padding:3px 10px;}
.spn-ps-go{transition:background .15s,opacity .15s,transform .12s;}
.spn-ps-suggest{border-radius:var(--radius);}

/* Topic map: a path to step back along, and one level of big tiles at a time */
.spn-map-wrap{scroll-margin-top:84px;}
.spn-map-top{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-bottom:14px;}
.spn-mixbar{display:flex;gap:2px;height:5px;border-radius:var(--pill);overflow:hidden;background:rgba(15,29,24,.07);}
.spn-mixbar i{display:block;min-width:5px;}

/* Inside a topic the chart folds into one line: All topics > branch > this topic */
.spn-chain{display:flex;align-items:center;flex-wrap:wrap;gap:6px 0;margin-bottom:22px;animation:spn-fade-in .35s ease backwards;}
.spn-chain-node{background:var(--card);border:1px solid var(--line2);border-radius:var(--pill);height:34px;padding:0 15px;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,transform .15s;}
.spn-chain-node:hover:not(:disabled){border-color:var(--base);transform:translateY(-1px);}
.spn-chain-node.on{background:var(--base);border-color:var(--base);color:#fff;font-weight:600;cursor:default;box-shadow:0 8px 20px -12px rgba(15,29,24,.3);}
.spn-chain-link{display:block;width:22px;height:2px;border-radius:2px;background:var(--base);opacity:.35;}
.spn-chain-more{margin-left:14px;background:none;border:none;border-radius:var(--pill);padding:7px 12px;font-size:13.5px;font-weight:600;color:var(--base);cursor:pointer;transition:background .15s;}
.spn-chain-more:hover{background:var(--base-soft);}
@media (max-width:560px){ .spn-chain-link{width:12px;} .spn-chain-more{margin-left:4px;} }

/* ── Topic and shelf headers ───────────────────────────────────────────── */
.spn-topic-head{margin:0 0 20px;animation:spn-rise .35s var(--ease) backwards;}
.spn-topic-row{gap:10px;}
.spn-topic-name{font-size:30px;margin-right:auto;}
.spn-shelf-sub{font-size:13.5px;margin-top:4px;}
.spn-link{font-family:var(--font-body);font-size:inherit;}
/* The buttons show on every screen size (on wide screens the Brief button used to be hidden, and shelves had none). */
.spn-brief-btn{display:inline-flex !important;margin-left:0;background:var(--card);color:var(--ink);border:1px solid var(--line2);padding:8px 16px;font-size:13px;transition:background .15s,color .15s,border-color .15s,transform .15s;}
.spn-brief-btn:hover{background:var(--card);border-color:var(--base);color:var(--base);transform:translateY(-1px);}
.spn-brief-btn.primary{background:var(--ink);color:#F4F3EC;border-color:var(--ink);}
.spn-brief-btn.primary:hover{background:var(--base);border-color:var(--base);color:#fff;}
.spn-pyr-brief{display:none !important;}

/* ── Evidence groups and cards ─────────────────────────────────────────── */
.spn-stratum{margin-bottom:44px;}
.spn-stratum-head{padding-bottom:14px;margin-bottom:18px;gap:14px;animation:spn-fade-in .4s ease backwards;}
.spn-stratum-title{font-size:23px;}
.spn-stratum-sub{font-size:13px;}
.spn-stratum-tag{font-size:10.5px;}
.spn-card{border-radius:var(--radius);margin-bottom:14px;animation:spn-rise .4s var(--ease) backwards;}
.spn-card:nth-child(2){animation-delay:.04s;} .spn-card:nth-child(3){animation-delay:.08s;} .spn-card:nth-child(n+4){animation-delay:.1s;}
.spn-card:hover{transform:translateY(-1px);}
.spn-card-in{padding:20px 24px 18px;}
.spn-card-top{gap:6px 12px;align-items:center;}
.spn-card-type{font-family:var(--font-body);font-size:11.5px;font-weight:700;letter-spacing:.06em;}
.spn-card-meta{font-family:var(--font-body);font-size:13px;}
.spn-card-title{font-size:20px;line-height:1.25;margin:8px 0 6px;}
.spn-compact-rec{margin-top:10px;gap:6px;}
.spn-compact-rec li{font-size:14.5px;line-height:1.5;}
.spn-compact-foot{margin-top:14px;gap:8px;}
.spn-open,.spn-copy,.spn-close{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;padding:7px 15px;transition:background .15s,color .15s,border-color .15s,transform .12s;}
.spn-use{font-size:13px;padding:7px 14px;}
.spn-use-tag,.spn-waves-tag{font-family:var(--font-body);font-size:11.5px;font-weight:600;letter-spacing:0;text-transform:none;}
.spn-rec .lab,.spn-findings .lab,.spn-field .k,.spn-pointers .lab{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:none;}
.spn-rec li,.spn-findings li{font-size:14.5px;}
.spn-more{font-family:var(--font-body);font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;padding:7px 14px;}
.spn-rec,.spn-findings,.spn-pointers,.spn-detail{animation:spn-rise .3s var(--ease) backwards;}
.spn-card-suggest{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:0;}
.spn-card-source{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:0;padding:7px 14px;}
.spn-fig-list .pg{font-family:var(--font-body);font-size:12px;}

/* Evidence timeline and pyramid */
.spn-pyramid-h{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:none;}
.spn-pyr-waves,.spn-pyr-use{font-size:13px;}

/* ── Pop-up windows ────────────────────────────────────────────────────── */
.spn-scrim{padding:56px 18px;background:rgba(15,29,24,.46);}
.spn-modal{border-radius:var(--radius);animation:spn-pop .26s var(--ease);}
@keyframes spn-pop{from{opacity:0;transform:translateY(8px) scale(.99);}to{opacity:1;transform:none;}}
.spn-modal-head{padding:20px 28px;}
.spn-modal-body{padding:24px 28px 28px;}
.spn-x{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:22px;transition:background .15s,color .15s;}
.spn-x:hover{background:rgba(15,29,24,.08);}
.spn-brief-kicker{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.01em;text-transform:none;}
.spn-fld label{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;}
.spn-save,.spn-cancel,.spn-add{transition:background .15s,color .15s,border-color .15s,transform .12s,box-shadow .15s;}

/* Add papers: one big, obvious drop zone */
.spn-add-modal{max-width:620px;}
.spn-add-drop{
  padding:40px 24px 34px;border:2px dashed #D3E59A;border-radius:var(--radius);cursor:pointer;gap:8px;
  background:linear-gradient(180deg,#fff,#F8FBEC);transition:border-color .2s,background .2s,box-shadow .2s;
}
.spn-add-drop:hover{background:linear-gradient(180deg,#fff,#F8FBEC);}
.spn-add-drop.drag{border-color:var(--base);background:var(--base-soft);box-shadow:0 0 0 5px rgba(198,234,100,.4);}
.spn-add-icon{width:64px;height:64px;border-radius:50%;background:var(--base-soft);color:var(--base);display:grid;place-items:center;margin-bottom:4px;transition:transform .25s var(--ease);}
.spn-add-drop:hover .spn-add-icon,.spn-add-drop.drag .spn-add-icon{transform:translateY(-3px) scale(1.06);}
.spn-add-title{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.015em;color:var(--ink);}
.spn-add-sub{font-size:14.5px;color:var(--muted);}
.spn-add-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;}
.spn-add-points{list-style:none;margin:20px 4px 0;padding:0;display:grid;gap:8px;font-size:14px;}
.spn-add-points li{position:relative;padding-left:24px;}
.spn-add-points li::before{content:"✓";position:absolute;left:2px;top:0;color:var(--base);font-weight:700;}
.spn-fineprint{font-size:12px;line-height:1.55;color:var(--muted);margin:18px 4px 0;}
.spn-add-modal .spn-modal-foot{margin-top:18px;}

/* First-time welcome */
.spn-welcome{border-radius:var(--radius);padding:32px 32px 24px;animation:spn-rise .5s var(--ease) backwards;}
.spn-welcome h2{font-size:clamp(24px,3vw,32px);margin:4px 0 22px;}
.spn-welcome-steps li{font-size:14px;}
.spn-welcome-steps b{font-size:15px;}
.spn-welcome-drop{min-height:170px;border-width:2px;border-radius:var(--radius);}
.spn-drop-note{font-family:var(--font-body);font-size:13px;letter-spacing:0;text-transform:none;}
.spn-drop-main{font-size:15.5px;}

/* Search results */
.spn-ps-modal{max-width:800px;}
.spn-ps-tools{font-size:13.5px;}
.spn-ps-list{gap:12px;}
.spn-ps-row{border-left-width:3px;padding:16px 18px;border-radius:var(--radius);gap:14px;transition:box-shadow .18s,transform .18s,border-color .18s;animation:spn-rise .4s var(--ease) backwards;}
.spn-ps-row:hover{box-shadow:var(--shadow);transform:translateY(-1px);}
.spn-ps-row:nth-child(2){animation-delay:.05s;} .spn-ps-row:nth-child(3){animation-delay:.1s;} .spn-ps-row:nth-child(4){animation-delay:.15s;} .spn-ps-row:nth-child(n+5){animation-delay:.2s;}
.spn-ps-n{font-family:var(--font-display);font-size:15px;font-weight:700;}
.spn-ps-tags{gap:6px 10px;font-size:12.5px;align-items:center;}
.spn-ps-role,.spn-ps-fit{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;padding:3px 11px;}
.spn-ps-role{border:none;}
.spn-ps-role.r-background{background:#E6E4DA;color:#46534D;}
.spn-ps-role.r-assessment{background:#E1E8E3;color:#2F463B;}
.spn-ps-role.r-training{background:var(--base-soft);color:#3D5A0A;}
.spn-ps-role.r-outcomes{background:var(--waves-soft);color:#85570F;}
.spn-ps-fit.partial{background:none;color:var(--muted);padding-left:0;font-weight:600;}
.spn-ps-fit.strong{background:none;color:var(--base);padding-left:0;}
.spn-ps-fit.strong::before{content:"● ";font-size:9px;}
.spn-ps-title{font-size:17px;margin:7px 0 3px;}
.spn-ps-why{font-size:14px;color:#2C3F38;}
.spn-ps-more{font-family:var(--font-body);font-size:12.5px;font-weight:600;}
.spn-ps-open{transition:background .15s,color .15s,border-color .15s,transform .12s;}
.spn-ps-foot{font-size:12.5px;margin-top:16px;}
.spn-ps-roleh{font-size:16px;margin:20px 0 10px;}
.spn-ps-roleh span{font-family:var(--font-body);font-size:12px;font-weight:600;background:rgba(15,29,24,.07);padding:1px 9px;border-radius:var(--pill);}
.spn-ps-loading{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;margin:6px 0 14px;}
.spn-ps-loading i{width:7px;height:7px;border-radius:50%;background:var(--base);animation:spn-dot 1s ease-in-out infinite;}
.spn-ps-loading i:nth-child(2){animation-delay:.15s;} .spn-ps-loading i:nth-child(3){animation-delay:.3s;margin-right:6px;}
@keyframes spn-dot{0%,80%,100%{opacity:.25;transform:scale(.8);}40%{opacity:1;transform:scale(1);}}

/* Upload tray */
.spn-tray{border-radius:var(--radius);width:380px;box-shadow:0 18px 50px -18px rgba(15,29,24,.55);animation:spn-rise .35s var(--ease) backwards;}
.spn-tray-hd{padding:14px 16px;}
.spn-tray-hd b{font-size:14px;}
.spn-tray-list li{padding:9px 16px;}
.spn-tray-list .nm{font-size:13.5px;}
.spn-tray-list .steps i{height:5px;width:16px;transition:background .3s;}
.spn-tray-list .st{font-size:12px;}

/* ── Motion: off for people who ask for less ───────────────────────────── */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .spn *,.spn *::before,.spn *::after{animation-duration:.01ms !important;animation-delay:0s !important;transition-duration:.01ms !important;}
}

/* Open card: one row of matching buttons, Close at the end */
.spn-card-links{gap:8px 10px;margin-top:14px;}
.spn-card-links .spn-card-source{margin-top:0;}
.spn-card-suggest,.spn-card-suggest.spn-use{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:0;padding:7px 14px;margin-top:0;}
.spn-card-suggest.spn-use.on{font-weight:600;}
.spn-card-links .spn-close{margin-left:auto;}
.spn-card-links .spn-shelfwrap button{font-family:var(--font-body);}

/* Phones: the header is two rows tall, so it scrolls away instead of sticking. */
@media (max-width:700px){ .spn-masthead{position:relative;} }

/* Narrower screens: the evidence summary is a slim strip, not a tall block */
@media (max-width:1099px){
  .spn-pyramid{grid-template-columns:repeat(6,1fr);gap:8px;}
  .spn-pyramid-h{display:none;}
  .spn-pyr-block.consensus,.spn-pyr-block.base,.spn-pyr-block.primary{grid-column:span 2;height:62px;}
  .spn-pyr-waves,.spn-pyr-use{grid-column:span 3;margin-top:0;}
  .spn-aside{margin-bottom:18px;}
}

/* Section titles keep their own line when there isn't room beside the caption */
.spn-stratum-head{flex-wrap:wrap;gap:6px 14px;}
.spn-stratum-title{flex:0 1 auto;min-width:0;}
@media (max-width:900px){ .spn-stratum-sub{margin-left:0;flex-basis:100%;} }

/* ── No side menu: one centred column, with shortcuts above the topic chart ─────── */
.spn-main{width:100%;max-width:1260px;margin:0 auto;}
.spn-quick{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;margin:0 0 22px;}
.spn-quick-grp{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-width:0;}
.spn-quick-h{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:3px;}
.spn-chip{display:inline-flex;align-items:center;gap:7px;max-width:270px;height:32px;padding:0 6px 0 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--pill);font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .15s,color .15s,background .15s,transform .15s;}
.spn-chip .lbl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.spn-chip b{flex:none;font-size:11px;font-weight:700;background:rgba(15,29,24,.07);color:var(--muted);border-radius:var(--pill);padding:1px 8px;}
.spn-chip .pin{flex:none;color:var(--waves);font-size:13px;line-height:1;opacity:.85;transition:transform .15s;}
.spn-chip .pin:hover{transform:scale(1.2);opacity:1;}
.spn-chip:hover{border-color:var(--base);color:var(--base);transform:translateY(-1px);}
.spn-chip.on{background:var(--base);border-color:var(--base);color:#fff;}
.spn-chip.on b{background:rgba(15,29,24,.12);color:var(--ink);}
.spn-chip.on .pin{color:#FFE8B8;}
.spn-chip.add{padding:0 13px;border-style:dashed;background:transparent;color:var(--base);}
.spn-chip.add:hover{background:var(--base-soft);}
.spn-chip.push{margin-left:auto;}
.spn-chip.suggested{border:1.5px dashed var(--waves);background:var(--waves-soft);color:#6B4A12;}
.spn-chip-form{display:inline-flex;gap:6px;}
.spn-chip-form input{height:32px;width:190px;max-width:100%;padding:0 14px;border:1.5px solid var(--base);border-radius:var(--pill);background:var(--card);font:500 13px var(--font-body);color:var(--ink);}
.spn-chip-form input:focus{outline:none;box-shadow:0 0 0 3px var(--base-soft);}
.spn-chip-form button{height:32px;padding:0 14px;border:none;border-radius:var(--pill);background:var(--base);color:#fff;font:600 13px var(--font-body);cursor:pointer;}
.spn-chip-form button:disabled{opacity:.45;cursor:default;}
.spn-newtopic{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:-6px 0 22px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);animation:spn-fade-in .25s ease backwards;}
.spn-newtopic .spn-area-input{flex:1 1 200px;}
.spn-newtopic .spn-area-parent{flex:1 1 200px;}
.spn-listbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;}
.spn-listbar .spn-search{flex:1 1 260px;margin:0;}
.spn-listsel{flex:0 1 280px;min-width:0;height:44px;padding:0 14px;border:1px solid var(--line2);border-radius:var(--pill);background:var(--card);font:600 14px var(--font-body);color:var(--ink);}
@media (max-width:700px){
  /* On a phone each group is one swipeable line, so the topic chart stays near the top */
  .spn-quick{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:8px;margin-bottom:18px;}
  .spn-quick-grp{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px;}
  .spn-quick-grp::-webkit-scrollbar{display:none;}
  .spn-quick-grp > *{flex:none;}
  .spn-chip.push{margin-left:0;align-self:flex-start;}
  .spn-listsel{flex:1 1 100%;}
}

/* ═══ Modern and chic ══════════════════════════════════════════════════════════
   A near-black green ink and one lime accent on a cool off-white, a tight grotesque
   face (Inter Tight), soft corners, and lime "marker" highlights on the words that matter.
   Evidence strength runs from gold (consensus) through forest (reviews) to sage (primary). */
.spn{
  --ink:#0F1D18;--muted:#5E6B64;--paper:#EFF1EC;--card:#fff;--line:#E2E6DD;--line2:#D2D7CB;
  --base:#0F1D18;--base-soft:#EEF7D0;--accent:#C6EA64;--accent-deep:#B2DA45;
  --reviews:#1F5A48;--primary:#5F7569;--primary-soft:#E4EAE6;
  --consensus:#C29A2E;--consensus-ink:#7A5C0E;--consensus-soft:#F4ECD0;
  --radius:22px;--radius-sm:12px;--pill:10px;--shadow:0 1px 2px rgba(15,29,24,.05);
  background-color:var(--paper);
  background-image:linear-gradient(rgba(15,29,24,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(15,29,24,.045) 1px,transparent 1px);
  background-size:72px 72px;background-position:center top;
}
/* Reviews are forest green: the interface's own colour is now ink, so they need their own */
.spn-stratum-tag.base,.spn-spine.base,.spn-tl-dot.base,.spn-tl-key i.base,.spn-bt-dot.base,.spn-pyr-detail.base .bar i,.dot.base,.spn-mixbar .m-base,.spn-pyr-block.base{background:var(--reviews);}
.spn-card-type.base,.spn-ps-n.base,.spn-pyr-block.base.on{color:var(--reviews);}
.spn-ps-row.base{border-left-color:var(--reviews);}
.spn-pyr-tier.base polygon{fill:var(--reviews);stroke:var(--reviews);}

/* The highlight: a teal marker behind the words that matter */
.hl{background:var(--accent);color:var(--ink);border-radius:.28em;padding:0 .22em;margin:0 -.04em;-webkit-box-decoration-break:clone;box-decoration-break:clone;}

/* Headings: big, pine, tightly set */
.spn h1,.spn h2,.spn h3{font-family:var(--font-display);}
.spn-libhead{margin:0 0 34px;align-items:flex-end;}
.spn-libhead h1{font-size:clamp(44px,5.4vw,72px);font-weight:700;letter-spacing:-.045em;line-height:.98;margin:0 0 14px;}
.spn-libhead .sub{font-size:17px;color:var(--muted);}
.spn-libhead .sub b{font-weight:600;color:var(--ink);}
.spn-libmix li{font-size:14px;}
.spn-topic-name{font-size:clamp(34px,3.6vw,46px);font-weight:700;letter-spacing:-.04em;line-height:1.02;}
.spn-stratum-title{font-size:26px;font-weight:700;letter-spacing:-.03em;}
.spn-card-title{font-weight:600;letter-spacing:-.02em;}
.spn-pyr-block .n{font-weight:700;letter-spacing:-.03em;}

/* Header: airy, with the main action in teal */
.spn-masthead{background:rgba(238,240,234,.82);border-bottom:none;}
.spn-add{background:var(--accent);color:var(--ink);border:none;font-weight:600;border-radius:var(--pill);padding:10px 18px;box-shadow:none;}
.spn-add:hover{background:var(--accent-deep);}

/* The library sits on a white sheet above the faint grid */
.spn-body{padding:6px 20px 28px;}
.spn-main{width:100%;max-width:1280px;margin:0 auto;background:#fff;border-radius:30px;padding:44px 48px 80px;box-shadow:0 40px 70px -50px rgba(15,29,24,.28);}
.spn-main:has(.spn-welcome){background:transparent;box-shadow:none;padding-top:20px;}
@media (max-width:700px){ .spn-body{padding:0 10px 20px;} .spn-main{border-radius:22px;padding:24px 18px 48px;} }

/* Topic map / Full list: a pine bar, the chosen tab in teal */
.spn-viewrow{align-items:center;border-bottom:none;padding-bottom:0;margin-bottom:26px;}
.spn-viewtabs{background:#0F1D18;padding:4px;border-radius:14px;gap:2px;}
.spn-viewtabs button{padding:9px 20px;border-radius:10px;font-size:14.5px;font-weight:500;color:#C9CCC2;background:none;border:none;margin:0;}
.spn-viewtabs button:hover{color:#fff;background:none;}
.spn-viewtabs button.on{background:var(--accent);color:var(--ink);font-weight:600;box-shadow:none;}
.spn-viewrow .spn-ps-bar{margin-bottom:0;}
.spn-ps-bar{border-radius:14px;}
.spn-ps-go{background:#0F1D18;color:#fff;border-radius:10px;}

/* Shortcut tags */
.spn-quick{margin:0 0 26px;gap:10px 28px;}
.spn-quick-h{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:none;}
.spn-chip{height:34px;border-radius:var(--pill);font-weight:500;font-size:13.5px;border-color:var(--line2);}
.spn-chip:hover{border-color:#0F1D18;color:#0F1D18;transform:none;}
.spn-chip.on{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600;}
.spn-chip.on b{background:rgba(15,29,24,.12);color:var(--ink);}
.spn-chip.on .pin{color:var(--ink);}
.spn-chip.add{color:#0F1D18;border-color:var(--line2);}
.spn-chip.add:hover{background:var(--base-soft);border-color:#0F1D18;}
.spn-chip b{border-radius:6px;}
.spn-chip.suggested{border:1px dashed var(--waves);}
.spn-chip-form input{border-color:#0F1D18;}
.spn-chip-form input:focus{box-shadow:0 0 0 3px var(--base-soft);}
.spn-chip-form button{background:#0F1D18;}

/* One line of steps once you are inside a topic */
.spn-mixbar{border-radius:3px;}
.spn-chain-node{height:36px;border-radius:var(--pill);border-color:var(--line2);font-size:13.5px;}
.spn-chain-node:hover:not(:disabled){border-color:#0F1D18;transform:none;}
.spn-chain-node.on{background:var(--accent);border-color:var(--accent);color:var(--ink);box-shadow:none;font-weight:600;}
.spn-chain-link{background:#0F1D18;opacity:.5;height:2px;border-radius:0;width:20px;}
.spn-chain-more{color:#0F1D18;border-radius:var(--pill);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent-deep);text-decoration-thickness:2px;}
.spn-chain-more:hover{background:var(--base-soft);}

/* Buttons and cards */
.spn-brief-btn{border-radius:var(--pill);border-color:var(--line2);font-weight:600;padding:8px 14px;}
.spn-brief-btn:hover{border-color:#0F1D18;color:#0F1D18;transform:none;}
.spn-brief-btn.primary{background:#0F1D18;border-color:#0F1D18;color:#fff;}
.spn-brief-btn.primary:hover{background:#26382F;border-color:#26382F;color:#fff;}
.spn-card{border-radius:var(--radius);border-color:var(--line);box-shadow:none;}
.spn-card:hover,.spn-ps-row:hover{transform:none;}
.spn-modal{border-radius:26px;}
.spn-listsel{border-radius:var(--pill);}
.spn-newtopic{border-radius:var(--radius-sm);}
.spn-link{color:#0F1D18;text-decoration-color:var(--accent-deep);}

/* ── My topics: an outline. Opening a topic reveals what is inside it, indented under it ── */
.spn-map-top{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;margin:0 0 6px;}
.spn-tr-h{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;}
.spn-tree{list-style:none;margin:0;padding:0;max-width:860px;}
.spn-tree > li{border-bottom:1px solid var(--line);}
.spn-tree > li:last-child{border-bottom:none;}
.spn-tree.nested{margin:0 0 14px 21px;padding-left:20px;border-left:2px solid rgba(15,29,24,.85);animation:spn-fade-in .3s ease backwards;}
.spn-tree.nested > li{border-bottom:none;}
.spn-tr-row{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:10px 6px;background:none;border:none;border-radius:var(--radius-sm);text-align:left;color:var(--ink);cursor:pointer;transition:background .15s;}
.spn-tree.nested .spn-tr-row{min-height:50px;}
.spn-tr-row:hover{background:#F6F7F2;}
.spn-tr-chev{flex:none;width:18px;text-align:center;font-size:22px;line-height:1;color:var(--ink);transition:transform .2s var(--ease);}
.spn-tr-row.on .spn-tr-chev{transform:rotate(90deg);}
.spn-tr-name{flex:1;min-width:0;font-family:var(--font-display);font-size:23px;font-weight:600;letter-spacing:-.03em;line-height:1.15;}
.spn-tree.nested .spn-tr-name{font-size:18px;letter-spacing:-.02em;}
.spn-tr-name .star{color:var(--waves);font-size:15px;}
.spn-tr-row.on .spn-tr-name{font-weight:700;}
.spn-tr-note{flex:none;width:92px;text-align:right;font-size:13.5px;color:var(--muted);}
.spn-tr-row .spn-mixbar{flex:none;width:96px;height:5px;border-radius:3px;}
.spn-tr-row.seealso .spn-tr-name{color:var(--muted);}
.spn-tr-row.ghost{border:1px dashed var(--waves);background:var(--waves-soft);margin:6px 0;min-height:46px;padding:8px 12px;}
.spn-tr-row.ghost .spn-tr-name{font-size:16px;color:#6B4A12;}
.spn-tr-row.ghost .spn-tr-note{width:auto;color:#6B4A12;}
@media (max-width:700px){
  .spn-tr-row{min-height:56px;gap:8px;}
  .spn-tr-name{font-size:19px;}
  .spn-tree.nested{margin-left:11px;padding-left:12px;}
  .spn-tree.nested .spn-tr-name{font-size:16.5px;}
  .spn-tr-row .spn-mixbar{display:none;}
  .spn-tr-note{width:auto;font-size:12.5px;}
}

/* Back to "My topics" while a topic is open: a bigger, solid button with a return arrow */
.spn-chain-back{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px 0 6px;border:none;border-radius:var(--pill);background:var(--ink);color:#FCFBF8;font:700 15.5px/1 "Inter Tight","Inter",sans-serif;letter-spacing:-.01em;cursor:pointer;box-shadow:0 10px 22px -14px rgba(15,29,24,.6);transition:transform .2s ease,box-shadow .2s ease,padding .2s ease;}
.spn-back-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--ink);transition:transform .25s cubic-bezier(.3,1.4,.5,1);}
.spn-chain-back:hover{transform:translateY(-1px);box-shadow:0 14px 26px -14px rgba(15,29,24,.7);}
.spn-chain-back:hover .spn-back-arrow{transform:translateX(-3px);}
.spn-chain-back:active{transform:translateY(0) scale(.98);}
.spn-chain-back:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
.spn-chain{gap:8px 0;}
@media (prefers-reduced-motion:reduce){ .spn-chain-back,.spn-back-arrow{transition:none;} }
@media (max-width:560px){ .spn-chain-back{height:42px;font-size:14.5px;padding-right:16px;} .spn-back-arrow{width:30px;height:30px;} }
@media (max-width:560px){ .spn-chain{gap:8px;} .spn-chain-link{display:none;} .spn-chain-back{flex:none;white-space:nowrap;} .spn-chain-more{margin-left:0;} }

/* The three evidence counts are buttons: each opens every paper of that kind */
.spn-libmix li{padding:0;}
.spn-mixbtn{display:inline-flex;align-items:center;gap:7px;background:none;border:none;border-radius:var(--pill);padding:6px 14px;font:inherit;color:inherit;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease;}
.spn-mixbtn:hover:not(:disabled){background:var(--base-soft);transform:translateY(-1px);}
.spn-mixbtn:active:not(:disabled){transform:translateY(0) scale(.98);}
.spn-mixbtn:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
.spn-mixbtn:disabled{cursor:default;opacity:.55;}
.spn-mixbtn.on{background:var(--ink);color:#FCFBF8;}
.spn-mixbtn.on b{color:#FCFBF8;}
.spn-libmix li:has(.spn-mixbtn.on){border-color:var(--ink);}
.spn-grp-head .spn-topic-row{gap:12px;}
.spn-grp-pills{margin:2px 0 6px;}

/* Top-of-page tidy: labelled rows split by faint dashed lines */
.spn-viewrow{padding-bottom:18px;margin-bottom:0;border-bottom:1.5px dashed var(--line);}
.spn-quick{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;margin:0 0 22px;border-bottom:1.5px dashed var(--line);}
.spn-quick-grp{padding:14px 0;gap:8px;border-bottom:1.5px dashed var(--line);}
.spn-quick-grp:last-child{border-bottom:none;}
.spn-quick-grp > .spn-quick-h{flex:0 0 78px;margin-right:0;}
.spn-quick-grp .spn-chip.push{margin-left:auto;}
.spn-listbar{padding-top:2px;}
@media (max-width:760px){
  .spn-quick-grp{padding:12px 16px;} /* keep the phone's side padding so the labels line up with the page */
  .spn-quick-grp > .spn-quick-h{flex:none;margin-right:6px;}
  .spn-quick-grp .spn-chip.push{margin-left:0;}
}

/* Paper cards: each one reads as its own object, even in a long list */
.spn-card{border:1px solid var(--line2);box-shadow:0 1px 2px rgba(15,29,24,.06),0 10px 22px -16px rgba(15,29,24,.28);margin-bottom:22px;}
.spn-card:hover{box-shadow:0 1px 2px rgba(15,29,24,.08),0 14px 28px -16px rgba(15,29,24,.34);}
.spn-spine{flex-basis:7px;}
.spn-card-type{font-size:11px;opacity:.9;}
.spn-card-title{font-weight:650;margin:10px 0 8px;}
.spn-compact-foot{margin-top:16px;padding-top:14px;border-top:1.5px dashed var(--line);}
/* Dark text on the gold pyramid peak, for contrast */
.spn-pyr-tier.consensus text{fill:#2A1F05;}

/* Search results: "Turn this into a shelf" */
.spn-ps-tools-r{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end;}
.spn-ps-mkshelf{height:34px;padding:0 16px;border:none;border-radius:var(--pill);background:var(--base);color:#FCFBF8;font:600 13px var(--font-body);cursor:pointer;transition:transform .15s,box-shadow .15s;}
.spn-ps-mkshelf:hover{transform:translateY(-1px);box-shadow:0 8px 18px -12px rgba(15,29,24,.6);}
.spn-ps-mkshelf:focus-visible,.spn-ps-save:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
.spn-ps-shelfbar{background:var(--base-soft);border:1.5px dashed var(--line2);border-radius:var(--radius-sm);padding:14px 16px;margin:0 0 16px;}
.spn-ps-shelfhint{margin:0 0 10px;font-size:13px;color:var(--ink);font-weight:600;}
.spn-ps-shelfrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;}
.spn-ps-shelfrow input{flex:1 1 220px;min-width:0;height:38px;padding:0 14px;border:1.5px solid var(--base);border-radius:var(--pill);background:var(--card);font:500 14px var(--font-body);color:var(--ink);}
.spn-ps-shelfrow input:focus{outline:none;box-shadow:0 0 0 3px var(--accent);}
.spn-ps-save{height:38px;padding:0 18px;border:none;border-radius:var(--pill);background:var(--base);color:#FCFBF8;font:700 13.5px var(--font-body);cursor:pointer;}
.spn-ps-save:disabled{opacity:.45;cursor:default;}
.spn-ps-check{width:20px;height:20px;margin:1px 0 0;accent-color:var(--base);cursor:pointer;}
.spn-ps-shelfsel{flex:1 1 280px;max-width:100%;text-overflow:ellipsis;min-width:0;height:38px;padding:0 12px;border:1.5px solid var(--base);border-radius:var(--pill);background:var(--card);font:600 13.5px var(--font-body);color:var(--ink);}

/* The logo as a home button */
.spn-brand-btn{display:inline-flex;padding:0;margin:0;border:none;background:none;cursor:pointer;border-radius:8px;}
.spn-brand-btn:focus-visible{outline:3px solid var(--accent);outline-offset:4px;}

/* Branded confirm / rename / message pop-up (replaces the browser's own) */
.spn-dlg-scrim{align-items:center;z-index:80;padding:24px 18px;}
.spn-dlg{max-width:440px;background:var(--card);border:1px solid var(--line2);box-shadow:0 30px 70px -24px rgba(15,29,24,.6);}
.spn-dlg-body{padding:28px 28px 8px;}
.spn-dlg-body h2{margin:0 0 10px;font-family:var(--font-display);font-weight:700;font-size:23px;letter-spacing:-.025em;line-height:1.2;color:var(--ink);overflow-wrap:anywhere;}
.spn-dlg-msg{margin:0 0 10px;font-size:14.5px;line-height:1.5;color:var(--muted);}
.spn-dlg-label{display:block;margin:14px 0 6px;font:700 12px var(--font-body);letter-spacing:.02em;color:var(--ink);}
.spn-dlg-input{width:100%;height:46px;padding:0 16px;border:1.5px solid var(--base);border-radius:var(--pill);background:var(--card);font:500 15.5px var(--font-body);color:var(--ink);box-sizing:border-box;}
.spn-dlg-input:focus{outline:none;box-shadow:0 0 0 3px var(--accent);}
.spn-dlg .spn-ai-err{margin:12px 0 0;}
.spn-dlg-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px 26px;}
.spn-dlg-foot button{height:42px;padding:0 22px;border-radius:var(--pill);font:700 14px var(--font-body);cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;}
.spn-dlg-cancel{background:var(--card);color:var(--ink);border:1.5px solid var(--line2);}
.spn-dlg-cancel:hover{border-color:var(--ink);}
.spn-dlg-ok{background:var(--base);color:#FCFBF8;border:1.5px solid var(--base);}
.spn-dlg-ok:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px -12px rgba(15,29,24,.6);}
.spn-dlg-ok.danger{background:#A6392B;border-color:#A6392B;}
.spn-dlg-foot button:disabled{opacity:.5;cursor:default;}
.spn-dlg-foot button:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
@media (max-width:480px){ .spn-dlg-foot{flex-direction:column-reverse;} .spn-dlg-foot button{width:100%;} }

/* ── Bookshelf: shelves as book spines under the topic list ───────────────── */
.spn-bookshelf{margin:34px 0 10px;padding-top:22px;border-top:1.5px dashed var(--line);}
.spn-bs-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px;padding:16px 10px 0;}
.spn-bs-plank{height:9px;border-radius:0 0 6px 6px;background:var(--line2);box-shadow:0 6px 12px -8px rgba(15,29,24,.35);margin:0 2px 14px;}
.spn-bookshelf .spn-chip-form{margin:0 0 6px;}
.spn-spine-book{display:flex;flex-direction:column;align-items:center;justify-content:space-between;box-sizing:border-box;flex:none;padding:0 4px 9px;border:none;border-radius:4px 4px 0 0;cursor:pointer;position:relative;overflow:hidden;font-family:var(--font-body);transition:transform .18s var(--ease),box-shadow .18s;}
.spn-spine-book:hover{transform:translateY(-6px);box-shadow:0 12px 18px -12px rgba(15,29,24,.55);}
.spn-spine-book:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
.spn-spine-book .band{align-self:stretch;height:11px;margin:9px -4px 0;border-top:2px solid currentColor;border-bottom:2px solid currentColor;opacity:.4;flex:none;}
.spn-spine-book .ttl{writing-mode:vertical-rl;flex:1;min-height:0;margin:8px 0;font-size:13px;font-weight:500;line-height:1.3;text-align:center;overflow-wrap:anywhere;display:flex;align-items:center;justify-content:center;}
.spn-spine-book b{flex:none;font-size:11px;font-weight:600;line-height:1;padding:3px 7px;border:1.2px solid currentColor;border-radius:20px;}
.spn-spine-book.ink{background:#0F1D18;color:#C6EA64;}
.spn-spine-book.for{background:#1F5A48;color:#EFF1EC;}
.spn-spine-book.sag{background:#5F7569;color:#FCFBF8;}
.spn-spine-book.lim{background:#C6EA64;color:#0F1D18;}
.spn-spine-book.gol{background:#C29A2E;color:#2A1F05;}
.spn-spine-book.on{box-shadow:0 0 0 3px var(--card),0 0 0 5.5px var(--ink);transform:translateY(-6px);}
.spn-spine-book.new{width:56px;background:none;border:1.5px dashed var(--line2);border-bottom:none;color:var(--muted);justify-content:center;padding:0;}
.spn-spine-book.new:hover{border-color:var(--ink);color:var(--ink);}
.spn-spine-book.new .ttl{margin:0;flex:none;}
@media (prefers-reduced-motion:reduce){.spn-spine-book{transition:none;}}
/* Shelf names are never cut off: a long one wraps inside its chip */
.spn-chip.shelf{height:auto;min-height:34px;padding-top:5px;padding-bottom:5px;text-align:left;}
.spn-chip.shelf .lbl{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.25;}

/* "New" markers: where freshly added papers landed */
.spn-new,.spn-new-tag{display:inline-flex;align-items:center;gap:4px;background:var(--accent);color:var(--ink);border-radius:20px;font:700 11px/1 var(--font-body);letter-spacing:.01em;padding:4px 9px 4px 7px;vertical-align:middle;white-space:nowrap;box-shadow:0 0 0 1.5px var(--accent-deep) inset;}
.spn-tr-name .spn-new{margin-left:10px;}
.spn-new.mini{padding:3px 7px 3px 5px;margin-left:2px;}
.spn-new-tag{padding:4px 9px 4px 7px;}
.spn-spark{flex:none;animation:spn-twinkle 2.4s ease-in-out infinite;transform-origin:center;}
@keyframes spn-twinkle{0%,100%{transform:scale(1) rotate(0);}50%{transform:scale(1.18) rotate(18deg);}}
@media (prefers-reduced-motion:reduce){.spn-spark{animation:none;}}

/* ── Summarise my evidence ── */
.spn-brief-btn.spn-sum-btn{background:#2C5F8A;color:#fff;border-color:#2C5F8A;letter-spacing:.02em;text-transform:uppercase;font-size:12px;}
.spn-brief-btn.spn-sum-btn:hover{background:#1F4A70;border-color:#1F4A70;color:#fff;}
.spn-sum-modal{max-width:720px;}
.spn-sum-bottom{font-size:17px;line-height:1.5;font-weight:600;color:var(--ink);margin:2px 0 16px;}
.spn-sum-h{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px;font-weight:700;}
.spn-sum-h span{text-transform:none;letter-spacing:0;font-weight:400;margin-left:6px;}
.spn-sum-list{margin:0;padding-left:20px;display:grid;gap:8px;font-size:15px;line-height:1.5;}
.spn-sum-limits{font-size:14px;line-height:1.5;margin:0;color:var(--ink);}
.spn-cite{color:#2C5F8A;font-weight:700;font-size:11px;margin-left:2px;white-space:nowrap;}
.spn-sum-refs{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px;line-height:1.4;}
.spn-sum-refs li{display:flex;gap:8px;padding:6px 0 6px 10px;border-left:3px solid var(--line2);}
.spn-sum-refs li.consensus{border-left-color:#C29A2E;} .spn-sum-refs li.base{border-left-color:#1F5A48;} .spn-sum-refs li.primary{border-left-color:#5F7569;}
.spn-sum-refs li b{color:#2C5F8A;flex:none;min-width:28px;}
.spn-sum-tag{font-style:normal;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-right:4px;}
.spn-sum-tag.consensus{color:#7A5C0E;} .spn-sum-tag.base{color:#1F5A48;}
.spn-sum-note,.spn-sum-left{font-size:12px;color:var(--muted);margin:10px 0 0;}
.spn-sum-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:12px;}
.spn-sum-actions .spn-sum-left{margin:0;}
.spn-sum-caveat{margin:20px 0 0;padding:12px 14px;border:1px dashed var(--line2);border-radius:12px;font-size:12.5px;line-height:1.5;color:var(--muted);background:rgba(44,95,138,.05);}
.spn-sum-caveat b{color:#2C5F8A;}
.spn-sum-modal{display:flex;flex-direction:column;max-height:calc(100vh - 96px);}
.spn-sum-modal .spn-modal-body{overflow-y:auto;flex:1 1 auto;min-height:0;}
.spn-sum-modal .spn-sum-caveat{margin:0;border-radius:0 0 26px 26px;border:0;border-top:1px dashed var(--line2);flex:none;}
.spn-brief-pair{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;}
@media print{
  body.spn-print-sum .spn-page > :not(.spn-scrim){display:none !important;}
  body.spn-print-sum{background:#fff;}
  body.spn-print-sum .spn-scrim{position:static;display:block;inset:auto;background:none;backdrop-filter:none;padding:0;overflow:visible;animation:none;}
  body.spn-print-sum .spn-sum-modal{position:static;display:block;max-width:none;width:auto;max-height:none;margin:0;border:none;box-shadow:none;animation:none;background:#fff;overflow:visible;border-radius:0;}
  body.spn-print-sum .spn-sum-modal .spn-modal-body{overflow:visible;}
  body.spn-print-sum .spn-noprint,body.spn-print-sum .spn-x{display:none !important;}
  body.spn-print-sum .spn-brief-printhead{display:block;padding:0 0 10px;border-bottom:2px solid var(--base);margin:0 0 10px;}
  body.spn-print-sum .spn-brief-printhead img{height:46px;width:auto;display:block;}
  body.spn-print-sum .spn-brief-printhead p{margin:6px 0 0;font-size:11px;color:#444;font-family:var(--font-mono);}
  body.spn-print-sum .spn-sum-refs li,body.spn-print-sum .spn-sum-list li{break-inside:avoid;}
  body.spn-print-sum .spn-sum-caveat{border:1px dashed #999;border-radius:8px;margin-top:16px;break-inside:avoid;}
}

/* Saved summaries list on the main page */
.spn-savedsum{margin:28px 0 8px;}
.spn-savedsum-sub{font-size:13px;color:var(--muted);margin:-2px 0 12px;}
.spn-savedsum ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.spn-savedsum li{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--line2);border-radius:16px;background:var(--card);}
.spn-savedsum li b{display:block;font-size:15px;color:var(--ink);}
.spn-savedsum li span{font-size:12.5px;color:var(--muted);}
.spn-savedsum li em{font-style:normal;color:#2C5F8A;font-weight:600;}
.spn-sum-stale{color:#2C5F8A;}
