@charset "utf-8";
/* SEO完全マニュアル 社内実務版 — 依存なし / システムフォントのみ */

:root{
  --paper:#f5f7f4;
  --panel:#ffffff;
  --ink:#1a2230;
  --ink-2:#525d6c;
  --ink-3:#7d8794;
  --rule:#dde2dc;
  --rule-2:#eaeee8;
  --navy:#16325c;
  --navy-2:#0e2547;
  --navy-tint:#eef2f8;

  --official:#1a5fb4;   --official-bg:#eaf1fb;
  --practice:#0d6e57;   --practice-bg:#e8f4f0;
  --internal:#8a5300;   --internal-bg:#fbf1e2;
  --risk:#b3261e;       --risk-bg:#fceceb;
  --goal:#16325c;       --goal-bg:#eef2f8;
  --drill:#5b3fa8;      --drill-bg:#f0ecfa;

  --gothic:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","Yu Gothic",
           "Noto Sans JP","Meiryo",system-ui,sans-serif;
  --mincho:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;

  --side-w:294px;
  --top-h:58px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--gothic); font-size:16px; line-height:1.9;
  font-feature-settings:"palt" 1;
  text-underline-offset:.18em;
}
img{max-width:100%;height:auto}
a{color:var(--navy)}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:2.5px solid #c8a000; outline-offset:2px; border-radius:2px;
}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;z-index:99;background:var(--navy);color:#fff;padding:.6em 1em}
.skip:focus{left:0}

