/* Insights: the /insights/ hub and article pages (loaded only there, after inner.css).
   Built by .tools/inner-misc-e.mjs. Tokens come from slash.css. */

/* ---------- Hub: featured article ---------- */
.ins-feature{
  display:grid;gap:.85rem;padding:clamp(1.6rem,4vw,2.6rem);
  border-radius:var(--radius);border:1px solid var(--stroke-accent);
  background:radial-gradient(760px 260px at 0% 0%,var(--accent-soft),transparent 72%),var(--glass);
  text-decoration:none;color:inherit;position:relative;overflow:hidden;
  transition:transform .4s var(--ease),box-shadow .4s,border-color .4s;
}
.ins-feature:hover{transform:translate3d(0,-4px,0);box-shadow:var(--shadow)}
.ins-feature .ins-k{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}
.ins-feature h2{margin:0;font-size:clamp(1.55rem,1.1rem + 2.2vw,2.6rem);max-width:26ch;line-height:1.1}
.ins-feature p{margin:0;color:var(--muted);max-width:66ch;font-size:clamp(1rem,.96rem + .25vw,1.1rem)}
.ins-feature .ins-meta{font-size:.82rem}
.ins-feature .ins-go{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:.3rem;
  font-family:var(--font-display);font-weight:600;font-size:.92rem;color:var(--accent);
}
.ins-feature .ins-go i{font-style:normal;transition:transform .3s var(--ease)}
.ins-feature:hover .ins-go i{transform:translateX(4px)}

/* ---------- Hub: topic filters ---------- */
.ins-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:2.6rem 0 .9rem}
.ins-filters button{
  font:inherit;font-size:.86rem;display:inline-flex;align-items:center;gap:.45rem;
  min-height:40px;padding:.5rem .95rem;border-radius:999px;cursor:pointer;
  border:1px solid var(--stroke);background:var(--glass);color:var(--muted);
  transition:color .25s,border-color .25s,background .25s;
}
.ins-filters button:hover{color:var(--text);border-color:var(--stroke-accent)}
.ins-filters button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ins-filters button span{font-size:.74rem;color:var(--faint)}
.ins-filters button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.ins-filters button[aria-pressed="true"] span{color:inherit;opacity:.75}
.ins-count{margin:0 0 1.3rem;color:var(--faint);font-size:.84rem}

/* ---------- Cards: three columns, meta line ---------- */
@media(min-width:1000px){.ins-grid.ins-3{grid-template-columns:repeat(3,1fr)}}
.ins-card[hidden]{display:none}
.ins-card .ins-meta,.ins-feature .ins-meta{
  display:flex;flex-wrap:wrap;gap:.3rem .9rem;color:var(--faint);font-size:.78rem;
}
.ins-card .ins-meta{margin-top:auto;padding-top:.5rem}
.ins-meta > * + *::before{content:"·";margin-right:.9rem;opacity:.6}
.ins-card h3{line-height:1.2}

/* ---------- Article: layout ---------- */
body.is-inner .unique-seo.art{padding-top:3rem}
.art-grid{display:grid;gap:1.8rem;grid-template-columns:minmax(0,1fr)}
.art-main{min-width:0;max-width:780px}
@media(min-width:1040px){
  .art-grid{grid-template-columns:250px minmax(0,1fr);gap:3.4rem;align-items:start}
  .art-aside{position:sticky;top:calc(var(--nav-h) + 1.4rem);max-height:calc(100vh - var(--nav-h) - 2.8rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}

/* author and facts */
.art-author{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.art-author img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top;border:1px solid var(--stroke);flex:none;background:var(--bg-3)}
.art-author b{display:block;font-family:var(--font-display);font-weight:600;font-size:.96rem;line-height:1.25}
.art-author b a{color:var(--text);text-decoration:none}
.art-author b a:hover{color:var(--accent)}
.art-author span{display:block;color:var(--muted);font-size:.8rem;line-height:1.35}
.art-facts{display:grid;gap:.45rem;margin:0 0 1.2rem;padding:.9rem 0;border-block:1px solid var(--stroke);font-size:.83rem}
.art-facts div{display:flex;justify-content:space-between;gap:1rem}
.art-facts dt{color:var(--muted)}
.art-facts dd{margin:0;color:var(--text);text-align:right}
.art-facts a{color:var(--accent);text-decoration:none}
.art-facts a:hover{color:var(--text)}

/* table of contents */
.toc summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);
  padding:.35rem 0 .6rem;
}
.toc summary::-webkit-details-marker{display:none}
.toc summary::after{content:"+";font-size:1rem;letter-spacing:0;transition:transform .3s var(--ease)}
.toc details[open] summary::after{transform:rotate(45deg)}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:.1rem;counter-reset:toc}
.toc li{counter-increment:toc}
.toc a{
  display:flex;gap:.6rem;padding:.36rem .5rem;border-radius:8px;
  color:var(--muted);text-decoration:none;font-size:.85rem;line-height:1.38;
  transition:color .2s,background .2s;
}
.toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--font-display);font-size:.72rem;color:var(--faint);padding-top:.12rem;flex:none}
.toc a:hover{color:var(--text);background:var(--glass)}
.toc a[aria-current]{color:var(--text);background:var(--accent-soft)}
.toc a[aria-current]::before{color:var(--accent)}
@media(min-width:1040px){
  .toc summary{cursor:default;pointer-events:none}
  .toc summary::after{display:none}
}
@media(max-width:1039px){
  .art-aside{padding:1.1rem 1.2rem .6rem;border:1px solid var(--stroke);border-radius:var(--radius);background:var(--glass)}
  .art-facts{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.6rem 1.2rem}
  .art-facts div{flex-direction:column;gap:.1rem}
  .art-facts dd{text-align:left}
}

