
:root { color-scheme: light; --ink:#172033; --muted:#667085; --line:#e4e7ec; --blue:#175cd3; --wash:#f5f8ff; --green:#027a48; }
* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:#f8fafc; color:var(--ink); font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; overflow-x:hidden; }
a { color:var(--blue); text-decoration-thickness:1.5px; text-underline-offset:3px; }
a:hover { color:#0b4ab4; }
header { background:linear-gradient(120deg,#101828,#1d3f82); color:white; padding:3rem 1.25rem 2.5rem; }
.shell { width:min(960px, calc(100% - 2.5rem)); margin:auto; }
.kicker { margin:0 0 .5rem; color:#b2ccff; font-size:.75rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
h1 { margin:0; max-width:760px; font-size:clamp(1.65rem,6vw,3.5rem); line-height:1.15; letter-spacing:-.04em; }
header p { margin:1rem 0 0; color:#d0d5dd; max-width:680px; font-size:clamp(.95rem,2.5vw,1rem); }
main { padding:1.75rem 0 3rem; }
.notice { border:1px solid #b2ddff; border-radius:12px; background:#eff8ff; color:#1849a9; padding:1rem 1.1rem; margin-bottom:1.75rem; font-size:.95rem; }
.card { display:block; color:inherit; text-decoration:none; background:white; border:1px solid var(--line); border-radius:14px; padding:1.15rem 1.3rem; margin:.75rem 0; box-shadow:0 1px 3px rgba(16,24,40,.04); transition:transform .15s,box-shadow .15s; -webkit-tap-highlight-color:transparent; }
.card:hover, .card:active { transform:translateY(-1px); box-shadow:0 10px 24px rgba(16,24,40,.10); }
.card small { display:block; color:var(--muted); margin-bottom:.25rem; }
.card strong { font-size:1.08rem; line-height:1.35; }
footer { border-top:1px solid var(--line); color:var(--muted); padding:2rem 0; font-size:.85rem; }
article { background:white; border:1px solid var(--line); border-radius:14px; padding:clamp(1.15rem,4vw,3rem); box-shadow:0 1px 3px rgba(16,24,40,.04); overflow-wrap:break-word; }
article h1 { font-size:clamp(1.5rem,5vw,2.8rem); line-height:1.18; letter-spacing:-.03em; }
article h2 { margin-top:2.25rem; font-size:clamp(1.1rem,3.5vw,1.35rem); border-bottom:1px solid var(--line); padding-bottom:.5rem; }
article h3 { margin-top:1.6rem; font-size:clamp(1rem,3vw,1.1rem); }
article p, article li { font-size:clamp(.95rem,2.5vw,1rem); }
article code { background:#f2f4f7; padding:.1rem .3rem; border-radius:4px; word-break:break-word; }
article li { margin:.45rem 0; }
article table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; -webkit-overflow-scrolling:touch; }
article img { max-width:100%; height:auto; }
.back { display:inline-block; margin-bottom:1.25rem; font-weight:700; padding:.4rem 0; }
.report-group { margin:.75rem 0 1.15rem; }
.report-group .card { margin:0; }
.letters-label { display:block; font-size:.76rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; margin:.65rem 0 .4rem .15rem; }
.letters-list { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 .25rem; }
.letter-chip { display:inline-flex; align-items:center; color:var(--blue); background:var(--wash); border:1px solid #d6e4ff; text-decoration:none; font-size:.85rem; font-weight:600; padding:.5rem .85rem; border-radius:999px; }
.letter-chip:hover { background:#e4edff; }
@media (max-width:480px) {
  header { padding:2.25rem 1rem 2rem; }
  .shell { width:calc(100% - 2rem); }
  main { padding:1.25rem 0 2.5rem; }
}
