/* n0d4 TSM Handbook — 業務用ハンドブック／索引型
   Loaded last on every page. Tokens live here. Radius stays 0.
   The mark token is the current-location marker only. */
:root{
  --paper:#FAFAF7;
  --ink:#111111;
  --ink-2:#55554F;
  --ink-3:#6B6B66;
  --rule:#111111;
  --rule-soft:#D6D6D0;
  --link:#1A40C8;
  --visited:#5B2BB5;
  --mark:#0B6B2A;
  --hi:#FFE600;
  --warn:#C8102E;
  --font-ja:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI",Meiryo,sans-serif;
  --font-num:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono","Courier New",Courier,Osaka-Mono,monospace;
  --font-body:"Inter","Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI",Meiryo,sans-serif;
  --fs-body:16px;
  --fs-sm:14px;
  --fs-label:12px;
  --fs-h3:18px;
  --fs-h2:21px;
  --fs-h1:clamp(26px, 1.2rem + 1.8vw, 36px);
  --lh-body:1.8;
  --measure:36em;
  --radius:0;
  --tap:44px;
  --header-h:56px;
  --bp-sm:768px;
  --bp-lg:1024px;
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:72px;
  --n0d4-bg:#FAFAF7;
  --n0d4-surface:#FAFAF7;
  --n0d4-surface-2:#FAFAF7;
  --n0d4-surface-hover:#FAFAF7;
  --n0d4-border:#D6D6D0;
  --n0d4-border-strong:#111111;
  --n0d4-text:#111111;
  --n0d4-muted:#55554F;
  --n0d4-faint:#6B6B66;
  --n0d4-accent:#111111;
  --n0d4-accent-strong:#1A40C8;
  --n0d4-accent-dim:transparent;
  --n0d4-link:#1A40C8;
  --n0d4-link-dim:transparent;
  --n0d4-code-bg:transparent;
  --n0d4-table-stripe:transparent;
  --n0d4-shadow:none;
  --n0d4-shadow-lg:none;
  --n0d4-warn:#C8102E;
  --n0d4-warn-dim:transparent;
  --n0d4-ok:#111111;
  --n0d4-ok-dim:transparent;
  --mono-hi:#111111;
  --mono-mid:#55554F;
  --mono-low:#6B6B66;
  --mono-dim:transparent;
  --mono-dim-2:transparent;
  --sidebar-width:280px;
  --header-height:56px;
  --card-radius:0;
  --font-sans:var(--font-body);
}
@media (max-width:480px){
  :root{--fs-body:16px;--fs-h2:22px}
}
@media (min-width:1024px){
  :root{--fs-body:16px;--fs-h3:19px;--fs-h2:24px}
}

*,*::before,*::after{border-radius:0}
html{
  scroll-behavior:auto;
  scroll-padding-top:calc(var(--header-h) + 8px);
  overflow-x:clip;
  background:var(--paper);
}
h2,h3,.table-block{scroll-margin-top:calc(var(--header-h) + 8px)}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:var(--fs-body);
  font-weight:400;
  line-height:var(--lh-body);
  letter-spacing:0;
  text-transform:none;
  overflow-x:clip;
}
body.nav-open{overflow:hidden}
h1,h2,h3,h4,p,li,th,td,a,button,summary,figcaption,label,span{
  letter-spacing:0;
  text-transform:none;
}
h1,h2,h3{text-wrap:balance}
p,li,blockquote,.note,.insight,.lead,.hero-lead{text-wrap:pretty;line-break:strict}
a[href^="http"]{overflow-wrap:anywhere}

