:root{--paper:#f7f6f0;--ink:#263c38;--muted:#6c7871;--line:#dce1d7;--green:#28594b;--coral:#d16a52;--mint:#e9efe5;--board:#253b3b;--white:#fffef9;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body{margin:0}button,input,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer;user-select:none;-webkit-user-select:none;color:inherit}button:disabled{opacity:.36;cursor:default}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--coral);outline-offset:4px}a{color:inherit;text-underline-offset:4px}button{border:0;background:none}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.05em}p{line-height:1.65}img{max-width:100%}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:27px;font-weight:750;letter-spacing:-1.4px}.brand-fit{font-weight:400}.brand-dot{font-size:9px;vertical-align:top;letter-spacing:0;margin:6px 0 0 3px}.site-header nav{display:flex;gap:28px;align-items:center;font-size:13px}.site-header nav a{text-decoration:none}.local-badge{font-size:11px;display:flex;align-items:center;gap:7px;color:var(--muted)}.local-badge i{width:6px;height:6px;background:var(--green);border-radius:50%}.hero{display:flex;align-items:center;justify-content:space-between;padding-block:34px 28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--muted);margin-bottom:12px}.hero h1{font-size:clamp(37px,4.3vw,55px);line-height:1.06;margin-bottom:12px}.coral{color:var(--coral)}.subtitle{font-size:14px;color:var(--muted);margin-bottom:0}.hero-note{display:flex;align-items:center;gap:15px;font-family:Georgia,serif;font-style:italic;font-size:17px;line-height:1.35;transform:rotate(-5deg);padding-right:35px}.hand-star{font-size:52px;color:var(--coral);font-family:Arial,sans-serif;font-style:normal}.tool{border:1px solid var(--line);border-radius:20px;background:var(--white);box-shadow:0 8px 26px #253b3b06;overflow:hidden}.tool-top{display:flex;justify-content:space-between;align-items:center;padding:15px 25px;border-bottom:1px solid var(--line)}.mode{display:flex;align-items:center;gap:9px;font-size:13px}.mode-dot{width:7px;height:7px;background:var(--coral);border-radius:50%}.classic-tag{font-size:9px;letter-spacing:1px;color:var(--muted);margin-left:13px}.quiet{font-size:12px;min-height:36px;padding:8px 10px;border-radius:6px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-template-areas:'board palette' 'editor palette' 'actions palette';column-gap:30px;padding:24px}.board-area{grid-area:board;min-width:0}.board-meta,.board-bottom{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.board-meta{margin:0 2px 12px}.board-shell{padding:16px;background:var(--board);border-radius:18px;box-shadow:inset 0 0 0 1px #ffffff10,0 5px 0 #1b2b2b}.board{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));aspect-ratio:11/5;position:relative;gap:5px}.board-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.cell{border-radius:50%;position:relative;aspect-ratio:1;min-width:0;background:#1a2e2f;box-shadow:inset 1px 3px 3px #0005,inset 0 -1px 0 #ffffff0e;z-index:2;padding:0}.cell.filled{background:var(--piece);color:var(--piece-ink);box-shadow:inset 0 2px 1px #ffffff40,inset 0 -3px 2px #0002,0 2px 2px #0004;font-size:clamp(9px,1.1vw,14px);font-weight:700}.cell.filled::before{content:'';position:absolute;inset:9% 19% 55%;border-radius:50%;background:#ffffff18}.cell.pinned{outline:1px solid #ffffff50;outline-offset:-4px}.cell.ghost{background:var(--piece);opacity:.65;box-shadow:inset 0 0 0 2px #ffffffaa;color:var(--piece-ink);font-weight:700}.cell.bad-ghost{box-shadow:inset 0 0 0 3px #f1bdb3}.cell.anchor::after{content:'';position:absolute;inset:-2px;border:2px solid #fff9;border-radius:7px;pointer-events:none}.cell.selected-cell{box-shadow:inset 0 0 0 2px #fff,0 2px 2px #0004}.board-bottom{gap:8px;margin-top:13px;min-height:35px}.board-bottom>span{line-height:1.5}.history{display:flex;gap:2px;align-items:center;flex-shrink:0}.icon-button{width:36px;height:36px;display:inline-grid;place-items:center;font-size:22px;border-radius:7px}.palette-area{grid-area:palette;border-left:1px solid var(--line);padding-left:24px}.palette-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.palette-heading h2{font-size:15px;font-weight:700;letter-spacing:-.3px;margin:0}.palette-heading>span{font-size:10px;color:var(--muted)}.palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.piece-card{position:relative;border:1px solid #e4e5dd;border-radius:10px;height:77px;display:flex;align-items:center;justify-content:center;background:#f9f9f4;transition:background 100ms}.piece-card svg{width:48px;height:47px}.piece-card>span{position:absolute;left:6px;top:5px;font-size:10px;font-weight:700;color:var(--muted)}.piece-card.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green);background:var(--mint)}.piece-card.placed svg{opacity:.23}.piece-card.placed::after{content:'✓';position:absolute;right:5px;bottom:5px;font-size:10px;color:var(--green)}.piece-card.locked::after{content:'●';font-size:7px}.label-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin-top:15px;cursor:pointer;min-height:30px}.label-toggle input{accent-color:var(--green);width:14px;height:14px}.editor-area{grid-area:editor;margin-top:10px;border-top:1px solid var(--line);padding-top:14px;display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-width:0}.selection{display:flex;align-items:center;gap:9px;flex:1;min-width:180px}.selection strong{font-size:12px;display:block;margin-bottom:5px}.selection span{display:block;font-size:10px;color:var(--muted)}.selected-preview{width:39px;height:39px;border-radius:8px;background:var(--mint);display:grid;place-items:center;flex-shrink:0}.selected-preview:empty::after{content:'✧';font-size:22px;color:var(--green)}.selected-preview svg{width:29px;height:30px}.edit-actions{display:flex;gap:5px}.small-button{font-size:11px;padding:10px 11px;border:1px solid var(--line);border-radius:7px;min-height:37px;white-space:nowrap;background:var(--white)}kbd{font-size:9px;color:#8d9690;margin-left:6px;font-family:inherit}.danger{color:#9d4a3c}.position-controls{width:100%;display:flex;align-items:center;gap:8px;margin-top:0}.position-controls[hidden],.search-progress[hidden]{display:none}#anchor-label{font-size:10px;color:var(--muted);flex:1}.nudges{display:flex;gap:4px}.nudges button{height:32px;width:34px;border:1px solid var(--line);border-radius:6px;background:#f7f8f2}.place-button{height:34px;background:var(--green);color:white;border-radius:6px;font-size:11px;padding:0 14px}.actions-area{grid-area:actions;margin-top:16px}.solve-actions{display:flex;gap:8px}.button{min-height:43px;border-radius:8px;font-size:12px;padding:12px 18px;font-weight:600}.primary{background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;gap:26px;flex:1}.secondary{background:var(--mint);color:var(--green);flex:1}.check-button{border:1px solid var(--line);padding:12px 14px}.status{font-size:11px;line-height:1.5;color:var(--muted);margin:12px 0 0;min-height:17px}.status.error{color:#9d4036}.status.success{color:var(--green)}.search-progress{display:flex;align-items:center;gap:8px;font-size:11px;padding-top:8px}.search-progress .quiet{margin-left:auto;color:#963e32}.spinner{width:12px;height:12px;border:2px solid #b9cbbf;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.challenge-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eef1e8;padding:18px 25px;border-top:1px solid var(--line)}.challenge-strip>div:first-child{display:flex;align-items:center;gap:12px}.challenge-icon{font-size:30px;color:var(--coral)}.challenge-strip strong{font-size:12px;display:block;margin-bottom:5px}.challenge-strip div div>span{font-size:10px;color:var(--muted)}.challenge-controls{display:flex;gap:8px;align-items:center}select{font-size:11px;min-height:38px;border:1px solid #ced6c7;border-radius:6px;background:transparent;color:var(--green);padding:8px}.challenge-button{min-height:38px;font-size:11px;font-weight:600;border:1px solid #a3b7a3;border-radius:6px;padding:8px 13px;white-space:nowrap}.challenge-button span{margin-left:14px}.under-tool{display:flex;justify-content:center;gap:24px;font-size:8px;letter-spacing:1.2px;color:var(--muted);padding-block:19px}.under-tool span+span::before{content:'·';margin-right:24px}.content-section{padding-block:62px;border-top:1px solid var(--line);margin-top:30px}.section-intro{max-width:570px}.content-section h2,.features h2{font-size:32px;margin-bottom:16px;line-height:1.2}.content-section p{font-size:13px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:34px}.step-num{font-family:Georgia,serif;font-style:italic;font-size:25px;color:var(--coral);display:block;margin-bottom:18px}.steps h3,.feature-grid h3{font-size:14px;letter-spacing:-.3px;margin-bottom:10px}.steps p{font-size:12px;max-width:290px;margin-bottom:0}.features{padding:40px;background:var(--mint);border-radius:16px;display:grid;grid-template-columns:.9fr 1.5fr;gap:50px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 35px}.feature-grid article>span{font-size:20px;color:var(--green);display:block;margin-bottom:10px}.feature-grid p{font-size:11px;color:var(--muted);margin-bottom:0}.use-cases{max-width:760px;text-align:center;border:0;padding-bottom:20px}.fine-print{font-size:11px!important;line-height:1.65!important;color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.faq h2{max-width:240px}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:20px 0;gap:15px}.faq summary::-webkit-details-marker{display:none}.faq h3{font-size:13px;font-weight:500;margin:0;line-height:1.5}.faq summary span{font-size:19px;color:var(--muted)}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:12px;padding-right:18px}.related{display:flex;align-items:center;gap:25px;font-size:10px;border-top:1px solid var(--line);padding-block:25px}.related>span{font-size:8px;letter-spacing:1px;margin-right:auto;color:var(--muted)}.related a{text-decoration:none}footer{display:flex;align-items:center;gap:35px;border-top:1px solid var(--line);padding-block:28px 40px}footer p{font-size:9px;color:var(--muted);margin:0}.brand.small{font-size:22px;gap:0}footer>span{margin-left:auto;font-size:8px;letter-spacing:1px;color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;z-index:99;background:var(--green);color:white;padding:12px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:30px;border-radius:18px;max-width:min(480px,calc(100% - 30px))}dialog::backdrop{background:#142a2877}dialog h2{font-size:29px}dialog p{font-size:13px}dialog label{font-size:11px;display:block;margin-bottom:7px}dialog input{font-size:16px;width:100%;padding:10px;border-radius:7px;border:1px solid var(--line);background:white;color:var(--ink)}.dialog-close{position:absolute;right:10px;top:10px}.dialog-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.prose{max-width:760px;padding-block:50px}.prose h1{font-size:44px}.prose h2{font-size:27px;margin-top:35px}.prose p,.prose li{font-size:14px;line-height:1.8;color:var(--muted)}.prose table{border-collapse:collapse;width:100%;font-size:12px}.prose td,.prose th{padding:10px;border-bottom:1px solid var(--line);text-align:left}.data-clear{margin-top:16px}
@media(hover:hover) and (pointer:fine){.quiet:hover,.icon-button:hover{background:#e9eee4}.piece-card:hover{border-color:#9aafa0;background:#eef2e8}.button:hover,.place-button:hover{filter:brightness(1.06)}.small-button:hover,.nudges button:hover{background:var(--mint)}.cell:hover{outline:2px solid #ffffff80;outline-offset:1px}a:hover{color:var(--coral)}}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.workspace{grid-template-columns:minmax(0,1fr) 220px;column-gap:20px;padding:20px}.palette-area{padding-left:18px}.piece-card{height:72px}.edit-actions kbd{display:none}.edit-actions{gap:4px}.small-button{padding:9px}.hero-note{padding-right:10px}.selection{min-width:150px}.selection span{max-width:190px}.features{gap:25px;padding:30px}.faq{gap:35px}}
@media(max-width:680px){.wrap{width:calc(100% - 28px)}.site-header{height:65px;padding-top:env(safe-area-inset-top,0px)}.brand{font-size:24px;gap:8px}.brand img{width:28px;height:28px}.site-header nav{gap:18px;font-size:11px}.local-badge,.hero-note,.site-header nav a[href='/about/']{display:none}.hero{padding-block:23px 20px}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:10px}.hero h1{font-size:37px;margin-bottom:9px}.subtitle{font-size:11px}.tool{border-radius:14px}.tool-top{padding:9px 13px}.mode{font-size:11px;gap:6px}.classic-tag{font-size:7px;letter-spacing:.5px;margin-left:5px}.tool-top .quiet{font-size:10px;padding:8px 0 8px 7px;min-height:35px}.workspace{grid-template-columns:1fr;grid-template-areas:'board' 'palette' 'editor' 'actions';padding:14px 12px;gap:0}.board-meta{font-size:9px;margin-bottom:10px}.board-shell{padding:10px;border-radius:12px;box-shadow:0 3px 0 #1b2b2b}.board{gap:3px}.cell.filled,.cell.ghost{font-size:9px}.cell.pinned{outline-offset:-3px}.board-bottom{margin-top:8px;font-size:9px;gap:5px;min-height:36px}.icon-button{width:34px;height:36px;font-size:21px}.history .quiet{font-size:10px;padding:8px 3px;min-height:36px}.palette-area{padding:12px 0 0;border-left:0;border-top:1px solid var(--line);margin-top:4px}.palette-heading{margin-bottom:9px}.palette-heading h2{font-size:12px}.palette-heading>span{font-size:9px}.palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.piece-card{height:53px;border-radius:7px}.piece-card>span{font-size:8px;left:4px;top:4px}.piece-card svg{width:33px;height:33px;margin-top:7px}.piece-card.placed::after{font-size:8px;right:3px;bottom:3px}.label-toggle{font-size:10px;margin:5px 0 0;min-height:30px}.label-toggle input{width:15px;height:15px}.editor-area{padding-top:10px;margin-top:4px;gap:9px}.selection{min-width:0}.selection strong{font-size:11px;margin-bottom:4px}.selection span{font-size:9px;max-width:165px}.selected-preview{width:31px;height:34px}.selected-preview svg{width:25px;height:27px}.edit-actions{gap:4px}.small-button{font-size:10px;min-height:40px;padding:8px}.edit-actions .danger{font-size:9px;padding-inline:6px}.position-controls{gap:5px;margin-top:2px}.nudges{gap:3px}.nudges button{width:33px;height:40px}.place-button{height:40px;padding:0 10px;font-size:10px}#anchor-label{font-size:9px;min-width:63px}.actions-area{margin-top:14px}.button{font-size:11px;padding:11px;min-height:44px}.primary{gap:10px}.solve-actions{gap:6px}.check-button{padding:11px 10px}.status{font-size:10px;margin-top:9px}.challenge-strip{padding:15px 12px;display:block}.challenge-strip>div:first-child{gap:10px}.challenge-icon{font-size:26px}.challenge-strip strong{font-size:11px}.challenge-strip div div>span{font-size:9px}.challenge-controls{margin-top:12px;justify-content:space-between}.challenge-controls select{font-size:16px;min-height:42px;width:47%;padding:8px}.challenge-button{min-height:42px;width:49%;font-size:10px}.under-tool{gap:10px;font-size:6px;letter-spacing:.6px;padding-block:16px}.under-tool span+span::before{margin-right:10px}.content-section{margin-top:15px;padding-block:36px}.content-section h2,.features h2{font-size:27px}.section-intro p,.content-section p{font-size:12px}.steps{gap:21px;grid-template-columns:1fr;margin-top:25px}.steps article{position:relative;padding-left:40px}.steps .step-num{position:absolute;left:0;top:0;font-size:22px}.steps h3{font-size:13px}.steps p{max-width:none;font-size:11px}.features{display:block;padding:24px}.feature-grid{margin-top:28px;gap:25px 20px}.feature-grid h3{font-size:12px}.feature-grid p{font-size:10px}.faq{display:block}.faq h2{max-width:none}.faq summary{padding:18px 0}.faq h3{font-size:12px}.related{flex-wrap:wrap;gap:18px;font-size:10px}.related>span{width:100%}footer{flex-wrap:wrap;gap:18px;padding-bottom:calc(25px + env(safe-area-inset-bottom,0px))}footer p{font-size:8px;flex-basis:75%;flex:1}footer>span{margin-left:0;font-size:7px}dialog{padding:24px}.prose{padding-block:32px}.prose h1{font-size:36px}.prose p,.prose li{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

@media(min-width:681px){.site-header{height:72px}.hero{padding-block:24px 22px}.hero .eyebrow{margin-bottom:9px}.hero h1{font-size:46px;margin-bottom:9px}.tool-top{padding-block:9px}.workspace{padding-top:19px}}
@media(min-width:681px){.hero{padding-block:18px 17px}.hero .eyebrow{margin-bottom:6px}.hero h1{font-size:40px;margin-bottom:7px}.hero .subtitle{font-size:12px}.workspace{grid-template-areas:'editor palette' 'board palette' 'actions palette'}.board-area,.editor-area,.actions-area{width:min(100%,650px);justify-self:center}.editor-area{border-top:0;margin-top:0;padding-top:0;padding-bottom:14px}.board-bottom{margin-top:8px}.board-shell{padding:13px}.actions-area{margin-top:9px}}
@media(min-width:681px) and (max-height:800px){.board-area{width:min(100%,560px)}}
