:root{
  --ink:#16181d; --ink2:#4a4f5a; --ink3:#6d7480;
  --paper:#fbfaf7; --card:#ffffff; --rule:#e2ded4; --rule2:#efece4;
  --accent:#7a2e2e; --accent-soft:#f6ecea;
  --hi:#8a2b2b; --hi-bg:#f8e9e7;
  --el:#8a5a12; --el-bg:#fbf0dd;
  --lo:#2d6146; --lo-bg:#e8f2ec;
  --un:#5b6068; --un-bg:#eeece6;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:16px/1.55 "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
}
.wrap{max-width:74rem;margin:0 auto;padding:0 1.25rem}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:#4d1c1c}
h1{font-size:clamp(1.6rem,4vw,2.15rem);line-height:1.15;margin:.4rem 0 .5rem;letter-spacing:-.01em}
h2{font-size:1.16rem;margin:1.6rem 0 .5rem}
h3{font-size:1rem;margin:1.1rem 0 .4rem}
p{margin:.55rem 0}
code{font:0.86em/1.4 var(--mono);background:var(--rule2);padding:.1em .35em;border-radius:3px}

/* header */
.sitehead{border-bottom:1px solid var(--rule);background:var(--card)}
.sitehead .wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem 1.4rem;padding-top:.85rem;padding-bottom:.75rem}
.brand{font-family:var(--mono);font-size:.92rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ink);text-decoration:none}
.brand:hover{color:var(--accent)}
.sitehead nav{display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;font-size:.88rem}
.sitehead nav a{color:var(--ink2);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
.sitehead nav a:hover{color:var(--accent);border-bottom-color:var(--rule)}
.sitehead nav a[aria-current]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}

main{padding-bottom:2.5rem}
.crumb{font-size:.82rem;color:var(--ink3);margin:.9rem 0 0}
.crumb a{color:var(--ink3)}

/* homepage */
.lede{padding:1.9rem 0 .4rem;max-width:52rem}
.lede h1{margin-bottom:.35rem}
.premise{font-size:clamp(1.06rem,2.4vw,1.3rem);line-height:1.42;color:var(--ink);margin:.2rem 0 .5rem;text-wrap:pretty}
.sub2{color:var(--ink2);font-size:.95rem;max-width:46rem}
.search{margin:1.5rem 0 1.4rem;max-width:34rem}
.search label{display:block;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);margin-bottom:.3rem;font-family:var(--mono)}
.searchrow{display:flex;gap:.5rem}
input[type=search],select,button{font:inherit}
input[type=search]{flex:1;min-width:0;padding:.55rem .7rem;border:1px solid var(--rule);border-radius:4px;background:var(--card);color:var(--ink);font-size:.95rem}
input[type=search]:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
button{padding:.55rem .95rem;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:4px;cursor:pointer;font-size:.9rem}
button:hover{background:#5f2222;border-color:#5f2222}
button.ghost{background:transparent;color:var(--ink2);border-color:var(--rule)}
button.ghost:hover{background:var(--rule2);color:var(--ink)}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:5px;overflow:hidden;margin:1.4rem 0}
.stats>div{background:var(--card);padding:.8rem .9rem}
.stats .k{display:block;font-family:var(--mono);font-size:1.35rem;font-weight:700;line-height:1.1}
.stats .v{display:block;color:var(--ink3);font-size:.76rem;line-height:1.3;margin-top:.2rem}

.callout{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:4px;padding:1rem 1.15rem;margin:1.5rem 0}
.callout h2{margin-top:0}
.tight{margin:.4rem 0 .1rem;padding-left:1.15rem}
.tight li{margin:.35rem 0}
.mb0{margin-bottom:0}
.sectionnote{color:var(--ink2);font-size:.92rem;max-width:52rem}