h1,.hero h1{
  font-size:var(--fs-h1);
  font-weight:700;
  line-height:1.3;
  margin:0 0 var(--s-2);
  color:var(--ink);
}
h2{
  font-size:var(--fs-h2);
  font-weight:700;
  line-height:1.4;
  margin:var(--s-8) 0 var(--s-4);
  color:var(--ink);
}
h3{
  font-size:var(--fs-h3);
  font-weight:700;
  line-height:1.5;
  margin:var(--s-6) 0 var(--s-3);
  color:var(--ink);
}
h4{font-size:var(--fs-body);font-weight:700;margin:var(--s-5) 0 var(--s-2);color:var(--ink)}
@media (max-width:1023px){
  h2{margin-top:var(--s-7)}
}
/* <=480: 17px だと本文16pxと差が1pxしかない。22px / 700 と上罫で段差を付ける。 */
@media (max-width:480px){
  h1,.hero h1{font-size:26px;font-weight:700}
  h2{
    font-size:22px;
    font-weight:700;
    line-height:1.35;
    margin:48px 0 16px;
    padding-top:12px;
    border-top:2px solid var(--rule);
  }
  h2.index-hub-title{
    border-top:0;
    padding-top:0;
    margin:0;
  }
}
h2[data-chap]{
  border-top:2px solid var(--rule);
  padding-top:var(--s-3);
}
h2[data-chap]::before{
  content:attr(data-chap);
  display:block;
  margin-bottom:var(--s-2);
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  font-weight:400;
  line-height:1.4;
  color:var(--ink-2);
}
p{margin:0 0 1em;max-width:var(--measure);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink)}
li{margin-bottom:var(--s-2);max-width:var(--measure)}
ul,ol{margin:var(--s-3) 0 var(--s-4) 1.2em}
strong{font-weight:700;color:var(--ink)}
em{font-style:normal;font-weight:700;color:var(--ink)}
a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:visited{color:var(--visited)}
code{
  font-family:var(--font-mono);
  font-size:0.875em;
  color:var(--ink);
  background:transparent;
  border-radius:0;
  padding:0 0.15em;
  border-bottom:1px solid var(--rule-soft);
}
hr{border:0;border-top:1px solid var(--rule);height:0;background:none;margin:var(--s-7) 0}
blockquote,.insight,.warning,.ref-links,.hero,.tactic-card,.hub-card,.ia-axis,.company-card,.framework-card,.diagram-figure,.kicker-box{
  background:transparent;
  background-image:none;
  box-shadow:none;
  border-radius:0;
}
blockquote{
  border:0;
  border-top:1px solid var(--rule);
  margin:var(--s-2) 0 var(--s-4);
  padding:var(--s-2) 0 0;
  max-width:var(--measure);
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  line-height:1.5;
  color:var(--ink-2);
}
blockquote p{font-size:var(--fs-label);line-height:1.5;color:var(--ink-2);margin:0 0 var(--s-1)}
.insight,.warning{
  border:0;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:var(--s-3) 0;
  margin:var(--s-4) 0;
  font-size:var(--fs-body);
  color:var(--ink);
  max-width:var(--measure);
}
.insight strong,.warning strong{color:var(--ink)}
.warning::first-letter{color:var(--warn);font-weight:700}

