/* ArcAdiA Research Desk — Desk-A2 design, implemented responsively. Tokens from the Claude Design source. */
:root{
  --bg:oklch(0.99 0.002 255);--paper:#fff;--ink:oklch(0.22 0.012 255);--ink2:oklch(0.36 0.012 255);--mute:oklch(0.5 0.012 255);--faint:oklch(0.75 0.006 255);
  --line:oklch(0.92 0.004 255);--line2:oklch(0.85 0.006 255);--line3:oklch(0.94 0.004 255);--acc:oklch(0.48 0.12 255);--acc2:oklch(0.38 0.12 255);--accSoft:oklch(0.95 0.025 255);--accMid:oklch(0.87 0.06 255);
  --ok:oklch(0.52 0.12 150);--warn:oklch(0.5 0.12 55);--warn2:oklch(0.45 0.12 55);--warnBg:oklch(0.965 0.02 70);--hit:oklch(0.9 0.1 90);--hitBd:oklch(0.65 0.13 75);--viewerBg:oklch(0.94 0.003 255);--hover:oklch(0.97 0.006 255);--soft:oklch(0.975 0.004 255);--pill:oklch(0.955 0.003 255);
  --sans:'IBM Plex Sans',system-ui,sans-serif;--serif:'Source Serif 4',Georgia,serif;--mono:'IBM Plex Mono',ui-monospace,monospace;
  --hdr:56px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:13.5px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:var(--acc)}a:hover{color:var(--acc2)}