/* tables */
.tablewrap{overflow-x:auto;border:1px solid var(--rule);border-radius:5px;background:var(--card);margin:.7rem 0}
table.grid{width:100%;border-collapse:collapse;font-size:.87rem;font-variant-numeric:tabular-nums}
table.grid th,table.grid td{padding:.5rem .62rem;text-align:left;border-bottom:1px solid var(--rule2);vertical-align:top}
table.grid thead th{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink3);font-weight:700;background:#f7f5f0;border-bottom:1px solid var(--rule);
  position:sticky;top:0;white-space:nowrap
}
table.grid tbody tr:last-child td{border-bottom:0}
table.grid tbody tr:hover{background:#faf8f3}
.num{font-family:var(--mono);font-size:.94em}
.num.big{font-size:1.3rem;font-weight:700;letter-spacing:-.02em}
.np{color:var(--ink3);font-style:italic;font-size:.92em}
.np.big{font-size:1.1rem}
td.r,th.r{text-align:right;white-space:nowrap}
td.t{min-width:12rem}
td.d,td.plat{white-space:nowrap;color:var(--ink2);font-size:.85rem}
.sub{display:block;color:var(--ink3);font-size:.76rem;line-height:1.35;margin-top:.1rem}
.sub2{display:block;color:var(--ink3);font-size:.74rem;font-weight:400;font-style:italic;margin-top:.1rem}
a.pub{color:var(--ink2)}
.count{font-family:var(--mono);font-size:.7rem;color:var(--ink3);font-weight:400;letter-spacing:.05em;text-transform:uppercase;margin-left:.4rem}
.pubblock{margin:1.5rem 0}
.pubblock h3{margin-bottom:.3rem}

/* risk pills */
.risk{display:inline-block;font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;
  padding:.14rem .45rem;border-radius:3px;border:1px solid;white-space:nowrap;font-weight:600}
.r-high{color:var(--hi);background:var(--hi-bg);border-color:#e3c3bf}
.r-elevated{color:var(--el);background:var(--el-bg);border-color:#e6d3ae}
.r-low{color:var(--lo);background:var(--lo-bg);border-color:#c4ddcf}
.r-insufficient{color:var(--un);background:var(--un-bg);border-color:#dcd8cd}

/* release page */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:5px;overflow:hidden;margin:1.2rem 0 1.6rem}
.fact{background:var(--card);padding:.8rem .9rem}
.fl{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:.3rem}
.cur{font-family:var(--mono);font-size:.7rem;color:var(--ink3);letter-spacing:.05em}
.fn{font-family:var(--mono);font-size:.66rem;vertical-align:super;text-decoration:none;color:var(--accent);padding:0 .08rem}
.panel{background:var(--card);border:1px solid var(--rule);border-radius:5px;padding:1rem 1.15rem;margin:1.2rem 0}
.panel h2{margin-top:0}
.riskline{color:var(--ink2);font-size:.9rem;margin-top:.2rem}
table.inputs th{font-weight:600;font-size:.85rem}
table.inputs td{font-size:.86rem}
tr.ev td{background:#faf8f3;border-bottom:1px solid var(--rule2);color:var(--ink2);font-size:.82rem;padding-top:.3rem;padding-bottom:.55rem}
.evlabel{font-family:var(--mono);font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3);margin-right:.4rem}
.pts{font-family:var(--mono);font-size:.82rem;color:var(--ink2)}
.srclist{font-size:.85rem;padding-left:1.3rem}
.srclist li{margin:.5rem 0;overflow-wrap:anywhere}
.srclist a{font-size:.83rem}
.sup{display:block;color:var(--ink3);font-size:.76rem;margin-top:.1rem}
.pricenote{color:var(--ink2);font-size:.9rem}
.outlink{font-size:.92rem}
.fine{color:var(--ink3);font-size:.78rem;line-height:1.45}

/* browse */
.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.7rem;align-items:end;background:var(--card);border:1px solid var(--rule);border-radius:5px;padding:.9rem 1rem;margin:1rem 0 .6rem}
.ctl label{display:block;font-family:var(--mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:.28rem}
.ctl select,.ctl input{width:100%;padding:.42rem .5rem;border:1px solid var(--rule);border-radius:4px;background:var(--paper);font-size:.86rem;color:var(--ink)}
.results{font-size:.84rem;color:var(--ink2);font-family:var(--mono);margin:.2rem 0 .5rem}
.sortbtn{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.sortbtn:hover{background:none;color:var(--accent)}
.emptymsg{padding:1.2rem;color:var(--ink3);font-style:italic}

/* footer */
.sitefoot{border-top:1px solid var(--rule);background:var(--card);margin-top:2rem;padding:1.4rem 0 2.2rem}
.disc{font-size:.78rem;color:var(--ink2);max-width:56rem;line-height:1.5}
.sitefoot .fine{margin-top:.7rem}

@media (max-width:640px){
  .wrap{padding:0 .9rem}
  table.grid{font-size:.82rem}
  table.grid th,table.grid td{padding:.45rem .5rem}
  td.t{min-width:9rem}
  .stats{grid-template-columns:repeat(2,1fr)}
  .controls{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.basis{font-size:.84rem;padding:.5rem .7rem;border-radius:4px;margin:.6rem 0 0;border:1px solid var(--rule)}
.basis-pub{background:var(--un-bg);color:#3f444b}
.basis-title{background:var(--hi-bg);color:#5e1f1f}
.basis-none{background:var(--card);color:var(--ink2);border-style:dashed}

/* price/link block: store search + sold search */
.pricelinks { list-style: none; margin: 0.6rem 0 0.4rem; padding: 0; }
.pricelinks li { margin: 0 0 0.9rem; }
.pricelinks li:last-child { margin-bottom: 0; }
.pricelinks .fine { display: block; margin-top: 0.25rem; }
