.st-btn{display:inline-block;white-space:nowrap;padding:var(--control-padding-block) var(--control-padding-inline);font:700 var(--text-control) / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:0;border-radius:var(--radius);text-decoration:none;background:transparent;color:var(--color-ink);cursor:pointer;transform:skew(calc(-1 * var(--lean)));transition:var(--transition-control)}.st-btn--full{display:block;width:100%;min-height:var(--control-height, 44px)}.st-btn--large{--control-padding-block: 15px;--control-padding-inline: 20px}.st-btn__inner{display:inline-block;transform:skew(var(--lean))}.st-btn:disabled{opacity:var(--opacity-disabled);cursor:default}.st-btn--primary{background:var(--color-blue);color:var(--color-on-blue)}.st-btn--red{background:var(--color-red);color:var(--color-on-red)}.st-btn--secondary,.st-btn--secondary-on-blue{padding:calc(var(--control-padding-block) - var(--rule-outline)) calc(var(--control-padding-inline) - var(--rule-outline));border:var(--rule-outline) solid var(--color-ink)}.st-btn--secondary-on-blue{border-color:var(--color-on-blue);color:var(--color-on-blue)}@media(hover:hover)and (pointer:fine){.st-btn--primary:hover:not(:disabled){background:var(--color-blue-hover)}.st-btn--secondary:hover:not(:disabled){border-color:var(--color-blue-text);color:var(--color-blue-text)}.st-btn--secondary-on-blue:hover:not(:disabled){background:var(--color-on-blue);border-color:var(--color-on-blue);color:var(--color-ink)}.st-btn--red:hover:not(:disabled){background:color-mix(in srgb,var(--color-red) 88%,#fff)}}.st-btn--primary:active:not(:disabled){background:color-mix(in srgb,var(--color-blue) 78%,var(--color-carbon))}.st-btn--secondary:active:not(:disabled){background:var(--color-blue-tint);border-color:var(--color-blue);color:var(--color-blue-text)}.st-btn--red:active:not(:disabled){background:color-mix(in srgb,var(--color-red) 78%,var(--color-carbon))}.st-btn--secondary-on-blue:active:not(:disabled){background:var(--color-on-blue);border-color:var(--color-on-blue);color:var(--color-ink)}.st-btn--secondary-on-blue:focus-visible{outline-color:var(--color-on-blue)}.st-toasts{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);width:min(92vw,340px)}.st-toast{display:flex;gap:var(--space-3);align-items:flex-start;padding:12px 14px;border:var(--rule-hair) solid var(--color-line);border-left:var(--rule-accent) solid var(--color-blue);border-radius:var(--radius);background:var(--color-carbon-2);color:var(--color-ink);font:400 var(--text-body) / 1.5 var(--font-mono);animation:st-toast-in var(--dur) var(--ease) both}.st-toast--warn{border-left-color:var(--color-warn)}.st-toast--error{border-left-color:var(--color-error)}.st-toast__body{flex:1}.st-toast__dismiss{flex:none;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--color-ink-muted);font:400 var(--text-micro) / 1.6 var(--font-mono);letter-spacing:var(--tracking-micro);text-transform:uppercase;cursor:pointer;transition:var(--transition-control)}@media(hover:hover)and (pointer:fine){.st-toast__dismiss:hover{color:var(--color-ink)}}.st-toast__dismiss:active{color:var(--color-blue-text)}@keyframes st-toast-in{0%{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.st-toast{animation:none}}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/chakra-petch-700-latin-CnDBPjkL.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chakra Petch;font-style:italic;font-weight:700;font-display:swap;src:url(/assets/chakra-petch-700-italic-latin-9iZTKxpm.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/space-mono-400-latin-Rg4St2Dn.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/space-mono-400-italic-latin-YylcN9Ay.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/space-mono-700-latin-mWgeinG7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-carbon: #0b0c0f;--color-carbon-2: #15171c;--color-blue-tint: #0b1b25;--color-blue-tint-line: #123240;--color-line: #2a2d34;--color-ink: #f4f5f7;--color-ink-muted: #8a8f98;--color-blue: #0e8ac7;--color-blue-hover: #1b9fde;--color-blue-text: #2fb1ea;--color-yellow: #e9a820;--color-on-blue: #071119;--color-on-yellow: #0b0c0f;--color-warn: #ffb26b;--color-error: #ff8f8f;--color-ground: #030614;--color-red: #e0392f;--color-red-text: #ff7a70;--color-on-red: #0b0c0f;--font-display: "Chakra Petch", sans-serif;--font-mono: "Space Mono", monospace;--text-display: 34px;--text-h2: 22px;--text-body: 13px;--text-control: 12px;--text-micro: 11px;--text-label: 10px;--text-row: 10px;--text-tiny: 9px;--tracking-wordmark: .08em;--tracking-display: -.01em;--tracking-micro: .14em;--tracking-label: .1em;--gap-control: 6px;--opacity-disabled: .4;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--z-popover: 20;--z-modal: 30;--z-toast: 50;--z-overlay: 100;--radius: 0;--lean: 10deg;--rule-hair: 1px;--rule-outline: 2px;--rule-accent: 3px;--dur: .14s;--ease: cubic-bezier(.22, 1, .36, 1);--transition-control: background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);--control-padding-block: 11px;--control-padding-inline: 16px;--text-stat: 20px;--panel-padding: 24px}.stecca-app{--lean: 0deg;--control-padding-block: 9px;--control-padding-inline: 12px;--text-stat: 12px;--panel-padding: 16px;--control-height: 44px}.stecca{background:var(--color-carbon);color:var(--color-ink);font:400 var(--text-body) / 1.6 var(--font-mono);font-variant-numeric:tabular-nums}.stecca :focus-visible,.stecca-app :focus-visible{outline:var(--rule-outline) solid var(--color-blue);outline-offset:2px}.stecca-app :focus-visible{outline-offset:0}@media(prefers-reduced-motion:reduce){.stecca *,.stecca *:before,.stecca *:after,.stecca-app *,.stecca-app *:before,.stecca-app *:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--bg: #14181d;--panel: #1d232b;--panel-border: #2b333d;--control: #262e38;--text: #d8dee6;--text-dim: #96a1af;--accent: var(--color-blue);--accent-text: var(--color-blue-text);--focus-ring: 2px solid var(--accent);color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--color-carbon);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px}html,body{overscroll-behavior:none}body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true]{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}:focus-visible{outline:var(--focus-ring);outline-offset:2px}button{font-family:inherit;touch-action:manipulation}.table-area{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-width:0;padding:5px}.table-area canvas{max-width:100%;max-height:100%;touch-action:none;cursor:crosshair}.table-area canvas[data-mode=placement],.table-area canvas[data-mode=shoot],.table-area canvas[data-mode=analyze]{cursor:default}.examples{max-width:760px;margin:0 auto;padding:32px 20px 64px;height:100%;overflow-y:auto}.examples h1{font-size:20px;font-weight:600;margin:0 0 8px}.examples header p{color:var(--text-dim);font-size:13px;line-height:1.5;margin:0 0 12px}.examples-back{color:var(--accent-text);font-size:13px;text-decoration:none}.examples-section{margin-top:36px}.examples-back:hover{text-decoration:underline}.example-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:14px 16px;margin:14px 0}.example-card h2{font-size:14px;font-weight:600;margin:0 0 6px}.example-card p{color:var(--text-dim);font-size:13px;line-height:1.5;margin:0 0 10px}.example-pinned{display:inline-block;margin-left:8px;padding:1px 8px;border:1px solid var(--accent);border-radius:999px;color:var(--accent-text);font-size:11px;font-weight:500;vertical-align:middle;white-space:nowrap}.example-links{display:flex;flex-wrap:wrap;gap:8px}.example-links a{padding:6px 14px;border:1px solid var(--panel-border);border-radius:6px;background:var(--control);color:var(--text);font-size:13px;text-decoration:none}.example-links a:hover{border-color:var(--accent)}.rotate-gate{display:none}@media(orientation:portrait)and (pointer:coarse){.rotate-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center}}.rotate-gate-phone{color:var(--accent-text);animation:rotate-hint 2.6s var(--ease) infinite}@keyframes rotate-hint{0%,25%{transform:rotate(0)}60%,to{transform:rotate(90deg)}}.rotate-gate-text{margin:0;font-size:16px;font-weight:600}@media(prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation-duration:1ms!important}}
