@font-face{font-family:Olivetti;src:url(/fonts/Ac437_OlivettiThin_9x16.ttf)format("truetype");font-display:swap}:root{--desktop:#c9cff2;--platinum:#ddd;--platinum-light:#eee;--bevel-light:#fff;--bevel-shadow:#888;--bevel-dark:#555;--frame:#000;--paper:#fff;--ink:#226;--highlight:#c8c8c8;--muted:#555;--pixel:"Olivetti", ui-monospace, Menlo, monospace;--text:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--page:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html,body{margin:0}body{background:var(--desktop);color:#000;min-height:100vh;font:16px/1.5 var(--pixel);-webkit-font-smoothing:none;font-smooth:never;flex-direction:column;display:flex}body.ghost:before{content:"";z-index:-1;image-rendering:pixelated;opacity:.2;pointer-events:none;background:url(/art/ghost.png) 50%/cover no-repeat;position:fixed;inset:0}h1,h2,h3,h4{font:inherit;margin:0}a{color:var(--ink)}a:hover{background:var(--highlight)}img,video{max-width:100%;height:auto;display:block}.pixelated{image-rendering:pixelated}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline-offset:2px;outline:1px dotted #000}.skip-link{z-index:100;background:var(--paper);border:1px solid var(--frame);padding:4px 8px;position:absolute;top:-40px;left:8px}.skip-link:focus{top:30px}.menu-bar{z-index:50;background:var(--platinum);border-bottom:1px solid var(--frame);min-height:24px;box-shadow:inset 0 1px 0 var(--bevel-light);align-items:stretch;padding:0 4px;display:flex;position:sticky;top:0}.menu-bar a,.menu-bar summary{color:#000;white-space:nowrap;align-items:center;gap:6px;padding:0 10px;line-height:24px;text-decoration:none;display:flex}.menu-bar a:hover,.menu-bar a[aria-current=page],.menu-bar summary:hover,.menu-bar details[open] summary{background:var(--highlight)}.menu-bar .brand img{width:16px;height:16px;image-rendering:pixelated}.menu-bar .menu-items{display:flex}.menu-bar .spacer{flex:1}.menu-bar .menu-right{display:flex}.menu-bar .buy{font-weight:400}.menu-bar details{display:none;position:relative}.menu-bar summary{cursor:default;list-style:none}.menu-bar summary::-webkit-details-marker{display:none}.menu-dropdown{background:var(--platinum);border:1px solid var(--frame);min-width:200px;padding:4px 0;position:absolute;top:100%;right:0;box-shadow:2px 2px #00000059}.menu-dropdown a{padding:0 16px;line-height:32px}@media (width<=860px){.menu-bar .menu-items{display:none}.menu-bar details{display:block}.menu-bar a,.menu-bar summary{line-height:32px}}.desktop{width:100%;max-width:var(--page);flex-direction:column;flex:1;gap:32px;margin:0 auto;padding:32px 16px 48px;display:flex}.desktop.narrow{max-width:860px}.window{background:var(--platinum);border:1px solid var(--frame);flex-direction:column;min-width:0;display:flex;box-shadow:2px 2px #00000059}.window>.title-bar,.window>.window-info{flex:none}.title-bar{text-align:center;white-space:nowrap;background:repeating-linear-gradient(to bottom, var(--bevel-light) 0 1px, var(--bevel-shadow) 1px 2px, var(--platinum) 2px 3px) 0 4px / 100% 13px no-repeat, var(--platinum);height:22px;margin:3px;position:relative;overflow:hidden}.title-bar .title{text-overflow:ellipsis;background:var(--platinum);vertical-align:top;max-width:calc(100% - 70px);padding:0 10px;line-height:22px;display:inline-block;overflow:hidden}.title-bar:before,.title-bar:after{content:"";background:var(--platinum);border:1px solid var(--frame);width:13px;height:13px;box-shadow:inset 1px 1px 0 var(--bevel-light), inset -1px -1px 0 var(--bevel-shadow), 0 0 0 2px var(--platinum);position:absolute;top:4px}.title-bar:before{left:9px}.title-bar:after{background:linear-gradient(var(--frame), var(--frame)) center 4px / 7px 1px no-repeat, linear-gradient(var(--frame), var(--frame)) center 7px / 7px 1px no-repeat, var(--platinum);right:9px}.window-info{border-top:1px solid var(--bevel-light);color:#000;flex-wrap:wrap;justify-content:space-between;gap:16px;margin:0 3px;padding:0 8px;line-height:22px;display:flex}.window-body{background:var(--paper);border:1px solid var(--bevel-dark);box-shadow:inset 1px 1px 0 var(--bevel-shadow);flex:1;margin:0 3px 3px;padding:20px 24px}.window-body.flush{padding:0}.window-body.platinum{background:var(--platinum-light)}.window-body>:first-child{margin-top:0}.window-body>:last-child{margin-bottom:0}@media (width<=600px){.window-body{padding:16px}}.display{color:var(--ink);margin:0 0 16px;font-size:48px;line-height:48px}.big{color:var(--ink);margin:0 0 16px;font-size:32px;line-height:32px}@media (width<=600px){.display{font-size:32px;line-height:32px}.big{font-size:16px;line-height:24px}}.lead{color:var(--ink)}.label{color:var(--muted)}p{margin:0 0 1em}.window-body h3{color:var(--ink);margin:1.5em 0 .5em}ul.bullets{margin:0 0 1em;padding-left:0;list-style:none}ul.bullets li{margin-bottom:.35em;padding-left:20px;position:relative}ul.bullets li:before{content:"■";color:var(--ink);font-size:10px;line-height:24px;position:absolute;left:0}kbd{font:inherit;background:var(--platinum-light);border:1px solid var(--bevel-shadow);box-shadow:inset -1px -1px 0 var(--bevel-shadow);padding:0 4px}.prose{font:17px/1.6 var(--text);-webkit-font-smoothing:auto;max-width:72ch}.prose h1,.prose h2,.prose h3{font-family:var(--pixel);-webkit-font-smoothing:none;color:var(--ink)}.prose h1{margin:0 0 24px;font-size:32px;line-height:32px}.prose h2{border-bottom:1px solid var(--bevel-shadow);margin:2em 0 .6em;padding-bottom:4px;font-size:16px}.prose h3{margin:1.5em 0 .4em;font-size:16px}.prose table{border-collapse:collapse;width:100%;margin:0 0 1em;font-size:15px}.prose th,.prose td{border:1px solid var(--bevel-shadow);text-align:left;vertical-align:top;padding:6px 8px}.prose th{background:var(--platinum-light)}.prose kbd{font-family:var(--text);font-size:14px}.prose figure{margin:1em 0 1.5em}.prose figcaption{color:var(--muted);margin-top:6px;font-size:14px}.prose code{font-size:15px}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-bottom:.3em}.push-button{min-height:28px;font:inherit;color:#000;background:var(--platinum);border:1px solid var(--frame);box-shadow:inset 1px 1px 0 var(--bevel-light), inset -1px -1px 0 var(--bevel-shadow);cursor:default;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:2px 16px;text-decoration:none;display:inline-flex}.push-button:hover{background:var(--platinum)}.push-button:active,.push-button.pressed{background:var(--bevel-shadow);color:#fff;box-shadow:inset 1px 1px 0 var(--bevel-dark)}.push-button.default{outline:3px solid var(--frame);outline-offset:1px;margin:4px}.push-button[aria-disabled=true]{color:var(--bevel-shadow);border-color:var(--bevel-shadow)}.push-button.big-button{min-height:40px;padding:4px 24px}.button-row{flex-wrap:wrap;align-items:center;gap:16px;margin:0 0 1em;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}@media (width<=900px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:32px;display:grid}.split.flip{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.split.flip>:first-child{order:2}@media (width<=860px){.split,.split.flip{grid-template-columns:minmax(0,1fr)}.split.flip>:first-child{order:0}}.shot{margin:0}.shot img,.shot video{border:1px solid var(--frame);background:var(--desktop);width:100%;box-shadow:2px 2px #00000040}.shot figcaption{color:var(--muted);margin-top:8px}.shot a:hover{background:0 0}.placeholder{text-align:center;min-height:120px;color:var(--ink);border:1px dashed var(--ink);background:repeating-linear-gradient(45deg, var(--paper) 0 6px, var(--platinum-light) 6px 12px);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:16px;display:flex}.placeholder strong{background:var(--paper);padding:0 6px;font-weight:400}.placeholder small{font-size:inherit;color:var(--muted);background:var(--paper);padding:0 6px}.placeholder.inline{min-height:0;padding:0 6px;display:inline-flex}.status{background:var(--platinum);border-top:1px solid var(--frame);flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:6px 12px;display:flex}.status nav{flex-wrap:wrap;gap:0 16px;display:flex}.status a{color:#000}.prose img{border:1px solid var(--frame);margin:.5em 0 1em;box-shadow:2px 2px #00000040}@media (width<=760px){.prose table{display:block;overflow-x:auto}.prose code{overflow-wrap:anywhere}}
