@font-face{font-family:Zilla Slab;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6aff442b893b5237-s.2rk-i3moeh87f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Zilla Slab;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5722f65fbf571a86-s.p.329kkwbds1fbr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Zilla Slab;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7c646850b09d8fcf-s.0yruz1usta6ty.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Zilla Slab;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2f6602f023305084-s.p.1kxa-ypd12mt_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Zilla Slab Fallback;src:local(Times New Roman);ascent-override:88.36%;descent-override:23.96%;line-gap-override:0.0%;size-adjust:106.83%}.q5LJQq_className{font-family:Zilla Slab,Zilla Slab Fallback;font-style:normal}.q5LJQq_variable{--font-slab:"Zilla Slab", "Zilla Slab Fallback"}
@font-face{font-family:Gabarito;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/ffd144a06bc467d1-s.14-b1bivpjn73.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Gabarito;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/e09a3b91bd741a49-s.p.15uhe87qgyi9v.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Gabarito Fallback;src:local(Arial);ascent-override:94.81%;descent-override:26.22%;line-gap-override:0.0%;size-adjust:99.15%}.bB9TcW_className{font-family:Gabarito,Gabarito Fallback;font-style:normal}.bB9TcW_variable{--font-text:"Gabarito", "Gabarito Fallback"}
:root{--paper:#fff;--surface2:#f4f4f1;--line:#e4e4e0;--text:#121212;--text2:#6b6b68;--text3:#8e8e89;--lime:#d8f24a;--lime-soft:#f1fbc8;--lime-edge:#a8c428;--on-lime:#121212;--cell:#fff;--cell-text:#121212;--anchor:#121212;--anchor-text:#fff;--empty:#f7f7f4;--grid:#121212;--frame:#121212;--button-face:#1a1a19;--button-edge:#000;--button-text:#fff;--raised-face:#fff;--raised-edge:#d7d7d2;--press:#f0f0ec;--slab:var(--font-slab), "Zilla Slab", Georgia, serif;--sans:var(--font-text), "Gabarito", ui-sans-serif, system-ui, sans-serif;--wrap:1080px;--gutter:20px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#121212;--surface2:#232322;--line:#2e2e2b;--text:#f2f2ee;--text2:#9a9a95;--text3:#75756f;--lime-soft:#46511a;--cell:#121212;--cell-text:#f2f2ee;--anchor:#f2f2ee;--anchor-text:#121212;--empty:#1a1a19;--grid:#4a4a46;--frame:#f2f2ee;--button-face:#f2f2ee;--button-edge:#b4b4ae;--button-text:#121212;--raised-face:#262624;--raised-edge:#0a0a09;--press:#2c2c2a}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.55;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit}p{margin:0 0 1em}h1,h2,h3{font-family:var(--slab);letter-spacing:-.01em;text-wrap:balance;margin:0 0 .45em;font-weight:700;line-height:1.08}h1{font-size:clamp(2.5rem,6.4vw,4.25rem)}h2{font-size:clamp(1.85rem,4vw,2.7rem);font-weight:600}h3{font-size:1.35rem;font-weight:600}mark,.mark{background:var(--lime);color:var(--on-lime);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .12em}::selection{background:var(--lime);color:var(--on-lime)}:focus-visible{outline:3px solid var(--lime-edge);outline-offset:3px;border-radius:6px}.skip{position:absolute;left:-9999px}.skip:focus{left:var(--gutter);z-index:100;background:var(--lime);color:var(--on-lime);padding:8px 14px;top:12px}.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter) * 2);padding-inline:var(--gutter);margin:0 auto}.narrow{max-width:calc(720px + var(--gutter) * 2)}.lede{color:var(--text2);max-width:34em;font-size:clamp(1.1rem,2.2vw,1.3rem)}.muted{color:var(--text2)}.small{font-size:.9rem}.section{padding-block:clamp(56px,9vw,104px)}.section+.section{border-top:1px solid var(--line)}.section-head{max-width:40em;margin-bottom:36px}.rule{border:0;border-top:2px solid var(--text);margin:0}.site-header{z-index:20;background:var(--paper);border-bottom:2px solid var(--text);position:sticky;top:0}.site-header-inner{align-items:center;gap:24px;height:64px;display:flex}.wordmark{font-family:var(--slab);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.6rem;font-weight:700;text-decoration:none;display:inline-flex}.wordmark-icon{border-radius:8px}.wordmark-s{font-size:1.3rem}.wordmark-s .wordmark-icon{border-radius:6px}.site-nav{gap:22px;margin-left:auto;font-size:.98rem;font-weight:600;display:flex}.site-nav a{color:var(--text2);transition:color .2s var(--ease);text-decoration:none}.site-nav a:hover{color:var(--text)}@media (max-width:760px){.hide-s{display:none}.site-nav{gap:16px;font-size:.92rem}}@media (max-width:560px){.site-header-inner{gap:14px}.site-nav a:not(:first-child){display:none}.wordmark{font-size:1.4rem}}.site-footer{border-top:2px solid var(--text);margin-top:0;padding-block:48px 32px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;display:grid}.footer-grid nav{flex-direction:column;gap:8px;display:flex}.footer-grid h2{font-family:var(--sans);letter-spacing:0;margin:0 0 4px;font-size:.95rem;font-weight:700}.footer-grid a{color:var(--text2);text-decoration:none}.footer-grid a:hover{color:var(--text)}.footer-about p{color:var(--text2);max-width:22em;margin-top:12px}.footer-fine{border-top:1px solid var(--line);color:var(--text2);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:40px;padding-top:20px;font-size:.85rem;display:flex}@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}}.button{--face:var(--lime);--edge:var(--lime-edge);--ink:var(--on-lime);--depth:4px;background:var(--face);min-height:56px;color:var(--ink);font:inherit;cursor:pointer;box-shadow:0 var(--depth) 0 var(--edge);transition:transform .12s var(--ease), box-shadow .12s var(--ease), filter .2s var(--ease);-webkit-tap-highlight-color:transparent;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:10px 26px;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex;transform:translateY(0)}.button:hover{filter:brightness(.97)}.button:active{transform:translateY(calc(var(--depth) - 1px));box-shadow:0 1px 0 var(--edge);filter:brightness(.93)}.button-ink{--face:var(--button-face);--edge:var(--button-edge);--ink:var(--button-text)}.button-plain{--face:var(--raised-face);--edge:var(--raised-edge);--ink:var(--text);outline:1px solid var(--line);outline-offset:-1px}.button-s{--depth:3px;white-space:nowrap;border-radius:11px;min-height:40px;padding:6px 16px;font-size:.95rem}.button-sub{opacity:.75;font-size:.8rem;font-weight:500}.button-row{flex-wrap:wrap;align-items:center;gap:14px 18px;display:flex}.text-link{border-bottom:2px solid var(--lime-edge);transition:background .2s var(--ease);padding-bottom:1px;font-weight:700;text-decoration:none}.text-link:hover{background:var(--lime-soft)}.board{--size:46px;border:2px solid var(--frame);background:var(--grid);-webkit-user-select:none;user-select:none;place-self:start;gap:2px;width:max-content;display:inline-grid}.board-s{--size:30px}.board-l{--size:clamp(46px, 11vw, 58px)}.board-row{grid-template-columns:repeat(var(--letters), var(--size));gap:2px;display:grid}.cell{width:var(--size);height:var(--size);background:var(--cell);color:var(--cell-text);font-family:var(--sans);font-weight:800;font-size:calc(var(--size) * .48);place-items:center;line-height:1;display:grid}.board-anchor .cell{background:var(--anchor);color:var(--anchor-text)}.board-empty .cell{background:var(--empty)}.cell-mark{background:var(--lime);color:var(--on-lime)}.board-animate .board-step .cell{animation:cell-in .5s var(--ease) both;animation-delay:calc(.5s + var(--i) * .55s)}.board-animate .board-final .cell{animation:final-in .8s var(--ease) both;animation-delay:calc(.5s + var(--i) * .55s)}@keyframes row-in{0%{opacity:0;transform:translateY(-8px)}}@keyframes cell-in{0%{background:var(--empty);color:#0000}}@keyframes final-in{0%,to{background:var(--anchor);color:var(--anchor-text)}45%{background:var(--lime);color:var(--on-lime)}}.line-dot{fill:var(--text3)}.line-path{fill:none;stroke:var(--text);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.line-start{fill:var(--paper);stroke:var(--text);stroke-width:2.5px}.line-end{fill:var(--lime);stroke:var(--text);stroke-width:2.5px}.line-animate .line-path{stroke-dasharray:var(--length);stroke-dashoffset:var(--length);animation:draw 1.6s var(--ease) 2.9s forwards}.line-animate .line-end{opacity:0;animation:fade .4s var(--ease) 4.3s forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade{to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}.hero{padding-block:clamp(40px,7vw,88px) clamp(56px,8vw,96px)}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(32px,6vw,80px);display:grid}.hero-meta{color:var(--text2);margin-top:18px;font-size:.95rem}.hero-art{justify-content:center;align-items:center;gap:clamp(18px,3vw,32px);display:flex}.hero-caption{text-align:center;color:var(--text2);margin-top:16px;font-size:.92rem}@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}.today{background:var(--surface2);border-radius:20px;grid-template-columns:auto 1fr;align-items:center;gap:clamp(24px,5vw,56px);padding:clamp(24px,4vw,44px);display:grid}.today-number{color:var(--text2);margin-bottom:6px;font-size:.95rem;font-weight:700}@media (max-width:640px){.today{grid-template-columns:1fr}}.steps{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.step{border:1px solid var(--line);background:var(--paper);border-radius:18px;flex-direction:column;gap:16px;padding:24px;display:flex}.step-art{align-items:center;min-height:132px;display:flex}.step h3{margin:0}.step p{color:var(--text2);margin:0}@media (max-width:980px){.steps{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.steps{grid-template-columns:1fr}}.screens{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.screens img{border:1px solid var(--line);border-radius:20px;width:100%;height:auto}@media (max-width:760px){.screens{scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none;grid-template-columns:repeat(3,72%);overflow-x:auto}.screens>*{scroll-snap-align:center}}.features{grid-template-columns:repeat(3,1fr);gap:28px 32px;display:grid}.feature h3{margin-bottom:6px;font-size:1.15rem}.feature p{color:var(--text2);margin:0}@media (max-width:860px){.features{grid-template-columns:1fr 1fr}}@media (max-width:560px){.features{grid-template-columns:1fr}}.plans{grid-template-columns:1fr 1fr;gap:20px;display:grid}.plan{border:2px solid var(--text);border-radius:20px;padding:28px}.plan-lime{background:var(--lime-soft)}.plan-price{font-family:var(--slab);margin:4px 0 12px;font-size:2.2rem;font-weight:700}.plan ul{color:var(--text2);margin:0;padding-left:1.1em}.plan li{margin-bottom:6px}@media (max-width:680px){.plans{grid-template-columns:1fr}}.cta{text-align:center}.cta .button-row{justify-content:center}.faq{border-top:2px solid var(--text)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;transition:background .25s var(--ease);justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-size:1.1rem;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:active{background:var(--press)}.faq summary:after{content:"";background:linear-gradient(var(--text), var(--text)) center / 14px 2.5px no-repeat, linear-gradient(var(--text), var(--text)) center / 2.5px 14px no-repeat;width:14px;height:14px;transition:transform .35s var(--ease);flex:none}.faq details[open] summary:after{transform:rotate(45deg)}.faq details>div{color:var(--text2);max-width:44em;padding:0 4px 20px}.faq details>div p:last-child{margin:0}.page-head{padding-block:clamp(40px,7vw,80px) 28px}.crumbs{color:var(--text2);gap:8px;margin-bottom:14px;font-size:.92rem;font-weight:600;display:flex}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--text)}.prose{font-size:1.08rem}.prose h2{margin-top:1.8em;scroll-margin-top:90px;font-size:clamp(1.6rem,3.4vw,2.1rem)}.prose h3{margin-top:1.4em}.prose ul,.prose ol{padding-left:1.2em}.prose li{margin-bottom:.5em}.prose li::marker{color:var(--text3)}.figure{background:var(--surface2);border-radius:18px;flex-wrap:wrap;align-items:center;gap:24px 32px;margin:28px 0;padding:28px;display:flex}.figure figcaption{color:var(--text2);flex:220px;font-size:.98rem}.figure figcaption strong{color:var(--text)}.examples{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px;margin:24px 0;display:grid}.example{border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:14px;padding:22px;display:flex}.example h3{margin:0;font-size:1.2rem}.example p{color:var(--text2);margin:0;font-size:.95rem}.example-route{letter-spacing:.02em;color:var(--text);font-size:.92rem;font-weight:700}.ladder-grid{grid-template-columns:auto 1fr;align-items:start;gap:clamp(28px,6vw,72px);display:grid}.ladder-art{align-items:flex-start;gap:24px;display:flex}@media (max-width:760px){.ladder-grid{grid-template-columns:1fr}}.route-steps{border-top:2px solid var(--text);margin:0 0 24px;padding:0;list-style:none}.route-steps li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 2px;display:flex}.route-steps .word{letter-spacing:.06em;font-weight:800}.route-steps .how{color:var(--text2);text-align:right}.other-routes{letter-spacing:.03em;margin:0 0 12px;padding:0;font-size:.92rem;font-weight:700;list-style:none}.other-routes li{border-bottom:1px solid var(--line);padding:8px 0}.facts{flex-wrap:wrap;gap:10px;margin:0 0 22px;padding:0;list-style:none;display:flex}.facts li{background:var(--surface2);border-radius:999px;padding:6px 14px;font-size:.92rem;font-weight:600}.facts li.mark{background:var(--lime);color:var(--on-lime)}.pager{border-top:1px solid var(--line);justify-content:space-between;gap:16px;margin-top:40px;padding-top:20px;font-weight:700;display:flex}.pager a{text-decoration:none}.pager span{color:var(--text2);font-size:.9rem;font-weight:500;display:block}.hints{flex-direction:column;gap:12px;margin:8px 0 28px;display:flex}.hint{border:1px solid var(--line);border-radius:16px;overflow:hidden}.hint button{background:var(--paper);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background .25s var(--ease);border:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;font-weight:700;display:flex}.hint button:active{background:var(--press)}.hint button span:last-child{color:var(--text2);font-size:.9rem;font-weight:600}.hint-body{transition:grid-template-rows .45s var(--ease);grid-template-rows:0fr;display:grid}.hint-open .hint-body{grid-template-rows:1fr}.hint-body>div{overflow:hidden}.hint-body p{margin:0;padding:0 18px 18px;font-size:1.1rem}.archive-month{margin-bottom:40px}.archive-month h2{margin-bottom:10px;font-size:1.5rem}.archive-list{border-top:2px solid var(--text);margin:0;padding:0;list-style:none}.archive-list a{border-bottom:1px solid var(--line);transition:background .25s var(--ease);grid-template-columns:4.5em 5em 1fr auto;align-items:baseline;gap:12px;padding:14px 6px;text-decoration:none;display:grid}.archive-list a:hover{background:var(--surface2)}.archive-list a:active{background:var(--press)}.archive-list .num{font-weight:700}.archive-list .date,.archive-list .par{color:var(--text2);font-size:.92rem}.archive-list .pair{letter-spacing:.04em;font-weight:700}.badge{background:var(--lime);color:var(--on-lime);letter-spacing:0;vertical-align:2px;border-radius:6px;margin-left:8px;padding:2px 8px;font-size:.78rem;font-weight:700;display:inline-block}@media (max-width:560px){.archive-list a{grid-template-columns:3.6em 1fr auto}.archive-list .date{display:none}}.solver{flex-wrap:wrap;align-items:flex-end;gap:14px;margin:8px 0 28px;display:flex}.solver label{flex-direction:column;gap:6px;font-size:.92rem;font-weight:700;display:flex}.solver input{border:2px solid var(--text);background:var(--paper);width:9.5em;height:56px;color:var(--text);font:inherit;letter-spacing:.12em;text-transform:uppercase;border-radius:12px;padding:0 14px;font-size:1.3rem;font-weight:800}.solver input::placeholder{color:var(--text3);letter-spacing:.04em;text-transform:none;font-size:1rem;font-weight:600}.solver-result{min-height:60px;animation:row-in .45s var(--ease) both;flex-wrap:wrap;align-items:flex-start;gap:24px 36px;display:flex}.notice{background:var(--surface2);border-radius:14px;max-width:34em;padding:16px 18px;font-weight:600}.sheet{border:2px solid var(--text);border-radius:18px;margin-bottom:28px;padding:28px}.sheet-head{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-bottom:18px;display:flex}.sheet-head h2{margin:0;font-size:1.7rem}.sheet-name{color:var(--text2)}.sheet-grid{grid-template-columns:repeat(4,1fr);gap:24px 20px;display:grid}.sheet-item{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.sheet-item b{font-size:.9rem}.answers{color:var(--text2);margin-top:18px;font-size:.92rem}.answers ol{columns:2;margin:6px 0 0;padding-left:1.2em}@media (max-width:760px){.sheet-grid{grid-template-columns:repeat(2,1fr)}}@media print{.site-header,.site-footer,.no-print,.skip{display:none!important}body{color:#000;background:#fff;font-size:12pt}.sheet{break-after:page;border:0;padding:0}.sheet-grid{grid-template-columns:repeat(4,1fr)}.page-head{padding:0 0 12pt}.answers{break-before:auto}}