/* ------------------------------------------------------------ ヘッダー */
.top{
  position:sticky; top:0; z-index:40; height:var(--top-h);
  display:flex; align-items:center; gap:14px; padding:0 16px;
  background:var(--navy); color:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.18);
}
.menu{
  display:none; background:transparent; border:1px solid rgba(255,255,255,.34);
  color:#fff; border-radius:6px; font-size:17px; line-height:1;
  padding:8px 10px; cursor:pointer;
}
.brand{display:flex;flex-direction:column;text-decoration:none;color:#fff;line-height:1.25;flex:0 0 auto}
.brand-t{font-weight:700;font-size:15.5px;letter-spacing:.04em}
.brand-s{font-family:var(--mono);font-size:10.5px;color:#a9c0e0;letter-spacing:.08em}

.search{position:relative;flex:1 1 auto;max-width:460px;margin-left:auto}
.search input{
  width:100%; height:34px; padding:0 12px; border-radius:6px;
  border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.12);
  color:#fff; font-family:var(--gothic); font-size:13.5px;
}
.search input::placeholder{color:#a9c0e0}
.search input:focus{background:#fff;color:var(--ink);border-color:#fff}
.search input:focus::placeholder{color:var(--ink-3)}

.results{
  position:absolute; top:40px; left:0; right:0; max-height:64vh; overflow:auto;
  background:var(--panel); border:1px solid var(--rule); border-radius:8px;
  box-shadow:0 14px 34px rgba(16,28,48,.22); padding:6px;
}
.results a{display:block;padding:9px 11px;border-radius:6px;text-decoration:none;color:var(--ink);line-height:1.5}
.results a:hover,.results a.on{background:var(--navy-tint)}
.results .r-t{display:block;font-weight:700;font-size:14px}
.results .r-p{display:inline-block;font-family:var(--mono);font-size:10.5px;color:var(--ink-3);letter-spacing:.06em}
.results .r-b{display:block;font-size:12.5px;color:var(--ink-2);margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.results mark{background:#ffe89a;color:inherit;padding:0 1px;border-radius:2px}
.results .empty{padding:12px;color:var(--ink-2);font-size:13.5px}

.noindex-flag{
  font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase;
  color:#ffd9d5; border:1px solid rgba(255,150,140,.5); background:rgba(200,40,30,.28);
  padding:3px 7px; border-radius:4px; flex:0 0 auto;
}

/* ------------------------------------------------------------ レイアウト */
.wrap{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);align-items:start}
.side{
  position:sticky; top:var(--top-h); height:calc(100vh - var(--top-h));
  overflow-y:auto; padding:20px 14px 40px;
  border-right:1px solid var(--rule); background:#f0f3ef;
}
.side-h{
  margin:0 0 10px; font-family:var(--mono); font-size:10.5px; letter-spacing:.16em;
  color:var(--ink-3); text-transform:uppercase;
}
.nav-list,.nav-sub{list-style:none;margin:0;padding:0}
.nav-a{
  display:flex; align-items:center; gap:9px; padding:7px 9px; border-radius:6px;
  text-decoration:none; color:var(--ink); font-size:13.5px; line-height:1.45;
}
.nav-a:hover{background:#e4e9e2}
.nav-item.on>.nav-a{background:var(--navy);color:#fff;font-weight:700}
.badge{
  flex:0 0 auto; width:22px; height:22px; display:grid; place-items:center;
  border-radius:5px; background:#fff; border:1px solid var(--rule);
  font-family:var(--mono); font-size:11px; font-weight:700; color:var(--navy);
}
.nav-item.on>.nav-a .badge{background:#fff;border-color:#fff}
.nav-sub{margin:2px 0 8px 20px;border-left:1px solid var(--rule);padding-left:2px}
.nav-sub a{
  display:flex; gap:8px; padding:4px 8px; font-size:12.5px; line-height:1.5;
  color:var(--ink-2); text-decoration:none; border-radius:5px;
}
.nav-sub a:hover{background:#e4e9e2;color:var(--ink)}
.nav-sub a.here{background:#dfe6f2;color:var(--navy);font-weight:700}
.n-id{font-family:var(--mono);font-size:11px;color:var(--ink-3);flex:0 0 30px}

.legend{margin-top:24px;padding-top:18px;border-top:1px solid var(--rule)}
.legend-h{margin:0 0 8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase}
.legend ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.legend li{font-size:11.5px;line-height:1.6;color:var(--ink-2);display:grid;gap:2px;justify-items:start}
.legend .chip{margin:0}

.main{
  max-width:900px; width:100%; padding:30px 34px 64px; margin:0 auto;
}

/* ------------------------------------------------------------ パンくず */
.crumb{font-size:12.5px;color:var(--ink-2);display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.crumb a{color:var(--ink-2)}
.crumb span[aria-hidden]{color:var(--ink-3)}

/* ------------------------------------------------------------ 見出し */
.page-h1{
  display:flex; align-items:flex-start; gap:14px; margin:0 0 10px;
  font-size:clamp(24px,3.4vw,33px); line-height:1.35; letter-spacing:.01em;
  padding-bottom:16px; border-bottom:3px solid var(--navy);
}
.h1-badge{
  flex:0 0 auto; width:44px; height:44px; display:grid; place-items:center;
  background:var(--navy); color:#fff; border-radius:8px;
  font-family:var(--mono); font-size:19px; font-weight:700;
}
.lead{
  font-family:var(--mincho); font-size:16.5px; line-height:2; color:var(--ink-2);
  margin:16px 0 26px; padding-left:14px; border-left:3px solid var(--rule);
}

.sec{margin:0 0 8px;padding:26px 0 4px;border-top:1px solid var(--rule-2)}
.sec:first-of-type{border-top:0}
.sec>h2{
  display:flex; align-items:baseline; gap:12px; margin:0 0 14px;
  font-size:21px; line-height:1.45; letter-spacing:.01em;
}
.anchor{text-decoration:none;flex:0 0 auto}
.sec-id{
  display:inline-block; font-family:var(--mono); font-size:12.5px; font-weight:700;
  color:var(--navy); background:var(--navy-tint); border:1px solid #d5e0ef;
  padding:2px 7px; border-radius:5px; letter-spacing:.04em;
}
.anchor:hover .sec-id{background:var(--navy);color:#fff;border-color:var(--navy)}
.sec h3{font-size:16px;margin:26px 0 10px}

.main p{margin:0 0 1.05em}
.main>section>ul,.main>section>ol,.main>ul,.main>ol{margin:0 0 1.2em;padding-left:1.35em}
.main li{margin:0 0 .4em}
ol.steps{counter-reset:st;list-style:none;padding-left:0}
ol.steps>li{
  counter-increment:st; position:relative; padding-left:38px; margin-bottom:.62em;
}
ol.steps>li::before{
  content:counter(st); position:absolute; left:0; top:.28em;
  width:24px; height:24px; display:grid; place-items:center;
  background:var(--panel); border:1px solid var(--rule); border-radius:50%;
  font-family:var(--mono); font-size:11.5px; font-weight:700; color:var(--navy); line-height:1;
}
.note{font-size:13.5px;color:var(--ink-2)}
code{font-family:var(--mono);font-size:.86em;background:#eceee9;padding:.1em .38em;border-radius:4px}

/* 用語集オートリンク */
a.gloss{
  color:inherit; text-decoration:none;
  border-bottom:1px dotted var(--practice); padding-bottom:1px;
}
a.gloss:hover{color:var(--practice);border-bottom-style:solid}

/* ------------------------------------------------------------ 表 */
.tw{overflow-x:auto;margin:0 0 1.5em;border:1px solid var(--rule);border-radius:9px;background:var(--panel)}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px;line-height:1.7}
th,td{padding:10px 13px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule-2)}
thead th{
  background:#eef1ec; font-size:12.5px; font-weight:700; color:var(--ink);
  border-bottom:1px solid var(--rule); white-space:nowrap;
}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fafbf9}
td:first-child{font-weight:700;color:var(--navy-2)}
td.blank{background:repeating-linear-gradient(135deg,#fbfcfa,#fbfcfa 6px,#f3f5f1 6px,#f3f5f1 12px)}
.cell-links{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.cell-links a{
  font-family:var(--mono); font-size:11px; font-weight:700; text-decoration:none;
  background:var(--navy-tint); border:1px solid #d5e0ef; color:var(--navy);
  padding:1px 6px; border-radius:4px;
}
.cell-links a:hover{background:var(--navy);color:#fff}

/* ------------------------------------------------------------ コールアウト */
.co{
  position:relative; margin:0 0 1.5em; padding:16px 18px 6px 18px;
  border:1px solid var(--rule); border-left:4px solid var(--ink-3);
  border-radius:0 9px 9px 0; background:var(--panel);
}
.co p{margin:0 0 .8em;font-size:14.5px;line-height:1.85}
.co-h{font-weight:700;color:var(--ink);font-size:15px !important}
.chip{
  display:inline-block; font-family:var(--mono); font-size:10.5px; font-weight:700;
  letter-spacing:.08em; padding:2px 8px; border-radius:4px; margin-bottom:8px;
  border:1px solid currentColor; line-height:1.5;
}
.chip-official{color:var(--official);background:var(--official-bg)}
.chip-practice{color:var(--practice);background:var(--practice-bg)}
.chip-internal{color:var(--internal);background:var(--internal-bg)}
.chip-risk{color:var(--risk);background:var(--risk-bg)}
.chip-goal{color:var(--goal);background:var(--goal-bg)}
.chip-drill{color:var(--drill);background:var(--drill-bg)}
.co-official{border-left-color:var(--official);background:var(--official-bg)}
.co-practice{border-left-color:var(--practice);background:var(--practice-bg)}
.co-internal{border-left-color:var(--internal);background:var(--internal-bg)}
.co-risk{border-left-color:var(--risk);background:var(--risk-bg)}
.co-drill{border-left-color:var(--drill);background:var(--drill-bg)}
.co-goal{
  border:0; border-left:4px solid var(--goal); background:var(--goal-bg);
  padding:20px 22px 10px; border-radius:0 10px 10px 0;
}
.co-goal p{font-family:var(--mincho);font-size:16px;line-height:2}

/* ------------------------------------------------------------ 節目次 */
.sec-toc{
  margin:0 0 26px; padding:16px 18px; background:var(--panel);
  border:1px solid var(--rule); border-radius:10px;
}
.sec-toc-h{
  margin:0 0 10px; font-family:var(--mono); font-size:10.5px; letter-spacing:.16em;
  color:var(--ink-3); text-transform:uppercase;
}
.sec-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:1px;
  grid-template-columns:repeat(auto-fill,minmax(255px,1fr))}
.sec-toc li{margin:0}
.sec-toc a{display:flex;gap:9px;padding:6px 8px;border-radius:6px;text-decoration:none;
  color:var(--ink);font-size:13.5px;line-height:1.55}
.sec-toc a:hover{background:var(--navy-tint)}
.toc-id{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);flex:0 0 auto;padding-top:1px}

/* ------------------------------------------------------------ 関連リンク */
.related{margin:20px 0 8px;padding:14px 16px;border:1px dashed var(--rule);border-radius:9px;background:#fbfcfa}
.related-h{margin:0 0 9px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase}
.related ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.related li{margin:0}
.related a{
  display:inline-flex; align-items:center; gap:8px; text-decoration:none;
  background:var(--panel); border:1px solid var(--rule); border-radius:999px;
  padding:5px 13px 5px 6px; font-size:13px; color:var(--ink);
}
.related a:hover{border-color:var(--navy);background:var(--navy-tint)}
.rel-id{
  font-family:var(--mono); font-size:10.5px; font-weight:700; color:#fff;
  background:var(--navy); border-radius:999px; padding:2px 7px; letter-spacing:.03em;
}

/* ------------------------------------------------------------ 外部リンク */
.docs{
  margin:22px 0; padding:15px 18px; border:1px solid var(--rule);
  border-radius:10px; background:#fbfcfa;
}
.docs-h{margin:0 0 11px;font-size:12.5px;font-weight:700;color:var(--ink);letter-spacing:.02em}
.docs-sub{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin:0 0 7px !important; font-size:11.5px !important; color:var(--ink-2);
}
.docs-sub .chip{margin:0}
.docs-sub+.ext-list{margin-bottom:14px}
.ext-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ext-item{
  margin:0; display:grid; grid-template-columns:auto 1fr auto; align-items:baseline;
  gap:9px; font-size:13.5px; line-height:1.65;
}
.ext-item.nosrc{grid-template-columns:1fr auto}
.src{
  font-family:var(--mono); font-size:9.5px; font-weight:700; letter-spacing:.04em;
  padding:2px 6px; border-radius:4px; white-space:nowrap; border:1px solid currentColor;
  align-self:center;
}
.src-official{color:var(--official);background:#fff}
.src-practice{color:var(--practice);background:#fff}
a.ext{
  display:inline; justify-self:start; color:var(--navy-2); text-decoration:none;
  border-bottom:1px solid rgba(22,50,92,.3);
}
a.ext:hover{border-bottom-color:var(--navy);color:var(--navy)}
.ext-mark{font-size:10px;opacity:.7;margin-left:4px}
.ext-year{
  font-family:var(--mono); font-size:10.5px; color:var(--ink-3); white-space:nowrap;
}
.docs-note{margin:12px 0 0 !important;font-size:11.5px;color:var(--ink-2)}

.srcgrp{
  margin:0 0 16px; padding:14px 16px; border:1px solid var(--rule);
  border-radius:10px; background:var(--panel);
}
.srcgrp-h{
  display:flex; align-items:center; gap:9px; flex-wrap:wrap;
  margin:0 0 11px !important; padding-bottom:9px; border-bottom:1px solid var(--rule-2);
  font-size:14px !important;
}
.srcgrp-h .chip{margin:0}
.srcgrp-h code{font-family:var(--mono);font-size:11px;color:var(--ink-3);background:transparent;padding:0}

/* ------------------------------------------------------------ index */
.hero{
  margin:0 0 34px; padding:34px 34px 28px; border-radius:12px;
  background:var(--navy); color:#fff;
  background-image:linear-gradient(150deg,#16325c 0%,#0e2547 62%,#132c50 100%);
}
.hero-eyebrow{
  margin:0 0 14px; font-family:var(--mono); font-size:10.5px; letter-spacing:.22em;
  color:#8fb0da; text-transform:uppercase;
}
.hero-h1{margin:0;font-size:clamp(30px,5.2vw,46px);line-height:1.2;letter-spacing:.02em}
.hero-sub{margin:10px 0 0;font-family:var(--mincho);font-size:16px;color:#c8d8ee}
.hero-goal{
  margin:20px 0 24px; padding:14px 16px; font-size:14.5px; line-height:1.85;
  background:rgba(255,255,255,.08); border-left:3px solid #f0c14b; border-radius:0 8px 8px 0;
}
.hero-goal strong{color:#ffdf8a}
.hero-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin:0}
.hero-meta div{border-top:1px solid rgba(255,255,255,.22);padding-top:9px}
.hero-meta dt{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#8fb0da;text-transform:uppercase}
.hero-meta dd{margin:3px 0 0;font-size:14px;font-weight:700}

.cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
.card{border:1px solid var(--rule);border-radius:10px;background:var(--panel);padding:16px 17px}
.card-h{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.card-h:hover .card-t{text-decoration:underline}
.card-t{font-weight:700;font-size:15.5px}
.card-lead{margin:10px 0 8px;font-size:12.5px;line-height:1.75;color:var(--ink-2)}
.card-secs{list-style:none;margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--rule-2);display:grid;gap:0}
.card-secs a{display:flex;gap:8px;padding:3px 5px;border-radius:5px;font-size:12.5px;color:var(--ink-2);text-decoration:none;line-height:1.55}
.card-secs a:hover{background:var(--navy-tint);color:var(--navy)}

.routes{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.route{border:1px solid var(--rule);border-radius:10px;background:var(--panel);padding:15px 17px}
.route-h{margin:0 0 10px;font-size:13.5px;font-weight:700;color:var(--navy);
  padding-bottom:8px;border-bottom:2px solid var(--navy-tint)}
.route ol{margin:0;padding-left:1.3em;font-size:13px;line-height:1.7}
.route li{margin:0 0 .35em}

/* ------------------------------------------------------------ まんが */
.manga{margin:0 auto 30px;padding:0;max-width:680px;border:1px solid var(--rule);
  border-radius:12px;overflow:hidden;background:var(--panel)}
.manga img{display:block;width:100%;height:auto;cursor:zoom-in}
.manga figcaption .zoom{margin-left:auto;font-size:11.5px;color:var(--ink-3);white-space:nowrap}

/* 拡大表示 */
.lightbox{
  position:fixed; inset:0; z-index:80; display:none; background:rgba(10,17,29,.9);
  padding:16px; overflow:auto; cursor:zoom-out;
}
.lightbox.on{display:block}
.lightbox img{display:block;margin:0 auto;max-width:1055px;width:100%;height:auto;border-radius:6px}
.lightbox .close{
  position:fixed; top:14px; right:16px; background:#fff; color:var(--ink); border:0;
  border-radius:6px; padding:8px 14px; font-family:var(--gothic); font-size:13px;
  font-weight:700; cursor:pointer;
}
.manga figcaption{
  display:flex; align-items:center; gap:10px; padding:11px 16px;
  border-top:1px solid var(--rule); font-size:13px; color:var(--ink-2); background:#fbfcfa;
}
.ep{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;
  background:var(--navy);color:#fff;padding:2px 7px;border-radius:4px}

/* ------------------------------------------------------------ 用語集 */
.glossary{margin:0;display:grid;gap:0}
.term{padding:13px 2px;border-bottom:1px solid var(--rule-2);scroll-margin-top:calc(var(--top-h) + 16px)}
.term:target{background:#fff8dd;border-radius:8px;padding-left:12px;padding-right:12px}
.glossary dt{display:flex;align-items:baseline;gap:10px;font-weight:700;font-size:15px;color:var(--navy-2)}
.glossary dd{margin:5px 0 0 0;font-size:14px;color:var(--ink-2);line-height:1.8}
.glossary .sec-id{font-size:11px;padding:1px 6px}

/* ------------------------------------------------------------ チェックリスト */
ul.checklist{list-style:none;padding:0;margin:0 0 1.2em;
  display:grid;gap:1px;border:1px solid var(--rule);border-radius:9px;overflow:hidden;background:var(--rule-2)}
ul.checklist li{
  margin:0; background:var(--panel); padding:10px 14px 10px 40px; position:relative; font-size:14px;
}
ul.checklist li::before{
  content:""; position:absolute; left:14px; top:14px; width:14px; height:14px;
  border:1.5px solid var(--ink-3); border-radius:3px;
}

/* ------------------------------------------------------------ ページ送り */
.pn-wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:44px 0 0;padding-top:24px;border-top:1px solid var(--rule)}
.pn{
  display:flex; flex-direction:column; gap:3px; padding:13px 16px; text-decoration:none;
  border:1px solid var(--rule); border-radius:9px; background:var(--panel); color:var(--ink);
}
.pn:hover{border-color:var(--navy);background:var(--navy-tint)}
.pn span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--ink-3);text-transform:uppercase}
.pn strong{font-size:14.5px;line-height:1.5}
.pn.next{text-align:right}
.pn.empty{border:0;background:transparent}

.foot{margin-top:34px;padding-top:18px;border-top:1px solid var(--rule);font-size:12px;color:var(--ink-3)}
.foot p{margin:0 0 .4em}
.foot a{color:var(--ink-2)}

.sec,.term{scroll-margin-top:calc(var(--top-h) + 16px)}

/* ------------------------------------------------------------ レスポンシブ */
@media (max-width:1080px){
  :root{--side-w:250px}
  .main{padding:26px 24px 56px}
}
@media (max-width:860px){
  .menu{display:block}
  .wrap{grid-template-columns:minmax(0,1fr)}
  .side{
    position:fixed; top:var(--top-h); left:0; width:min(320px,86vw); z-index:35;
    transform:translateX(-102%); transition:transform .22s ease; box-shadow:0 0 40px rgba(0,0,0,.2);
  }
  body.nav-open .side{transform:none}
  body.nav-open::after{
    content:""; position:fixed; inset:var(--top-h) 0 0 0; background:rgba(12,20,34,.42); z-index:30;
  }
  .main{padding:22px 16px 52px}
  .brand-s{display:none}
  .noindex-flag{display:none}
  .pn-wrap{grid-template-columns:1fr}
  .hero{padding:26px 20px 22px}
  .sec-toc ol{grid-template-columns:1fr}
}
@media (max-width:520px){
  body{font-size:15.5px}
  .ext-item{grid-template-columns:auto;gap:2px}
  .ext-item.nosrc{grid-template-columns:auto}
  .src{justify-self:start}
  .ext-year{font-size:10px}
  .search{max-width:none}
  .brand-t{font-size:13.5px}
  .page-h1{gap:10px}
  .h1-badge{width:36px;height:36px;font-size:16px}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;scroll-behavior:auto !important}
}

@media print{
  .top,.side,.pn-wrap,.related,.sec-toc,.results{display:none}
  .wrap{display:block}
  .main{max-width:none;padding:0}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:10px;color:#555}
}