button{font:inherit;color:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:var(--ink)}
#app{height:100dvh;display:flex;flex-direction:column}
#main{flex:1;min-height:0;position:relative;overflow:auto}
#main.noscroll{overflow:hidden}
.hidden{display:none!important}
.mono{font-family:var(--mono)}
.serif{font-family:var(--serif)}
.mute{color:var(--mute)}
.ink2{color:var(--ink2)}
.small{font-size:12px}
.kicker{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.wrap{max-width:1180px;margin:0 auto;padding:24px 32px 96px}
.wrap-narrow{max-width:920px;margin:0 auto;padding:24px 32px 96px}
/* header */
#hdr{height:var(--hdr);flex:none;display:flex;align-items:center;gap:28px;padding:0 24px;border-bottom:1px solid var(--line);background:var(--paper)}
.brand{display:flex;align-items:baseline;gap:8px;text-decoration:none;color:var(--ink);white-space:nowrap}
.brand-a{font-weight:600;font-size:15px}.brand-b{color:var(--mute);font-size:13px}
#nav{display:flex;gap:4px;height:100%;overflow-x:auto;scrollbar-width:none;min-width:0}
#nav::-webkit-scrollbar{display:none}
#nav a{display:flex;align-items:center;height:100%;padding:0 12px;text-decoration:none;font-size:13.5px;color:var(--mute);box-shadow:inset 0 -2px 0 transparent;white-space:nowrap}
#nav a.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}
#nav a:hover{color:var(--ink)}
.langsw{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}
.langsw-l{font-size:11.5px;color:var(--mute)}
.seg{display:flex;border:1px solid var(--line2);border-radius:6px;overflow:hidden;background:var(--paper)}
.seg button{border:0;background:var(--paper);color:var(--ink2);font-size:11.5px;padding:4px 10px;min-height:26px}
.seg button.on{background:var(--ink);color:#fff}
.seg button+button{border-left:1px solid var(--line)}
/* generic controls */
.btn{border:1px solid var(--line2);border-radius:6px;background:var(--paper);font-size:12.5px;padding:0 11px;height:30px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--ink2)}
.btn:hover{background:var(--hover)}
.btn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.primary{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:500}
.btn.primary:hover{background:var(--acc2)}
.btn.sq{width:30px;padding:0;justify-content:center}
.btn[disabled]{opacity:.35;cursor:default}
.link{border:0;background:transparent;padding:0;color:var(--acc);font-size:13px;text-align:left}
.link:hover{text-decoration:underline}
.chip{font-size:11.5px;padding:3px 9px;border-radius:999px;border:1px solid var(--line2);background:var(--paper);color:var(--ink2);display:inline-flex;gap:6px;align-items:baseline;min-height:26px}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip .n{font-family:var(--mono);font-size:11px;opacity:.75}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pill{font-weight:600;padding:1px 8px;border-radius:999px;font-size:11px;background:var(--pill);color:var(--ink2)}
.pill.acc{background:var(--accSoft);color:var(--acc)}
.tag{font-family:var(--mono);font-size:10px;color:var(--mute);border:1px solid oklch(0.88 0.005 255);border-radius:3px;padding:0 4px;white-space:nowrap;vertical-align:middle}
.fb{font-size:12px;color:var(--warn)}
.sel{height:30px;border:1px solid var(--line2);border-radius:6px;background:var(--paper);padding:0 8px;font-size:13px;max-width:100%}
.inp{height:30px;border:1px solid var(--line2);border-radius:6px;background:var(--paper);padding:0 10px;font-size:13px;outline:none}
.inp:focus,.sel:focus{border-color:var(--acc)}
.card{background:var(--paper);border:1px solid var(--line);border-radius:10px}
.hr{border-top:1px solid var(--line)}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:13px;padding:10px 16px;border-radius:8px;box-shadow:0 6px 20px oklch(0.2 0 0/.25);z-index:50;max-width:90vw}
.status{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--mute)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--mute);flex:none}
.dot.acc{background:var(--acc);animation:pulse 1.2s ease-in-out infinite}.dot.ok{background:var(--ok)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
mark{background:var(--accMid);color:inherit;border-radius:2px;padding:0 1px}
mark.k{background:transparent;text-decoration:underline;text-decoration-color:var(--acc);text-underline-offset:3px;font-weight:600}
mark.f{background:var(--hit)}
.err{color:var(--warn);font-size:13px}
/* ASK */
.askbox{display:flex;gap:8px;align-items:center;border:1px solid var(--line2);border-radius:8px;background:var(--paper);padding:5px 5px 5px 14px}
.askbox input{flex:1;min-width:0;border:0;outline:none;font-size:14.5px;background:transparent;height:32px}
.askbox .btn{height:32px}
.askhint{font-size:11.5px;color:var(--mute);margin:6px 2px 0}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.filters .lbl{font-size:12px;color:var(--mute)}
h1.q{font-family:var(--serif);font-weight:600;font-size:23px;line-height:1.3;margin:20px 0 6px;text-wrap:pretty}
.answer{max-width:680px;font-family:var(--serif);font-size:16px;line-height:1.55;display:flex;flex-direction:column;gap:10px}
.answer p{margin:0;text-wrap:pretty}
.answer ul,.answer ol{margin:0;padding-left:26px}
.answer h2,.answer h3{font-size:18px;margin:6px 0 0;font-weight:600}
sup.cite{font-family:var(--sans);font-size:11px;font-weight:600;color:var(--acc);cursor:pointer;padding:1px 3px;margin-left:1px;border-radius:3px;line-height:1;vertical-align:super}
sup.cite.on{background:var(--accSoft)}
.unc{color:var(--ink2);text-decoration:underline dotted var(--warn);text-underline-offset:5px}
.unc-l{font-family:var(--sans);font-size:11px;font-weight:500;color:var(--warn);margin-left:6px;vertical-align:2px}
.ev-h{margin-top:28px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:8px}
.ev-h b{font-size:15px;font-weight:600}
.ev-list{display:flex;flex-direction:column;gap:10px}
.dropped{margin-top:10px;padding:10px 14px;border-radius:8px;background:var(--warnBg);display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px}
.dropped .n{font-size:13px;font-weight:600;color:var(--warn);text-decoration:line-through}
.dropped .w{font-weight:500;color:var(--warn2)}
.gaps{margin-top:12px;max-width:680px;font-size:13px;color:var(--ink2);border-left:2px solid var(--line2);padding-left:14px}
.qlist{margin-top:22px}
.qlist .row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;padding:8px 8px;margin:0 -8px;border-bottom:1px solid var(--line3);cursor:pointer;border-radius:4px;align-items:baseline}
.qlist .row:hover{background:var(--hover)}
.qlist .row .d{font-family:var(--mono);font-size:11px;color:var(--mute);padding-top:2px}
.qlist .row .t{font-family:var(--sans);font-size:13.5px;line-height:1.45;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* evidence card */
.ev{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 1px 2px oklch(0.2 0 0/.04)}
.ev.on{border-color:var(--acc);box-shadow:0 0 0 3px oklch(0.48 0.12 255/.15)}
.ev-top{display:flex;align-items:center;gap:10px;padding:6px 14px;border-bottom:1px solid var(--line3);font-size:11.5px;background:var(--bg);flex-wrap:wrap}
.ev-top .kind{margin-left:auto;color:var(--mute)}
.ev-body{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:16px;padding:10px 14px 8px}
.ev-main{min-width:0;display:flex;flex-direction:column;gap:7px}
.ev-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ev-title .t{font-family:var(--serif);font-size:16px;line-height:1.3}
.meta3{display:flex;flex-wrap:wrap;gap:2px 14px}
.meta3>div{display:flex;gap:5px;align-items:baseline;min-width:0}
.meta3 .k{font-size:10.5px;color:var(--mute);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.meta3 .v{font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}
.lines{border:0;border-radius:6px;background:var(--soft);padding:8px 12px;display:flex;flex-direction:column;gap:3px;font-family:var(--serif);font-size:14.5px;line-height:1.5;color:var(--ink2)}
.lines .l{white-space:pre-wrap;overflow-wrap:anywhere}
.lines .l.hl{color:var(--ink);background:var(--accSoft);padding:3px 8px;margin:0 -8px;border-radius:4px}
.lines .l.hd{font-family:var(--mono);font-size:11px;text-align:center;color:var(--mute)}
.lines .l.b{font-weight:600;font-size:13px;text-align:center}
.lines .l.art{font-weight:600}
.lines .gap{font-size:12px;color:var(--mute);font-family:var(--sans);font-style:italic}
.thumb{display:flex;flex-direction:column;gap:8px;align-items:center}
.thumb button{position:relative;width:96px;height:136px;border:1px solid var(--line2);border-radius:2px;padding:0;background:var(--pill);overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.thumb .box{position:absolute;left:8%;right:8%;background:oklch(0.48 0.12 255/.18);border:1.5px solid var(--acc);border-radius:1px}
.thumb .cap{font-size:11px;line-height:1.35;color:var(--mute);text-align:center}
.ev-foot{display:flex;gap:16px;align-items:center;padding:6px 14px;border-top:1px solid var(--line3);font-size:12.5px;flex-wrap:wrap}
.ev-foot .btn.primary{margin-left:auto;height:28px;font-size:12.5px}
/* act rows (shared by search, year list, body acts, subject lists) */
.rows{border-top:1px solid var(--line2)}
.row-a{display:grid;grid-template-columns:76px minmax(0,1.1fr) minmax(0,1fr) 280px;gap:16px;padding:9px 8px;border-bottom:1px solid oklch(0.93 0.004 255);cursor:pointer;align-items:start;position:relative}
.row-a:hover{background:var(--hover)}
.row-a.key{box-shadow:inset 2px 0 0 var(--acc)}
.row-a.lite{grid-template-columns:76px minmax(0,1fr) 280px}
.row-a.lite .c3{display:none}
.row-a .c1{display:flex;flex-direction:column;gap:2px;padding-top:2px}
.row-a .date{font-family:var(--mono);font-size:12px;line-height:1.3}
.row-a .keyl{font-size:9.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--acc)}
.row-a .c2{min-width:0;display:flex;flex-direction:column;gap:2px}
.row-a .short{font-size:11.5px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-a .title{display:flex;align-items:baseline;gap:6px;min-width:0;flex-wrap:wrap}
.row-a .title .t{font-family:var(--serif);font-size:15px;line-height:1.3;text-wrap:pretty}
.row-a .tr{font-size:12px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-a .sum{font-size:12.5px;line-height:1.4;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row-a .c3{min-width:0;display:flex;flex-direction:column;gap:4px}
.a1{background:var(--soft);border-radius:4px;padding:4px 8px;font-family:var(--serif);font-size:13px;line-height:1.42;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.a1 .al{font-family:var(--mono);font-size:10px;color:var(--mute);margin-right:6px}
.fx{font-size:12px;line-height:1.4}
.fx .rel{font-weight:500;color:var(--acc)}
.fx .later{font-weight:500;color:var(--warn)}
.fx .sep{color:var(--mute)}
.row-a .c4{min-width:0;display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:8px;font-size:11.5px;line-height:1.42}
.row-a .c4 .k{color:var(--mute)}.row-a .c4 .v{color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-a .meta1{font-size:11.5px;line-height:1.4;color:var(--mute);display:none}
.row-a .noscan{font-size:11px;color:var(--mute);font-style:italic}
.more{margin-top:10px}
/* page result rows */
.row-p{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;padding:10px 8px;border-bottom:1px solid oklch(0.93 0.004 255);cursor:pointer}
.row-p:hover{background:var(--hover)}
.row-p .pg{font-family:var(--mono);font-size:12px}
.row-p .gz{font-size:12px;color:var(--mute)}
.row-p .snip{font-family:var(--serif);font-size:14px;line-height:1.45;margin-top:2px;white-space:pre-line}
.sect{margin-top:18px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.sect b{font-size:15px;font-weight:600}
/* LAWS */
.eras{position:relative;height:22px}
.eras div{position:absolute;top:0;bottom:0;border-left:1px solid var(--line2);padding-left:6px;font-size:11px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bars{display:flex;gap:3px;height:104px;margin-top:4px}
.bars button{flex:1;min-width:0;height:100%;border:0;padding:0 0 3px;border-radius:4px;background:transparent;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:4px}
.bars button:hover{background:oklch(0.955 0.012 255)}
.bars button.on{background:var(--accSoft)}
.bars .bar{margin:0 3px;border-radius:2px 2px 0 0;background:oklch(0.86 0.006 255)}
.bars button.on .bar{background:var(--acc)}
.bars .lab{font-family:var(--mono);font-size:10px;line-height:12px;text-align:center;color:var(--mute)}
.bars button.on .lab{color:var(--acc);font-weight:600}
.yr-h{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.yr-h h2{font-family:var(--serif);font-weight:600;font-size:28px;line-height:1.1;margin:0}
.yr-h .era{font-size:14px;color:var(--ink2);margin-left:6px}
.yr-meta{font-size:12.5px;color:var(--mute);margin:2px 0 8px}
/* INSTITUTIONS */
.inst{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100%}
.inst aside{border-right:1px solid var(--line);background:var(--paper);padding:18px 14px}
.inst aside .it{display:block;width:100%;text-align:left;border:0;background:transparent;padding:5px 12px;border-radius:6px}
.inst aside .it.on{background:var(--accSoft)}
.inst aside .it .n{font-size:13.5px;font-weight:500;line-height:1.3}.inst aside .it.on .n{color:var(--acc)}
.inst aside .it .m{font-size:11.5px;color:var(--mute);margin-top:1px}
.inst aside .search{width:100%;margin:0 0 10px}
.inst-sel{display:none;margin:0 0 16px}
.inst section{padding:24px 40px 96px;min-width:0}
.inst h2{font-family:var(--serif);font-weight:600;font-size:24px;line-height:1.2;margin:0}
.chart{position:relative;margin-top:18px;--nameW:260px;--numW:72px}
.chart .bands{position:absolute;top:0;bottom:0;left:calc(var(--nameW) + 24px);right:calc(var(--numW) + 24px);pointer-events:none}
.chart .band{position:absolute;top:0;bottom:0}
.chart .band span{position:absolute;top:6px;left:6px;font-size:11px;color:var(--mute);white-space:nowrap}
.chart .mk{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--acc)}
.chart .mk span{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:11px;font-weight:600;color:#fff;background:var(--acc);padding:1px 5px;border-radius:3px}
.chart .top{position:relative;height:30px}
.brow{display:grid;grid-template-columns:var(--nameW) minmax(0,1fr) var(--numW);gap:16px;align-items:center;padding:10px 8px;border-radius:6px;position:relative}
.brow.on{background:var(--accSoft)}
.brow .nm{min-width:0;cursor:pointer}
.brow .nm .n{font-size:14px;font-weight:500;line-height:1.3}
.brow .nm .l{font-family:var(--mono);font-size:11px;color:var(--mute);margin-top:3px}
.brow .trk{position:relative;height:28px;cursor:crosshair}
.brow .rng{position:absolute;top:13px;height:2px;background:oklch(0.78 0.006 255)}
.brow .bnd{position:absolute;top:8px;height:12px;border-radius:2px;background:oklch(0.72 0.07 255)}
.brow.on .bnd{background:var(--acc)}
.brow .med{position:absolute;top:9px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#fff;border:2px solid var(--ink)}
.brow .num{text-align:right;font-family:var(--mono);font-size:12px;color:var(--mute)}
.axis{position:relative;height:24px;margin:20px calc(var(--numW) + 24px) 0 calc(var(--nameW) + 24px);border-top:1px solid var(--line2)}
.axis span{position:absolute;top:6px;transform:translateX(-50%);font-family:var(--mono);font-size:11px;color:var(--mute)}
.legend{display:flex;gap:24px;margin:14px 0 0 calc(var(--nameW) + 24px);font-size:12px;color:var(--mute);align-items:center;flex-wrap:wrap}
.legend span{display:flex;align-items:center;gap:8px}
.legend .ml{margin-left:auto}
.body2{margin-top:20px;border-top:1px solid var(--line);padding-top:18px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px}
.names .nr{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px;padding:10px 0;border-bottom:1px solid var(--line3);align-items:baseline}
.names .code{font-family:var(--mono);font-size:12px;color:var(--mute)}
.names .nm{font-family:var(--serif);font-size:18px}
.names .nm.na{color:var(--mute);font-style:italic}
.names .nm .alt{display:block;font-size:13px;color:var(--mute);font-family:var(--sans);margin-top:2px}
.stats3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.stats3 .k{font-size:12px;color:var(--mute)}.stats3 .v{font-family:var(--serif);font-size:22px;margin-top:2px}
.yr-nav{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.yr-nav .y{font-family:var(--serif);font-size:24px;font-weight:600}
.row-b{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;padding:7px 8px;margin:0 -8px;border-bottom:1px solid var(--line3);cursor:pointer;border-radius:4px}
.row-b:hover{background:var(--hover)}
.row-b .d{font-family:var(--mono);font-size:11.5px;padding-top:2px}
.row-b .s{font-size:11.5px;color:var(--mute)}
.row-b .t{font-family:var(--serif);font-size:15px;line-height:1.35;margin-top:2px}
/* VIEWER */
.viewer{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--viewerBg);overflow:hidden}
.vbar{min-height:54px;flex:none;display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap}
.vbar .back{height:30px;border:0;border-radius:6px;background:var(--pill);font-size:13px;padding:0 12px;white-space:nowrap}
.vbar .ttl{min-width:0;flex:1 1 220px}
.vbar .ttl .a{font-weight:500;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vbar .ttl .b{font-size:11px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.vbar .grp{display:flex;align-items:center;gap:4px}
.vbar .vsep{width:1px;height:24px;background:var(--line)}
.vbar .pin{width:56px;height:30px;border:1px solid var(--line2);border-radius:6px;text-align:center;font-family:var(--mono);font-size:12px;outline:none}
.vbar .pdf{font-size:12px;color:var(--mute);white-space:nowrap;padding:0 4px}
.vbar .btn{height:30px}
.vbar .btn.sq{width:30px}
.findbar{flex:none;display:flex;align-items:center;gap:10px;padding:8px 14px;background:oklch(0.98 0.015 90);border-bottom:1px solid var(--line);flex-wrap:wrap}
.findbar input{width:280px;max-width:100%;height:30px}
.findbar .hint{margin-left:auto;font-size:12px;color:var(--mute)}
.vgrid{flex:1;min-height:0;display:grid;grid-template-columns:184px minmax(0,1fr) 400px}
.vgrid.nosplit{grid-template-columns:184px minmax(0,1fr)}
.vgrid.noside{grid-template-columns:minmax(0,1fr) 400px}
.vgrid.noside.nosplit{grid-template-columns:minmax(0,1fr)}
.vside{background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.vside .tabs{display:flex;gap:4px;padding:10px;border-bottom:1px solid var(--line)}
.vside .tabs button{flex:1;height:28px;border:0;border-radius:6px;font-size:12px;background:transparent;color:var(--ink2)}
.vside .tabs button.on{background:var(--accSoft);color:var(--acc);font-weight:600}
.vside .body{flex:1;min-height:0;overflow:auto;padding:14px 10px 40px}
.thumbs{display:flex;flex-direction:column;align-items:center;gap:14px}
.thumbs button{border:0;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;gap:5px}
.thumbs .im{position:relative;width:96px;height:136px;background:var(--pill);border:1px solid var(--line2);overflow:hidden}
.thumbs button.on .im{border:2px solid var(--acc)}
.thumbs .im img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.thumbs .cited{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--acc)}
.thumbs .hits{position:absolute;top:4px;left:4px;font-size:10px;font-weight:600;padding:0 5px;border-radius:3px;background:var(--hit);color:oklch(0.32 0.06 80)}
.thumbs .n{font-family:var(--mono);font-size:10px;color:var(--mute)}
.thumbs button.on .n{color:var(--acc);font-weight:600}
.outline{display:flex;flex-direction:column;gap:2px}
.outline button{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border:0;padding:8px 10px;border-radius:6px;background:transparent}
.outline button.on{background:var(--accSoft)}
.outline .pp{font-family:var(--mono);font-size:10px;color:var(--mute)}
.outline .l{font-size:12px;font-weight:500;line-height:1.35}
.outline button.on .l{color:var(--acc)}
.outline .t{font-size:12px;line-height:1.35;color:var(--ink2)}
.outline .c{font-size:11px;color:var(--acc);font-weight:500}
.vscroll{position:relative;overflow:auto;min-height:0;min-width:0}
.pages{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 24px 80px;width:max-content;min-width:100%}
.pg{display:flex;flex-direction:column;align-items:center;gap:6px}
.pg .im{position:relative;flex:none;background:#fff;border:1px solid var(--line2);box-shadow:0 1px 4px oklch(0.2 0 0/.1)}
.pg.on .im{border-color:oklch(0.72 0.06 255)}
.pg img{display:block;width:100%;height:100%}
.pg .cap{font-family:var(--mono);font-size:11px;color:var(--mute)}
.pg .miss{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--mute);font-style:italic}
.textview{max-width:760px;margin:16px auto 60px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:28px 40px;display:flex;flex-direction:column;gap:22px}
.tpage{display:flex;flex-direction:column;gap:8px}
.tpage .ph{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;color:var(--mute)}
.tpage .ph span:last-child{flex:1;height:1px;background:var(--line)}
.tl{font-family:var(--serif);font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px}
.tl.hl{background:var(--accSoft);padding:3px 8px;margin:0 -8px}
.tl.cur{outline:2px solid var(--hitBd)}
.vright{background:var(--paper);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.vright .rtabs{display:flex;gap:4px;padding:10px 12px 0;border-bottom:1px solid var(--line)}
.vright .rtabs button{border:0;background:transparent;padding:8px 10px;font-size:13px;color:var(--mute);box-shadow:inset 0 -2px 0 transparent}
.vright .rtabs button.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}
.vright .rhead{padding:14px 22px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px}
.vright .rhead .a{font-size:13px;font-weight:500}
.vright .rhead .b{font-size:12px;color:var(--ink2)}
.vright .rbody{flex:1;min-height:0;overflow:auto;padding:20px 24px 40px;display:flex;flex-direction:column;gap:8px}
.vright .rfoot{padding:12px 22px;border-top:1px solid var(--line);display:flex;gap:12px;align-items:center}
.vright .rfoot .ref{flex:1;min-width:0;font-family:var(--mono);font-size:11px;line-height:1.5;color:var(--ink2);overflow-wrap:anywhere;user-select:all}
.vmob{display:none}
/* dossier */
.dos{display:flex;flex-direction:column;gap:12px;font-size:13px}
.dos h3{font-family:var(--serif);font-size:18px;line-height:1.3;margin:0;font-weight:600}
.dos .k{font-size:11px;color:var(--mute);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
.dos .sum{font-family:var(--serif);font-size:14px;line-height:1.5}
.dos .read{font-size:11px;color:var(--mute);margin-top:4px}
.life{display:flex;flex-direction:column}
.life .e{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid var(--line3);align-items:baseline}
.life .d{font-family:var(--mono);font-size:12px}
.life .rel{font-weight:500;color:var(--acc);margin-right:6px}
.life .rel.end{color:var(--warn)}
.life .q{font-family:var(--serif);font-size:13px;color:var(--ink2);margin-top:2px}
.dos .q{font-family:var(--serif);font-size:14px;color:var(--ink2);border-left:2px solid var(--line2);padding-left:10px;margin-top:4px;white-space:pre-wrap}
.dos .li{padding:6px 0;border-bottom:1px solid var(--line3)}
.dos .chips a{text-decoration:none}
.dos-page{max-width:860px;margin:0 auto;padding:24px 32px 96px}
/* save form */
.save{display:flex;flex-direction:column;gap:10px}
.save label{font-size:12px;color:var(--mute)}
.save textarea{min-height:90px;border:1px solid var(--line2);border-radius:6px;padding:8px 10px;resize:vertical}
/* SAVED */
.chap{margin-top:18px}
.chap h2{font-family:var(--serif);font-size:20px;font-weight:600;margin:0 0 8px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.cardr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:8px 8px;margin:0 -8px;border-bottom:1px solid var(--line3)}
.cardr .t{font-weight:500}
.cardr .b{font-size:13px;color:var(--ink2);white-space:pre-wrap;margin-top:3px}
.cardr .r{font-family:var(--mono);font-size:11px;color:var(--mute);margin-top:6px;overflow-wrap:anywhere}
/* responsive */
@media (max-width:1100px){
  .row-a,.row-a.lite{grid-template-columns:72px minmax(0,1fr)}
  .row-a .c3,.row-a .c4{display:none}
  .row-a .meta1{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .row-a .sum{-webkit-line-clamp:3}
  .vgrid,.vgrid.noside{grid-template-columns:minmax(0,1fr) 340px}
  .vgrid.nosplit,.vgrid.noside.nosplit{grid-template-columns:minmax(0,1fr)}
  .vside{display:none}
  .vgrid.showside{grid-template-columns:184px minmax(0,1fr) 340px}
  .vgrid.showside.nosplit{grid-template-columns:184px minmax(0,1fr)}
  .vgrid.showside .vside{display:flex}
  .inst{grid-template-columns:1fr}
  .inst aside{display:none}
  .inst-sel{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
  .inst section{padding:28px 24px 120px}
  .body2{grid-template-columns:1fr;gap:28px}
  .chart{--nameW:200px;--numW:56px}
}
@media (max-width:760px){
  :root{--hdr:auto}
  #hdr{height:auto;flex-wrap:wrap;gap:0 12px;padding:8px 12px 0}
  .brand{order:1;height:32px}
  .langsw{order:2;margin-left:auto}
  #nav{order:3;flex-basis:100%;height:40px;gap:0}
  #nav a{padding:0 10px;min-height:40px}
  .brand-b{display:none}
  .langsw-l{display:none}
  .seg button{padding:5px 9px;min-height:36px}
  .btn,.chip,.askbox .btn,.sel,.inp{min-height:36px}
  .btn.sq{width:36px;height:36px}
  .vbar .btn.sq{width:36px}
  .vbar .pin,.vbar .back{height:36px}
  .wrap,.wrap-narrow{padding:14px 16px 80px}
  h1.q{font-size:21px;margin-top:16px}
  .answer{font-size:16px}
  .ev-body{grid-template-columns:1fr;gap:14px}
  .thumb{flex-direction:row;align-items:center;gap:12px}
  .thumb button{width:72px;height:102px}
  .meta3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ev-foot .btn.primary{margin-left:0;width:100%;justify-content:center}
  .bars{height:84px;gap:2px}
  .bars .bar{margin:0 1px}
  .bars .lab{font-size:9px}
  .bars button:not(.l5) .lab{visibility:hidden}
  .yr-h h2{font-size:28px}
  .eras div{font-size:10px}
  .chart{--nameW:0px;--numW:0px}
  .chart .bands{left:0;right:0}
  .brow{grid-template-columns:1fr;gap:4px;padding:10px 0}
  .brow .nm{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
  .brow .nm .l{margin-top:0}
  .brow .num{display:none}
  .axis{margin:28px 0 0}
  .legend{margin-left:0;gap:14px}
  .legend .ml{margin-left:0}
  .stats3{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .stats3 .v{font-size:18px}
  .row-b{grid-template-columns:1fr;gap:2px}
  .vbar{gap:6px;padding:6px 8px}
  .vbar .desk{display:none}
  .vgrid,.vgrid.noside,.vgrid.nosplit,.vgrid.noside.nosplit,.vgrid.showside,.vgrid.showside.nosplit{grid-template-columns:minmax(0,1fr)}
  .vside{display:none}
  .vgrid.showside .vside{display:flex;position:absolute;left:0;top:0;bottom:0;width:min(220px,80vw);z-index:5;box-shadow:4px 0 20px oklch(0.2 0 0/.15)}
  .vgrid{position:relative}
  .vright{display:none}
  .vgrid.mob-text .vscroll,.vgrid.mob-act .vscroll,.vgrid.mob-save .vscroll{display:none}
  .vgrid.mob-text .vright,.vgrid.mob-act .vright,.vgrid.mob-save .vright{display:flex;border-left:0}
  .vright .rtabs{display:none}
  .vmob{display:flex;flex:none;gap:0;background:var(--paper);border-top:1px solid var(--line)}
  .vmob button{flex:1;height:44px;border:0;background:transparent;font-size:13px;color:var(--mute);box-shadow:inset 0 2px 0 transparent}
  .vmob button.on{color:var(--ink);box-shadow:inset 0 2px 0 var(--ink)}
  .pages{padding:12px 8px 40px}
  .textview{padding:20px 16px;margin:12px 8px 40px}
  .cardr{grid-template-columns:1fr}
  .dos-page{padding:24px 16px 100px}
  .row-a .title .t{font-size:15px}
}

/* FIND — ranked, judged results (one list, each hit says why) */
.find{margin-top:12px}
.lead{font-family:var(--serif);font-size:15px;line-height:1.5;max-width:680px;margin-top:8px;text-wrap:pretty}
.missing{font-size:12.5px;line-height:1.45;color:var(--ink2);border-left:2px solid var(--line2);padding-left:10px;margin-top:6px;max-width:680px}
.res{margin-top:12px;border-top:1px solid var(--line2)}
.res-r{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding:8px 8px 9px;border-bottom:1px solid var(--line3);cursor:pointer;align-items:start}
.res-r:hover{background:var(--hover)}
.res-r .c1{display:flex;flex-direction:column;gap:6px;padding-top:2px;min-width:0}
.res-r .date{font-family:var(--mono);font-size:12px;line-height:1.3;white-space:nowrap}
.res-r .rel .bar{width:44px;height:3px;border-radius:2px;background:oklch(0.93 0.004 255)}
.res-r .rel .bar div{height:100%;border-radius:2px;background:var(--acc)}
.res-r .c2{min-width:0;display:flex;flex-direction:column;gap:3px}
.res-r .short{font-size:11px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.res-r .title{display:flex;align-items:baseline;gap:6px;min-width:0;flex-wrap:wrap}
.res-r .title .t{font-family:var(--serif);font-size:15px;line-height:1.3;text-wrap:pretty}
.res-r .why{font-size:12.5px;line-height:1.4;color:var(--ink2);padding-left:9px;border-left:2px solid var(--accMid);margin-top:1px}
.res-r .ex{font-family:var(--serif);font-size:13px;line-height:1.45;color:var(--ink2);background:var(--soft);border-radius:4px;padding:4px 8px;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.res-r .ex:hover{background:oklch(0.955 0.012 255)}
.res-r .ex .pl{font-family:var(--mono);font-size:10px;color:var(--mute);margin-right:6px}
.res-r .sum{font-size:12.5px;line-height:1.4;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.also{margin-top:12px}
.also summary{font-size:13px;color:var(--mute);cursor:pointer;padding:6px 0;list-style:none;user-select:none}
.also summary::-webkit-details-marker{display:none}
.also summary::before{content:'›';display:inline-block;margin-right:6px;transition:transform .15s}
.also[open] summary::before{transform:rotate(90deg)}
.also .res{margin-top:4px}
.also .res-r{opacity:.8}
@media (max-width:760px){.res-r{grid-template-columns:1fr;gap:3px;padding:8px 4px}.res-r .c1{flex-direction:row;align-items:center;gap:10px;padding-top:0}.res-r .title .t{font-size:15px}.res-r .rel .bar{width:36px}}
/* INSTITUTIONS — one institution as a biography */
.inames{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:6px;font-size:14px}
.inames .nr{display:inline-flex;align-items:baseline;gap:6px}
.inames .code{font-family:var(--mono);font-size:11px;color:var(--mute)}
.inames .nm{font-family:var(--serif);font-size:15px}
.inames .nm.na{color:var(--mute);font-style:italic;font-size:14px}
.succ{margin-top:6px;font-size:12.5px;line-height:1.6;color:var(--ink2);display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline}
.succ .k{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--mute);margin-right:4px}
.succ .arr{color:var(--mute)}
.succ a{text-decoration:none}.succ a:hover{text-decoration:underline}
.fact{margin-top:6px;font-size:12.5px;color:var(--mute)}
.bars.sm{height:62px;margin-top:2px}
.bars.sm .bar{margin:0 2px}
.rows-b{display:flex;flex-direction:column;border-top:1px solid var(--line2);margin-top:6px}
.row-b .sum{font-size:12.5px;line-height:1.4;color:var(--ink2);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row-b.con{box-shadow:inset 2px 0 0 var(--acc)}
.sect2{margin-top:18px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.sect2 b{font-size:14px;font-weight:600}
.inst aside .search{margin:0 0 6px}
@media (max-width:760px){.inames .nm{font-size:15px}.bars.sm{height:52px}.bars.sm .bar{margin:0 1px}}

/* LAW LIBRARY */
.lib-top{display:flex;gap:8px;align-items:center}
.lib-q{flex:1;min-width:0;height:34px;font-size:14px}
.lib-chips{margin-top:10px}
.lib-chips .sep{width:1px;height:18px;background:var(--line2);margin:0 4px}
.rows-l{margin-top:8px;border-top:1px solid var(--line2)}
.row-l{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:7px 8px;border-bottom:1px solid var(--line3);cursor:pointer}
.row-l:hover{background:var(--hover)}
.row-l .y{font-family:var(--mono);font-size:11.5px;padding-top:3px;color:var(--ink2)}
.row-l .s{font-size:11px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-l .t{font-family:var(--serif);font-size:15px;line-height:1.3;text-wrap:pretty}
.row-l .so{font-size:12px;color:var(--mute);margin-top:1px}
.row-l .sum{font-size:12.5px;line-height:1.4;color:var(--ink2);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lib-page{max-width:860px;margin:0 auto;padding:20px 32px 96px}
.lib-back{font-size:13px}
h1.lib-h{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.3;margin:10px 0 2px;text-wrap:pretty}
.lib-so{font-family:var(--serif);font-size:15px;color:var(--ink2);margin-top:2px}
.lib-meta{display:flex;flex-wrap:wrap;gap:3px 16px;margin-top:10px;font-size:12.5px}
.lib-meta>div{display:flex;gap:5px;align-items:baseline}
.lib-meta .k{font-size:10.5px;color:var(--mute);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.lib-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.lib-acts a.btn{text-decoration:none}
.lib-sum{font-family:var(--serif);font-size:14.5px;line-height:1.5;margin-top:14px;max-width:680px}
.lib-page .read{font-size:11px;color:var(--mute);margin-top:4px}
.lib-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px;margin-top:12px;font-size:12.5px;line-height:1.45;color:var(--ink2)}
.lib-facts .kicker{margin-bottom:2px}
.lib-note{margin-top:14px;font-size:13px;color:var(--ink2);border-left:2px solid var(--line2);padding-left:10px}
.lib-find{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}
.lib-text{margin-top:10px;display:flex;flex-direction:column;gap:12px}
.lt{font-family:var(--serif);font-size:15px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px}
.lt.cur{background:var(--accSoft);padding:4px 8px;margin:0 -8px}
@media (max-width:760px){.lib-page{padding:14px 16px 80px}.row-l{grid-template-columns:44px minmax(0,1fr);gap:8px}.lib-chips{gap:4px}}
