:root{--paper:#f7f4ed;--ink:#243e38;--muted:#59665c;--green:#34766b;--rust:#a5543b;--line:#d8dccc;--card:#fffdf7;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-size:16px;line-height:1.9}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:5px}img,svg{max-width:100%}.wrap,.header,.footer{width:min(1120px,calc(100% - 64px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-bottom:1px solid var(--line);gap:20px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:22px;letter-spacing:.12em;text-decoration:none;font-weight:700}.brand img{border-radius:10px}.header nav{display:flex;gap:26px}.header nav a{padding:8px 2px;text-decoration:none;font-size:14px}.header nav a[aria-current]{border-bottom:2px solid var(--green)}.skip{position:fixed;top:-100px;left:15px;z-index:3;background:white;padding:10px}.skip:focus{top:10px}.preview{background:#e8ddbf;color:#493b20;padding:8px 24px;text-align:center;font-size:13px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding-block:85px 100px}.eyebrow{font-size:12px;font-weight:650;letter-spacing:.18em;color:var(--green);margin:0 0 20px}.hero h1{font-size:clamp(38px,4.8vw,64px);line-height:1.55;font-weight:600;letter-spacing:.06em;margin:0 0 26px}.lead{color:var(--muted);font-size:18px;line-height:2}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--ink);color:#fffdf7;border:1px solid var(--ink);border-radius:50px;text-decoration:none;padding:14px 26px;min-height:52px;margin-top:24px;font-weight:600}.button:hover{background:var(--green)}.secondary{background:transparent;color:var(--ink)}.secondary:hover{color:white}.availability{font-size:12px;color:var(--muted);max-width:340px;margin-top:20px}.hero-art svg{width:100%;overflow:visible}.halo{fill:#eeeee1}.graph-lines{fill:none;stroke:var(--green);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.graph-dots{fill:var(--green)}.accent-dot{fill:var(--rust)}.hero-art p{text-align:center;font-size:13px;color:var(--muted);letter-spacing:.16em}.section{padding-block:75px}.section-heading h2,.feature-band h2,.closing h2{font-size:clamp(27px,3vw,37px);font-weight:550;line-height:1.7;letter-spacing:.04em;margin:0 0 35px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.mode{padding:34px 38px;background:var(--card);border:1px solid var(--line);border-radius:22px}.number{font-size:11px;letter-spacing:.16em;color:var(--green)}.mode h3{font-size:30px;letter-spacing:.06em;margin:12px 0}.mode p{color:var(--muted);margin-bottom:12px}.mode-diagram svg{display:block;max-height:170px;width:100%}.mode-diagram path{fill:none;stroke:var(--green);stroke-width:2}.mode-diagram circle{fill:var(--green)}.mode-diagram .movable{fill:var(--rust)}.mode-diagram .fixed-ring{fill:none;stroke:var(--green);stroke-width:2}.quiet{color:var(--muted);font-size:14px}.section>.quiet{margin-top:25px}.feature-band{background:#e9ede2;padding-block:70px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.features h3{font-size:19px}.features p{font-size:15px;color:var(--muted)}.closing{display:flex;align-items:center;justify-content:space-between;gap:35px}.closing h2{margin-bottom:15px}.footer{border-top:1px solid var(--line);padding-block:40px;display:grid;grid-template-columns:1fr auto;gap:25px}.footer p,.footer small{font-size:12px;color:var(--muted)}.footer nav{display:flex;flex-wrap:wrap;gap:25px;align-items:center;font-size:13px}.footer small{grid-column:1/-1}.document{max-width:800px;padding-block:65px 90px;overflow-wrap:anywhere}.document h1{font-size:clamp(27px,4vw,42px);font-weight:600;line-height:1.5;margin:0 0 20px}.document h2{font-size:22px;line-height:1.6;margin:0 0 20px}.document section{margin-top:48px}.document p{color:var(--muted)}.document .notice,.contact{padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.document .notice h2{font-size:18px}details{border-top:1px solid var(--line);padding:8px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:15px 6px;font-weight:600;line-height:1.7;min-height:52px}details p{padding:0 10px 8px}.contact-link{font-weight:650;font-size:18px}.pending{border-left:3px solid var(--rust);padding-left:16px}
@media(max-width:700px){.wrap,.header,.footer{width:calc(100% - 40px)}.header{padding-block:16px}.brand{font-size:20px;gap:7px}.brand img{width:32px;height:32px}.header nav{gap:15px}.hero{grid-template-columns:1fr;padding-block:45px 38px;gap:14px}.hero h1{font-size:40px}.hero .lead{font-size:16px}.hero-art{max-width:380px;margin:auto;width:100%}.hero-art svg{max-height:310px}.hero-art p{margin-top:0}.section{padding-block:45px}.mode-grid,.features{grid-template-columns:1fr}.mode{padding:25px}.features{gap:10px;margin-top:20px}.feature-band{padding-block:45px}.closing{display:block}.footer{grid-template-columns:1fr}.footer nav{gap:20px}.document{padding-block:40px 60px}.document .lead{font-size:16px}.document h2{font-size:20px}.document .notice,.contact{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.eyebrow,.number{color:#285c53}
@media(max-width:700px){.hero h1{font-size:clamp(30px,10vw,40px)}.section-heading h2,.feature-band h2,.closing h2{font-size:clamp(23px,6.8vw,30px)}}

.introduction{max-width:800px;border-top:1px solid var(--line)}.introduction h2{font-size:clamp(25px,3vw,36px);line-height:1.7;font-weight:550}.introduction p,.story p,.philosophy p,.pricing-note p{overflow-wrap:anywhere}.collection{margin-top:28px}.audience-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.audience-links a{padding:10px 18px;border:1px solid var(--line);border-radius:28px;text-decoration:none;min-height:48px;background:var(--card)}.story{display:grid;grid-template-columns:1fr 1.7fr;gap:48px;padding:44px 0;border-top:1px solid var(--line)}.story h3{font-size:clamp(24px,2.5vw,30px);line-height:1.7;margin:0}.story p:first-child{margin-top:0}.story p{color:var(--muted)}.story strong{color:var(--ink)}.story blockquote{margin:24px 0;padding:18px 22px;border-left:3px solid var(--green);background:var(--card)}.story blockquote p{margin:0}.philosophy .wrap{max-width:800px}.pricing-note{padding:28px 32px;margin-bottom:60px;background:var(--card);border:1px solid var(--line);border-radius:20px;max-width:800px}.pricing-note h2{font-size:20px;margin-top:0}@media(max-width:700px){.story{grid-template-columns:1fr;gap:20px;padding-block:32px}.pricing-note{padding:22px}.audience-links{gap:8px}.hero h1{letter-spacing:0;font-size:clamp(27px,8.6vw,40px)}}

@media(min-width:701px){.hero h1{font-size:clamp(28px,3.7vw,48px);letter-spacing:0}}

.download-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}.download-actions .button{margin-top:0;gap:16px;max-width:100%;text-align:center;overflow-wrap:anywhere}.closing .download-actions{flex-direction:column;align-items:stretch}.download-actions .button span{flex-shrink:0}@media(max-width:700px){.download-actions{align-items:stretch}.download-actions .button{width:100%;padding-inline:18px}}

/* Three-puzzle browser demo */
.header nav{flex-wrap:wrap}.header{flex-wrap:wrap}
.demo-page{max-width:760px;padding-block:36px 60px}.demo-page h1{font-size:clamp(28px,5vw,42px);line-height:1.4}.demo-page h2{font-size:24px;line-height:1.6}.demo-rule{font-size:20px;font-weight:650}.demo-choices,.demo-tools{display:flex;gap:10px;flex-wrap:wrap}.demo-page button{font:inherit;line-height:1.5;cursor:pointer;border:1px solid var(--ink);border-radius:12px;background:var(--card);color:var(--ink);padding:12px 18px;min-height:48px}.demo-page button[aria-pressed=true],.demo-page #next{background:var(--ink);color:white}.demo-page button:disabled{opacity:.5;cursor:default}.demo-page button:focus-visible{outline:3px solid var(--rust);outline-offset:3px}.demo-board-wrap{max-width:500px;margin:20px auto;border:1px solid var(--line);border-radius:20px;background:var(--card)}#board{display:block;width:100%;height:auto;touch-action:none;user-select:none}#edges{stroke:#34766b;stroke-width:4;stroke-linecap:round}#nodes circle{stroke:#243e38;stroke-width:3;fill:#fffdf7}#nodes .fixed circle{fill:#243e38}#nodes text{font-size:20px;font-weight:700;fill:#243e38;pointer-events:none}#nodes .fixed text{fill:white}#nodes .movable{cursor:grab;outline:none}#nodes .movable:focus-visible circle,#nodes .selected circle{stroke:#a5543b;stroke-width:7}#crossings{stroke:#b52c26;stroke-width:5;stroke-linecap:round;paint-order:stroke}#hint-mark circle{stroke:#a5543b;stroke-width:3;stroke-dasharray:6 5;fill:none}#status{font-size:21px;font-weight:650;min-height:2em}#hint-text{font-size:18px}.demo-more{margin-top:40px;border-top:1px solid var(--line);padding-top:25px}[hidden]{display:none!important}@media(max-width:400px){.demo-page{width:calc(100% - 24px)}.demo-page button{padding:10px 13px}.header nav{gap:13px}}
