:root{--paper:#fffcf3;--ink:#3b2607;--muted:#786446;--orange:#e65e08;--line:#e9dfc8;--yellow:#fff0b8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}a{color:inherit;text-underline-offset:4px}button,a{-webkit-tap-highlight-color:transparent}a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px;border-radius:4px}img{max-width:100%;height:auto}p{line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.055em;line-height:1.1}em{font-family:Georgia,serif;font-weight:400}.wrap{width:min(1160px,100% - 96px);margin-inline:auto}.skip-link{z-index:10;background:var(--ink);color:#fff;padding:12px 18px;position:absolute;top:-100px;left:20px}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:112px;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand img{border-radius:11px}.brand span{letter-spacing:-1.2px;font-size:29px;font-weight:800}.site-header nav{align-items:center;gap:34px;display:flex}.site-header nav a{padding-block:12px;font-size:14px;font-weight:600;text-decoration:none}.site-header nav a:hover,.site-footer nav a:hover{color:var(--orange)}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:50px;padding-block:66px 88px;display:grid}.eyebrow{letter-spacing:1.9px;align-items:center;gap:9px;margin-bottom:26px;font-size:10px;font-weight:700;line-height:1.5;display:flex}.status-dot{background:var(--orange);border-radius:50%;flex:none;width:7px;height:7px}.hero h1{margin-bottom:28px;font-size:clamp(48px,5.8vw,78px);font-weight:750}.hero h1 span{color:var(--orange)}.hero-description{color:var(--muted);margin-bottom:30px;font-size:18px;line-height:1.65}.download-links{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:27px;display:flex}.platform-label{border:1px solid #dacbaa;border-radius:9px;min-height:45px;padding:11px 17px;font-size:12px;font-weight:600;display:inline-flex}.button{border-radius:10px;justify-content:center;align-items:center;gap:14px;min-height:48px;padding:13px 22px;font-size:14px;font-weight:650;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--ink);color:var(--paper)}.button.primary:hover{background:#5c3e12}.button.secondary{border:1px solid var(--ink)}.text-link{align-items:center;gap:9px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--orange)}.hero-art{background:var(--yellow);border-radius:35px;padding:28px 40px 20px;position:relative}.art-caption{letter-spacing:2px;color:#755821;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;font-size:9px;font-weight:700;display:flex}.art-caption span:last-child{font-size:26px;font-weight:400}.puzzle-print{background:#fff4cf;border:1px solid #e3ce8c;border-radius:15px;padding:22px;transform:rotate(-3deg);box-shadow:0 15px 24px -15px #8a602c45}.print-top{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.print-top span:first-child{letter-spacing:-1.2px;font-size:25px;font-weight:800}.print-top span:last-child{color:#74591f;font-size:10px}.hero-puzzle{width:100%;display:block}.print-bottom{color:#74591f;justify-content:space-between;gap:12px;margin-top:24px;font-size:9px;display:flex}.art-note{text-align:center;color:#77571f;margin:30px 0 0;font-family:Georgia,serif;font-size:15px;font-style:italic}.how-section{background:#f4f0e6;padding-block:82px;scroll-margin-top:0}.how-layout{grid-template-columns:1fr 1fr;align-items:center;gap:70px;display:grid}.how-intro{max-width:420px}.how-intro h2{margin-bottom:25px;font-size:45px}.how-intro p:last-child{color:var(--muted);margin-bottom:0;font-size:16px}.rule-example{flex-direction:column;align-items:center;display:flex}.rule-grid{grid-template-columns:repeat(3,1fr);gap:10px;width:224px;display:grid}.rule-tile{aspect-ratio:1;border:3px solid var(--orange);border-radius:14px}.rule-tile.solid{background:var(--orange)}.rule-tile.diagonal{opacity:.17}.rule-tile.center{color:var(--paper);place-items:center;font-size:39px;font-weight:700;display:grid;box-shadow:0 0 0 5px #e65e0817}.rule-example p{text-align:center;color:var(--muted);margin:22px 0 0;font-size:12px}.rule-example strong{color:var(--ink);font-size:14px}.features{grid-template-columns:repeat(3,1fr);gap:22px;padding-block:74px;display:grid}.feature-card{border:1px solid var(--line);border-radius:18px;padding:28px}.feature-top{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.feature-top span{color:var(--muted);font-size:10px}.feature-top svg{color:var(--orange)}.feature-card h3{max-width:230px;margin-bottom:18px;font-size:26px;line-height:1.2}.feature-card p{color:var(--muted);margin-bottom:0;font-size:13px}.theme-card{color:#f5f3ff;background:#111a38;border-color:#111a38}.theme-card .feature-top svg{color:#a4abff}.theme-card p,.theme-card .feature-top span{color:#b9bedc}.closing{text-align:center;padding:25px 0 94px}.closing .eyebrow{justify-content:center}.closing h2{margin-bottom:20px;font-size:49px}.closing>p:not(.eyebrow){color:var(--muted);margin-bottom:26px;font-size:15px}.closing .download-links{justify-content:center}.site-footer{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:30px;padding-block:36px;display:grid}.footer-brand{letter-spacing:-1px;font-size:27px;font-weight:800;text-decoration:none}.site-footer p{color:var(--muted);margin:7px 0 0;font-size:12px}.site-footer nav{gap:27px;font-size:12px;display:flex}.site-footer nav a{text-decoration:none}.site-footer small{color:var(--muted);grid-column:1/-1;font-size:10px}.document{padding-block:70px 96px}.document-heading{margin-bottom:64px}.document-heading h1{margin-bottom:22px;font-size:clamp(40px,6vw,66px)}.document-heading>p:last-child{color:var(--muted);font-size:15px}.document-layout{grid-template-columns:280px 1fr;align-items:start;gap:90px;display:grid}.document-summary{background:var(--yellow);border-radius:18px;padding:28px}.document-summary h2{margin-bottom:20px;font-size:27px;line-height:1.2}.document-summary p{color:var(--muted);font-size:13px}.document-summary a{font-size:12px;font-weight:600}.prose{max-width:690px;font-size:15px}.prose section+section{margin-top:37px}.prose h2{letter-spacing:-.7px;margin-bottom:17px;font-size:24px;line-height:1.3}.prose p{color:#625039}.prose li{color:#625039;margin-bottom:7px;line-height:1.8}.prose ul{padding-left:22px}.prose a{font-weight:550}.support-layout{grid-template-columns:340px 1fr;align-items:start;gap:80px;display:grid}.contact-card{background:var(--yellow);border-radius:20px;padding:32px}.contact-symbol{color:var(--orange);margin-bottom:28px;font-size:40px;line-height:1;display:block}.contact-card h2{margin-bottom:17px;font-size:34px}.contact-card p{color:var(--muted);margin-bottom:27px;font-size:13px}.contact-card .button{width:100%;margin-bottom:26px}.contact-card .text-link{font-size:11px}.contact-card .contact-address{overflow-wrap:anywhere;margin-top:-10px;margin-bottom:26px}.faq h2{margin-bottom:28px;font-size:31px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-size:15px;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--orange);font-size:22px;font-weight:400}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{color:var(--muted);margin-bottom:23px;padding-right:30px;font-size:14px}.not-found{min-height:55vh;padding-block:90px}.not-found h1{font-size:clamp(40px,6vw,66px)}.not-found p:not(.eyebrow){color:var(--muted)}@media (max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{gap:35px}.hero h1{font-size:58px}.hero-description{font-size:16px}.hero-art{padding:22px 25px 20px}.puzzle-print{padding:18px}.print-bottom{font-size:8px}.how-layout{gap:45px}.feature-card{padding:23px}.document-layout{grid-template-columns:240px 1fr;gap:50px}.support-layout{grid-template-columns:300px 1fr;gap:45px}}@media (max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{gap:15px;min-height:82px}.brand span{font-size:25px}.brand img{width:37px;height:37px}.site-header nav{gap:18px}.site-header nav a{font-size:12px}.hero{grid-template-columns:1fr;gap:43px;padding-block:48px 55px}.hero h1{font-size:clamp(45px,9.5vw,66px)}.hero-copy{max-width:530px}.hero-art{justify-self:center;width:100%;max-width:480px;padding:25px 30px 22px}.eyebrow{letter-spacing:1.5px;margin-bottom:22px;font-size:9px}.hero-description{font-size:16px}.print-top{margin-bottom:22px}.print-bottom{font-size:9px}.how-section{padding-block:52px}.how-layout{grid-template-columns:1fr;gap:43px}.how-intro{max-width:510px}.how-intro h2{font-size:38px}.how-intro p:last-child{font-size:15px}.rule-grid{width:205px}.features{grid-template-columns:1fr;gap:16px;padding-block:45px}.feature-card{padding:27px}.feature-top{margin-bottom:25px}.feature-card h3{max-width:100%;font-size:25px}.feature-card p{max-width:420px;font-size:14px}.closing{padding:18px 0 55px}.closing h2{font-size:37px}.closing>p:not(.eyebrow){font-size:14px}.site-footer{gap:25px;padding-block:30px}.site-footer nav{gap:18px;font-size:11px}.site-footer p{max-width:200px;font-size:11px}.document{padding-block:45px 60px}.document-heading{margin-bottom:36px}.document-heading h1{font-size:44px}.document-layout,.support-layout{grid-template-columns:1fr;gap:40px}.document-summary{padding:25px}.document-summary h2{font-size:26px}.prose{font-size:14px}.prose h2{font-size:23px}.faq summary{font-size:14px}}@media (max-width:380px){.site-header nav{gap:13px}.site-header nav a{font-size:11px}.hero-art{padding:22px}.hero h1{font-size:43px}.platform-label{padding-inline:12px;font-size:11px}.print-bottom{font-size:8px}.site-footer{grid-template-columns:1fr}.site-footer small{grid-column:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
