/* Wavey Strategy: full width row lists, no card grids. Tokens come from app.css. */
.doc.wide{max-width:none}
.wavey>h1{margin-top:28px}
.wavey.detail>h1{margin-top:14px}
.wavey .lede{max-width:70ch}
.mtabs{display:flex;gap:24px;border-bottom:1px solid var(--hair);margin:20px 0 14px;overflow-x:auto;scrollbar-width:none}
.mtabs::-webkit-scrollbar{display:none}
.mtabs a{color:var(--mute);text-decoration:none;font-weight:500;font-size:15px;padding:10px 0;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.mtabs a:hover{color:var(--ink)}
.mtabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--acc)}
.schips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.schip{background:var(--soft);color:var(--mute);border-radius:5px;padding:7px 12px;font-size:14px;font-weight:500;text-decoration:none}
.doc .schip{color:var(--mute)}
.schip:hover{color:var(--ink)}
.doc .schip.on{background:var(--accs);color:var(--acc)}
.afilters{display:grid;grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end;margin:4px 0 8px}
.af{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--mute);min-width:0}
.af input,.af select{width:100%;border:1px solid transparent;background:var(--soft);border-radius:5px;padding:11px 12px;font:inherit;font-size:15px;color:var(--ink);min-width:0}
.af input::placeholder{color:var(--mute)}
.af input:focus,.af select:focus{outline:none;border-color:var(--acc)}
.afilters .btn{border-radius:5px;padding:12px 18px}
.rgroups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:28px 0 8px}
.rgroup h2{font-size:17px;margin:0 0 6px}
.mlist{border-top:1px solid var(--hair)}
.mrow{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-bottom:1px solid var(--hair);text-decoration:none}
.doc .mrow{color:var(--ink)}
.mrow b{font-size:15px;font-weight:600}
.mrow span{font-size:13px;color:var(--mute)}
.mrow:hover b{color:var(--acc)}
.listhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin:32px 0 6px}
.listhead h2{margin:0;font-size:20px}
.listhead .count{color:var(--mute);font-size:14px}
.sorts{display:flex;gap:16px;margin-left:auto}
.doc .sorts a{color:var(--mute);text-decoration:none;font-size:14px;font-weight:500;padding-bottom:2px;border-bottom:2px solid transparent}
.doc .sorts a[aria-current=true]{color:var(--ink);border-bottom-color:var(--acc)}
.alist{border-top:1px solid var(--hair)}
.arow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--hair);text-decoration:none;align-items:center}
.doc .arow{color:var(--ink)}
.arow:hover .al b{color:var(--acc)}
.al{min-width:0}
.al b{display:block;font-size:16px;font-weight:600}
.al span{display:block;font-size:14px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ar{display:grid;grid-template-columns:.7fr 1fr 1.15fr .95fr 1.35fr;gap:6px 12px;font-size:14px;color:var(--ink2);align-items:center}
.ar span{min-width:0;overflow-wrap:anywhere}
.ar .tst{color:var(--up);font-weight:500}
.ar .tst.flat{color:var(--ink2)}
.ar .tst.none{color:var(--mute);font-weight:400}
.wavey .empty{padding:20px 0;color:var(--mute)}
.detail .back{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:5px;background:var(--soft);color:var(--ink)}
.detail h1{margin-top:14px}
.facts{display:flex;flex-wrap:wrap;gap:10px 32px;margin:16px 0 20px}
.facts div{min-width:0}
.facts dt{font-size:13px;color:var(--mute)}
.facts dd{margin:2px 0 0;font-weight:500;color:var(--ink)}
.detail .btns .btn{border-radius:5px}
.detail .tested{color:var(--ink)}
.boxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px}
.box h3{margin:16px 0 6px;font-size:17px}
.box .tt td:first-child{color:var(--mute);width:42%}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.doc h3{margin:18px 0 6px;font-size:17px}
@media (max-width:1100px){.rgroups{grid-template-columns:1fr;gap:20px}.afilters{grid-template-columns:repeat(2,minmax(0,1fr))}.af.q,.afilters .btn{grid-column:1/-1}}
@media (max-width:900px){.arow{grid-template-columns:1fr;gap:6px}.ar{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px}.boxes,.cols2{grid-template-columns:1fr}.sorts{margin-left:0;width:100%}}
