:root{--bg:#f6f4ef;--paper:#fffdf8;--ink:#20231f;--muted:#6d746b;--line:#d8d5cc;--accent:#284b3d;--accent-soft:#e9efe9;--gold:#a58745;--shadow:0 12px 34px rgba(33,43,36,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI","Yu Gothic","Noto Sans JP",sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}
.site-header{border-bottom:1px solid var(--line);background:rgba(246,244,239,.95)}.header-inner,.wrap{width:min(920px,calc(100% - 36px));margin:0 auto}.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{text-decoration:none;color:var(--ink);font-weight:700;letter-spacing:.04em}.header-link{font-size:.92rem;color:var(--muted);text-decoration:none}
.hero{padding:58px 0 28px}.eyebrow{color:var(--gold);font-size:.82rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px}
h1{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;font-size:clamp(2rem,5vw,3.15rem);line-height:1.28;letter-spacing:.02em;margin:.1em 0 .35em}.lead{max-width:720px;color:#444b45;font-size:1.05rem;margin:0}.updated{color:var(--muted);font-size:.88rem;margin-top:18px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px 30px;box-shadow:var(--shadow);margin:18px 0}h2{font-size:1.28rem;margin:0 0 13px;letter-spacing:.02em}h3{font-size:1.02rem;margin:22px 0 6px}p{margin:0 0 12px}ul,ol{margin:8px 0 0;padding-left:1.35em}li+li{margin-top:5px}
.note{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:8px;padding:14px 16px;margin-top:14px}.app-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:22px 0 46px}.app-tile{display:block;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}.app-tile strong{display:block;font-size:1.18rem;margin-bottom:6px}.app-tile span{color:var(--muted);font-size:.93rem}
.footer{border-top:1px solid var(--line);margin-top:48px;padding:28px 0 38px;color:var(--muted);font-size:.88rem}.inline-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px}.badge{display:inline-block;color:var(--accent);background:var(--accent-soft);border:1px solid #cad7cd;border-radius:999px;padding:2px 10px;font-size:.82rem;font-weight:600}
@media (max-width:640px){.hero{padding-top:38px}.card{padding:22px 20px}.header-inner{min-height:64px}}
