:root{--color-background: #f7f8fa;--color-surface: #ffffff;--color-surface-muted: #f1f5f9;--color-text: #172033;--color-text-muted: #5f6b7a;--color-border: #dfe4ea;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-soft: #eff6ff;--color-focus: #93c5fd;--radius-small: .5rem;--radius-medium: .875rem;--content-width: 70rem;--reading-width: 52rem}*{box-sizing:border-box}html{background:var(--color-background);scroll-behavior:smooth}body{margin:0;min-width:20rem;min-height:100vh;background:var(--color-background);color:var(--color-text);font-family:Inter,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.75;text-rendering:optimizeLegibility}main{width:min(calc(100% - 2rem),var(--content-width));margin-inline:auto;padding-block:clamp(3rem,7vw,5rem) 6rem}h1,h2,h3{margin-top:0;color:var(--color-text);line-height:1.25;letter-spacing:-.02em}h1{margin-bottom:1rem;font-size:clamp(2.25rem,7vw,4rem);font-weight:800}h2{margin-bottom:1rem;font-size:clamp(1.5rem,4vw,2rem);font-weight:750}h3{margin-bottom:.75rem;font-size:1.25rem;font-weight:700}p,ul{margin-top:0}p{margin-bottom:1rem}ul{padding-left:1.25rem}li+li{margin-top:.4rem}a{color:var(--color-accent);font-weight:650;text-decoration-thickness:.09em;text-underline-offset:.18em}a:hover{color:var(--color-accent-hover)}a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:.2rem}section{margin-top:clamp(2.5rem,6vw,4rem)}.home-page main>p:first-of-type,.project-page main>h1+p{max-width:44rem;color:var(--color-text-muted);font-size:clamp(1.05rem,2.5vw,1.2rem)}.home-page section>h2{padding-bottom:.8rem;border-bottom:1px solid var(--color-border)}.home-page article{position:relative;overflow:hidden;max-width:44rem;padding:clamp(1.5rem,4vw,2rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium)}.home-page article:before{position:absolute;inset:0 auto 0 0;width:.3rem;background:var(--color-accent);content:""}.home-page article p:not(:last-child){color:var(--color-text-muted)}.home-page article p:last-child{margin-top:1.5rem;margin-bottom:0}.home-page article p:last-child a,.project-page #download p:last-child a{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem 1rem;background:var(--color-accent);color:#fff;border:1px solid var(--color-accent);border-radius:var(--radius-small);text-decoration:none}.home-page article p:last-child a:hover,.project-page #download p:last-child a:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff}.project-page main{width:min(calc(100% - 2rem),var(--reading-width))}.project-page main>p:first-of-type{margin-bottom:2rem}.project-page main>p:first-of-type a{display:inline-flex;align-items:center;min-height:2.5rem;padding:.35rem .7rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text-muted);text-decoration:none}.project-page main>p:first-of-type a:hover{border-color:var(--color-accent);color:var(--color-accent-hover)}.project-page nav{margin-top:2rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium)}.project-page nav ul{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;list-style:none}.project-page nav li{margin:0}.project-page nav a{display:inline-block;padding-block:.25rem;text-decoration:none}.project-page section{padding:clamp(1.5rem,4vw,2rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);scroll-margin-top:1.5rem}.project-page section h2{padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.project-page section>:last-child{margin-bottom:0}.project-page #download{background:var(--color-accent-soft);border-color:#bfdbfe}.project-page #download h2{border-bottom-color:#bfdbfe}@media(max-width:40rem){main{width:min(calc(100% - 1.25rem),var(--content-width));padding-top:2.5rem;padding-bottom:4rem}.project-page main{width:min(calc(100% - 1.25rem),var(--reading-width))}.project-page nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.project-page nav a{display:block;padding:.45rem .6rem;background:var(--color-surface-muted);border-radius:var(--radius-small)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