.header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:var(--header-h);
  margin:0;
  transform:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  background:var(--paper);
  border-bottom:1px solid var(--rule);
  box-shadow:none;
  display:flex;
  align-items:center;
  gap:var(--s-2);
  padding:0 var(--s-3) 0 var(--s-1);
  z-index:200;
}
.menu-toggle{
  order:-1;
  flex:0 0 var(--tap);
  width:var(--tap);
  height:var(--tap);
  min-width:var(--tap);
  min-height:var(--tap);
  display:none;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.header-logo{
  font-family:var(--font-mono);
  font-weight:700;
  font-size:var(--fs-label);
  letter-spacing:0;
  color:var(--ink);
  text-decoration:none;
  min-height:var(--tap);
  display:inline-flex;
  align-items:center;
  padding:0 var(--s-2);
}
.header-logo:hover,.header-logo:visited{color:var(--ink);text-decoration:underline}
.header-title{
  display:block;
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  color:var(--ink-2);
  flex:1;
  min-width:0;
}
.header-tabs{display:flex;gap:0;align-items:center;min-width:0}
.header-tab{
  min-height:var(--tap);
  display:inline-flex;
  align-items:center;
  padding:0 var(--s-3);
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font-size:var(--fs-sm);
  text-decoration:none;
  letter-spacing:0;
}
.header-tab:visited{color:var(--ink)}
.tab-num{font-family:var(--font-mono);font-size:var(--fs-label);margin-right:var(--s-1)}
.search-box{margin-left:auto}
.search-input{
  width:min(220px, 36vw);
  max-width:none;
  height:var(--tap);
  min-height:var(--tap);
  padding:0 var(--s-3);
  border:1px solid var(--ink);
  border-radius:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  outline:none;
}
.search-input::placeholder{color:var(--ink-3)}
.progress-bar{
  position:fixed;
  top:var(--header-h);
  left:0;
  height:2px;
  background:var(--ink);
  z-index:190;
}
.sidebar{
  background:var(--paper);
  border-right:1px solid var(--rule);
  top:var(--header-h);
  z-index:180;
}
.sidebar-backdrop{z-index:170}
.sidebar-close{
  position:relative;
  top:auto;
  right:auto;
  z-index:5;
  width:var(--tap);
  height:var(--tap);
  min-width:var(--tap);
  min-height:var(--tap);
  border:0;
  border-radius:0;
  background:var(--paper);
  color:var(--ink);
}
.nav-tabs{
  display:flex;
  position:sticky;
  top:0;
  z-index:4;
  background:var(--paper);
  border-bottom:1px solid var(--rule);
}
.nav-tab{
  flex:1;
  min-height:var(--tap);
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink-2);
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  cursor:pointer;
}
.nav-tab[aria-selected="true"]{
  color:var(--ink);
  font-weight:700;
  box-shadow:inset 0 -2px 0 var(--ink);
}
.nav-panel[hidden]{display:none}
.sidebar-section-cat,.sidebar-group-label,.sidebar-cat-desc{
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  line-height:1.4;
  color:var(--ink-2);
  letter-spacing:0;
  text-transform:none;
  padding:var(--s-3) var(--s-4) var(--s-1);
}
.sidebar-section-title,button.sidebar-section-title{
  min-height:var(--tap);
  display:flex;
  align-items:center;
  width:100%;
  margin:0;
  padding:var(--s-2) var(--s-4);
  border:0;
  border-left:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  text-align:left;
}
.sidebar-link{
  display:flex;
  align-items:center;
  min-height:var(--tap);
  padding:var(--s-2) var(--s-4);
  border-left:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font-size:var(--fs-sm);
  line-height:1.4;
  text-decoration:none;
}
.sidebar-link:visited{color:var(--ink)}
.sidebar-link:hover{background:transparent;text-decoration:underline;color:var(--ink)}
.sidebar-link-sub{padding-left:var(--s-6)}
.sidebar-link.is-current{
  font-weight:700;
  color:var(--ink);
  box-shadow:inset 4px 0 0 var(--mark);
}
.sidebar-link.is-soon,.sidebar-link.is-coming-soon{color:var(--ink-3);font-weight:400}
.sidebar-link .nav-status{
  margin-left:var(--s-2);
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  font-weight:400;
  color:var(--ink-3);
}
.nav-soon,.soon-fold{border-top:1px solid var(--rule);margin:var(--s-2) 0}
.nav-soon summary,.soon-fold > summary{
  min-height:var(--tap);
  display:flex;
  align-items:center;
  padding:0 var(--s-4);
  cursor:pointer;
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  color:var(--ink-3);
  list-style:none;
}
.nav-soon summary::-webkit-details-marker,.soon-fold > summary::-webkit-details-marker{display:none}
.main{
  margin-top:var(--header-h);
  min-width:0;
  max-width:100%;
  overflow-x:visible;
}
@media (max-width:1023px){
  .menu-toggle{display:inline-flex}
  .header-tabs{display:none}
  .sidebar{
    transform:translateX(-100%);
    width:min(88vw, 340px);
  }
  .sidebar.open{transform:translateX(0)}
  .main{
    margin-left:0;
    padding:var(--s-4) 20px 64px;
    max-width:none;
    width:auto;
  }
  .sidebar-close{
    display:flex;
    position:sticky;
    top:0;
    z-index:5;
    width:100%;
    box-sizing:border-box;
    align-items:center;
    justify-content:flex-end;
    padding-right:4px;
    background:var(--paper);
    border-bottom:1px solid var(--rule);
  }
  .nav-tabs{top:var(--tap)}
}
@media (min-width:1024px){
  .menu-toggle{display:none}
  .sidebar{transform:none;width:var(--sidebar-width)}
  .sidebar-close{display:none}
  .main{
    margin-left:var(--sidebar-width);
    padding:var(--s-7) var(--s-6) 100px;
    max-width:860px;
  }
}

.hero,.hero-actions{background:transparent;border:0;box-shadow:none;padding:0;border-radius:0}
.hero{margin:0 0 var(--s-2)}
.hero-kicker,.kicker{
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:var(--ink-2);
  margin:0 0 var(--s-1);
}
.hero-tag,.ia-axis-tag,.ia-axis-badge,.ia-axis:nth-child(n) .ia-axis-badge,.hub-status,.tactic-card-badge,.phase-badge,.nav-status,.metric-pill{
  display:inline;
  margin:0 var(--s-2) 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink-2);
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  line-height:1.4;
}
.hero-lead,.lead{font-size:var(--fs-body);color:var(--ink);max-width:var(--measure);margin-bottom:var(--s-2);line-height:1.65}
.meta-line{margin:0 0 var(--s-1)}
#deep-dive-hub > h2{
  margin:var(--s-4) 0 var(--s-2);
  padding:0;
  border:0;
  font-family:var(--font-body);
  font-size:18px;
  font-weight:700;
  line-height:1.4;
  color:var(--ink);
}

