/* Local system fonts; no remote assets or scripts. */
:root{color-scheme:light;--paper:#f5f8fc;--ink:#14243c;--muted:#455572;--line:#bcc6d8;--accent:#244bc4;--wash:#e6edff}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.8 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--accent);text-underline-offset:.22em;overflow-wrap:anywhere}a:hover{color:var(--ink)}a:active{background:var(--wash)}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.skip{position:absolute;left:1rem;top:-10rem;padding:.5rem;background:white;z-index:2}.skip:focus{top:.5rem}
.shell{max-width:1120px;margin:auto;padding:0 clamp(20px,5vw,64px)}header{border-bottom:1px solid var(--line)}.mast{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:24px;padding-bottom:24px}.brand{font-size:14px;font-weight:750;text-decoration:none;letter-spacing:.03em}.language{font-size:14px;min-height:44px;display:flex;align-items:center}
main{padding-top:clamp(36px,7vw,80px);padding-bottom:80px}.eyebrow{color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px}.title{font-size:clamp(32px,6vw,64px);line-height:1.12;letter-spacing:-.035em;font-weight:750;margin:0 0 24px;overflow-wrap:anywhere;text-wrap:balance}.subtitle{font-size:clamp(20px,2.5vw,28px);line-height:1.5;max-width:34em;margin:0 0 32px}
.page-nav{display:flex;flex-wrap:wrap;gap:4px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:40px}.page-nav a{padding:12px 0;min-height:48px;font-size:15px}.page-nav a[aria-current=page]{font-weight:750;color:var(--ink);text-decoration:none}
.prose{max-width:720px;overflow-wrap:anywhere}.prose p{margin:0 0 24px}.prose h2{font-size:24px;line-height:1.4;margin:44px 0 16px;letter-spacing:-.015em}.prose h3{font-size:20px;line-height:1.5;margin:32px 0 12px}.prose ul,.prose ol{padding-left:1.4em;margin:0 0 24px}.prose li{padding:4px 0}.prose code{font: .9em ui-monospace,Consolas,monospace;background:var(--wash);padding:.1em .25em}.prose pre{white-space:pre-wrap;padding:16px;background:var(--wash)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;min-width:100%}th,td{padding:10px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.directory{list-style:none;padding:0;margin:40px 0 0}.directory li{display:grid;grid-template-columns:3rem 1fr;gap:16px;border-top:1px solid var(--line);padding:20px 0}.number{font:14px/1.8 ui-monospace,Consolas,monospace;color:var(--muted);padding-top:3px}.app-name{font-weight:700;font-size:22px;text-decoration:none}.app-links{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline}.app-links .ja{font-size:15px;min-height:44px;display:inline-flex;align-items:center}.summary{color:var(--muted);margin:6px 0 0;font-size:16px}.preview{border-left:4px solid var(--accent);padding:12px 16px;background:var(--wash);margin:0 0 28px;max-width:720px}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px;padding-top:24px;padding-bottom:32px}footer a{display:inline-block;min-height:44px;padding:8px 0}.footer-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
@media(max-width:480px){.mast{align-items:flex-start}.title{letter-spacing:-.02em}.directory li{grid-template-columns:2rem 1fr;gap:8px}.page-nav{gap:4px 20px}.prose h2{font-size:22px}.app-name{font-size:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
