:root { color-scheme: light; --ink:#28231f; --muted:#756d66; --line:#e8e0d8; --paper:#fffdf9; --accent:#d76b52; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--ink); background:#f6f1eb; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,Arial,sans-serif; line-height:1.78; }
a { color:#a84634; text-underline-offset:3px; }
.shell { width:min(880px,calc(100% - 32px)); margin:28px auto; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.brand { color:var(--ink); font-weight:800; text-decoration:none; letter-spacing:.01em; }
.language { display:flex; gap:8px; }
.language a { padding:6px 12px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); text-decoration:none; font-size:14px; }
.language a[aria-current="page"] { background:var(--ink); color:#fff; border-color:var(--ink); }
main { background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:clamp(24px,5vw,58px); box-shadow:0 12px 34px rgba(73,54,40,.07); }
h1 { margin:0; font-size:clamp(30px,5vw,46px); line-height:1.22; letter-spacing:-.02em; }
.effective { color:var(--muted); margin:9px 0 36px; font-size:14px; }
h2 { margin:36px 0 12px; padding-top:4px; font-size:clamp(19px,3vw,24px); line-height:1.45; border-top:1px solid var(--line); padding-top:24px; }
p { margin:0 0 14px; }
ul { margin:8px 0 18px; padding-left:1.5em; }
li { margin:5px 0; }
.page-links { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:42px; padding-top:20px; border-top:1px solid var(--line); font-size:14px; }
footer { color:var(--muted); text-align:center; font-size:13px; margin:18px 0 34px; }
.landing { min-height:calc(100vh - 80px); display:grid; place-items:center; }
.landing main { width:min(720px,100%); text-align:center; }
.landing h1 { margin-bottom:8px; }
.landing .subtitle { color:var(--muted); margin-bottom:30px; }
.cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; text-align:left; }
.card { display:block; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--ink); text-decoration:none; }
.card:hover { border-color:#d9b4a8; transform:translateY(-1px); }
.card strong { display:block; margin-bottom:3px; }
.card span { color:var(--muted); font-size:14px; }
@media (max-width:600px) { .shell{width:min(100% - 20px,880px);margin:10px auto}.topbar{padding:4px 4px 0}main{border-radius:14px}.cards{grid-template-columns:1fr}h2{margin-top:28px}.language a{padding:5px 10px} }
@media print { body{background:#fff}.shell{width:100%;margin:0}main{border:0;box-shadow:none;padding:0}.topbar,.page-links,footer{display:none}h2{break-after:avoid} }
