@font-face{font-family:Hanken Grotesk;src:url(/fonts/hanken-grotesk-latin-wght-normal.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Syne;src:url(/fonts/syne-latin-wght-normal.woff2)format("woff2");font-weight:400 800;font-display:swap}@font-face{font-family:Hanken Fallback;src:local(Arial);size-adjust:102%;ascent-override:94%;descent-override:24%;line-gap-override:0%}@font-face{font-family:Syne Fallback;src:local(Arial);size-adjust:108%;ascent-override:88%;descent-override:24%;line-gap-override:0%}:root{--font-ui:"Hanken Grotesk", "Hanken Fallback", system-ui, sans-serif;--font-display:"Syne", "Syne Fallback", system-ui, sans-serif;--ground:#e9ecf1;--sheet:#fafbfc;--sheet-2:#dfe3eb;--ink:#121a33;--ink-2:#48536f;--rule:#cdd3df;--rule-strong:#6b7590;--madder:#b3332a;--on-madder:#fff;--weld:#7a5600;--danger:#a8231b;--good:#186a38;--shadow:0 1px 0 #121a3314, 0 12px 32px -20px #121a3366;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.5rem;--fs-2xl:2rem;--fs-3xl:3rem;--fs-sig:clamp(3rem, 2rem + 6vw, 7.5rem);--fs-hero:clamp(2.25rem, 1.2rem + 4.6vw, 4.5rem);--r-sw:2px;--r-btn:8px;--r-dock:14px;--r-pill:999px;--ease-sheet:cubic-bezier(.2, .8, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0e1630;--sheet:#16213f;--sheet-2:#1e2b52;--ink:#eef0f6;--ink-2:#aeb7d3;--rule:#2e3d6b;--rule-strong:#7684b0;--madder:#f0705f;--on-madder:#1a0b09;--weld:#e9bf4e;--danger:#ff8f80;--good:#73d49b;--shadow:0 0 0 1px #2e3d6b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ground:#0e1630;--sheet:#16213f;--sheet-2:#1e2b52;--ink:#eef0f6;--ink-2:#aeb7d3;--rule:#2e3d6b;--rule-strong:#7684b0;--madder:#f0705f;--on-madder:#1a0b09;--weld:#e9bf4e;--danger:#ff8f80;--good:#73d49b;--shadow:0 0 0 1px #2e3d6b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--ground);color:var(--ink);font:400 var(--fs-base)/1.55 var(--font-ui);margin:0}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}html,body,#root{height:100%}body{overflow:hidden}.plane{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block;position:fixed;inset:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chrome{pointer-events:none;z-index:5;font-family:var(--font-ui);position:fixed;inset:0}.chrome>*{pointer-events:auto}.chrome>.overlay,.chrome>.signature-wrap{pointer-events:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.4}.overlay{width:100%;height:100%;position:absolute;inset:0}.mirror-line{stroke:var(--madder);stroke-width:2px;paint-order:stroke}.glide-line{stroke:var(--madder);stroke-width:2px;stroke-dasharray:6 4}.turn-glyph{fill:var(--weld);stroke:var(--ground);stroke-width:1.5px}.ghost path{fill:var(--weld);stroke:var(--ground);stroke-width:1.5px;opacity:.9}.pulse{fill:var(--weld);opacity:0}.pulse-run{animation:.4s ease-out pulse}@keyframes pulse{0%{opacity:.18}to{opacity:0}}.signature-wrap{top:var(--sp-4);right:var(--sp-5);text-align:right;color:var(--ink);text-shadow:0 0 2px var(--ground), 0 0 10px var(--ground), 0 0 3px var(--ground);position:absolute}.signature{font:800 var(--fs-sig)/.95 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow:hidden}.signature span{display:inline-block}.glyph-in{animation:glyph-in .36s var(--ease-sheet) both}@keyframes glyph-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.signature-name{font:700 var(--fs-lg)/1.2 var(--font-ui);color:var(--ink)}.rail{top:var(--sp-4);left:var(--sp-4);bottom:var(--sp-4);background:var(--sheet);border-radius:var(--r-dock);width:248px;box-shadow:var(--shadow);padding:var(--sp-4);position:absolute;overflow-y:auto}.panel-title{font:700 var(--fs-xl)/1.2 var(--font-display);margin:0 0 var(--sp-3)}.swatchbook h3,.colours h3{align-items:center;gap:var(--sp-2);font:600 var(--fs-md)/1.3 var(--font-ui);color:var(--ink-2);margin:var(--sp-4) 0 var(--sp-2);display:flex}.swatch-list{gap:var(--sp-2);grid-template-columns:repeat(2,1fr);display:grid}.swatch{text-align:left;border-radius:var(--r-sw);background:0 0;border:0;flex-direction:column;align-items:stretch;gap:2px;min-height:44px;padding:0;transition:transform .15s ease-out;display:flex}.swatch-mat{background:var(--sheet-2);border-radius:var(--r-sw);outline:1px solid var(--rule-strong);outline-offset:-1px;-webkit-mask:conic-gradient(from -45deg at bottom, transparent 90deg, black 0) bottom / 8px 6px repeat-x, linear-gradient(black 0 0) top / 100% calc(100% - 5px) no-repeat;-webkit-mask:conic-gradient(from -45deg at bottom, transparent 90deg, black 0) bottom / 8px 6px repeat-x, linear-gradient(black 0 0) top / 100% calc(100% - 5px) no-repeat;mask:conic-gradient(from -45deg at bottom, transparent 90deg, black 0) bottom / 8px 6px repeat-x, linear-gradient(black 0 0) top / 100% calc(100% - 5px) no-repeat;padding:4px 4px 10px;display:block}.swatch canvas{aspect-ratio:4/3;border-radius:1px;width:100%;height:auto;display:block}.swatch-iuc{font:700 var(--fs-sm)/1.2 var(--font-ui);padding:0 var(--sp-1)}.swatch-orb{font:600 var(--fs-xs)/1.2 var(--font-ui);color:var(--ink-2);padding:0 var(--sp-1)}.swatch:hover{transform:translateY(-1px)}.swatch:active{transition-duration:.1s;transform:scale(.97)}.swatch[aria-checked=true] .swatch-mat{outline:3px solid var(--madder);outline-offset:-2px}.swatch[aria-checked=true] .swatch-iuc{color:var(--madder)}.swatch[aria-checked=true]{animation:.18s ease-out pop}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}.dock{width:max-content;left:0;right:0;bottom:var(--sp-5);align-items:center;gap:var(--sp-2);padding:var(--sp-2);background:var(--sheet);border-radius:var(--r-dock);box-shadow:var(--shadow);margin-inline:auto;display:flex;position:absolute}.sep{background:var(--rule-strong);width:1px;height:24px;margin:0 var(--sp-1)}.tool{border-radius:var(--r-btn);width:44px;height:44px;color:var(--ink);background:0 0;border:1px solid #0000;place-items:center;transition:background-color .15s ease-out,transform .1s;display:grid}.tool:hover:not(:disabled){background:var(--sheet-2)}.tool:active:not(:disabled){transform:scale(.97)}.tool[aria-pressed=true]{background:var(--madder);color:var(--on-madder)}.btn{align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-4);border-radius:var(--r-btn);border:1px solid var(--rule-strong);background:var(--sheet-2);width:100%;margin-bottom:var(--sp-2);transition:background-color .15s;display:flex}.btn:hover{background:var(--rule)}.btn.primary{background:var(--madder);color:var(--on-madder);border-color:var(--madder);font-weight:600}.popover{left:calc(50% - min(160px,45vw));bottom:calc(var(--sp-5) + 64px);background:var(--sheet);border-radius:var(--r-dock);width:min(320px,90vw);box-shadow:var(--shadow);padding:var(--sp-4);position:absolute}@media (max-height:760px){.popover{max-height:calc(100vh - 120px);overflow-y:auto}}.popover[hidden],.sheet[hidden],.rail[hidden],.notice[hidden]{display:none}.dye-sets,.inks,.widths{gap:var(--sp-2);display:grid}.inks{grid-template-columns:1fr 1fr}.widths{grid-template-columns:repeat(6,1fr)}.dye-set,.ink,.width{align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-3);border:1px solid var(--rule-strong);border-radius:var(--r-btn);background:var(--sheet-2);text-align:left;display:flex}.dye-set[aria-checked=true],.ink[aria-checked=true],.width[aria-checked=true]{outline:3px solid var(--madder);outline-offset:-2px}.dye-chip{outline:1px solid var(--rule-strong);border-radius:4px;align-items:center;gap:2px;padding:4px;display:inline-flex}.dye-chip i{border-radius:2px;width:10px;height:18px}.ink-dot{outline:1px solid var(--rule-strong);border-radius:50%;width:18px;height:18px}.width{justify-content:center;padding:0}.width-bar{background:var(--ink);border-radius:99px;width:70%;display:block}.notice{top:var(--sp-4);gap:var(--sp-2);max-width:min(560px,92vw);padding:var(--sp-3) var(--sp-4);background:var(--sheet);border-radius:var(--r-dock);box-shadow:var(--shadow);font-size:var(--fs-md);align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.notice.danger{color:var(--danger)}.empty-prompt{pointer-events:none;text-align:center;opacity:0;transition:opacity .24s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-prompt p{padding:var(--sp-3) var(--sp-5);background:var(--sheet);border-radius:var(--r-pill);box-shadow:var(--shadow);font:600 var(--fs-base)/1.4 var(--font-ui);margin:0}.chrome[data-empty=true][data-mode=studio] .empty-prompt{opacity:1}.chrome>.empty-prompt{pointer-events:none}.toasts{bottom:calc(var(--sp-8) + var(--sp-5));gap:var(--sp-2);z-index:20;display:grid;position:fixed;left:50%;transform:translate(-50%)}.toast{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--sheet);color:var(--ink);border-radius:var(--r-dock);box-shadow:var(--shadow);font-size:var(--fs-md);align-items:center;max-width:90vw;display:flex}.toast-good svg{color:var(--good)}.toast-danger svg{color:var(--danger)}.bar,.mobile-undo,.sheet{display:none}@media (max-width:899px){.rail,.dock,.popover{display:none}.signature-wrap{right:auto;left:var(--sp-4);top:var(--sp-3);text-align:left}.signature{font-size:clamp(2.5rem,14vw,4.5rem)}.bar{background:var(--sheet);box-shadow:var(--shadow);padding:var(--sp-2) var(--sp-2) calc(var(--sp-2) + env(safe-area-inset-bottom));gap:var(--sp-2);z-index:3;grid-template-columns:repeat(4,1fr);display:grid;position:absolute;bottom:0;left:0;right:0}.bar-btn{border-radius:var(--r-btn);min-height:52px;font:600 var(--fs-sm)/1.1 var(--font-ui);background:0 0;border:0;place-items:center;gap:2px;transition:background-color .15s;display:grid}.bar-btn[aria-pressed=true]{background:var(--madder);color:var(--on-madder)}.mobile-undo{right:var(--sp-3);background:var(--sheet);box-shadow:var(--shadow);border-radius:50%;display:grid;position:absolute;bottom:84px}.sheet{background:var(--sheet);border-radius:var(--r-dock) var(--r-dock) 0 0;height:45vh;box-shadow:var(--shadow);padding:0 var(--sp-4) var(--sp-4);animation:sheet-up .24s var(--ease-sheet);z-index:2;display:block;position:absolute;bottom:68px;left:0;right:0;overflow-y:auto}.sheet[hidden]{display:none}.sheet.tall{height:85vh}.sheet-handle{background:0 0;border:0;place-items:center;width:100%;min-height:44px;display:grid}.sheet-handle span{background:var(--rule-strong);border-radius:99px;width:40px;height:4px}.swatch-list{grid-template-columns:repeat(3,1fr)}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){.glyph-in,.swatch[aria-checked=true],.pulse-run,.sheet{animation:none}}.domain-tint{fill:var(--weld);opacity:.18}.legend{background:color-mix(in srgb, var(--ground) 82%, transparent);color:var(--ink);font:500 13px/1.5 var(--font-body,system-ui);pointer-events:none;border-radius:8px;margin:0;padding:8px 12px;list-style:none;position:absolute;bottom:80px;left:16px}@media (max-width:899px){.legend{bottom:150px}}.coach{z-index:9;width:min(320px,100vw - 24px);padding:var(--sp-4);background:var(--sheet);color:var(--ink);border-radius:var(--r-dock);box-shadow:var(--shadow);outline:2px solid var(--madder);position:absolute;top:96px;left:12px}.coach[hidden]{display:none}.coach-count{font:600 var(--fs-sm)/1 var(--font-ui);color:var(--ink-2)}.coach-text{margin:var(--sp-2) 0 var(--sp-3)}.coach-actions{gap:var(--sp-2);justify-content:flex-end;display:flex}@media (max-width:899px){.coach{width:auto;bottom:88px;right:12px;top:auto!important;left:12px!important}}.chrome[data-panel]>.coach{display:none}@media (max-width:899px){.chrome[data-mode=studio] .signature-wrap{left:var(--sp-4);text-align:left;right:auto}.chrome[data-mode=studio] .signature{font-size:2.5rem}}body[data-view=landing]{overflow:hidden auto}body[data-view=landing],body[data-view=landing] #root{height:auto}body[data-view=landing]{background:var(--ground) url(/poster.jpg) center / cover fixed no-repeat}.plane{opacity:0}#root[data-ready] .plane{opacity:1;transition:opacity .3s}.skip{left:var(--sp-4);z-index:30;background:var(--sheet);color:var(--ink);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-btn);box-shadow:var(--shadow);font-weight:600;position:fixed;top:-80px}.skip:focus{top:var(--sp-4)}.landing{z-index:6;outline:none;position:relative}.landing[hidden]{display:none}.hero{min-height:100svh;padding:var(--sp-5);align-items:flex-end;display:flex}.hero-copy{background:color-mix(in srgb, var(--sheet) 94%, transparent);border-radius:var(--r-dock);max-width:34rem;box-shadow:var(--shadow);padding:var(--sp-6)}.wordmark{margin:0 0 var(--sp-2);font:800 var(--fs-lg)/1 var(--font-display);letter-spacing:-.01em;color:var(--madder)}.hero h1{margin:0 0 var(--sp-3);font:800 clamp(1.9rem, 1.1rem + 2.6vw, 3rem)/1.05 var(--font-display);letter-spacing:-.02em;text-wrap:balance}.pitch{margin:0 0 var(--sp-5);font-size:var(--fs-lg);color:var(--ink-2);max-width:30rem;line-height:1.5}.hero-actions{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.cta{min-height:48px;padding:0 var(--sp-6);border-radius:var(--r-btn);background:var(--madder);color:var(--on-madder);font:700 var(--fs-lg)/1 var(--font-ui);align-items:center;text-decoration:none;transition:transform .15s ease-out;display:inline-flex}.cta:hover{transform:translateY(-1px)}.cta:active{transition-duration:.1s;transform:scale(.97)}.hero-play{background:0 0;width:auto;display:inline-flex}.how{background:var(--ground);padding:var(--sp-8) var(--sp-5) var(--sp-7)}.how>*{max-width:64rem;margin-inline:auto}.how h2{font:800 var(--fs-2xl)/1.1 var(--font-display);margin-bottom:var(--sp-5)}.how-list{gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));padding:0;list-style:none;display:grid}.how-list h3{margin:0 0 var(--sp-2);font:700 var(--fs-lg)/1.3 var(--font-ui)}.how-list p{color:var(--ink-2);margin:0}.foot{background:var(--ground);border-top:1px solid var(--rule);padding:var(--sp-5);color:var(--ink-2);font-size:var(--fs-md)}.foot p{max-width:64rem;margin:0 auto var(--sp-2)}.foot a,.how a{color:var(--ink);text-underline-offset:3px}.back-link{z-index:7;right:var(--sp-4);bottom:var(--sp-4);gap:var(--sp-2);min-height:44px;padding:0 var(--sp-4);border-radius:var(--r-pill);background:var(--sheet);box-shadow:var(--shadow);color:var(--ink);align-items:center;font-weight:600;text-decoration:none;display:inline-flex;position:fixed}.back-link[hidden]{display:none}@media (max-width:899px){.back-link{top:var(--sp-4);bottom:auto;right:var(--sp-4);left:auto}.hero{padding:var(--sp-3)}.hero-copy{padding:var(--sp-5)}}.chrome[data-mode=landing]{display:block}.chrome[data-mode=landing]>:not(.signature-wrap){display:none}.chrome[data-mode=landing] .signature-wrap{top:var(--sp-5)}
