:root{color-scheme:light dark;--bg:light-dark(#f9f9f9,#111113);--surface:light-dark(#fff,#18181b);--surface-2:light-dark(#f3f3f3,#222226);--border:light-dark(#e8e8e8,#2a2a2f);--border-strong:light-dark(#d4d4d4,#3d3d44);--tick:light-dark(#b9b9b9,#4d4d55);--dot:light-dark(#00000029,#ffffff24);--pix:light-dark(#0000000f,#ffffff0d);--fg:light-dark(#1a1a1a,#ececef);--muted:light-dark(#6b6b6b,#a1a1aa);--accent:light-dark(#3346b8,#a3afff);--accent-ink:light-dark(#3346b8,#a3afff);--solid:light-dark(#1a1a1a,#ececef);--on-solid:light-dark(#fff,#111113);--success:light-dark(#17703a,#7fdc9f);--warning:light-dark(#8a5300,#f5c46b);--danger:light-dark(#b0261b,#ff9d94);--important:light-dark(#7a3fb0,#d3a8ff);--focus:light-dark(#3346b8,#a3afff);--shadow-strong:0 10px 28px #00000014;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--page-width:76rem;--gutter:1rem;--measure:78ch;--space-section:calc(var(--inset) * 1.5);--bar-space:.5rem;--inset:1rem}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root[data-contrast=high]{--bg:light-dark(#fff,#000);--surface:light-dark(#fff,#000);--surface-2:light-dark(#fff,#000);--border:light-dark(#000,#fff);--border-strong:light-dark(#000,#fff);--tick:light-dark(#555,#b0b0b0);--fg:light-dark(#000,#fff);--muted:light-dark(#1f2328,#e3e6ea);--accent:light-dark(#1a2a8f,#c4cbff);--accent-ink:light-dark(#1a2a8f,#c4cbff);--solid:light-dark(#000,#fff);--on-solid:light-dark(#fff,#000);--success:light-dark(#0d4f1f,#a6e9b6);--warning:light-dark(#4f3400,#ffd987);--danger:light-dark(#8a1208,#ffb3ad);--important:light-dark(#4f1d80,#e6ccff);--focus:light-dark(#000,#fff)}@media (prefers-contrast:more){:root:not([data-contrast]){--bg:light-dark(#fff,#000);--surface:light-dark(#fff,#000);--surface-2:light-dark(#fff,#000);--border:light-dark(#000,#fff);--border-strong:light-dark(#000,#fff);--tick:light-dark(#555,#b0b0b0);--fg:light-dark(#000,#fff);--muted:light-dark(#1f2328,#e3e6ea);--accent:light-dark(#1a2a8f,#c4cbff);--accent-ink:light-dark(#1a2a8f,#c4cbff);--solid:light-dark(#000,#fff);--on-solid:light-dark(#fff,#000);--focus:light-dark(#000,#fff)}}:root[data-contrast=low]{--bg:light-dark(#f7f7f7,#151517);--surface:light-dark(#fbfbfb,#1a1a1d);--surface-2:light-dark(#f2f2f2,#1f1f23);--border:light-dark(#efefef,#232327);--border-strong:light-dark(#e0e0e0,#2f2f35);--tick:light-dark(#d2d2d2,#38383e);--fg:light-dark(#3a3e46,#c6c9d0);--muted:light-dark(#5f6570,#9499a4)}:root[data-font-size=large]{font-size:112.5%}:root[data-font-size=xlarge]{font-size:125%}:root[data-font=readable]{--font-body:"Atkinson Hyperlegible Next", "Atkinson Hyperlegible", Verdana, Tahoma, sans-serif}:root[data-font=serif]{--font-body:Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif}:root{--accent-soft:color-mix(in oklab, var(--accent) 9%, var(--surface));--accent-35:color-mix(in srgb, var(--accent) 35%, transparent);--success-soft:color-mix(in oklab, var(--success) 10%, var(--surface))}*,:before,:after{box-sizing:border-box}[hidden],:root:not(.js) .js-only{display:none!important}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--font-body);flex-direction:column;margin:0;font-size:1rem;line-height:1.6;display:flex;position:relative}body:before{content:"";z-index:-1;top:0;bottom:0;left:max(var(--gutter), 50% - var(--page-width) / 2 + var(--gutter));right:max(var(--gutter), 50% - var(--page-width) / 2 + var(--gutter));border-inline:1px solid var(--border);pointer-events:none;position:absolute}main{width:100%;max-width:var(--page-width);padding:0 var(--gutter) 3rem;flex:1;margin:0 auto}main:focus{outline:none}a{color:var(--accent-ink);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--solid);color:var(--on-solid);padding:.5rem 1rem;font-weight:600;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:.75rem}.skip-link:hover{color:var(--on-solid)}.icon{flex:none;width:1.1em;height:1.1em}.mono{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.bracket:before{content:"[";content:"[" / "";color:var(--tick);margin-right:.6em}.bracket:after{content:"]";content:"]" / "";color:var(--tick);margin-left:.6em}.pixel-mark{--cell:5px;--gap:2px;width:calc(2 * var(--cell) + var(--gap));height:calc(2 * var(--cell) + var(--gap));background:linear-gradient(var(--accent) 0 0) 0 0 / var(--cell) var(--cell) no-repeat, linear-gradient(var(--accent-35) 0 0) calc(var(--cell) + var(--gap)) 0 / var(--cell) var(--cell) no-repeat, linear-gradient(var(--accent-35) 0 0) 0 calc(var(--cell) + var(--gap)) / var(--cell) var(--cell) no-repeat, linear-gradient(var(--accent) 0 0) calc(var(--cell) + var(--gap)) calc(var(--cell) + var(--gap)) / var(--cell) var(--cell) no-repeat;flex:none}.pixel-mark-large{--cell:10px;--gap:3px}.site-header:after,.site-footer:before{content:"";pointer-events:none;border-image:linear-gradient(var(--border) 0 0) fill 0 // 0 100vw;height:1px;position:absolute;left:0;right:0}.site-header:before,.site-footer:after,.card:after{content:"";pointer-events:none;background:linear-gradient(var(--tick) 0 0) left 0 top 4px / 9px 1px no-repeat, linear-gradient(var(--tick) 0 0) left 4px top 0 / 1px 9px no-repeat, linear-gradient(var(--tick) 0 0) right 0 top 4px / 9px 1px no-repeat, linear-gradient(var(--tick) 0 0) right 4px top 0 / 1px 9px no-repeat, linear-gradient(var(--tick) 0 0) left 0 bottom 4px / 9px 1px no-repeat, linear-gradient(var(--tick) 0 0) left 4px bottom 0 / 1px 9px no-repeat, linear-gradient(var(--tick) 0 0) right 0 bottom 4px / 9px 1px no-repeat, linear-gradient(var(--tick) 0 0) right 4px bottom 0 / 1px 9px no-repeat;position:absolute}.site-header{width:100%;max-width:var(--page-width);padding:0 var(--gutter);grid-template-columns:1fr auto 1fr;align-items:stretch;margin:0 auto;display:grid;position:relative}.site-header>.button{min-height:2.5rem;margin:var(--bar-space);grid-column:3;place-self:center end}.site-header:after{bottom:0}.site-header:before{left:calc(var(--gutter) - 4px);right:calc(var(--gutter) - 4px);height:9px;bottom:-4px}.wordmark{padding-inline:var(--inset);color:var(--fg);letter-spacing:-.01em;grid-column:2;align-items:center;gap:.6rem;font-size:1.0625rem;font-weight:650;text-decoration:none;display:inline-flex}.wordmark-first{color:var(--muted)}.wordmark:hover{color:var(--fg);box-shadow:inset 0 -2px 0 var(--accent)}.wordmark:hover .wordmark-second{color:var(--accent)}@media (width<=34rem){.label-wide{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.site-footer{width:100%;max-width:var(--page-width);padding:var(--inset) calc(var(--gutter) + var(--inset));padding-bottom:calc(var(--inset) + env(safe-area-inset-bottom));color:var(--muted);text-align:center;margin:0 auto;font-size:.68rem;position:relative}.site-footer:before{top:0}.site-footer:after{left:calc(var(--gutter) - 4px);right:calc(var(--gutter) - 4px);height:9px;top:-4px}.site-footer p{margin:0}.site-footer a,.card-foot a{color:var(--muted);padding-block:.45rem;text-decoration:none;display:inline-block}.site-footer a:hover,.card-foot a:hover{color:var(--accent-ink);box-shadow:inset 0 -1px 0 var(--accent)}.button{border:1px solid var(--border-strong);background:var(--surface);min-height:2.75rem;color:var(--fg);font:inherit;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:.45rem;padding:.5rem .9rem;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);text-decoration:none}.button-quiet{color:var(--muted);background:0 0;border-color:#0000}.button-quiet:hover{border-color:var(--border-strong);background:var(--surface);color:var(--fg)}.button.mono{font-size:.7rem;font-weight:600}.button-small{min-height:2.25rem;padding:.3rem .65rem;font-size:.8125rem}.button[data-state=done]{background:var(--success-soft);border-color:var(--success);color:var(--success)}.notice{margin:0 0 var(--bar-space);color:var(--muted);font-size:.875rem}.notice .mono{color:var(--accent-ink);margin-right:.35rem}.text-head{margin:var(--space-section) 0;padding-inline:var(--inset)}.text-head h1{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(1.6rem,1.2rem + 1.8vw,2.4rem);font-weight:650;line-height:1.15}.text-description{margin:var(--bar-space) 0 0;color:var(--muted);max-width:var(--measure);font-size:1.0625rem}.card{background:var(--surface);border:1px solid var(--border);position:relative}.card:after{inset:-5px}.win-bar{padding:var(--bar-space) var(--inset);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;display:flex}.win-dots{gap:.35rem;display:flex}.win-dots span{border:1px solid var(--border-strong);border-radius:50%;width:.6rem;height:.6rem}.win-type{color:var(--muted);font-size:.66rem}.card-bar{gap:var(--inset);padding:var(--inset);border-bottom:1px solid var(--border);display:grid}.card-meta{gap:var(--bar-space);color:var(--muted);margin:0;padding:0;font-size:.68rem;list-style:none;display:grid}.card-meta li{align-items:center;gap:.4rem;display:inline-flex}.card-meta .icon{color:var(--tick)}.actions{gap:var(--bar-space);flex-wrap:wrap;display:flex}.card-body{padding:var(--inset)}.card-foot{padding:var(--bar-space) var(--inset);border-top:1px solid var(--border);flex-wrap:wrap;gap:0 1.5rem;font-size:.68rem;display:flex}.card-foot a[target=_blank]:after{content:" ↗";content:" ↗" / "";color:var(--accent)}.status{inset-inline:1rem;z-index:20;border-left:3px solid var(--accent);background:var(--solid);width:fit-content;max-width:32rem;color:var(--on-solid);box-shadow:var(--shadow-strong);margin:0 auto;padding:.7rem 1rem;font-size:.9375rem;font-weight:600;animation:.18s ease-out toast-in;position:fixed;bottom:1rem}.status:empty{display:none}@keyframes toast-in{0%{opacity:0;translate:0 6px}}@media (width>=40rem){:root{--inset:1.5rem}.card-meta{gap:var(--bar-space) var(--inset);flex-wrap:wrap;display:flex}}.hero{isolation:isolate;min-height:calc(100dvh - 10rem);padding:3rem var(--inset);text-align:center;place-content:center;justify-items:center;gap:1rem;display:grid;position:relative}.hero:before{content:"";z-index:-1;pointer-events:none;background:conic-gradient(at 6px 6px, transparent 75%, var(--pix) 0) calc(2.5rem - 3px) calc(1.5rem - 3px) / 9rem 9rem, conic-gradient(at 6px 6px, transparent 75%, var(--pix) 0) calc(7.5rem - 3px) calc(5.5rem - 3px) / 13rem 13rem, radial-gradient(circle, var(--dot) 1px, transparent 1.5px) 0 0 / 1rem 1rem;position:absolute;inset:0;-webkit-mask-image:radial-gradient(55% 55%,#000 30%,#0000 100%);mask-image:radial-gradient(55% 55%,#000 30%,#0000 100%)}.hero-label{color:var(--muted);margin:.5rem 0 0}.hero-title{letter-spacing:-.035em;margin:0;font-size:clamp(2.6rem,1.5rem + 5.5vw,4.25rem);font-weight:650;line-height:1.05}.hero-title-muted{color:var(--muted)}.hero-title-accent{color:var(--accent)}.hero-text{max-width:32rem;font-size:1.0625rem}.hero-text p{color:var(--muted)}.hero-text p:first-child{color:var(--fg);margin-bottom:.4em;font-size:1.3rem;font-weight:600}.prose{max-width:var(--measure);overflow-wrap:break-word;font-size:1.125rem;line-height:1.7}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose :is(h1,h2,h3,h4,h5,h6){letter-spacing:-.015em;text-wrap:balance;margin:1.8em 0 .5em;font-weight:650;line-height:1.25}.prose h1{font-size:1.9rem}.prose h2{font-size:1.4rem}.prose h3{font-size:1.2rem}.prose :is(h4,h5,h6){font-size:1.05rem}.prose :is(p,ul,ol,blockquote,table,.code-block,pre,.callout,dl){margin:0 0 1em}.prose :is(ul,ol){padding-inline-start:1.4em}.prose li+li,.prose li>:is(ul,ol){margin-top:.3em}.prose li>p{margin:0}.prose li::marker{color:var(--muted)}.prose blockquote{border-inline-start:2px solid var(--border-strong);color:var(--muted);padding:.1em 0 .1em 1em}.prose blockquote>:last-child{margin-bottom:0}.prose code{background:var(--surface-2);font-family:var(--font-mono);padding:.1em .35em;font-size:.86em}.prose pre{border:1px solid var(--border);background:var(--surface-2);padding:1rem;font-size:.875rem;line-height:1.55;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}.code-block{border:1px solid var(--border);background:var(--surface-2)}.code-bar{padding:var(--bar-space) var(--bar-space) var(--bar-space) var(--inset);border-bottom:1px solid var(--border);color:var(--muted);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;display:flex}.code-block pre{border:0;margin:0}.prose table{border-collapse:collapse;font-size:1rem;display:block;overflow-x:auto}.prose :is(th,td){border-bottom:1px solid var(--border);text-align:start;vertical-align:top;padding:.5rem .9rem .5rem 0}.prose th{border-bottom-color:var(--border-strong);color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:600}.prose hr{border:0;border-top:1px solid var(--border);margin:2em 0}.prose .contains-task-list{padding-inline-start:.2em;list-style:none}.prose .task-list-item input{accent-color:var(--accent);margin:0 .55em 0 0;translate:0 .1em}.callout{--callout:var(--accent);border:1px solid var(--border);border-inline-start:2px solid var(--callout);background:var(--surface-2);padding:.75rem 1rem}.callout>:last-child{margin-bottom:0}.prose .callout-title{color:var(--callout);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3em;font-size:.72rem}.callout-tip{--callout:var(--success)}.callout-important{--callout:var(--important)}.callout-warning{--callout:var(--warning)}.callout-caution{--callout:var(--danger)}.prose .footnotes{border-top:1px solid var(--border);color:var(--muted);margin-top:2.5em;padding-top:1em;font-size:.95rem}.display-panel{border:1px solid var(--border-strong);background:var(--surface);width:min(27rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--fg);box-shadow:var(--shadow-strong);padding:0;overflow:auto}.display-panel::backdrop{background:#0000004d}.display-panel-head{padding:var(--bar-space) var(--bar-space) var(--bar-space) 1.25rem;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;display:flex}.display-panel-title{margin:0;font-weight:600}.display-form{padding:1rem 1.25rem 1.25rem}.display-form fieldset{border:0;margin:0 0 1rem;padding:0}.display-form legend{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;padding:0;font-size:.66rem}.segmented{flex-wrap:wrap;display:flex}.segmented label{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;align-items:center;min-height:2.5rem;margin:0 -1px -1px 0;padding:.35rem .8rem;font-size:.9375rem;display:inline-flex;position:relative}.segmented label:hover{z-index:1;border-color:var(--accent);background:var(--accent-soft)}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented label:has(input:checked){z-index:1;border-color:var(--solid);background:var(--solid);color:var(--on-solid)}.segmented label:has(input:focus-visible){z-index:2;outline:2px solid var(--focus);outline-offset:2px}.segmented [data-font-preview=readable]{font-family:Atkinson Hyperlegible Next,Atkinson Hyperlegible,Verdana,Tahoma,sans-serif}.segmented [data-font-preview=serif]{font-family:Charter,Bitstream Charter,Sitka Text,Cambria,Georgia,serif}.display-note{color:var(--muted);margin:.25rem 0 1rem;font-size:.8125rem}.error-title{letter-spacing:-.03em;margin:0;font-size:clamp(1.8rem,1.3rem + 2.5vw,2.6rem);font-weight:650;line-height:1.1}.error-body{max-width:32rem;color:var(--muted);margin:0}.error-actions{margin:var(--bar-space) 0 0}.warning-banner{--tone:var(--danger);gap:var(--bar-space);margin:var(--space-section) var(--inset) 0;padding:var(--inset);border:1px solid var(--tone);background:color-mix(in oklab, var(--tone) 8%, var(--surface));color:var(--tone);display:grid}.warning-banner p{margin:0}.warning-banner-warning{--tone:var(--warning)}.warning-banner-label{font-weight:700}.warning-banner-text{font-size:1rem;font-weight:700;line-height:1.45}.warning-banner-meter{align-items:center;gap:var(--bar-space) var(--inset);flex-wrap:wrap;display:flex}.view-squares{flex-wrap:wrap;gap:4px;display:flex}.view-square{border:1px solid var(--tone);width:10px;height:10px}.view-square-read{background:var(--tone)}.gate-body{justify-items:start;gap:var(--inset);max-width:var(--measure);padding:var(--inset);display:grid}.gate-body p{color:var(--muted);margin:0}.gate-body .gate-error{color:var(--danger);font-weight:700}.field{gap:.4rem;width:min(100%,24rem);display:grid}.field-label{color:var(--muted)}.field-input{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:2.75rem;color:var(--fg);font:inherit;border-radius:0;padding:.5rem .75rem}.field-input:focus-visible{border-color:var(--focus)}.field-input[aria-invalid=true]{border-color:var(--danger)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media print{body:before,.site-header,.site-footer,.win-bar,.actions,.card-foot,.status,.code-bar{display:none!important}.card{border:0}.card:after{display:none}.card-bar{padding-inline:0}.card-body{padding:1rem 0 0}}
