/* ============================================================================
   Leversens · plan.css : « Plan de séance » (/plan.html) et « Labo ICT » (/ict.html).
   Même système que rates.css (« Le Rail ») : filets, un seul accent bleu, chiffres
   en mono. Ni vert ni rouge : une distance ou une fréquence n'est ni bonne ni
   mauvaise ; l'ambre est réservé aux données en retard. Aucun fond animé.
   ========================================================================== */
:root{--pl-line:rgba(91,160,245,.16);--pl-line2:rgba(91,160,245,.3);--pl-lab:rgba(238,242,248,.62);
  --pl-warn:#f0a94b;--pl-card:rgba(21,39,72,.5);--pl-hi:#8ec2ff;--pl-lo:#3a7bd5;--pl-grid:rgba(142,194,255,.12)}
.pl .num{font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
.pl a{color:var(--blue-pale)}
.pl-crumbs{text-align:center}
.pl-hero{text-align:center;padding-bottom:clamp(.9rem,2vh,1.3rem)}
.pl-hero h1{margin-left:auto;margin-right:auto}
.pl-hero .lede{margin:0 auto;max-width:62ch}

/* --- état, retard ---------------------------------------------------------- */
.pl-state{min-height:1.7rem;margin:0 0 1rem;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;
  gap:.15rem .55rem;font-size:.95rem;color:var(--sec);text-align:center}
.pl-state b{color:var(--txt);font-weight:600}
.pl-state .sep{color:var(--pl-line2)}
@media(max-width:560px){.pl-state{flex-direction:column;align-items:center}.pl-state .sep{display:none}}
.pl-late{margin:0 auto 1rem;max-width:860px;padding:.7rem 1rem;border-radius:10px;border:1px solid rgba(240,169,75,.45);
  background:rgba(240,169,75,.1);color:#ffd7a3;font-size:.88rem;text-align:center}
.pl-wait{color:var(--ter);font-size:.9rem;text-align:center;padding:2.4rem 0}

/* --- tuiles ---------------------------------------------------------------- */
.pl-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.6rem,1.4vw,1rem)}
.pl-tile{display:flex;flex-direction:column;min-height:150px;padding:1rem 1.1rem;border:1px solid var(--pl-line);
  border-radius:14px;background:var(--pl-card)}
.pl-tile b{font:500 clamp(1.45rem,2.4vw,1.95rem)/1.1 'JetBrains Mono',monospace;color:var(--txt);letter-spacing:-.01em}
.pl-tile .lb{font-size:.84rem;color:var(--sec);margin-top:.45rem;line-height:1.38}
.pl-tile .cap{margin-top:auto;padding-top:.7rem;font:500 .68rem/1.45 'JetBrains Mono',monospace;color:var(--ter)}
.pl-tile.ph{background:rgba(21,39,72,.28)}
.pl-share{display:block;width:100%;height:4px;margin-top:.45rem}
.pl-share .t{fill:rgba(142,194,255,.14)}.pl-share .f{fill:var(--pl-hi)}
@media(max-width:900px){.pl-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.pl-tile{padding:.85rem .8rem}.pl-tile .lb{font-size:.78rem}.pl-tile .cap{font-size:.64rem}}

/* --- sections ---------------------------------------------------------------- */
.pl-sec{margin-top:clamp(2rem,5vh,3rem);padding-top:1.2rem;border-top:1px solid var(--pl-line2)}
.pl-h2{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--blue-hi);font-weight:500;margin:0 0 .9rem;padding-top:.4rem}
.pl-h3{font-family:'Crimson Pro',Georgia,serif;font-weight:500;font-size:1.22rem;color:var(--txt);margin:1.3rem 0 .45rem}
.pl-h3:first-child{margin-top:0}
.pl-duo{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:0 clamp(1.6rem,3.4vw,2.8rem);align-items:start}
@media(max-width:1000px){.pl-duo{grid-template-columns:minmax(0,1fr)}}
.pl-res-lv{min-height:47rem}
.pl-res-rg{min-height:25rem}
.pl-res-ev{min-height:12rem}
.pl-res-kz{min-height:22rem}
.pl-res-cx{min-height:8rem}
.pl-res.ok{min-height:0}
.pl-more{font-size:.86rem;margin:1rem 0 0;color:var(--ter)}

