:root{--a:#b01e34;--ad:#8c1528;--ink:#1d1d1f;--t:#3a3a3c;--m:#6e6e73;--l:#ececef;--s:#f6f6f7}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--t);line-height:1.6;background:#fff}
a{color:var(--a);text-underline-offset:.18em}a:hover{color:var(--ad)}.wrap{max-width:46rem;margin:0 auto;padding:0 1.25rem}
.top{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.9);border-bottom:1px solid var(--l)}
nav{display:flex;align-items:center;gap:.5rem;height:3.4rem;font-size:.9rem;color:var(--m);overflow:hidden}nav a{color:var(--ink);text-decoration:none;font-weight:600}nav>a{flex:none;white-space:nowrap}
.logo{display:block;width:1.5rem;height:1.5rem}.logo img{width:100%;height:100%}.crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
h1{font-size:clamp(2rem,6vw,2.8rem);margin:2rem 0 .2rem;color:var(--a);letter-spacing:-.02em;line-height:1.1}
.pos{color:var(--m);margin:0 0 1.2rem}.card{border:1px solid var(--l);border-radius:1rem;padding:1.1rem 1.3rem;margin:1rem 0;box-shadow:0 6px 24px rgba(0,0,0,.04)}
ol.sn{margin:0;padding-left:1.4rem}ol.sn>li{margin:.6rem 0}ol.sn>li::marker{color:var(--a);font-weight:700}
.lab{font-style:italic;color:var(--m)}.ex{margin:.3rem 0 0;padding:0 0 0 .8rem;border-left:3px solid #f0d4d8;list-style:none;color:var(--t);font-size:.95rem}.ex li{margin:.2rem 0}.ex i{color:var(--m);font-style:normal}
.src{font-size:.86rem;color:var(--m)}.rel{display:flex;flex-wrap:wrap;gap:.4rem;padding:0;list-style:none}.rel a{display:inline-block;padding:.25rem .7rem;border-radius:999px;background:var(--s);text-decoration:none;color:var(--ink)}
.cta{display:flex;gap:1rem;align-items:center;background:linear-gradient(135deg,#fff8f8,#fff);border:1px solid #f0d4d8;border-radius:1rem;padding:1rem;margin:1.5rem 0}.cta img{width:3.5rem;height:3.5rem;border-radius:.8rem;flex:none}
.btn{display:inline-block;padding:.55rem 1rem;border-radius:.7rem;background:var(--a);color:#fff!important;text-decoration:none;font-weight:600}
.letters{display:flex;flex-wrap:wrap;gap:.35rem;padding:0;list-style:none}.letters a,.letters b{display:grid;place-items:center;min-width:2.3rem;height:2.3rem;border-radius:.6rem;background:var(--s);text-decoration:none;font-weight:700;color:var(--ink)}.letters b{background:var(--a);color:#fff}
.idx{columns:3 10rem;padding:0;list-style:none}.idx li{margin:.15rem 0;break-inside:avoid}
footer{margin-top:4rem;padding:2rem 1rem 2.5rem;font-size:.86rem;color:var(--m);text-align:center;border-top:1px solid var(--l)}footer a{color:var(--ink);text-decoration:none}