.index-list{list-style:none;margin:0 0 var(--s-4);padding:0}
.index-list a{
  display:flex;
  gap:var(--s-3);
  align-items:baseline;
  min-height:56px;
  padding:2px 0;
  border-top:1px solid var(--rule);
  color:var(--ink);
  text-decoration:none;
}
.index-list a:visited{color:var(--ink)}
.index-list a:hover{text-decoration:none}
.index-list a:hover .idx-title{text-decoration:underline}
.idx-no{
  flex:0 0 4.2em;
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  font-variant-numeric:tabular-nums;
  color:var(--ink-2);
}
.idx-main{min-width:0}
.idx-title{display:block;font-weight:700;font-size:var(--fs-body);line-height:1.4}
.idx-desc{display:block;margin-top:2px;font-size:var(--fs-sm);line-height:1.45;color:var(--ink-2);font-weight:400}
.soon-fold .index-list a{border-top-color:var(--rule-soft)}
.soon-fold > summary{padding-left:0}

.ia-axis-grid,.hub-card-grid,.coming-soon-grid,.tactic-grid,.compact-link-grid,.framework-grid{
  display:block;
}
.ia-axis,.tactic-card,.hub-card,.company-card,.framework-card,.compact-link{
  display:block;
  width:auto;
  min-height:0;
  margin:0;
  padding:var(--s-3) 0;
  border:0;
  border-top:1px solid var(--rule-soft);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--ink);
}
.compact-link{min-height:var(--tap)}
.compact-link strong{font-size:var(--fs-body)}
.compact-link span{font-size:var(--fs-sm);color:var(--ink-2)}
.ia-axis-head{display:flex;gap:var(--s-2);align-items:baseline}
.ref-links{
  margin:var(--s-4) 0;
  padding:var(--s-3) 0;
  border:0;
  border-top:1px solid var(--rule);
  background:transparent;
}
.ref-links-title{
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  letter-spacing:0;
  text-transform:none;
  color:var(--ink-2);
  margin-bottom:var(--s-2);
}
.ref-links a{
  display:inline;
  margin:0 var(--s-3) 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  font-size:var(--fs-sm);
}
.tactic-card-title{font-size:var(--fs-body);font-weight:700}
.tactic-card-desc{font-size:var(--fs-sm);color:var(--ink);line-height:1.6}
.tactic-card-meta,.tactic-card-meta-item{font-size:var(--fs-label);color:var(--ink-2)}
.footer{font-size:var(--fs-sm);color:var(--ink-2);border-top:1px solid var(--rule);background:transparent}
.back-link{font-family:var(--font-mono);font-size:var(--fs-label);display:inline-flex;align-items:center;min-height:var(--tap)}
.page-nav,.template-box{
  background:transparent;
  border:0;
  border-top:1px solid var(--rule);
  border-radius:0;
  box-shadow:none;
  padding:var(--s-2) 0;
  margin:var(--s-3) 0;
}
.page-nav a,.company-card-links a{
  display:inline-flex;
  align-items:center;
  min-height:var(--tap);
  padding:0 var(--s-3);
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--link);
}
.template-box h4,.template-box code,code{
  color:var(--ink);
  background:transparent;
}
.template-box code{
  display:block;
  border:0;
  border-left:2px solid var(--rule);
  padding:var(--s-2) var(--s-3);
  margin-top:var(--s-2);
}
.back-to-top{
  width:var(--tap);
  height:var(--tap);
  border:1px solid var(--ink);
  border-radius:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-mono);
}

