:root{color-scheme:light;--ink:#20251f;--muted:#5c665f;--paper:#f8f8f3;--surface:#fffdf7;--line:#d8d8ce;--leaf:#3e6f52;--leaf-dark:#2f573f;--gold:#b9852d}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.8 'Segoe UI','Yu Gothic UI',system-ui,sans-serif}main{width:min(1100px,calc(100% - 40px));margin:auto;padding:20px 0 48px}nav{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:8px 0 16px}.brand{display:flex;align-items:center;gap:9px;font-weight:750;text-decoration:none}.brand img{width:34px;height:34px}.navlinks{display:flex;gap:18px;flex-wrap:wrap}.navlinks a{display:flex;min-height:44px;align-items:center;font-size:14px;color:var(--muted)}a{color:inherit;text-underline-offset:4px}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--leaf);outline-offset:4px}h1,h2,h3{line-height:1.25}h1{font-size:clamp(38px,7vw,72px);margin:16px 0}h2{font-size:28px}h3{font-size:20px}.eyebrow{color:var(--leaf-dark);font-size:14px;font-weight:650}.lead{font-size:19px;color:var(--muted);max-width:640px}.note,.version{color:var(--muted);font-size:14px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:56px 0 40px}.hero img{width:100%;border:1px solid var(--line)}.hero figure{margin:0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:100%;padding:10px 18px;background:var(--surface);border:1px solid var(--ink);color:var(--ink);font:inherit;font-weight:650;line-height:1.4;text-decoration:none;cursor:pointer}.primary{color:white;background:var(--leaf);border-color:var(--leaf)}.primary:hover{background:var(--leaf-dark)}button:disabled{opacity:.6;cursor:wait}.section{padding:32px 0;border-top:1px solid var(--line);scroll-margin-top:20px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.features p{color:var(--muted)}.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.download-grid article{border-top:3px solid var(--leaf);padding-top:16px}.download-grid .actions{flex-direction:column;align-items:stretch}.compat{padding:20px;border-left:3px solid var(--gold);background:var(--surface)}table{width:100%;border-collapse:collapse}th,td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left}details{border-bottom:1px solid var(--line);padding:14px 0}summary{font-weight:650;cursor:pointer;min-height:44px}footer{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.demo-link{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:#e9efe7;padding:28px;margin:12px 0 40px}.demo-link h2{margin:0 0 8px}.demo-link p{margin:0}.page-intro{padding:24px 0}.page-intro h1{font-size:clamp(34px,5vw,54px)}.controls{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:18px 0}.controls label{display:grid;gap:4px;font-size:14px}.controls select{min-height:46px;max-width:100%;font:inherit;padding:8px 12px;background:var(--surface);color:var(--ink);border:1px solid var(--line)}.demo-stage{position:relative;touch-action:none;border:1px solid var(--line);background:#fffdf7;height:380px;overflow:hidden}.demo-stage.dark{background:#202820}.demo-stage canvas{width:100%;height:100%;display:block;pointer-events:none}.stage-hint{position:absolute;top:18px;left:20px;font-size:14px;color:var(--muted);pointer-events:none}.dark .stage-hint{color:#c8d4c7}.status{min-height:26px;font-size:14px;color:var(--muted)}.demo-actions{display:flex;flex-wrap:wrap;gap:10px}.demo-actions button[aria-pressed=true]{border-color:var(--leaf);box-shadow:inset 0 0 0 1px var(--leaf)}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:2}.skip:focus{top:10px}@media(max-width:760px){main{width:calc(100% - 32px)}nav{align-items:flex-start;flex-direction:column;gap:8px}.navlinks{gap:16px}.hero,.features,.download-grid,.demo-link{grid-template-columns:1fr}.hero{gap:24px;padding:28px 0}.demo-link{padding:20px;gap:12px}.hero h1{font-size:48px}.lead{font-size:17px}.controls label{flex:1 1 130px;min-width:0}.controls select{width:100%}.demo-stage{height:340px}.demo-actions button{flex:1 1 130px}.compat{padding:16px}th,td{font-size:14px;padding:10px 5px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
:where([hidden]){display:none!important}
