/* Layout: chambers-library feel — navy masthead with the search as the hero; results as a reading list with a filter
   rail and a "refine" bar; an order opens as a full reading page with a sticky outline. Brand tokens live here. */
:root{
  --brand:#075989; --brand-2:#0b6ea8; --brand-deep:#043a5c; --brand-ink:#ffffff; --gold:#3badE3; --gold-ink:#04304d; --gold-soft:#e4f3fb;
  --bg:#f3f6f9; --surface:#ffffff; --sunk:#eaf0f5; --ink:#141a22; --muted:#5a6676; --line:#d8e0e8;
  --mark:#ffe08a; --mark-ink:#1a2230;
  --good:#1e7a4f; --bad:#b23a3a; --mid:#a86d12; --neutral:#667085; --napa:#5a49b3;
  --serif:"Literata", Georgia, "Times New Roman", serif;
  --sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"JetBrains Mono", ui-monospace, Menlo, monospace;
  --r:10px; --shadow:0 1px 2px rgba(20,48,79,.06),0 4px 14px rgba(20,48,79,.06);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --brand:#0a3d5f; --brand-2:#0f5482; --brand-deep:#072b44; --brand-ink:#f2f7fb; --gold:#4fbaea; --gold-ink:#04304d; --gold-soft:#123447;
  --bg:#0d141b; --surface:#151e28; --sunk:#1c2834; --ink:#e6ecf2; --muted:#9aa8b8; --line:#2a3846;
  --mark:#7b6413; --mark-ink:#fff8dc; --good:#5cc391; --bad:#ef8080; --mid:#e3ae55; --neutral:#a3abb9; --napa:#ab9ff7;
  --shadow:0 1px 2px rgba(0,0,0,.3); color-scheme:dark}}
