@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-normal-6IfK1voy.woff2)format("woff2"),url(/assets/fraunces-latin-400-normal-NUPT2cO8.woff)format("woff")}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-italic-ChpO6tcr.woff2)format("woff2"),url(/assets/fraunces-latin-400-italic-B7iDoVhm.woff)format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-normal-DnGCNyPD.woff2)format("woff2"),url(/assets/fraunces-latin-500-normal-BTR4KCeb.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-italic-CZTNEAuW.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-italic-CsGl1sm0.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}:root{--bg:#fafaf9;--ink:#1c1917;--muted:#78716c;--faint:#a8a29e;--line:#e7e5e4;--accent:#065f46;--accent-dark:#064e3b;--serif:"Fraunces", Georgia, serif;--sans:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;min-height:100dvh;margin:0;line-height:1.5}main{max-width:28rem;padding:2.5rem 1.25rem;padding-top:max(2.5rem, env(safe-area-inset-top));padding-bottom:max(2.5rem, env(safe-area-inset-bottom));margin:0 auto}p{margin:0}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.label{letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:500}.muted{color:var(--muted)}.note{text-align:center;color:var(--muted);font-size:.875rem;font-style:italic;line-height:1.6}.top{text-align:center;margin-bottom:2.5rem}.brand{font-family:var(--serif);align-items:center;gap:.4em;font-size:2.25rem;font-weight:500;line-height:1.1;display:inline-flex}.mark{flex:none;width:1em;height:1em}.mark-lg{width:.9em;height:.9em}.mark-on{fill:var(--accent);stroke:var(--accent);stroke-width:2px}.mark-off{fill:none;stroke:var(--faint);stroke-width:2px}.tagline{margin-top:.4rem;font-size:.875rem;font-style:italic}.primary{letter-spacing:.18em;text-transform:uppercase;background:var(--accent);width:100%;min-height:44px;color:var(--bg);border:none;border-radius:0;padding:1.05rem;font-size:11px;font-weight:500;transition:background .2s;display:block}.primary:active{background:var(--accent-dark)}.done-status{text-align:center;letter-spacing:.18em;text-transform:uppercase;background:var(--line);width:100%;color:var(--muted);margin-top:2.25rem;padding:1.05rem;font-size:11px;font-weight:500;display:block}.text-btn{min-height:44px;color:var(--muted);text-underline-offset:3px;background:0 0;border:none;padding:.5rem .75rem;font-size:.875rem;text-decoration:underline}.text-btn:hover{color:var(--ink)}.actions{text-align:center;border-top:1px solid var(--line);justify-content:center;gap:1.5rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.grid-section{border-top:1px solid var(--line);margin-top:2rem;padding-top:2rem}.grid-header{justify-content:space-between;align-items:baseline;margin-bottom:1.25rem;display:flex}.grid-header .label{color:var(--muted)}.grid-count{font-family:var(--serif);color:#44403c;font-size:1rem}.grid-count span{color:var(--muted);font-size:.875rem}.grid{grid-template-columns:repeat(10,1fr);gap:4px;margin-bottom:.75rem;display:grid}@media (width>=380px){.grid{gap:5px}}.square{aspect-ratio:1;background:var(--line);min-width:0;font-family:var(--serif);appearance:none;border:none;border-radius:2px;padding:0;font-size:.7rem;line-height:1;transition:transform .15s,background .2s}.square:active{transform:scale(.92)}.square.done{background:var(--accent);color:var(--bg);font-size:.8rem}.square.current{background:var(--bg);border:2px solid var(--accent);color:var(--ink);font-weight:500}.square.locked{color:var(--faint);cursor:default}.square.locked:active{transform:none}.notice{text-align:center;min-height:1.4em;color:var(--accent);margin-bottom:1rem;font-size:.875rem;font-style:italic}.step-head{text-align:center;margin-bottom:2rem}.step-heading{margin:0;font-weight:400}.step-heading .label{color:var(--muted);margin-bottom:.75rem;display:block}.step-num{font-family:var(--serif);margin-bottom:.4rem;font-size:6rem;font-weight:500;line-height:1;display:block}.step-of{font-family:var(--serif);color:var(--muted);font-size:.875rem;font-style:italic;display:block}.step-subtitle{text-align:center;margin-bottom:1.75rem;font-size:1.25rem;font-weight:500}.banner{margin:-1rem 0 1.75rem}.items{margin:0;padding:0;list-style:none}.item{cursor:pointer;align-items:flex-start;gap:.875rem;min-height:44px;margin-bottom:1.1rem;padding:.25rem 0;display:flex}.item input{accent-color:var(--accent);cursor:pointer;flex:none;width:24px;height:24px;margin:2px 0 0}.item-text{flex:1;min-width:0}.item-name{font-size:1rem;display:block}.item.checked .item-name{color:var(--muted);text-decoration:line-through}.item-spec{color:var(--muted);margin-top:2px;font-size:.875rem;display:block}.item-media{max-width:100%;margin-top:.5rem;display:block}.figure{flex:none;width:80px;height:80px;margin-top:-6px;position:relative}.figure img{opacity:0;filter:invert(.89);width:100%;height:100%;display:block;position:absolute;inset:0}.figure img.on,.figure img:only-child{opacity:1}.item.checked .figure img{opacity:0;filter:invert(.89)opacity(.45)}.item.checked .figure img.on,.item.checked .figure img:only-child{opacity:1}@media (width<=400px){.figure{width:72px;height:72px}}.secondary{border:1px solid var(--accent);width:100%;min-height:44px;color:var(--accent);letter-spacing:.18em;text-transform:uppercase;text-align:center;background:0 0;border-radius:0;padding:1.05rem;font-size:11px;font-weight:500;transition:background .2s;display:block}.secondary:hover,.secondary:active{background:#065f4612}.card .secondary{padding:.85rem}.hero{text-align:center;margin-bottom:2.5rem}.lede{max-width:24rem;margin:0 auto 1.5rem;font-size:1.0625rem;line-height:1.6}.mini-grid-wrap{width:max-content;margin:1.5rem auto 0}.mini-grid{grid-template-columns:repeat(10,11px);gap:3px;display:grid}.mini{background:var(--line);border-radius:2px;width:11px;height:11px}.mini.done{background:var(--accent)}.mini.current{box-shadow:inset 0 0 0 2px var(--accent);background:0 0}.mini-caption{text-align:center;color:var(--muted);margin-top:.6rem;font-size:.8125rem}.section-label{text-align:center;margin:0 0 1rem;display:block}.how{border-top:1px solid var(--line);margin:0 0 2.5rem;padding-top:1.5rem}.how-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.how-list li{align-items:flex-start;gap:.875rem;display:flex}.how-n{font-family:var(--serif);color:var(--accent);text-align:center;flex:none;width:1.5rem;font-size:1.6rem;line-height:1.1}.how-text{font-size:.95rem;line-height:1.55}.journeys{border-top:1px solid var(--line);padding-top:1.5rem}.journeys .cards{margin-top:0}.panel-text{text-align:center;color:var(--muted);max-width:24rem;margin:0 auto 1rem;font-size:.9rem;line-height:1.6}.install .secondary{max-width:20rem;margin:0 auto 1rem}.prose.left{text-align:left}.prose-title{font-family:var(--serif);margin:1.5rem 0 .4rem;font-size:1.3rem;font-weight:500}.prose p+.prose-title{margin-top:1.75rem}.code{border:1px solid var(--line);text-align:left;-webkit-overflow-scrolling:touch;background:#f5f5f4;margin:.75rem 0 0;padding:1rem;font-size:.8rem;line-height:1.45;overflow:auto}.rules{text-align:left;margin:.5rem 0 1rem;padding-left:1.25rem}.rules li{margin:.4rem 0}.whats-new{border-left:2px solid var(--accent);background:#065f460a;margin:-.75rem 0 1.75rem;padding:.75rem 1rem}.whats-new .label{margin-bottom:.25rem;display:block}.whats-new-list{margin:0;padding:0;font-size:.9rem;line-height:1.5;list-style:none}.whats-new-list li+li{margin-top:.15rem}.whats-new-next{color:var(--muted);margin-top:.35rem;font-size:.8125rem}.timer{flex-wrap:wrap;align-items:center;gap:.75rem;min-height:44px;margin:-.6rem 0 1.1rem 2.4rem;display:flex}.timer-btn{border:1px solid var(--line);min-height:36px;color:var(--accent);letter-spacing:.04em;background:0 0;border-radius:2px;padding:.3rem .75rem;font-size:.8125rem}.timer-btn:hover{border-color:var(--accent)}.timer-digits{font-family:var(--serif);font-variant-numeric:tabular-nums;min-width:3.2rem;color:var(--ink);font-size:2rem;line-height:1}.timer.ready .timer-digits{color:var(--muted)}.timer-note{color:var(--muted);font-size:.8125rem}.transfer-field{margin:0 0 1rem;display:block}.transfer-field .label{margin-bottom:.35rem;display:block}.transfer-input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:2px;padding:.6rem .75rem;font-size:.8125rem}.transfer-btn{width:auto;padding:.75rem 1.25rem}.site-footer{border-top:1px solid var(--line);text-align:center;color:var(--muted);margin-top:3rem;padding-top:1.25rem;font-size:.8125rem;line-height:1.7}.site-footer a{color:inherit}.footer-links a,a.text-btn{align-items:center;min-height:44px;padding:0 .25rem;display:inline-flex}.credits{margin-top:.75rem}.finished{text-align:center;padding:1rem 0 2rem}.finished .big{font-family:var(--serif);font-size:3rem;font-weight:500}.errors{color:var(--muted);padding-left:1.25rem;font-size:.875rem}.top-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2rem;padding-bottom:.75rem;display:flex}.brand-link{font-family:var(--serif);color:var(--ink);align-items:center;gap:.4em;min-height:44px;font-size:1.5rem;font-weight:500;text-decoration:none;display:inline-flex}.nav{gap:1rem;display:flex}.nav a{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);align-items:center;min-height:44px;padding:0 .25rem;font-size:11px;font-weight:500;text-decoration:none;display:inline-flex}.nav a.active,.nav a:hover{color:var(--ink)}.page-title{font-family:var(--serif);text-align:center;margin:0 0 .5rem;font-size:2rem;font-weight:500;line-height:1.15}.prose{text-align:center;margin:0 auto 2rem}.prose p+p{margin-top:.75rem}.centered{text-align:center;margin-bottom:2rem}a.primary{text-align:center;text-decoration:none}.primary:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}.cards{gap:1rem;margin:2rem 0;display:grid}.card{border:1px solid var(--line);padding:1.25rem}.card.active{border-color:var(--accent)}.card-title{font-family:var(--serif);margin:0 0 .4rem;font-size:1.4rem;font-weight:500}.card-desc{margin-bottom:.75rem}.card-meta{color:var(--muted);margin-bottom:1rem;font-size:.875rem}.card .primary{padding:.85rem}.card-actions{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-top:.5rem;display:flex}.panel{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:2rem}.panel-title{font-family:var(--serif);text-align:center;margin:0 0 .5rem;font-size:1.4rem;font-weight:500}.panel .label{margin:1.25rem 0 .5rem;display:block}.textarea{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fff;border-radius:2px;margin-bottom:1rem;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.4;display:block}.errors{color:#9a3412;margin:0 0 1rem;padding-left:1.25rem;font-size:.875rem}.confirm{text-align:center;border:1px solid var(--line);margin:.5rem 0 1rem;padding:.75rem;display:block}.confirm-question{margin-bottom:.25rem;font-size:.875rem;display:block}.confirm-actions{justify-content:center;gap:1rem;display:flex}.text-btn.danger{color:#9a3412}.quiet{text-align:center;border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem}.quiet .text-btn{color:var(--muted);font-size:.8rem}.alert{border:1px solid #9a3412;max-width:28rem;margin:1rem auto;padding:1rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.finish-head{text-align:center;margin-bottom:1.5rem}.finish-title{font-family:var(--serif);margin:.5rem 0 0;font-size:2.25rem;font-weight:500;line-height:1.1}.standard{margin-top:2.5rem}.standard-list{border-top:1px solid var(--line);margin:1.25rem 0 0;padding:0;list-style:none}.standard-list li{border-bottom:1px solid var(--line);flex-direction:column;padding:.7rem 0;display:flex}.standard-spec{color:var(--muted);font-size:.875rem}.finish-next{margin-top:2.5rem}.finish-next .note{margin-bottom:1.25rem}.finish-next .share{margin-top:1rem}.finish-links{justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.vote{border:1px solid var(--accent);text-align:center;margin:.5rem 0 1.5rem;padding:1rem 1rem .9rem}.vote-title{font-family:var(--serif);margin:0 0 .75rem;font-size:1.25rem;font-weight:500}.vote-row{gap:.5rem;display:flex}.vote-btn{border:1px solid var(--line);background:#fff;border-radius:0;flex:1;min-height:44px;padding:.6rem .25rem;font-size:.875rem;transition:border-color .2s,background .2s}.vote-btn:hover,.vote-btn:active{border-color:var(--accent);background:#065f4612}.vote-note{color:var(--muted);margin-top:.75rem;font-size:.8rem;font-style:italic}.vote-thanks{color:var(--accent);font-size:.875rem;font-style:italic}.share{margin-top:1rem}.share-preview{border:1px solid var(--line);width:100%;height:auto;margin-bottom:1rem;display:block}a.transfer-btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.done-status.complete{color:var(--accent)}.top-bar{flex-wrap:wrap}.nav{margin-left:auto}@media (width<=359px){.brand-link{font-size:1.3rem}.nav{gap:.5rem}.nav a{letter-spacing:.1em;padding:0}}.step-done{border-top:1px solid var(--line);text-align:center;margin-top:1.5rem;padding-top:1.25rem}.step-done-title{font-family:var(--serif);color:var(--accent);margin-bottom:.4rem;font-size:1.6rem;font-weight:500}.step-done .note{margin-bottom:1.25rem}.step-done .vote{margin:0 0 1.25rem}.running{margin-bottom:2.5rem}.running-card{border:1px solid var(--line);align-items:center;gap:1rem;margin-bottom:.75rem;padding:1rem;display:flex}.mini-grid.compact{flex:none;grid-template-columns:repeat(10,6px);gap:1px}.mini-grid.compact .mini{border-radius:1px;width:6px;height:6px}.mini-grid.compact .mini.current{box-shadow:inset 0 0 0 1px var(--accent)}.running-body{flex:1;min-width:0}.running-title{font-family:var(--serif);margin:0 0 .15rem;font-size:1.25rem;font-weight:500}.running-meta{color:var(--muted);margin-bottom:.75rem;font-size:.875rem}.running-body .primary,.running-body .secondary{padding:.75rem}.running-finished{text-align:center;color:var(--muted);margin-top:.5rem;font-size:.875rem}.running-finished a{color:inherit}.categories{margin-bottom:2.5rem}.cat-card{border:1px solid var(--line);color:inherit;margin-bottom:.75rem;padding:1.1rem 1.25rem;text-decoration:none;transition:border-color .2s;display:block}.cat-card:hover{border-color:var(--accent)}.cat-card-title{font-family:var(--serif);font-size:1.4rem;font-weight:500;display:block}.cat-card-desc{margin-top:.25rem;display:block}.cat-card-meta{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-top:.6rem;font-size:11px;font-weight:500;display:block}.coming-line{text-align:center;color:var(--muted);margin-top:.75rem;font-size:.875rem;font-style:italic}.cat-section{margin-top:2rem}.cat-title{font-family:var(--serif);margin:0 0 .25rem;font-size:1.6rem;font-weight:500}.cat-title a{color:inherit;text-decoration:none}.cat-title a:hover{text-underline-offset:4px;text-decoration:underline}.cat-desc{color:var(--muted)}.cat-section .cards{margin:1rem 0 0}.cat-head{text-align:center}.cat-head .page-title{margin-top:.4rem}.coming{margin-top:2.5rem}.coming-list{border-top:1px solid var(--line);margin:0 0 .75rem;padding:0;list-style:none}.coming-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.7rem 0;display:flex}.coming-title{font-family:var(--serif);font-size:1.1rem}.coming-note{color:var(--muted);text-align:right;font-size:.875rem}.items>li{border-bottom:1px solid var(--line);padding:.8rem 0}.items>li:first-child{border-top:1px solid var(--line)}.item{margin-bottom:0;padding:0}.item-detail{color:var(--muted);margin-top:3px;font-size:.8125rem;font-style:italic;line-height:1.45;display:block}.item.checked .item-detail,.item.checked .item-spec{color:var(--faint)}.timer{min-height:0;margin:.6rem 0 0 2.4rem}.primary,.secondary,.vote-btn,.card,.cat-card,.running-card,.vote,.whats-new,.step-done,.confirm{border-radius:2px}.top-bar-lead{align-items:center;gap:.15rem;display:flex}.back-btn{width:44px;height:44px;color:var(--muted);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:-.75rem;transition:color .15s,background .15s;display:inline-flex}.back-btn:hover{color:var(--ink);background:#1c19170d}.crumbs{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;margin:-1.1rem 0 1.5rem;font-size:11px;font-weight:500;display:flex}.crumb{align-items:center;display:inline-flex}.crumbs a,.crumbs .here{min-height:32px;color:inherit;align-items:center;text-decoration:none;display:inline-flex}.crumbs a:hover{color:var(--ink);text-underline-offset:4px;text-decoration:underline}.crumbs .here{color:var(--ink)}.crumbs .sep{color:var(--faint);padding:0 .5rem}.cat-card-eyebrow,.cat-section>.label{color:var(--muted);margin-bottom:.3rem;display:block}.cat-section>.label{margin-bottom:.1rem}.figures{flex:none;width:80px;height:80px;margin-top:-6px;position:relative}.figure-slot{opacity:0;transition:opacity .3s;position:absolute;inset:0}.figure-slot.on{opacity:1}.figures .figure{margin-top:0}@media (width<=400px){.figures{width:72px;height:72px}}@media (width<=430px){.brand-link{font-size:1.3rem}.nav{gap:.5rem}.nav a{letter-spacing:.1em;padding:0}}.figure,.figure-slot{display:block}.maker{border:1px solid var(--accent);text-align:center;color:var(--ink);border-radius:2px;margin-bottom:1.5rem;padding:1.25rem 1.25rem 1.35rem;font-size:1rem;line-height:1.5}.maker .label{margin-bottom:.35rem;display:block}.maker-title{font-family:var(--serif);margin:0 0 .4rem;font-size:1.6rem;font-weight:500}.maker-text{margin-bottom:1rem}.maker-btn{text-decoration:none}.site-footer .maker a.maker-btn{color:var(--accent)}.maker-icon{border-radius:16px;width:72px;height:72px;margin:0 auto .85rem;display:block}.site-footer .maker a.maker-video{color:var(--muted);margin-top:.5rem}.site-footer .maker a.maker-video:hover{color:var(--ink)}.cat-icon{color:var(--accent);flex:none;display:block}.cat-card-row{align-items:center;gap:.6rem;display:flex}.cat-head-row{justify-content:center;align-items:center;gap:.6rem;margin:.4rem 0 .5rem;display:flex}.cat-head .cat-head-row .page-title{margin:0}.cat-title-row{align-items:center;gap:.5rem;display:flex}.install-steps{text-align:left;gap:.6rem;max-width:24rem;margin:0 auto 1rem;padding:0;list-style:none;display:grid}.install-steps li{grid-template-columns:28px 1fr;align-items:start;line-height:1.5;display:grid}.install-glyph{color:var(--accent);margin-top:2px;display:block}.install-note{text-align:center;color:var(--muted);max-width:24rem;margin:0 auto 1rem;font-size:.8125rem;line-height:1.6}.contact{text-align:center;margin:.5rem 0 1rem}.contact .label{margin-bottom:.35rem;display:block}.finish-contact{text-align:center;color:var(--muted);margin-top:1.5rem;font-size:.875rem}.site-footer .contact a,.finish-contact a{min-height:44px;color:var(--accent);align-items:center;display:inline-flex}.whats-new-list .change{align-items:baseline;gap:.6rem;display:flex}.whats-new-list .change+.change{border-top:1px solid var(--line);margin-top:.35rem;padding-top:.35rem}.change-tag{box-sizing:border-box;text-align:center;letter-spacing:.18em;text-transform:uppercase;border:1px solid #0000;border-radius:2px;flex:0 0 72px;padding:.1rem .4rem;font-size:11px;font-weight:500;line-height:1.4}.change-new .change-tag{background:var(--accent);border-color:var(--accent);color:#fff}.change-changed .change-tag{border-color:var(--accent);color:var(--accent)}.change-dropped .change-tag{border-color:var(--line);color:var(--muted)}.change-text{flex-wrap:wrap;flex:auto;align-items:baseline;column-gap:.5rem;min-width:0;display:flex}.change-name{color:var(--ink);font-size:1rem;font-weight:500}.change-dropped .change-name{color:var(--muted)}.change-spec{color:var(--ink)}.change-was{color:var(--muted)}.finish-outro{max-width:26rem;font-family:var(--serif);text-align:center;color:var(--ink);margin:1.5rem auto;font-size:1.15rem;line-height:1.5}.finish-outro p{margin:0}.finish-outro p+p{margin-top:.75rem}