/* ---------- Article: reading typography ---------- */
.art .qa{margin-bottom:2.4rem}
.prose{color:var(--muted);font-size:1.04rem;line-height:1.75;counter-reset:sec}
.prose > * + *{margin-top:1.05rem}
.prose h2{
  counter-increment:sec;color:var(--text);
  font-size:clamp(1.42rem,1.1rem + 1.3vw,1.9rem);line-height:1.2;letter-spacing:-.015em;
  margin-top:3.1rem;max-width:30ch;scroll-margin-top:calc(var(--nav-h) + 1.2rem);
}
.prose h2:first-child{margin-top:0}
.prose h2::before{
  content:counter(sec,decimal-leading-zero);display:block;margin-bottom:.55rem;
  font-size:.72rem;font-weight:700;letter-spacing:.16em;color:var(--accent);
}
.prose h3{color:var(--text);font-size:1.14rem;line-height:1.3;margin-top:1.9rem}
.prose .art-lede{color:var(--text);font-size:1.1rem;line-height:1.6}
.prose ul,.prose ol{padding-left:1.25rem}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.art .takeaways ul{list-style:disc}
.prose li + li{margin-top:.5rem}
.prose li::marker{color:var(--accent)}
.prose b,.prose strong{color:var(--text);font-weight:600}
.prose em{color:var(--text)}
.prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose a:hover{color:var(--text)}
.prose code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;color:var(--text);
  background:var(--glass-strong);border:1px solid var(--stroke);border-radius:6px;padding:.06em .36em;
  overflow-wrap:anywhere;
}
.prose pre{
  overflow-x:auto;padding:1rem 1.1rem;border-radius:var(--radius-sm);
  background:var(--bg-3);border:1px solid var(--stroke);font-size:.86rem;line-height:1.6;
}
.prose pre code{background:none;border:0;padding:0;font-size:inherit;overflow-wrap:normal}

/* tables */
.art-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--stroke);border-radius:var(--radius-sm);background:var(--bg-2)}
.art-table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.5;min-width:540px}
.art-table caption{caption-side:bottom;text-align:left;padding:.65rem 1rem;color:var(--faint);font-size:.8rem;border-top:1px solid var(--stroke)}
.art-table th,.art-table td{padding:.7rem .9rem;border-bottom:1px solid var(--stroke);text-align:left;vertical-align:top}
.art-table thead th{font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--bg-3);white-space:nowrap}
.art-table tbody th{color:var(--text);font-weight:600}
.art-table td{color:var(--muted)}
.art-table tbody tr:last-child > *{border-bottom:0}

/* notes */
.callout{
  padding:1.05rem 1.2rem;border-radius:var(--radius-sm);border:1px solid var(--stroke-accent);
  background:linear-gradient(180deg,var(--accent-soft),transparent 85%),var(--glass);
}
.callout .callout-k{display:block;margin-bottom:.35rem;font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.callout p{margin:0;color:var(--text);font-size:.98rem;line-height:1.65}
.callout.warn{border-color:rgba(214,118,0,.45);background:linear-gradient(180deg,rgba(214,118,0,.1),transparent 85%),var(--glass)}
.callout.warn .callout-k{color:#B35F00}
html[data-theme="dark"] .callout.warn .callout-k{color:#FFB35C}
.prose blockquote{margin:1.6rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:3px solid var(--accent)}
.prose blockquote p{color:var(--text);font-size:1.08rem;margin:0}
.prose blockquote small{display:block;margin-top:.5rem;color:var(--muted);font-size:.84rem}

/* takeaways, sources, editorial note */
.art .takeaways{margin-top:3rem}
.art-sources{margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid var(--stroke)}
.art-sources h2{font-size:1.05rem;letter-spacing:0;margin:0 0 .9rem}
.art-sources ol{margin:0;padding-left:1.3rem;display:grid;gap:.5rem;font-size:.88rem;color:var(--muted);line-height:1.5}
.art-sources li::marker{color:var(--faint)}
.art-sources a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--stroke-accent);overflow-wrap:anywhere}
.art-sources a:hover{color:var(--accent)}
.art-sources .src-meta{color:var(--faint)}
.art-note{margin:1.6rem 0 0;color:var(--faint);font-size:.84rem;line-height:1.6;max-width:70ch}

@media print{
  .art-aside .toc{display:none}
  .art-grid{display:block}
  .prose a{text-decoration:none}
}
@media (prefers-reduced-motion: reduce){
  .ins-feature,.ins-feature .ins-go i{transition:none}
}
