@font-face{font-family:Manrope;src:url(/assets/Manrope-Variable-C1z5TqmQ.woff2)format("woff2");font-style:normal;font-weight:200 800;font-display:swap}:root{--fk-violet:#6545f5;--fk-cyan:#25cee5;--fk-pink:#f58bc8;--fk-lime:#d5f56b;--fk-ink:#19172b;--fk-muted:#6c697f;--fk-canvas:#f6f5fa;--fk-surface:#fff;--fk-line:#e5e2ef;--fk-success:#147d57;--fk-warning:#895400;--fk-error:#b42338;--fk-surface-2:#f0eef6;--fk-tint:#efedfe;--fk-focus-ring:0 0 0 3px #6545f559;--fk-font:Manrope, "Segoe UI", Arial, sans-serif;--fk-radius-control:12px;--fk-radius-card:20px;--fk-radius-canvas:28px;--fk-motion-fast:.18s;--fk-motion-normal:.26s;--fk-ease:cubic-bezier(.2, .8, .2, 1);--fk-spectrum:linear-gradient(125deg, #25cee5 0%, #6545f5 48%, #f58bc8 100%)}@media (prefers-reduced-motion:reduce){:root{--fk-motion-fast:0s;--fk-motion-normal:0s}}:root{--accent:var(--fk-violet);--text:var(--fk-ink);--muted:var(--fk-muted);--bg:var(--fk-canvas);font-family:var(--fk-font);color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;--on-dark-muted:#b9b6cc}*{box-sizing:border-box}body{overscroll-behavior:none;margin:0;font-size:1rem;line-height:1.5}h1,p{overflow-wrap:anywhere}button{font:inherit;border-radius:var(--fk-radius-control);border:1px solid var(--fk-line);background:var(--fk-surface);min-height:44px;color:var(--text);transition:background-color var(--fk-motion-fast) var(--fk-ease), transform var(--fk-motion-fast) var(--fk-ease);padding:8px 16px;font-weight:600}button:active:not(:disabled){transform:scale(.98)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}button:disabled{opacity:.45}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--fk-focus-ring)}.screen{max-width:560px;margin:0 auto;padding:12px 12px 140px}.screen.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100dvh;padding-bottom:24px;display:flex}.screen.center h1{letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:800;line-height:1.2}.screen.center h1.brand{line-height:0}.screen.center p{max-width:34ch;margin:0}.app-header{align-items:center;padding:4px 0 8px;display:flex}.title{letter-spacing:-.02em;margin:4px 0;font-size:1.5rem;font-weight:800;line-height:1.2}.hint{color:var(--muted);margin:0 0 12px;font-size:.9rem}.template{background:var(--fk-surface);touch-action:manipulation;border-radius:4px;margin:0 auto;position:relative;box-shadow:0 6px 24px #19172b24}.template-bg{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.slot-hit{background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:0;padding:0;display:flex}.slot-empty{border:2px dashed var(--fk-muted);background:#ffffffb3}.slot-missing{border-color:var(--accent);border-style:solid;animation:1s ease-in-out 2 pulse}.slot-plus{color:var(--accent);font-size:2.2rem;font-weight:600;line-height:1}.slot-add{color:var(--accent);font-size:.875rem;font-weight:700;line-height:1.1}.slot-label{color:#fff;background:#19172bc7;border-radius:8px;padding:4px 8px;font-size:.875rem;font-weight:600}.footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--fk-line);text-align:center;background:#fffffff5;position:fixed;bottom:0;left:0;right:0}.footer .missing{color:var(--accent);margin:0 0 6px;font-size:.9rem;font-weight:600}.save{width:100%;max-width:536px;min-height:52px;font-size:1.0625rem}.editor{background:var(--fk-ink);color:#fff;padding:12px 16px calc(12px + env(safe-area-inset-bottom));z-index:10;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;inset:0;overflow-y:auto}.editor-hint{color:var(--on-dark-muted);margin:0;font-size:.9rem}.editor-frame{touch-action:none;outline:3px solid var(--accent);outline-offset:2px;box-shadow:var(--fk-focus-ring);background:#2b2845;flex-shrink:0;position:relative;overflow:hidden}.editor-controls{flex-direction:column;gap:8px;width:100%;max-width:560px;display:flex}.editor-controls label{flex-direction:column;gap:2px;font-size:.9rem;font-weight:600;display:flex}.editor-controls input[type=range]{accent-color:var(--fk-violet);min-height:44px}.row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.editor-actions button{flex:40%}.editor button:not(.primary){background:var(--fk-surface);border-color:var(--fk-surface)}.editor button:not(.primary):active:not(:disabled){background:var(--fk-tint)}.editor button:focus-visible{outline-color:#fff}.print-code{letter-spacing:0;font-variant-numeric:tabular-nums;gap:12px;font-size:2.75rem;font-weight:800;line-height:1.1;display:flex}.print-code span{border-radius:var(--fk-radius-control);background:var(--fk-surface);border:1px solid var(--fk-line);min-width:1.2ch;color:var(--fk-ink);padding:8px 14px;display:inline-block}@keyframes pulse{50%{transform:scale(1.03)}}.code-form{flex-direction:column;gap:10px;width:min(100%,360px);display:flex}.code-form label{font-weight:600}.code-form input{font:inherit;text-align:center;letter-spacing:.3em;border-radius:var(--fk-radius-control);border:1px solid var(--fk-line);background:var(--fk-surface);min-height:56px;color:var(--fk-ink);padding:10px;font-size:1.8rem;font-weight:700}.code-form .missing{color:var(--fk-error);margin:0;font-weight:600}@media (prefers-reduced-motion:reduce){.slot-missing{animation:none}button:active:not(:disabled){transform:none}}
