:root{color-scheme:light;--paper:#fff;--ink:#171717;--muted:#646464;--link:#1549b5;--line:#e7e7e7}
*{box-sizing:border-box}
html{background:var(--paper);scrollbar-gutter:stable}
body{margin:0;color:var(--ink);font:16px/1.85 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;overflow-wrap:break-word}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:2px solid var(--link);outline-offset:5px}
.page{width:min(100% - 64px,780px);margin:0 auto}
.site-header{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:38px 0 22px;border-bottom:1px solid var(--line)}
.wordmark{color:var(--ink);font-weight:600;text-decoration:none;white-space:nowrap}
.wordmark span{font:14px Georgia,"Times New Roman",serif;margin-left:9px;font-weight:400;color:var(--muted)}
nav{display:flex;gap:24px;font-size:14px;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--muted)}
nav a:hover,nav a[aria-current]{color:var(--ink);text-decoration:underline}
main{padding:48px 0 12px;min-height:55vh}
main:focus{outline:none}
h1,h2{line-height:1.5;letter-spacing:.015em}
h1{font-size:30px;font-weight:600;margin:0 0 17px}
h2{font-size:20px;font-weight:600;margin:0 0 14px}
p{margin:0 0 17px}
section{margin:0 0 42px}
.pronunciation{font:16px Georgia,"Times New Roman",serif;color:var(--muted);margin-left:12px;letter-spacing:0}
.lead{font-size:19px;margin-bottom:19px}
.intro{max-width:650px;margin-bottom:43px}
.section-note,.muted{color:var(--muted);font-size:14px}
.section-note{margin-top:-5px;margin-bottom:19px}
.articles{list-style:none;margin:0;padding:0}
.articles li{display:grid;grid-template-columns:100px 1fr;gap:18px;align-items:baseline;margin-bottom:16px}
time{font:13px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);white-space:nowrap}
.more{font-size:14px;margin:19px 0 0}
.tools{margin:0}
.tools>div{display:grid;grid-template-columns:100px 1fr;gap:18px;margin-bottom:16px}
dt,dd{margin:0}
dd{color:var(--muted);font-size:15px}
dd p{margin:7px 0 0}
footer{border-top:1px solid var(--line);padding:21px 0 34px;display:flex;gap:20px;align-items:baseline;font-size:13px;color:var(--muted);flex-wrap:wrap}
footer a{color:var(--muted)}
footer a:last-child{margin-left:auto}
.skip{position:absolute;top:0;left:16px;transform:translateY(-130%);padding:8px 14px;background:white;z-index:1}
.skip:focus{transform:none}
.archive-note{font-size:14px;color:var(--muted)}
article h1{font-size:28px}article section{margin-top:30px;margin-bottom:30px}article h2{font-size:20px}
@media(max-width:600px){.page{width:calc(100% - 40px)}.site-header{padding:25px 0 18px;gap:15px;flex-wrap:wrap}nav{gap:22px}main{padding-top:34px}h1{font-size:28px}.lead{font-size:18px}.articles li{grid-template-columns:1fr;gap:2px;margin-bottom:21px}.tools>div{grid-template-columns:1fr;gap:2px;margin-bottom:18px}section{margin-bottom:36px}footer{gap:16px}footer a:last-child{margin-left:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Product pages retain the site's quiet, script-free reading layout. */
.product-nav{gap:12px 22px;margin-bottom:30px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.product-nav a{color:var(--link);text-decoration:underline}
.eyebrow{color:var(--muted);font:13px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace}
.product h1{font-size:32px;letter-spacing:-.025em;overflow-wrap:anywhere}
.product section{margin:32px 0}
.product-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.download-link{display:inline-block;background:var(--link);color:#fff;padding:8px 16px;border-radius:5px;text-decoration:none;font-weight:500}
.download-link:hover{background:#103a90;text-decoration:underline}
.relationship-demo{margin:28px 0 36px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.relationship-demo figcaption{padding:12px 18px;font-size:13px;color:var(--muted);border-bottom:1px solid var(--line)}
.demo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 18px}
.demo-missing{background:#fff1f2;border-top:1px solid #fecdd3;border-left:3px solid #be123c}
.demo-labels{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.demo-follow{border:1px solid #b5b5b5;border-radius:20px;padding:2px 12px;font-size:13px;white-space:nowrap}
.demo-badge{color:#9f1239;font-size:12px;font-weight:600;white-space:nowrap}
.product li{margin-bottom:10px}.product ul,.product ol{padding-left:24px}
.product code{font-size:.88em;overflow-wrap:anywhere}
.product-foot{border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:13px;margin-top:36px}
.data-list dt{font-weight:600;margin-top:20px}.data-list dd{margin-top:5px}
@media(max-width:600px){.product h1{font-size:28px}.demo-row{padding:16px 12px}.demo-labels{gap:5px;max-width:95px}.product-nav{gap:10px 18px}.relationship-demo figcaption{padding:10px 12px}}

/* Add an entry to productCatalog to extend this responsive gallery. */
.gallery-intro{margin-bottom:30px}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:48px}
.product-card{min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.product-card-link{display:block;height:100%;color:var(--ink);text-decoration:none}
.product-card-link:hover{text-decoration:none;background:#fafcff}
.product-card-link:focus-visible{outline-offset:-3px}
.product-card-cover{height:176px;background:#f2f5fb;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;border-bottom:1px solid var(--line)}
.product-card-mark{font:64px/1 Georgia,serif;color:var(--link)}
.product-card-platform{font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted)}
.product-card-body{padding:22px}
.product-card-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-bottom:12px}
.product-card-meta span{color:#256348}
.product-card h2{font-size:20px;letter-spacing:-.02em;margin-bottom:10px}
.product-card-description{font-size:15px;color:var(--muted);margin-bottom:16px}
.product-tags{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 24px;gap:8px;font-size:12px;color:var(--muted)}
.product-tags li{border:1px solid var(--line);padding:2px 8px;border-radius:4px}
.product-card-more{font-size:14px;color:var(--link)}
.product-card-link:hover .product-card-more{text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.product-grid{grid-template-columns:1fr;gap:20px}.product-card-cover{height:160px}.product-card-body{padding:20px}}

.policy-language-nav{gap:24px;margin:22px 0 30px}
.policy-language{scroll-margin-top:24px}
.policy-language+.policy-language{border-top:1px solid var(--line);margin-top:48px;padding-top:36px}
.policy-language h3{font-size:18px;font-weight:600;line-height:1.6;margin:0 0 12px}
.policy-language section{scroll-margin-top:24px}