.table-block{margin:var(--s-4) 0 var(--s-5);max-width:none}
.table-caption{
  display:flex;
  align-items:center;
  gap:var(--s-2);
  margin:0;
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  line-height:1.4;
  color:var(--ink-2);
}
.table-caption-label{flex:1;min-width:0}
.table-anchor{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:var(--tap);
  min-height:var(--tap);
  color:var(--ink);
  text-decoration:none;
  font-family:var(--font-mono);
}
.table-scroll-hint{display:none;font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-2);white-space:nowrap}
.table-block.can-scroll .table-scroll-hint{display:inline}
@media (min-width:1024px){
  .table-anchor{opacity:0}
  .table-block:hover .table-anchor,.table-anchor:focus{opacity:1}
}
.table-wrap{
  overflow-x:auto;
  max-width:100%;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.table-wrap[data-layout="reflow"]{overflow-x:visible}
.table-wrap[data-layout="reflow"] table{min-width:0;width:100%}
table{
  width:100%;
  border-collapse:collapse;
  font-size:var(--fs-sm);
  line-height:1.6;
  font-variant-numeric:tabular-nums;
  background:transparent;
}
th,td{
  font-size:var(--fs-sm);
  padding:10px 12px;
  border:0;
  border-bottom:1px solid var(--rule-soft);
  text-align:left;
  vertical-align:top;
  background:var(--paper);
  color:var(--ink);
  letter-spacing:0;
  text-transform:none;
}
thead th{
  border-bottom:2px solid var(--ink);
  font-weight:700;
  font-size:var(--fs-sm);
  white-space:normal;
  color:var(--ink);
}
tbody tr:nth-child(even),tbody tr:hover{background:transparent}
tbody tr:nth-child(even) td,tbody tr:hover td{background:var(--paper)}
@media (max-width:1023px){
  .table-wrap[data-layout="scroll"]{position:relative}
  .table-wrap[data-layout="scroll"] table{min-width:560px}
  .table-wrap[data-layout="scroll"] th:first-child,
  .table-wrap[data-layout="scroll"] td:first-child{
    position:sticky;
    left:0;
    z-index:1;
    background:var(--paper);
    box-shadow:inset -1px 0 0 var(--ink);
  }
  .table-wrap.is-scrollable::after{
    content:"";
    position:absolute;
    top:0;right:0;bottom:0;
    width:24px;
    pointer-events:none;
    background:linear-gradient(to right, rgba(250,250,247,0), var(--paper));
  }
  .table-wrap[data-layout="deflist"]{overflow:visible}
  .table-wrap[data-layout="deflist"] table,
  .table-wrap[data-layout="deflist"] tbody,
  .table-wrap[data-layout="deflist"] tr,
  .table-wrap[data-layout="deflist"] td{
    display:block;
    width:auto;
    min-width:0;
  }
  .table-wrap[data-layout="deflist"] thead{display:none}
  .table-wrap[data-layout="deflist"] tr{
    border-top:2px solid var(--ink);
    padding:var(--s-2) 0 var(--s-3);
  }
  .table-wrap[data-layout="deflist"] td{
    border:0;
    padding:var(--s-1) 0;
  }
  .table-wrap[data-layout="deflist"] td::before{
    content:attr(data-label);
    display:block;
    font-family:var(--font-mono);
    font-size:var(--fs-label);
    line-height:1.4;
    color:var(--ink-2);
    font-weight:400;
  }
}
.table-block:target{
  box-shadow:inset 4px 0 0 var(--mark);
  animation:target-hi 2s ease forwards;
}
@keyframes target-hi{
  0%{background:rgba(255,230,0,.35)}
  70%{background:rgba(255,230,0,.35)}
  100%{background:transparent}
}

.diagram-figure,.lifecycle-diagram{
  overflow-x:auto;
  max-width:100%;
  border:0;
  background:transparent;
  padding:0;
  text-align:left;
}
.diagram-figure svg,.lifecycle-diagram svg{
  max-width:none;
  height:auto;
  display:block;
}
.diagram-caption,.fig-no{
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  color:var(--ink-2);
  text-align:left;
}
.lifecycle-diagram-mobile-summary{display:none}
.lifecycle-diagram-mobile-summary .phase-item{
  background:transparent;
  border:0;
  border-top:1px solid var(--rule);
  border-radius:0;
  padding:var(--s-3) 0;
}
.lifecycle-diagram-mobile-summary .phase-item p,
.lifecycle-diagram-mobile-summary .phase-item-title{font-size:var(--fs-sm);color:var(--ink)}

:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.search-highlight{background:var(--hi);color:var(--ink)}
input,textarea,select{font-size:16px;border-radius:0}
.scorecard-input,.scorecard-total-input{
  border-radius:0;
  background:var(--paper);
  color:var(--ink);
  font-size:16px;
  min-height:var(--tap);
}

@media (prefers-reduced-motion:reduce){
  .table-block:target{animation:none;background:rgba(255,230,0,.35)}
  .sidebar{transition:none}
}