/* --- tableaux ---------------------------------------------------------------- */
.pl-tw,.ic-tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pl-tbl,.ic-tbl{width:100%;border-collapse:collapse;font-size:.88rem}
.pl-tbl th[scope=col],.ic-tbl th[scope=col]{font:500 .62rem/1.3 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ter);text-align:right;padding:.45rem .6rem;border-bottom:1px solid var(--pl-line2);vertical-align:bottom}
.pl-tbl th[scope=col]:first-child,.ic-tbl th[scope=col]:first-child{text-align:left}
.ic-tbl th[scope=col] small{display:block;text-transform:none;letter-spacing:0;font-size:.6rem;color:var(--pl-lab);margin-top:.15rem}
.pl-tbl tbody th,.ic-tbl tbody th{text-align:left;font-weight:500;color:var(--txt);padding:.55rem .6rem;border-bottom:1px solid var(--pl-line);vertical-align:top}
.pl-tbl tbody th small,.ic-tbl tbody th small{display:block;font-weight:400;font-size:.72rem;color:var(--ter);margin-top:.12rem;line-height:1.4}
.pl-tbl td,.ic-tbl td{padding:.5rem .6rem;text-align:right;border-bottom:1px solid var(--pl-line);color:var(--sec);vertical-align:top}
.pl-lv td{white-space:nowrap;font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
.pl-lv td.num{font-size:.93rem;color:var(--txt)}
.pl-lv td.dist{color:var(--blue-pale)}
.pl-lv tr.now th,.pl-lv tr.now td{background:rgba(58,123,213,.18);border-top:1px solid var(--blue-hi);border-bottom:1px solid var(--blue-hi)}
.pl-lv tr.now .nm{color:#fff;font-weight:600}
.pl-lv tr.prog .nm::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;border:1.5px solid var(--blue-hi);margin-left:.45rem;vertical-align:middle}
.pl-lv tr.na{opacity:.55}

/* --- range ------------------------------------------------------------------- */
.pl-g{margin:0 0 1.4rem}
.pl-g-h{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.88rem}
.pl-g-h b{font-weight:600;color:var(--txt)}
.pl-g-h span{font:.7rem 'JetBrains Mono',monospace;color:var(--ter)}
.pl-g-t{position:relative;height:34px;margin-top:1.25rem;border-bottom:1px solid var(--pl-line2)}
.pl-g-t i{position:absolute;display:block}
.pl-g-q{bottom:4px;height:24px;background:rgba(142,194,255,.13);border:1px solid rgba(142,194,255,.38);border-radius:3px}
.pl-g-m{bottom:4px;height:24px;width:2px;margin-left:-1px;background:#fff}
.pl-g-d{bottom:12px;height:8px;background:var(--pl-hi);border-radius:0 4px 4px 0}
.pl-g-k{bottom:0;height:40px;width:0;border-left:1.5px solid var(--blue-pale)}
.pl-g-k.vxn{border-left-style:dashed}
.pl-g-k span{position:absolute;bottom:100%;left:0;transform:translateX(-50%);font:500 .62rem 'JetBrains Mono',monospace;color:var(--blue-pale);padding-bottom:.1rem}
.pl-g-ax{position:relative;height:1.3rem;margin-top:.25rem}
.pl-g-ax span{position:absolute;transform:translateX(-50%);font:.62rem 'JetBrains Mono',monospace;color:var(--pl-lab)}
.pl-g-ax span:first-child{transform:none}
.pl-g-leg{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .5rem;font-size:.74rem;color:var(--ter);margin:.2rem 0 0}
.pl-g-leg .k{display:inline-block;width:16px;height:8px;margin-left:.6rem;border-radius:2px}
.pl-g-leg .k:first-child{margin-left:0}
.pl-g-leg .k.d{background:var(--pl-hi)}
.pl-g-leg .k.q{background:rgba(142,194,255,.13);border:1px solid rgba(142,194,255,.38)}
.pl-g-leg .k.m{width:2px;height:12px;background:#fff}
.pl-g-leg .k.atr{width:0;height:12px;border-left:1.5px solid var(--blue-pale);border-radius:0}
.pl-g-leg .k.vxn{width:0;height:12px;border-left:1.5px dashed var(--blue-pale);border-radius:0}
.pl-kv{margin:1.1rem 0 0;font-size:.84rem}
.pl-kv div{display:grid;grid-template-columns:minmax(0,11.5rem) minmax(0,1fr);gap:.2rem 1rem;padding:.42rem 0;border-bottom:1px solid var(--pl-line)}
.pl-kv dt{color:var(--ter)}
.pl-kv dd{margin:0;color:var(--txt)}
@media(max-width:560px){.pl-kv div{grid-template-columns:1fr}}

/* --- publications ------------------------------------------------------------ */
.pl-evs{list-style:none;margin:0;padding:0;border-top:1px solid var(--pl-line)}
.pl-ev{display:grid;grid-template-columns:5.6rem minmax(0,1fr) minmax(0,1.25fr);gap:.5rem 1.5rem;padding:.95rem .2rem;border-bottom:1px solid var(--pl-line);align-items:start}
.pl-ev-t b{display:block;font:500 1.35rem/1.1 'JetBrains Mono',monospace;color:var(--txt)}
.pl-ev-t small{display:block;font:.68rem 'JetBrains Mono',monospace;color:var(--ter);margin-top:.2rem}
.pl-ev-d b{display:block;font-weight:600;color:var(--txt);font-size:.95rem;line-height:1.35}
.pl-ev-d > small{display:block;font-size:.76rem;color:var(--ter);margin-top:.25rem}
.pl-ev-it{list-style:none;margin:.45rem 0 0;padding:0;font-size:.82rem;color:var(--sec)}
.pl-ev-it li{padding:.12rem 0}
.pl-ev-it small{color:var(--ter);font-size:.74rem}
.pl-ev-r p{margin:0;font-size:.9rem;color:var(--sec);line-height:1.45}
.pl-ev-r p b{font:500 1.08rem 'JetBrains Mono',monospace;color:var(--blue-pale)}
.pl-ev-r > small{display:block;font-size:.72rem;color:var(--ter);margin-top:.2rem}
.pl-ev-r .pl-ev-nr{font-size:.8rem;color:var(--ter)}
.pl-ev-same{font-size:.74rem!important;color:var(--ter)!important;margin-top:.35rem!important}
.pl-ev-det{margin-top:.45rem}
.pl-ev-det summary{cursor:pointer;color:var(--blue-pale);font-size:.8rem}
.pl-rx{font-size:.8rem;margin-top:.4rem}
.pl-rx td{white-space:nowrap;font-family:'JetBrains Mono',monospace}
.pl-rx td:last-child{font:.74rem Inter,system-ui,sans-serif;color:var(--ter)}
.pl-rx tbody th small{white-space:nowrap}
.pl-ev-off{font-size:.76rem;color:var(--ter);margin:-.2rem 0 .5rem}
.pl-ev-none{font-size:.86rem;color:var(--ter);margin:0;padding:.6rem .2rem;border-top:1px solid var(--pl-line)}
@media(max-width:760px){.pl-ev{grid-template-columns:4.3rem minmax(0,1fr)}.pl-ev-r{grid-column:2}}

/* --- killzones ----------------------------------------------------------------- */
.kz{border-top:1px solid var(--pl-line)}
.kz-row{display:grid;grid-template-columns:18.5rem minmax(0,1fr);align-items:center;gap:0 1rem;border-bottom:1px solid rgba(142,194,255,.07)}
.kz-l{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;font-size:.82rem;color:var(--sec);padding:.3rem 0}
.kz-l small{font-size:.7rem;color:var(--ter);white-space:nowrap}
.kz-row.sb .kz-l span{color:var(--ter)}
.kz-row.ev .kz-l span,.kz-row.cash .kz-l span{color:var(--txt);font-weight:500}
.kz-t{position:relative;align-self:stretch;min-height:32px}
.kz-t i{position:absolute;display:block}
.kz-a{top:0;bottom:0;width:0;border-left:1px dashed rgba(142,194,255,.2)}
.kz-now{top:0;bottom:0;width:0;border-left:2px solid var(--blue-hi);z-index:2}
.kz-b{top:calc(50% - 8px);height:16px;border-radius:4px;background:rgba(91,160,245,.42);border:1px solid rgba(142,194,255,.6)}
.kz-b.sb{top:calc(50% - 5px);height:10px;background:rgba(142,194,255,.82);border-color:transparent}
.kz-b.on{background:rgba(91,160,245,.75);border-color:#fff}.kz-b.sb.on{background:#fff}
.kz-row.on .kz-l span{color:#fff;font-weight:600}
.kz-b.cash{background:rgba(238,242,248,.13);border-color:rgba(238,242,248,.38)}
.kz-e{top:calc(50% - 16px);height:32px;width:0;z-index:3}
.kz-e::before{content:"";position:absolute;top:10px;left:-6px;width:11px;height:11px;transform:rotate(45deg);background:var(--blue-pale)}
.kz-e.hi::before{background:#fff}
.kz-e span{position:absolute;left:9px;top:8px;font:.66rem 'JetBrains Mono',monospace;color:var(--txt);white-space:nowrap}
.kz-ax{border-bottom:0}
.kz-ax .kz-t{height:2.5rem}
.kz-tick{position:absolute;top:.25rem;transform:translateX(-50%);font:.64rem 'JetBrains Mono',monospace;color:var(--pl-lab);white-space:nowrap}
.kz-nowl{position:absolute;top:1.3rem;transform:translateX(-50%);font:500 .64rem 'JetBrains Mono',monospace;color:var(--blue-hi);white-space:nowrap}
.kz-nowl.r,.kz-tick.r{transform:translateX(-100%)}.kz-nowl.l,.kz-tick.l{transform:none}
.kz-leg{list-style:none;margin:.8rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1.5rem;font-size:.78rem;color:var(--ter)}
.kz-leg b{color:var(--sec);font-weight:500;margin-right:.1rem}
@media(max-width:760px){
  .kz-row{grid-template-columns:minmax(0,1fr)}
  .kz-l{padding:.45rem 0 0}
  .kz-t{min-height:26px}
  .kz-b{top:calc(50% - 7px);height:14px}
  .kz-e{top:calc(50% - 13px);height:26px}.kz-e::before{top:7px}.kz-e span{top:5px}
  .kz-ax .kz-l{display:none}
  .kz-tick.m-hide{display:none}
}

/* --- contexte ------------------------------------------------------------------ */
.pl-ctx-l{font-size:.92rem;color:var(--sec);margin:0 0 .7rem}
.pl-ctx-h{display:flex;flex-wrap:wrap;gap:.6rem 2.4rem;margin:0 0 .9rem}
.pl-ctx-h dt{font:500 .62rem 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ter)}
.pl-ctx-h dd{margin:.1rem 0 0;color:var(--txt);font-weight:500}
.pl-ctx-h dd .num{color:var(--blue-pale);font-weight:400;margin-left:.3rem}
.pl-ctx-w{margin:0;max-width:82ch;padding:.1rem 0 .1rem .9rem;border-left:2px solid var(--pl-line2);font-size:.88rem;color:var(--sec);line-height:1.6}
.pl-ctx-m{margin:.7rem 0 0;font-size:.76rem;color:var(--ter)}

/* --- accordéons de méthode ------------------------------------------------------- */
.pl-method{max-width:80ch}
.pl-acc,.ic-def,.ic-num{border-bottom:1px solid var(--pl-line)}
.pl-acc summary,.ic-def summary,.ic-num summary{cursor:pointer;list-style:none;position:relative;padding:.7rem .2rem .7rem 1.4rem}
.pl-acc summary{font-family:'Crimson Pro',Georgia,serif;font-size:1.15rem;color:var(--txt)}
.ic-def summary,.ic-num summary{font-size:.84rem;color:var(--blue-pale)}
.pl-acc summary::-webkit-details-marker,.ic-def summary::-webkit-details-marker,.ic-num summary::-webkit-details-marker{display:none}
.pl-acc summary::before,.ic-def summary::before,.ic-num summary::before{content:"";position:absolute;left:.25rem;top:50%;width:7px;height:7px;margin-top:-5px;
  border-right:1.6px solid var(--blue-hi);border-bottom:1.6px solid var(--blue-hi);transform:rotate(-45deg);transition:transform .25s var(--ease)}
.pl-acc[open] summary::before,.ic-def[open] summary::before,.ic-num[open] summary::before{transform:rotate(45deg)}
.pl-acc > div,.ic-def > div{padding:0 .2rem .9rem 1.4rem;font-size:.9rem;line-height:1.65;color:var(--sec)}
.pl-acc p,.ic-def p{margin:0 0 .6rem}
.pl-acc b{color:var(--txt);font-weight:600}
.ic-def .src{font-size:.78rem;color:var(--ter)}
.ic-num .ic-tw{padding:0 0 .8rem}
.pl-acc summary:focus-visible,.ic-def summary:focus-visible,.ic-num summary:focus-visible,.pl-ev-det summary:focus-visible,.ic-toc a:focus-visible,.pl a:focus-visible{
  outline:2px solid var(--blue-pale);outline-offset:2px;border-radius:4px}

/* --- ligne d'état, tout en bas --------------------------------------------------- */
.pl-stamp{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem 1.6rem;margin:2.6rem 0 0;padding-top:1.2rem;
  border-top:1px solid var(--pl-line);font:.7rem/1.55 'JetBrains Mono',monospace;color:var(--ter);min-height:3.6rem}
.pl-stamp div{display:flex;flex-wrap:wrap;gap:0 .45em}
.pl-stamp dd{margin:0;color:var(--sec)}
@media(max-width:640px){.pl-stamp{display:block;text-align:left}.pl-stamp div{display:block;margin:0 0 .45rem}.pl-stamp dt,.pl-stamp dd{display:inline}}

/* ============================================================================ labo ICT */
.ic-warn{max-width:760px;margin:1.3rem auto 0;padding:.8rem 1.1rem;border:1px solid var(--pl-line2);border-radius:12px;
  text-align:center;font-size:.92rem;color:var(--sec);line-height:1.55}
.ic-warn b{color:var(--txt);font-weight:600}
.ic-toc{margin:1.4rem 0 0}
.ic-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem .5rem;min-height:4.6rem}
.ic-toc a{display:inline-block;padding:.34rem .78rem;border:1px solid var(--pl-line);border-radius:99px;font-size:.78rem;color:var(--sec);text-decoration:none}
.ic-toc a:hover{color:var(--txt);border-color:var(--blue-hi)}
.ic-cards.pl-load{min-height:100vh}
.ic-card{margin-top:clamp(2rem,5vh,3rem);padding-top:1.3rem;border-top:1px solid var(--pl-line2);scroll-margin-top:84px}
.ic-card header h2{font-family:'Crimson Pro',Georgia,serif;font-weight:500;font-size:clamp(1.4rem,2.4vw,1.8rem);color:var(--txt);margin:0;line-height:1.2}
.ic-meta{font:.7rem/1.5 'JetBrains Mono',monospace;color:var(--ter);margin:.35rem 0 0}
.ic-hl{max-width:82ch;margin:.9rem 0 0;padding-left:.9rem;border-left:2px solid var(--blue-hi);font-size:1rem;color:var(--txt);line-height:1.55}
.ic-body{margin-top:1.1rem}
.ic-body .ic-tw{max-width:1000px}
.ic-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(1.6rem,3.4vw,2.8rem);align-items:start}
.ic-grid .ic-h3:first-child{margin-top:0}
@media(max-width:1000px){.ic-grid{grid-template-columns:minmax(0,1fr)}.ic-grid > div + div{margin-top:1.2rem}}
.ic-h3{font:500 .64rem 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ter);margin:1.4rem 0 .5rem}
.ic-tbl tbody th{min-width:9.5rem}
.ic-tbl td{white-space:nowrap}
.ic-tbl tr.grp th{font:500 .6rem 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-hi);padding-top:1rem;border-bottom:1px solid var(--pl-line2)}
.ic-p{display:inline-grid;grid-template-columns:auto auto;align-items:baseline;justify-content:end;column-gap:.45rem;min-width:7.4rem}
.ic-p b{font:500 .98rem 'JetBrains Mono',monospace;color:var(--txt);grid-column:2;grid-row:1;text-align:right}
.ic-p small{font:.62rem 'JetBrains Mono',monospace;color:var(--ter);grid-column:1;grid-row:1;white-space:nowrap}
.ic-p svg{display:block;width:100%;height:4px;margin-top:.3rem;grid-column:1 / -1;grid-row:2}
.ic-p .t{fill:rgba(142,194,255,.12)}.ic-p .f{fill:rgba(142,194,255,.55)}
.ic-p .c{stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}
.ic-p.na{color:var(--ter);font-family:'JetBrains Mono',monospace}
.ic-p.inl{display:inline;min-width:0}
.ic-p.inl b,.ic-p.inl small{display:inline}
.ic-p.inl b{color:var(--txt)}
.ic-p.inl small{margin-left:.35rem}
.ic-p.inl svg{display:none}
.ic-v{display:inline-flex;flex-direction:column;align-items:flex-end}
.ic-v b{font:500 .95rem 'JetBrains Mono',monospace;color:var(--txt)}
.ic-v small{font-size:.7rem;color:var(--ter);white-space:nowrap}
.ic-kv{display:flex;flex-wrap:wrap;gap:.7rem 2.4rem;margin:0 0 1.1rem}
.ic-kv dt{font-size:.74rem;color:var(--ter)}
.ic-kv dd{margin:.1rem 0 0;font:500 1.05rem 'JetBrains Mono',monospace;color:var(--txt)}
.ic-kv dd > small{display:block;font:.72rem Inter,system-ui,sans-serif;color:var(--ter)}
.ic-key{font-size:.95rem;color:var(--sec);margin:0 0 1rem;line-height:1.5}
.ic-key > small{display:block;font-size:.76rem;color:var(--ter)}
.ic-foot{font-size:.76rem;color:var(--ter);margin:.8rem 0 0;max-width:92ch;line-height:1.55}
.ic-credit{max-width:92ch;margin:0 0 1.1rem;padding:.65rem .95rem;border:1px solid var(--pl-line2);border-radius:10px;font-size:.88rem;color:var(--sec);line-height:1.55}
/* histogrammes */
.ic-cols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-template-rows:180px;gap:2px;max-width:1000px}
.ic-col{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0}
.ic-col svg{display:block;width:100%;height:100%;min-height:0;border-bottom:1px solid var(--pl-line2)}
.ic-col .h{fill:var(--pl-hi)}.ic-col .l{fill:var(--pl-lo)}
.ic-col .u{stroke:rgba(238,242,248,.55);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.ic-col span{font:.6rem 'JetBrains Mono',monospace;color:var(--pl-lab);text-align:center;padding-top:.3rem;white-space:nowrap;overflow:visible}
.ic-leg{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;font-size:.74rem;color:var(--ter);margin:.6rem 0 .3rem}
.ic-leg .k{display:inline-block;width:12px;height:10px;margin-left:.6rem}
.ic-leg .k:first-child{margin-left:0}
.ic-leg .k.h{background:var(--pl-hi)}.ic-leg .k.l{background:var(--pl-lo)}
.ic-leg .k.u{width:16px;height:0;border-top:1px dashed rgba(238,242,248,.7)}
.ic-leg .ax{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:.66rem}
@media(max-width:900px){.ic-col:nth-child(even) span{visibility:hidden}}
@media(max-width:560px){.ic-cols{grid-template-rows:150px}.ic-col span{visibility:hidden}.ic-col:nth-child(4n+1) span{visibility:visible}.ic-leg .ax{margin-left:0;width:100%}}
/* publications */
.ic-ev{list-style:none;margin:0;padding:0;border-top:1px solid var(--pl-line);max-width:1000px}
.ic-ev li{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.3fr) minmax(0,.75fr);gap:.4rem 1.5rem;padding:.85rem .2rem;border-bottom:1px solid var(--pl-line)}
.ic-ev-n b{display:block;color:var(--txt);font-weight:600;font-size:.92rem}
.ic-ev-n small{display:block;font-size:.72rem;color:var(--ter);line-height:1.5;margin-top:.1rem}
.ic-ev-v .k{display:block;font:500 .6rem 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ter);margin-bottom:.1rem}
.ic-ev-v b{font:500 1.05rem 'JetBrains Mono',monospace;color:var(--txt)}
.ic-ev-v small{display:block;font-size:.72rem;color:var(--ter)}
.ic-cmp{display:block;width:100%;max-width:240px;height:10px;margin-top:.35rem}
.ic-cmp .a{fill:var(--pl-hi)}.ic-cmp .b{fill:rgba(238,242,248,.28)}
@media(max-width:760px){.ic-ev li{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.ic-ev-n{grid-column:1 / -1}}
@media(max-width:560px){
  .ic-toc ol{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;min-height:0;padding-bottom:.4rem;-webkit-overflow-scrolling:touch}
  .ic-toc a{white-space:nowrap}
  .ic-tbl{font-size:.82rem}
  .ic-tbl tbody th{min-width:6.4rem;padding:.5rem .4rem}
  .ic-tbl td{padding:.5rem .35rem;white-space:normal}
  .ic-v small{white-space:normal;text-align:right}
  .ic-tbl th[scope=col]{padding:.45rem .35rem}
  .ic-p{grid-template-columns:auto;min-width:3.9rem;justify-items:end}
  .ic-p b{grid-column:1;grid-row:1}
  .ic-p small{grid-column:1;grid-row:2}
  .ic-p svg{grid-column:1;grid-row:3}
  .ic-p.inl small{margin-left:.3rem}
}
.ic-limits ul{margin:0;padding-left:1.1rem;max-width:84ch;color:var(--sec);font-size:.9rem;line-height:1.6}
.ic-limits li{margin-bottom:.5rem}

@media print{
  :root{--txt:#111;--sec:#333;--ter:#555;--blue-pale:#1b4f9c;--blue-hi:#1b4f9c;--pl-lab:#444;--pl-line:#ccc;--pl-line2:#999;--pl-hi:#1b4f9c;--pl-lo:#6b8cb8}
  body{background:#fff}
  .pl-tile,.ic-credit,.ic-warn{background:none;border-color:#999}
  .pl-lv tr.now th,.pl-lv tr.now td{background:none}
  .pl-late{background:none;border:1px solid #999;color:#333}
  .ic-toc{display:none}
}