:root[data-theme="dark"]{
  --brand:#0a3d5f; --brand-2:#0f5482; --brand-deep:#072b44; --brand-ink:#f2f7fb; --gold:#4fbaea; --gold-ink:#04304d; --gold-soft:#123447;
  --bg:#0d141b; --surface:#151e28; --sunk:#1c2834; --ink:#e6ecf2; --muted:#9aa8b8; --line:#2a3846;
  --mark:#7b6413; --mark-ink:#fff8dc; --good:#5cc391; --bad:#ef8080; --mid:#e3ae55; --neutral:#a3abb9; --napa:#ab9ff7;
  --shadow:0 1px 2px rgba(0,0,0,.3); color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{background:var(--bg);color:var(--ink)}
body{font-family:var(--sans);font-size:14.5px;line-height:1.5}
button,input,select{font:inherit;color:inherit}
mark{background:var(--mark);color:var(--mark-ink);border-radius:3px;padding:0 2px}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.wrapw{max-width:1280px;margin:0 auto;padding-inline:16px}

/* masthead */
.mast{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:var(--shadow);position:sticky;top:env(safe-area-inset-top,0px);z-index:30}
.mast .row{display:flex;align-items:center;gap:14px;padding-block:10px}
.logo{display:flex;align-items:center;gap:12px;cursor:pointer;border:0;background:none;color:inherit;padding:0}
.logo img{height:46px;width:auto;display:block}
.logo .bk{background:#fff;border-radius:8px;padding:3px 6px;display:flex}
.logo .div{width:1px;height:30px;background:var(--line)}
.logo .t{display:flex;flex-direction:column;line-height:1.1;text-align:left}
.logo .t b{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--brand)}
.logo .t span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.mast .msearch{flex:1;min-width:0;display:flex;max-width:620px;margin-left:auto}
.mast .msearch input{flex:1;min-width:0;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:999px;padding:8px 16px;outline:none}
.mast .msearch input::placeholder{color:var(--muted)}
.mast .msearch input:focus{background:var(--surface);border-color:var(--brand-2)}
.mbtn{border:1px solid var(--line);background:var(--surface);color:var(--brand);font-weight:600;border-radius:999px;padding:7px 14px;cursor:pointer;white-space:nowrap}
.mbtn:hover{border-color:var(--gold)}
.umenu{position:relative}.umenu summary{list-style:none}.umenu summary::-webkit-details-marker{display:none}
.upop{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:190px;padding:6px;z-index:30;display:flex;flex-direction:column}
.upop a,.upop button{display:block;text-align:left;padding:8px 10px;border-radius:6px;color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;width:100%}
.upop a:hover,.upop button:hover{background:var(--sunk)}
.mbtn .n{background:var(--brand);color:var(--brand-ink);border-radius:999px;padding:0 7px;font-weight:700;font-size:12px;margin-left:4px}

/* home */
.hero{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);position:relative;overflow:hidden;color:var(--brand-ink);padding-block:42px 54px}
.hero::after{content:"";position:absolute;right:-40px;top:-30px;width:420px;height:460px;background:url(logo-mark.png) no-repeat center/contain;opacity:.12;pointer-events:none}
.hero .wrapw{position:relative;z-index:1}
.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(26px,4vw,38px);line-height:1.15;margin:0 0 6px;text-wrap:balance;max-width:22ch}
.hero p{margin:0 0 22px;opacity:.8;max-width:60ch}
.bigq{display:flex;background:var(--surface);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);overflow:hidden;max-width:860px}
.bigq input{flex:1;min-width:0;border:0;padding:16px 18px;font-size:17px;color:var(--ink);background:transparent;outline:none}
.bigq select{border:0;border-left:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0 10px;max-width:42%}
.bigq button{border:0;background:var(--gold);color:var(--gold-ink);font-weight:700;padding:0 24px;cursor:pointer}
.tries{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;align-items:center;font-size:13px}
.tries span{opacity:.7}
.tries button{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:var(--brand-ink);border-radius:999px;padding:4px 12px;cursor:pointer}
.tries button:hover{border-color:var(--gold)}
.stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:26px}
.stats div{display:flex;flex-direction:column}
.stats b{font-family:var(--serif);font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}
.stats span{font-size:12px;opacity:.7;letter-spacing:.04em}
.homegrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;padding-block:26px 50px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px;min-width:0}
.panel h2{font-family:var(--serif);font-size:18px;font-weight:600;margin:0 0 12px}
.issues{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.issue{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:10px 12px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;gap:8px;align-items:center}
.issue:hover{border-color:var(--gold);background:var(--gold-soft)}
.issue b{font-weight:600;font-size:13.5px}
.issue i{font-style:normal;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}
.blist{display:flex;flex-direction:column;gap:2px}
.brow{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:8px;border:0;background:none;padding:5px 6px;border-radius:6px;cursor:pointer;text-align:left}
.brow:hover{background:var(--sunk)}
.brow .bar{position:relative;height:22px;display:flex;align-items:center;padding-left:8px;font-size:13px}
.brow .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--gold-soft);border-radius:4px;z-index:0}
.brow .bar span{position:relative;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brow em{font-style:normal;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}
.latest{display:flex;flex-direction:column;gap:2px}
.ldx{margin-top:22px}
.ldx .lhd{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ldx h2{margin:0;font-family:var(--serif);font-size:22px}
.ldx .sub{color:var(--muted);font-size:13.5px;margin-top:2px}
.ldx .acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ldx select{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:var(--surface)}
.dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;min-width:0}
.dcard .t{font-family:var(--serif);font-weight:600;font-size:15.5px;line-height:1.35;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:var(--ink)}
.dcard .t:hover{color:var(--brand-2)}
.dcard .m{font-size:12.5px;color:var(--muted)}
.dcard .h{font-family:var(--serif);font-size:14.5px;line-height:1.55;color:var(--ink);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.dcard .f{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:4px}
.dcard .fav{margin-left:0}
.dmore{margin-top:12px;text-align:center}
@media (max-width:820px){.dgrid{grid-template-columns:1fr}}
.lt{border:0;background:none;text-align:left;padding:10px 8px;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--line)}
.lt:hover{background:var(--sunk)}
.lt .p{font-family:var(--serif);font-weight:600;font-size:15px}
.lt .m{font-size:12px;color:var(--muted)}

/* results */
.resgrid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;padding-block:20px 60px}
.rail{display:flex;flex-direction:column;gap:12px;min-width:0}
.fg{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px}
.fg summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.fg summary::-webkit-details-marker{display:none}
.fg summary::after{content:"▾";font-size:12px}
.fg:not([open]) summary::after{content:"▸"}
.fl{display:flex;flex-direction:column;gap:1px;max-height:240px;overflow:auto;margin-top:8px}
.fl label{display:flex;gap:8px;align-items:flex-start;padding:4px 4px;border-radius:5px;cursor:pointer;font-size:13px;line-height:1.3}
.fl label:hover{background:var(--sunk)}
.fl label .n{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}
.fl label.zero{opacity:.4}
.fl input[type=checkbox]{accent-color:var(--brand-2);margin-top:2px}
.fin{width:100%;border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:var(--bg);margin-top:8px}
.drow{display:flex;gap:6px;margin-top:8px}.drow input{flex:1;min-width:0}
.qbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:12px 14px;display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.qrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.qrow .main{flex:1 1 300px;min-width:0;display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg)}
.qrow .main input{flex:1;min-width:0;border:0;background:transparent;padding:9px 12px;outline:none;font-size:15px}
.qrow .main:focus-within{border-color:var(--brand-2)}
.qrow .main button{border:0;background:var(--brand);color:var(--brand-ink);padding:0 16px;font-weight:600;cursor:pointer}
.sel{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:8px 10px}
.trail{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12.5px}
.trail .lbl{color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:11px}
.pill{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:3px 10px;font-size:12.5px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.pill:hover{border-color:var(--gold)}
.pill.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.pill.on::after{content:"×";opacity:.7}
.pill.sug b{font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.refine{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-top:1px dashed var(--line);padding-top:10px}
.refine .rin{flex:1 1 220px;min-width:0;display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.refine .rin input{flex:1;min-width:0;border:0;padding:7px 10px;outline:none;background:var(--surface)}
.refine .rin button{border:0;background:var(--gold);color:var(--gold-ink);font-weight:700;padding:0 12px;cursor:pointer}
.sugs{display:flex;gap:6px;flex-wrap:wrap}
.rhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 10px}
.rcount{font-size:13px;color:var(--muted)} .rcount b{color:var(--ink);font-size:15px}
.list{display:flex;flex-direction:column;gap:10px}
.card{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--neutral);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:7px;box-shadow:var(--shadow);min-width:0}
.card.o-good{border-left-color:var(--good)} .card.o-bad{border-left-color:var(--bad)} .card.o-mid{border-left-color:var(--mid)} .card.o-napa{border-left-color:var(--napa)}
.c1{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.cno{font-family:var(--mono);font-size:12px;color:var(--ink);background:var(--sunk);padding:1px 6px;border-radius:4px}
.badge{font-size:11.5px;font-weight:700;border-radius:999px;padding:1px 9px;white-space:nowrap;border:1px solid currentColor}
.b-good{color:var(--good)} .b-bad{color:var(--bad)} .b-mid{color:var(--mid)} .b-neu{color:var(--neutral)} .b-napa{color:var(--napa)}
.fav{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}
.fav.f-a{color:var(--good)}.fav.f-d{color:var(--bad)}.fav.f-p{color:var(--mid)}.fav.f-r{color:var(--brand-2)}.fav.f-n{color:var(--neutral)}
.ttl{font-family:var(--serif);font-size:17.5px;font-weight:600;line-height:1.3;border:0;background:none;text-align:left;padding:0;cursor:pointer;color:var(--ink)}
.ttl:hover{color:var(--brand-2);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.ttl .v{font-weight:400;font-style:italic;color:var(--muted)}
.held{font-family:var(--serif);font-size:14.5px;line-height:1.55;margin:0;padding-left:10px;border-left:2px solid var(--gold)}
.snip{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0}
.snip .k{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--brand-2);margin-right:6px}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:11.5px;background:var(--sunk);border-radius:4px;padding:1px 7px;color:var(--muted);border:0;cursor:pointer}
.tag:hover{color:var(--ink)}
.cact{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.btn{border:1px solid var(--brand);background:var(--brand);color:var(--brand-ink);border-radius:8px;padding:6px 12px;cursor:pointer;font-weight:600;font-size:12.5px;display:inline-flex;align-items:center;gap:6px}
.btn.alt{background:var(--surface);color:var(--brand)}
:root[data-theme="dark"] .btn.alt,.btn.alt{border-color:var(--line)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.more{margin:16px auto 0;display:block}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:30px;text-align:center;color:var(--muted)}
.railbtn{display:none}

/* order page */
.order{display:grid;grid-template-columns:200px minmax(0,1fr) 300px;gap:24px;padding-block:20px 60px}
.toc{position:sticky;top:calc(70px + env(safe-area-inset-top,0px));align-self:start;display:flex;flex-direction:column;gap:2px}
.toc button{border:0;background:none;text-align:left;padding:6px 10px;border-radius:6px;cursor:pointer;color:var(--muted);font-weight:600;font-size:13px;border-left:2px solid transparent}
.toc button:hover{color:var(--ink)} .toc button.on{color:var(--ink);border-left-color:var(--gold);background:var(--surface)}
.back{border:0;background:none;color:var(--brand-2);cursor:pointer;padding:0;font-weight:600;margin-bottom:10px}
.ohead{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.ohead h1{font-family:var(--serif);font-size:clamp(21px,2.6vw,27px);line-height:1.25;margin:0;text-wrap:balance}
.ohead h1 .v{font-weight:400;font-style:italic;color:var(--muted)}
.sec{margin-bottom:24px}
.sec h2{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-weight:700}
.heldbox{font-family:var(--serif);font-size:17px;line-height:1.6;word-spacing:-.02em;text-wrap:pretty;background:var(--gold-soft);border-left:4px solid var(--gold);border-radius:0 var(--r) var(--r) 0;padding:14px 20px;margin:0;max-width:820px;text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.hn{font-family:var(--serif);font-size:16.5px;line-height:1.7;word-spacing:-.02em;text-wrap:pretty;margin:0;max-width:820px;text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.hn+.hn{margin-top:.8em}
.flag{font-size:12.5px;background:var(--sunk);border-left:3px solid var(--mid);padding:6px 10px;border-radius:0 6px 6px 0;margin-bottom:6px}
.ftbar{position:sticky;top:calc(58px + env(safe-area-inset-top,0px));background:var(--bg);padding:8px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;z-index:2;border-bottom:1px solid var(--line);margin-bottom:12px}
.ftbar input{flex:1 1 180px;min-width:0;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--surface)}
.fulltext{font-family:var(--serif);font-size:15.5px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.fulltext mark.cur,.doc mark.cur{outline:2px solid var(--gold)}
/* Full order, laid out like the signed order: centred caption, parties at both margins, numbered paragraphs, justified text */
.doc{max-width:820px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:52px 64px 56px;font-family:var(--serif);font-size:16px;line-height:1.72;overflow-wrap:break-word}
.doc p{margin:0 0 .75em}
.doc b{font-weight:700}
.doc .fp{text-align:justify;hyphens:auto;-webkit-hyphens:auto;text-wrap:pretty}
.doc .i1{text-indent:2.4em}
.doc .i2{margin:0 2em .85em 2.6em;font-size:15.2px;line-height:1.62}
.doc .i3{padding-left:2.4em;text-indent:-2.4em}
.doc .i4{margin-left:2.4em;padding-left:2.6em;text-indent:-2.6em}
.doc .fc{text-align:center;margin:0 0 .3em}
.doc .fr{text-align:right;margin:0 0 .3em}
.doc .fs{display:flex;justify-content:space-between;align-items:baseline;gap:2em;margin:0 0 .3em}
.doc .fs>span:last-child{text-align:right;white-space:nowrap}
.doc .fh{font-size:16px;font-weight:700;margin:1.1em 0 .45em;line-height:1.5}
.doc .fc+.fp,.doc .fs+.fp,.doc .fr+.fp,.doc .fc+.fh{margin-top:1em}
.doc .tw{overflow-x:auto;margin:.5em 0 1.3em;max-width:100%}
.doc table{width:100%;border-collapse:collapse;margin:0;font-family:var(--sans);font-size:13px;line-height:1.45}
.doc td{border:1px solid var(--line);padding:6px 9px;vertical-align:top;text-align:left}
.doc td.wide{min-width:18em}
.more{font-family:var(--sans);font-size:max(.45em,12.5px);font-weight:600;color:var(--muted);white-space:nowrap;vertical-align:middle}
.parties{margin:6px 0 12px;font-size:13.5px}
.parties summary{cursor:pointer;color:var(--brand-2);font-weight:600}
.pcols{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;margin-top:8px}
.pcols b{display:block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.pcols span{display:block;padding:2px 0;border-bottom:1px dashed var(--line)}
@media (max-width:720px){.pcols{grid-template-columns:1fr}}
.doc tr:first-child td{background:var(--sunk)}
.doc .pgm{display:flex;align-items:center;gap:12px;margin:1.8em 0 1.4em;color:var(--muted);font:600 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.doc .pgm::before,.doc .pgm::after{content:"";flex:1;border-top:1px dashed var(--line)}
.doc .scan{font-family:var(--sans);font-size:13px;color:var(--muted);background:var(--sunk);border-radius:6px;padding:10px 12px;margin:0 0 1.4em}
@media (max-width:720px){.doc{padding:24px 18px;font-size:15.5px}.doc .i2{margin-left:1.2em;margin-right:0}.doc .fs{flex-wrap:wrap;gap:.2em 1em}.doc table{display:block;overflow-x:auto}}
.side{display:flex;flex-direction:column;gap:12px;min-width:0}
.side .panel{padding:14px}
.kv{display:grid;grid-template-columns:minmax(0,1fr);gap:2px 0;font-size:13px;margin:0}
.kv dt{color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;margin-top:10px}
.kv dt:first-child{margin-top:0}
.kv dd{margin:0;overflow-wrap:anywhere}
.acts{display:flex;flex-direction:column;gap:6px}
.path{font-family:var(--mono);font-size:11px;overflow-wrap:anywhere;color:var(--muted)}
.hint{font-size:12px;color:var(--muted)}

/* shortlist drawer */
.scrim{position:fixed;inset:0;background:rgba(10,15,22,.45);z-index:40}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,100%);background:var(--surface);z-index:41;display:flex;flex-direction:column;border-left:1px solid var(--line)}
.dh{padding-block:calc(14px + env(safe-area-inset-top,0px)) 12px;padding-inline:18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}
.dh h3{font-family:var(--serif);margin:0;font-size:18px}
.db{flex:1;overflow:auto;padding:14px 18px;display:flex;flex-direction:column;gap:10px}
.si{border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.si .p{font-family:var(--serif);font-weight:600}
.df{padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:8px 16px;border-radius:999px;font-size:13px;z-index:60}
.foot{color:var(--muted);font-size:12px;padding-block:0 30px}
.x{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:18px;line-height:1}

@media (max-width:1100px){.order{grid-template-columns:minmax(0,1fr) 280px}.toc{display:none}}
@media (max-width:860px){
  .homegrid,.resgrid,.order{grid-template-columns:minmax(0,1fr)}
  .rail{display:none}.rail.open{display:flex}.railbtn{display:inline-flex}
  .mast .msearch{display:none}.logo .t span{display:none}
  .bigq{flex-wrap:wrap}.bigq input{flex:1 1 100%}.hero::after{width:220px;height:240px;opacity:.08}.logo img{height:32px}.logo .div,.logo .t{display:none}.bigq select{max-width:none;flex:1;border-left:0;border-top:1px solid var(--line);padding:10px}.bigq button{padding:12px 20px}
}
@media (prefers-reduced-motion:no-preference){.card,.issue,.pill,.lt{transition:border-color .15s,background .15s}}
