:root{--color-background:#f6f7f9;--color-surface:#fff;--color-surface-muted:#eef2f6;--color-text:#172033;--color-text-muted:#5f6b7a;--color-border:#d9e0e8;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-soft:#eff6ff;--color-focus:#93c5fd;--color-success-bg:#ecfdf3;--color-success-text:#166534;--color-limited-bg:#fff7ed;--color-limited-text:#9a3412;--radius-small:.55rem;--radius-medium:.95rem;--radius-large:1.2rem;--content-width:72rem;--reading-width:54rem;--shadow-soft:0 .7rem 2rem #1720330f}*{box-sizing:border-box}html{background:var(--color-background);scroll-behavior:smooth}body{background:var(--color-background);min-width:20rem;min-height:100vh;color:var(--color-text);text-rendering:optimizelegibility;margin:0;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}main{width:min(calc(100% - 2rem), var(--content-width));margin-inline:auto;padding-block:clamp(2.5rem,6vw,4.5rem) 6rem}h1,h2,h3{color:var(--color-text);letter-spacing:-.025em;margin-top:0;line-height:1.2}h1{margin-bottom:1rem;font-size:clamp(2.4rem,7vw,4.7rem);font-weight:800}h2{margin-bottom:1rem;font-size:clamp(1.55rem,4vw,2.1rem);font-weight:760}h3{margin-bottom:.8rem;font-size:1.35rem;font-weight:720}p,ul{margin-top:0}p{margin-bottom:1rem}ul{padding-left:1.25rem}li+li{margin-top:.45rem}a{color:var(--color-accent);text-underline-offset:.18em;font-weight:650;text-decoration-thickness:.09em}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.25rem,5vw,3.5rem)}.page-hero{max-width:56rem}.home-hero{padding-block:clamp(1.5rem,3vw,2.5rem) clamp(2rem,5vw,3.5rem)}.project-hero,.compact-hero{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow-soft);padding:clamp(1.75rem,5vw,2.5rem)}.compact-hero h1{font-size:clamp(2rem,6vw,3.4rem)}.eyebrow{color:var(--color-accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;font-size:.82rem;font-weight:800}.hero-lead{max-width:46rem;color:var(--color-text-muted);margin-bottom:0;font-size:clamp(1.05rem,2.6vw,1.22rem)}.hero-meta,.hero-actions,.section-actions,.product-card-topline,.release-entry-heading,.section-heading-row{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.hero-meta{margin-bottom:1rem}.hero-actions,.section-actions{margin-top:1.5rem}.button-link,.secondary-link{border-radius:var(--radius-small);justify-content:center;align-items:center;min-height:2.8rem;padding:.65rem 1rem;text-decoration:none;display:inline-flex}.button-link{border:1px solid var(--color-accent);background:var(--color-accent);color:#fff}.button-link:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover);color:#fff}.secondary-link{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.secondary-link:hover{border-color:var(--color-accent);color:var(--color-accent-hover)}.status-badge,.version-badge,.product-kind{border-radius:999px;align-items:center;min-height:1.9rem;padding:.25rem .65rem;font-size:.82rem;font-weight:750;display:inline-flex}.status-public{background:var(--color-success-bg);color:var(--color-success-text)}.status-limited{background:var(--color-limited-bg);color:var(--color-limited-text)}.version-badge,.product-kind{background:var(--color-surface-muted);color:var(--color-text-muted)}.product-section{margin-top:1rem}.section-heading-row{border-bottom:1px solid var(--color-border);justify-content:space-between;padding-bottom:1rem}.section-heading-row>p{max-width:32rem;color:var(--color-text-muted);margin-bottom:0}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.product-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-large);min-height:18rem;box-shadow:var(--shadow-soft);flex-direction:column;padding:clamp(1.4rem,4vw,2rem);display:flex}.product-card-topline{justify-content:space-between;margin-bottom:1rem}.product-card>p:not(.product-card-action){color:var(--color-text-muted)}.product-card-action{margin-top:auto;margin-bottom:0;padding-top:1.25rem}.project-page main{width:min(calc(100% - 2rem), var(--reading-width))}.back-link{margin-bottom:1.5rem}.back-link a{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);min-height:2.5rem;color:var(--color-text-muted);align-items:center;padding:.35rem .7rem;text-decoration:none;display:inline-flex}.section-nav{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);margin-top:1rem;padding:.85rem 1rem}.section-nav ul{flex-wrap:wrap;gap:.4rem 1rem;margin:0;padding:0;list-style:none;display:flex}.section-nav li{margin:0}.section-nav a{text-decoration:none}.project-page section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:clamp(1.5rem,4vw,2rem);scroll-margin-top:1.5rem}.project-page section h2{border-bottom:1px solid var(--color-border);padding-bottom:.75rem}.project-page section>:last-child{margin-bottom:0}.feature-list{padding-left:1.3rem}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.info-grid>div{background:var(--color-surface-muted);border-radius:var(--radius-small);gap:.2rem;padding:.9rem 1rem;display:grid}.info-grid span,.release-summary-label{color:var(--color-text-muted);font-size:.85rem}.info-grid strong{font-size:1rem}.note{color:var(--color-text-muted);margin-top:1rem}.download-section{background:var(--color-accent-soft)!important;border-color:#bfdbfe!important}.release-summary{background:var(--color-surface);border-radius:var(--radius-small);border:1px solid #bfdbfe;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.release-summary>div{gap:.1rem;display:grid}.release-summary strong{font-size:1.2rem}.release-entry-heading{justify-content:space-between}.release-entry-heading h2{margin-bottom:0;border-bottom:0!important;padding-bottom:0!important}.release-note-summary{margin-top:1rem;font-weight:700}@media (width<=44rem){main,.project-page main{width:min(calc(100% - 1.25rem), var(--content-width));padding-top:2rem;padding-bottom:4rem}.product-grid,.info-grid{grid-template-columns:1fr}.section-heading-row,.release-summary{flex-direction:column;align-items:flex-start}.section-nav ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.section-nav a{background:var(--color-surface-muted);border-radius:var(--radius-small);padding:.45rem .6rem;display:block}.hero-actions .button-link,.hero-actions .secondary-link,.section-actions .button-link,.section-actions .secondary-link{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.site-footer{width:min(calc(100% - 2rem), var(--content-width));border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted);margin-inline:auto;padding:1rem 0 2rem}.site-footer a{min-height:2.75rem;padding:.4rem .7rem;display:inline-block}@media (width<=44rem){.site-footer{width:min(calc(100% - 1.25rem), var(--content-width))}}.consent-banner{z-index:1000;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);max-width:42rem;max-height:75vh;margin-inline:auto;padding:1.25rem;position:fixed;inset:auto .75rem .75rem;overflow:auto;box-shadow:0 .7rem 2rem #17203344}.consent-banner[hidden]{display:none}.consent-banner h2{font-size:1.4rem}.consent-actions{flex-wrap:wrap;justify-content:flex-end;gap:.8rem;display:flex}.consent-actions button{min-height:2.75rem;font:inherit;cursor:pointer;border:1px solid var(--color-accent);border-radius:var(--radius-small);color:var(--color-accent);background:#fff;padding:.6rem 1rem}.consent-actions button:last-child{background:var(--color-accent);color:#fff}.consent-actions button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@media (width<=44rem){.consent-actions button{flex:9rem}}
