@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/font-7.ttf) format('truetype');
}

:root{--bg:#f5f5ee;--ink:#192625;--muted:#707c75;--line:#dadfd4;--lime:#d4f77d;--dark:#111f1d;--white:#fff;--green:#548873;--orange:#de9b6e;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,label.drop-zone,summary{-webkit-tap-highlight-color:transparent}button,a,select,input{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit}button[hidden],[hidden]{display:none!important}.wrap{max-width:1264px;margin:0 auto;padding:0 42px}.site-header{height:103px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.5px;text-decoration:none;font-size:20px}.brand-icon{font-size:32px;background:var(--ink);color:var(--lime);width:37px;height:37px;display:grid;place-items:center;border-radius:9px}.brand-tag{font-family:'DM Sans',sans-serif;letter-spacing:1px;font-size:9px;border:1px solid #bdc5b9;padding:5px 7px;margin-left:8px;border-radius:3px}.how-link{font-size:13px;text-decoration:none}.how-link span{margin-left:16px}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:59px 0 44px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;display:flex;align-items:center;gap:8px}.tiny-square{width:6px;height:6px;background:#679056}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Space Grotesk',sans-serif}h1{font-size:64px;line-height:1.08;letter-spacing:-3.8px;font-weight:500;margin:18px 0}h1 span{color:#778570}.intro p{color:#6b766e;font-size:15px;line-height:1.7}.intro-note{display:flex;align-items:center;gap:18px;padding:0 16px 10px}.intro-note p{font-size:12px;line-height:1.9}.intro-note strong{color:var(--ink);font-weight:500}.note-icon{font-size:62px;line-height:1;color:#a2b392;transform:rotate(6deg)}.workflow{display:flex;align-items:center;gap:26px;margin:0 0 21px}.flow-step{display:flex;align-items:center;gap:10px;font-size:12px;color:#939b91}.flow-step span{font-family:'Space Grotesk';font-size:10px;border:1px solid #d4d9cd;width:24px;height:24px;border-radius:50%;display:grid;place-items:center}.flow-step.active{color:var(--ink)}.flow-step.active span{background:var(--ink);border-color:var(--ink);color:var(--lime)}.workflow i{font-size:15px;font-style:normal;color:#aab3a4}.workspace{display:grid;grid-template-columns:340px 1fr;align-items:stretch;border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 15px 45px -40px #253d1c}.setup-panel{padding:29px 25px}.panel-label{font-size:9px;font-weight:700;letter-spacing:1.4px;color:#7c877b;display:flex;align-items:center;justify-content:space-between}.mini-number{letter-spacing:1px;font-size:9px;color:#9ba395}.setup-panel h2{font-size:23px;font-weight:500;letter-spacing:-.9px;margin:25px 0 11px}.muted{color:var(--muted)}.setup-panel>p{font-size:12px;line-height:1.85}.drop-zone{margin:24px 0 13px;border:1.5px dashed #b9c8a6;background:#f6f9ef;min-height:211px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;cursor:pointer;transition:background .2s,border-color .2s}.drop-zone:hover,.drop-zone.dragover{background:#eafaCE;border-color:#71894d}.drop-zone strong{font-size:13px;font-weight:600;max-width:95%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-zone>span:not(.upload-symbol){font-size:12px;color:#879080}.drop-zone u{color:#405036;text-underline-offset:3px}.drop-zone small{font-size:10px;color:#929c88;margin-top:7px}.upload-symbol{font-size:27px;border-radius:12px;width:49px;height:49px;display:grid;place-items:center;background:#e6eed8;color:#526448;margin-bottom:6px}.privacy{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:#7b8772}.privacy span{font-size:15px}.or{display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:.8px;color:#a2a99b;margin:29px 0 17px;white-space:nowrap}.or span{height:1px;background:#e7eade;flex:1}.secondary-actions{display:flex;flex-direction:column;align-items:stretch;gap:14px}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:43px;padding:10px 18px;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.subtle{background:#f1f3ed;color:#394733;border:1px solid #e0e5d8}.primary{background:var(--lime);color:#22300f}.primary:hover{background:#c3ee5c}.text-button{border:0;background:none;padding:0;font-size:11px;color:#697760;text-decoration:underline;text-underline-offset:4px}.small{font-size:11px;line-height:1.6}.button.small{min-height:32px;font-size:10px;padding:7px 10px}.tip{margin-top:30px;padding:15px 12px;background:#f8f8f3;border-radius:7px;display:flex;gap:10px}.tip>span{width:15px;height:15px;border:1px solid #b9c1b0;border-radius:50%;font-size:9px;display:grid;place-items:center;flex-shrink:0;margin-top:1px}.tip p{font-size:10px;line-height:1.7;color:#939a8b}.tip strong{display:block;font-weight:600;color:#64705a;margin-bottom:3px}.board-panel{border-left:1px solid var(--line);background:#fcfdf9;min-width:0}.board-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:26px 29px 21px}.board-header h2{font-size:18px;letter-spacing:-.6px;font-weight:500;margin-top:8px}.badge{font-size:8px;letter-spacing:.8px;padding:6px 8px;border:1px solid #d9dfcf;border-radius:4px;color:#758262;white-space:nowrap}.board-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 29px;border-top:1px solid #e8ebdf;border-bottom:1px solid #e8ebdf;background:#f6f8ef}.dimensions{display:flex;align-items:center;gap:10px;font-size:10px;color:#7d8773}.dimensions label{display:flex;align-items:center;gap:6px}.dimensions select{border:1px solid #dce1d1;border-radius:4px;background:#fff;color:#526347;padding:4px 6px;font-size:11px}.board-stage{background-color:var(--dark);background-image:radial-gradient(#2b3a30 .7px,transparent .7px);background-size:18px 18px;padding:19px 30px 17px;position:relative;min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center}#board{width:100%;max-width:540px;max-height:420px;overflow:visible;display:block;user-select:none;touch-action:manipulation}.demo-caption{display:flex;align-items:center;gap:7px;color:#a4b39e;font-size:9px;margin-top:10px;text-align:center}.pulse{width:5px;height:5px;background:var(--lime);border-radius:50%;flex-shrink:0}.legend{display:flex;align-items:center;justify-content:center;gap:26px;font-size:10px;color:#7d8874;padding:16px;background:#f7f9f0;border-bottom:1px solid #e5eadb}.legend span{display:flex;align-items:center;gap:7px}.legend i{display:block;width:8px;height:8px}.legend-player{background:var(--lime);border-radius:50%}.legend-guard{background:var(--orange);transform:rotate(45deg)}.legend-exit{border:1.5px solid #71865e}.legend-wall{background:#3f5344;width:14px!important;height:3px!important}.status{font-size:11px;color:#718363;padding:14px 29px 0;line-height:1.7}.status.error{color:#a13c32}.solve-footer{display:flex;justify-content:space-between;align-items:center;padding:17px 29px 24px;gap:14px}.solve-footer p{font-size:10px;color:#8a957e}.solve-footer p span{color:#699649;margin-right:5px}.solve-footer .button{min-width:172px}.editor{padding:14px 29px;border-bottom:1px solid #e3e8d8;background:#f0f4e7}.editor p{font-size:11px;color:#66765b;line-height:1.6}.tools{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.tool{background:#fff;color:#677760;border:1px solid #d3dcc8;border-radius:4px;font-size:10px;padding:7px 10px}.tool.selected{background:#243b2b;color:var(--lime);border-color:#243b2b}.exit-direction{font-size:11px;color:#65735b;margin:12px 0}.exit-direction select{padding:5px;border:1px solid #c8d4bd;border-radius:4px;margin-left:10px}.source-thumb{margin-top:18px;position:relative;display:flex;align-items:center;justify-content:center;padding:10px;background:#eef2e5;border-radius:6px}.source-thumb img{max-height:155px;max-width:100%;object-fit:contain;border-radius:3px}.source-thumb button{position:absolute;right:8px;bottom:8px;background:#fff}.source-thumb+p{margin-top:9px}.solution{padding:22px 29px 25px}.solution-top{display:flex;justify-content:space-between;align-items:center}.solution-top .eyebrow{font-size:8px;color:#7a925d}.solution h3{font-size:24px;font-weight:500;letter-spacing:-1px;margin-top:6px}.next-move{margin:18px 0 12px;display:flex;align-items:center;gap:17px;background:#eef5e0;border:1px solid #dbe7c5;border-radius:8px;padding:18px}.move-arrow{color:#526e30;font-size:41px;line-height:1;width:44px;text-align:center}.next-move small{display:block;color:#7b8e63;font-size:9px;letter-spacing:.9px;text-transform:uppercase}.next-move strong{display:block;font-family:'Space Grotesk';font-size:19px;font-weight:500;margin:3px 0}.next-move div>span{font-size:10px;color:#7d8c6d}.playback{display:flex;align-items:center;gap:8px}.square{min-width:42px;padding:10px}.playback .button{font-size:10px;white-space:nowrap}.playback input{min-width:30px;flex:1;accent-color:#557b32}.move-list{display:flex;flex-wrap:wrap;gap:5px;margin:18px 0 13px;max-height:180px;overflow:auto}.move-chip{border:1px solid #dce3d2;color:#637456;background:#f9fbf5;border-radius:4px;padding:6px 8px;font-size:11px;display:flex;align-items:center;gap:4px}.move-chip small{font-size:8px;opacity:.7}.move-chip.done{background:#e7efdb}.move-chip.current{background:#2c4430;border-color:#2c4430;color:var(--lime)}.solution>p{font-size:10px;margin-bottom:12px}.how-section{padding:66px 0 34px}.how-title .eyebrow{color:#8d9783;font-size:9px}.how-title h2{font-weight:500;font-size:28px;letter-spacing:-1.2px;margin-top:12px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:31px}.how-grid article{border-top:1px solid #cfd7c5;padding-top:18px}.how-grid article>span{font-size:9px;color:#899780;letter-spacing:1.1px}.how-grid h3{font-size:17px;font-weight:500;letter-spacing:-.5px;margin:13px 0 10px}.how-grid p{font-size:12px;color:#838e7c;line-height:1.9;max-width:310px}.faq{border-top:1px solid var(--line);padding:18px 0;font-size:12px}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:20px;color:#9aa48f}.faq p{line-height:1.9;color:#75826b;max-width:850px;margin-top:13px}footer{margin-top:36px;border-top:1px solid var(--line);padding:26px 0 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}footer .brand{font-size:12px;white-space:nowrap}footer p,footer>span{font-size:9px;color:#939c8a}dialog{border:1px solid #dde3d3;border-radius:14px;background:var(--bg);color:var(--ink);max-width:780px;width:calc(100% - 32px);padding:25px;max-height:95dvh;overflow:auto}dialog::backdrop{background:#0d1b19ba;backdrop-filter:blur(5px)}.dialog-header{display:flex;justify-content:space-between;align-items:center}.dialog-header h2{font-weight:500;margin:8px 0 12px}.icon-button{font-size:28px;background:none;border:0;color:#687a59}.dialog-header .eyebrow{font-size:9px}dialog>p{font-size:12px;color:#718263;line-height:1.7;margin-bottom:14px}.crop-scroll{background:#10221b;max-height:50vh;overflow:auto;text-align:center;border-radius:6px}#cropCanvas{max-width:100%;display:block;margin:auto;touch-action:none;cursor:crosshair;max-height:50vh;object-fit:contain}.crop-fields{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:16px 0}.crop-fields label{font-size:10px;color:#68795a}.crop-fields input,.crop-fields select{width:100%;padding:8px 4px;margin-top:6px;border:1px solid #d2dcc5;border-radius:4px;background:#fff;color:#354c28;font-size:12px}.dialog-footer{display:flex;justify-content:space-between;gap:8px}.noscript{position:fixed;inset:0;background:#fafdf0;padding:80px 30px;text-align:center;z-index:100}.cell-hit{cursor:pointer}.wall-hit{cursor:crosshair}.wall-hit:hover{stroke:#d4f77d88}.board-cell:focus{outline:none}.board-cell:focus rect,.wall-hit:focus{stroke:#faff94;stroke-width:3}.route-line{pointer-events:none}
@media(min-width:1450px){.wrap{max-width:1340px}.workspace{grid-template-columns:365px 1fr}.board-stage{min-height:420px}}
@media(max-width:1000px){.wrap{padding:0 26px}.workspace{grid-template-columns:300px 1fr}.setup-panel{padding:25px 20px}.board-header,.board-toolbar,.editor,.solution{padding-left:20px;padding-right:20px}.board-header h2{font-size:16px}.board-header{flex-wrap:wrap}.solve-footer{padding:17px 20px 22px;flex-wrap:wrap}.solve-footer .button{width:100%}.board-stage{padding:20px 18px}h1{font-size:57px}.intro-note{display:none}.how-grid{gap:24px}.playback{flex-wrap:wrap}.playback input{flex-basis:40%}footer>span{display:none}}
@media(max-width:720px){.wrap{padding:0 19px}.site-header{height:78px}.brand{font-size:16px;gap:7px}.brand-icon{width:31px;height:31px;font-size:26px}.brand-tag{font-size:7px;margin-left:2px;padding:4px}.how-link{font-size:10px}.how-link span{margin-left:2px}.intro{padding:37px 0 29px}h1{font-size:46px;letter-spacing:-2.8px;margin:15px 0}.intro .eyebrow{font-size:8px;letter-spacing:1.2px}.intro p{font-size:13px;line-height:1.85}.desktop{display:none}.workflow{gap:10px;justify-content:space-between;margin-bottom:16px}.flow-step{font-size:9px;gap:5px}.flow-step span{width:20px;height:20px;font-size:8px}.workflow i{font-size:11px}.workspace{grid-template-columns:1fr;border-radius:10px}.setup-panel{padding:24px}.setup-panel h2{margin-top:18px}.setup-panel>p{max-width:480px}.drop-zone{min-height:170px;margin-top:19px;gap:6px}.upload-symbol{width:40px;height:40px;font-size:24px}.or{margin:22px 0 15px}.secondary-actions{flex-direction:row;align-items:center;gap:22px}.secondary-actions .button{flex:1}.tip{margin-top:20px;padding:11px 12px}.tip strong{display:inline;margin-right:6px}.board-panel{border-left:0;border-top:1px solid var(--line)}.board-header{padding:24px 22px 19px;flex-wrap:nowrap}.board-header h2{font-size:16px;max-width:220px}.badge{font-size:7px}.board-toolbar{padding:11px 22px}.board-stage{padding:24px 24px 18px;min-height:335px}.legend{gap:24px;font-size:9px}.solve-footer{padding:17px 22px 22px}.solve-footer .button{width:auto;margin-left:auto;min-width:150px;padding:12px}.solve-footer p{font-size:9px}.status{padding:14px 22px 0}.solution{padding:23px 22px}.solution h3{font-size:23px}.how-section{padding:42px 0 24px}.how-title h2{font-size:25px}.how-grid{grid-template-columns:1fr;gap:23px;margin-top:25px}.how-grid article{position:relative;padding-left:98px;padding-top:16px}.how-grid article>span{position:absolute;left:0;top:20px;font-size:8px}.how-grid h3{margin:0 0 6px;font-size:16px}.how-grid p{max-width:none;font-size:11px;line-height:1.9}.faq{font-size:11px;padding:15px 0}.faq p{font-size:11px}footer{align-items:flex-start;padding:20px 0;gap:16px;margin-top:22px}footer p{max-width:190px;line-height:1.8;font-size:8px}.crop-fields{grid-template-columns:repeat(3,1fr)}.dialog-footer .button{font-size:10px;padding:10px}dialog{padding:20px}.demo-caption{font-size:8px}.playback{flex-wrap:nowrap}.playback .button{padding:10px;font-size:9px}.playback input{flex-basis:0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
