:root{--bg:#0f1016;--panel:#1a1c26;--panel-2:#232634;--text:#f2f2f5;--body:#d6d7e0;--muted:#9a9db0;--accent:#ffc83d;--ink:#1a1400;--shell:#ffc83d;--shell-hi:#ffe08a;--shell-lo:#f0b42c;--shell-edge:#c48a10;--key:#262a38;--key-hi:#41465e;--key-edge:#0b0c12;--gutter:clamp(16px, 4vw, 40px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:18px/1.55 DejaVu Sans,Verdana,sans-serif}a{color:inherit}:focus-visible{outline:3px solid var(--text);outline-offset:3px;border-radius:6px}code{font:.9em DejaVu Sans Mono,ui-monospace,monospace}kbd{vertical-align:.12em;border:2px solid;border-radius:.35em;place-items:center;min-width:1.7em;height:1.5em;padding:0 .3em;font:800 .72em/1 DejaVu Sans,Verdana,sans-serif;display:inline-grid}.bar{max-width:1200px;padding:18px var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin:0 auto;display:flex}.bar nav{gap:22px;display:flex}.bar nav a{color:var(--muted);font-size:16px;font-weight:700;text-decoration:none}.bar nav a:hover,.bar nav a[aria-current=page]{color:var(--text)}.brand{color:var(--accent);letter-spacing:.3px;font-size:21px;font-weight:800;text-decoration:none}footer.bar{border-top:1px solid var(--panel-2);color:var(--muted);margin-top:48px;padding-top:28px;padding-bottom:40px;font-size:15px}.hero{max-width:1200px;padding:24px var(--gutter) 72px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:56px;margin:0 auto;display:grid}h1{letter-spacing:-.025em;text-wrap:balance;margin:0 0 24px;font-size:clamp(36px,3.8vw,52px);font-weight:800;line-height:1.06}h1 span{text-wrap:balance;display:block}.lede{max-width:34em;color:var(--body);margin:0 0 32px;font-size:19px}.actions{flex-wrap:wrap;gap:12px;display:flex}.button{background:var(--panel-2);height:50px;color:var(--text);border-radius:999px;align-items:center;gap:10px;padding:0 22px 0 14px;font-size:17px;font-weight:800;text-decoration:none;display:inline-flex}.button:hover{background:#2d3142}.button.primary{background:var(--accent);color:var(--ink)}.button.primary:hover{background:#ffd665}.button kbd{vertical-align:0;font-size:13px}.small{color:var(--muted);margin:20px 0 0;font-size:15px}.small a{color:var(--text)}.stage{width:min-content;margin:0}.pointer{z-index:2;max-width:460px;height:34px;color:var(--accent);white-space:nowrap;align-items:flex-start;gap:6px;margin:0 auto;padding-left:5%;font-size:16px;font-weight:800;line-height:1.3;transition:opacity .5s,visibility .5s;animation:.4s ease-out .3s backwards appear;display:flex;position:relative}.pointer svg{fill:none;width:64px;height:56px;stroke:var(--accent);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:8px;animation:1.8s ease-in-out 1.6s infinite nudge;overflow:visible}.pointer path{stroke-dasharray:1}.pointer .shaft{animation:.6s ease-out .7s backwards draw}.pointer .head{animation:.25s ease-out 1.25s backwards draw}.stage.played .pointer{opacity:0;visibility:hidden}@keyframes appear{0%{opacity:0;transform:translateY(6px)}}@keyframes draw{0%{stroke-dashoffset:1px}}@keyframes nudge{50%{transform:translate(2px,4px)}}.handheld{--w:clamp(300px, min(42vw, calc((100svh - 230px) / 1.3)), 500px);isolation:isolate;width:var(--w);font-size:calc(var(--w) / 52);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:3em;margin:0 auto;padding-bottom:1.4em;position:relative}.handheld:focus-visible{outline-offset:.8em;border-radius:3.4em}.handheld:after{content:"";z-index:-1;background:radial-gradient(closest-side,#000000b3,#0000);height:4.4em;position:absolute;bottom:-1.4em;left:4%;right:4%}.lid{z-index:1;background:radial-gradient(120% 70% at 20% 0%, #ffffff47, transparent 60%), linear-gradient(180deg, var(--shell) 0%, var(--shell) 82%, var(--shell-lo));border-radius:3em 3em 1.6em 1.6em;padding:1.9em 1.9em 1.7em;position:relative;box-shadow:inset 0 .22em #ffffff80,inset 0 -.3em #965f002e,0 .2em .6em #00000040}.bezel{background:linear-gradient(118deg,#ffffff12 0 26%,#0000 42%),#111218;border-radius:1.4em;padding:1.3em 1.3em 0;box-shadow:inset 0 0 0 .12em #ffffff0d,0 .1em #fff6}.screen{aspect-ratio:3/2;background:#000;border-radius:.3em;position:relative;overflow:hidden}.screen:after{content:"";z-index:2;border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff0f,inset 0 .25em .7em #00000080}.screen iframe{transform-origin:0 0;background:var(--bg);border:0;width:720px;height:480px;position:absolute;top:0;left:0}.screen .still{width:100%;height:100%;display:block}.chin{color:#4d505f;letter-spacing:.02em;justify-content:center;align-items:center;height:3em;font-size:1em;font-weight:800;display:flex;position:relative}.led{background:#5fd38d;border-radius:50%;width:.6em;height:.6em;transition:background .3s,box-shadow .3s;position:absolute;left:.9em;box-shadow:0 0 .5em #5fd38dcc}.handheld:has(.off:not([hidden])) .led{box-shadow:none;background:#2a2c36}.start{z-index:3;cursor:pointer;background:linear-gradient(#0000 72%,#0f1016bf);border:0;justify-content:center;align-items:flex-end;width:100%;padding:0 0 1.4%;display:flex;position:absolute;inset:0}.start span{background:var(--accent);color:var(--ink);border-radius:99em;align-items:center;gap:.45em;padding:.4em 1.1em .4em 1.2em;font-size:1.5em;animation:1.6s ease-in-out infinite blink;display:flex;box-shadow:0 .3em 1em #00000080}.start b{background:radial-gradient(circle at 38% 30%, var(--key-hi), var(--key) 60%);width:1.55em;height:1.55em;color:var(--accent);border-radius:50%;place-items:center;font-size:.9em;display:inline-grid}.start:hover span,.start:focus-visible span{background:#ffd665;animation:none}.start:focus-visible{outline:0}.start:focus-visible span{outline:.15em solid var(--text);outline-offset:.15em}@keyframes blink{50%{opacity:.45}}.off{z-index:3;width:100%;color:var(--muted);cursor:pointer;background:#000;border:0;flex-direction:column;justify-content:center;align-items:center;gap:.8em;font:700 1.6em/1.3 DejaVu Sans,Verdana,sans-serif;display:flex;position:absolute;inset:0}.off span{color:var(--text);align-items:center;gap:.4em;display:flex}.screen [hidden]{display:none}.hinge{height:2.6em;margin-top:-.4em;position:relative}.hinge:before,.hinge:after{content:"";background:linear-gradient(180deg, var(--shell-lo), var(--shell) 40%);border-radius:1.4em 1.4em 0 0;width:11em;position:absolute;top:.4em;bottom:-1em;box-shadow:inset 0 .18em #fff6}.hinge:before{left:0}.hinge:after{right:0}.barrel{background:linear-gradient(180deg, #9a6806 0%, var(--shell-edge) 14%, var(--shell) 34%, #fff3c4 46%, var(--shell) 58%, var(--shell-edge) 86%, #8a5d05 100%);border-radius:.6em;height:2.6em;position:absolute;top:0;left:11.5em;right:11.5em;box-shadow:inset .5em 0 .5em -.3em #784b0080,inset -.5em 0 .5em -.3em #784b0080}.handheld button{font:inherit;-webkit-tap-highlight-color:transparent;touch-action:none;cursor:pointer;padding:0;font-weight:800}.shoulder,.face button,.menu button{background:radial-gradient(130% 120% at 40% 20%, var(--key-hi), var(--key) 55%, #1d2030);color:#7f8399;text-shadow:0 -.05em #0009;box-shadow:inset 0 .06em 0 #ffffff24, 0 .32em 0 var(--key-edge), 0 .5em .6em #6e460059;border:0;transition:transform 60ms ease-out,box-shadow 60ms ease-out,color 60ms}.shoulder.pressed,.face .pressed,.menu .pressed{box-shadow:inset 0 .06em 0 #ffffff24, 0 .08em 0 var(--key-edge), 0 .2em .3em #6e460059;color:var(--accent);transform:translateY(.24em)}.shoulder{z-index:1;border-radius:1em 1em .35em .35em;width:8.4em;height:1.7em;font-size:1em;line-height:1;position:absolute;top:0}.shoulder.l{left:1.3em}.shoulder.r{right:1.3em}.base{background:radial-gradient(90% 60% at 30% 0%, #ffffff38, transparent 70%), linear-gradient(180deg, var(--shell-lo), var(--shell) 6%, var(--shell) 90%, var(--shell-lo));height:23em;box-shadow:inset 0 .2em 0 #ffffff59, 0 1.3em 0 var(--shell-edge), 0 1.3em 0 .08em #a8730a, 0 2.4em 2.6em #00000073;border-radius:1.6em 1.6em 4em 4em;margin-top:-.2em;position:relative}.dpad,.face{background:radial-gradient(circle at 50% 40%, var(--shell-lo), var(--shell) 75%);border-radius:50%;width:14.6em;height:14.6em;position:absolute;top:2.9em;box-shadow:inset 0 .35em .6em #8c580059,inset 0 -.15em .2em #fff5d2b3,0 .1em #ffffff59}.dpad{left:4.2em}.face{right:4.2em}.cross{filter:drop-shadow(0 .32em 0 var(--key-edge)) drop-shadow(0 .5em .4em #6e460066);transition:transform 70ms ease-out;position:absolute;inset:1.6em}.cross:before,.cross:after{content:"";background:radial-gradient(circle at 50% 50%, #00000059 0 1em, #ffffff0f 1.15em, transparent 1.8em), radial-gradient(circle at 42% 30%, var(--key-hi), var(--key) 55%, #1d2030);background-size:11.4em 11.4em;border-radius:.7em;position:absolute}.cross:before{background-position:0 -3.8em;width:11.4em;height:3.8em;top:3.8em;left:0}.cross:after{background-position:-3.8em 0;width:3.8em;height:11.4em;top:0;left:3.8em}.dpad:has([data-key=ArrowUp].pressed) .cross{transform:perspective(24em)rotateX(9deg)}.dpad:has([data-key=ArrowDown].pressed) .cross{transform:perspective(24em)rotateX(-9deg)}.dpad:has([data-key=ArrowLeft].pressed) .cross{transform:perspective(24em)rotateY(-9deg)}.dpad:has([data-key=ArrowRight].pressed) .cross{transform:perspective(24em)rotateY(9deg)}.cross button{z-index:1;background:0 0;border:0;width:3.8em;height:3.8em;position:absolute}.cross button:after{content:"";clip-path:polygon(50% 8%,100% 92%,0 92%);background:#50556e;transition:background 60ms;position:absolute;inset:1.35em}.cross button.pressed:after{background:var(--accent)}.cross [data-key=ArrowUp]{top:0;left:3.8em}.cross [data-key=ArrowDown]{top:7.6em;left:3.8em}.cross [data-key=ArrowDown]:after{rotate:180deg}.cross [data-key=ArrowLeft]{top:3.8em;left:0}.cross [data-key=ArrowLeft]:after{rotate:-90deg}.cross [data-key=ArrowRight]{top:3.8em;left:7.6em}.cross [data-key=ArrowRight]:after{rotate:90deg}.face button{border-radius:50%;width:29.5%;height:29.5%;font-size:1.7em;line-height:1;position:absolute}.face .x{top:6.5%;left:35.25%}.face .y{top:35.25%;left:6.5%}.face .a{color:var(--accent);top:35.25%;right:6.5%}.face .b{bottom:6.5%;left:35.25%}.handheld.attract .face .a:after{content:"";border:.08em solid var(--accent);pointer-events:none;border-radius:50%;animation:1.6s ease-out infinite ring;position:absolute;inset:-.12em}@keyframes ring{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.menu{grid-template-columns:5em 5em;justify-items:center;gap:.7em 2.4em;display:grid;position:absolute;bottom:2.6em;left:50%;transform:translate(-50%)}.menu button{border-radius:1em;width:4.8em;height:1.5em}.menu span{color:#b5800e;text-shadow:0 .08em #fff0c899;font-size:1em;font-weight:800}.speaker{background:radial-gradient(circle,#6e4a05 0 .26em,#fff0c88c .28em .33em,#0000 .37em) 0 0/1.1em 1.1em;width:9.9em;height:3.3em;position:absolute;bottom:2.4em;right:6em;transform:skew(-18deg)}.help{max-width:34em;color:var(--muted);text-align:center;margin:44px auto 0;font-size:14px}#status{color:var(--body);margin:0;font-size:15px}#keys{flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:12px 0 0;display:flex}#keys:empty{display:none}#keys div{align-items:center;gap:7px;display:flex}#keys dt{gap:3px;display:flex}#keys dd{margin:0}#keys.controls{text-align:left;grid-template-columns:max-content minmax(0,1fr);gap:7px 14px;width:fit-content;margin:14px auto 0;display:grid}#keys.controls div{display:contents}#keys.controls dt{justify-content:flex-end}.help kbd{vertical-align:0;font-size:12px;transition:color 60ms,border-color 60ms}.help kbd.pressed,.help .btn.pressed{color:var(--accent)}.btn{background:var(--panel-2);min-width:1.75em;height:1.75em;color:var(--text);white-space:nowrap;border-radius:1em;place-items:center;padding:0 .45em;font-size:12px;font-weight:800;line-height:1;transition:color 60ms;display:inline-grid}#status b{color:var(--text)}#status kbd,#status .btn{margin:0 1px}.covers{grid-template-columns:repeat(auto-fill,minmax(min(100%,158px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.covers button{background:var(--panel);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border:3px solid #0000;border-radius:10px;padding:0 0 8px;display:block;overflow:hidden}.covers button:hover,.covers button:focus-visible,.covers button[aria-current=true]{border-color:var(--accent)}.covers button:focus-visible{outline-offset:2px}.covers img{aspect-ratio:16/9;object-fit:cover;background:var(--panel-2);width:100%;display:block}.covers strong,.covers span{white-space:nowrap;text-overflow:ellipsis;padding:0 10px;display:block;overflow:hidden}.covers strong{padding-top:7px;font-size:15px;line-height:1.35}.covers span{color:var(--muted);font-size:13px;line-height:1.4}.covers [aria-current=true] span{color:var(--accent)}.column{max-width:1200px;padding:40px var(--gutter);margin:0 auto}.column>*{max-width:720px}h2{letter-spacing:-.015em;margin:0 0 20px;font-size:30px;font-weight:800;line-height:1.2}.column>p{color:var(--body);margin:0 0 18px}.steps{margin:0;padding:0;list-style:none}.steps li{background:var(--panel);border-radius:10px;gap:18px;margin-bottom:10px;padding:18px 22px 18px 18px;display:flex}.steps li>div{flex:1;min-width:0}.steps li>kbd{color:var(--muted);flex:none;margin-top:1px;font-size:15px}.steps h3{margin:0 0 4px;font-size:18px;line-height:1.35}.steps h3 a{color:var(--accent)}.steps p{color:var(--muted);margin:0;font-size:16px}.steps p+p,.steps p+.code,.steps .code+p{margin-top:10px}.steps .code{background:var(--panel-2);margin:10px 0 0}.steps .copy{background:var(--panel-2)}.mark{flex:none;width:1.6em;height:1.6em}.linux .mark{color:#fcc624}.android .mark{color:#3ddc84}.get{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;max-width:580px;margin-bottom:14px;display:grid}.get-button{border:2px solid var(--panel-2);background:var(--panel);color:var(--text);border-radius:14px;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex}.get-button:hover,.get-button:focus-visible{border-color:var(--accent)}.get-button .mark{width:30px;height:30px}.get-button strong{white-space:nowrap;font-size:16px;line-height:1.3;display:block}.get-button small{color:var(--muted);font-size:13px;line-height:1.4;display:block}.also{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px 18px;margin:18px 0 0;font-size:15px;display:flex}.band{max-width:1200px;padding:72px var(--gutter) 24px;margin:0 auto}.band-head{max-width:640px;margin-bottom:30px}.band-head h2{margin-bottom:10px;font-size:34px}.band-head p{color:var(--body);margin:0}.platforms{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:20px;display:grid}.platform{background:var(--panel);border-radius:20px;flex-direction:column;gap:22px;padding:28px;display:flex}.platform header{align-items:center;gap:14px;display:flex}.platform header .mark{width:42px;height:42px}.platform h3{margin:0;font-size:22px;line-height:1.25}.platform header p{color:var(--muted);margin:2px 0 0;font-size:15px}.platform .get-button{background:var(--accent);color:var(--ink);text-align:center;border:0;justify-content:center}.platform .get-button:hover,.platform .get-button:focus-visible{background:#ffd665}.platform .get-button small{color:#5c4a10}.platform ol{counter-reset:step;gap:12px;margin:0;padding:0;list-style:none;display:grid}.platform li{color:var(--body);counter-increment:step;padding-left:36px;font-size:16px;line-height:1.5;position:relative}.platform li:before{content:counter(step);border:2px solid var(--muted);width:23px;height:20px;color:var(--muted);border-radius:5px;place-items:center;font-size:12px;font-weight:800;line-height:1;display:grid;position:absolute;top:2px;left:0}.platform dl{border-top:1px solid var(--panel-2);gap:12px;margin:0;padding-top:20px;display:grid}.platform dl div{grid-template-columns:6.5em minmax(0,1fr);gap:14px;display:grid}.platform dt{color:var(--muted);font-size:14px;font-weight:700}.platform dd{color:var(--body);margin:0;font-size:14px;line-height:1.55}.hintbar{background:var(--panel);color:var(--body);border-radius:16px;flex-wrap:wrap;justify-content:center;gap:12px 26px;margin:20px 0 0;padding:16px 24px;font-size:15px;display:flex}.hintbar span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.hintbar kbd{color:var(--muted);margin-right:3px;font-size:12px}.split{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center;gap:48px;padding-bottom:96px;display:grid}.split .band-head{margin:0}.split .actions{margin-top:28px}.terminal{border:1px solid var(--panel-2);background:var(--panel);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:20px;margin:0;padding:26px 28px;font:15px/1.75 DejaVu Sans Mono,ui-monospace,monospace}.terminal code{font:inherit}.terminal i{color:var(--muted);font-style:normal}.terminal b{color:var(--accent);font-weight:400}.layers{gap:6px;margin:0 0 22px;padding:0;list-style:none;display:grid}.layers li{background:var(--panel);border-radius:12px;grid-template-columns:minmax(9em,auto) minmax(0,1fr) auto;align-items:baseline;gap:16px;padding:14px 20px;display:grid}.layers li:first-child{background:var(--accent);color:var(--ink)}.layers li:first-child span,.layers li:first-child em{color:#5c4a10}.layers li:last-child{background:var(--panel-2)}.layers strong{font-size:17px}.layers span{color:var(--body);font-size:15px}.layers em{color:var(--muted);font:13px DejaVu Sans Mono,ui-monospace,monospace}.parts{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;margin:0 0 22px;display:grid}.part{background:var(--panel);border-radius:14px;padding:18px 20px}.part>code{color:var(--accent);font-size:16px;font-weight:700}.part p{color:var(--body);margin:8px 0 0;font-size:15px;line-height:1.5}.sequence{counter-reset:step;gap:12px;margin:0 0 22px;padding:0;list-style:none;display:grid}.sequence li{color:var(--body);counter-increment:step;padding-left:40px;line-height:1.55;position:relative}.sequence li:before{content:counter(step);border:2px solid var(--accent);width:25px;height:21px;color:var(--accent);border-radius:5px;place-items:center;font-size:12px;font-weight:800;line-height:1;display:grid;position:absolute;top:3px;left:0}.table{background:var(--panel);border-radius:10px;margin:0 0 22px;padding:4px 22px;overflow-x:auto}.table table{border-collapse:collapse;width:100%;font-size:15px}.table th,.table td{border-top:1px solid var(--panel-2);text-align:left;vertical-align:top;padding:10px 14px 10px 0}.table thead th,.table thead td{color:var(--muted);border-top:0;font-size:13px}.table td:nth-child(2){color:var(--accent);white-space:nowrap;font-weight:800}.table td:last-child{color:var(--body)}.column h3.section{margin:30px 0 12px;font-size:19px;line-height:1.35}.column>ul{color:var(--body);margin:0 0 18px;padding-left:1.2em}.column>ul li{margin-bottom:8px}.column>ul li::marker{color:var(--accent)}.page-intro{max-width:1200px;padding:24px var(--gutter) 8px;margin:0 auto}.page-intro>*{max-width:720px}.page-intro .actions{margin-top:8px}.doc .page-intro,.doc .column{max-width:880px}.doc .page-intro>*,.doc .column>*{max-width:none}.doc .page-intro{padding-top:56px}.note{color:var(--muted);margin:18px 0 0;font-size:16px}.code{background:var(--panel);border-radius:10px;margin:0 0 22px;padding:18px 22px;position:relative}.code pre{margin:0;padding-right:64px;overflow-x:auto}.code.prompt pre{white-space:pre-wrap;overflow-wrap:anywhere}.code code{font-size:15px;line-height:1.75}.copy{border:2px solid var(--muted);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:6px;padding:2px 8px;font:800 13px/1.4 DejaVu Sans,Verdana,sans-serif;position:absolute;top:14px;right:14px}.copy:hover{color:var(--text);border-color:var(--text)}@media (width<=920px){.split{grid-template-columns:minmax(0,1fr);gap:32px}.hero{grid-template-columns:minmax(0,1fr);gap:48px;padding-top:8px}.stage{width:auto;container-type:inline-size}.handheld{--w:min(100cqw, 460px)}}@media (width<=560px){.layers li{grid-template-columns:minmax(0,1fr);gap:2px}.band{padding-top:56px}.band-head h2{font-size:28px}.platform{padding:22px 18px}.platform dl div{grid-template-columns:minmax(0,1fr);gap:2px}.hintbar{justify-content:flex-start}.terminal{padding:20px;font-size:13px}.code{padding-top:46px}.code pre{padding-right:0}.steps li{gap:12px;padding:16px}.steps .code{padding:44px 14px 14px}.steps .copy{top:10px;right:10px}.bar nav a:not(:last-child){display:none}h1{font-size:min(36px,8.4vw)}.lede{font-size:17px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.handheld *,.handheld :after,.pointer,.pointer *{transition:none!important;animation:none!important}}
