:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--button-accent:#80bd7a;--button-accent-strong:#6aa865;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--surface:#fff;--canvas-page-bg:#fff;--nav-hover:#f0eff1;--mobile-tool-active-bg:#1d1d1d;--mobile-tool-active-text:#fff;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"DM Sans", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Instrument Serif", Georgia, serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--button-accent:#b77d43;--button-accent-strong:#9a6335;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--surface:#23242b;--canvas-page-bg:#16171d;--nav-hover:#30313a;--mobile-tool-active-bg:#f3f4f6;--mobile-tool-active-text:#18191f;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text:#6b6375;--button-accent:#80bd7a;--button-accent-strong:#6aa865;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--social-bg:#f4f3ec80;--surface:#fff;--canvas-page-bg:#fff;--nav-hover:#f0eff1;--mobile-tool-active-bg:#1d1d1d;--mobile-tool-active-text:#fff}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#d1d3da;--button-accent:#b77d43;--button-accent-strong:#9a6335;--text-h:#f7f7f3;--bg:#18191f;--border:#32333a;--code-bg:#23242b;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--surface:#23242b;--canvas-page-bg:#18191f;--nav-hover:#30313a;--mobile-tool-active-bg:#f7f7f3;--mobile-tool-active-text:#18191f;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}h1,h2,h3,h4,h5,h6{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}@font-face{font-family:PixelScript;src:url(/assets/PixelScript-BUD7psMB.ttf)format("truetype");font-weight:400;font-style:normal}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;font-family:var(--sans);color:var(--text);background:var(--bg);margin:0}:root.theme-transition body,:root.theme-transition .navbar,:root.theme-transition .canvas-page,:root.theme-transition .rubik-page,:root.theme-transition .rubik-scene,:root.theme-transition .base-button,:root.theme-transition .palette,:root.theme-transition .mobile-toolbar,:root.theme-transition .mobile-drawer,:root.theme-transition .hex-field,:root.theme-transition .theme-toggle,:root.theme-transition .nav-link,:root.theme-transition .drawer-link,:root.theme-transition .drawer-header button,:root.theme-transition .mobile-toolbar button,:root.theme-transition h1,:root.theme-transition h2,:root.theme-transition h3,:root.theme-transition h4,:root.theme-transition h5,:root.theme-transition h6,:root.theme-transition p,:root.theme-transition .logo{transition:background-color .35s,color .35s,border-color .35s,box-shadow .35s}@media (prefers-reduced-motion:reduce){:root.theme-transition body,:root.theme-transition .navbar,:root.theme-transition .canvas-page,:root.theme-transition .rubik-page,:root.theme-transition .rubik-scene,:root.theme-transition .base-button,:root.theme-transition .palette,:root.theme-transition .mobile-toolbar,:root.theme-transition .mobile-drawer,:root.theme-transition .hex-field,:root.theme-transition .theme-toggle,:root.theme-transition .nav-link,:root.theme-transition .drawer-link,:root.theme-transition .drawer-header button,:root.theme-transition .mobile-toolbar button,:root.theme-transition h1,:root.theme-transition h2,:root.theme-transition h3,:root.theme-transition h4,:root.theme-transition h5,:root.theme-transition h6,:root.theme-transition p,:root.theme-transition .logo{transition:none}}.navbar{background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 40px;display:flex}.menu-toggle{display:none}.nav-link,.logo{color:var(--text-h);font-weight:600;text-decoration:none}.logo{font-family:var(--heading);font-size:27px;font-weight:400}.nav-right,.nav-desktop-links{align-items:center;gap:20px;display:flex}.theme-toggle{width:32px;height:32px;color:var(--text-h);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.theme-toggle:hover{background:var(--nav-hover)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-icon{place-items:center;display:grid}.theme-icon .material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;grid-area:1/1;font-size:22px;transition:opacity .35s,transform .45s cubic-bezier(.34,1.56,.64,1)}.theme-sun{opacity:0;transform:rotate(-90deg)scale(.5)}.theme-moon,.theme-toggle.is-dark .theme-sun{opacity:1;transform:rotate(0)scale(1)}.theme-toggle.is-dark .theme-moon{opacity:0;transform:rotate(90deg)scale(.5)}.nav-link:hover{background:var(--nav-hover)}.nav-link{font-family:var(--heading);letter-spacing:0;text-transform:lowercase;border-radius:14px;padding:5px 8px;font-size:21px;font-weight:400;transition:background-color .2s,color .2s}.router-link-active{font-weight:400}.drawer-backdrop{z-index:20;background:#00000061;position:fixed;inset:0}.mobile-drawer{background:var(--surface);flex-direction:column;width:min(82vw,320px);height:100%;padding:20px 16px;display:flex;box-shadow:8px 0 28px #00000038}.drawer-header{color:var(--text-h);font:500 24px var(--heading);justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.drawer-header button{width:36px;height:36px;color:var(--text-h);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.drawer-link{color:var(--text-h);font-family:var(--heading);letter-spacing:0;text-transform:lowercase;border-radius:12px;padding:12px 14px;font-size:20px;font-weight:400;text-decoration:none}.drawer-link:hover,.drawer-header button:hover{background:var(--nav-hover)}.drawer-enter-active,.drawer-leave-active{transition:opacity .22s}.drawer-enter-active .mobile-drawer,.drawer-leave-active .mobile-drawer{transition:transform .28s}.drawer-enter-from,.drawer-leave-to{opacity:0}.drawer-enter-from .mobile-drawer,.drawer-leave-to .mobile-drawer{transform:translate(-100%)}@media (width<=600px){.navbar{grid-template-columns:40px minmax(0,1fr) 40px;min-height:64px;padding:10px 16px;display:grid}.menu-toggle{width:40px;height:40px;color:var(--text-h);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.menu-toggle:hover,.menu-toggle:focus-visible{background:var(--nav-hover)}.menu-toggle .material-symbols-outlined{font-size:24px}.nav-left{text-align:center;grid-column:2;min-width:0}.logo{white-space:nowrap;font-size:25px}.nav-right{grid-column:3;justify-content:end}.nav-desktop-links{display:none}}.page{text-align:center;margin-top:40px;font-family:sans-serif}.title{font-family:var(--heading);image-rendering:pixelated;-webkit-font-smoothing:none;margin-bottom:20px;font-size:48px}.fade-enter-active,.fade-leave-active{transition:opacity .4s}.fade-enter-from,.fade-leave-to{opacity:0}.home-page[data-v-d1e19b22]{background:var(--canvas-page-bg);min-height:calc(100vh - 73px);padding:48px 24px 64px}.home-content[data-v-d1e19b22]{text-align:center;width:min(100%,760px);margin:0 auto}.home-content h1[data-v-d1e19b22]{margin:4px 0 8px}@media (width<=720px){.home-page[data-v-d1e19b22]{min-height:100vh;padding:24px 16px 32px}.home-content h1[data-v-d1e19b22]{margin-top:0}}.nfc-redirect[data-v-523f8f0f]{text-align:center;place-content:center;gap:.75rem;min-height:100vh;padding:2rem;display:grid}.nfc-redirect p[data-v-523f8f0f]{margin:0}.canvas-page[data-v-fbe49b1e]{background:var(--canvas-page-bg);min-height:calc(100vh - 73px);padding:48px 24px 64px}.canvas-content[data-v-fbe49b1e]{text-align:center;width:min(100%,760px);margin:0 auto}.canvas-heading[data-v-fbe49b1e]{margin-bottom:24px}.canvas-heading h1[data-v-fbe49b1e]{margin:4px 0 8px}.canvas-status[data-v-fbe49b1e]{color:#52775a;min-height:24px;font-size:15px}.canvas-status.is-error[data-v-fbe49b1e]{color:#b64040}.canvas-viewport[data-v-fbe49b1e]{width:100%;overflow:visible}.canvas-zoom-layer[data-v-fbe49b1e]{width:100%}.canvas-frame[data-v-fbe49b1e]{background:#fff;border:3px solid #1d1d1d;width:min(100%,700px);margin:0 auto;box-shadow:6px 6px #1d1d1d}.canvas-grid[data-v-fbe49b1e]{aspect-ratio:1;touch-action:none;grid-template-columns:repeat(50,1fr);width:100%;display:grid}.canvas-grid.show-borders[data-v-fbe49b1e]{background:#d9d9d9;gap:1px}.canvas-grid.is-picking-color .canvas-pixel[data-v-fbe49b1e]{cursor:copy}.canvas-pixel[data-v-fbe49b1e]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2 2v25l7-7 5 11 4-2-5-11h11z' fill='%23000' stroke='%23fff' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") 2 2,crosshair;border:0;min-width:0;padding:0;display:block}.canvas-pixel[data-v-fbe49b1e]:focus-visible{z-index:1;outline-offset:-2px;outline:2px solid #161616;position:relative}.palette[data-v-fbe49b1e]{margin-top:40px}.palette h2[data-v-fbe49b1e]{margin-bottom:18px}.palette-colors[data-v-fbe49b1e]{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.color-swatch[data-v-fbe49b1e]{cursor:pointer;border:2px solid #00000029;border-radius:8px;width:34px;height:34px;transition:transform .16s,box-shadow .16s}.color-swatch[data-v-fbe49b1e]:hover{transform:scale(1.16);box-shadow:0 3px 8px #0003}.color-swatch.selected[data-v-fbe49b1e]{border-color:#171717;transform:scale(1.32);box-shadow:0 3px 8px #00000040}.color-swatch.selected[data-v-fbe49b1e]:hover{transform:scale(1.32)}.color-swatch[data-v-fbe49b1e]:focus-visible{outline-offset:3px;outline:3px solid #5c36b6}.hex-color-picker[data-v-fbe49b1e]{-webkit-user-select:none;user-select:none;width:min(100%,420px);margin:28px auto 0}.color-plane[data-v-fbe49b1e]{border:1px solid var(--border);cursor:crosshair;touch-action:none;border-radius:10px;height:200px;position:relative;overflow:hidden}.color-plane-white[data-v-fbe49b1e],.color-plane-black[data-v-fbe49b1e]{pointer-events:none;position:absolute;inset:0}.color-plane-white[data-v-fbe49b1e]{background:linear-gradient(90deg,#fff,#0000)}.color-plane-black[data-v-fbe49b1e]{background:linear-gradient(#0000,#000)}.color-picker-handle[data-v-fbe49b1e],.hue-handle[data-v-fbe49b1e]{z-index:1;pointer-events:none;border:2px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;box-shadow:0 0 0 1px #0000006b,0 1px 4px #00000047}.color-picker-handle[data-v-fbe49b1e]{transform:translate(-50%,-50%)}.hue-track[data-v-fbe49b1e]{cursor:ew-resize;touch-action:none;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:999px;height:13px;margin:16px 4px 0;position:relative}.hue-handle[data-v-fbe49b1e]{background:#fff;top:50%;transform:translate(-50%,-50%)}.custom-color-tools[data-v-fbe49b1e]{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:30px;display:flex}.hex-input-label[data-v-fbe49b1e]{font-size:15px;font-weight:600}.hex-field[data-v-fbe49b1e]{border:1px solid var(--border);background:var(--surface);border-radius:6px;align-items:center;display:inline-flex;overflow:hidden}.hex-field>span[data-v-fbe49b1e]{color:var(--text);font:15px var(--mono);padding-left:10px}.hex-input[data-v-fbe49b1e]{width:88px;color:var(--text-h);font:15px var(--mono);text-transform:uppercase;background:0 0;border:0;padding:8px 10px 8px 2px}.hex-field[data-v-fbe49b1e]:has(.hex-input.is-invalid){border-color:#b64040}.hex-input.is-invalid[data-v-fbe49b1e]{border-color:#b64040}.hex-field[data-v-fbe49b1e]:focus-within{border-color:var(--text-h)}.hex-input[data-v-fbe49b1e]:focus-visible{outline:none}.eyedropper-button[data-v-fbe49b1e]:focus-visible{outline-offset:2px;outline:3px solid #5c36b6}.eyedropper-button[data-v-fbe49b1e]{color:#fff;cursor:pointer;background:#1d1d1d;border:1px solid #1d1d1d;border-radius:6px;justify-content:center;align-items:center;width:36px;min-height:36px;padding:0;display:inline-flex}.eyedropper-button .material-symbols-outlined[data-v-fbe49b1e]{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;font-size:20px}.eyedropper-button.active[data-v-fbe49b1e]{color:#1d1d1d;background:#f1c40f}.custom-color-preview[data-v-fbe49b1e]:disabled{cursor:not-allowed;opacity:.65}.custom-color-preview[data-v-fbe49b1e]:disabled:hover{box-shadow:none;transform:none}.borders-toggle[data-v-fbe49b1e]{cursor:pointer;align-items:center;gap:8px;margin-top:20px;font-size:15px;display:inline-flex}.borders-toggle input[data-v-fbe49b1e]{accent-color:#5c36b6;width:16px;height:16px}.sr-only[data-v-fbe49b1e]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-toolbar[data-v-fbe49b1e]{display:none}@media (width<=600px){.canvas-page[data-v-fbe49b1e]{min-height:100vh;padding:24px 0 82px}.canvas-content[data-v-fbe49b1e]{width:100%}.canvas-heading[data-v-fbe49b1e]{margin-bottom:18px;padding:0 16px}.canvas-heading h1[data-v-fbe49b1e]{margin-top:0}.canvas-viewport[data-v-fbe49b1e]{aspect-ratio:1;touch-action:none;overflow:hidden}.canvas-zoom-layer[data-v-fbe49b1e]{min-width:100%}.canvas-frame[data-v-fbe49b1e]{width:100%;box-shadow:none;border:0;margin:0}.palette[data-v-fbe49b1e]{z-index:9;border:1px solid var(--border);background:var(--surface);border-radius:14px;margin:0;padding:20px 16px;display:none;position:fixed;bottom:72px;left:12px;right:12px;box-shadow:0 8px 28px #0003}.palette.mobile-open[data-v-fbe49b1e]{display:block}.palette h2[data-v-fbe49b1e]{margin-bottom:16px}.palette-colors[data-v-fbe49b1e]{gap:12px}.color-swatch[data-v-fbe49b1e]{width:30px;height:30px}.hex-color-picker[data-v-fbe49b1e]{margin-top:22px}.color-plane[data-v-fbe49b1e]{height:170px}.custom-color-tools[data-v-fbe49b1e]{margin-top:22px}.desktop-eyedropper[data-v-fbe49b1e]{display:none}.mobile-toolbar[data-v-fbe49b1e]{z-index:10;border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg) 96%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-columns:repeat(4,1fr);gap:1px;padding:8px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 14px #00000014}.mobile-toolbar button[data-v-fbe49b1e]{min-height:48px;color:var(--text-h);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.mobile-toolbar button.active[data-v-fbe49b1e]{color:var(--mobile-tool-active-text);background:var(--mobile-tool-active-bg)}.mobile-toolbar .material-symbols-outlined[data-v-fbe49b1e]{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;font-size:25px}}
